陳文龍,齊宏偉,徐明偉,徐 ?。?首都師范大學(xué)信息工程學(xué)院 北京 海淀區(qū) 00048;.清華大學(xué)計算機科學(xué)與技術(shù)系 北京 海淀區(qū) 00084)
隧道傳輸系統(tǒng)中基于表項優(yōu)化的高效轉(zhuǎn)發(fā)模型
陳文龍1,齊宏偉1,徐明偉2,徐 恪2
(1.首都師范大學(xué)信息工程學(xué)院 北京 海淀區(qū) 100048;2.清華大學(xué)計算機科學(xué)與技術(shù)系 北京 海淀區(qū) 100084)
異構(gòu)網(wǎng)絡(luò)環(huán)境中,隧道報文在路由器數(shù)據(jù)層的處理涉及多次不同表項查找,報文轉(zhuǎn)發(fā)時延和表項存儲容量都面臨著極大的挑戰(zhàn)。該文主要研究隧道報文處理的核心功能及各項功能步驟間的關(guān)聯(lián),提出了表項聚合和表項拆分理論,并分析了二者的效用、代價及適用場景。并設(shè)計了基于表項優(yōu)化的隧道設(shè)備高效轉(zhuǎn)發(fā)模型,針對4over6過渡網(wǎng)關(guān)給出了具體實現(xiàn)方法。原型系統(tǒng)實驗和分析證明了隧道網(wǎng)絡(luò)表項優(yōu)化機制和理論的正確性、高效性。表項優(yōu)化研究也為其他網(wǎng)絡(luò)設(shè)備的各類表項處理優(yōu)化提供了重要參考。
表項聚合;轉(zhuǎn)發(fā);表項拆分;隧道傳輸
隧道傳輸技術(shù)已被廣泛應(yīng)用于互聯(lián)網(wǎng)各種新型數(shù)據(jù)傳輸模型中。例如,面向下一代互聯(lián)網(wǎng)的IPv4/IPv6過渡方案4over6[1-2]、虛擬專用網(wǎng)絡(luò)VPN[3]都是隧道傳輸技術(shù)的重要應(yīng)用。
IETF工作組提出的4over6方案中,源端系統(tǒng)發(fā)出的IPv4報文經(jīng)所屬邊緣網(wǎng)絡(luò)的隧道網(wǎng)關(guān)(Tunnel Gateway,GWT)實施封裝,封裝報文經(jīng)IPv6網(wǎng)絡(luò)發(fā)送至目的端所屬邊緣網(wǎng)絡(luò)的GWT,解封裝得到原始的IPv4載荷報文,并根據(jù)載荷的目的地址發(fā)送至目的端。其中,報文封裝轉(zhuǎn)發(fā)過程是關(guān)鍵步驟,GWT涉及轉(zhuǎn)發(fā)表和封裝映射表的查詢。VPN[4]技術(shù)是在公共的互聯(lián)網(wǎng)中建立起端對端的專用隧道傳輸網(wǎng)絡(luò)。VPN技術(shù)基于報文的隧道封裝/解封裝,為用戶提供“專有的”傳輸通道。VPN設(shè)備或軟件模塊要多次查詢轉(zhuǎn)發(fā)表和封裝表。
目前,隧道網(wǎng)絡(luò)存在的共性問題是隧道網(wǎng)關(guān)涉及多個表項的查找,使得報文線速轉(zhuǎn)發(fā)更為困難,并且存在冗余存儲現(xiàn)象,這些問題制約了隧道技術(shù)的發(fā)展。更值得關(guān)注的是,IPv4/IPv6隧道實施中IPv6[5]的128Bytes地址結(jié)構(gòu),會加劇此類問題。4over6隧道過渡技術(shù)已在下一代互聯(lián)網(wǎng)CERNET2中廣泛部署,使得該問題的解決更加迫切。
本文通過分析典型隧道傳輸過程,針對現(xiàn)有設(shè)計方案存在的存儲冗余、報文轉(zhuǎn)發(fā)速度受限的共性問題,提出表項聚合和拆分理論,設(shè)計了隧道網(wǎng)絡(luò)的表項優(yōu)化模型,包括表項存儲及隧道轉(zhuǎn)發(fā)步驟的優(yōu)化。該模型只需對隧道傳輸網(wǎng)絡(luò)中的隧道網(wǎng)關(guān)設(shè)備進(jìn)行改進(jìn),同現(xiàn)有網(wǎng)絡(luò)保持了最大兼容。
通常,隧道傳輸網(wǎng)絡(luò)都具有基本共性:由隧道網(wǎng)關(guān)連接2個不同地址空間的異構(gòu)網(wǎng)絡(luò),隧道網(wǎng)關(guān)對跨異構(gòu)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)進(jìn)行封裝/解封裝及轉(zhuǎn)發(fā)。需要說明,有時隧道網(wǎng)關(guān)功能也集成在端系統(tǒng)中。隧道傳輸過程總是涉及多次表項查找,如映射信息查找、轉(zhuǎn)發(fā)表查找、下一跳MAC地址查找等。
圖1 隧道傳輸基本拓?fù)浣Y(jié)構(gòu)
隧道傳輸基本拓?fù)浣Y(jié)構(gòu)[6]如圖1所示,隧道Tunnel是封裝數(shù)據(jù)傳輸?shù)耐ǖ?;邊緣網(wǎng)絡(luò)(local net,Lnet)傳輸非封裝報文;隧道網(wǎng)關(guān)GWT是聯(lián)接Tunnel和Lnet的網(wǎng)關(guān)設(shè)備。
隧道網(wǎng)絡(luò)傳輸數(shù)據(jù)的流程包括:
1)源端發(fā)送的報文經(jīng)邊緣網(wǎng)到達(dá)源端隧道網(wǎng)關(guān)GWT_S;
2)GWT_S根據(jù)收到報文的邊緣網(wǎng)Lnet1目的標(biāo)識查詢隧道映射表,得到對應(yīng)的隧道封裝標(biāo)識,實施報文封裝;
3)根據(jù)封裝的目的標(biāo)識,查詢轉(zhuǎn)發(fā)表并發(fā)送封裝報文至目的隧道網(wǎng)關(guān)GWT_D;
4)GWT_D解封裝取得載荷,并根據(jù)載荷報文的目的標(biāo)識查詢邊緣網(wǎng)轉(zhuǎn)發(fā)表,最終送達(dá)目的端。
考慮到普通轉(zhuǎn)發(fā)處理功能的兼容,對未匹配到隧道轉(zhuǎn)發(fā)信息的報文,將查詢Lnet1的常規(guī)路由表,按常規(guī)方法轉(zhuǎn)發(fā)報文。
綜上分析,當(dāng)前隧道傳輸網(wǎng)絡(luò)的問題聚集在隧道網(wǎng)關(guān)中:1)隧道網(wǎng)關(guān)涉及到多個表項查找,逐級查表無疑會消耗設(shè)備更多運算資源,對采用硬件轉(zhuǎn)發(fā)的設(shè)備,成本必會上升,設(shè)計復(fù)雜度也難以估量;2)各個表項之間并不孤立,而是相關(guān)聯(lián)的,處理不當(dāng)必會造成表項信息存儲冗余,浪費存儲資源;3)表項內(nèi)參數(shù)重復(fù)設(shè)置,造成冗余存儲,IPv6等較長標(biāo)識參數(shù)的出現(xiàn)會使問題更加突出。
所以,隧道傳輸網(wǎng)絡(luò)的優(yōu)化模型將聚焦在隧道網(wǎng)關(guān),其面臨兩個主要問題:1)優(yōu)化表項設(shè)計,加快隧道網(wǎng)關(guān)查表速度,降低設(shè)計復(fù)雜度;2)在保持對現(xiàn)存隧道傳輸網(wǎng)絡(luò)體系兼容的前提下盡可能降低隧道網(wǎng)關(guān)各類表項的冗余存儲。
不失一般性,將數(shù)據(jù)層表項涉及的參數(shù)分為兩類:輸入?yún)?shù)SI和輸出參數(shù)SO。規(guī)定由輸入和輸出參數(shù)構(gòu)成的集合分別為輸入?yún)?shù)集PI和輸出參數(shù)集PO。
表項查詢過程可視為輸入?yún)?shù)與輸出參數(shù)間的映射:表項的輸入?yún)?shù)SI映射得到輸出參數(shù)SO,形式化表示為:
輸入?yún)?shù)SI是查表前已獲得的一些報文信息或狀態(tài)信息,如報文目的地址、報文長度等。輸出參數(shù)SO是報文轉(zhuǎn)發(fā)處理所需的控制信息,如報文封裝標(biāo)識、出接口、下一跳Next-hop、MAC地址等。由數(shù)據(jù)層表項構(gòu)成的集合稱作映射表。
定義1 表項聚合。將轉(zhuǎn)發(fā)處理中多個相關(guān)聯(lián)的映射表項按預(yù)定規(guī)則合并,合并后的映射表能夠描述原有多個映射表所包含的信息,定義該過程為表項聚合。表項聚合包含兩種基本類型,Ⅰ型為:
Ⅱ型為:
兩種類型的表項聚合示例如圖2所示。
圖2 兩種類型的表項聚合示例
Ⅰ型表項聚合利用的是表項參數(shù)間的遞推關(guān)系,實現(xiàn)兩個表項的合并。它可應(yīng)用于合并過渡網(wǎng)關(guān)中轉(zhuǎn)發(fā)表和隧道映射表。Ⅱ型表項聚合針對具有相同輸入?yún)?shù)的多個映射表項,可去除表項輸入?yún)?shù)的重復(fù)冗余。
表項聚合在路由設(shè)備中應(yīng)用廣泛。例如,在常規(guī)路由系統(tǒng)中,根據(jù)目的地址和子網(wǎng)掩碼分別映射成下一跳地址和出接口,這是兩條映射。但在許多情況下,往往將這兩個映射合并成一個映射,這是表項匯聚的一個典型例子。對映射表實施一定力度的聚合可以優(yōu)化設(shè)備性能:1)特定條件下,能減少映射表數(shù)量;2)表項聚合能壓縮表項數(shù)量。在現(xiàn)有典型數(shù)據(jù)層處理環(huán)境中頗有意義,如基于TCAM[7]的硬件轉(zhuǎn)發(fā)系統(tǒng)。
定義2 表項拆分。將包含多個輸入、輸出參數(shù)的映射表用多個映射表等價替換,且使替換前后包含的總映射信息不變,定義該過程為表項拆分。表項拆分后將引入索引參數(shù)Sindex,其長度決定于SO中元素個數(shù),通常要求Sindex必須能索引全部的SO。拆分關(guān)系描述為:
表項可進(jìn)行多次拆分,為便于說明給出表項拆分為兩項的例子。表項拆分示例如圖3所示。
圖3 表項拆分示例
表面上看,表項拆分會造成表項數(shù)量增長。然而,當(dāng)參數(shù)b長度較大且取值范圍較小時,參數(shù)b會大量冗余存儲,通過表項拆分可以降低系統(tǒng)中表的總體存儲開銷。在基于通用CPU實施軟轉(zhuǎn)發(fā)時,還可減少內(nèi)存查找時間,提高轉(zhuǎn)發(fā)速度。
表項聚合、拆分的類型有很多種,本文只關(guān)注與隧道網(wǎng)絡(luò)密切相關(guān)的類型。表項聚合和拆分需配合使用才能達(dá)到轉(zhuǎn)發(fā)處理及表項的最大優(yōu)化。
4over6[8-9]隧道網(wǎng)絡(luò)是向IPv4/IPv6過渡的網(wǎng)絡(luò)技術(shù)。以4over6為例,設(shè)計隧道網(wǎng)關(guān)基于表項優(yōu)化的高效轉(zhuǎn)發(fā)模型,該隧道網(wǎng)關(guān)設(shè)備也稱為“過渡網(wǎng)關(guān)”。4over6隧道網(wǎng)絡(luò)具有圖1所示的拓?fù)浣Y(jié)構(gòu),其中過渡網(wǎng)關(guān)是4over6網(wǎng)絡(luò)的核心。優(yōu)化的4over6過渡網(wǎng)關(guān)模型如圖4所示。優(yōu)化機制只在隧道網(wǎng)關(guān)的轉(zhuǎn)發(fā)層實施,不涉及路由協(xié)議、路由管理等控制層功能模塊[10]。
IPv4/IPv6過渡網(wǎng)關(guān)中,數(shù)據(jù)處理表項有兩類:1)常規(guī)IPv4/IPv6轉(zhuǎn)發(fā)表;2)隧道傳輸所需的IPv4/IPv6地址的映射表,稱其為隧道映射表。
傳統(tǒng)隧道網(wǎng)關(guān)的IPv4/IPv6轉(zhuǎn)發(fā)表和隧道封裝表如圖4所描述。表項優(yōu)化模型為:
1)聚合IPv4轉(zhuǎn)發(fā)表與隧道映射表。聚合表項中冗余參數(shù){IPv4_Dst,mask4,next-hop,interface},其余參數(shù)保留,產(chǎn)生臨時性的轉(zhuǎn)發(fā)表Table1。
圖4 優(yōu)化的4over6過渡網(wǎng)關(guān)模型
2)拆分Table1。去除Table1表項中參數(shù){next-hop,interface},增加參數(shù){Index},形成IPv4一體化轉(zhuǎn)發(fā)表IPv4*。用參數(shù){Index}、{next-hop,interface}建立Index表<Index,next-hop,interface>。
3)拆分IPv6轉(zhuǎn)發(fā)表。去除IPv6轉(zhuǎn)發(fā)表中參數(shù){next-hop,interface},增加參數(shù){Index},生成IPv6一體化轉(zhuǎn)發(fā)表IPv6*,類似步驟2),建立Index表。
通過設(shè)置標(biāo)志位的方式,IPv4/IPv6索引表可以復(fù)用。據(jù)實踐經(jīng)驗,參數(shù){Index}的長度設(shè)計為16bit,并設(shè)計其最高位為IPv4/IPv6標(biāo)志位,Index16為0時,表示后面15位索引IPv4的Next-hop、Interface;Index16為1時,表明其后索引IPv6出口信息。15bit長度的{Index}參數(shù)能索引Next-hop、出接口Interface的數(shù)量共215個,足以滿足常規(guī)使用。{Index}的長度也可由設(shè)計者根據(jù)實際情況自行設(shè)置。
在數(shù)據(jù)層面,過渡網(wǎng)關(guān)的原始處理流程:
GWT先根據(jù)協(xié)議類型號判斷收到報文的協(xié)議類型。
1)收到IPv4報文
①查詢IPv4轉(zhuǎn)發(fā)表。匹配到表項<IPv4_Dst,mask4,next-hop,interface>,IPv4轉(zhuǎn)發(fā)引擎根據(jù)查找結(jié)果進(jìn)行傳統(tǒng)轉(zhuǎn)發(fā)處理。
②未查到IPv4轉(zhuǎn)發(fā)表表項,繼續(xù)查詢隧道映射表。查到映射表項:<IPv4_Dst,mask4,IPv6_T_Dst,next-hop,interface>,表明目的主機可能位于隧道對端,需要封裝轉(zhuǎn)發(fā)。封裝模塊以{IPv6_T_Dst}為目的地址封裝原報文,并繼續(xù)查詢IPv6轉(zhuǎn)發(fā)表并以轉(zhuǎn)發(fā)封裝后報文。查詢IPv4轉(zhuǎn)發(fā)表與隧道映射表的先后順序可調(diào)換,不影響轉(zhuǎn)發(fā)結(jié)果。
2)收到IPv6報文
查詢IPv6轉(zhuǎn)發(fā)表,若沒有匹配項,則丟棄報文;若有匹配項,分3種情況:
①普通轉(zhuǎn)發(fā)處理,根據(jù)匹配表項<IPv6_Dst,mask6,next-hop,interface>,轉(zhuǎn)發(fā)IPv6報文。
②若是普通本機接收報文,即沒有4over6封裝,則提交上層協(xié)議處理。
③若是本機接收報文且為4over6封裝,表明報文經(jīng)隧道封裝傳輸而來,要先用解封裝模塊取出載荷,最后查詢IPv4轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)原始報文。
圖5 原始隧道處理流程
綜上所述,過渡網(wǎng)關(guān)最壞情況下需查詢3次不同的數(shù)據(jù)表。各表項存儲著冗余參數(shù),嚴(yán)重制約了轉(zhuǎn)發(fā)性能。原始隧道處理流程如圖5所示。
實行隧道網(wǎng)關(guān)表項優(yōu)化后能極大簡化查表流程,表項有較大變化,圖4中列出了優(yōu)化后的表項。過渡網(wǎng)關(guān)的優(yōu)化處理流程分為兩步:
1)收到IPv4報文
查詢IPv4一體化轉(zhuǎn)發(fā)表,查到<IPv4_Dst,mask4,IPv6_T_Dst,Index>,若參數(shù){IPv6_T_Dst}為空(null),按常規(guī)轉(zhuǎn)發(fā)報文;若{IPv6_T_Dst}非空,說明要進(jìn)行隧道封裝,該地址為隧道目的地址。再用Index的下一跳地址{next-hop}、出接口{interface}信息發(fā)送封裝報文。
2)收到IPv6報文
若滿足報文協(xié)議類型是4over6隧道報文,且目的地址為自身地址,進(jìn)行報文解封裝,取出載荷后轉(zhuǎn)發(fā)載荷。其余不滿足條件的IPv6報文查詢IPv6一體化轉(zhuǎn)發(fā)表,并用Index索引的{next-hop}、出接口{interface}信息轉(zhuǎn)發(fā)。
本文優(yōu)化技術(shù)的應(yīng)用能為標(biāo)識映射隧道傳輸網(wǎng)絡(luò)帶來如下性能變化:
1)過渡網(wǎng)關(guān)隧道封裝信息表、IP轉(zhuǎn)發(fā)表等表項都集成為1個映射表,節(jié)省了內(nèi)存開銷;
2)表項聚合使得只需1次查表,大大提高了轉(zhuǎn)發(fā)速度,使跨異構(gòu)網(wǎng)絡(luò)的線速轉(zhuǎn)發(fā)成為可能;
3)一體化的轉(zhuǎn)發(fā)表設(shè)計方法更利于表項維護(hù),維護(hù)開銷更小。
針對內(nèi)存消耗、轉(zhuǎn)發(fā)時延等指標(biāo)分析過渡網(wǎng)關(guān)優(yōu)化轉(zhuǎn)發(fā)模型的性能。為方便敘述,符號定義如表1所示。
表1 符號定義
優(yōu)化前隧道網(wǎng)關(guān)中存在3個表(IPv4轉(zhuǎn)發(fā)表、隧道映射表、IPv6轉(zhuǎn)發(fā)表),3個表所占存儲為:
優(yōu)化后一體化轉(zhuǎn)發(fā)表內(nèi)表項的數(shù)量滿足:
其存儲量為:
優(yōu)化前/后轉(zhuǎn)發(fā)表存儲統(tǒng)計如表2所示,得出聚合前后存儲消耗的變化Δmem:
一般認(rèn)為,隧道網(wǎng)關(guān)的表項長短對查表速度的影響較小,可近似認(rèn)為設(shè)備的表項長短和轉(zhuǎn)發(fā)速度無關(guān)。在此前提下,轉(zhuǎn)發(fā)時延取決于查表次數(shù)。隧道網(wǎng)關(guān)傳統(tǒng)轉(zhuǎn)發(fā)過程涉及多個表。具體到IPv4/IPv6過渡網(wǎng)關(guān)中,隧道轉(zhuǎn)發(fā)一般要依次查:IPv4轉(zhuǎn)發(fā)表→隧道映射表,共查表2次;而經(jīng)優(yōu)化后,僅需查1次一體化轉(zhuǎn)發(fā)表即可獲取全部路徑信息,轉(zhuǎn)發(fā)時延縮短。轉(zhuǎn)發(fā)非封裝報文都查表1次,優(yōu)化前后查表次數(shù)不變,在表項長度差異對查表速度影響忽略不計的情況下,優(yōu)化前后轉(zhuǎn)發(fā)時延近似相等。
表2 優(yōu)化前/后轉(zhuǎn)發(fā)表存儲統(tǒng)計
表項拆分后表的總數(shù)量要增多,原需查詢一個一體化轉(zhuǎn)發(fā)表,現(xiàn)要多查詢一個索引表。拆分會導(dǎo)致查表次數(shù)增加,轉(zhuǎn)發(fā)時延增加,但能降低存儲冗余。
轉(zhuǎn)發(fā)表聚合會增加表項長度,但能加快數(shù)據(jù)轉(zhuǎn)發(fā)速度,簡化維護(hù)表項參數(shù),適合基于硬件TCAM轉(zhuǎn)發(fā)的隧道網(wǎng)關(guān)設(shè)備。轉(zhuǎn)發(fā)表拆分能降低表項參數(shù)存儲冗余,這是以部分轉(zhuǎn)發(fā)速度為代價換取的,在對轉(zhuǎn)發(fā)速度要求不高的情況下,實施轉(zhuǎn)發(fā)表拆分能大幅減少內(nèi)存消耗,降低成本。
綜上分析,優(yōu)化措施方法的選擇取決于設(shè)計目的。聚合與拆分互不排斥,二者可在不同時間段使用,當(dāng)隧道網(wǎng)關(guān)存在多個轉(zhuǎn)發(fā)表時,可選擇性的實施聚合與拆分。實際應(yīng)用中,聚合和拆分往往是分不開的。
隧道網(wǎng)關(guān)是否實施優(yōu)化取決于所處網(wǎng)絡(luò)的流量分布情況。當(dāng)部分表項的命中率很高時,表明報文路徑集中度很高,應(yīng)當(dāng)進(jìn)行優(yōu)化;反之,不宜進(jìn)行聚合,因為存儲增加的代價遠(yuǎn)大于轉(zhuǎn)發(fā)速度的提升帶來的優(yōu)勢。轉(zhuǎn)發(fā)表的拆分也類似。
基于隧道傳輸網(wǎng)絡(luò)的表項優(yōu)化工作是實現(xiàn)一體化標(biāo)識網(wǎng)絡(luò)尋徑的一部分。一體化標(biāo)識網(wǎng)絡(luò)目的是為異構(gòu)網(wǎng)絡(luò)提供統(tǒng)一高效的數(shù)據(jù)傳輸服務(wù),本文所做工作是對該體系中的過渡網(wǎng)關(guān)進(jìn)行優(yōu)化。原型系統(tǒng)構(gòu)建在面向過渡的IPv4/IPv6路由器上。在此原型系統(tǒng)上,測試優(yōu)化隧道網(wǎng)關(guān)的性能。
實驗基于Bit-Engine Netwire4600系列設(shè)備,按照前面描述的4over6隧道優(yōu)化模型設(shè)計了原型系統(tǒng),在此平臺上可以完成轉(zhuǎn)發(fā)涉及的轉(zhuǎn)發(fā)表、隧道映射表的聚合、拆分實驗。性能測試實驗示意圖如圖6所示,將IXIA網(wǎng)絡(luò)測試儀的兩個1 000Mb/s接口連接至過渡網(wǎng)關(guān)的兩個1 000Mb/s接口,測試IPv4報文轉(zhuǎn)發(fā)(緣網(wǎng)轉(zhuǎn)發(fā))4over6隧道轉(zhuǎn)發(fā)性能。
實驗測試了不同長度報文的轉(zhuǎn)發(fā)能力。考慮到4over6需為IPv4報文加40 Bytes的IPv6頭部,取報文長度范圍64~1 478 Byte。
圖7 隧道網(wǎng)關(guān)轉(zhuǎn)發(fā)帶寬測試結(jié)果
隧道網(wǎng)關(guān)轉(zhuǎn)發(fā)帶寬的測試結(jié)果如圖7所示,在模擬邊緣網(wǎng)轉(zhuǎn)發(fā)的測試中,64Byte報文的轉(zhuǎn)發(fā)帶寬在900Mb/s左右,報文長度在200Byte后近乎實現(xiàn)了千兆網(wǎng)絡(luò)的線速轉(zhuǎn)發(fā);在4over6隧道封裝轉(zhuǎn)發(fā)測試中,64Byte報文轉(zhuǎn)發(fā)帶寬為520Mb/s,當(dāng)報文長度達(dá)到700Byte后轉(zhuǎn)發(fā)帶寬可以穩(wěn)定在900Mb/s,報文長度增加后封裝處理效率會明顯提升。4over6隧道轉(zhuǎn)發(fā)時,過渡網(wǎng)關(guān)會在報文前封裝40Byte的IPv6頭部,但與之相連的IXIA測試儀的報文注入接口統(tǒng)計的是IPv4流量,因此能夠認(rèn)為4over6隧道轉(zhuǎn)發(fā)也達(dá)到了線速轉(zhuǎn)發(fā)。
隧道網(wǎng)關(guān)轉(zhuǎn)發(fā)時延的測試結(jié)果如圖8所示,在邊緣網(wǎng)模擬中,報文長度在512Byte以下時的轉(zhuǎn)發(fā)時延基本保持在40μs左右,從512Byte開始報文轉(zhuǎn)發(fā)時延呈線性增加;在4over6隧道封裝轉(zhuǎn)發(fā)測試中,報文小于512Byte時轉(zhuǎn)發(fā)時延在40μs左右,由于隨著報文長度增轉(zhuǎn)發(fā)時間會顯著增加,當(dāng)報文長度到達(dá)512Bytes后轉(zhuǎn)發(fā)時延開始以線性規(guī)律增加,這是由于報文增長后報文的收發(fā)處理時間也相應(yīng)增加。對不同大小的報文分別進(jìn)行IPv4轉(zhuǎn)發(fā)和4over6隧道轉(zhuǎn)發(fā)的時延近乎相等,可見進(jìn)行隧道封裝的IPv6頭部對整體轉(zhuǎn)發(fā)的時延影響較小。
圖8 隧道網(wǎng)關(guān)轉(zhuǎn)發(fā)時延的測試結(jié)果
綜合分析以上實驗數(shù)據(jù),證明本文提出的基于表項優(yōu)化的隧道傳輸系統(tǒng)模型能優(yōu)化存儲并線速轉(zhuǎn)發(fā),且實現(xiàn)方法較簡單,同現(xiàn)有隧道傳輸網(wǎng)絡(luò)友好兼容,是一種有效的優(yōu)化方法。
本文在歸納分析當(dāng)前隧道傳輸網(wǎng)絡(luò)所存的共性問題后,提出了表項聚合和表項拆分理論,設(shè)計了基于表項優(yōu)化的高效隧道轉(zhuǎn)發(fā)模型。并結(jié)合4over6隧道網(wǎng)絡(luò),設(shè)計了該優(yōu)化機制的實現(xiàn)方法。該優(yōu)化機制在小幅度修改現(xiàn)有路由設(shè)備轉(zhuǎn)發(fā)表的基礎(chǔ)上,實現(xiàn)了性能的最大優(yōu)化,保證了同現(xiàn)有網(wǎng)絡(luò)設(shè)備和應(yīng)用的兼容性,實現(xiàn)方法也較為簡單。本文工作的優(yōu)化方法也可用于其他網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)處理。設(shè)計者可以結(jié)合實際需求規(guī)劃各種表項參數(shù),實現(xiàn)選擇性優(yōu)化。最后,原型系統(tǒng)實驗驗證了所提理論的有效性并評估了模型的性能。
本文研究得到清華大學(xué)網(wǎng)絡(luò)研究所的大力支持,在此表示感謝。
[1]CUI Yong,WU Peng,XU Ming-wei,et al.4over6:Network layer virtualization for IPv4/IPv6 coexistence[J].IEEE Network,2012,26(5):44-48.
[2]WU Jian-ping,CUI Yong,LI Xing,et al.4over6 transit solution using IP encapsulation and MP-BGP extensions[EB/OL].[2014-12-07].http://www.faqs.org/rfcs/rfc5747.html
[3]M BATENI,A GERBER,M HAJIAGHAYI et al.Multi-VPN optimization for scalable routing via relaying[C]//28th IEEE International Conference on Computer Communications.Brazil:IEEE,2009.
[4]CONTA A,DEERING S.Generic packet tunneling in IPv6 specification[EB/OL].[2014-12-07].http://www.faqs.org/rfcs/rfc2473.html
[5]DEERING S,HINDEN R.Internet protocol,version 6(IPv6)specification[EB/OL].[2014-12-07].http://www.faqs.org/rfcs/rfc2460.html.
[6]吳建平,李星,崔勇等.4over6:基于非顯示隧道的IPv4跨越IPv6互聯(lián)機制[J].電子學(xué)報,2006,34(3):455-458.
WU Jian-ping,LI Xing,CUI Yong,et al.4over6:IPv4 network interconnection over IPv6 backbone without explicit tunneling[J].Chinese Journal of Electronics,2006,34(3):454-458.
[7]任旭明.IPv4/IPv6路由器低功耗TCAM查表算法研究[D].北京:北京郵電大學(xué),2013.
REN Xu-ming.Power-efficient tcam for IPv4/IPv6 routing tables[D].Beijing:Beijing University of Posts and Telecommunications,2013.
[8]CUI Yong,WU Jian-ping,WU Peng,et al.Public IPv4-over-IPv6 access network[EB/OL].[2014-11-11].http://www.faqs.org/rfcs/rfc7040.html.
[9]CUI Yong,WU Peng,XU Ming-wei,et al.4over6:Network layer virtualization for IPv4-IPv6 coexistence[J].IEEE Network Magazine,2012,26(5):44-48.
[10]陳文龍,徐明偉.面向地址空間分離網(wǎng)絡(luò)的地址映射模型:AMIA[J].計算機學(xué)報,2012,35(1):2-9.
CHEN Wen-long,XU Ming-wei.AMIA:Address mapping model facing the network with separated address space[J].Chinese Journal of Computers,2012,35(1):2-9.
編輯 葉 芳
An Effective Forwarding Model for Tunneling Transmission System Based on Table Optimization
CHEN Wen-long1,QI Hong-wei1,XU Ming-wei2,and XU Ke2
(1.Information Engineering College,Capital Normal University Haidian Beijing 100048;2.Department of Computer Science and Technology,Tsinghua University Haidian Beijing 100084)
The property that multi-lookup forwarding tables on data layer poses a demanding challenge to forwarding time-delay and device storage consumption in heterogeneous network system.To deal with the problem,this paper proposes a theory of aggregation and split model based on forwarding table by analyzing the kernel functional modules and relations inner the tables.The application scenarios of the theory are studied and the model is applied to 4over6 transition gateway to transition from IPv4 to IPv6.The prototype system test results verify that the optimization model using aggregation and split is more effective than that non-use.The proposed model could be a reference to other related researches.
aggression;split;table optimized;tunneling
TP393
A
10.3969/j.issn.1001-0548.2015.05.016
2014-12-22;
2015-07-01
國家自然科學(xué)基金(61373161,61272446,61300171);北京市教委科技計劃(KM201410028015)
陳文龍(1976-),男,博士,副教授,主要從事網(wǎng)絡(luò)體系結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議方面的研究.