Slide 1

Slide 1 text

できなかったことから振り返る、 ShowNetバックボーンの変遷 ShowNet NOCチームメンバー 中村 遼

Slide 2

Slide 2 text

未来のネットワークのひとつのカタチ • 毎年たくさんのテクノロジーにチャレンジしています • 相互接続性検証 • 新しいネットワーク技術・設計 • 新しいアプリケーション

Slide 3

Slide 3 text

毎年全てが完璧にうまくいくわけがない...

Slide 4

Slide 4 text

毎年反省とアップグレードの繰り返し • ShowNetバックボーンの変遷 • 今年できなかったこと、うまくいかなかったことがある • 翌年はその反省を下敷に、より良いものを • できなかったこと • あまりお話する機会がないポイント • 2012年から振り返ってみたいと思います

Slide 5

Slide 5 text

バックボーンにおける取り組みから • より柔軟なネットワークを目指して • ネットワークにプログラマビリティの導入が始まり • ネットワークとソフトウェアの協調がすすみ • お互いバランスの良いところを模索したひとつの結果へ OpenFlow 2012 ~ 2013 SDN/NFV Service Chaining Segment Routing 2014 ~ 2016 2017 ~ 2019 (2020) ~ 2022

Slide 6

Slide 6 text

2012年: OpenFlowのデモンストレーション • SDNが流行り始め、OpenFlowの実機が登場 • セキュリティ装置との連携した被疑トラフィックの隔離 • ユーザがクリックして動的に パスを切り替え クリック 通常フロー 被疑フロー 攻撃フロー copy 解析 防御 通常 drop Data Plane Control Plane Packet In Flow Mod

Slide 7

Slide 7 text

2012年の反省: まだ出たて、来年は本気で • バックボーンに本気で組み込むにはまだ早かった • ShowNetのユーザのトラフィックを 運んでいたわけではない • 実用するにはまだ厳しいか • 開発のノウハウが 溜まっていなかった 来年こそはユーザトラフィックを OpenFlowで運びたい

Slide 8

Slide 8 text

2013年: SDNの実トラフィックへの適用 • ついに出展者収容にSDNを適用 • 仮想ルータで出展者セグメントを収容、ネットワークはOpenFlow • ネットワークをテンプレート化、固有の変数を埋め込み動的にデプロイ • 仮想ルータのデプロイとconfigロード、Flowのインストール • 今っぽく言うとInfrastructure as Code? • Webキャッシュ装置との連携 • http trafficのみOpenFlowで キャッシュへ誘導する ハードウェアネットワーク機器のOSが 仮想マシンとして動くようになった

Slide 9

Slide 9 text

2013年の反省: しんどかった... • 仮想ネットワークに関するノウハウやツールが足りず • 仮想ネットワークを構成するためのツールも全て自作 • 結果作った人以外誰も触れないブラックボックスと化す • 柔軟性に欠けていた • 一度デプロイしたら終わり • 動的にACLを変えるなど までは到達できず 2013年は徹夜の連続だった... 1ネットワークを1仮想ルータで収容、 一度デプロイしたら終わり しんどさをなんとかしたい。。 もっと動的にネットワークを制御したい

Slide 10

Slide 10 text

2014年: 複数仮想ルータのインテグレーション • 1出展者にNAT, FW, DPIの3つの仮想ルータをデプロイ • Web UIからルールを変更できるように • OpenFlowからVXLANベースにすることで、Linux内の操作で完結、 Ansibleで自動化が可能に NOC NFV : 仮想ネットワーク Hyper Visor 出展者ネットワーク NAT Firewall DPI NAT : Firefly Firewall : CSR1000V DPI : FortiGateVM HV2 DPI-HV1 HV1 veth veth S4810 DELL Firefly Juniper Networks CSR1000V Cisco Systems S4810-ON DELL DPIのON/OFF VXLAN + Bridge VXLAN + Bridge VXLAN + Bridge FortigateVM Fortinet

Slide 11

Slide 11 text

• ソフトウェアパケット処理の高速化が課題に • 展示会が始まる前にテスターで性能を計測 • 実は xxx Mbps程度しかなでなかった(と記憶している) • ソフトウェアパケット処理勃興期 • DPDKの最初のtag v.1.2.3r0が2012年9月 • 2014年はまだ製品としての仮想ルータに DPDKが入るほどではなかった • この年の設計がいけていなかったというのもある • VMをlinux bridge経由で同じサーバ上で 直列つなぎはそら性能でないわ HV Guest 2014年の反省: 性能がでない NIC Virtual NIC Software Switch Network Function CPU Memory

Slide 12

Slide 12 text

2015年: スループットの出るSDN/NFV • スケールアウトできる設計を考案 • ユーザ単位で仮想ルータをデプロイ するのをやめる • 複数の横並びした仮想ルータに トラフィックを分散する • その他にも色々なテクニックを併用 • SR-IOVや、DPDK搭載の仮想ルータ(!) • 詳細は論文に: Ryo Nakamura, Kazuya Okada, Shuichi Saito, Hiroyuki Tanahashi and Yuji Sekiya, "FlowFall: A Service Chaining Architecture with Commodity Technologies", 2nd IEEE International workshop on CoolSDN 2015, November 2015 Firewall トラフィック分析 DDoSミチゲータ OpenFlow Switch OpenFlow Switch vCPE IP Network OpenFlow Switch OpenFlow Switch IP Network to the Internet VM VM VM VM VM VM VM VM Bypass Link

Slide 13

Slide 13 text

2015年までずっとあきらめていたこと • 実は2013年2015年までSDNを適用した出展者は一部だけ • 全ユーザに適用するには自信がなかった • 2013年の反省、作った人以外触れない問題がいまだに解決できず • SDNが壊れたときに普通のIPにフォールバックする手段がなかった • (壊れなければどうということはない?) 2013年 2014年 2015年

Slide 14

Slide 14 text

2016年: OpenFlowとBGP Flowspecの適材適所 • Flowspecで乗り換え、OpenFlowでサービスチェイニング • VRFを使って仮想面として構築したNFVネットワークに、BGP Flowspecの VRF Redirectを使って、狙ったトラフィックだけを乗せ換える • BGP Flowspec自体は2015年のShowNetで相互接続検証を実施 • その先でOpenFlowによるサービスチェイン NFV Network Data Center (West) vMX(仮想RR) ASR9006 VRFによる 仮想スライス BGP Flowspec: 狙ったIPアドレスを マッチして仮想面へ 乗り換えるよう経路 広告 仮想面の VRF(290:510)へ 該当トラ フィックをリ ダイレクト

Slide 15

Slide 15 text

2016年の反省、またはできなかったこと • 最後に残った人間という名のSingle-Point-of-Failure • コントローラの実装者しかデバッグできない • 誰でも押せる緊急脱出ボタンは用意(Flowspec routeを消す) OpenFlowでサービスチェイニングできることはわかったので、 そろそろ次は別の方法でこのSPoFを解決したい OpenFlow デモ期 仮想ルータ の導入 性能の追求 実践的な 運用の希求 2012 2013, 2014 2015 2016

Slide 16

Slide 16 text

2017,18年: IP Routingによるサービスチェイニング • 誰でも簡単!IP経路制御でサービスチェイニング • VRFでサービスごとに独立したIPネットワークを構築 • BGP Flowspecでマッチしたトラフィックを 次のサービスのネットワークへリダイレクト • show routeでdebugできる!人的SPoFがなくなる Layer-3 ルータ VRF VRF VRF VRF VRF VRF VRF VRF デフォルト・ルーティングテーブル Flowspec VRF Redirect NOCお手製 コントローラ Flowspec 経路を注入

Slide 17

Slide 17 text

2017,18年はわりと動いた • 枯れた技術(IPルーティング)はやはりよくできている • 2017年はユーザトラフィックをサービスチェインまで運ぶ ためにEVPN/VXLANを用いた結果、そこで大変苦労したが... • 2018年は、今までで一番楽だったのでは?と思えるくらい (だったと記憶している) • IPであるがゆえの課題も • サービスチェインまでトラフィックを運ぶ部分は色々制約が • BGP Flowspecも本来はこのためのものではないしなぁ 次は新しいテクノロジーにチャレンジしたいところ

Slide 18

Slide 18 text

2019年: SRv6によるサービスチェイニング • SR:久しぶりの新しい Packet Forwarding Paradigm • SRv6のユースケースである サービスチェイニングを 実際に構築、運用 • 複数のIPv4チェインを 単一のSRv6 Proxyに多重化 する方法がなく、NOCで 考案し実装 SRv6ヘッダの付与 Proxyを通しつつ Functionを経由 元のIPパケットに 戻す

Slide 19

Slide 19 text

2019年: 標準化の進み具合と実装と • SRv6が標準化途中というもあり、かなり手強かった • SRv6 Proxyの様々な問題: 2本のinternet draftをNOCで執筆 • コントロールプレーンの実装がまだ無かった • 全て(e.g., SR-Policy)をstaticに設定 • 実際にstableなnetworkとして構築するのは厳しい... Segment Routingはいろいろできそうだし、 これからも実装がすすみそうなので、引き続き探究してみよう

Slide 20

Slide 20 text

新型コロナウィルス感染症の流行により Interop Tokyo 2020開催中止

Slide 21

Slide 21 text

2021年: Segment Routingによるバックボーン • 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

Slide 22

Slide 22 text

2021年の反省、またはできなかったこと • SRv6の相互接続はなかなか大変でした... • draft-ietf-bess-srv6-servicesの変更 • Next-hopがRFC5549からRFC8950に変更 • SRv6 SID Structure Sub-Sub-TLV問題(途中から登場、解釈に違いも) • 2021年4月、ぎりぎり動いたかな、というところでした • またこの年からサービスチェイニングをやめました • 2019年まで取り組みましたが、できることはわかったので • 他の部分(Segment Routing)に注力 来年はSRv6で色々な機能が動かせるといいな、、

Slide 23

Slide 23 text

2022年: SRv6 Single Stack Backbone • そしてついにShowNetバックボーンがフルSRv6化 • 詳細はL2/L3のセッションをご覧ください • ポイント • SRv6 L3VPNをサポートする機器の増加 • やっと相互接続しつつShowNet全体を カバーできる規模に • IPv6のみのバックボーン • Flex-Algoなども無事動作 • SRv6のv6透過性を活かした実験も

Slide 24

Slide 24 text

2022年: SRv6 Single Stack Backboneをやってみて • プログラマビリティは、そこにいますか? • RFC8986 SRv6 Network Programming: The concept of "SRv6 Network Programming" refers to the capability of an application to encode any complex program as a set of individual functions distributed through the network. • 2022年にできたのはL3VPNだけ • SDNやNFVでできたほどのプログラマビリティ(または柔軟性)は、 まだ発揮できてはいない(と、個人的には思う) SRv6のプログラマビリティを活かすにはどうすればいいのだろう?

Slide 25

Slide 25 text

2012年から振り返ってみて • 柔軟なネットワークの実現に向けて@Interop Tokyo ShowNet • ネットワークがプログラマビリティの獲得を目指す10年 ➢OpenFlowはrawすぎて、実際に使うにはハードルが高かった ➢ソフトウェアとネットワークの融合が進んだSDN/NFV ➢実践的な運用の楽さと、柔軟性を実現する複雑さのバランスをとった ソリューションとしてのSource Routingの再発見 実装・運用の大変さ(またはコスト) 得られるリターン (柔軟さの結果) SR IP OpenFlow P4 ? ?

Slide 26

Slide 26 text

まとめ • 何のプログラマビリティをどう活かすか • プログラマビリティは様々なレイヤーに存在する • 開発・運用の大変さと、得られるリターンのバランス • SRv6には引き続き期待 • 来年もぜひShowNetに足を お運びいただければ幸いです • 反省をよりよいデモに変えて • そしてコミュニティへの還元

Slide 27

Slide 27 text

No content