我們知道當(dāng)前承載網(wǎng)絡(luò)中的IP數(shù)據(jù)傳輸主要基于MPLS(Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)技術(shù),MPLS在提高路由轉(zhuǎn)發(fā)效率的同時,也不可避免地帶來了一些新的問題:
- 配置多:需要使用獨立的信令協(xié)議,如LDP(Label Distribution Protocol,標(biāo)簽分發(fā)協(xié)議)、RSVP(Resource Reservation Protocol,資源預(yù)留協(xié)議)等,并為網(wǎng)絡(luò)中的每個節(jié)點分配標(biāo)簽,配置過程相對復(fù)雜。
- 效率低:每次進(jìn)行數(shù)據(jù)傳輸,都需要為端到端連接路徑上的所有節(jié)點下發(fā)配置信息,傳輸效率低。
- 擴展難:每個節(jié)點都需要維護(hù)每條連接的狀態(tài),業(yè)務(wù)擴展較為困難。
- 跨域煩:不同的網(wǎng)絡(luò)(如IP骨干網(wǎng)、IP城域網(wǎng)、移動回傳網(wǎng)等)之間是獨立的MPLS域,網(wǎng)絡(luò)間的互連需要使用復(fù)雜的跨域VPN技術(shù)來實現(xiàn)。
SRv6的應(yīng)運而生
基于源路由轉(zhuǎn)發(fā)而產(chǎn)生的SR(Segment Routing,分段路由)技術(shù)的出現(xiàn),改變了傳統(tǒng)IP網(wǎng)絡(luò)中只能基于目的路由轉(zhuǎn)發(fā)的思路。通過SR技術(shù),在網(wǎng)絡(luò)中的首節(jié)點規(guī)劃并建立端到端連接的路徑,中間節(jié)點只需轉(zhuǎn)發(fā)、無需再維護(hù)連接狀態(tài),大大簡化了網(wǎng)絡(luò)的部署和擴展。SR與MPLS的結(jié)合(SR-MPLS)有助于解決前面提到的配置多、效率低、擴展難的網(wǎng)絡(luò)“痼疾”,但網(wǎng)絡(luò)中的節(jié)點仍然需要都支持MPLS標(biāo)簽轉(zhuǎn)發(fā)技術(shù),還是沒有從根本上解決跨域互連的問題;并且MPLS標(biāo)簽的擴展能力有限,難以更好地滿足5G時代多樣業(yè)務(wù)的傳送需求。
與此同時,為了解決IPv4地址短缺的問題,讓IP網(wǎng)絡(luò)數(shù)據(jù)的傳輸更加高速、可靠和安全,互聯(lián)網(wǎng)協(xié)議正從IPv4(互聯(lián)網(wǎng)協(xié)議版本4)過渡到IPv6(互聯(lián)網(wǎng)協(xié)議版本6)。隨著IPv6的大規(guī)模部署,在5G承載和云網(wǎng)融合的重點應(yīng)用場景中,基于MPLS的傳送技術(shù)愈發(fā)成為了網(wǎng)絡(luò)的“瓶頸”。
融合了SR與IPv6特點的新一代IP承載網(wǎng)數(shù)據(jù)轉(zhuǎn)發(fā)協(xié)議SRv6應(yīng)運而生,SRv6充分繼承了SR的源路由優(yōu)勢和IPv6簡潔、易擴展的特點。
- 不再需要使用獨立的信令協(xié)議為所有節(jié)點分配標(biāo)簽,使網(wǎng)絡(luò)更容易配置和管理。不再需要所有節(jié)點支持MPLS,甚至不需要所有節(jié)點都支持SRv6,使網(wǎng)絡(luò)具備更好的兼容性?;跀U展了報文頭的IPv6報文即可實現(xiàn)業(yè)務(wù)的端到端部署,使網(wǎng)絡(luò)更加簡潔和高效。網(wǎng)絡(luò)具備可編程能力,可以實現(xiàn)業(yè)務(wù)的靈活擴展,結(jié)合SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))還可以實現(xiàn)網(wǎng)絡(luò)的靈活調(diào)度。
SRv6的靈活源泉
SR技術(shù)的關(guān)鍵在于為網(wǎng)絡(luò)中的每個節(jié)點或節(jié)點間的每條路徑都分配一個SID(Segment Identifier,段標(biāo)識)作為標(biāo)識,并在起始節(jié)點指定報文需要經(jīng)過的節(jié)點和路徑的SID集合(Segment List)來指導(dǎo)報文的轉(zhuǎn)發(fā)。SR-MPLS使用20 bits長度的MPLS標(biāo)簽值作為SID,而SRv6則使用128 bits長度的IPv6地址格式值來作為SID。相比于SR-MPLS的SID,SRv6的SID更長,支持?jǐn)y帶更多信息,可以用來標(biāo)識節(jié)點、鏈路、L2VPN業(yè)務(wù)、L3VPN業(yè)務(wù)、網(wǎng)絡(luò)服務(wù)等多種功能或業(yè)務(wù)類型。
128bits長度的SRv6 SID包含了Locator、Function、Arguments三個字段。
有了SRv6 SID,SRv6就具備了路徑和業(yè)務(wù)的編排能力,可以預(yù)先規(guī)劃報文轉(zhuǎn)發(fā)的路徑以及路徑上每一個節(jié)點的轉(zhuǎn)發(fā)行為,并支持定義任意的網(wǎng)絡(luò)功能或業(yè)務(wù)。
除了SRv6 SID,SRv6還有另外一個“秘密武器”。前面我們提到,SR與MPLS的結(jié)合(SR-MPLS)雖然有助于解決網(wǎng)絡(luò)中配置多、效率低、擴展難的“痼疾”,但網(wǎng)絡(luò)中的節(jié)點仍然需要都支持MPLS標(biāo)簽轉(zhuǎn)發(fā)技術(shù),還是沒有從根本上解決跨域煩的痛點。SRv6充分利用了IPv6的易擴展特性,通過一種新增的擴展頭類型SRH(Segment Routing Header,段路由頭),來替代MPLS的標(biāo)簽轉(zhuǎn)發(fā)功能,讓SRv6網(wǎng)絡(luò)可以不需要借助于其他技術(shù)、僅基于原生的IPv6技術(shù)(Native IPv6)就能實現(xiàn)數(shù)據(jù)的高效率轉(zhuǎn)發(fā),徹底解決跨域煩的難題。普通的IPv6報文中可以包含0個或多個擴展頭,用于實現(xiàn)不同的業(yè)務(wù)功能,只有當(dāng)有需要的時候才會添加擴展頭。擴展了SRH后,SRv6報文結(jié)構(gòu)包括了IPv6報文頭、SRH擴展頭和數(shù)據(jù)報文三個部分。
- IPv6報文頭:用于指定報文的源地址(Source Address,SA)和目的地址(Destination Address,DA)。SRH擴展頭:用于指定報文的轉(zhuǎn)發(fā)路徑信息,包含中間節(jié)點數(shù)(Segments Left,SL)和段列表(Segment List)。段列表是報文傳輸過程中會經(jīng)過的所有節(jié)點的SID的清單,中間節(jié)點數(shù)是指經(jīng)過的節(jié)點的數(shù)量。數(shù)據(jù)報文:傳送的業(yè)務(wù)數(shù)據(jù)信息,傳輸過程中保持不變。
如果要簡化理解的話,以上三部分的結(jié)構(gòu)可以用下圖來表示。
普通IPv6報文中的源地址(SA)和目的地址(DA)分別標(biāo)識的是報文的首節(jié)點和目的節(jié)點,在傳輸過程中保持不變;而SRv6報文中的目的地址(DA)標(biāo)識的是當(dāng)前報文經(jīng)過的下一個節(jié)點,會隨著數(shù)據(jù)傳輸過程實時變化。SRv6使用SRH擴展頭中的中間節(jié)點數(shù)和段列表來指導(dǎo)報文的轉(zhuǎn)發(fā),每經(jīng)過一個SRv6節(jié)點,中間節(jié)點數(shù)的值減1、目的地址信息更新一次,目的地址信息由中間節(jié)點數(shù)和段列表共同決定。例如SL=n時,DA=SID [0];SL=0時,DA=SID [n]。
SRv6的轉(zhuǎn)發(fā)過程
說了這么多,是不是還有點不太明白SRv6是怎么工作的。讓我們通過一個具體示例來看下SRv6是如何在網(wǎng)絡(luò)中傳輸數(shù)據(jù)的。
- 首節(jié)點(節(jié)點A)接收到用戶(源節(jié)點S)的數(shù)據(jù)傳輸需求,確定了目的地(目的節(jié)點R)。SRv6規(guī)劃傳輸路徑為A→B→C→D,那么在節(jié)點A發(fā)出的報文中:SA=S,DA=B,段列表為<SID D,SID C,SID B>,中間節(jié)點數(shù)SL=2。節(jié)點B、節(jié)點C收到報文后,將報文中的SL值減1,并將DA改為下一節(jié)點,轉(zhuǎn)發(fā)報文。節(jié)點D收到數(shù)據(jù)后,發(fā)現(xiàn)SL值為0,判定自己是尾節(jié)點,則按普通IPv6報文轉(zhuǎn)發(fā)方式將報文轉(zhuǎn)發(fā)給目的用戶(目的節(jié)點R)。
可以看到,通過SRv6進(jìn)行數(shù)據(jù)傳輸時,不需要為網(wǎng)絡(luò)中的每個節(jié)點分發(fā)標(biāo)簽,也不需要維護(hù)每條連接的狀態(tài),更不依靠MPLS隧道來進(jìn)行跨域的數(shù)據(jù)轉(zhuǎn)發(fā),非常便利、高效。
SRv6的工作模式
雖然不再使用MPLS技術(shù),但是SRv6同樣支持對不同類型的業(yè)務(wù)通過不同的工作模式來提供差異化的服務(wù)。SRv6主要工作模式包括兩種:SRv6 BE(Best Effort,盡力而為)和SRv6 TE Policy(Traffic Engineering Policy,流量工程策略)。
- SRv6 BE的作用類似于MPLS LDP,LDP是利用IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關(guān)協(xié)議)的最短路徑算法計算得到一條最優(yōu)路徑來指導(dǎo)數(shù)據(jù)的轉(zhuǎn)發(fā)。SRv6 BE僅使用一個業(yè)務(wù)SID(Service SID)來指導(dǎo)報文的轉(zhuǎn)發(fā),是一種盡力而為的工作模式。該工作模式下,SRv6功能只需要部署在首尾節(jié)點,實現(xiàn)較為簡單,適用于需要快速開通一些普通VPN業(yè)務(wù)的場景。SRv6 TE Policy則利用了源路由的特性,在首結(jié)點封裝一個有序的Segment List(路徑信息)來指導(dǎo)報文在網(wǎng)絡(luò)中如何轉(zhuǎn)發(fā)。結(jié)合Segment List的可編程特性,并引入著色機制(設(shè)置color屬性),SRv6 TE Policy可以靈活地指定報文的任意轉(zhuǎn)發(fā)路徑來實現(xiàn)流量工程、靈活引流、負(fù)載分擔(dān)等功能。
關(guān)于SRv6 BE和SRv6 TE Policy兩種工作模式,我們后續(xù)也會推出專題圖文進(jìn)行詳細(xì)介紹,敬請期待哦。
SRv6的其他優(yōu)勢
SRv6不僅能夠解決本文開篇提到的四大痛點,還具有其它的獨有優(yōu)勢。與SDN技術(shù)相結(jié)合SRv6可以與SDN技術(shù)相結(jié)合,利用自身的靈活性配合SDN的管理調(diào)度能力,整個網(wǎng)絡(luò)就像一個可編程的軟件系統(tǒng),靈活地實現(xiàn)各種業(yè)務(wù), 同時網(wǎng)絡(luò)配置及數(shù)據(jù)傳輸也變的更為簡單。如下圖所示,SDN控制器通過搜集SRv6節(jié)點及路徑信息,根據(jù)業(yè)務(wù)需求規(guī)劃合適的路徑以及各節(jié)點提供的服務(wù),并將信息通知給首節(jié)點(如下圖中的節(jié)點A)。首節(jié)點根據(jù)接收到的信息,將業(yè)務(wù)數(shù)據(jù)通過SRv6網(wǎng)絡(luò)傳遞到目的節(jié)點。
-
- 與EVPN(Ethernet Virtual Private Network,以太網(wǎng)虛擬專用網(wǎng))技術(shù)相結(jié)合SRv6還可以與EVPN技術(shù)相結(jié)合,使IP承載網(wǎng)擺脫眾多復(fù)雜協(xié)議的束縛,簡化為Overlay(EVPN)+Underlay(SRv6)的組網(wǎng)格局,大大簡化網(wǎng)絡(luò)的復(fù)雜度。
SRv6開啟IP新時代
SRv6是繼MPLS之后的新一代IP承載網(wǎng)核心協(xié)議,不僅將簡化和統(tǒng)一承載網(wǎng)絡(luò)的架構(gòu),也將持續(xù)推動固(固定網(wǎng)絡(luò))移(移動網(wǎng)絡(luò))融合、云(云計算)網(wǎng)(通信網(wǎng))融合的發(fā)展。相信不久的將來,會出現(xiàn)更多基于SRv6的應(yīng)用創(chuàng)新,推動各行各業(yè)向智能化和數(shù)字化方向發(fā)展。技術(shù)改變生活,讓我們一起期待吧!