亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SRv6 多層SID 轉(zhuǎn)發(fā)平面的設(shè)計(jì)

        2023-01-24 12:51:50楊秋航
        電子設(shè)計(jì)工程 2023年2期
        關(guān)鍵詞:信息

        楊秋航

        (武漢郵電科學(xué)研究院,湖北 武漢 430074)

        SR-MPLS 的出現(xiàn),引入了源路由的思想,被一致認(rèn)為是IP 領(lǐng)域最重要的突破技術(shù)[1]。隨著云網(wǎng)融合的逐步推進(jìn)以及IPv6 的廣泛部署,這一思想滲入到IP 地址中,考慮到可以充分利用IPv6 原生的擴(kuò)展頭機(jī)制[2],使用IPv6 地址本身作為Segment 標(biāo)識,通過在IPv6 報(bào)文頭和凈荷之間插入SRH 的方式實(shí)現(xiàn)源路由路徑信息的編碼[3],極大地增強(qiáng)了SRv6 技術(shù)的擴(kuò)展性和部署的靈活性[4],支持網(wǎng)絡(luò)可編程,充分發(fā)揮了SDN 的能力[5],這也賦予SRv6 技術(shù)未來豐富的想象空間。

        該文主要研究SRv6 的轉(zhuǎn)發(fā)平面,并提出新的轉(zhuǎn)發(fā)流程設(shè)計(jì),使用烽火通信公司的設(shè)備進(jìn)行實(shí)驗(yàn),來驗(yàn)證該方案的完成度以及準(zhǔn)確度,并總結(jié)該文方案的優(yōu)點(diǎn)以及不足。

        1 SRv6轉(zhuǎn)發(fā)原理

        SRv6(基于IPv6 轉(zhuǎn)發(fā)平面的段路由)是基于源路由理念而設(shè)計(jì)的在網(wǎng)絡(luò)上轉(zhuǎn)發(fā)IPv6 數(shù)據(jù)包的一種協(xié)議。SRv6 通過在IPv6 報(bào)文中插入一個(gè)路由擴(kuò)展頭SRH,在其中壓入一個(gè)顯式的IPv6 地址棧,利用中間節(jié)點(diǎn)不斷更新目的地址和偏移地址棧的操作來完成逐跳轉(zhuǎn)發(fā)[6]。SRv6 完全兼容現(xiàn)有IPv6 網(wǎng)絡(luò),中間節(jié)點(diǎn)可以不支持SRv6,繼續(xù)按照正常路由轉(zhuǎn)發(fā)含有SRH 的IPv6 報(bào)文。同時(shí)SRv6 還可支持FRR 保護(hù)功能,在SRv6 技術(shù)的基礎(chǔ)上結(jié)合RLFA 算法,利用高效的TI-FLA 算法彌補(bǔ)傳統(tǒng)隧道保護(hù)技術(shù)的不足[7]。

        1.1 SRv6報(bào)文封裝格式

        IPv6 報(bào)文由IPv6 標(biāo)準(zhǔn)頭、擴(kuò)展頭、負(fù)載組成,為實(shí)現(xiàn)SRv6 的轉(zhuǎn)發(fā),新增加IPv6 擴(kuò)展頭SRH 用于存儲IPv6 的Segment List 信息。標(biāo)準(zhǔn)SRv6 擴(kuò)展頭SRH 的封裝格式如圖1 所示。

        圖1 標(biāo)準(zhǔn)SRv6的擴(kuò)展頭SRH的封裝格式

        SRv6 擴(kuò)展頭的封裝長度為IPv6 頭+SRH 固定頭+Segment List。因此隨著SID 封裝層數(shù)的增加,SRv6 擴(kuò)展頭開銷也隨之增大,且由于報(bào)文長度的增加,其對硬件處理芯片的要求也隨之提高,而部分芯片由于封裝階段能力有限,導(dǎo)致最終出口報(bào)文的封裝出現(xiàn)SID 信息封裝不全的問題。

        1.2 不同節(jié)點(diǎn)對SRv6報(bào)文的處理

        在SRv6 網(wǎng)絡(luò)中,節(jié)點(diǎn)角色大致分為三類:源節(jié)點(diǎn)、中間節(jié)點(diǎn)、尾節(jié)點(diǎn)[8]。

        SRv6 源節(jié)點(diǎn):網(wǎng)絡(luò)拓?fù)渲械氖渍荆庋bSegment List標(biāo)簽棧。

        中間節(jié)點(diǎn)/中轉(zhuǎn)節(jié)點(diǎn):對SRv6 報(bào)文作轉(zhuǎn)發(fā)處理,但不作SRv6 相關(guān)處理。

        尾節(jié)點(diǎn):檢查報(bào)文的目標(biāo)地址必須是本地配置的SID 或是本地的接口地址,若完成匹配則將整個(gè)標(biāo)簽棧全部彈出。

        如圖2 所示,在SRH 的處理中,SL 字段指向具體的SID 標(biāo)簽,每經(jīng)過一個(gè)SRv6 節(jié)點(diǎn),SL 字段減1,在普通的IPv6 報(bào)文中,IPv6 DA 固定不變,而在SRv6 中IPv6 DA 僅表示當(dāng)前報(bào)文的下一個(gè)節(jié)點(diǎn),因此每經(jīng)過一個(gè)節(jié)點(diǎn),IPv6 DA 會根據(jù)SL 的指向做相應(yīng)的變化[9],且無需將最外層SID標(biāo)簽彈出(與SR-MPLS的區(qū)別),只需根據(jù)SL 字段的指向更新DA,繼續(xù)根據(jù)更新后的DA 做轉(zhuǎn)發(fā) 即可[10]。

        圖2 SRv6轉(zhuǎn)發(fā)原理圖

        1.3 SRv6 Segment格式的具體劃分

        SRv6 Segment為IPv6地址,長度為128 bit,主要由三部分組成,通常可簡單表示為Locator、Function、Arg[11]。

        Locator 占據(jù)高比特位,具有定位功能,節(jié)點(diǎn)在配置Locator 后系統(tǒng)會生成一條Locator 網(wǎng)段路由,通過IGP 在SR 域內(nèi)擴(kuò)散。網(wǎng)絡(luò)里其他節(jié)點(diǎn)可通過Locator網(wǎng)段路由來定位該節(jié)點(diǎn)。

        Function 表示設(shè)備指令,其中End 指令用于決定具體的終結(jié)動作,可根據(jù)具體業(yè)務(wù)需求來決定,如End.DT4用于IPv4網(wǎng)絡(luò),End.DT6用于IPv6網(wǎng)絡(luò)等[12]。

        Arg 參數(shù)占據(jù)低比特位,作為參數(shù)填充字段,可用于部分業(yè)務(wù)的特殊需求,比如SRv6 的防環(huán),以及SRv6 的壓縮處理等,該字段的具體使用將在后文中進(jìn)行具體介紹。

        2 驅(qū)動SRv6轉(zhuǎn)發(fā)流程

        芯片對報(bào)文的轉(zhuǎn)發(fā)以流水線的方式進(jìn)行處理,根據(jù)業(yè)務(wù)報(bào)文的轉(zhuǎn)發(fā)方向?qū)?bào)文的處理分為報(bào)文的封裝和解封裝。

        2.1 首站報(bào)文的封裝

        現(xiàn)有的SRv6 報(bào)文封裝流程如圖3 所示。

        圖3 現(xiàn)有SRv6報(bào)文封裝流程圖

        在驅(qū)動轉(zhuǎn)發(fā)層面主要涉及以下幾個(gè)模塊。

        AC 模塊:接入電路,是連接CE 與PE[13]的物理電路或虛擬電路,原始報(bào)文從AC 模塊正式進(jìn)入網(wǎng)絡(luò)。需要獲取端口port 和AC 的Inlif(Ingress logical interface)和Outlif 值,在后續(xù)模塊中用于交叉連接以及流匹配處理的處理。

        FLOW 模塊:基于AC 模塊中的port 和Inlif 值,設(shè)置報(bào)文入口方向的vlan,根據(jù)不同需求基于不同的流匹配規(guī)則區(qū)分不同業(yè)務(wù)報(bào)文入口的具體AC,這樣便可以確定CE 接收到的報(bào)文屬于哪一個(gè)特定的用戶網(wǎng)絡(luò)。

        VC FEC 模塊:VC 轉(zhuǎn)發(fā)等價(jià)類,掛接需要封裝的最內(nèi)層VPN SID 的相關(guān)信息。這里VC 以轉(zhuǎn)發(fā)等價(jià)類的形式出現(xiàn)主要是為了實(shí)現(xiàn)保護(hù)功能。

        CROSS CONNECT 模塊:由兩條物理電路或虛擬電路串聯(lián)而成的一條連接,基于AC 的Inlif 和VC FEC 模塊中申請到的FEC ID 做交叉連接,完成UNI和NNI 之間的連接。

        SRv6 TUNNEL 模塊:隧道轉(zhuǎn)發(fā)等價(jià)類,指向出接口,并掛接需要封裝的外層TXSID,即封裝需要攜帶的IP 地址信息。這里隧道同樣以轉(zhuǎn)發(fā)等價(jià)類的形式出現(xiàn),同樣是為了作保護(hù)處理。

        ARP 模塊:封裝業(yè)務(wù)出口的DMAC,以及業(yè)務(wù)的出口VLAN 封裝,但出口的這層vlan 并不是必要的,根據(jù)業(yè)務(wù)需求來決定。

        RIF 模塊:與DMAC 的封裝相對應(yīng),封裝業(yè)務(wù)出口的SMAC。

        TXSID 模塊:指定封裝的隧道標(biāo)簽,同時(shí)指向封裝的目的mac 接口的相關(guān)信息。封裝的SID 層數(shù)可以根據(jù)需求來決定。

        2.2 中間節(jié)點(diǎn)的處理

        SRv6 不同于SR-MPLS 過站的處理,SRv6 不再需要彈出最外層標(biāo)簽,僅根據(jù)暴露出的下一層SID標(biāo)簽進(jìn)行轉(zhuǎn)發(fā)即可,中間節(jié)點(diǎn)過站處理流程圖如圖4所示。

        圖4 中間節(jié)點(diǎn)過站處理流程圖

        RIF 模塊:對DMAC 進(jìn)行檢查,當(dāng)匹配上MACT表項(xiàng)時(shí),則終結(jié)報(bào)文中的MAC 頭,暴露出報(bào)文后面的IPv6 DA 信息。

        VSI CONNECT VRF 模塊:從RIF 獲取到綁定的VSI 信息,通過該VSI 信息找到對應(yīng)的VRF 信息。

        ROUTE 模塊功能描述:根據(jù)從VSI CONNECT VRF 模塊中獲取到的VRF 信息以及RIF 模塊中獲取到的IPv6 DA 信息查找路由表,基于所查到路由表中的信息完成轉(zhuǎn)發(fā)。

        ARP 模塊:為了根據(jù)IPv6 DA 信息查找路由,在RIF 模塊中剝掉了MAC 頭的信息,因此需要通過ARP 模塊重新封裝之前剝掉的MAC 頭信息。

        2.3 尾站報(bào)文的終結(jié)

        尾站對報(bào)文作解封裝處理,直接匹配標(biāo)簽棧的最內(nèi)層VPN SID,實(shí)現(xiàn)所有標(biāo)簽的終結(jié),這樣的處理也是因?yàn)镾Rv6 轉(zhuǎn)發(fā)的特殊性決定的,由于SRv6 在轉(zhuǎn)發(fā)過程中不再彈出標(biāo)簽,因此報(bào)文的解封裝操作并非伴隨著每一跳轉(zhuǎn)發(fā)來完成,而是在最后一跳或者是在倒數(shù)第二跳時(shí)一次性彈出整個(gè)標(biāo)簽棧[12],而無論標(biāo)簽層數(shù)有多少,最內(nèi)層的標(biāo)簽一定是VPN SID,因此在彈出標(biāo)簽時(shí)只需要匹配最內(nèi)層標(biāo)簽就可以將所有標(biāo)簽全部彈出。

        報(bào)文解封裝流程圖如圖5 所示。

        圖5 報(bào)文解封裝流程圖

        RIF 模塊:對DMAC 進(jìn)行檢查,當(dāng)匹配上MACT表項(xiàng)時(shí),則將報(bào)文中的mac 頭部終結(jié),暴露出報(bào)文后面的VPN SID。

        IN VC 模塊:匹配標(biāo)簽棧最內(nèi)層VPN SID,上文已經(jīng)提到若匹配上VPN SID 為本地local SID,則將所有的TXSID 標(biāo)簽全部彈出。

        AC FEC 模塊功能描述:轉(zhuǎn)發(fā)等價(jià)類,同樣是為了作保護(hù)處理。

        CROSS CONNECT 模塊:基于AC 的Outlif 和AC FEC 模塊中申請到的FEC id 作交叉連接,完成NNI和UNI 之間的連接。

        AC 模塊:NNI 側(cè)AC 即為出口,從AC 出去的報(bào)文已完成整個(gè)終結(jié)流程,出口報(bào)文即為原始報(bào)文。

        3 基于現(xiàn)有封裝方案提出新的封裝流程設(shè)計(jì)

        不同芯片在不同階段的處理能力不同,導(dǎo)致當(dāng)封裝信息過長時(shí),芯片處理封裝階段出現(xiàn)封裝信息不全的問題,如期望封裝9 層SID 信息,但出口報(bào)文真正封裝成功的可能只有4 層SID 信息,目前很多芯片都出現(xiàn)了這類問題,因此針對SID 層數(shù)過多的情況,提出了新的封裝方案。

        3.1 提出新的封裝流程設(shè)計(jì)

        部分芯片當(dāng)封裝的報(bào)文中SID 層數(shù)小于或等于4 層時(shí),報(bào)文封裝流程不變,當(dāng)SID 層數(shù)超過4 層時(shí),在轉(zhuǎn)發(fā)流程上增加環(huán)回的處理,多層SID 封裝流程圖如圖6 所示。

        圖6 多層SID封裝流程圖

        該方案差異部分從TXSID 模塊之后開始,考慮到SID 信息無法在一個(gè)流程中完整封裝,因此,在二級FEC 后環(huán)回,再次掛接TXSID 模塊,將剩下的未成功封裝的SID 進(jìn)行二次封裝,所有SID 信息都完成封裝后,再掛接ARP 模塊。

        3.2 Ingress節(jié)點(diǎn)模式設(shè)計(jì)

        對于Ingress 節(jié)點(diǎn)的封裝模式,一般分為normal encapsulation 和reduce encapsulation 兩種模式。上文中提到的均為普通模式,當(dāng)設(shè)置為reduce 模式時(shí),為下一個(gè)節(jié)點(diǎn)提供DIP 的SID 不會出現(xiàn)在SRH 頭中,因此設(shè)置為reduce 模式同樣也可以達(dá)到減小SRv6 報(bào)文開銷的目的。在Ingress 節(jié)點(diǎn)設(shè)置模式與驅(qū)動的流程設(shè)計(jì)不相沖突,可以同時(shí)使用。

        3.3 Segment List設(shè)計(jì)

        由于報(bào)文過長而引發(fā)的封裝信息不全的問題,除了改善驅(qū)動的流程設(shè)計(jì),還可以針對SRv6 報(bào)文進(jìn)行處理。考慮到SRv6 報(bào)文過長,在上文中提到Segment List 部分占據(jù)了SRv6 報(bào)文的大部分[14],因此對Segment List 進(jìn)行壓縮同樣能解決封裝信息不全的問題。

        在上文中提及SID 可以劃分為Locator、Function、Arg 三個(gè)部分,其中,Locator 還可以細(xì)分為B(前綴)、N(節(jié)點(diǎn)ID),前綴一般由運(yùn)營商分配給某個(gè)子網(wǎng)[15],事實(shí)上在一個(gè)SRv6 網(wǎng)絡(luò)中,很多SID 都有共同的前綴,因此將SID 信息的前綴公用,將Locator 中的節(jié)點(diǎn)ID 和Fuction 以及Arg 進(jìn)行組合,成為壓縮后的SID信息[16]。

        為方便壓縮SID 信息的定位,可將SID 信息壓縮為能被128 bit 整除的長度,比如16 bit、32 bit、64 bit。針對壓縮SID 的定位文中以P 指針來代替,而P 指針的長度根據(jù)公式length=log2n(128/n)計(jì)算,n表示壓縮SID 的長度,以32 bit為例,P指針的長度即為2 bit。與SL 指針類似,每訪問一個(gè)壓縮SID 后P 減一,指向下一個(gè)壓縮SID,因此P 指針的功能可以利用Arg 參數(shù)實(shí)現(xiàn)。

        在源節(jié)點(diǎn)處判斷需要封裝的SID 層數(shù),可以如圖7 所示進(jìn)行壓縮。

        圖7 封裝層數(shù)和壓縮SID的長度

        對于混編SID,在中間節(jié)點(diǎn)處需要根據(jù)SL 以及P來確定DA 作轉(zhuǎn)發(fā)。下文以32 bit 壓縮SID 為例,根據(jù)上文提到的公式可以推算出P 占據(jù)2 bit,因此取值為0~3,具體壓縮SID 封裝格式圖如圖8 所示。

        圖8 壓縮SID封裝格式圖

        SL 初始狀態(tài)指向標(biāo)簽棧的最底層SID,更新IPv6 DA,完成第一次轉(zhuǎn)發(fā)后,SL 減1,進(jìn)入壓縮域,此時(shí)P 為3,SL 字段不發(fā)生變化,根據(jù)P 指針更新IPv6 DA,完成第二次轉(zhuǎn)發(fā)后,SL 字段依然不發(fā)生變化,P 字段繼續(xù)減一,更新IPv6 DA 信息,直到P 字段減到0,SL 字段便開始減1,依次類推。

        4 實(shí)驗(yàn)分析

        利用烽火的設(shè)備將該文提出的方案和傳統(tǒng)方案進(jìn)行對比實(shí)驗(yàn),來驗(yàn)證文中提出的設(shè)計(jì)方案的優(yōu)點(diǎn)與不足。

        4.1 對比實(shí)驗(yàn)該文提出的驅(qū)動流程設(shè)計(jì)方案

        經(jīng)過對比實(shí)驗(yàn),SID 層數(shù)超過4 層時(shí),該文提出的方案可以完成全部SID 信息的封裝,解決部分芯片封裝階段處理能力受限導(dǎo)致SID 封裝不全的問題,與傳統(tǒng)方案進(jìn)行比較,結(jié)果如表1 所示,該方案由于引入了環(huán)回的思想,因此交換容量會因此受到一定的影響,且會增大時(shí)延,經(jīng)過多次測試,時(shí)延為納秒級,因此該方案雖然會引入帶寬、時(shí)延的問題,但其完成全部SID 信息的優(yōu)點(diǎn)相對其影響更加顯著,且該方案具有通用性,出現(xiàn)這類問題的芯片均可使用該方案。

        表1 完成封裝SID層數(shù)方案對比表

        4.2 對比實(shí)驗(yàn)提出的壓縮方案

        經(jīng)過對比實(shí)驗(yàn)可知,該文中提出的壓縮方案可以完成全部信息的封裝,且不需要修改傳統(tǒng)驅(qū)動封裝流程,但由于數(shù)據(jù)平面發(fā)生了改變,因此需要控制平面的配合,比如需要相關(guān)ISIS 協(xié)議以及BGP 協(xié)議通告SID 的壓縮能力以及壓縮SID 的長度等信息。與傳統(tǒng)方案進(jìn)行比較,結(jié)果如表2 所示。

        表2 完成封裝SID層數(shù)方案對比表

        5 結(jié)論

        針對部分芯片封裝能力受限的問題,文中提供了兩種解決思路,方案一,可根據(jù)芯片的封裝能力對報(bào)文的SID 層數(shù)進(jìn)行一定的劃分,并且文中針對芯片處理能力內(nèi)以及封裝能力外的SID 層數(shù)的封裝都提出了封裝設(shè)計(jì)方案,且文中提出的環(huán)回方案所引入的時(shí)延為納秒級,因此不會有太大影響;方案二,可通過使用壓縮SID 的方案完成全部SID 的封裝,當(dāng)然設(shè)計(jì)到SID 的壓縮就會需要協(xié)議層面提供足夠的支持與配置。兩種方案均有優(yōu)點(diǎn)與不足,因此方案的設(shè)計(jì)與選擇可視具體情況而定。

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息超市
        展會信息
        展會信息
        展會信息
        展會信息
        展會信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产高清白浆| 一本色综合亚洲精品蜜桃冫| 日本一区二区三区人妻| 国产欧美在线观看不卡| 欧美成人精品a∨在线观看| 午夜福利试看120秒体验区| 国产成人精品av| 欧美aⅴ在线| 一区二区在线观看日本免费| 久久精品熟女亚洲av香蕉| 日本一区二区三区视频在线观看| 久久亚洲欧美国产精品| 国产在线精品成人一区二区三区| 四虎成人精品无码永久在线| 国产真实伦视频在线视频| 精品av一区二区在线| 少妇被按摩出高潮了一区二区| 成熟了的熟妇毛茸茸| 国产男小鲜肉同志免费| 国产乱人伦av在线a| 亚洲综合日韩中文字幕| 少妇勾引视频网站在线观看| 毛片在线播放亚洲免费中文网| 亚洲av无码专区在线观看下载| 久久精品夜夜夜夜夜久久| 亚洲国产一区二区三区最新| 亚洲视频中文字幕更新| 久久午夜av一区二区| 最美女人体内射精一区二区| 中文亚洲成a人片在线观看| 国产日韩亚洲欧洲一区二区三区| 亚洲色欲色欲www成人网| 91久久国产露脸国语对白| 亚洲中文字幕日产无码| 国产精品51麻豆cm传媒| 99精品电影一区二区免费看| 国产精品日本天堂| 91精品国产九色综合久久香蕉| 精品偷自拍另类在线观看| 国产98在线 | 日韩| 欧美第五页|