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

ShowNet2021 L2/L3_srv6_gu_parapara

ShowNet2021 L2/L3_srv6_gu_parapara

ShowNet

July 01, 2021
Tweet

More Decks by ShowNet

Other Decks in Technology

Transcript

  1. IPv6 Segment Routing相互接続性試験 • SRv6 L3VPNのコントロールプレーンに関する相互接続性試験を実施 • Cisco: ASR9904, Nexus

    93600cd-gx • 古河電工: FX201 • Huawei: NE8000-M14 • Juniper Networks: MX10003 • SR-MPLS/SRv6 Interworkによる SR-MPLSバックボーンとの接続 • SRv6 L3VPN区間のアンダーレイは IPv6 Link Localアドレスのみで構成 ne8000-m14 asr9904 fx201 fx201 mx10003 n936000cd-gx SRv6によるネットワーク
  2. SRv6とは • Segment RoutingのDataplane にIPv6 Headerを使う方式 • パケットの中に経由点の情報を埋め込み、 それに従ってルーティングする仕組み •

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

    SRv6 SID は128ビットのIPv6アドレス表記 • Locator: SRv6のノードへルーティングするためのビット • Function: SRv6のノードにおいて取られるアクションを示すビット • Argument [optional]: アクションで使用される引数 • ShowNet 2021ではFunctionとしてL3VPNを利用 Locator Function Argument 2001 : 3e8 : 6 : deviceID : 0041 : 6666 : 7777 : 8888 VLAN番号でもVRFでも 好きな情報が書き込める ShowNet2021ではL3VPNに利用
  4. ShowNet 2019 SRv6の課題の一つ • コントロールプレーンが未実装 • 手動Config + OSPFv3 with

    VRF(Virtual Routing and Forwarding)によるワー クアラウンド的な手法を用いた • SIDやSID listの手動Configや故障検 知による経路迂回を行うためには ルーティングプロトコルの実装が 望ましい if SID A, do Proxy in VRF Advertise SID A from VRF SID AがService Functionを経由して伝搬
  5. ShowNet 2021 SRv6相互接続のチャレンジ • SIDの配布や経路制御をDynamic Routing Protocolで実施 • Cisco: ASR9904,

    Nexus 93600cd-gx • 古河電工: FX201 • Huawei: NE8000-M14 • Juniper Networks: MX10003 • SRv6 L3VPNのアンダーレイは IPv6 Link Localアドレスのみで構成 • draft-ietf-lsr-isis-srv6-extension • SRv6 L3VPNのオーバーレイはEnd.DT4/6のFunctionで構成 • draft-ietf-bess-srv6-services ne8000-m14 asr9904 fx201 fx201 mx10003 n936000cd-gx SRv6によるネットワーク
  6. IPv6 Link Local Only Underlay • SRv6区間のリンクはIPv6 Link Localのみ付与 •

    ユーザのIPv4/IPv6トラフィックは全てSRv6 L3VPNで転送 • Single Stack Backbone • IPv4/IPv6 as a Service • 経路制御 • IGPはISIS、Level 2のみ、IPv6 Unicastのみ • MP-BGPはloopbackにつけた/128のIPv6 Global Addressで行う • IGPにのる経路はLoopbackとSRv6のLocatorのみ
  7. SRv6 SID in ShowNet2021 • SRv6 SID Design: 2001:3e8:6:deviceID:function::/64 RP/0/RSP0/CPU0:asr9904.noc#show

    segment-routing srv6 sid Tue Apr 13 14:24:57.475 JST *** Locator: 'shownet' *** SID Behavior Context Owner State RW -------------------------- ---------------- ------------------------------ ------------------ ----- -- 2001:3e8:6:5:1:: End (PSP) 'default':1 sidmgr InUse Y 2001:3e8:6:5:11:: End.OP 'default' sidmgr InUse Y 2001:3e8:6:5:40:: End.DT4 'vrf-global' bgp-290 InUse Y 2001:3e8:6:5:41:: End.X (PSP) [Te0/1/0/0.212, Link-Local] isis-291 InUse Y 2001:3e8:6:5:42:: End.X (PSP) [Te0/1/0/1.218, Link-Local] isis-291 InUse Y 2001:3e8:6:5:43:: End.DT6 'vrf-global' bgp-290 InUse Y 2001:3e8:6:5:44:: End.X (PSP) [Hu0/0/0/3.208, Link-Local] isis-291 InUse Y 2001:3e8:6:5:45:: End.X (PSP) [Hu0/0/0/5.214, Link-Local] isis-291 InUse Y 2001:3e8:6:5:46:: End.DT6 'vrf-global-srv6' bgp-290 InUse Y 2001:3e8:6:5:47:: End.DT4 'vrf-private' bgp-290 InUse Y 2001:3e8:6:5:48:: End.DT4 'vrf-super-ocn' bgp-290 InUse Y 2001:3e8:6:5:49:: End.DT4 'vrf-cloud' bgp-290 InUse Y 2001:3e8:6:5:4a:: End.DT6 'vrf-private' bgp-290 InUse Y 2001:3e8:6:5:4b:: End.DT6 'vrf-super-ocn' bgp-290 InUse Y 2001:3e8:6:5:4c:: End.DT6 'vrf-private-srv6' bgp-290 InUse Y 2001:3e8:6:5:4d:: End.DT6 'vrf-super-ocn-srv6' bgp-290 InUse Y
  8. IS-IS Extension for SRv6 draft-ietf-lsr-isis-srv6-extensions • ISISでSRv6のLocator情報などを広告するのに使用 • 主に以下のTLVを拡張 •

    IS-IS Router CAPABILITY TLV (242) : 自身の Capability を広告 • IPv6 TE Router ID Sub-TLV (12) : IPv6 TE Router ID (16 octets) • SRv6 Capabilities Sub-TLV (25) : SRv6 Capabilityの有無 • Node MSD Sub-TLV (23) : Maximum SID Depth (MSD) • SRv6 Locator TLV (27) : Locator と Endpoint Function の SIDを広告 • SRv6 End SID Sub-TLV (5): Endpoint Function とそれに紐付く SIDを広告 • 上記がすべてのTLVではないですが、ShowNetで今回利用し たTLVに関しては問題なく接続できました
  9. 課題が多かったのはBGP… draft-ietf-bess-srv6-services • BGP Prefix-SID TLVにてSIDの広告を行うが、Draft上変更 が非常に多い • もともと使っていたType-4 TLVはすでにdeprecated

    • draft-02からSRv6 SID Structure Sub-Sub-TLV という新しいTLVが 登場、これ以前とのインオペが取れず(現行の最新は07) • Structure Sub-Sub-TLVに対応していても解釈の違い(先頭から 読むのか、後ろから読むのかなど) • 結果として、全ベンダがHotstage中にVersion up • 無事にサービスの疎通を確認
  10. SR MPLS BackboneとのInterwork draft-agrawal-spring-srv6-mpls-interworking • End.DTMのDataplane実装が サポートされている場合は SR-MPLS/SRv6 Interwork •

    サポートされていない(VPNv6) などの場合は筐体内(外) Option-A接続で疎通 ptx10001-36mr asr9902 ne8000-x4 ne8000-m14 asr9904 ncs55a1 ne8000-f1a fx201 mx10003 n936000cd-gx fx201 SR-MPLSとSRv6のSID Stiching
  11. SR-MPLSによるトラフィック制御 • Flex-Algoによる4K映像伝送 • 映像トラフィックを 選択的に広帯域リンクへ • Egress Peer Engineering

    • SRを用いて任意のパケットを 任意のピアASへ送信 • これを用いた計測実験を実施中 ptx10001-36mr asr9902 ne8000-x4 ne8000-m14 asr9904 c8201 ncs55a1 ne8000-f1a 4K映像 トラフィック EPEによる 計測トラフィック SR-MPLSによるバックボーン
  12. IGP Flex-Algorithm draft-ietf-lsr-flex-algo • ISIS Flexible Algorithm Definition Sub-TLVを用いて仮想的に ISISを分割、制御する方式

    • Prefix SIDにAlgoをつけて広告 • 各ノードはどのAlgoに所属して いるか周りのノードに広告
  13. ShowNet 2021におけるFlexAlgo • ne8000-x4.noc, ne8000-m14.noc c8201.nocの3台がFlexalgo(128) に所属していることを広告 • 広帯域Traffic (8k非圧縮映像など)

    をFlexalgo(128)上に載せることで 優先制御を実施 ptx10001-36mr asr9902 ne8000-x4 ne8000-m14 asr9904 c8201 ncs55a1 ne8000-f1a 4K映像 トラフィック SR-MPLSによるバックボーン