日韩欧美一区二区三区四区_国产精品一区免费在线观看 _成人三级在线_亚洲欧美国产一本综合首页

SRv6探險之旅(1)技術與測試方法解讀(上)

發表日期:2024/09/10 瀏覽次數:

在信息技術飛速發展的今天,互聯網的業務需求在日益多樣化,網絡架構和技術也在不斷演進,傳統的網絡架構已難以滿足新業務對靈活性和可擴展性的要求,SRv6(Segment Routing over IPv6)作為一種新興的網絡技術,基于IPv6原生地址和Segment Routing(SR)技術,為構建更靈活、高效和智能的網絡提供了新的解決方案。

本篇將聚焦于SRv6技術的基礎理論,以探討SRv6技術的關鍵特性與核心原理為主,包括以下4個方面內容:

1、SRv6 技術概述

2、SRv6 技術優勢

3、SRv6 基本原理

4、SRv6控制面協議


1、SRv6 技術概述 

SRv6是基于源路由理念而設計的在IPv6網絡上轉發數據包的一種協議。SRv6通過在IPv6數據報中嵌入一個路由擴展頭SRH(Segment Routing Header),在SRH中指定一系列的Segment Identifier(SID),這些SID都是顯式的IPv6地址棧,并由中間節點不斷的進行更新目的地址和偏移地址棧的操作來完成逐跳轉發,從而實現了對數據包轉發路徑的精確控制。

2、SRv6 技術優勢

相比于傳統的網絡技術,SRv6具有多項顯著優勢,主要體現在以下幾個方面:

強大的可編程能力:SRv6提供了網絡路徑、業務、轉發行為三層可編程空間,通過SRH中的SID,可靈活定義轉發路徑和轉發行為

簡化網絡協議與運維:SRv6通過在IPv6數據包中嵌入SID,簡化了網絡協議棧,減少了對專用信令協議的需求(如LDP和RSVP-TE),降低了網絡的復雜性和運維難度。

原生IPv6的支持與兼容性基于Native IPv6進行轉發,沒有改變IPv6報文的封裝結構,保持了與現有IPv6設備的兼容性,增強了網絡的擴展性和靈活性。

強大的業務驅動能力:SRv6完全基于SDN架構,能夠將應用信息帶入網絡,實現網絡與應用之間的深度互動, 并利用全局信息進行網絡調度和優化。


3、SRv6 基本原理 

3.1 SRv6 SRH

SRv6報文是由IPv6標準頭+擴展頭+負載Payload組成。為了基于IPv6轉發平面實現Segment Routing,新增加一種IPv6路由擴展頭Segment Routing Header (SRH),該擴展頭指定一個IPv6的顯式路徑Segment List,存儲的是IPv6 路徑約束信息。頭節點在IPv6報文增加一個SRH擴展頭,中間節點就可以按照SRH擴展頭里包含的路徑信息轉發。

SRH擴展頭的格式如下圖所示:
1.png

IPv6 基本頭中Next Header 取值為43,標識下一個報文頭為路由擴展頭。路由擴展頭的路由類型字段取值為4,標識該路由擴展頭為SRH

SRH 主要包含以下幾個部分:

Next Header:標識緊跟在SRH之后的報文頭的類型。常見的類型如4代表IPv4封裝;41代表IPv6封裝
Hdr Ext Len:SRH頭的長度(不包括前8字節)
Routing Type: 路由擴展頭類型,4表明該路由擴展頭為SRH
Segments Left(SL)SRv6剩余未處理的SID個數。轉發過程中通過修改SL,同時更換DIP為活躍的SID來完成分段轉發
Last Entry:Segment List中最后一個元素的索引
FLags:預留的標志位
Tag:標識同組數據包
Segment List: 有序的SRv6 段列表,段列表從路徑的最后一段開始編碼。Segment List[0]是路徑的最后一個Segment;Segment List[2]是路徑的第一個Segment。

3.2 SRv6 Segment

SRv6 Segment是SRv6技術中的一個核心概念,即路由段,每個Segment由SID唯一標識,實際上是一個特定的IPv6地址,代表了網絡中一個特定轉發路徑或節點。多個Segments嵌入在IPv6數據包的SRH中形成一個Segment List。SRv6 SID由Locator、Function和Arguments三部分組成(Argument為可選部分),格式是Locator:Function:Arguments,其中Locator占據IPv6地址的高比特位,Function/Arguments占據IPv6地址的剩余部分。
2.png

Locator是網絡拓撲中的一個網絡節點的標識,用于路由和轉發報文到該節點,實現網絡指令的可尋址。節點配置Locator之后,系統會生成一條Locator網段路由,并通過IGP在SR域內通告。

Function:用來表示該指令要執行的轉發動作,不同的轉發動作由不同的Function來標識

Arguments:為可選字段,可以定義一些報文的流和服務等信息。

SRv6 Segment常見類型:
5.png

3.3 SRv6 節點

在SRv6網絡中,節點扮演著關鍵的角色,它們負責處理、轉發和接收SRv6報文。

SRv6網絡中存在的節點角色,基本上分為三類:

SRv6源節點(Source SRv6 Node):

定義:生成SRv6報文的源節點。

功能:負責生成SRv6報文,并在報文中嵌入有序的路徑信息Segment List,以指導報文在網絡中按路徑轉發。

中轉節點(Transit Node):

定義:在SRv6報文轉發路徑上只轉發SRv6報文但不進行SRv6處理的節點。

功能:這些節點只負責根據IPv6報頭中的目的地址進行轉發,不處理SRv6的SRH。

段端點節點(SRv6 Segment Endpoint Node):

定義:接收并處理SRv6報文的任何節點,該報文的IPv6目標地址是本地配置的SID。

功能:這些節點會檢查并處理SRv6報文中的SRv6 SID和SRH,根據IPv6報文的目的地址查找本地SID表,執行與該SID綁定的指令動作。

3.4 SRv6 報文轉發

SRv6主要有兩種轉發模式,分別是SRv6 BE(Best Effort,盡力而為)和SRv6 TE Policy(Traffic Engineering Policy,流量工程策略)

SRv6 BE 的場景類似于MPLS LDP,LDP 利用 IGP的最短路徑算法計算得到一條最優的轉發路徑。SRv6 BE 僅使用一個業務 SID來指導報文的轉發,是一種盡力而為的工作模式。在該工作模式下,SRv6 功能只需要部署在首尾節點,實現較為簡單。

SRv6 TE Policy 則利用了源路由的特性,在首節點封裝一個有序的Segment List來指導報文在網絡中如何轉發。結合Segment List 的可編程特性,并引入著色機制(設置Color 屬性),SRv6 TE Policy 可以靈活地指定報文的轉發路徑,從而實現流量工程、靈活引流、負載分擔等功能。

以下是一個典型的SRv6 TE報文轉發流程,假設從節點A(源節點)轉發到節點E(目的節點),中間經過節點B、C、D,其中節點B為中轉節點(不處理SRH或不支持SRv6)。

3.png

1、節點A(源節點)進行網絡編程,為數據包封裝基本IPv6頭和SRH,將SRv6路徑信息[C,D,E]嵌入SRH中,數據包外層源地址為節點A的地址,目的地址為第一個SID(C)的地址。
2、節點B(中轉節點)不處理SRH或不支持SRv6,只需根據IPv6報頭中的目的地址(此時為C的地址)進行路由查找轉發。
3、節點C(SRv6段節點)收到報文后,檢查SRH中的SL(Segment Left)及Segment List,將下一個SID(此時為D的地址)更新到目的IPv6地址。
4、節點D的處理過程和節點C類似,但節點D為倒數第二段,可根據其Flavor是否配置PSP(Penultimate Segment POP,倒數第二段彈出SRH),決定是否移除SRH頭,以減輕尾結點E的處理壓力
5、節點E(目的節點)解封裝并剝離外層IPv6,讀取處理數據包的有效載荷,根據原始報文的目的地址進行報文轉發。


4、SRv6控制面協議 

4.1 ISIS for SRv6

為實現SRv6,需要對已有的IGP協議(ISIS 和OSPFv3)進行擴展,而不需要再維護RSVP-TE、LDP等控制平面協議。通過擴展ISIS和OSPFv3協議攜帶SRv6信息,可對SRv6網絡的拓撲、前綴、Locator和SID等信息進行通告,網絡管理員或SDN控制器利用這些信息,即可實現AS域內的網絡編程功能。

以ISIS協議為例,ISIS需要發布兩類SRv6 信息:Locator信息與 SID 信息。Locator用于幫助網絡中的其他節點定位到發布SID的節點,SID用于描述SID的功能,如SID綁定的Function。

ISIS針對SRv6的擴展具體如下表所示:
6.png

4.2 BGP For SRv6

傳統的IGP for SRv6技術主要在AS域內進行SID的分配和路徑規劃。然而,隨著網絡規模的擴大,跨域通信成為常態,需要一種機制來支持跨AS的SRv6路徑規劃。為了滿足這一需求,BGP EPE(BGP Egress Peer Engineering)應運而生。它通過擴展BGP協議,使得BGP能夠參與到SRv6的跨域路徑規劃中來,從而實現跨AS的SRv6流量工程。

BGP EPE通過為對Peer分配特定的SID,包括Peer-Node SID和Peer-Adj SID,來引導流量經過特定的出節點,發往特定的BGP對等體或對等鏈路。

Peer-Node SID:用于指示一個對等體節點。

Peer-Adj SID:用于指示到達對等體的一個鄰接

4.3 BGP SRv6 Policy

在數據中心、廣域網里,SRv6和SDN應用的結合已是重要的發展趨勢,故基于SDN架構的SRv6控制器也得到了多廠商的支持和互操作。在此過程中,BGP成為主流的SDN控制器南向協議。為了通過BGP 發布SRv6 Policy,需要對SAFI(Subsequent Address Family Identifier)及其對應的NLRI和Tunnel Encaps Attribute等部分進行擴展,因擴展的TLV較多,感興趣的可閱讀draft-ietf-idr-segment-routing-te-policy.
4.png

如上圖,SDN控制器與SRv6轉發設備或RR節點建立BGP對等體,下發BGP SRv6-Policy路由并攜帶SRv6 的候選路徑、優先級、段列表、權重等信息給SRv6源節點設備,以此指導設備如何根據SRv6規則轉發數據包。通過結合BGP-LS、Telemetry、TWAMP等技術,使得網絡運營商能夠在SDN控制器的集中管理下,靈活部署和動態調整SRv6路由策略,從而實現高效、智能的網絡流量調度。


上半部分的探索之旅暫告一段落,我們已經一同揭開了SRv6技術的神秘一角,領略了其作為網絡創新力量的獨特魅力。隨著理論基礎的奠定,下半部分的征程即將開啟,我們將更深入地探討Spirent  TestCenter如何測試SRv6,敬請期待。



































主站蜘蛛池模板: 寿阳县| 大石桥市| 台北市| 襄汾县| 北辰区| 遂溪县| 孝昌县| 开江县| 利辛县| 盐山县| 晋宁县| 龙泉市| 平罗县| 莱阳市| 葵青区| 泗洪县| 姚安县| 和龙市| 谢通门县| 健康| 平泉县| 台州市| 青田县| 西丰县| 依安县| 新田县| 醴陵市| 武胜县| 开封县| 济阳县| 婺源县| 巢湖市| 景谷| 和田市| 蓬溪县| 榆林市| 赤壁市| 两当县| 磐安县| 通海县| 鄂托克旗|