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