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