Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SRv6によるSingle-Stack Multi-Serviceバックボーン

ShowNet
February 22, 2023
1.3k

SRv6によるSingle-Stack Multi-Serviceバックボーン

ShowNet.conf_ での講演資料

ShowNet

February 22, 2023
Tweet

More Decks by ShowNet

Transcript

  1. 2

  2. Segment Routingについて • ネットワーク上の要素を”Segment”と表現 • 例: ノード、隣接関係、BGP Peer、サービス • ヘッドエンドのルータでパケットにSegmentのリストを挿入

    1. パケットはリストの最初のSegmentを持つノードへ届く 2. ノードはパケットの宛先をリストの次のSegmentに書き換えて送信 ✓パケットは送信元が指定した箇所を経由しながら転送される(Source Routing) A B C D E Packet List: C,B,D Packet Packet
  3. ”Segment”の2つの実現方法 • SR-MPLS • MPLSラベルをSegmentとして使う • 既存のMPLS Data Planeハードウェアをそのまま利用できる •

    識別子空間は 20bit • SRv6 • IPv6アドレスをSegmentとして使う • SRv6ノードは新しいIPv6拡張ヘッダ(SRv6ヘッダ)に要対応 • 識別子空間は 128bit • 128 bitをLocator, Function, Argumentとして利用 Eth MPLS IP Payload Eth SRv6 IP Payload IPv6
  4. SRv6 • Segment RoutingのDataplane にIPv6 Headerを使う方式 • パケットの中に経由点の情報を埋め込み、 それに従ってルーティングする仕組み •

    経由点の情報としてIPv6アドレスを使用 • パケット自身が経由点の情報を持つため、 網側に複雑な経路情報を持たせる必要が ない • IPv6 AddressのSubnet以降のIF ID部分に L3VPN等の情報を埋め込む ※RFC8754 IPv6 Segment Routing Header (SRH)
  5. SRv6 Network Programming • RFC8986 SRv6 Network Programming • SRv6

    SID は128ビットのIPv6アドレス表記 • Locator: SRv6のノードへルーティングするためのビット • Function: SRv6のノードにおいて取られるアクションを示すビット • Argument [optional]: アクションで使用される引数 Locator Function Argument 2001 : 3e8 : 6 : deviceID : function : 6666 : 7777 : 8888 VLAN番号でもVRFでも 好きな情報が書き込める
  6. SRv6 Single Stack Backbone • 2018年: 相互接続性検証 2019年: Service Chaining

    2021年: SR-MPLS/SRv6 interwork • 2022年ついにShowNetバックボーン 全体がSRv6 Layer-3 VPN化 • ルータ間リンクはIPv6 Link Local Only • トラフィックは全てSRv6で転送 • SRv6 Flex Algo • Micro-SID 相互接続検証
  7. SRv6 SID in ShowNet 2022 RP/0/RP1/CPU0:ncs57c3.noc#show segment-routing srv6 sid Wed

    Jun 15 08:39:24.999 JST *** Locator: 'shownet' *** 2001:3e8:fa00:3:1:: End (PSP/USD) 'default':1 sidmgr InUse Y 2001:3e8:fa00:3:40:: End.X (PSP/USD) [Hu0/0/0/27.6, Link-Local] isis-290 InUse Y 2001:3e8:fa00:3:41:: End.X (PSP/USD) [Hu0/0/0/26.2, Link-Local] isis-290 InUse Y 2001:3e8:fa00:3:42:: End.X (PSP/USD) [Hu0/0/0/24.1, Link-Local] isis-290 InUse Y 2001:3e8:fa00:3:43:: End.DT6 'vrf-global' bgp-290 InUse Y 2001:3e8:fa00:3:44:: End.DT4 'vrf-global' bgp-290 InUse Y 2001:3e8:fa00:3:45:: End.DX2 310:310 l2vpn_srv6 InUse Y 2001:3e8:fa00:3:46:: End.X (PSP/USD) [FH0/0/2/0.5, Link-Local] isis-290 InUse Y • SRv6 SID Design • 2001:3e8:faAlgoID:deviceID:function::/64
  8. IPv6 only backbone SRv6 L3VPN in ShowNet 2022 • SIDと紐づくFunctionによってL3VPNを構築

    • ルータ同士がBGPでSIDを交換しSRv6オーバーレイを構築 • draft-ietf-bess-srv6-services ベース • 4ベンダー9機種によって相互接続を実施(2021年は4ベンダー5機種) fx2.noc#show ip route vrf vrf-global 1.0.0.0 Routing entry for 1.0.0.0/24 Known via "bgp", distance 200, metric 0, best, redistributed Encapsulation Information: Tunnel Type: SRv6 Tunnel IF: Tunnel1 (Data: 0x55555a975310) Tunnel ID: 40001 Tunnel Endpoint: 2001:3e8:fa00:3:44:: (System VRF-ID: 0) Tunnel Parameter: (SID list) 2001:3e8:fa00:3:44:: Last update 01d01h31m ago 2001:3e8:fa00:3:44::, Tunnel1 (Tunnel-ID:40001), RD 45.0.0.6:1, System VRF-ID 5, NHD LINK Tunnel1 (937), refcnt 1038326 BGPによるSIDの交換 交換したSIDを宛先とした SRv6オーバーレイを構築
  9. IPv6 Link Local Only Backbone • バックボーンのルータ間はIPv6 Link Localアドレスのみ •

    Link Localアドレスは自動生成 ➢ルータ間のリンクにはアドレス設定無し • descriptionとmtu、機器によってipv6 enableやfamily isoなど • LoopbackにつけたGlobal Unicast IPv6アドレスでMP-BGP interface FourHundredGigE0/0/0/24.14 description fhg-0-2-0.ptx10k.noc mtu 9021 ipv6 enable
  10. SRv6 Flex-Algorithm • Flex Algoで5Gのトラフィックを 出展社トラフィックとは別のパスで転送 • 上記パスに含まれていない機器でも Flex Algoの設定は実施

    • AlgoのLocatorが広告されること なども確認 ncs55a1 ncs57c3 ne8000-x4 ptx10k fx2 fx2 acx7100 ne8000-f1a mx304 ncs57b1 出展社 トラフィック 5Gトラフィック
  11. SRv6 uSID Interoperability Test draft-filsfils-spring-net-pgm-extension-srv6-usid SA:2001:3e8:fa00:1::1 DA:2001:3e8:fa00:4:1:0:0:0 NH:RH Type:4(SRH) NH:IPv4|SL:1

    Segment List: [0]: 2001:3e8:fa00:5:45:0:0:0 [1]: 2001:3e8:fa00:4:1:0:0:0 [2]: 2001:3e8:fa00:3:48:0:0:0 [3]: 2001:3e8:fa00:2:1:0:0:0 [4]: 2001:3e8:fa00:1:42:0:0:0 SA:45.0.1.1 DA:45.0.1.5 Port:UDP UDP Header/Data SA:45.0.1.1 DA:45.0.1.5 Port:UDP UDP Header/Data SA:2001::1 DA:2001:3e8:100:200:300:400:500:: NH:IPv4 fcbb:6:10: fcbb:6:27:28:: fcbb:6:26: ncs57b1.svc cat9500x.usid fx2.usid noviflow wedge radware VM • SRv6 uSIDの相互接続試験を実施 • NCS57b1とFX2間でF3216 formatのuSIDをISIS/BGPにて広告、 疎通を確認 • ExplicitにPath制御することでNoviflow社のSWを通してuSIDを 用いたService chaining Function(End.SC)の接続、疎通を確認 RP/0/RP0/CPU0:ncs57b1.svc#show segment-routing srv6 sid (snip) *** Locator: ‘usid' *** SID Behavior Context -------------------------- ---------------- ------------------------------ fcbb:6:10:: uN (PSP/USD) 'default':1 fcbb:6:10:e000:: uDT4 'srv6-usid' fcbb:6:10:e001:: uA (PSP/USD) [FH0/0/0/28.35, Link-Local]:0
  12. ShowNetバックボーンにて400G ZR+を利用 • QSFP-DD/OSFPのフォームファクタに収まる400Gトランシーバ • トランシーバに変調用DSPチップを積み、高レートの通信を可能に • 伝送装置に使われる機能を小型化 • 伝送装置を介さずに回線の重畳と長距離伝送が可能※

    となる • L2/L3装置が直接長距離伝送を可能とするIP over DWDM ※ 但し、トランシーバだけで長距離利用できるかというとそうではなく 「 長距離伝送に耐えうる」であり、長距離には必ず伝送網の設計とAMPの導入が必要
  13. バックボーンと各ドメインの接続 • バックボーンのASと 各ドメインのASを分離 • バックボーンはAS290 • 各ドメインそれぞれに プライベートASをアサイン •

    基本的にはInter-AS Option-A 接続で統一 • 準備期間中は劇的にトポロジ が変化していく • 意図しない経路広告の防止 AS 290 AS 65200 AS 65300 AS 65400 AS 65500
  14. まとめ • 2022年のShowNet バックボーン • バックボーン全体にSRv6を適用 • SRv6 L3VPN, Flex

    Algoを用いてユーザおよび デモトラフィックを収容 • L2/L3装置が直接、長距離伝送を可能とする400G-ZR+を バックボーンの一部リンクに採用 • SRv6による長距離映像実験を実施 • 映像伝送に影響を与える遅延やジッダを計測 • 設計、構築時の考慮点
  15. END