亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種路由表壓縮方法

文檔序號:7920537閱讀:470來源:國知局
專利名稱:一種路由表壓縮方法
所屬領(lǐng)域本發(fā)明涉及一種互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)單播路由表的優(yōu)化方法,屬于計算機網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。
在目前的IP轉(zhuǎn)發(fā)設(shè)備中,高層軟件將路由表中的有效路由提交到IP轉(zhuǎn)發(fā)引擎,保存在轉(zhuǎn)發(fā)路由表中,轉(zhuǎn)發(fā)引擎按轉(zhuǎn)發(fā)路由表的指示,具體執(zhí)行報文的高速轉(zhuǎn)發(fā)功能。轉(zhuǎn)發(fā)引擎可以由軟件或硬件實現(xiàn),但在高速轉(zhuǎn)發(fā)設(shè)備中通常使用硬件實現(xiàn)。硬件轉(zhuǎn)發(fā)引擎的靈活性較低,對轉(zhuǎn)發(fā)路由表的容量通常有固定的限制。而目前路由表中的有效路由必須全部提交到轉(zhuǎn)發(fā)路由表中,以保證轉(zhuǎn)發(fā)引擎能夠正確地實施報文轉(zhuǎn)發(fā)。路由協(xié)議和轉(zhuǎn)發(fā)引擎在設(shè)備中的關(guān)系參見圖1其中圖中箭頭表示路由提交方向,(1)是物理接口,(2)是鏈路層協(xié)議,(3)是IP轉(zhuǎn)發(fā)引擎,(4)是IP層,(5)是TCP/UDP協(xié)議層,(6)是單播路由協(xié)議層,(7)是單播路由表,(8)是單播路由轉(zhuǎn)發(fā)表。
中國專利00804339.6提出了一種高效率轉(zhuǎn)發(fā)路由表的實現(xiàn)方法,目的是實現(xiàn)高效率的轉(zhuǎn)發(fā)表檢索,其中的“壓縮”是指路由轉(zhuǎn)發(fā)表占用內(nèi)存空間的減少。而本方法的目的是為了減少提交到轉(zhuǎn)發(fā)路由表的路由數(shù)量,是在將路由加入轉(zhuǎn)發(fā)路由表之前所采取的一種優(yōu)化方法,其中的“壓縮”是指轉(zhuǎn)發(fā)路由表中路由數(shù)量的減少,這與具體的轉(zhuǎn)發(fā)路由表實現(xiàn)方式無關(guān)。
發(fā)明目的本發(fā)明針對大容量IP轉(zhuǎn)發(fā)設(shè)備提出一種轉(zhuǎn)發(fā)路由表的壓縮方法,通過創(chuàng)建聚合路由減少轉(zhuǎn)發(fā)路由表中的路由數(shù)量,同時保證不影響正確地執(zhí)行轉(zhuǎn)發(fā)功能。發(fā)明的技術(shù)方案盡管大型IP網(wǎng)絡(luò)中的路由數(shù)量很大,但每個IP轉(zhuǎn)發(fā)設(shè)備的相鄰設(shè)備卻不會很多,通常在幾個到幾十個之間,轉(zhuǎn)發(fā)設(shè)備的目的不過是將數(shù)據(jù)包轉(zhuǎn)發(fā)到這少量相鄰設(shè)備中的一個,這就為路由的壓縮提供了可能。
IP路由表的原理是使用最長匹配方法,即用一個目的IP地址檢索轉(zhuǎn)發(fā)路由表時,選擇被路由網(wǎng)段包含并且網(wǎng)段范圍最小(掩碼長度最長)的路由,然后把報文轉(zhuǎn)發(fā)到路由指定的相鄰設(shè)備。相鄰設(shè)備的IP地址在路由表中稱為下一跳地址。對于多個下一跳地址相同的路由,可以用一個掩碼較短的路由取代,稱為聚合路由。對于IP轉(zhuǎn)發(fā)來說,采用聚合路由地址的轉(zhuǎn)發(fā)效果是相同的,而轉(zhuǎn)發(fā)路由表中的路由數(shù)量可以因此而減少。當(dāng)然,并不是所有的下一跳地址相同的路由都可以簡單地聚合,需要設(shè)計某種方案得到正確的聚合路由。
本方法以當(dāng)前路由表為基礎(chǔ),采用特定方案計算聚合路由;將聚合路由和不能被聚合的路由提交轉(zhuǎn)發(fā)路由表,被聚合路由覆蓋的路由不提交轉(zhuǎn)發(fā)路由表;由聚合路由取代原先的路由,不影響正確地執(zhí)行轉(zhuǎn)發(fā)功能,同時對轉(zhuǎn)發(fā)路由表進行了壓縮。
構(gòu)造路由表常用的數(shù)據(jù)結(jié)構(gòu)是二叉基樹(Radix Tree),基樹是目前廣泛使用的方法?;鶚溆蓸涔?jié)點構(gòu)成。樹節(jié)點上可能有路由數(shù)據(jù),也可能沒有路由數(shù)據(jù)。沒有路由數(shù)據(jù)的樹節(jié)點稱為空節(jié)點,有路由數(shù)據(jù)的樹節(jié)點稱為實節(jié)點??展?jié)點必然有兩個子節(jié)點,實節(jié)點可以有零至二個子節(jié)點。在基樹中,每個節(jié)點至少要包含位高度信息,實節(jié)點的位高度即路由的掩碼長度。兩個兄弟節(jié)點從高位開始的第一個不同的位(比特),就是它們的父節(jié)點的位高度,并且兩個子節(jié)點在該位為0的是左子節(jié)點,為1的是右子節(jié)點。兩個實節(jié)點有上下級關(guān)系,則這兩個路由有包含關(guān)系,即有相同的一段目的地址前綴,但掩碼長度不同。在圖2中給出了一個二叉基樹的例子,其中a、b、d等節(jié)點為空節(jié)點,c、e、f等節(jié)點為實節(jié)點,包含路由信息。
在基樹中,一個連續(xù)的空節(jié)點區(qū)域為可優(yōu)化區(qū)間。即這個區(qū)域內(nèi)只包含空節(jié)點,并且這些空節(jié)點通過二叉樹的父指針和左右孩子指針直接連接。在圖3的例子中,有3個可優(yōu)化區(qū)間,分別為{a,b,d}、{i,m}、{j}。除了可優(yōu)化區(qū)間的根節(jié)點的父節(jié)點之外,其他與可優(yōu)化區(qū)間直接連接的實節(jié)點為可優(yōu)化的對象??蓛?yōu)化區(qū)間內(nèi)的優(yōu)化處理只需要考慮這些實節(jié)點。例如圖3中第一個可優(yōu)化區(qū)間內(nèi)的可優(yōu)化對象為e、f、g、c。第二個可優(yōu)化區(qū)間內(nèi)的可優(yōu)化對象為l、n、o。不連續(xù)的可優(yōu)化區(qū)間之間沒有相關(guān)影響,聚合計算可以分別進行。在整個路由表中,只要對每個可優(yōu)化區(qū)間分別做優(yōu)化即可。在基樹中,只需在空節(jié)點上增加聚合路由,就可達到充分的聚合效果。所以計算聚合路由的過程,也就是考慮每個空節(jié)點上是否需要增加聚合路由、聚合路由的下一跳取為什么值的過程。
本發(fā)明提出四個級別的優(yōu)化壓縮方法
1)利用路由表中自然的聚合,被上級路由覆蓋而且下一跳相同的路由不被選中,不向轉(zhuǎn)發(fā)路由表提交。例如在圖4中,節(jié)點h和p、q為可省略路由,它們被下一跳相同的父節(jié)點h和j覆蓋,不必向轉(zhuǎn)發(fā)表提交。
2)對一個可優(yōu)化的區(qū)間,僅當(dāng)整個區(qū)間或一個子區(qū)間的路由都有相同下一跳時才生成一個聚合路由,可不覆蓋整個區(qū)間。例如在圖5中,節(jié)點b和j上新增加了聚合路由,它們使得e、f、g、h、p、q等節(jié)點不必向轉(zhuǎn)發(fā)表提交,從而壓縮了轉(zhuǎn)發(fā)表的大小。
3)對一個可優(yōu)化的區(qū)間,取區(qū)間內(nèi)數(shù)量最大的下一跳生成一個聚合路由,覆蓋整個區(qū)間。例如在圖6中,節(jié)點a上新增加了聚合路由,它使得f、g、h、l、o等節(jié)點不必向轉(zhuǎn)發(fā)表提交,從而壓縮了轉(zhuǎn)發(fā)表的大小。
4)對一個可優(yōu)化的區(qū)間,綜合考慮生成多個聚合路由,達到整個區(qū)間的選中路由數(shù)量最小。例如在圖7中,節(jié)點a和j上新增加了聚合路由,它們使得f、g、h、l、p、q等節(jié)點不必向轉(zhuǎn)發(fā)表提交,從而壓縮了轉(zhuǎn)發(fā)表的大小。
這四個級別中,級別一是基礎(chǔ)。另外三個級別的優(yōu)化之后,都要使用級別一的原理選擇應(yīng)該提交的路由,忽略不必提交的路由。它單獨使用時,對于正常的路由分布,可以使轉(zhuǎn)發(fā)表的大小有所下降。但由于路由協(xié)議提供的路由通常不重疊,所以級別1單獨使用時優(yōu)化效果不太明顯。級別2和級別3的優(yōu)化效果比較明顯,但不是最優(yōu)方法。級別4是最優(yōu)方法,但方案復(fù)雜,計算開銷大,實用性不強。因此可以將級別2和級別3組合起來,形成一種計算復(fù)雜度較小而效果較好的實用優(yōu)化方法。有益效果本方法通過采用聚合路由來取代大量的路由數(shù)據(jù),減少了轉(zhuǎn)發(fā)路由表中的路由數(shù)量,從而能夠降低轉(zhuǎn)發(fā)引擎的容量壓力,減少空間開銷,降低成本,提高設(shè)備的路由容納能力。本方法可以應(yīng)用于IPV4和IPV6網(wǎng)絡(luò)設(shè)備,可應(yīng)用的設(shè)備包括IP網(wǎng)絡(luò)內(nèi)的各種轉(zhuǎn)發(fā)設(shè)備,如路由器、三層交換機、IP網(wǎng)關(guān)等。
說明書


圖1單播路由結(jié)構(gòu)2二叉基樹示意3可優(yōu)化區(qū)域示意4級別1優(yōu)化示意5級別2優(yōu)化示意6級別3優(yōu)化示意7級別4優(yōu)化示意圖(在圖2至圖7中,圓形代表空節(jié)點,方形代表實節(jié)點,星形代表增加的聚合路由。小寫字母代表節(jié)點編號,大寫字母代表路由的下一跳。)
級別1的具體處理過程如下加入過程1)路由R加入路由表;2)如果R的父節(jié)點下一跳與R相同,將R標(biāo)記為不選中。
3)否則R標(biāo)記為選中,并檢查R的子樹,遇到實節(jié)點則回溯。
4)如果R的子樹有下一跳與R相同的AR,則刪除。
5)如果R的子樹有下一跳與R相同的普通路由并且選中,則改為不選中。
6)如果R的子樹有下一跳與R不同的普通路由并且沒選中,則改為選中。
刪除過程1)如果R沒有選中則直接刪除。
2)檢查R的子樹,遇到實節(jié)點則回溯。
3)如果R的子樹有下一跳與R的父節(jié)點相同的AR,則刪除。
4)如果R的子樹有下一跳與R的父節(jié)點相同的普通路由并且選中,則改為不選中。
5)如果R的子樹有下一跳與R的父節(jié)點不同的普通路由并且沒選中,則改為選中。
6)路由R從路由表刪除;級別2的具體處理過程如下加入過程1)路由R加入路由表;2)如果R的父節(jié)點下一跳與R相同,則結(jié)束。3)如果R的父節(jié)點是AR,則刪除父節(jié)點AR,并為父節(jié)點的另一分支重新計算AR。4)從R向上逐步檢查兄弟子樹,遇到實節(jié)點則回溯。找到包含R的并且下一跳都與R相同的最大子樹。5)在最大子樹的根節(jié)點增加一個AR。下一跳就是R的下一跳。6)每次加入刪除路由都使用級別1的方法調(diào)整相鄰的AR。刪除過程1)如果R的父節(jié)點是AR,則刪除父節(jié)點AR。2)找到R的一個兄弟節(jié)點B。3)刪除路由R。4)用級別2的加入過程處理B節(jié)點,重新建立這個區(qū)域的AR。5)每次加入刪除路由都使用級別1的方法調(diào)整相鄰的AR。級別3的具體處理過程如下加入過程1)路由R加入路由表;2)找到R上方第一個非空父節(jié)點。3)如果父節(jié)點下一跳與R相同,則結(jié)束4)否則如果父節(jié)點是AR,刪除這個AR5)如果父節(jié)點不是AR,檢查父節(jié)點下的直接下屬非空子節(jié)點,如果下一跳都與R相同,則在父節(jié)點下方增加AR。6)對R的左右子樹各取一個直接下屬非空子節(jié)點,重復(fù)以上處理。7)每次加入刪除路由都使用級別1的方法調(diào)整相鄰的AR。刪除過程1)找到R上方第一個非空父節(jié)點。2)如果父節(jié)點不是AR,則直接刪除R,結(jié)束。3)如果R的左右子節(jié)點是AR,刪除這些AR。4)取R的一個直接下屬非空子節(jié)點,用級別3的加入過程處理它,重新建立這個區(qū)域的AR。5)每次加入刪除路由都使用級別1的方法調(diào)整相鄰的AR。
權(quán)利要求
1.一種網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的路由表壓縮方法,高層軟件采用二叉基樹數(shù)據(jù)結(jié)構(gòu)構(gòu)造路由表,將路由表中的有效路由提交到IP轉(zhuǎn)發(fā)引擎,保存在轉(zhuǎn)發(fā)路由表中,轉(zhuǎn)發(fā)引擎按轉(zhuǎn)發(fā)路由表的指示,具體執(zhí)行報文的高速轉(zhuǎn)發(fā)功能,其特征在于以當(dāng)前路由表為基礎(chǔ),采用特定方案計算聚合路由;將聚合路由和不能被聚合的路由提交轉(zhuǎn)發(fā)路由表,被聚合路由覆蓋的路由不提交轉(zhuǎn)發(fā)路由表;由聚合路由取代原先的路由,不影響正確地執(zhí)行轉(zhuǎn)發(fā)功能,同時對轉(zhuǎn)發(fā)路由表進行了壓縮。
2.根據(jù)權(quán)利要求1所述的路由表壓縮方法,其特征在于基樹中連續(xù)的空節(jié)點區(qū)域為可優(yōu)化區(qū)間,與可優(yōu)化區(qū)間內(nèi)節(jié)點直接連接的實子節(jié)點為可優(yōu)化的對象;在可優(yōu)化的空節(jié)點上增加并計算聚合路由;不連續(xù)的可優(yōu)化區(qū)間之間沒有相關(guān)影響,聚合計算分別進行。
3.根據(jù)權(quán)利要求2所述的路由表壓縮方法,其特征在于增加并計算聚合路由的操作為利用路由表中自然的聚合,被上級路由覆蓋而且下一跳相同的路由不被選中,不向轉(zhuǎn)發(fā)路由表提交。
4.根據(jù)權(quán)利要求2或3所述的路由表壓縮方法,其特征在于增加并計算聚合路由的操作為對一個可優(yōu)化的區(qū)間,僅當(dāng)整個區(qū)間或一個子區(qū)間的路由都有相同下一跳時才生成一個聚合路由,可不覆蓋整個區(qū)間。
5.根據(jù)權(quán)利要求2或3所述的路由表壓縮方法,其特征在于增加并計算聚合路由的操作為對一個可優(yōu)化的區(qū)間,取區(qū)間內(nèi)數(shù)量最大的下一跳生成一個聚合路由,覆蓋整個區(qū)間。
6.根據(jù)權(quán)利要求3-5任一權(quán)利要求之一所述的路由表壓縮方法,其特征在增加并計算聚合路由的操作組合使用,以便取得更好的壓縮效果。
全文摘要
本發(fā)明涉及一種互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)單播路由表的優(yōu)化方法。在需要使用大容量路由表實施報文轉(zhuǎn)發(fā)的設(shè)備中,可通過本方法生成等效的聚合路由,減少用于轉(zhuǎn)發(fā)的路由數(shù)量,從而以較小的系統(tǒng)資源開銷適應(yīng)網(wǎng)絡(luò)路由數(shù)量的不斷增長。該方法可以應(yīng)用于路由器或IP交換機等轉(zhuǎn)發(fā)設(shè)備。
文檔編號H04L12/56GK1402488SQ02131448
公開日2003年3月12日 申請日期2002年10月14日 優(yōu)先權(quán)日2002年10月14日
發(fā)明者龔志波 申請人:北京港灣網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1