欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于復合trie樹結構的源地址目的地址聯(lián)合查找方法

文檔序號:9399197閱讀:537來源:國知局
一種基于復合trie樹結構的源地址目的地址聯(lián)合查找方法
【技術領域】
[0001]本發(fā)明涉及一種基于復合trie樹結構的源地址目的地址聯(lián)合查找方法,屬于網(wǎng)絡交換技術領域。
【背景技術】
[0002]IP路由器支持單播、組播業(yè)務,當接收到單播報文時,根據(jù)目的地址進行最長前綴匹配查找,實現(xiàn)單播報文的查找轉發(fā)。IP路由器運行PM組播協(xié)議,支持三種工作模式:稀疏模式組播、密集模式組播和特定源組播。當IP路由器工作于特定源組播模式時,使用源地址S和目的地址(即組地址)G(S,G)共同標識一個會話,只針對目的地址進行最長前綴匹配的查找結構已不能滿足此需求,因此需要對源地址、目的地址進行聯(lián)合查找,完成(源地址,目的地址)精確匹配,保障組播報文查找轉發(fā)的正確性。
[0003]“實現(xiàn)組播路由快速查找的一種方法”,使用所有組播路由記錄(組播組,組播源)建立網(wǎng)格,路由器通過源地址和組地址在網(wǎng)格確定一個唯一的交叉處,使用兩個內容尋址器進行源地址和組地址的精確匹配查找,若對組地址進行精確匹配查找返回的結果為X,對源地址進行精確匹配查找返回的結果為y,則(x,y)表示網(wǎng)格中某個交叉處,若該值為‘0’則說明這一(組播組,組播源)對應的轉發(fā)信息不存在,觸發(fā)網(wǎng)絡處理器來計算相應的轉發(fā)信息,若該值為‘I’則計算下一跳位圖流數(shù)組的索引值,在下一跳位圖流數(shù)組中讀出相應位置的下一跳位圖流即轉發(fā)的輸出端口,完成組播地址的查詢過程。該方法查詢過程很簡單,查找表規(guī)模較大,占用存儲空間嚴重,與本專利使用的復合trie樹結構完全不同,且不適合使用在資源嚴重受限的星載IP路由設備中。
[0004]“一種基于分段式存儲的組播路由查找方案”,提出一種基于TCAM的分段式存儲查找方法,TCAM表項存儲查找關鍵字,SRAM存儲查找結果,一級關鍵字是組播路由查找關鍵字,查找關鍵字按照先組播源地址后組播組地址串行輸入。一級關鍵字的查找以TCAM實現(xiàn),二級關鍵字是TCAM匹配地址到SRAM的映射地址,二級關鍵字的索引利用SRAM實現(xiàn),SRAM返回的結果為最終結果,配合流水線設計,可實現(xiàn)高速查找。該方法與本專利使用的復合trie樹查找結構完全不同,且資源消耗嚴重不適用于星載IP路由設備。
[0005]“一種精確轉發(fā)IP特定源組播數(shù)據(jù)的實現(xiàn)方法”,專利號20140399650.8,專利提出提供一種精確轉發(fā)IP特定源組播數(shù)據(jù)的實現(xiàn)方法,可以分別根據(jù)組播轉發(fā)表項或PON接口轉發(fā)表項來對硬件IP組播轉發(fā)表進行維護,實現(xiàn)對特定源的組播流進行精確控制。該方法側重研究組播源地址的變化(分為允許轉發(fā)的源地址、禁止轉發(fā)的源地址)和組播組過濾模式的變化(分為INCLUDE模式和EXCLUDE模式)引起對硬件轉發(fā)表的添加和刪除操作,并未針對特定源組播建立轉發(fā)表及查找轉發(fā)的問題給出具體方法。
[0006]“增強多位trie樹查找方法和裝置”,專利號200710123674.0,專利使用多位trie樹的查找方法,對擴展位圖及上下級樹節(jié)點之間的關系提出優(yōu)化改造。算法對單棵trie樹結構進行壓縮,且主要針對trie樹的最長匹配查找,未涉及源地址目的地址聯(lián)合查找。

【發(fā)明內容】

[0007]本發(fā)明的技術解決問題是:克服現(xiàn)有技術不足,提出一種基于復合trie樹結構的源地址目的地址聯(lián)合查找方法,實現(xiàn)組播報文源地址、目的地址的精確匹配查找。
[0008]本發(fā)明所采用的技術解決方案:
[0009]—種基于復合trie樹結構的源地址目的地址聯(lián)合查找方法,步驟如下:
[0010](I)建立復合trie樹結構,具體為:
[0011](1.1)對組播路由表項進行預處理:聚合所有組播路由表項,將同一源地址的多個組播路由表項進行合并,即將a個源地址為S、目的地址為Gb的組播路由表項(S,G1),(S,G2),...,(S,Ga)合并為(S,G1,...,Ga);將c個合并后的組播路由表項(S1, G11, G12,...,Gla),(S2, G21, G22,...,G2J,...,(Sc, Gcl, Gc2,...,Gj 整理為 I 個組播源地址集合 SS: (S1, S2,…,Sc)和 c 個組播目的地址集合 GSd: (G n, G12,…,Gla),(G21, G22,…,G2J,…,(Gcl, Gc2,…,GJ,分別將集合SS,GS1, GS2,…,GS。中的元素按從小到大的順序進行排序;其中,a、b、C、d 為正整數(shù),l^b^a, l^d^c;
[0012](1.2)使用組播源地址集合建立單棵trie樹,trie樹節(jié)點的結構均為:左兒子m_I son、右兒子m_r son、擴展標識SF以及路由索引index,設置trie樹可變步長為4 ;左兒子m_lson和右兒子!!!」^。]!的長度均為16bit,擴展標識SF長度為lbit,路由索引index長度為 15bit ;
[0013]步驟1:若集合SS不為空,使用組播源地址集合SS: (S1, S2,…,S。)建立trie樹,之后進入步驟2 ;若集合SS為空,跳出建樹;
[0014]步驟2:令bit為地址當前比特位,初值設為0x8000,表示最高位;令1*001:1為當前計算的trie樹節(jié)點,節(jié)點號為I,表示樹的根節(jié)點;計算集合SS中c個元素從bit位開始,相同比特的個數(shù)e,令e < 4個,之后進入步驟3 ;
[0015]步驟3:當e大于I時,進行變步長壓縮建樹:
[0016]I)令rootl的擴展標識SF為I ;
[0017]2)令rootl的左兒子的高4比特位bitl5…bitl2為e,rootl的左兒子的中間8比特位Ι?1:11...?3;??4為0,rootl的左兒子的低4比特位bit3…bitO為集合SS中首個元素中從bit位開始的e個比特;
[0018]3)生成新的trie樹節(jié)點f,節(jié)點號加I ;
[0019]4)令rootl的右兒子為f ;
[0020]5)對集合SS進行遞歸建樹,令當前計算的trie樹節(jié)點rootl為f,當前比特位bit為原值向右移動e位;
[0021]步驟4:當e等于I時,建立左右兒子節(jié)點:
[0022]I)令集合Q為空,將SS中的所有以O比特開始的元素從SS中刪除,放入集合Q中;
[0023]2)若Q不為空,生成新節(jié)點g,節(jié)點號加1,令rootl的右兒子為g ;對集合Q進行遞歸建樹,令當前計算的trie樹節(jié)點rootl為g,當前比特位bit為原值向右移動I位;
[0024]3)若SS不為空,生成新節(jié)點h,節(jié)點號加1,令rootl的右兒子為h ;對集合SS進行遞歸建樹,令當前計算的trie樹節(jié)點rootl為h,當前比特位bit為原值;
[0025](1.3)使用組播目的地址集合建立多棵trie樹,組成組播地址集合的復合trie樹:
[0026]步驟1:將c個組播目的地址集合GS1, GS2,…,GS。依次使用步驟(1.2)的方法分別建立c棵trie樹;
[0027]步驟2:將源地址建立的單棵trie樹和目的地址建立的c棵trie樹,根據(jù)生成的trie樹節(jié)點號遞增順序依次排列,組成組播地址集合的復合trie樹;
[0028](1.4)構建滿足源地址目的地址聯(lián)合查找的復合trie樹結構:
[0029]生成trie樹根節(jié)點,節(jié)點號為0,0號節(jié)點的右兒子為組播地址集合建立的復合trie樹根節(jié)點號;
[0030](2)基于復合trie樹結構進行源地址目的地址查找,具體為:
[0031](2.1)確定起始樹節(jié)點:
[0032]對源地址、目的地址進行聯(lián)合查找,取所述復合trie樹結構根節(jié)點的右兒子作為查找起始樹節(jié)點,記為root2 ;
[0033](2.2)使用源地址進行trie樹查找:
[0034]步驟1:查找的trie樹節(jié)點為i,初始值設置為root2 ;源地址待處理的比特位為W,初始值設置為0,表示源地址的最高位;
[0035]步驟2:從左到右依次處理源地址的比特位,若節(jié)點i的擴展標識SF為1,進入步驟3 ;若節(jié)點i的擴展標識SF為0,進入步驟4 ;
[0036]步驟3:取節(jié)點i的左兒子的高4位為步進值step,若源地址從w比特開始向右的step個比特與節(jié)點i的左兒子的低4位相同,將節(jié)點i的右兒子的值賦值給節(jié)點i,否則令i為O ;令w = w+step,若w〈32,貝Ij返回步驟2 ;否則,進入步驟5 ;
[0037]步驟4:取源地址從左到右第w個比特位,若該比特位為0,將節(jié)點i的左兒子的值賦值給節(jié)點i ;若該比特位為1,將節(jié)點i的右兒子的值賦值給節(jié)點i ;令步進值step為I ;令w = w+step,若w〈32,貝Ij返回步驟2 ;否則,進入步驟5 ;
[0038]步驟5:得到節(jié)點i的路由索引index的值,作為目的地址查找的根節(jié)點號;
[0039](2.3)使用
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长子县| 波密县| 麻江县| 于田县| 二手房| 重庆市| 山阳县| 珠海市| 鄱阳县| 桦甸市| 永清县| 建水县| 福鼎市| 余庆县| 天峻县| 固安县| 航空| 日土县| 东光县| 台安县| 新丰县| 上栗县| 稷山县| 神木县| 临邑县| 永丰县| 溧阳市| 佛坪县| 务川| 灵宝市| 太白县| 桦川县| 思茅市| 博野县| 临汾市| 县级市| 梁平县| 土默特右旗| 洛浦县| 抚顺县| 绥阳县|