SRv6探險之旅(2)技術與測試方法解讀(下)
隨著SRv6技術應用的日益普及,其測試工作的重要性也日益凸顯。通過全面的測試,我們可以有效驗證網(wǎng)絡設備在SRv6控制面協(xié)議以及處理SRv6流量時是否符合相關標準和規(guī)范,例如SID的識別與處理、Segment List的解析與流量轉(zhuǎn)發(fā)等,這不僅有助于確保不同設備間的互操作性,還能通過測試深入評估網(wǎng)絡設備在處理SRv6流量時的性能表現(xiàn),包括轉(zhuǎn)發(fā)吞吐量、丟包率、時延等一系列關鍵指標,從而為SRv6技術的廣泛應用提供有力保障。
上一篇文章《SRv6探險之旅(1)技術與測試方法解讀(上)》闡述了SRv6 的原理部分,而本文將在此基礎上,進一步介紹Spirent TestCenter如何配置及測試SRv6,包括:
1. SRv6 流量構造
2. ISIS for SRv6測試
3. OSPFv3 for SRv6測試
4. BGP SRv6 Policy測試
1、SRv6 流量構造
在掌握SRv6的基本原理之后,在構建SRv6流量時便顯得簡單多了。在Spirent TestCenter,我們可通過創(chuàng)建Raw Stream,并定義SR Header及目的IPv6地址等信息,能夠輕松生成源節(jié)點或任意段端點的SRv6數(shù)據(jù)包。這一方法可有效地驗證被測設備在作為SRv6 Policy Transit節(jié)點或Egress節(jié)點時轉(zhuǎn)發(fā)SRv6流量、處理SRH以及解封裝SRv6報文等方面的性能。
以下是Spirent TestCenter中配置SRv6 Raw Stream的步驟:
--測試端口添加一條Raw StreamBlock
--構造SRv6 Stream的報文封裝,默認為IPv4封裝,刪除原IPv4 header
--添加IPv6 Header、IPv6 SR Header及SRv6 Payload(如 Payload內(nèi)層報文為IPv4)
--SRH Option List右鍵添加Segments
--編輯SRv6 Stream的各個Header相關字段
2. Last Entry:SRH頭中Segment List最后一個元素的索引,如上圖的Last Entry值為2,即轉(zhuǎn)發(fā)路徑的第一個SID的索引值
3. Segment Left:剩余未處理的Segment 個數(shù),每處理完一個SID,SL值減1,如上圖的Segment Left值為2,即當前的SL指向第一個SID
4. IPv6 Destination:SRv6報文的目的地址,即SL指針所指向的SID 地址
5. Destination MAC:和測試儀互連的DUT接口MAC地址
--根據(jù)如上的配置,Spirent Testcenter生成的SRv6報文解析如下
2、ISIS For SRv6 測試
在上一篇文章中,我們已介紹ISIS協(xié)議對于SRv6擴展的TLV及Sub-TLV。本章節(jié)將說明如何利用Spirent TestCenter配置ISIS協(xié)議,以通告SRv6的Locator及各類SID的Sub-TLV,旨在驗證被測設備生成及處理Locator路由及SID表項方面的能力。
--添加ISIS Device并生成ISIS LSP,在生成ISIS LSP 的配置向?qū)Р襟E,使能SRv6
--或可通過編輯ISIS LSP 通告SRv6 Locator TLV及End.x/End SID 的Sub-TLV
通告SRv6 End.X/LAN End.X SID的Sub-TLV,在Neighbor TLV下添加
--配置完成,點擊Start Device并通告ISIS LSP,抓包可觀察到ISIS報文解析后的SRv6 TLV字段
3、OSPFv3 For SRv6測試
類似于ISIS SRv6擴展,OSPFv3的SRv6擴展同樣能夠通告Locator信息與SID信息。通過傳播SRv6 Locator LSA和Router LSA并攜帶End SID/End.X SID,使其服務于路徑編程,以驗證被測設備對于OSPFv3 SRv6的支持和處理能力。以下是Spirent TestCenter配置OSPFv3 SRv6的具體方法:
--OSPFv3 Device使能擴展LSA
--在生成OSPFv3 LSA 的配置向?qū)Р襟E,使能SRv6,配置Locator,End-SID及Adjacencies END.X SID等
--或可通過編輯OSPFv3 LSA 通告SRv6 Locator LSA及End.x/End SID 的Sub-TLV
通告SRv6 Locator LSA及End SID 的Sub-TLV,在SRv6 Locator LSA下添加
通告SRv6 End.X/LAN End.X SID的Sub-TLV,在Router LSA下添加
--配置完成,點擊Start Device并通告OSPFv3 LSA,抓包可觀察OSPFv3報文解析后的SRv6 字段
4、BGP SRv6 Policy測試
Spirent TestCenter具備仿真SDN控制器的能力,能夠利用Netconf、PCEP以及BGP等協(xié)議,將SRv6 Policy部署至轉(zhuǎn)發(fā)設備中。鑒于BGP協(xié)議其高度的成熟性且功能豐富、互通性好等優(yōu)勢,已然成為了SDN南向協(xié)議的主流選擇。本章節(jié)介紹Spirent TestCenter如何利用BGP協(xié)議,實現(xiàn)SRv6 Policy路由的通告過程。
2、更新部分Segment Sub-TLV 的Type.
--創(chuàng)建IPv6的BGP
--配置AFI/Sub-AFI為IPv6:SR-TE-Policy
--選擇BGP SR-TE version,可根據(jù)被測設備支持情況選擇
--添加SR-TE Policy 路由,指定IP version 、SRv6 Policy的color和endpoint 地址
--指定通告SRv6 Policy路由時需要攜帶的Sub-TLV,例如Policy Name, CP (Candidate Path) Name及Preference等
--為每個CP設計轉(zhuǎn)發(fā)路徑Segment List并添加SID
每個CP可配置多個Segment List,在多個Segment List間,接收SRv6 Policy路由的源節(jié)點設備可根據(jù)配置的Sub-TLV Weight(可選)為不同的Segment List 指定不同的權重,以實現(xiàn)非等價負載分擔。每個Segment List可配置多個SID,在draft-sr-te-policy-03版本下,Type 2的Sub-TLV表示SRv6 SID;在draft-sr-te-policy-14版本下,Type B(13) 的Sub-TLV表示SRv6 SID。
--BGP 通告的SRv6-Policy路由解析如下
上述內(nèi)容僅是SRv6測試領域的冰山一角,隨著SRv6技術的不斷成熟,其應用場景也越來越廣。后續(xù)還將介紹SRv6在VPN 場景的測試,敬請持續(xù)關注。