專利名稱:一種高效且可擴展的ip數(shù)據(jù)包分類方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機科學與技術(shù)領(lǐng)域,涉及IP網(wǎng)絡數(shù)據(jù)包分類,具體是一種基于索引指針和Tries查找樹的高效且可擴展的IP數(shù)據(jù)包分類方法,可用于支持網(wǎng)絡設(shè)備中的區(qū)分服務應用。
背景技術(shù):
hternet技術(shù)的快速發(fā)展要求網(wǎng)絡設(shè)備,尤其是邊界網(wǎng)絡設(shè)備支持諸如策略路由、訪問控制、虛擬專用網(wǎng)VPN、網(wǎng)絡地址轉(zhuǎn)換、負載均衡、認證計費等各種區(qū)分服務應用,這些應用都是以數(shù)據(jù)包分類技術(shù)為基礎(chǔ)的。它們要求網(wǎng)絡設(shè)備能夠根據(jù)包頭中的某些字段將數(shù)據(jù)包劃分為不同標識的流,從而針對不同的流采取不同的操作,即提供不同的服務。數(shù)據(jù)包分類方法的好壞和效率的高低直接影響了整個網(wǎng)絡設(shè)備的性能。一個典型的數(shù)據(jù)包分類的例子是IP路由查找,運用最長前綴匹配規(guī)則LPM(Longest Prefix Match)查找路由表, 根據(jù)目的IP地址確定下一跳地址。目前,關(guān)于路由查找方法的研究已經(jīng)逐步成熟,而通用的多維數(shù)據(jù)包分類方法由于其復雜性和難度較高,一直是近年來的研究熱點。目前在實際應用中主要有兩種分類組合,一種是基于源IP地址、目的IP地址的二維分類,另一種是基于源IP地址、目的 IP地址、源端口號、目的端口號、協(xié)議類型的五維分類。其中,AQT算法[Buddhikot et al.,IFIP PfHSN 1999]、Grid of Tries 算法[Srinivasan et al.,ACMSIGC0MM 1998]、 FIS-tree算法[Feldman et al.,IEEE INFOCOM 2000]屬于二維方法,很難擴展到多維情形;交叉乘積算法[Srinivasan et al.,ACM SIGC0MM 1998]、RFC 算法[Gupta et al., ACM SIGC0MM 1999]、HiCuts 算法[Gupta et al.,IEEE Micro2000]對空間要求大,在大規(guī)模分類規(guī)則集時擴展性較差;位向量(BV)算法和聚合位向量(ABV)算法[Baboescu et al. , IEEE/ACM TON 2005]的硬件實現(xiàn)速度很快,但軟件實現(xiàn)速度太慢;完全基于硬件的算法[Lakshminarayanan et al. ,ACM SIGC0MM2005]雖然分類速度快,但支持的維數(shù)少,擴展性差,性價比較低。
發(fā)明內(nèi)容
本發(fā)明為了克服上述已有技術(shù)的不足,提供了一種高效且可擴展的IP數(shù)據(jù)包五維分類方法,以便在不增加硬件成本的情況下,滿足網(wǎng)絡設(shè)備對數(shù)據(jù)包分類方法執(zhí)行效率和可擴展能力兩方面的要求。為了實現(xiàn)上述目的,本發(fā)明的高效且可擴展的IP數(shù)據(jù)包分類方法,包括(1)預處理步驟(1. 1)初始化索引指針數(shù)組 indexed_pointer[256]為 0 ;(1. 2)設(shè)定Tries查找樹葉子節(jié)點的最大容量為cluster_size ;(1. 3)遍歷分類規(guī)則集R,依次取出每個規(guī)則氏進行處理(1. 3a)取氏的源端口號字段,根據(jù)該字段的值將它映射到一個3比特元組Sj2S3,
5映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23 端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111 ;(1.3b)取氏的目的端口號字段,根據(jù)該字段的值將它映射到一個3比特元組 D1D2D3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001, 將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3 比特元組100,將53端口映射到3比特元組101,將1024 655;35端口映射到3比特元組 110,將其它端口映射到3比特元組111 ;(1. 3c)取氏的協(xié)議類型字段,根據(jù)該字段所確定的協(xié)議類型將它映射到一個2比特元組P1P2,映射的方法為將傳輸控制協(xié)議TCP映射到2比特元組00,將用戶數(shù)據(jù)報協(xié)議 UDP映射到2比特元組01,將因特網(wǎng)控制報文協(xié)議ICMP映射到2比特元組10,將其它協(xié)議映射到2比特元組11 ;(1. 3d)將所述的S1S2S^ D1D2D3和P1P2比特元組串接在一起,得到一個8比特元組 m = S1S2S3D1D2D3P1P2,根據(jù)m的值將規(guī)則Ri劃分到規(guī)則子集Subset [m],0 ^ m ^ 255 ;(1.4)取分類規(guī)則集R的一個規(guī)則子集Subsetfc],η為它的子集號,如果該子集非空,則在內(nèi)存空間為它分配一個Tries查找樹的起始地址,并將該地址賦給索引指針數(shù)組 indexed_pointer [256]中下標為 η 的數(shù)組元素 indexed_pointer [η];(1. 5)判斷規(guī)則子集Subset [η]內(nèi)的規(guī)則數(shù)目,如果規(guī)則數(shù)目大于clusterjize, 則計算Subsetfc]內(nèi)規(guī)則的“源IP地址+目的IP地址”聯(lián)合字段每一位比特為0的統(tǒng)計概率Pj(O)和每一位比特為1的統(tǒng)計概率Pj(I),0彡j彡63 P]{Q) = {N],+N]J2)IN]Pj(I) = (Nj^NjJI)INj其中,Nj代表選擇第j位比特時規(guī)則子集內(nèi)規(guī)則總數(shù),Njo代表第j位為0的規(guī)則數(shù)目,Njl代表第j位為1的規(guī)則數(shù)目,代表第j位為*的規(guī)則數(shù)目,*代表任意值;(1.6)基于Pj(O)和Pj(I),計算子集內(nèi)規(guī)則的“源IP地址+目的IP地址”聯(lián)合字
段中每一位比特的信息熵值A(chǔ) =-玄(巧(0*吆巧(0),0彡j ^ 63 ;
i=0(1. 7)以信息熵值最大的那一位比特為根,將規(guī)則子集Subsetfc]劃分為左右兩個規(guī)則子束,左規(guī)則子束包含規(guī)則子集中所有的根比特為0或*的規(guī)則,右規(guī)則子束包含規(guī)則子集中所有的根比特為1或*的規(guī)則;(1.8)將左右兩個規(guī)則子束看作兩個規(guī)則子集,重復步驟(1.5)-(1.7),直到每個規(guī)則子束內(nèi)規(guī)則數(shù)目均不超過最大容量cluSter_Size,并將最終的規(guī)則子束作為Tries查找樹的葉子節(jié)點;(1. 9)重復步驟(1. 4)-(1. 8),直到將所有的規(guī)則子集處理完畢;(2)數(shù)據(jù)包分類步驟(2. 1)分類器收到一個數(shù)據(jù)包P ;
6
(2.2)取P的源端口號字段,根據(jù)該字段的值將它映射到一個3比特元組S^2S3, 映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23 端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111 ;(2. 3)取P的目的端口號字段,根據(jù)該字段的值將它映射到一個3比特元組dlCl2d3, 映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23 端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111 ;(2.4)取P的協(xié)議類型字段,根據(jù)該字段所確定的協(xié)議類型將它映射到一個2比特元組P1P2,映射的方法為將傳輸控制協(xié)議TCP映射到2比特元組00,將用戶數(shù)據(jù)報協(xié)議 UDP映射到2比特元組01,將因特網(wǎng)控制報文協(xié)議ICMP映射到2比特元組10,將其它協(xié)議映射到2比特元組11 ;(2. 5)將所述的Sis2Syd1Cl2C^pip2比特元組串接在一起,得到一個8比特元組m = s1s2s3d1d2d3p1p2 ;(2. 6)判斷索引指針數(shù)組元素indexecLpointerQii]的值,如果不為0,執(zhí)行步驟 (2. 7),否則轉(zhuǎn)步驟(2. 1);(2. 7)查找索引指針數(shù)組元素indexecLpointer [m]指向的Tries查找樹,依次判定數(shù)據(jù)包內(nèi)“源IP地址+目的IP地址”聯(lián)合字段與該Tries查找樹的根及子樹根節(jié)點對應比特的值,定位到該Tries查找樹的某個葉子節(jié)點;(2. 8)將數(shù)據(jù)包與該葉子節(jié)點內(nèi)的分類規(guī)則依次進行匹配,找出優(yōu)先權(quán)最大的規(guī)則,從而完成對數(shù)據(jù)包P的分類;(2. 9)跳轉(zhuǎn)到步驟(2. 1),開始下一個數(shù)據(jù)包的分類處理。本發(fā)明與現(xiàn)有的技術(shù)相比,具有如下的有益效果1)本發(fā)明在考察相關(guān)網(wǎng)絡設(shè)備實際配置和應用情況的基礎(chǔ)上,通過分析IP數(shù)據(jù)包中源端口號、目的端口號和協(xié)議類型字段在實際應用中的分布特性,將這3個元組共40 比特映射到一個8比特的元組上,從而壓縮了分類維數(shù),降低了分類方法的復雜度。2)本發(fā)明借助于信息熵技術(shù),通過查找最優(yōu)比特序列作為根和子節(jié)點,為每個規(guī)則子集建立一棵Tries查找樹,查找樹的葉子節(jié)點是一個規(guī)則數(shù)量不超過CluSter_Size 的規(guī)則子束,通過查找Tries樹定位到相應的葉子節(jié)點后,數(shù)據(jù)包只需與不超過cluster size個規(guī)則依次進行匹配,就可以確定數(shù)據(jù)包的類別,該Tries查找樹結(jié)構(gòu)既保證了存貯空間和查找時間最小,而且具有良好的可擴展性。3)本發(fā)明由于采用了索引指針和基于最優(yōu)比特序列的Tries查找樹技術(shù),分類效率高。模擬實驗結(jié)果表明,在相同分類規(guī)則集的情況下,本發(fā)明的平均查詢速度比常用的 HiCuts算法快17%以上。4)本發(fā)明可運行于通用網(wǎng)絡設(shè)備硬件平臺上,不需要專用硬件支持,可在不增加成本的情況下,滿足網(wǎng)絡設(shè)備對數(shù)據(jù)包分類方法執(zhí)行效率和可擴展能力兩方面的要求。
圖1是本發(fā)明的總流程圖;圖2是本發(fā)明的預處理子流程圖;圖3是本發(fā)明的數(shù)據(jù)包分類子流程圖;圖4是本發(fā)明IP包頭中源端口號、目的端口號和協(xié)議類型字段到8比特元組的映射原理圖;圖5是本發(fā)明與現(xiàn)有HiCuts算法平均查詢時間的實驗結(jié)果對照圖。
具體實施例方式參照圖1,本發(fā)明包括預處理和數(shù)據(jù)包分類兩部分。預處理在系統(tǒng)初始化時進行, 它包括參數(shù)初始化、規(guī)則映射和子集劃分、規(guī)則子集索引指針分配及Tries查找樹建立;預處理部分結(jié)束后,執(zhí)行數(shù)據(jù)包分類,數(shù)據(jù)包分類部分包括分類器收到數(shù)據(jù)包、為數(shù)據(jù)包映射 Tries查找樹、Tries查找樹葉子節(jié)點定位及規(guī)則匹配。一.預處理參照圖2,本部分的具體實現(xiàn)如下步驟1,初始化索引指針數(shù)組indexed_pointer [256]為0。索引指針數(shù)組的每個元素存放了為某個分類規(guī)則子集建立的Tries查找樹的起始地址,初始化設(shè)置為0,表示該Tries查找樹尚未建立。步驟2,設(shè)定Tries查找樹葉子節(jié)點的最大容量,記為cluster—size。cluster_size實際上標識了 Tries查找樹中每個葉子節(jié)點里所能存放的分類規(guī)則的最大個數(shù),它的取值由系統(tǒng)管理員設(shè)定。步驟3,遍歷分類規(guī)則集R,依次取出R中的每個規(guī)則Ri,依據(jù)規(guī)則Ri的源端口號、 目的端口號和協(xié)議類型字段到8比特元組的映射結(jié)果,對整個規(guī)則集R進行子集劃分。分類規(guī)則集R是由用戶根據(jù)自己的分類需求事先配置好的分類規(guī)則集合,集合里的每個分類規(guī)則定義了一種不同類別的數(shù)據(jù)包,而數(shù)據(jù)包分類方法的實質(zhì)就是在R里找到一個和它匹配的優(yōu)先權(quán)最高的分類規(guī)則。根據(jù)圖4所示的映射原理,綜合考慮源端口號、目的端口號和協(xié)議類型字段,可以將這三個字段映射到一個8比特的元組,從而將原5維分類壓縮為3維,降低分類的復雜度,具體實現(xiàn)步驟如下(3a)將分類規(guī)則Ri的源端口號映射到3比特元組S1S2S3在客戶端/服務器模式下,端口號被分為兩種,一種是保留端口,范圍為0 1023, 另一種為臨時端口,范圍為IOM 65535。臨時端口通常由客戶端臨時動態(tài)分配,大多數(shù)由內(nèi)核指定,除了標識一個連接的客戶端點外,沒有其它意義。在規(guī)則集中經(jīng)常將所有臨時端口作為一大類來處理,比較常見的表示方式為“port ^ 1024".而在保留端口中,通過對 Cisco、Juniper、華為等知名廠商路由器配置的研究和對多個高校、企事業(yè)單位網(wǎng)絡設(shè)備的配置情況進行考察發(fā)現(xiàn),IP數(shù)據(jù)包中的源端口號字段雖然共有16位,但在具體的分類規(guī)則中一般集中分布在文件傳輸協(xié)議FTP所使用的21端口、超文本傳輸協(xié)議HTTP所使用的80 端口、遠程登錄協(xié)議TELNET所使用的23端口、簡單郵件傳輸協(xié)議SMTP所使用的25端口、 郵局協(xié)議POP所使用的110端口、域名服務DNS所使用的53端口幾種情形,所以可以將Ri
8的源端口號字段映射到一個3比特元組S1S2S3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組100,將53端口映射到3比特元組101, 將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111,如表1所
7J\ ο表1源端口號字段到3比特元組映射表
權(quán)利要求
1. 一種高效且可擴展的IP數(shù)據(jù)包分類方法,包括(1)預處理步驟(1. 1)初始化索引指針數(shù)組indexed_pointer[256]為0 ;(1. 2)設(shè)定Tries查找樹葉子節(jié)點的最大容量為cluSter_Size ;(1. 3)遍歷分類規(guī)則集R,依次取出每個規(guī)則氏進行處理(1. 3a)取氏的源端口號字段,根據(jù)該字段的值將它映射到一個3比特元組Sj2S3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組 100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111;(1. 3b)取Ri的目的端口號字段,根據(jù)該字段的值將它映射到一個3比特元組D1D2D3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組 100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111;(1. 3c)取氏的協(xié)議類型字段,根據(jù)該字段所確定的協(xié)議類型將它映射到一個2比特元組P1P2,映射的方法為將傳輸控制協(xié)議TCP映射到2比特元組00,將用戶數(shù)據(jù)報協(xié)議UDP 映射到2比特元組01,將因特網(wǎng)控制報文協(xié)議ICMP映射到2比特元組10,將其它協(xié)議映射到2比特元組11 ;(1. 3d)將所述的Sj2&、D1D2D3和P1P2比特元組串接在一起,得到一個8比特元組m = S1S2S3D1D2D3P1P2,根據(jù)m的值將規(guī)則Ri劃分到規(guī)則子集Subset [m],0 ^ m ^ 255 ;(1.4)取分類規(guī)則集R的一個規(guī)則子集Subsetfc],η為它的子集號,如果該子集非空,則在內(nèi)存空間為它分配一個Tries查找樹的起始地址,并將該地址賦給索引指針數(shù)組 indexed_pointer [256]中下標為 η 的數(shù)組兀素 indexed-pointer [η];(1.5)判斷規(guī)則子集Subset[η]內(nèi)的規(guī)則數(shù)目,如果規(guī)則數(shù)目大于clustei^size,則計算Subsetfc]內(nèi)規(guī)則的“源IP地址+目的IP地址”聯(lián)合字段每一位比特為0的統(tǒng)計概率 Pj(O)和每一位比特為1的統(tǒng)計概率Pj(I),0 ^ j ^ 63 Pj(O) = (Nj^NrIl)INjPj(V) = (Nfl +Nr/2)/Nj其中, 代表選擇第j位比特時規(guī)則子集內(nèi)規(guī)則總數(shù),代表第j位為0的規(guī)則數(shù)目, Njl代表第j位為1的規(guī)則數(shù)目,乂》代表第j位為*的規(guī)則數(shù)目,*代表任意值;(1.6)基于Pj(O)和Pj(I),計算子集內(nèi)規(guī)則的“源IP地址+目的IP地址”聯(lián)合字段中每一位比特的信息熵值= -i(P^riogPi(0),0彡j ^ 63 ;i=0(1.7)以信息熵值最大的那一位比特為根,將規(guī)則子集Subsetfc]劃分為左右兩個規(guī)則子束,左規(guī)則子束包含規(guī)則子集中所有的根比特為0或*的規(guī)則,右規(guī)則子束包含規(guī)則子集中所有的根比特為1或*的規(guī)則;(1.8)將左右兩個規(guī)則子束看作兩個規(guī)則子集,重復步驟(1. 一(1.7),直到每個規(guī)則子束內(nèi)規(guī)則數(shù)目均不超過最大容量clusterjize,并將最終的規(guī)則子束作為Tries查找樹的葉子節(jié)點;(1.9)重復步驟(1.4)-(1.8),直到將所有的規(guī)則子集處理完畢;(2)數(shù)據(jù)包分類步驟(2. 1)分類器收到一個數(shù)據(jù)包P ;(2. 2)取P的源端口號字段,根據(jù)該字段的值將它映射到一個3比特元組S1S2S3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組100, 將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111 ;(2. 3)取P的目的端口號字段,根據(jù)該字段的值將它映射到一個3比特元組dlCl2d3,映射的方法為將21端口映射到3比特元組000,將80端口映射到3比特元組001,將23端口映射到3比特元組010,將25端口映射到3比特元組011,將110端口映射到3比特元組 100,將53端口映射到3比特元組101,將IOM 65535端口映射到3比特元組110,將其它端口映射到3比特元組111;(2. 4)取P的協(xié)議類型字段,根據(jù)該字段所確定的協(xié)議類型將它映射到一個2比特元組 P1P2,映射的方法為將傳輸控制協(xié)議TCP映射到2比特元組00,將用戶數(shù)據(jù)報協(xié)議UDP映射到2比特元組01,將因特網(wǎng)控制報文協(xié)議ICMP映射到2比特元組10,將其它協(xié)議映射到 2比特元組11 ;(2. 5)將所述的sp2h、dlCl2d3、P1P2比特元組串接在一起,得到一個8比特元組m = s1s2s3d1d2d3p1p2 ;(2. 6)判斷索引指針數(shù)組元素indexecLpointerQii]的值,如果不為0,執(zhí)行步驟(2. 7), 否則轉(zhuǎn)步驟(2. 1);(2. 7)查找索引指針數(shù)組元素indexecLpointerQii]指向的Tries查找樹,依次判定數(shù)據(jù)包內(nèi)“源IP地址+目的IP地址”聯(lián)合字段與該Tries查找樹的根及子樹根節(jié)點對應比特的值,定位到該Tries查找樹的某個葉子節(jié)點;(2. 8)將數(shù)據(jù)包與該葉子節(jié)點內(nèi)的分類規(guī)則依次進行匹配,找出優(yōu)先權(quán)最大的規(guī)則,從而完成對數(shù)據(jù)包P的分類;(2. 9)跳轉(zhuǎn)到步驟(2. 1),開始下一個數(shù)據(jù)包的分類處理。
2.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)包分類方法,其中步驟(1.3)所述的分類規(guī)則集R, 是由用戶根據(jù)自己的分類需求事先配置好的分類規(guī)則集合,集合里的每個分類規(guī)則定義了一種不同類別的數(shù)據(jù)包,而數(shù)據(jù)包分類方法的實質(zhì)就是在R里找到一個和它匹配的優(yōu)先權(quán)最高的分類規(guī)則。
3.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)包分類方法,其中步驟(1.3c)所述的根據(jù)協(xié)議類型字段所確定的協(xié)議類型,是指在IP數(shù)據(jù)包首部中,當協(xié)議類型字段的值為6時,所確定的協(xié)議類型為傳輸控制協(xié)議TCP,當協(xié)議類型字段的值為17時,所確定的協(xié)議類型為用戶數(shù)據(jù)報協(xié)議UDP,當協(xié)議類型字段的值為1時,所確定的協(xié)議類型為因特網(wǎng)報文控制協(xié)議ICMP, 當協(xié)議類型字段的值為其它值時,所確定的協(xié)議類型為其它協(xié)議。
4.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)包分類方法,其中步驟(2.7)所述的查找indexecL pointer[m]指向的Tries查找樹,按照如下步驟進行(2. 7a)判定Tries查找樹根節(jié)點所選用的比特位置,如果數(shù)據(jù)包內(nèi)“源IP地址+目的 IP地址”聯(lián)合字段中與Tries查找樹根節(jié)點位置相同的比特的值為0,則轉(zhuǎn)向該Tries查找樹的左子樹,否則轉(zhuǎn)向右子樹;(2. 7b)以轉(zhuǎn)向的子樹作為新的Tries查找樹,重復步驟(2. 7a),直到到達某個葉子節(jié)點ο
5.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)包分類方法,其中步驟(2.8)所述的將數(shù)據(jù)包與該葉子節(jié)點內(nèi)的規(guī)則依次進行匹配,是指依次取出葉子節(jié)點里的分類規(guī)則,將規(guī)則的源IP地址和目的IP地址字段分別與數(shù)據(jù)包的源IP地址和目的IP地址字段進行匹配,找出匹配成功的規(guī)則;如果有多個規(guī)則匹配成功,則找出優(yōu)先權(quán)最大的規(guī)則。
全文摘要
本發(fā)明公開一種高效且可擴展的IP數(shù)據(jù)包分類方法,主要解決現(xiàn)有技術(shù)無法滿足通用網(wǎng)絡設(shè)備對執(zhí)行效率和可擴展能力要求的問題。其實現(xiàn)步驟是首先通過分析IP包中源、目的端口和協(xié)議類型字段在實際應用中的分布特性,將它們映射到一個8比特元組,并根據(jù)映射結(jié)果將分類規(guī)則集劃分為若干子集;然后借助于信息熵技術(shù),通過查找最優(yōu)比特序列作為根和子節(jié)點,為每個規(guī)則子集建立一棵Tries查找樹;最后分類器將收到的IP包映射到某個Tries查找樹,查找該樹并定位到其葉子節(jié)點,進行若干次匹配確定出數(shù)據(jù)包的類別。本發(fā)明降低了分類復雜度,提高了包分類的平均查詢時間,具有良好的可擴展性,可用于支持網(wǎng)絡設(shè)備中的區(qū)分服務應用。
文檔編號H04L29/06GK102437950SQ201110349979
公開日2012年5月2日 申請日期2011年11月8日 優(yōu)先權(quán)日2011年11月8日
發(fā)明者李金庫, 楊超, 謝琨, 馬建峰 申請人:西安電子科技大學