SRv6的前世今生
網(wǎng)絡(luò)發(fā)展初期,群雄逐鹿,多種網(wǎng)絡(luò)技術(shù)并存,如X.25、FR(幀中繼)、ATM網(wǎng)絡(luò)和我們熟知的IP網(wǎng)絡(luò)。這些技術(shù)雖然不能互聯(lián)互通,但是都有自己的一席之地,這其中最為主流的技術(shù)是ATM和IP。
ATM技術(shù)
源于1983年美國(guó)貝爾研究所提出的快速分組交換以及1984年法國(guó)電信Cent提出的異步時(shí)分交換思想,采用固定長(zhǎng)度(188個(gè)字節(jié))信元傳輸數(shù)據(jù),采用面向連接的方式進(jìn)行通信,可以提供更好的服務(wù)質(zhì)量。這項(xiàng)技術(shù)能夠滿足電信網(wǎng)絡(luò)對(duì)可靠性和可管理性的要求,因而,在網(wǎng)絡(luò)技術(shù)興起的早期,在電信網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。ATM標(biāo)準(zhǔn)由ITU-T提出,由ITU-T、電信廠商、電信運(yùn)營(yíng)商組成的ATM論壇推進(jìn)ATM標(biāo)準(zhǔn)化工作,官方色彩較濃,標(biāo)準(zhǔn)化過(guò)程較IP標(biāo)準(zhǔn)緩慢。
IP技術(shù)
一種無(wú)連接的通信,提供盡力而為的服務(wù),具備逐跳尋徑的靈活性,報(bào)文長(zhǎng)度并不固定。IP技術(shù)采用“最長(zhǎng)匹配”的方式進(jìn)行轉(zhuǎn)發(fā),每個(gè)路由器都需要將IP包解析出目的IP地址,并根據(jù)此信息獨(dú)立對(duì)數(shù)據(jù)包進(jìn)行路由決策。其傳輸可靠性需要借助高層協(xié)議來(lái)實(shí)現(xiàn)。這項(xiàng)技術(shù)秉持共享開(kāi)放的理念,因而在計(jì)算機(jī)網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。IP標(biāo)準(zhǔn)主要由民間組織IETF推進(jìn)標(biāo)準(zhǔn)化,以簡(jiǎn)單、實(shí)用、有效、持續(xù)完善為原則,推進(jìn)較快。
總而言之,ATM是以交換機(jī)為核心,通過(guò)信令技術(shù)建立虛電路,強(qiáng)調(diào)網(wǎng)絡(luò)智能。IP以路由器為核心,通過(guò)路由技術(shù)支持?jǐn)?shù)據(jù)報(bào)尋址,強(qiáng)調(diào)終端智能。
ATM與IP雖然有諸多差異,但是都有適合自己的應(yīng)用場(chǎng)景。近年來(lái),隨著互聯(lián)網(wǎng)的爆炸式增長(zhǎng),經(jīng)濟(jì)性和效率性的邊界效益隨著網(wǎng)絡(luò)的規(guī)模進(jìn)一步增大而降低。如何更有效的建設(shè)更大規(guī)模的網(wǎng)絡(luò)成為擺在面前的現(xiàn)實(shí)問(wèn)題。此外,隨著計(jì)算機(jī)網(wǎng)絡(luò)向?qū)拵Щ?、智能化方向發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)也呈現(xiàn)出突發(fā)特性。網(wǎng)絡(luò)通信更加強(qiáng)調(diào)效率和通用性。隨著多媒體通信的發(fā)展,要求高速的數(shù)據(jù)通信,同時(shí)要求保證通信的QoS,并能傳送話音、圖像等多媒體內(nèi)容。在新的需求的推動(dòng)下,原有的網(wǎng)絡(luò)技術(shù)捉襟見(jiàn)肘:ATM技術(shù)復(fù)雜,通用性差,管理成本高,且效率低(報(bào)文頭開(kāi)銷大),而盡力而為的IP網(wǎng)絡(luò)也逐漸不再能適應(yīng)網(wǎng)絡(luò)的發(fā)展。在路由器網(wǎng)絡(luò)中加入交換結(jié)構(gòu)是解決問(wèn)題的有效方案。
高質(zhì)量的IP技術(shù)
隨著對(duì)IP網(wǎng)絡(luò)QoS要求的提升,新的技術(shù)出現(xiàn)。新技術(shù)在IP技術(shù)中融合了ATM的QoS理念,比如LANE(Local Area Network Emulation)、IPoA(IP over ATM)和TAG Switch等。
1996年,MPLS技術(shù)出現(xiàn)。MPLS在二層與三層之間構(gòu)建了“2.5層”技術(shù),相當(dāng)于在3層的IP包外直接貼上了標(biāo)簽,支持IPv4和IPv6等多種三層網(wǎng)絡(luò),兼容ATM、以太網(wǎng)等多種二層鏈路。MPLS整合了ATM網(wǎng)絡(luò)的VCI(虛擬信道標(biāo)識(shí)符)和VPI(虛擬通路標(biāo)識(shí)符),同時(shí)具備IP路由的靈活性和標(biāo)簽交換的簡(jiǎn)捷性,在IP之上構(gòu)建基于標(biāo)記的通信通道。
MPLS基于定長(zhǎng)32bit的標(biāo)簽轉(zhuǎn)發(fā)數(shù)據(jù)。IP基于最長(zhǎng)前綴匹配轉(zhuǎn)發(fā)數(shù)據(jù)。前者轉(zhuǎn)發(fā)效率更高,并且能夠更好的支持TE(基于RSVP-TE實(shí)現(xiàn) MPLS TE路徑標(biāo)簽的申請(qǐng)和分發(fā),實(shí)現(xiàn)資源保證、顯式路徑轉(zhuǎn)發(fā))、虛擬專用網(wǎng)(通過(guò)MPLS標(biāo)簽標(biāo)識(shí)虛擬專用網(wǎng),實(shí)現(xiàn)業(yè)務(wù)隔離)和FRR(能夠滿足50ms電信級(jí)保護(hù)倒換的需求)。MPLS逐漸被應(yīng)用于IP骨干網(wǎng)、城域網(wǎng)、移動(dòng)承載網(wǎng)等多種網(wǎng)絡(luò)場(chǎng)景,能夠支持多業(yè)務(wù)融合承載。
圖1:MPLS標(biāo)簽
MPLS 轉(zhuǎn)發(fā)功能和路由功能相分離,僅在網(wǎng)絡(luò)邊緣實(shí)施路徑及策略選擇,對(duì)進(jìn)入網(wǎng)絡(luò)的IP數(shù)據(jù)包分配標(biāo)記,通過(guò)標(biāo)記交換來(lái)實(shí)現(xiàn)數(shù)據(jù)包轉(zhuǎn)發(fā)。當(dāng)數(shù)據(jù)包被交換至MPLS網(wǎng)絡(luò)邊緣時(shí),封裝解開(kāi),繼續(xù)按照IP數(shù)據(jù)包的路由方式達(dá)到目的地。
MPLS網(wǎng)絡(luò)包括兩類網(wǎng)元:邊緣路由器(LER)和標(biāo)記交換路由器(LSR)。前者完成IP包的進(jìn)出和退出過(guò)程。后者完成高速交換。入節(jié)點(diǎn)LER和出節(jié)點(diǎn)LER之間構(gòu)建了一條條單向的高速LSP。當(dāng)IP數(shù)據(jù)包到達(dá)LER時(shí),按照MPLS轉(zhuǎn)發(fā)等價(jià)類(FEC)概念,被映射至一條LSP上,并標(biāo)記。標(biāo)記信息庫(kù)將每一個(gè)FEC映射到LSP下一跳的標(biāo)記上。如果下一跳的二層鏈路是ATM,則MPLS將使用ATM VCC里的VCI作為標(biāo)記。
圖2:MPLS數(shù)據(jù)包
MPLS有多種標(biāo)簽發(fā)布協(xié)議,如LDP(Label Distribution Protocol)、RSVP-TE、MP-BGP(Multiprotocol Border Gateway Protocol)。LDP自身不維護(hù)狀態(tài),轉(zhuǎn)發(fā)是無(wú)連接的。MPLS采用標(biāo)簽轉(zhuǎn)發(fā)方式。轉(zhuǎn)發(fā)原理可以簡(jiǎn)化為標(biāo)簽壓入(Push)、標(biāo)簽交換(Swap)、標(biāo)簽彈出(Pop)。
MPLS實(shí)現(xiàn)了流量工程,提供面向連接的服務(wù)。在MPLS技術(shù)發(fā)展過(guò)程中,針對(duì)不同的業(yè)務(wù)需求衍生出不同的改進(jìn)技術(shù),如MPLS-TP、SR-MPLS、PWE3等。MPLS解決了路由隔離、大規(guī)模組網(wǎng)、流量工程、以及電信級(jí)業(yè)務(wù)IP化承載問(wèn)題,保障了網(wǎng)絡(luò)可靠性和業(yè)務(wù)承載質(zhì)量。
5G、智慧城市等新興業(yè)務(wù)要求網(wǎng)絡(luò)具備可編程、物聯(lián)網(wǎng)等能力,并能夠提供業(yè)務(wù)級(jí)別的QoE測(cè)量、感知等功能。在新的業(yè)務(wù)需求的背景下,MPLS問(wèn)題逐漸暴露。首先是協(xié)議狀態(tài)復(fù)雜,MPLS是在原有IP技術(shù)基礎(chǔ)上疊加新技術(shù)來(lái)解決問(wèn)題。MPLS通過(guò)在IGP協(xié)議基礎(chǔ)上增加LDP協(xié)議來(lái)分發(fā)標(biāo)簽,通過(guò)增加RSVP-TE協(xié)議來(lái)實(shí)現(xiàn)流量工程。新技術(shù)增加了協(xié)議的復(fù)雜度。其次,MPLS體系中,每臺(tái)設(shè)備只能看到自己的狀態(tài),是一種分布式的技術(shù)。另外,RSVP-TE協(xié)議信令非常復(fù)雜,需要維護(hù)龐大的鏈路信息,需要大量交互報(bào)文以維持連接狀態(tài),復(fù)雜度隨節(jié)點(diǎn)數(shù)量的增加呈指數(shù)級(jí)增長(zhǎng)。在這樣的背景下,SR技術(shù)誕生。
SR技術(shù)的誕生
1977年,Car A. Sunshine發(fā)表了論文“Source routing in computer networks”,第一次提出了源路由技術(shù)。2013年起出現(xiàn)的Segment Routing 技術(shù)正是借鑒了源路由思想,將報(bào)文轉(zhuǎn)發(fā)路徑分割為分段(Segment),并用SID(Segment Identifier)來(lái)標(biāo)識(shí),在路徑源頭節(jié)點(diǎn)統(tǒng)一插入分段信息。中間節(jié)點(diǎn)只是按照?qǐng)?bào)文里攜帶的分段信息轉(zhuǎn)發(fā),并不感知和維護(hù)路徑狀態(tài)。
SR技術(shù)通過(guò)對(duì)IGP協(xié)議擴(kuò)展SR屬性,實(shí)現(xiàn)標(biāo)簽轉(zhuǎn)發(fā),實(shí)現(xiàn)了LDP協(xié)議的全部功能;通過(guò)集中RSVP功能(集中控制管理),避免每個(gè)節(jié)點(diǎn)都需要通過(guò)RSVP大量交互以維護(hù)全網(wǎng)信息??偟膩?lái)說(shuō)SR有三方面的特點(diǎn):源路由;無(wú)狀態(tài);集中控制。
支持MPLS的SR被稱為SR-MPLS。SR-MPLS并沒(méi)有改變MPLS向IP報(bào)文頭插入標(biāo)簽的實(shí)現(xiàn)方式,同樣需要網(wǎng)絡(luò)設(shè)備逐跳支持MPLS標(biāo)簽轉(zhuǎn)發(fā)。
圖3:SR-MPLS
SRv6
隨著IPv6的出現(xiàn),SR與IPv6相融合就產(chǎn)生了SRv6。SRv6解決了傳統(tǒng)MPLS標(biāo)簽信息擴(kuò)展性不足的問(wèn)題,可以攜帶更多的信息,能夠統(tǒng)一承載多種網(wǎng)絡(luò)協(xié)議。
支持IPv6數(shù)據(jù)平面的SRv6,采用128位的IPv6地址作為SID,集成了SR-MPLS網(wǎng)絡(luò)的所有優(yōu)點(diǎn)。同時(shí),其作為IPv6的原生應(yīng)用之一,SRv6具有更好的兼容性。SRv6可借助豐富的128位SID能夠?qū)崿F(xiàn)網(wǎng)絡(luò)編程能力。
圖4:SRv6包頭
SRv6在建立跨域LSP路徑時(shí),不需要復(fù)雜的路由擴(kuò)散,不需要專門(mén)的標(biāo)簽轉(zhuǎn)發(fā)面支撐,有IPv6轉(zhuǎn)發(fā)面即可。在業(yè)務(wù)層面,SRv6通過(guò)E虛擬專用網(wǎng)整合了原來(lái)網(wǎng)絡(luò)中L2虛擬專用網(wǎng)(VPWS、VPLS)、L3虛擬專用網(wǎng)(MP-BGP)。
圖5:MPLS、SRv6協(xié)議棧對(duì)比
SRv6通過(guò)IPv6路由擴(kuò)展報(bào)文頭SRH擴(kuò)展實(shí)現(xiàn)。SRv6沒(méi)有改變IPv6的報(bào)文結(jié)構(gòu),兼容所有的IPv6設(shè)備。SRv6路由可以跨越AS域,承載業(yè)務(wù)也可以跨越AS域,利于網(wǎng)絡(luò)簡(jiǎn)化部署。
SRv6融合了路徑和業(yè)務(wù)編排能力,能夠預(yù)先規(guī)劃特定路徑以及路徑中節(jié)點(diǎn)的Function動(dòng)作。在網(wǎng)絡(luò)和業(yè)務(wù)編排器的支撐下,SRv6能夠?qū)崿F(xiàn)網(wǎng)絡(luò)路徑拉通以及業(yè)務(wù)定義的能力,實(shí)現(xiàn)云網(wǎng)融合、端到端業(yè)務(wù)保障。
圖6:SRH的幀結(jié)構(gòu)
SRH關(guān)鍵信息包括三個(gè)部分:
- Routing Type:取值4,表明擴(kuò)展標(biāo)簽為Segment Routing Header(SRH);
- Segment List:網(wǎng)絡(luò)路徑信息;
- Segment Left(SL)指針,指示當(dāng)前活躍的Segment。
SL和Segment List字段共同決定IPv6 DA信息。在SRv6中,每經(jīng)過(guò)一個(gè)SRv6節(jié)點(diǎn),SL字段減1,IPv6 DA變換為指針當(dāng)前的SID。與MPLS不同,SRv6報(bào)文頭保留了完整的路徑信息,可以做路徑回溯。
需要說(shuō)明的是,雖然SRv6 SID采用了IPv6地址形式,但并不是普通意義的IPv6地址。SRv6的SID一般包括Locator和Function兩部分。前者可變長(zhǎng),具有定位功能,可路由可聚合,一般要求在SRv6域內(nèi)唯一(Anycast場(chǎng)景除外)。節(jié)點(diǎn)配置Locator之后,系統(tǒng)會(huì)生成一條Locator網(wǎng)段路由,并通過(guò)IGP在SRv6域內(nèi)擴(kuò)散。網(wǎng)絡(luò)里其他節(jié)點(diǎn)通過(guò)Locator定位節(jié)點(diǎn)。Function部分還可以分出一個(gè)可選的參數(shù)段(Arguments)。SRv6 SID可以自由組合進(jìn)行路徑編程,根據(jù)業(yè)務(wù)需求,定義轉(zhuǎn)發(fā)路徑。
與傳統(tǒng)SR-MPLS的3層類型標(biāo)簽(虛擬專用網(wǎng)/BGP/SR)相比,SRv6只有一種IPv6頭,實(shí)現(xiàn)了統(tǒng)一的轉(zhuǎn)發(fā)。由于SRv6幀頭的標(biāo)準(zhǔn)性,使其能兼容現(xiàn)網(wǎng)的IPv6設(shè)備,當(dāng)中間節(jié)點(diǎn)不支持SRv6功能時(shí),按照IPv6路由方式轉(zhuǎn)發(fā)即可。
在云數(shù)據(jù)中心互聯(lián)場(chǎng)景中,IP骨干網(wǎng)采用MPLS/SR-MPLS技術(shù),數(shù)據(jù)中心網(wǎng)絡(luò)通常使用VXLAN技術(shù),骨干網(wǎng)與數(shù)據(jù)網(wǎng)絡(luò)之間通過(guò)網(wǎng)關(guān)設(shè)備實(shí)現(xiàn)VXLAN和MPLS相互映射。SRv6報(bào)文和普通IPv6報(bào)文完全一樣,SRv6網(wǎng)絡(luò)節(jié)點(diǎn)間的互通只需要保證節(jié)點(diǎn)之間IPv6網(wǎng)絡(luò)可達(dá)??梢钥闯?,SRv6模糊了骨干網(wǎng)絡(luò)與數(shù)據(jù)中心網(wǎng)絡(luò)的界限。
圖7:SRv6在云數(shù)據(jù)中心互聯(lián)場(chǎng)景中的應(yīng)用
SRv6只需要將業(yè)務(wù)的頭尾節(jié)點(diǎn)升級(jí)到支持SRv6的版本,即能實(shí)現(xiàn)SRv6的流量工程。通過(guò)BGP4+,將一個(gè)域的IPv6路由引到另外一個(gè)域,就可以開(kāi)展跨域業(yè)務(wù)部署。在大型網(wǎng)絡(luò)的跨域場(chǎng)景中,在邊界節(jié)點(diǎn)引入有限的聚合路由表項(xiàng)即可,降低了對(duì)網(wǎng)絡(luò)設(shè)備能力的要求。
SRv6同時(shí)具有路由和MPLS兩種轉(zhuǎn)發(fā)屬性,具備TE能力、擴(kuò)展能力,能夠支持未來(lái)固移融合,實(shí)現(xiàn)IP轉(zhuǎn)發(fā)技術(shù)統(tǒng)一。
SRv6應(yīng)用現(xiàn)狀
過(guò)去的幾年,SRv6應(yīng)用主要集中在網(wǎng)絡(luò)側(cè),而大二層網(wǎng)絡(luò)拉通、云網(wǎng)拉通應(yīng)用較少。
SRv6在應(yīng)用中還存在著一些問(wèn)題:
1)SRv6 SID 128bit,字節(jié)過(guò)長(zhǎng),存在傳輸效率和棧深問(wèn)題。以100GE鏈路為例,256Byte報(bào)文,8層SID情況下,SR-MPLS網(wǎng)絡(luò)鏈路利用率為89%,而SRv6網(wǎng)絡(luò)利用率僅有67%。
2)SRv6到非SRv6的速率不匹配會(huì)導(dǎo)致端口擁塞,時(shí)延顯著增大。
3)SRv6包頭較長(zhǎng),可能導(dǎo)致數(shù)據(jù)包超過(guò)線路MTU而分片,從而造成傳輸性能急劇下降。
4)SRv6標(biāo)準(zhǔn)尚未完全成熟。當(dāng)前已經(jīng)完成標(biāo)準(zhǔn)化的僅有框架(RFC8402)和SRH封裝格式(RFC8745)。應(yīng)用場(chǎng)景、部署模型/互操作、網(wǎng)絡(luò)管理、協(xié)議擴(kuò)展、流量工程、快速收斂、Draft netpgm(last call/appeal)定義操作等標(biāo)準(zhǔn)化程度中等;Segment壓縮、OAM&性能管理、服務(wù)鏈等標(biāo)準(zhǔn)化程度偏低。按照IETF標(biāo)準(zhǔn)平均2-3年的成熟期,SRv6形成完善的標(biāo)準(zhǔn)體系尚需時(shí)日。
5)SRv6對(duì)ASIC提出了新的要求。SR路徑中的SRv6節(jié)點(diǎn)必須執(zhí)行多個(gè)操作,包括讀取SRH、將IPv6目標(biāo)字段重寫(xiě)到路徑中的下一個(gè)節(jié)點(diǎn)、更新指針以及執(zhí)行特定節(jié)點(diǎn)操作(網(wǎng)絡(luò)編程)。
6)SRv6尚未帶來(lái)明顯的增量?jī)r(jià)值。目前SRv6的應(yīng)用場(chǎng)景還主要是傳統(tǒng)MPLS L2虛擬專用網(wǎng)/L3虛擬專用網(wǎng)服務(wù)。SRv6的網(wǎng)絡(luò)可編程特性尚未得到廣泛使用。
小 結(jié)
IPv6是SRv6應(yīng)用的基本條件。隨著IPv6的規(guī)模化部署,SRv6技術(shù)的推廣應(yīng)用也將進(jìn)入快車道。未來(lái)SRv6將如何演進(jìn)發(fā)展,我們拭目以待。