天天看點

SRv6技術課堂:SRv6概述

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

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

SRv6技術課堂:SRv6概述

1、SRv6基本概念

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

1.1 SRv6 Segment

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

SRv6技術課堂:SRv6概述

圖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,藍色是封包負荷。

SRv6技術課堂:SRv6概述

                                                                                   圖2 SRv6 SRH

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

SRv6技術課堂:SRv6概述

1.3 SRv6三層程式設計空間

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

SRv6技術課堂:SRv6概述

                                                                           圖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封包轉發流程

SRv6技術課堂: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技術課堂:SRv6概述

第二部分是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成為了事實标準。

SRv6技術課堂:SRv6概述

                                                                                      圖5 IP技術發展代際

SRv6技術的出現,實際承擔了解決這些關鍵問題的使命:

第一個是SRv6相容IPv6路由轉發,基于IP可達性實作不同網絡域間的連接配接更加容易,無需像MPLS那樣必須引入額外信令,并且還需要全網更新。

第二個是基于SRH能夠支援更多種類的封裝,可以很好地滿足新業務的多樣化需求。

第三個是SRv6對于IPv6的親和性使得它能夠将IP承載網絡與支援IPv6的應用無縫融合在一起,通過網絡感覺應用,給營運商帶來更多可能的增值。

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