王君健(中國(guó)移動(dòng)通信集團(tuán)河北有限公司,河北石家莊 050021)
作為下一代互聯(lián)網(wǎng)的核心協(xié)議,IPv6 針對(duì)IPv4 的不足做了改進(jìn),除了提供更大的地址空間,還擁有更快的路由機(jī)制、更好的業(yè)務(wù)性能及安全性。主流設(shè)備廠商高端路由器、SR/BRAS 設(shè)備、交換機(jī)/xPON、家庭網(wǎng)絡(luò)HG 等已經(jīng)具備IPv6 商用能力,運(yùn)營(yíng)商的IPv6 部署規(guī)模也逐步擴(kuò)大,IPv6建設(shè)大潮將至。
IPv6 的IP 地址域?yàn)?28 比特,擁有巨大的地址空間,甚至可以為地球上每粒沙子分配多個(gè)IPv6 地址。無(wú)論建設(shè)物聯(lián)網(wǎng)還是5G網(wǎng)絡(luò),運(yùn)營(yíng)商都有足夠的IPv6地址分配給固定終端和移動(dòng)終端。IPv6報(bào)文頭由固定長(zhǎng)度的報(bào)頭和靈活的擴(kuò)展頭組成,固定長(zhǎng)度的報(bào)頭更有利于網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)處理,相比報(bào)頭長(zhǎng)度可變的IPv4 協(xié)議,IPv6 協(xié)議的轉(zhuǎn)發(fā)效率更高。來(lái)自Facebook和其他公司的研究報(bào)告都表明,美國(guó)運(yùn)營(yíng)的IPv6 終端下載的速率比IPv4 的終端快15%~40%。IPv6 協(xié)議通過(guò)擴(kuò)展頭實(shí)現(xiàn)AH 和ESP,保證自身負(fù)荷安全,安全性比IPv4協(xié)議更高。
IPv6-only 是網(wǎng)絡(luò)演進(jìn)的最終目標(biāo),雙棧部署屬于過(guò)渡階段。采用IPv4/IPv6 雙棧模式會(huì)使網(wǎng)絡(luò)復(fù)雜性增加一倍,網(wǎng)絡(luò)的維護(hù)工作量增加一倍,甚至更多。雙棧網(wǎng)絡(luò)的規(guī)模擴(kuò)展性有限制,公網(wǎng)IPv4 協(xié)議地址數(shù)量有限,而IPv6 協(xié)議地址接近無(wú)限,雙方無(wú)法同步增長(zhǎng)。雙棧模式需要終端、網(wǎng)絡(luò)設(shè)備和數(shù)據(jù)中心都支持IPv6 和IPv4 的雙棧部署,接入網(wǎng)、城域網(wǎng)和核心網(wǎng)的每臺(tái)路由器同時(shí)運(yùn)行IPv6 和IPv4 協(xié)議,這對(duì)路由器的CPU、內(nèi)存以及網(wǎng)絡(luò)的穩(wěn)定性和收斂性都提出更高的要求,需要運(yùn)營(yíng)商投入更多的資金升級(jí)和替換網(wǎng)絡(luò)設(shè)備。
SDN 和NFV 是當(dāng)今驅(qū)動(dòng)網(wǎng)絡(luò)向前發(fā)展的雙輪動(dòng)力,它們不會(huì)因?yàn)榛A(chǔ)協(xié)議從IPv4 切換到IPv6 而停滯不前,相反IPv6 協(xié)議更能促進(jìn)SDN 和NFV 的發(fā)展。IPv6 協(xié)議支持即插即用,可通過(guò)無(wú)狀態(tài)和有狀態(tài)2 種自動(dòng)配置方式獲得IPv6 地址及參數(shù),IPv6 終端部署非常方便靈活,有利于SDN 和NFV 的自動(dòng)化部署。面向上層的SDN 和NFV,IPv6 協(xié)議除了具有IPv4 協(xié)議提供的所有特性,如BGP-LS、Telemetry、PCEP、NETCONf、YANG 等,還能提供基于IPv6 協(xié)議的Inband-OAM、SRv6的Network Programming功能,給SDN和NFV更大的支持,如圖1 所示。SDN/NFV 的部署也使用戶流量從雙棧模式切換到IPv6-only協(xié)議相對(duì)更容易。
圖1 云、SDN/NFV和IPv6三者關(guān)系
SRv6 通 過(guò)128 bit 的SID 實(shí) 現(xiàn)Network Program?ming 功能。128 bit 分為L(zhǎng)ocation、Function 和Parame?ters 等3 部分,其中Location 表示到達(dá)該節(jié)點(diǎn)的路由信息,F(xiàn)unction 和Parameter 則分別表示在該節(jié)點(diǎn)執(zhí)行的函數(shù)及所需參數(shù)信息,如圖2 所示。Location,F(xiàn)unc?tion,Parameter這3部分沒(méi)有固定的長(zhǎng)度,其中Location字段的長(zhǎng)度只要能夠表達(dá)出到該節(jié)點(diǎn)的路由信息,其長(zhǎng)度可變,不一定是64 bit,可以更短。Function 和Pa?rameter 的長(zhǎng)度遠(yuǎn)遠(yuǎn)超過(guò)傳統(tǒng)IPv4 協(xié)議地址的32 bit,這給網(wǎng)絡(luò)程序開(kāi)發(fā)者帶來(lái)更多的變化可能。IETF 的相關(guān)草案定義了Function 和Parameter 的比特位,包含許多常用的函數(shù)及其參數(shù),如簡(jiǎn)單轉(zhuǎn)發(fā)操作函數(shù)End、執(zhí)行類似IPv4 SR 的Adj 操作的函數(shù)End.X,支持IPv6 L3VPN函數(shù)的End.DX6,部分函數(shù)如圖2所示。
云服務(wù)基于網(wǎng)絡(luò)資源池化對(duì)資源統(tǒng)一調(diào)度、分配和管理,云服務(wù)可以利用基于IPv6 協(xié)議的SDN 和NFV技術(shù),為數(shù)據(jù)中心提供基于IPv6 協(xié)議的VM、vNet 和vRouter 資源,使數(shù)據(jù)中心內(nèi)部IPv6 虛擬網(wǎng)絡(luò)和外部IPv6物理網(wǎng)絡(luò)在邏輯上達(dá)成統(tǒng)一網(wǎng)絡(luò)部署。
基于IPv6 協(xié)議的SRv6 源路由技術(shù)提供端到端(E2E)優(yōu)質(zhì)承載服務(wù)。SRv6 網(wǎng)絡(luò)將IPv4 網(wǎng)絡(luò)中分段式業(yè)務(wù)路徑演進(jìn)到端到端的業(yè)務(wù)路徑(見(jiàn)圖3)。在傳統(tǒng)的IPv4網(wǎng)絡(luò)中,業(yè)務(wù)從起點(diǎn)到終點(diǎn)經(jīng)過(guò)多層NAT 轉(zhuǎn)換,很難對(duì)端到端的路徑進(jìn)行管控,在接入層和核心層都需要部署NAT,接入層NAT 解決終端設(shè)備公網(wǎng)IPv4 協(xié)議地址不足的問(wèn)題,核心層NAT 解決數(shù)據(jù)中心虛機(jī)私有IPv4 地址和互聯(lián)網(wǎng)訪問(wèn)等方面的問(wèn)題。在接入網(wǎng)、城域網(wǎng)、骨干網(wǎng)和數(shù)據(jù)中心都統(tǒng)一到IPv6-on?ly網(wǎng)絡(luò)后,可以更便捷地為用戶提供端到端的業(yè)務(wù)。
SRv6 使用MBGP 作為控制面,將基于IPv4 MPLS轉(zhuǎn)發(fā)面的L3/L2VPN、EVPN 演進(jìn)到基于IPv6 轉(zhuǎn)發(fā)面的L3/L2VPN和EVPN。SRv6提供的IPv6的L3/L2VPN和EVPN,不再使用MPLS、LDP、RSVP 協(xié)議,網(wǎng)絡(luò)中協(xié)議類型大幅減少,網(wǎng)絡(luò)越來(lái)越簡(jiǎn)化和扁平化。IPv6-only網(wǎng)絡(luò)釋放了雙棧設(shè)備中IPv4 的相關(guān)資源如CPU 和RAM,IPv6-only 簡(jiǎn)化了網(wǎng)絡(luò)的管理和維護(hù),提升了網(wǎng)絡(luò)的穩(wěn)定性和收斂性。
IPv6 網(wǎng)絡(luò)可提供功能強(qiáng)大的In-band OAM 功能,方便IPv6 網(wǎng)絡(luò)性能測(cè)量和SLA 實(shí)現(xiàn),也方便網(wǎng)絡(luò)運(yùn)維。In-band OAM 通過(guò)在IPv6 定義專用的擴(kuò)展頭,實(shí)現(xiàn)對(duì)轉(zhuǎn)發(fā)面的各種性能數(shù)據(jù)進(jìn)行測(cè)量,如時(shí)延、亂序、丟包等。IPv6 的In-band OAM 和SRv6 技術(shù)可以為用戶提供更優(yōu)質(zhì)的SLA。
圖2 SRv6的Network Programming
圖3 端到端的極簡(jiǎn)IPv6-only網(wǎng)絡(luò)
SRv6可支持IPv6網(wǎng)絡(luò)的L3VPN業(yè)務(wù),IPv6 L3VPN 轉(zhuǎn)發(fā)面是基于IPv6 而不是MPLS,因此也不再需要MPLS 控制面的協(xié)議如LDP 和RSVP。SRv6 的L3VPN 仍然使用MBGP 作為控制面協(xié)議,對(duì)MBGP 擴(kuò)展了一個(gè)支持SRv6-VPN 前綴屬性TLV。IPv4 網(wǎng)絡(luò)中RD 和RT 等概念在SRv6 的L3VPN 網(wǎng)絡(luò)中保持不變,MBGP 在向鄰居通告VPN 路由時(shí)攜帶一個(gè)SRv6-VPN SID,這類似MBGP MPLS L3VPN攜帶VPN私網(wǎng)的MPLS 標(biāo)簽。Egress 節(jié)點(diǎn)依據(jù)報(bào)文中攜帶的SRv6-VPN SID 查詢對(duì)應(yīng)的VRF 轉(zhuǎn)發(fā)表,再根據(jù)IPv6 報(bào)文目的地址查找路由和出接口??刂泼娴膮f(xié)議工作流程如圖4所示。
圖4 SRv6的L3VPN的控制面原理
a)PE1和PE2節(jié)點(diǎn)與RR 反射器建立MBGP鄰居。PE1 節(jié)點(diǎn)有IPv6 L3VPN 和IPv4 L3VPN,PE1 向PE2 通告這2 個(gè)VPN 的私網(wǎng)路由2008∶1/64 和1.1.1.0/24,除了攜帶RD、RT 等屬性還攜帶了2 個(gè)SRv6-VPN SID(屬性值分別為A∶6 和A∶4)。同理PE2 通告的VPN1路由2009∶1/64 除攜帶RD、RT 等屬性外還有SRv6-VPN SID 屬性值D∶6,通告VPN2 路由2.2.2.0/24 除攜帶RD、RT 等屬性外還有SRv6-VPN SID 屬性值D∶4。PE1 和PE2 分別學(xué)習(xí)對(duì)方傳遞過(guò)來(lái)的VPN 私網(wǎng)路由,生成本地的2 個(gè)L3VPN 的VRF 轉(zhuǎn)發(fā)表,用于對(duì)應(yīng)的VRF流量轉(zhuǎn)發(fā)。
b)RR反射器分別與PE1和PE2建立MBGP鄰居,其IGP 如OSPFv3 或者ISISv6 也與RR 反射器建立正常的鄰居關(guān)系,建立完鄰居關(guān)系后,RR 反射器收到攜帶SRv6 相關(guān)信息的OSPFv3 或者ISISv6 鏈路狀態(tài)。RR反射器與控制器通過(guò)BGP-LS 建立PEER 關(guān)系,RR 反射器向控制器發(fā)送域內(nèi)IPv6 路由鏈路狀態(tài)信息(包括SRv6的信息)。
c)控制器對(duì)收集的所有鏈路狀態(tài)庫(kù)(包括SRv6的信息)進(jìn)行分析計(jì)算,考慮鏈路的物理帶寬、實(shí)際使用帶寬、設(shè)備的隊(duì)列轉(zhuǎn)發(fā)時(shí)延、業(yè)務(wù)要求的時(shí)延,使用的算法等多種因素,計(jì)算出L3VPN 流量從Ingress節(jié)點(diǎn)到到Egress節(jié)點(diǎn)的最佳SR路由策略(SR-Policy),并發(fā)送到L3VPN 的Ingress 節(jié)點(diǎn)。該策略也可以在控制器上手工指定后再下發(fā)到Ingress 節(jié)點(diǎn),或者在Ingress 節(jié)點(diǎn)上手工配置。如圖4 的步驟3 所示,控制器對(duì)In?gress 節(jié)點(diǎn)下發(fā)2 條策略A∶1∶1 和A∶1∶2 分別對(duì)應(yīng)IPv6的L3VPN流量和IPv4的L3VPN流量轉(zhuǎn)發(fā)策略。
SRv6的L3VPN業(yè)務(wù)轉(zhuǎn)發(fā)比較簡(jiǎn)單,Ingress節(jié)點(diǎn)根據(jù)控制器下發(fā)的SR-Policy A∶1∶6 和A∶1∶4,對(duì)IPv6 L3VPN 流量和IPv4 L3VPN 流量執(zhí)行不同的處理策略。每個(gè)SR-Policy 指定業(yè)務(wù)流量需要經(jīng)過(guò)中間的關(guān)鍵節(jié)點(diǎn),以及在該節(jié)點(diǎn)流量如何處理,如執(zhí)行負(fù)荷分擔(dān)或者指定特定鏈路或者簡(jiǎn)單轉(zhuǎn)發(fā)。在流量的Egress節(jié)點(diǎn)則指明對(duì)流量執(zhí)行的具體操作,如解封SRv6 報(bào)文頭,查特定的VRF 路由表,根據(jù)內(nèi)層目的地址查找下一跳和出接口,或者在公網(wǎng)IPv6 的路由表中查找下一跳和出接口,具體如圖5 所示。IPv6 L3VPN 流量在A 節(jié)點(diǎn)執(zhí)行A∶1∶6 策略,封裝IPv6 外層頭的源地址(A∶1)和目的地址B∶1,依據(jù)策略A∶1∶6 插入SRH 頭及SR-List(B∶1 和D∶6),并根據(jù)外層IPv6 的目的地址(B∶1)查IPv6 轉(zhuǎn)發(fā)表獲取下一跳和出接口,并把流量通過(guò)該接口送往節(jié)點(diǎn)B。IPv6 L3VPN 流量到達(dá)節(jié)點(diǎn)B 以后,執(zhí)行常規(guī)的END 函數(shù)操作,替換IPv6 外層目的地址為D∶6,并偏移SRH 頭的指針。B 節(jié)點(diǎn)根據(jù)外層IPv6 的目的地址D∶6 查找IPv6 轉(zhuǎn)發(fā)表,把報(bào)文送往節(jié)點(diǎn)D。報(bào)文到達(dá)節(jié)點(diǎn)D 以后,根據(jù)目的地址中D∶6 解封外層IPv6 頭,根據(jù)D∶6 尋找對(duì)應(yīng)L3VPN 的私網(wǎng)路由表,并根據(jù)內(nèi)層IPv6 報(bào)文目的地址2009∶1 查下一跳和出接口。如果能查到對(duì)應(yīng)目的路由則轉(zhuǎn)發(fā)報(bào)文,否則丟棄。IPv4 的L3VPN 流量轉(zhuǎn)發(fā)過(guò)程類似IPv6 的L3VPN流量,這里不再重復(fù)。
圖5 SRv6的L3VPN流量轉(zhuǎn)發(fā)過(guò)程
隨著5G、物聯(lián)網(wǎng)、智慧城市、SDN/NFV、云計(jì)算以及邊緣計(jì)算等新興技術(shù)的蓬勃發(fā)展,互聯(lián)網(wǎng)產(chǎn)業(yè)對(duì)IPv6 的需求也日益迫切。各國(guó)都在積極進(jìn)行IPv6 網(wǎng)絡(luò)建設(shè),以提升自己在下一代互聯(lián)時(shí)代的話語(yǔ)權(quán),并促進(jìn)本國(guó)技術(shù)和經(jīng)濟(jì)的發(fā)展。隨著網(wǎng)絡(luò)逐漸向云化演進(jìn),各類智能應(yīng)用、智能技術(shù)等新型技術(shù)業(yè)務(wù)層出不窮,新產(chǎn)業(yè)、新業(yè)態(tài)對(duì)網(wǎng)絡(luò)的智能彈性提出更高的要求,SRv6 技術(shù)可為SDN/NFV 提供更多支持,提供可編程性和E2E 的優(yōu)質(zhì)服務(wù),同時(shí)兼容傳統(tǒng)的L3VPN 和EVPN 等業(yè)務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)的無(wú)縫演進(jìn),勢(shì)必會(huì)引領(lǐng)下一代網(wǎng)絡(luò)發(fā)展。