[莫志威 鄧永平 歐亮 林力帆]
段路由SR(Segment Routing)[1]是一種新型的源路由方式,當數(shù)據(jù)平面為MPLS 時,該技術(shù)稱作SRMPLS;當數(shù)據(jù)平面為IPv6時,該技術(shù)稱作SRv6(Segment Routing for IPv6)。SRv6 技術(shù)將網(wǎng)絡(luò)中的報文處理定義為一個網(wǎng)絡(luò)程序,該程序表達為一系列指令。指令由128-bit 的segment 組成,稱為SID(Segment ID),其形式為一個IPv6 地址。在頭節(jié)點增加一個網(wǎng)絡(luò)程序,中間節(jié)點就可以按照該程序包含的路徑信息轉(zhuǎn)發(fā)報文。
SRv6 技術(shù)具有很多優(yōu)點,它不需要任何的路徑交換信令,只需要在SRv6 的頭節(jié)點維護每個流的狀態(tài),通過簡單的網(wǎng)絡(luò)指令就可以控制轉(zhuǎn)發(fā)路徑。SRv6 協(xié)議還有一大優(yōu)勢是無縫部署,在現(xiàn)有IPv6 網(wǎng)絡(luò)中運營商只需要升級SRv6 節(jié)點的設(shè)備,而不需要升級中間IPv6 轉(zhuǎn)發(fā)設(shè)備,節(jié)省升級成本。
由于SRv6 技術(shù)的諸多優(yōu)勢,電信運營商開始進行SRv6 網(wǎng)絡(luò)試點[2,3],目前多采用廠家硬件設(shè)備進行試驗。本文擬研究采用公有云的云服務(wù)器作為SRv6 節(jié)點實現(xiàn)L3VPN 業(yè)務(wù),虛擬機中使用開源軟件VPP(Vector Packet Processing)[4]作為轉(zhuǎn)發(fā)面。實驗拓撲按照設(shè)備所處的位置分為三個平面:公有云1 平面、公有云2 平面、客戶機平面,如圖1 所示。在公有云上開展本項工作具有重要意義,研究成果可應(yīng)用于SRv6 VPN、SD-WAN、多云互聯(lián)、流量工程等場景,為后續(xù)產(chǎn)品開發(fā)工作打下基礎(chǔ)。
圖1 基于公有云的SRv6 路徑可編程示意圖
如圖2 所示,為了實現(xiàn)SRv6,IETF 提出新增一種IPv6 擴展頭,稱作SRH 擴展頭[5]。該擴展頭包含Segment List:其特征為:每一個segment 是一個IPv6 地址;segment是逆序編碼的,Segment List [0]是最后一個使用的segment,Segment List [n]是第一個使用的segment。
圖2 SRH 格式
SRv6 Segment 也稱作SRv6 SID,形式為128-bit的地址[6],如圖3 所示,包含以下部分:
圖3 SRv6 SID 格式
①Locator:用于定位,即路由到segment 父節(jié)點
② Function:代表設(shè)備的指令,在segment 父節(jié)點執(zhí)行function 定義的動作
③Argument:可選參數(shù),用于本地function 的變量
SRv6 SID 有多種類型,表1 列出了常用的SID 類型
表1 常用的SRv6 SID 類型
SRv6 L3VPN 有兩種模式:per-CE 和per-VRF,前者每個CE 分配一個SRv6 SID,后者每個VRF 分配一個SRv6 SID,本文所實現(xiàn)的是per-VRF 模式。
大學英語的視聽說教程包括音頻和視頻兩部分。由圖片流-音頻流-視頻流等組成,構(gòu)成多模態(tài)教學。在教學過程中,教師根據(jù)教學內(nèi)容和學習者情況,還可以適當增加模態(tài),合理組合多種模態(tài),以取得較好的教學效果。下面就新世紀大學英語視聽說教程中的音頻教學和視頻教學分別探討其多模態(tài)教學法。
SRv6 L3VPN 模型示意圖如圖4 所示,設(shè)PE1 的End.DT4 SID 為1::1,P 的END SID 為2:2,PE2 的End.DT4 SID 為3::3,其工作流程如下:
圖4 SRv6 L3VPN 模型示意圖
(1)在首節(jié)點PE1 配置SRv6 TE 策略,Segment List 為<2::2,3::3>;
(2)首節(jié)點PE1 收到CE1 發(fā)出的單播報文后,將會查找VPN 路由表,該路由的出接口為SRv6 TE 策略,PE1 為報文封裝帶有SRH 的IPv6 報文頭并發(fā)出,其中SRH 包含Segment List;
(3)中間P 節(jié)點將根據(jù)SRH 信息轉(zhuǎn)發(fā),使用IPv6目的地址查找Local SID 表,命中End SID 后,IPv6 目的地址將會更換為3::3;
(4)報文到達尾節(jié)點PE2 后,將用IPv6 目的地址查找Local SID 表,命中End.DT4 SID 后,去除IPv6 報文頭,使用內(nèi)層目的地址查找VPN 路由表,轉(zhuǎn)發(fā)至CE2。
VPP 是開源的高性能數(shù)據(jù)報文處理擴展平臺,它的優(yōu)勢有高性能、模塊化、靈活性和豐富的特征集,從17.04 版本開始支持SRv6。根據(jù)SRv6 節(jié)點角色的不同,VPP 配置也會有所不同。對于首尾節(jié)點,需要配置Segment List 和End.DT4 類型Local SID 等;中間節(jié)點較為簡單僅需要配置End 類型Local SID。以下為VPP實現(xiàn)SRv6 L3VPN 的關(guān)鍵配置:
(1)首尾節(jié)點配置示例(如圖5 所示)
圖5 首尾節(jié)點配置示例
(2)中間節(jié)點配置示例(如圖6 所示)
圖6 中間節(jié)點配置示例
如圖1 所示,本文所使用的公有云1 為天翼云,公有云2 為阿里云,為了方便實現(xiàn),客戶機平面也在阿里云開啟。實驗分為兩部分:(1)公有云內(nèi)進行路徑切換,(2)公有云間進行平面切換。
本實驗目的是在一個公有云內(nèi)實現(xiàn)SRv6 L3VPN 業(yè)務(wù),并且可根據(jù)源節(jié)點加入的Segment List 不同而切換轉(zhuǎn)發(fā)路徑。
在阿里云平臺部署四臺云服務(wù)器,如圖7 所示地點分別在深圳、北京、上海和呼和浩特,其中深圳云服務(wù)器和北京云服務(wù)器作為SRv6 路徑的首尾節(jié)點。Host 與VPP虛擬機建立在同一個專用網(wǎng)絡(luò),通過阿里云交換機相連。
圖7 公有云內(nèi)路徑切換實驗拓撲圖
搭建L3VPN over SRv6 業(yè)務(wù)場景,位于深圳的Host1將通過搭建的SRv6 VPN 與北京的Host2 互通,其中SRv6 路徑有兩條,分別為路徑1:深圳-上海-北京,路徑2:深圳-呼和浩特-北京。路徑切換測試偽代碼如圖8 所示,兩路徑互為主備,若主路徑發(fā)生故障,將切換到備路徑,測試兩路徑的SRv6 L3VPN 時延,結(jié)果如表2所示。
圖8 公有云內(nèi)路徑切換實驗偽代碼
表2 SRv6 單平面路徑切換實驗平均時延
實驗結(jié)果表明公有云內(nèi)可有效按照程序設(shè)定切換SRv6 路徑,使得流量按特定路徑轉(zhuǎn)發(fā)。測試得出路徑1的時延較短,該結(jié)果可作為主路徑初始設(shè)置的參考。
本實驗使用SRv6 協(xié)議將流量在兩個云平面之間進行切換,切換后的路徑可用作備份鏈路或者流量負載分擔鏈路。例如,當兩云平面互為主備時,若一個公有云平面的中間鏈路發(fā)生故障時,可以將路徑切換到另外一個公有云。
在阿里云和天翼云的上海和廣東資源池部署云服務(wù)器,如圖9 所示具體部署方式如下:阿里云的上海和深圳資源池各部署兩臺服務(wù)器,其中一臺為主機Host,另外一臺為VPP 虛擬機;在天翼云的上海和廣州資源池各部署一臺服務(wù)器,均為VPP 虛擬機。阿里云的上海云服務(wù)器和深圳云服務(wù)器作為SRv6 路徑的首尾節(jié)點。Host與VPP 虛擬機建立在同一個專用網(wǎng)絡(luò),通過阿里云交換機相連。搭建L3VPN over SRv6 業(yè)務(wù)場景,位于上海的Host1 將通過搭建的SRv6 VPN 與深圳的Host2 互通,其中SRv6 路徑有兩條,分別為單平面路徑:阿里云上海-阿里云深圳,雙平面路徑:阿里云上海-天翼云上海-天翼云廣州-阿里云深圳。對不同區(qū)域云內(nèi)、同區(qū)域云間、單平面和端到端時延進行測試,實驗偽代碼如圖10 所示,實驗結(jié)果分別如表3、表4 和表5 所示。
圖9 SRv6 公有云平面切換實驗拓撲圖
圖10 公有云間平面切換實驗偽代碼
從表5 可以看出,流量轉(zhuǎn)發(fā)路徑可以有效地從一個公有云平面切換到另外一個公有云平面,切換平面后時延增大,分析表3、表4 可以得出原因在于增加了同區(qū)域云間切換時延。
表3 不同區(qū)域云內(nèi)時延測試
表4 同區(qū)域云間時延測試
表5 端到端時延測試
本文概述了SRv6 技術(shù)的基本原理,分析了其優(yōu)勢以及在公有云上使用的意義,研究了基于公有云的SRv6 路徑可編程性。基于開源軟件VPP,實現(xiàn)了公有云內(nèi)的路徑切換和公有云平面切換,研究結(jié)果可應(yīng)用于SD-WAN 和多云互聯(lián)等場景。下一步將在本工作基礎(chǔ)上增加SDN 控制器,用于路徑下發(fā)和流量監(jiān)控等,從而實現(xiàn)完整SD-WAN 的功能。