SRv6技術課堂(一):SRv6概述

作者簡介:李振斌 華為首席協議專家/IETF互聯網架構委員會(IAB)委員。負責華為的IP協議研究和標準推動工作。自2009年起積極參與IETF標準創新工作,主導和參與了大量IETF RFC/草案。在過去六年內持續推動了SDN演進的BGP/PCEP/Netconf/YANG的協議創新和標準化,當前研究的重點包括SRv6、網絡智能、Telemetry、5G承載等。2019年當選IETF互聯網架構委員會(IAB)委員,承擔2019 - 2021年的互聯網架構管理工作。

本文系《SRv6技術課堂系列》的第一講,后續將陸續更新各個維度的SRv6技術細節,歡迎大家批評指正。

1、SRv6基本概念

由于SR MPLS已經普及,相信大家已經對Segment Routing的基本概念有足夠的了解。這里重點介紹SRv6獨有的工作原理和相關概念。

1.1 SRv6 Segment

與SR MPLS的Segment不同,SRv6的Segment有128bits,而且分成了三部分:

圖1 SRv6 SID

1、Locator(位置標識):網絡中分配給一個網絡節點的標識,可以用于路由和轉發數據包。Locator有兩個重要的屬性,可路由和聚合。在SRv6 SID中Locator是一個可變長的部分,用于適配不同規模的網絡。
2、Function(功能):設備分配給本地轉發指令的一個ID值,該值可用于表達需要設備執行的轉發動作,相當于計算機指令的操作碼。在SRv6網絡編程中,不同的轉發行為由不同的功能ID來表達。一定程度上功能ID和MPLS標簽類似,用于標識VPN轉發實例等。
3、Args(變量):轉發指令在執行的時候所需要的參數,這些參數可能包含流,服務或任何其他相關的可變信息。

從SRv6 SID的組成來看,SRv6同時具有路由和MPLS兩種轉發屬性,可以融合兩種轉發技術的優點。

1.2 SRv6擴展頭

為了在IPv6報文中實現SRv6轉發,引入了一個SRv6擴展頭(Routing Type為4),叫Segment Routing Header(SRH),用于進行Segment的編程組合形成SRv6路徑。
圖2是SRv6的報文封裝格式。綠色的是IPv6報文頭,棕色部分是SRH,藍色是報文負荷。

圖2 SRv6 SRH

IPv6 Next Header字段取值為43,表示后接的是IPv6路由擴展頭。Routing Type = 4,表明這是SRH的路由擴展頭,這個擴展頭里字段解釋如下:

1.3 SRv6三層編程空間

SRv6具有比SR-MPLS更強大的網絡編程能力。SRv6的網絡可編程性體現在SRH擴展頭中。SRH中有三層編程空間:

圖3 SRv6的三層編程空間

第一部分是Segment序列。如前所述,它可以將多個Segment組合起來,形成SRv6路徑。這跟MPLS標簽棧比較類似。

第二部分是對SRv6 SID的128比特的運用。眾所周知,MPLS標簽封裝主要是分成四個段,每個段都是固定長度(包括20比特的標簽,8比特的TTL,3比特的Traffic Class和1比特的棧底標志)。而SRv6的每個Segment是128比特長,可以靈活分為多段,每段的長度也可以變化,由此具備靈活編程能力。

第三部分是是緊接著Segment序列之后的可選TLV(Type-Length-Value)。報文在網絡中傳送時,需要在轉發面封裝一些非規則的信息,它們可以通過SRH中TLV的靈活組合來完成。

SRv6通過三層編程空間,具備了更強大的網絡編程能力,可以更好地滿足不同的網絡路徑需求。

1.4 SRv6報文轉發流程

圖4 SRv6轉發流程

上圖展示了SRv6轉發的一個范例。在這個范例中,結點R1要指定路徑(需要通過R2-R3、R4-R5的鏈路轉發)轉發到R6,其中R1、R2、R4、R6為有SRv6能力的的設備,R3、R5為不支持SRv6的設備。

步驟一:Ingress結點處理:R1將SRv6路徑信息封裝在SRH擴展頭,指定R2和R4的END.X SID,同時初始化SL = 2,并將SL指示的SID A2::11拷貝到外層IPv6頭目的地址。R1根據外層IPv6目的地址查路由表轉發到R2。
步驟二:End Point結點處理:R2收到報文以后,根據外層IPv6地址A2::11查找本地Local SID表,命中END.X SID,執行END.X SID的指令動作:SL—,并將SL指示的SID拷貝到外層IPv6頭目的地址,同時根據END.X關聯的下一跳轉發。
步驟三:Transit結點處理:R3根據A4::13查IPv6路由表進行轉發,不處理SRH擴展頭。具備普通的IPv6轉發能力即可。
步驟四:End Point結點處理:R4收到報文以后,根據外層IPv6地址A4::13查找本地Local SID表,命中END.X SID,執行END.X SID的指令動作:SL—,并將SL指示的SID拷貝到外層IPv6頭目的地址,由于SL = 0, 彈出SRH擴展頭,同時根據END.X關聯的下一跳轉發。
步驟5:彈出SRH擴展頭以后,報文就變成普通的IPv6頭,由于A6::1是1個正常的IPv6地址,遵循普通的IPv6轉發到R6。

從上面的轉發可以看出,對于支持SRv6轉發的節點,可以通過SID指示經過特定的鏈路轉發,對于不支持SRv6的節點,可以通過普通的IPv6路由轉發穿越。這個特性使得SRv6可以很好地在IPv6網絡中實現增量部署。

2、SRv6的標準和產業進展

2.1 SRv6標準進展

SRv6的標準化工作主要集中在IETF SPRING(Source Packet Routing in Networking)工作組,其報文封裝格式SRH(Segment Routing Header)等標準化工作在6MAN(IPv6 Maintenance)工作組,其相關的控制協議擴展的標準化,包括IGP、BGP、PCEP、VPN等,分別在LSR、IDR、PCE、BESS等工作組進行。

截止目前,SRv6的標準化基本上分為兩大部分:
第一部分是SRv6基礎特性,包括SRv6網絡編程框架、報文封裝格式SRH以及IGP、BGP/VPN、BGP-LS、PCEP等基礎協議擴展支持SRv6,主要提供VPN、TE、FRR等應用。所有SRv6基本特性文稿均由華為和思科共同引領,并有Bell Canada、SoftBank、Orange等運營商參與。目前所有文稿(除OSPFv3)均被接收為工作組文稿,標準的成熟度進入了一個新的階段,特別是最關鍵的SRH封裝草案已經經過IETF IESG批準,很快就會成為RFC。

第二部分是SRv6面向5G和云的新應用,這些應用包括網絡切片、確定性時延(DetNet)、OAM、IOAM(In-situ OAM)、SFC、SD-WAN、組播/BIER等。這些應用都對網絡編程提出了新的需求,需要在轉發面封裝新的信息。SRv6可以很好地滿足這些需求,充分體現了其在網絡編程能力方面具備的獨特優勢。當前客戶對于這些應用需求的緊迫性并不一致,反映到標準化和研究的進展也不盡相同。總體而言SRv6用于OAM、IOAM、SFC的標準化進展較快,已經有多篇工作組草案,網絡切片也是當前標準化的一個重點,VPN+切片框架草案已經被接納為工作組,SRv6 SID用于指示轉發面的資源保證服務需求逐漸獲得了廣泛的認同。

2.2 SRv6的產業進展

SRv6產業的整體進展在SRv6 Implementation and Deployment Status草案中進行了描述(draft-matsushima-spring-SRv6-deployment-status)。

1.SRv6產品實現
目前主流設備廠商、測試儀和商用芯片已明確支持SRv6。其中華為全系列路由器產品均支持SRv6,思科ASR9000、ASR1000、NCS5500、NCS540等產品也已經支持SRv6。測試儀廠商思博倫和IXIA支持SRv6,芯片廠商海思、博通等也已發布可規模部署的商用芯片,并在主流設備上完成驗證。

除此以外,一些開源平臺也支持SRv6,如Linux Kernel,Linux Srext module,FD.io VPP等,提供對SRH的一些功能處理。開源工具應用,如Wireshark、Tcpdump、Iptables、Nftables,Snort等,也已經支持了對包含SRH的IPv6報文的處理。

2.SRv6互通測試
歐洲高級網絡測試中心(EANTC:European Advanced Networking Test Center)在今年3月成功地進行了SRv6多廠商互通測試,其結果在MPLS + SDN + NFV World Congress 上進行了展示,并發布了互通測試白皮書。參加互通測試的廠商包括華為、Cisco、思博倫和IXIA,完成了SRv6 VPN、TI-LFA、OAM等互通測試例。

3.SRv6部署
在世界范圍內已經有多家運營商開啟了SRv6商用部署,包括中國電信、中國聯通、CERNET2、日本軟銀和LINE公司、意大利Iliad、烏干達MTN等。

2017年中國推動IPv6的規模部署,經過一年多的建設,各大運營商的IP網絡均已支持IPv6,這為SRv6的規模部署提供新業務提供了堅實的基礎。截止目前為止,中國電信、中國聯通、CERNET2等已經完成了7個局點的部署,SRv6跨域組大網、易于增量部署、快速業務開通的優勢得到了充分體現,為整個產業創新起到了積極的示范作用。

4.SRv6產業論壇
隨著SRv6技術和標準的不斷成熟,業界對SRv6的認可和接受度也越來越高,為了進一步凝聚產業共識,推動SRv6創新應用,經過業界的共同努力,舉辦了多次SRv6產業會議。

2019年4月在法國巴黎MPLS+SDN+NFV大會期間舉辦了首屆SRv6圓桌會議,與會的業界專家圍繞SRv6的價值場景以及如何促進SRv6創新和部署等話題進行了熱烈的討論。

2019年6月推進IPv6規模部署專家委員會主辦了第一期SRv6產業沙龍,與會專家分享了SRv6標準創新的最新進展、整體解決方案以及現網的部署應用等。

這些產業活動對于SRv6創新應用起到了積極的推動作用。

3、SRv6的價值與意義

SRv6網絡編程草案從提出到現在不過兩年半的時間,已經有多個商用實現和商用部署,發展之快在IP技術發展的歷史上是不多見的。在兩年多推動SRv6創新和標準的過程中,我們與業界專家進行了廣泛的交流,對于互聯網發展歷史的經驗教訓進行了很多反思,從而對于SRv6的價值和意義也有了更進一步的認識。

IPv4技術發展的一個重要教訓是可擴展性問題,設計之初沒有想到會有這么多的設備接入IP網絡,由此觸發了IPv6技術的發展。而IPv6技術發展的一個重要教訓是可兼容性問題。當時的設想比較簡單,32比特的地址空間不夠,就把它擴展成128比特,但是128比特的IPv6地址跟32比特的IPV4地址是沒有辦法兼容的,這樣就需要全網的升級支持IPv6,由此導致部署應用的困難。從這個角度看,SRv6可以兼容IPv6路由轉發的,并且通過Function ID兼顧了MPLS轉發的優點,這就保證了SRv6可以從IPv6網絡平滑地演進。

在過去的十多年里,IP技術取得了巨大成功,統一了網絡承載,可以將其稱之為All IP 1.0時代。這其中MPLS扮演了非常重要的角色。基于MPLS的承載技術用于IP Core承載,再到城域承載、移動承載,替代了幀中繼、ATM、TDM等多種網絡技術,實現了網絡承載技術的統一。MPLS成功依賴于三個重要的特性:VPN、TE和FRR,因此SRv6技術發展首先要把這三個特性優勢繼承下來,經過兩年多的發展,這個目標已經基本達成。

All IP 1.0成功的同時也帶來了一些問題和挑戰,總結起來主要有三個方面:
第一個是IP承載網絡的孤島問題。雖然MPLS統一了承載網,但是IP Core承載網、城域承載網、移動承載網之間是分離的,因此要使用跨域VPN等復雜的技術來解決,導致端到端業務部署的困難。

第二個是IPv4與MPLS封裝的可編程空間有限。現在產生了很多新的業務,需要在轉發面加入更多的封裝,而現在IETF已經發表聲明停止為IPv4制定更進一步的標準,并且MPLS標簽的字段采用固定長度,標簽棧提供的網絡編程能力也相對受限,這些導致它們在滿足未來業務的網絡編程需求存在極大的挑戰。

第三個是應用與網絡承載的解耦,導致網絡自身的優化困難,而且難以提升價值。當前運營商普遍面臨被管道化的挑戰,無法從增值應用中獲得相應的收益,而應用信息的缺失,使得網絡調度和優化采用粗放的方式進行,也造成資源的浪費。網絡技術發展的歷史上也努力做過嘗試,但是都失敗了,例如ATM到桌面技術。MPLS也曾經試圖能夠入云,實際連數據中心也沒能進去,反而是VXLAN成為了事實標準。

圖5 IP技術發展代際

SRv6技術的出現,實際承擔了解決這些關鍵問題的使命:
第一個是SRv6兼容IPv6路由轉發,基于IP可達性實現不同網絡域間的連接更加容易,無需像MPLS那樣必須引入額外信令,并且還需要全網升級。
第二個是基于SRH能夠支持更多種類的封裝,可以很好地滿足新業務的多樣化需求。
第三個是SRv6對于IPv6的親和性使得它能夠將IP承載網絡與支持IPv6的應用無縫融合在一起,通過網絡感知應用,給運營商帶來更多可能的增值。

IPv6發展的二十年的里程證明,僅僅依靠地址空間的需求不足以支撐其規模部署,SRv6技術快速發展的實踐說明通過新的業務應用可以更好地促進IPv6發展應用。隨著5G、物聯網、云等業務的發展,更多網絡設備的接入對于地址擴展的需求也在增加,SRv6和這方面的需求結合在一起,將會推動網絡進入一個新的All IP時代,基于All IPv6實現智簡網絡。


  • 本站原創文章僅代表作者觀點,不代表SDNLAB立場。所有原創內容版權均屬SDNLAB,歡迎大家轉發分享。但未經授權,嚴禁任何媒體(平面媒體、網絡媒體、自媒體等)以及微信公眾號復制、轉載、摘編或以其他方式進行使用,轉載須注明來自 SDNLAB并附上本文鏈接。 本站中所有編譯類文章僅用于學習和交流目的,編譯工作遵照 CC 協議,如果有侵犯到您權益的地方,請及時聯系我們。
  • 本文鏈接http://www.taian720.com/23735.html
分享到:
相關文章
條評論

登錄后才可以評論

SDNLAB君 發表于19-11-27
5