專利名稱:一種基于P2P業(yè)務識別的QoS路由方法
技術領域:
本發(fā)明涉及一種基于P2P業(yè)務識別的QoS路由選路方法,屬于網(wǎng)絡通信技術領域 中基于P2P業(yè)務識別的網(wǎng)絡服務質(zhì)量。
背景技術:
QoS (Quality of Service,服務質(zhì)量),指網(wǎng)絡提供更高優(yōu)先服務的一種能力,包 括專用帶寬、抖動控制和延遲(用于實時和交互式流量情形)、丟包率的改進以及不同WAN、 LAN和MAN技術下的指定網(wǎng)絡流量等,同時確保為每種流量提供的優(yōu)先權不會阻礙其它 流量的進程。QoS是網(wǎng)絡的一種安全機制,是用來解決網(wǎng)絡延遲和阻塞等問題的一種技術。 在正常情況下,如果網(wǎng)絡只用于特定的無時間限制的應用系統(tǒng),并不需要QoS,比如Web應 用,或E-mail設置等。但是對關鍵應用和多媒體應用就十分必要。當網(wǎng)絡過載或擁塞時, QoS能確保重要業(yè)務量不受延遲或丟棄,同時保證網(wǎng)絡的高效運行。同時,由于網(wǎng)絡技術日新月異,如今,在基于TCP/IP協(xié)議的Internet網(wǎng)絡中,越來 越多的P2P (peer-to-peer,點對點)業(yè)務加入其中。例如,在眾多IP分組業(yè)務中,P2P業(yè)務 開始占據(jù)越來越重要的位置。P2P業(yè)務被廣泛應用于即時通訊、文件共享、流媒體等方面,據(jù) 統(tǒng)計,P2P業(yè)務占據(jù)互聯(lián)網(wǎng)業(yè)務609Γ80%的流量。但是由于Ρ2Ρ業(yè)務沒有統(tǒng)一標準,自身缺 乏管理和控制機制,并且Ρ2Ρ業(yè)務流量具有帶寬吞噬等特性,導致簡單的網(wǎng)絡升級擴容無 法滿足網(wǎng)絡流量增長的需要,由此給網(wǎng)絡帶來了服務質(zhì)量的下降。同時,BE (best-effort, 盡力而為)服務仍是目前Internet中主要的一種服務類別,所有分組在網(wǎng)絡中被同等對待, 缺少有效的管理,局部的擁塞經(jīng)常發(fā)生,導致網(wǎng)絡性能下降、應用的分組丟失和數(shù)據(jù)抖動, 這進一步的加劇了網(wǎng)絡服務質(zhì)量的下滑,增加了網(wǎng)絡的不可信性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是針對大量智能業(yè)務,特別是P2P業(yè)務導致的網(wǎng)絡服 務質(zhì)量下滑的問題,實現(xiàn)P2P業(yè)務的QoS保障。本發(fā)明為解決上述技術問題采用如下技術方案
一種基于P2P業(yè)務識別的QoS路由方法,包括如下步驟
步驟A,當業(yè)務數(shù)據(jù)包分組到達路由平臺時,首先對業(yè)務進行分流,采用特征進程識別 法對進入端口的數(shù)據(jù)流進行P2P業(yè)務識別;
A-I,當被識別的業(yè)務類型屬于一般業(yè)務時,選用常規(guī)路由策略進行數(shù)據(jù)轉(zhuǎn)發(fā); A-2,當被識別的業(yè)務類型屬于P2P業(yè)務時,采用步驟B至步驟D對P2P業(yè)務進行P2P 業(yè)務識別與流量控制;
步驟B,對步驟A識別出的屬于P2P業(yè)務的數(shù)據(jù)流,根據(jù)每個P2P業(yè)務的進程特征,設立 P2P業(yè)務特征進程分類庫;
步驟C,根據(jù)每個P2P業(yè)務對網(wǎng)絡參數(shù)的要求,對每個P2P業(yè)務設定相應的DSCP值,然 后根據(jù)設定的DSCP值對各個P2P業(yè)務進行分類;
3步驟D,采用P2P業(yè)務流量控制軟件,對P2P業(yè)務進入路由平臺的數(shù)據(jù)報的速率進行控 制;所述P2P業(yè)務流量控制軟件采用流量控制軟件FluxEye ;
步驟E,采用DSCP分類器對每個P2P業(yè)務的DSCP值進行識別,然后將各個P2P業(yè)務分 入相應的路由端口等待隊列;
步驟F,路由平臺根據(jù)分布式的QoS路由算法進行相應的路由更新,所述分布式的QoS 路由算法對每個等待隊列均設置對應的更新時間,每個等待隊列均對應相應的路由表結(jié) 構,所述路由表結(jié)構采用策略路由中多路由表結(jié)構;
步驟G,對于每個等待隊列中的P2P業(yè)務由加權調(diào)度器調(diào)度至相應路由表中的端口進 行轉(zhuǎn)發(fā);
步驟H,采用計量器對步驟G轉(zhuǎn)發(fā)的P2P業(yè)務數(shù)據(jù)報進行流量速率實時統(tǒng)計,并在計量 器中設定數(shù)據(jù)流量速率閾值,此數(shù)據(jù)流量速率閾值根據(jù)路由平臺處理器的實際情況設定; 當實時統(tǒng)計的數(shù)據(jù)流量速率大于設定的閾值時,通過速率調(diào)節(jié)器對進入路由平臺的P2P業(yè) 務進行調(diào)節(jié),限制進入路由平臺的業(yè)務流量;
步驟I,當P2P業(yè)務的數(shù)據(jù)流轉(zhuǎn)發(fā)成功后,返回步驟A。本發(fā)明采用上述技術方案具有如下技術效果
首先,采用本發(fā)明的基于P2P業(yè)務識別的QoS路由選路方法,能夠精確、快速地識別各 類業(yè)務,能夠識別各種P2P業(yè)務,包括各種文本、語音、圖像、視頻網(wǎng)絡流量。對P2P業(yè)務進行 DSCP分類標記后,若后繼路由器支持DSCP標記并支持相同的分類策略,則僅需察看標記處 理該分組,可以省略業(yè)務識別與分類模塊,減少分類處理和計算復雜度,以提高處理速度。其次,采用路由平臺中的隊列調(diào)度管理算法和QoS路由算法,能夠?qū)崿F(xiàn)按照業(yè)務 參數(shù)的不同要求,實現(xiàn)不同的路由轉(zhuǎn)發(fā),這樣可以充分利用空閑的路由點,以解決現(xiàn)有網(wǎng)絡 在最短路徑算法運行下所造成的擁堵問題,以提高傳輸質(zhì)量??傮w上,本發(fā)明根據(jù)不同的QoS路由策略劃分不同的業(yè)務類,并給各業(yè)務類數(shù)據(jù) 包標志DSCP值,實現(xiàn)策略可配置的可信路由,達到區(qū)分服務的目的。本發(fā)明預先設置針對各種網(wǎng)絡要求不同的P2P業(yè)務對應的多業(yè)務路由選路策略, 此處的QoS多業(yè)務路由的策略采用一種改進的分布式的QoS路由算法進行路由;這個算法 是對傳統(tǒng)分布式QoS路由的改進算法,在洪泛過程中有條件地轉(zhuǎn)發(fā)請求包,并根據(jù)時延,時 延抖動,帶寬利用率,丟包率等條件在每個節(jié)點都維護了一定的網(wǎng)絡狀態(tài)信息,以便在轉(zhuǎn)發(fā) 包時計算轉(zhuǎn)發(fā)條件,實現(xiàn)部分轉(zhuǎn)發(fā),從而減少系統(tǒng)開銷和縮短時延;有條件的轉(zhuǎn)發(fā)請求包 能夠在降低了通信復雜度,減少了時延的情況下選擇最優(yōu)路徑;它不僅繼承了傳統(tǒng)分布式 QoS路由算法的優(yōu)點,而且在大規(guī)模網(wǎng)絡和重負荷情況下能有較小連接時延和較高帶寬接 納率;由此可以根據(jù)這個選路策略,從滿足路由條件的路由路徑中選擇出滿足各種P2P業(yè) 務要求的路由路徑。
圖1為P2P業(yè)務識別與流量控制方法流程圖。圖2為基于P2P業(yè)務識別的QoS路由平臺原理圖。圖3為一種分布式的QoS路由算法流程圖。
具體實施例方式下面根據(jù)附圖對本發(fā)明的技術方案做進一步的詳細說明。系統(tǒng)的具體實施分為兩個部分,分別為基于P2P業(yè)務識別和流量自適應控制的系 統(tǒng)步驟和基于P2P業(yè)務識別的QoS路由平臺系統(tǒng)步驟。1、基于P2P業(yè)務識別和流量自適應控制的系統(tǒng)步驟
首先對進入流量進行識別與控制,即按照策略管理需求對P2P業(yè)務類別進行識別,此 處所用識別方法為特征進程識別法,本發(fā)明提出了一種基于特征進程的P2P流量識別方 法。進程通??梢钥醋魇且粋€具有一定獨立功能的程序在某個數(shù)據(jù)集合上的一次運行活 動。如果某個進程的存在能夠表明一個應用程序正在系統(tǒng)中運行,那么就可以稱該進程為 應用程序的特征進程。若這些特征進程同時打開了 TCP端口和UDP端口,那么就可以判定 這些端口產(chǎn)生的流量即為P2P流量。如圖1所示,本發(fā)明中具體P2P業(yè)務識別和流量控制方法流程圖。本識別方法的 前提是需要建立一個P2P特征進程庫。P2P特征進程庫是P2P特征進程名的集合,它的每一 項對應一個P2P應用程序的特征進程名。通過對業(yè)務的進程分析進而判別是否P2P業(yè)務, 每種P2P業(yè)務對網(wǎng)絡的要求不一,表現(xiàn)出的進程特征也各不相同,可以就此設立分類的進 程庫,把每個P2P業(yè)務和對應進程庫進行對應,進而判別出對網(wǎng)路要求不一的P2P業(yè)務,諸 如對寬帶要求較高的P2P業(yè)務和對時延要求較高的P2P業(yè)務進程特征就不一樣。如何確定某個進程為P2P進程,主要利用下面兩種方法來確定
對于公開的、眾所周知的P2P應用程序,例如QQ、BitTorrent、迅雷等等,通過下面幾 個步驟獲取
(1 )、先運行進程枚舉程序,獲取當前客戶機中所有運行的進程名;
(2)、運行P2P程序,再運行進程枚舉程序,獲取此時客戶機中所有運行的進程名;
(3)、比較前后兩次獲取的進程名,后一次比前一次多出的進程就可確定為P2P特征進程。對于無法用上述方法確定的進程,如果該進程也符合某些P2P特征也可確定為 P2P進程。例如某個進程既使用TCP端口又使用UDP端口,便可初步確認為P2P可疑進程, 接著根據(jù)可疑進程判定策略確定為P2P特征進程后,由系統(tǒng)自動添加到特征進程庫中。在一個匹配庫中預先存放各個P2P業(yè)務對應寬帶,延遲,延遲抖動,丟包率等P2P 流報文特征的進程特征,對進入匹配庫的P2P業(yè)務進行進程特征匹配,確定該P2P業(yè)務流的 具體業(yè)務類型,并標記相應的DSCP (Differentiated Services Code Point,區(qū)分服務編 碼點)值。由于各種P2P業(yè)務對各種參數(shù)要求不一樣,如帶寬,時延,時延抖動,丟包率等,可 以據(jù)此對業(yè)務進行分類。所以對各種業(yè)務賦予各個業(yè)務類別的業(yè)務等級,設定相應的DSCP 值。目前很多的網(wǎng)絡設備支持DSCP,并兼容P優(yōu)先級的服務類型。然后用P2P業(yè)務流量控 制軟件進行控制,以此控制進入QoS路由平臺的數(shù)據(jù)報的速率。在正確識別P2P流量的基礎上,可以采用限制具體進程流量的方法來控制P2P流 量。方法就是利用現(xiàn)有的一款流量控制軟件“FluxEye”,在系統(tǒng)開發(fā)時,將該軟件打包加入 整個系統(tǒng)中,在網(wǎng)絡發(fā)生擁塞時,調(diào)用該軟件。由于在P2P流量的識別過程中,已經(jīng)建立了 一個特征進程庫,因此,每次調(diào)用軟件時,都可以將現(xiàn)成的特征進程庫裝載進“FluxEye”的 配置中。它的工作原理就是監(jiān)控系統(tǒng)中正在運行的各個進程,并按照設定的值對P2P進程限速。P2P業(yè)務識別和流量控制由策略管理器統(tǒng)一管理,這時根據(jù)可定制的策略管理器 提供的策略與當前速率調(diào)節(jié)器的統(tǒng)計值對識別后的業(yè)務類執(zhí)行自適應流量控制,以減緩流 量突發(fā)性,并丟棄網(wǎng)絡異常流量。2、基于P2P業(yè)務識別的QoS路由平臺系統(tǒng)步驟
現(xiàn)有網(wǎng)絡遵循基本路由算法,即最短路徑算法,由此導致網(wǎng)絡最短路由途徑長時間不 堪重負,導致網(wǎng)絡性能下降,影響傳輸質(zhì)量,而未發(fā)揮作用的其余路徑則相對空閑。這種盡 力而為的轉(zhuǎn)發(fā)機制使網(wǎng)絡層無法保證傳輸質(zhì)量可靠性的要求。由此,本發(fā)明提出一種改進 的QoS路由平臺的設計,該平臺能夠根據(jù)網(wǎng)絡流量所包含的各種P2P業(yè)務的特點,即每種業(yè) 務對丟包率、帶寬、時延、時延抖動等參數(shù)要求不一樣,對每種進入路由平臺的智能業(yè)務進 行分類。然后對相應業(yè)務進行QoS路由選路,以使得業(yè)務流能夠通過符合條件的路徑進行 轉(zhuǎn)發(fā)。如圖2所示,P2P業(yè)務識別以后進行分類的原則如下各種業(yè)務要求的主要參數(shù)不 同從而標記的DSCP值不同,這里根據(jù)前面DSCP的標記值進行分類。分類的結(jié)果是各種參數(shù)不同的業(yè)務進入各個相關隊列,等待加權調(diào)度器進行調(diào)度 轉(zhuǎn)發(fā),加權調(diào)度器的權重取決于各個業(yè)務類的所需求的帶寬值大?。淮颂幰部梢愿鶕?jù)需要 將其調(diào)成其他參數(shù)以決定權重。在加權調(diào)度器的后面設置數(shù)據(jù)流量計量器以統(tǒng)計速率,并 在數(shù)據(jù)流量計量器中設定一定的閾值,當數(shù)據(jù)流量大于此閾值時可通過速率調(diào)節(jié)器調(diào)節(jié)進 入路由平臺的數(shù)據(jù)流,以達到路由平臺的自適應控制。為了滿足多重路由選擇的目的,即為了各個業(yè)務按照其參數(shù)選擇路由一QoS路由, 本發(fā)明設計了多隊列和多路由表結(jié)構。每個DSCP值不同的業(yè)務數(shù)據(jù)流根據(jù)相應的隊列管 理算法進行隊列選擇,每個主動隊列對應相應的路由表,路由表的更新通過相應的QoS路 由算法進行更新。如圖3所示,對于QoS路由算法,本發(fā)明采用一種改進的分布式的QoS路由算法, 此算法在中間節(jié)點轉(zhuǎn)發(fā)請求包時,根據(jù)累計時延進行轉(zhuǎn)發(fā)測試,減少了通信復雜度。在目的 節(jié)點,根據(jù)一定策略從可行路徑中選擇參數(shù)最優(yōu)路徑發(fā)回應答。在洪泛過程中有條件地轉(zhuǎn) 發(fā)請求包,并根據(jù)時延,時延抖動,帶寬利用率,丟包率等條件在每個節(jié)點都維護了一定的 網(wǎng)絡狀態(tài)信息,以便在轉(zhuǎn)發(fā)包時計算轉(zhuǎn)發(fā)條件,實現(xiàn)部分轉(zhuǎn)發(fā),從而減少系統(tǒng)開銷和縮短時 延。有條件的轉(zhuǎn)發(fā)請求包能夠在降低了通信復雜度,減少了時延的情況下選擇最優(yōu)路徑。它 不僅繼承了傳統(tǒng)分布式QoS路由算法的優(yōu)點,而且在大規(guī)模網(wǎng)絡和重負荷情況下能有較 小連接時延和較高帶寬接納率。這樣的設計可以達到使不同業(yè)務按照不同路由進行轉(zhuǎn)發(fā),使得最短路徑的超負荷 得以釋放,空閑鏈路得以充分使用,從而保證了業(yè)務流的傳輸質(zhì)量得以提高,實現(xiàn)網(wǎng)絡的可靠性。本發(fā)明提出對現(xiàn)有路由平臺進行改變,對路由器進行隊列管理和調(diào)度管理,并通 過QoS路由算法進行選路,對各種參數(shù)要求不一樣的P2P業(yè)務進行合適的路徑傳輸。有條 件的轉(zhuǎn)發(fā)請求包能夠在降低了通信復雜度,減少了時延的情況下選擇最優(yōu)路徑。它不僅繼 承了傳統(tǒng)分布式QoS路由算法的優(yōu)點,而且在大規(guī)模網(wǎng)絡和重負荷情況下能有較小連接 時延和較高帶寬接納率。由此可以根據(jù)這個選路策略,從滿足路由條件的路由路徑中選擇出滿足各種P2P業(yè)務要求的路由路徑。各個路由平臺分別從各自的域內(nèi)的所有路徑中選擇 出滿足每種P2P業(yè)務對應的QoS路由路徑,然后,從所選擇的滿足每種P2P業(yè)務對應的QoS 路由路徑中選出滿足指定對應P2P業(yè)務的QoS路由路徑。各個路由平臺分別從域間的所有 路徑中選擇出滿足每種P2P業(yè)務對應的QoS路由路徑,然后,從所選擇的滿足每種P2P業(yè)務 對應的QoS路由路徑中選出滿足指定對應P2P業(yè)務的QoS路由路徑,以此達到對各種業(yè)務 的分流,減小網(wǎng)絡的擁塞,增大網(wǎng)絡的利用率和可信性。
權利要求
一種基于P2P業(yè)務識別的QoS路由方法,其特征在于,包括如下步驟步驟A,當業(yè)務數(shù)據(jù)包分組到達路由平臺時,首先對業(yè)務進行分流,采用特征進程識別法對進入端口的數(shù)據(jù)流進行P2P業(yè)務識別;A 1,當被識別的業(yè)務類型屬于一般業(yè)務時,選用常規(guī)路由策略進行數(shù)據(jù)轉(zhuǎn)發(fā);A 2,當被識別的業(yè)務類型屬于P2P業(yè)務時,采用步驟B至步驟D對P2P業(yè)務進行P2P業(yè)務識別與流量控制; 步驟B,對步驟A識別出的屬于P2P業(yè)務的數(shù)據(jù)流,根據(jù)每個P2P業(yè)務的進程特征,設立P2P業(yè)務特征進程分類庫;步驟C,根據(jù)每個P2P業(yè)務對網(wǎng)絡參數(shù)的要求,對每個P2P業(yè)務設定相應的DSCP值,然后根據(jù)設定的DSCP值對各個P2P業(yè)務進行分類;步驟D,采用P2P業(yè)務流量控制軟件,對P2P業(yè)務進入路由平臺的數(shù)據(jù)報的速率進行控制;所述P2P業(yè)務流量控制軟件采用流量控制軟件FluxEye;步驟E,采用DSCP分類器對每個P2P業(yè)務的DSCP值進行識別,然后將各個P2P業(yè)務分入相應的路由端口等待隊列;步驟F,路由平臺根據(jù)分布式的QoS路由算法進行相應的路由更新,所述分布式的QoS路由算法對每個等待隊列均設置對應的更新時間,每個等待隊列均對應相應的路由表結(jié)構,所述路由表結(jié)構采用策略路由中多路由表結(jié)構;步驟G,對于每個等待隊列中的P2P業(yè)務由加權調(diào)度器調(diào)度至相應路由表中的端口進行轉(zhuǎn)發(fā);步驟H,采用計量器對步驟G轉(zhuǎn)發(fā)的P2P業(yè)務數(shù)據(jù)報進行流量速率實時統(tǒng)計,并在計量器中設定數(shù)據(jù)流量速率閾值,此數(shù)據(jù)流量速率閾值根據(jù)路由平臺處理器的實際情況設定;當實時統(tǒng)計的數(shù)據(jù)流量速率大于設定的閾值時,通過速率調(diào)節(jié)器對進入路由平臺的P2P業(yè)務進行調(diào)節(jié),限制進入路由平臺的業(yè)務流量;步驟I,當P2P業(yè)務的數(shù)據(jù)流轉(zhuǎn)發(fā)成功后,返回步驟A。
全文摘要
本發(fā)明公開了一種基于P2P業(yè)務識別的QoS路由方法,本發(fā)明首先采取特征進程識別法對P2P業(yè)務進行識別,并對識別后的P2P業(yè)務進行DSCP值的標記,進而對各種要求的P2P業(yè)務進行DSCP值的分類;在此基礎上再基于分布式的QoS路由方法進行QoS路由尋路,進行有區(qū)別的QoS路由分流,以此控制網(wǎng)絡流量的持續(xù)增長所造成的網(wǎng)絡阻塞問題,實現(xiàn)網(wǎng)絡的可信性。該方法可以針對每種不同網(wǎng)絡要求的P2P業(yè)務以及具體的網(wǎng)絡情況,選擇出滿足其要求的路徑,并且實現(xiàn)簡單,易于維護管理,可以應用在核心網(wǎng)絡中。
文檔編號H04L29/08GK101964754SQ20101052654
公開日2011年2月2日 申請日期2010年11月1日 優(yōu)先權日2010年11月1日
發(fā)明者周井泉, 周翔, 寧向延, 張順頤, 談玲 申請人:南京郵電大學