国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于SRv6的L3VPN實(shí)現(xiàn)方法

2023-02-10 04:28:20張紫倩汪學(xué)舜
電子設(shè)計(jì)工程 2023年3期
關(guān)鍵詞:路由表報(bào)文實(shí)例

張紫倩,汪學(xué)舜

(1.武漢郵電科學(xué)研究院,湖北武漢 430074;2.烽火通信科技股份有限公司,湖北武漢 430074)

自2017 年中央明確提出了未來五到十年基于IPv6 的下一代互聯(lián)網(wǎng)發(fā)展的行動(dòng)指南以來,IPv6 規(guī)模部署工作在我國取得了重大進(jìn)展,并為SRv6(Segment Routing over IPv6)技術(shù)的研究與應(yīng)用提供了良好的基礎(chǔ)。當(dāng)網(wǎng)絡(luò)數(shù)據(jù)平面從IPv4 向IPv6 演進(jìn)的過程中,為了使SR(Segment Routing)技術(shù)更好地適應(yīng)IPv6 網(wǎng)絡(luò),SRv6 技術(shù)應(yīng)運(yùn)而生[1-2]。與傳統(tǒng)SRMPLS(Segment Routing over MPLS)相比,SRv6 標(biāo)簽與IPv6 地址兼容,當(dāng)網(wǎng)絡(luò)中間節(jié)點(diǎn)不支持SRv6 功能時(shí),仍舊能夠通過IPv6 路由方式來轉(zhuǎn)發(fā)報(bào)文?,F(xiàn)如今,國內(nèi)各大廠商都在積極推動(dòng)SRv6 技術(shù)的發(fā)展。該文首先介紹了SRv6 技術(shù),并對基于SRv6 數(shù)據(jù)平面的L3VPN(Layer 3 Virtual Private Network)業(yè)務(wù)場景進(jìn)行了描述分析,最后提出了一種基于SRv6 數(shù)據(jù)平面的L3VPN 業(yè)務(wù)實(shí)現(xiàn)方案。

1 SRv6技術(shù)

SRv6采用長度為128 bit的SID(Segment Identifier)來定義網(wǎng)絡(luò)功能,SID 的格式如圖1 所示。其中l(wèi)ocator 用于在路由過程中定位設(shè)備的地址,function來指定設(shè)備對該報(bào)文所作的轉(zhuǎn)發(fā)動(dòng)作,arguments 用來攜帶function 字段中指導(dǎo)報(bào)文轉(zhuǎn)發(fā)動(dòng)作所需的參數(shù)。由于SRv6 路由技術(shù)所采用的報(bào)文頭與IPv6 地址一致,所以對承載VPN 業(yè)務(wù)提供了良好的數(shù)據(jù)面支撐[3-5]。該文就是對基于SRv6 的L3VPN 業(yè)務(wù)進(jìn)行研究并最終實(shí)現(xiàn)該網(wǎng)絡(luò)場景的設(shè)備互通。

圖1 SID格式

2 L3VPN業(yè)務(wù)場景

當(dāng)前,VPN 業(yè)務(wù)被廣泛采用的是PE(Provider Edge,運(yùn)營商邊緣設(shè)備)+CE(Customer Edge,用戶邊緣設(shè)備)的組網(wǎng)方案。CE 和PE 間通過任意路由協(xié)議建立路由連接,在PE 設(shè)備上通過VRF(Virtual Routing Forwarding)實(shí)例區(qū)分不同域的路由,并且對應(yīng)不同域生成多張VPN 路由表。當(dāng)PE 收到報(bào)文時(shí),根據(jù)報(bào)文所帶RT(Route Target)信息對比查找對應(yīng)的VPN 實(shí)例路由表,并將路由還原成普通IP 報(bào)文進(jìn)行路由轉(zhuǎn)發(fā)。PE 之間VPN 路由信息通過BGP(Border Gateway Protocol)協(xié)議承載進(jìn)行交互,基于MPLS(Multiprotocol Label Switching)數(shù)據(jù)平面的VPN隧道,BGP 更新報(bào)文除了傳遞VPN 路由信息和RT屬性還需傳遞MPLS 標(biāo)簽[6],而基于SRv6 數(shù)據(jù)平面的VPN 隧道,廢棄了MPLS 標(biāo)簽屬性,替換成SRv6 VPNSID 屬性。

一種L3VPN 典型組網(wǎng)拓?fù)鋱D如圖2 所示,CE1與CE4 同 屬VPN1,CE2 與CE3 同 屬VPN2,CE1 與CE2 連接在同一臺公網(wǎng)設(shè)備PE1 上,CE3 與CE4 連接在同一臺公網(wǎng)設(shè)備PE2 上。也就是說,PE1 和PE2 建立的隧道同時(shí)承載了兩個(gè)VRF 實(shí)例路由,但只有同一VRF 實(shí)例下的設(shè)備才能進(jìn)行通信。下面對CE2 與CE3 的路由建立和數(shù)據(jù)轉(zhuǎn)發(fā)過程進(jìn)行描述。

圖2 L3VPNoverSRv6典型組網(wǎng)圖

CE2 與CE3 的信息交互可以分為路由建立過程和數(shù)據(jù)轉(zhuǎn)發(fā)過程。CE2 與CE3 間業(yè)務(wù)建立過程可以簡單描述為CE3 將本地路由發(fā)布給PE2,PE2 將該路由存放到VPN2 對應(yīng)的VPN 路由表中,并將該路由轉(zhuǎn)換為VPN 路由在公網(wǎng)上傳遞,PE1 收到該VPN 路由后,根據(jù)入口策略決定是否將該路由加入本地的VPN路由表,加入后PE1與CE2進(jìn)行路由信息交換[7]。

CE2與CE3間建立VPN業(yè)務(wù),首先需要路由互通。通常情況下,通過建立IGP(Interior Gateway Protocols)鄰居,將網(wǎng)絡(luò)中各設(shè)備間路由信息互通。路由互通后,在PE1 和PE2 間建立BGP 鄰居連接,BGP 鄰居建立過程分為路由發(fā)布和數(shù)據(jù)轉(zhuǎn)發(fā)過程[8-9]。

路由發(fā)布的過程可以分為以下幾個(gè)步驟:1)PE2通過任意路由協(xié)議將對應(yīng)locator 網(wǎng)段路由發(fā)布給PE1,PE1 安裝到自己的路由表中;2)PE2 在locator 范圍內(nèi)動(dòng)態(tài)或靜態(tài)生成VPN SID,并生成Local SID 表;3)PE2 收到CE3 發(fā)布的私網(wǎng)IPv4/IPv6 路由后,轉(zhuǎn)換成BGPVPNv4/BGPVPNv6 路由,通過BGP 鄰居關(guān)系發(fā)布給PE1;4)PE1 接收到VPNv4 路由后,將其交叉到對應(yīng)VPN 轉(zhuǎn)發(fā)路由表,并轉(zhuǎn)換成普通IPv4 路由向CE2 發(fā)布。

路由轉(zhuǎn)發(fā)表成功建立后,進(jìn)入數(shù)據(jù)轉(zhuǎn)發(fā)階段。轉(zhuǎn)發(fā)流程如下:1)CE2 向PE1 發(fā)送一個(gè)普通IP 報(bào)文;2)PE1 根據(jù)報(bào)文入接口綁定的VRF,查找對應(yīng)的VPN 轉(zhuǎn)發(fā)路由表,獲取到遠(yuǎn)端的SRv6 VPNSID 和下一跳信息,并且直接使用SRv6 VPNSID 作為目的地址封裝IPv6 報(bào)文,再繼續(xù)轉(zhuǎn)發(fā);3)PE1 通過查找IPv6路由轉(zhuǎn)發(fā)表將報(bào)文轉(zhuǎn)發(fā)到PE2;4)PE2 根據(jù)目的地址查找Local SID 表,匹配到對應(yīng)的SRv6 SID,根據(jù)指令剝掉外層IPv6 報(bào)文頭,通過內(nèi)層報(bào)文的目的地址查找VPN 轉(zhuǎn)發(fā)路由表,將報(bào)文轉(zhuǎn)發(fā)給CE3。

3 L3VPNoverSRv6具體實(shí)現(xiàn)

VPN 業(yè)務(wù)可以實(shí)現(xiàn)跨域站點(diǎn)間的安全通信,并且通過VRF 可以實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的隔離。其原理是通過BGP 更新報(bào)文攜帶的RD(Route Distinguisher)、RT屬性能夠?qū)W(wǎng)絡(luò)流量進(jìn)行過濾,從而保證綁定不同VRF 的設(shè)備間不會互相侵占網(wǎng)絡(luò)資源[10-11]。在SRv6之前,VPN 業(yè)務(wù)通常被承載于以MPLS 作為數(shù)據(jù)面封裝的網(wǎng)絡(luò)之上。在MPLSVPN 中,VPN 實(shí)例由MPLS標(biāo)簽標(biāo)識,而在SRv6 網(wǎng)絡(luò)中,VPN 實(shí)例可以通過SRv6 SID標(biāo)識。為了實(shí)現(xiàn)用SRv6承載VPN業(yè)務(wù),PE節(jié)點(diǎn)需要發(fā)布對應(yīng)的SRv6 SID,用于標(biāo)識VPN 實(shí)例[12]。這個(gè)發(fā)布過程需要對控制面協(xié)議進(jìn)行擴(kuò)展。

3.1 BGP協(xié)議擴(kuò)展

該文主要討論BGP協(xié)議擴(kuò)展。在IETF 文稿中擴(kuò)展了兩個(gè)BGP Prefix-SID 屬性TLV(Type Length Value),名為SRv6 L3 ServicesTLV 和SRv6 L2 Services TLV,分別用于攜帶三層和二層業(yè)務(wù)的SRv6 SID 信息。在子TLV 字段,目前定義了一種名為SRv6 SID Information Sub-TLV 的子TLV,如表1 所示。

表1 SRv6 SID Information Sub-TLV格式

其中,SRv6 SID 可選信息,目前只定義了一種類型為1 的SRv6 Service Data Sub-sub-TLV,用于攜帶SID 格式的描述信息,即SID 中各字段的長度及位置。引入SRv6 Service Data Sub-sub-TLV 后,可將SRv6 可變長度部分存儲在BGP 更新報(bào)文中,并且將固定不變字段仍存儲在SID Information Sub-TLV中。這樣的處理使得原本BGP 更新報(bào)文攜帶的數(shù)量由一條變?yōu)槎鄺l,大大減少了報(bào)文數(shù)量,提高了BGP更新報(bào)文發(fā)送和接收的處理效率。

3.2 控制面軟件結(jié)構(gòu)設(shè)計(jì)

為了適配BGP 協(xié)議報(bào)文的擴(kuò)展,網(wǎng)絡(luò)設(shè)備控制面需要具備對擴(kuò)展報(bào)文的識別及處理的能力。因此,在傳統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)的基礎(chǔ)上,加入SRv6 SID 管理功能,設(shè)計(jì)如圖3 所示的控制面軟件結(jié)構(gòu)。

圖3 軟件結(jié)構(gòu)設(shè)計(jì)圖

該控制面結(jié)構(gòu)主要實(shí)現(xiàn)以下幾項(xiàng)功能,分別為本地SID 表的管理、VPN 實(shí)例管理、路由表項(xiàng)管理、路由轉(zhuǎn)發(fā)功能等。下面對各模塊完成工作內(nèi)容進(jìn)行介紹。

1)VPN 模塊主要實(shí)現(xiàn)VPN 實(shí)例的創(chuàng)建、刪除操作及VPN 實(shí)例信息通告功能。用戶下發(fā)VRF、RD、RT 等配置,VPN 收到后存入模塊數(shù)據(jù)庫,并下發(fā)給BGP 模塊,為BGP 生成對應(yīng)VPN 轉(zhuǎn)發(fā)路由表提供配置信息。

2)SIDM 模塊主要實(shí)現(xiàn)的功能包括保存用戶配置locator 信息、支持BGP 模塊查詢SID 功能。SIDM接收到用戶配置的locator 信息后,存入本地?cái)?shù)據(jù)庫。后續(xù)BGP 通過SIDM 提供的SID 查詢接口查詢SID 信息。

3)BGP 模塊主要實(shí)現(xiàn)的功能包括獲取SID 功能、Local SID 通告和撤銷功能、VPN 路由通告和接收功能、私網(wǎng)路由交叉功能、路由迭代功能。VPN 業(yè)務(wù)實(shí)現(xiàn)過程中,有兩個(gè)表項(xiàng)下發(fā)流程至關(guān)重要,分別為Local SID 表項(xiàng)下發(fā)和VPN 業(yè)務(wù)表項(xiàng)下發(fā)。設(shè)備本端BGP 需要下發(fā)Local SID 轉(zhuǎn)發(fā)表,用于指明流量出口的VRF 信息。SRv6 業(yè)務(wù)中BGP 組件通告鄰居VPN 路由時(shí),下一跳屬性中需攜帶SID 信息,該SID只用于指明轉(zhuǎn)發(fā)信息。

4)當(dāng)BGP 模塊從遠(yuǎn)端鄰居接收到VPN 路由,經(jīng)過策略私網(wǎng)路由迭代的路由將下發(fā)到TM。

3.3 各模塊間消息序列

基于控制面軟件結(jié)構(gòu)設(shè)計(jì),各模塊間軟件消息序列圖如圖4 所示。

圖4 軟件消息序列圖

通過軟件消息序列圖能夠直觀了解各模塊工作流程及模塊與模塊間信息通信的原理。當(dāng)VPN收到用戶下發(fā)VPN 實(shí)例相關(guān)配置信息后,將VPN 配置信息保存到數(shù)據(jù)庫中,并且向BGP 通告VPN 實(shí)例信息。BGP 收到VRF、RD、RT 等信息后,將VRF 及IPv4/IPv6 地址族綁定locator,同時(shí)向SIDM 發(fā)送獲取locator 配置、生成VRF 對 應(yīng)SID 的請求。SIDM 向BGP 發(fā)送綁定SID 指令的同時(shí),將Local SID 表下發(fā)到TM中。BGP獲取到VRF對應(yīng)SID指令后,配置路由重分布,引入VPN 路由。BGP 鄰居建立成功后,將VPNv4/VPNv6 路由發(fā)布到對端,對端在路由下一跳可達(dá)并且報(bào)文通過BGP 的入口策略的情況下,完成私網(wǎng)路由交叉、路由迭代SRv6-BE 路徑、路由優(yōu)選等動(dòng)作,將該路由加入到VPN 轉(zhuǎn)發(fā)路由表中,操作完成后,BGP 將攜帶SRv6 VPNSID(即迭代的SRv6-BE 路徑)的VPN 轉(zhuǎn)發(fā)路由表下發(fā)給TM 模塊用于指導(dǎo)網(wǎng)絡(luò)路由。

L3VPNoverSRv6 控制面軟件設(shè)計(jì),主要研究基于SRv6 數(shù)據(jù)平面的BGP 協(xié)議擴(kuò)展,在該系統(tǒng)控制面各模塊原功能基礎(chǔ)上,設(shè)計(jì)VPN 業(yè)務(wù)模塊擴(kuò)展方案,新增SRv6 SID 標(biāo)簽表項(xiàng)存儲、計(jì)算和處理等相關(guān)功能,實(shí)現(xiàn)SRv6 承載VPN 業(yè)務(wù)。

4 網(wǎng)絡(luò)仿真測試

4.1 網(wǎng)絡(luò)拓?fù)?/h3>

為了驗(yàn)證該方法實(shí)現(xiàn)的L3VPN 業(yè)務(wù)承載效果,該文按圖5 搭建測試網(wǎng)絡(luò)設(shè)備拓?fù)鋱D,在設(shè)備CE1、CE2間建立L3VPNv4業(yè)務(wù)[13-14]。CE1 與CE2 通過OSPF(Open Shortest Path First)協(xié)議打通路由,PE2 與CE2 通過EBGP(External Border Gateway Protocol)打通路由。PE1、P、PE2 三臺設(shè)備均配置routerisis 1,通過ISIS(Intermediate System-to-Intermediate System)協(xié)議建立鄰居關(guān)系,實(shí)現(xiàn)路由互通[15]。

圖5 測試網(wǎng)絡(luò)拓?fù)鋱D

4.2 測試結(jié)果

在PE1 和PE2 上進(jìn)行VPNv4 BE 業(yè)務(wù)配 置,如圖6 所示。

圖6 PE1-PE2的VPNv4 BE業(yè)務(wù)配置

PE1 和PE2 的VPNv4 路由表顯示結(jié)果如圖7 所示,可以看到PE1 和PE2 為本端BGP VPN 實(shí)例引用locator 生成了對應(yīng)END SID。設(shè)備上VPNv4 實(shí)例路由表中各參數(shù)與下發(fā)配置一致,BGP 鄰居成功建立。

圖7 PE1-PE2的L3VPN路由表項(xiàng)

5 結(jié)束語

該文采用SRv6 技術(shù)作為數(shù)據(jù)平面,對控制面BGP 協(xié)議進(jìn)行SRv6 相應(yīng)擴(kuò)展,設(shè)計(jì)了一種基于SRv6的L3VPN 技術(shù)實(shí)現(xiàn)方法。在SRv6 之前,使用MPLS作為轉(zhuǎn)發(fā)面數(shù)據(jù)封裝承載VPN 業(yè)務(wù)的方式被廣泛采用,但這樣在域內(nèi)和跨域場景上部署VPN 業(yè)務(wù)具有很高的復(fù)雜度[16-17]。當(dāng)轉(zhuǎn)發(fā)平面從MPLS 切換為SRv6 時(shí),VPN 業(yè)務(wù)的優(yōu)勢可以由SRv6 天然繼承,并且由于SRv6 和IPv6 的兼容性特點(diǎn),利用IPv6 的IP 可達(dá)性能夠更簡單地部署VPN 業(yè)務(wù)。

猜你喜歡
路由表報(bào)文實(shí)例
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
基于OSPF特殊區(qū)域和LSA的教學(xué)設(shè)計(jì)與實(shí)踐
淺析反駁類報(bào)文要點(diǎn)
中國外匯(2019年11期)2019-08-27 02:06:30
組播狀態(tài)異常導(dǎo)致故障
ATS與列車通信報(bào)文分析
基于新路由表的雙向搜索chord路由算法
完形填空Ⅱ
完形填空Ⅰ
BGP創(chuàng)始人之一Tony Li:找到更好的途徑分配互聯(lián)網(wǎng)地址
威海市| 洞口县| 巫山县| 香格里拉县| 弥勒县| 讷河市| 耒阳市| 安泽县| 商城县| 塘沽区| 抚远县| 南澳县| 拜城县| 土默特右旗| 扶沟县| 开阳县| 扎兰屯市| 清远市| 广饶县| 名山县| 长寿区| 江安县| 美姑县| 衡阳县| 苏尼特右旗| 陈巴尔虎旗| 阿鲁科尔沁旗| 秀山| 克拉玛依市| 兴安县| 绥化市| 彭州市| 博野县| 高青县| 武定县| 额济纳旗| 得荣县| 渭源县| 水城县| 三穗县| 延长县|