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

【shownet.conf_2023】ShowNetのネットワークを解説~最新鋭の技術で作るマルチテナントバックボーン~

ShowNet
October 02, 2023
1.7k

 【shownet.conf_2023】ShowNetのネットワークを解説~最新鋭の技術で作るマルチテナントバックボーン~

shownet.conf_ での講演資料(L2/L3)

ShowNet

October 02, 2023
Tweet

More Decks by ShowNet

Transcript

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

    1. パケットはリストの最初のSegmentを持つノードへ届く 2. ノードはパケットの宛先をリストの次のSegmentに書き換えて送 信 パケットは送信元が指定した箇所を経由しながら転送される(Source Routing) A B C D E Packet List: C,B,D Packet Packet
  2. ”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
  3. Segment Routing Interop in 2018 •相互接続性検証を実施 • SR-MPLS: OSPFv2 Basic

    + TI-LFA, BGP Prefix SID, TE, SRTE&PCEP • SRv6: ISIS, T.Encap, T.Insert
  4. SRv6 Service Chaining in 2019 • SRv6によるService Chaining • SRv6

    Service Programming • このSRv6でユーザトラフィックを任意のネットワーク サービスへ転送するデモンストレーションを実施
  5. SRv6 Service Chaining in 2019 • 2019年時点では複数のIPv4 チェインを単一のSRv6 Proxy に多重化する方法がなく、

    NOCで考案し実装 • SRv6のユースケースである サービスチェイニングを 実際に構築、運用 SRv6ヘッダの付与 Proxyを通しつつ Functionを経由 元のIPパケットに 戻す
  6. SRv6黎明期ならではの苦労も • 手動設定ながらなんとか冗長性を確保 • SRv6が標準化途中で当時BGPベースの提案が出はじめた段階 • 実際の機器への実装はまだだった • 全て(e.g., SR-Policy)をstaticに設定

    • 実際にstableなnetworkとして構築するのは厳しい... • ShowNetの構築で多くの課題を確認 SRv6 Proxyの様々な問題: 2本のinternet draftを NOCで執筆 • コミュニティへのフィードバック • draft-upa-srv6-service-chaining-exp • draft-eden-srv6-tagging-proxy spring@IETF 106 Singapore ShowNetで得られたSRv6 Service Chainingに 関する課題を共有
  7. SR-based Backbone in 2021 • 2019年にはなかったSRのコントロールプレーンが登場 • BGP-based SR-MPLS L3VPN

    • SR特有の機能はSR-MPLSで検証 • Flex-Algo • BGP Egress Peer Engineering • SRv6は相互接続検証 • draft-ietf-bess-srv6-services ne8000-m14 asr9904 fx201 fx201 mx10003 n936000cd-gx SRv6網 (サービス・DC) SR-MPLS網 (バックボーン) ne8000-f1a ncs55a1 ne8000-x4 asr9902 ptx1001-mr36
  8. 2021年時点のSegment Routing • SR-MPLS: 相互接続環境でリッチな機能も動く • Flex AlgoやEgress Peer Engineering

    • L3VPNももちろん動いた with SR-MPLS/SRv6 interwork • 2021年4月で時点ではSRv6と比較するとだいぶ枯れている様子 • SRv6: Layer-3VPNは5機種で相互接続まで動いた • draft-ietf-bess-srv6-servicesの変更 • Next-hopがRFC5549からRFC8950に変更 • SRv6 SID Structure Sub-Sub-TLV問題(途中から登場、解釈に違いも) • 2021年4月の段階でだいぶ大変ではありましたが... • これからこなれてくるはず 15
  9. SRv6 Single-Stack Multi-Service Backbone in 2022 • ShowNetバックボーンがフルSRv6化 • BackboneはIPv6のみ

    • 全てのIPv4/IPv6トラフィックは SRv6 L3VPNで転送 • SRv6 Flex Algo • uSID相互接続検証 • SRv6による動的な 長距離伝送路構築実験
  10. 今年のShowNetバックボーン • 対外接続の進化 • High-Power ZR+による400Gbps対外線収容 • RPKI • DDoS対策

    • フルVPN化 • VPNのメリットをさらに活用する方向に進化 • フルSRv6でのL3VPN網: 2022までの蓄積を活用 • EVPNベースのアクセス網: 今年の新たなチャレンジ
  11. IP over DWDMによるLayer統合 • IP over DWDMを用いたアーキテクチャの変遷 • Coherent OpticsによるTransponderとRouterの集約が可能

    21 従来のアーキテクチャ IP over DWDM router router transponder roadm roadm dwdm transponder router coherent Optics roadm roadm dwdm coherent optics router
  12. CLIによるWDMパラメータの取得 23 RP/0/RP0/CPU0:cisco8608.noc#show controllers optics 0/0/0/1 Fri Jun 16 13:59:49.670

    JST (snip) Optics Type: QDD 400G BRT ZRP DWDM carrier Info: C BAND, MSA ITU Channel=79, Frequency=192.20THz, Wavelength=1559.794nm Alarm Status: ------------- Detected Alarms: None LOS/LOL/Fault Status: Alarm Statistics: ------------- HIGH-RX-PWR = 0 LOW-RX-PWR = 0 HIGH-TX-PWR = 0 LOW-TX-PWR = 0 HIGH-LBC = 0 HIGH-DGD = 0 OOR-CD = 0 OSNR = 5 WVL-OOL = 0 MEA = 0 IMPROPER-REM = 0 TX-POWER-PROV-MISMATCH = 0 Laser Bias Current = 308.3 mA Actual TX Power = 1.01 dBm Actual TX Power(mW) = 1.26 mW RX Power = -15.35 dBm RX Power(mW) = 0.02 mW RX Signal Power = -15.62 dBm Frequency Offset = 546 MHz Laser Temperature = 53.80 Celsius Laser Age = 0 % RP/0/RP0/CPU0:cisco8608.noc#show controllers coherentDSP 0/0/0/1 Fri Jun 16 13:59:57.185 JST Port : CoherentDSP 0/0/0/1 Controller State : Up Inherited Secondary State : Normal Configured Secondary State : Normal Derived State : In Service Loopback mode : None BER Thresholds : SF = 1.0E-5 SD = 1.0E-7 Performance Monitoring : Enable Bandwidth : 400.0Gb/s Alarm Information: LOS = 5 LOF = 0 LOM = 0 OOF = 0 OOM = 0 AIS = 0 IAE = 0 BIAE = 0 SF_BER = 0 SD_BER = 0 BDI = 0 TIM = 0 FECMISMATCH = 0 FEC-UNC = 0 FLEXO_GIDM = 0 FLEXO-MM = 0 FLEXO-LOM = 0 FLEXO-RDI = 0 FLEXO-LOF = 0 Detected Alarms : None Bit Error Rate Information PREFEC BER : 3.0E-03 POSTFEC BER : 0.0E+00 Q-Factor : 8.70 dB Q-Margin : 2.30 dB OTU TTI Received FEC mode : O_FEC
  13. RPKIによるOrigin Validation • IPアドレス資源(Resource)の正当な保有者を公開鍵基盤(PKI) の仕組みで証明する仕組み • IPアドレスの保有者が、そのアドレスを広告するOrigin ASを 指定できる •

    Route Origin Authorization(ROA) • 受信したBGP経路がROAに適合するかを検証 25 RIR (APNIC) NIR (JPNIC) アドレス 保有者 署名 署名 ROA 署名 Trust Anchor
  14. BGP Flowspecによるトラフィック誘導 • BGP Flowspecを用いて対外接続ルータに接続したDDoS緩和 装置にトラフィックを誘導 28 tmshd1000plus tdd thunder7445

    ne8000m4-1 mx204 acx7100 DDoS DDoS DDoS Mitigation Traffic Mitigation Traffic Mitigation Traffic 正常 Traffic 正常 Traffic 正常 Traffic
  15. ShowNetのフルVPN化 • 今年のShowNetは 上から下まで 全てがVPN • バックボーンは SRv6 L3VPN •

    アクセス網は EVPN/VXLAN EVPN/VXLAN網 SRv6 L3VPN網 mx10004 ne8000m4 ex4100 s5732h nexus93108tc catalyst9300 ptx10001 mx204 ne8000m4 acx7100 8608 ncs57b1 acx7509 fx2 kamuee
  16. ユーザ ユーザ ユーザ ユーザ VPN化のモチベーション • オペレーションコスト • アンダーレイの構成が単純に •

    IPv6 link local only / IPv4 single stack • ホップバイホップに設定を投入する必要がない • スケーラビリティ • 広大かつ多ユーザなL2網をVLANのみで拡張していくのは難しい VPNの端点のみ 設定 間のリンクはIPかつ シングルスタック ホップバイホップに 設定が必要 ループ、MACアドレス テーブル、BUMトラ フィック、etc.
  17. 192.168.255.0/24@VRF A DT4 SID: 2001:3e8:fa00:1:4:: SRv6 End.DT4/DT6 • SRv6によってL3VPNを実現するための技術 (SID

    Function) 192.168.1.0/24@VRF A DT4 SID: 2001:3e8:fa00:2:4:: IPv6 Dst:2001:3e8:fa00:2:4:: IPv4 Dst: 192.168.1.1 IPv4パケットをDT4 SID宛の IPv6ヘッダでカプセル化 (Reduced SRH) 192.168.1.0/24@VRF AはDT4 SID: 2001:3e8:fa00:2:4:: の向こうにあることをBGPで経路広告
  18. マルチテナントはどう実現されるか • PEにVRFを作成し、 VRF間をSRv6 End.DT4/DT6によって 接続 • バックボーンのルータ 間はIPv6 Link

    Localアド レスのみで接続 interface FourHundredGigE0/0/0/24.14 description fhg-0-2-0.ptx10k.noc mtu 9021 ipv6 enable パケットをDT4/DT6 SID宛の IPv6ヘッダでカプセル化 カプセル化を解いてSIDが示 すVRFへ転送
  19. Default VRFをどう使うか問題 • インターネット接続面をVRFにす る場合の問題 • 装置によっては一部の機能がDefault VRFでしか動かない • アンダーレイとオーバーレイを別々

    に監視運用する必要 • 今年のShowNetでは、実験的にア ンダーレイとインターネット接続 面を両方ともDefault VRFに収容 • FX2/kamueeはこのために追加開発 外の世界とDefault VRFで接 続(DT4/DT6のSIDも付与) SRv6 L3VPNのアンダーレイ 側もDefault VRF
  20. SRv6 Flex-Algo • デモ用トラフィックを誘導する手法としてFlex-Algoを活用 • Flex-AlgoでのSRv6の各Locatorを広告 • IGP metric/TE metric/Delay

    metric/AffinityによるAlgo別の経 路制御 mx204 ne8000m4-1 acx7100 Ptx10001 MX10004 ne8000m4-2 ncs57b1 acx7509 fx2 kamuee cisco8608 TE metric Delay metric
  21. SRv6 uSID 35 • SRv6 uSIDの相互接続試験を実施 SRv6 uSIDとは SRv6 SIDのCompress方式の一つ(next-header)

    今年のShowNetではF3216方式で相互接続に挑戦 2001:3e8:0100:0200:0300:0400:0500:0000 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 SRv6 uSID Block (先頭32Bit) uSID1 uSID2 uSID3 uSID4 uSID5 EoC
  22. SRv6 L3VPN まとめと課題 • SRv6にしてよかったこと • アンダーレイが単純化(IPv6 Link Local Only)

    • SR-MPLSではBGPによる経路交換のためにIP/MPLSの両方が必要 • L3VPNの成熟したソリューション • 400Gbps程度であればきちんと性能も出る • Flex-Algo、uSIDなど拡張機能を使えばさらに柔軟な 経路制御が可能 • 一部Metricの広告など拡張機能が成熟するまでにはもう少し時間が必要 • 今後なんとかしたいこと • Network Programmabilityの活用
  23. EVPN-VXLANによるLayer-2の延伸 • VXLAN: EthernetフレームをIP越しに転送するオーバーレイ • EVPN: VXLANの転送先を解決するためのBGPの拡張 • VTEPとその配下にいる端末のMACアドレスのペアをBGPで交換 38

    Layer-3 Network VTEP: X VTEP: Z MAC A IP: Y Payload VTEP: Y BGPルートリフレクタ MAC A Payload MAC A Payload Host: MAC A データセンターやキャリアでの利用を想定し標準化、実装が進んだ技術
  24. EVPN/VXLANの何が良かったか • アンダーレイの構成がシンプルなL3になった • 冗長を取るのが楽 • MC-LAGや筐体を論理的に統合する機能が不要 • 仮に全体の規模が大きくなっても設定が必要なのはVTEPのみ ホール間でVLANを

    延伸するのが難しい 機器固有の論理合体 の機能が必要 1台ずつ独立構成 L3アンダーレイなのでVLANを どのVTEPにもループフリーで 延伸可能 2022 2023
  25. EVPN/VXLANの相互接続性 • マルチベンダでの相互接続には ハマりどころも多い • VLANの扱い (VLAN-Based / VLAN-Aware Bundle)

    • 設計思想の違いに起因する経路広告の内容 と期待動作 (特にType2経路にIPアドレスを含めるか) • それでも、実際に動くことは確か • ShowNet2023ではEVPN/VXLANのゲートウェ イとVTEPがマルチベンダで稼働
  26. 未解決の課題と今後の展望(1) • Network Programmabilityの活用 • 柔軟なパケット制御という観点でTEのユースケースについてはこ れまで継続してくることができた “specify a packet

    processing program by encoding a sequence of instructions in the IPv6 packet header” By RFC8986 • Network Programmabilityをより活かしていくための活用方法は 今後に期待したい Router A Router B Router C Router E Router D Advertise Locator fc00:a::/64 ISIS or OSPF with SRv6 extension Advertise Locator fc00:d::/64 Advertise Locator fc00:e::/64 IPv6 Hdr DA fc00:d:0:0:1:: SID fc00:e:0:0:1:: Payload SID fc00:d:0:0:1:: IPv6 Hdr DA fc00:e:0:0:1:: SID fc00:e:0:0:1:: Payload SID fc00:d:0:0:1:: End
  27. 未解決の課題と今後の展望(2) • SRv6の拡張機能の活用方法 • Flex-Algoのmetricなどまだ成熟していないソリューションの活用 • Delay metricの測定と活用 • EVPN

    VXLANの相互接続運用 • VLANの扱いや経路広告の内容の違い • ESI-LAGにおける冗長 draft-ietf-bess-rfc7432bisなど今後の動向に要注目 • Beyond 400GEの活用 • 800GEなどのInterface及び光変調可能なOpticsに期待
  28. まとめ • 2023年のShowNet バックボーン • 対外接続の進化 • High-Power ZR+による400Gbps対外線収容 •

    RPKI • DDoS対策 • フルVPN化 • VPNのメリットをさらに活用する方向に進化 • フルSRv6でのL3VPN網: 2022までの蓄積を活用 • EVPNベースのアクセス網: 今年の新たなチャレンジ