Copyright © Interop Tokyo 2016 ShowNet NOC Team
ShowNetに見る、
バックボーンの機能としてのSDN/NFV
~ 技術の適材適所でつくるサービスチェイニング ~
2Copyright © Interop Tokyo 2016 ShowNet NOC Team
Software Defined Networking
• 様々な機能、定義、特徴がありますが、、
• ソフトウェアによるネットワーク制御?
• コントローラによる集中管理?
• 共通の大目的は、
今までのIPネットワークにはできなかったことの実現!
2
SDN? NFV?
3Copyright © Interop Tokyo 2016 ShowNet NOC Team
ShowNetでの取り組み
• 2012年 : OpenFlowの登場
• オンデマンドなパスの切り替え
• 攻撃トラフィックの吸い込み
• トラフィックの分離
3
4Copyright © Interop Tokyo 2016 ShowNet NOC Team
ShowNetでの取り組み
• 2013年 : 実ネットワークへの適用
• キャッシュとの連携
• OpenFlowによるモニタリング
• 出展者収容を仮想ルータと
OpenFlowで構築
4
5Copyright © Interop Tokyo 2016 ShowNet NOC Team
ShowNetでの取り組み
• 2014年 : 仮想ネットワークの導入
• 出展者ごとの仮想ネットワーク
• VAによるサービスの連結(NFV)
• 外部APIによる構築の自動化
5
6Copyright © Interop Tokyo 2016 ShowNet NOC Team
ShowNetでの取り組み
• 2015年 : スケールアウトするNFV
6
• 出展者の収容を仮想ルータで行う
のは2014年まで通り
• OpenFlowとSR-IOVを使った
ハードによるロードバランス
• マルチコアの利用による
高スループットの実現
7Copyright © Interop Tokyo 2016 ShowNet NOC Team
2016年のフォーカス: Service Chaining
• バックボーンネットワーク技術との融合
• ネットワーク全体をSDNで構築するのは正直難しい
• どうやってバックボーンとNFV網を適切に接続するか?
• そして、Network Functionの進化
• ソフトウェアパケット転送の高速化と高度化
7
ShowNet
Backbone
SDN/NFV
Network
どうやって繋ぎ、
制御するか?
8Copyright © Interop Tokyo 2016 ShowNet NOC Team
• BGP Flowspecで”乗り換え”、OpenFlowで”連結”
• バックボーン上で、BGP Flowspecを用いて
狙ったユーザのトラフィックをNFV網へ乗り換える
• Data Center内に構築されたNFV網
では、OpenFlowでよりきめ
細かなFunctionの連結を行う
NFV網内は
OpenFlowで制御
BGP
Flowspecで
NFV網へ
乗り換え
SDN/NFV@ShowNet 2016
8
9Copyright © Interop Tokyo 2016 ShowNet NOC Team
BGP Flow Specification
• BGPでフィルタールールを伝搬する技術
• RFC5575で規定。ActionのうちVRF Redirectを利用
• VRFを使って別面で作成したNFV網ネットワークに、狙った出展者
トラフィックをリダイレクト(乗り換え)
9
NFV Network Data Center (West)
vMX(仮想RR)
ASR9006
VRFによる
仮想スライス
BGP Flowspec:
狙ったIPアドレスをマッ
チして仮想面へ乗り換
えるよう経路広告
仮想面の
VRF(290:510)へ
該当トラフィック
をリダイレクト
10Copyright © Interop Tokyo 2016 ShowNet NOC Team
PF5248PF5248
V350
OpenFlowによるサービスチェイン
• DC内はOpenFlowでより細かいチェインを構築
10
• Flowspecでネットワークを乗り換え、
DC内ではOpenFlowで制御
• OpenFlow Switch
• NEC: PF5248, FXC: V350
• Network Function
• A10 Network
Thunder 5435CFW: Firewall
Thunder 6435TPS : DDoS Mitigator
• Cisco Systems
Firepower 9300 : Firewall
Firepower 4120 : DDoS Mitigator
• IP Infusion
VirNOS : ACL base Firewall
and Lagopus
Lagopus
NFV Network
Thunder 5435CFW
Thunder 6435TPS
Firepower 4120
Firepower 9300
VirNOS
VirNOS
NetFPGA-SUME
11Copyright © Interop Tokyo 2016 ShowNet NOC Team
PF5248PF5248
V350
OpenFlowによるサービスチェイン
• DC内はOpenFlowでより細かいチェインを構築
11
• Flowspecでネットワークを乗り換え、
DC内ではOpenFlowで制御
• OpenFlow Switch
• NEC: PF5248, FXC: V350
• Network Function
• A10 Network
Thunder 5435CFW: Firewall
Thunder 6435TPS : DDoS Mitigator
• Cisco Systems
Firepower 9300 : Firewall
Firepower 4120 : DDoS Mitigator
• IP Infusion
VirNOS : ACL base Firewall
and Lagopus
Lagopus
NFV Network
Thunder 5435CFW
Thunder 6435TPS
Firepower 4120
Firepower 9300
VirNOS
VirNOS
NetFPGA-SUME
12Copyright © Interop Tokyo 2016 ShowNet NOC Team
ユーザごとにチェインを制御
• Flowspecで曲げ、
OpenFlowでつなげる
• Rest APIで経路操作
• 瞬時にチェインを切り替え
12
http://172.16.x.x/install/45.0.y.y/24/tps-fp9
curl, httpie, wget, etc..
13Copyright © Interop Tokyo 2016 ShowNet NOC Team
トラフィック制御の適材適所
• BGP Flowspecで”乗り換え”、OpenFlowで”連結”
• BGPというバックボーンにおけるトラフィック制御を取
り入れることで、SDNに特化した製品をいれることなく
狙ったトラフィックを誘導
• DC内でのみOpenFlowを使った
細かいチェインの制御を行う
13
NFV網、
OpenFlow制御
BGP Flowspecで
DCへ乗り換え
14Copyright © Interop Tokyo 2016 ShowNet NOC Team
ソフトウェアパケット転送技術の進化
• 高速パケットI/O技術を用いたソフトウェア
• Intel DPDKに代表される、Poll Mode Driver、パケッ
トのバッチ処理、そしてカーネルバイパス
• DPDKを使った高速な仮想スイッチと仮想ルータの登場
• VirNOS: 仮想ルータ
• Lagopus: 仮想OpenFlowスイッチ
14
15Copyright © Interop Tokyo 2016 ShowNet NOC Team
Lagopus and VirNOS
• HV上の複数のVirNOSへ、Lagopusで転送
• DPDKなVMと仮想スイッチ間で”vhost-user”を利用
HV側の仮想スイッチと、VM側のドライバが、shared memoryを
介してパケットのやり取りを行う → 現状最速(?)のHV/VM間通信
15
HV
Lagopus
Lagopus
Virtio
Vhost-user
(Kernelバイパス)
HV NIC Shared
Memory
VM vNIC Shared
Memory
16Copyright © Interop Tokyo 2016 ShowNet NOC Team
ソフトウェアパケット転送における考慮点
• コンピュータアーキテクチャへの理解が必要
• プロセスやワーカーのCPUへの割り付け方
• NICが接続されたCPUとVMが動作するCPU
• どのCPUでどのプロセスを動かすかによって性能が大きく変化
16
core
core
core
core
core
core
core
core
Virtual
Switch
core
core
core
core
core
core
core
core
Virtual
Router
socket 0 socket 1
core
core
core
core
core
core
core
core
core
core
core
core
core
core
core
core
Memory
socket 0 socket 1
Memory
Memory
Memory
Virtual
Router
Virtual
Switch
17Copyright © Interop Tokyo 2016 ShowNet NOC Team
Programmable Hardwareの利用
• さらなる未来: OpenFlowの次は?
• OpenFlowはマッチと書き換え。計算はできない
• 5-tupleをマッチすると、32+32+16+16 = 2の96乗通り
• 新しいプロトコルヘッダにはなかなか対応できない
• →ハードウェアの挙動さえプログラミングしたい!
• NetFPGA-SUMEを使ったデモンストレーション
17
HV
Lagopus
Lagopus
② 埋め込まれた
ハッシュ値をもとに
転送に使うVMへ
OpenFlowで転送 ① Src/Dst IPから
ハッシュ値を計算、
Src MACの下位8bitに
埋め込む
Uplink
Downlink
Src/Dst IPを分散に使いつつ、
OpenFlowでマッチするのは8bit分のみ
18Copyright © Interop Tokyo 2016 ShowNet NOC Team
SDN/NFV@ShowNet まとめ
• 適材適所なフロー制御技術の活用
• “ネットワークの全てをSDNで”はハードルが高い
バックボーンはBGP Flowspecで、
データセンター内はOpenFlowで。
• ソフトウェアによるパケット処理の進化
• 10Gbpsは出せる。25, 40, 100Gbpsと高速化にも期待
• 真剣に使うには、プログラミングだけでなく、
コンピュータアーキテクチャに立ち返る必要がある
18

2016-ShowNetステージ-バックボーンの機能としてのSDN/NFV

  • 1.
    Copyright © InteropTokyo 2016 ShowNet NOC Team ShowNetに見る、 バックボーンの機能としてのSDN/NFV ~ 技術の適材適所でつくるサービスチェイニング ~
  • 2.
    2Copyright © InteropTokyo 2016 ShowNet NOC Team Software Defined Networking • 様々な機能、定義、特徴がありますが、、 • ソフトウェアによるネットワーク制御? • コントローラによる集中管理? • 共通の大目的は、 今までのIPネットワークにはできなかったことの実現! 2 SDN? NFV?
  • 3.
    3Copyright © InteropTokyo 2016 ShowNet NOC Team ShowNetでの取り組み • 2012年 : OpenFlowの登場 • オンデマンドなパスの切り替え • 攻撃トラフィックの吸い込み • トラフィックの分離 3
  • 4.
    4Copyright © InteropTokyo 2016 ShowNet NOC Team ShowNetでの取り組み • 2013年 : 実ネットワークへの適用 • キャッシュとの連携 • OpenFlowによるモニタリング • 出展者収容を仮想ルータと OpenFlowで構築 4
  • 5.
    5Copyright © InteropTokyo 2016 ShowNet NOC Team ShowNetでの取り組み • 2014年 : 仮想ネットワークの導入 • 出展者ごとの仮想ネットワーク • VAによるサービスの連結(NFV) • 外部APIによる構築の自動化 5
  • 6.
    6Copyright © InteropTokyo 2016 ShowNet NOC Team ShowNetでの取り組み • 2015年 : スケールアウトするNFV 6 • 出展者の収容を仮想ルータで行う のは2014年まで通り • OpenFlowとSR-IOVを使った ハードによるロードバランス • マルチコアの利用による 高スループットの実現
  • 7.
    7Copyright © InteropTokyo 2016 ShowNet NOC Team 2016年のフォーカス: Service Chaining • バックボーンネットワーク技術との融合 • ネットワーク全体をSDNで構築するのは正直難しい • どうやってバックボーンとNFV網を適切に接続するか? • そして、Network Functionの進化 • ソフトウェアパケット転送の高速化と高度化 7 ShowNet Backbone SDN/NFV Network どうやって繋ぎ、 制御するか?
  • 8.
    8Copyright © InteropTokyo 2016 ShowNet NOC Team • BGP Flowspecで”乗り換え”、OpenFlowで”連結” • バックボーン上で、BGP Flowspecを用いて 狙ったユーザのトラフィックをNFV網へ乗り換える • Data Center内に構築されたNFV網 では、OpenFlowでよりきめ 細かなFunctionの連結を行う NFV網内は OpenFlowで制御 BGP Flowspecで NFV網へ 乗り換え SDN/NFV@ShowNet 2016 8
  • 9.
    9Copyright © InteropTokyo 2016 ShowNet NOC Team BGP Flow Specification • BGPでフィルタールールを伝搬する技術 • RFC5575で規定。ActionのうちVRF Redirectを利用 • VRFを使って別面で作成したNFV網ネットワークに、狙った出展者 トラフィックをリダイレクト(乗り換え) 9 NFV Network Data Center (West) vMX(仮想RR) ASR9006 VRFによる 仮想スライス BGP Flowspec: 狙ったIPアドレスをマッ チして仮想面へ乗り換 えるよう経路広告 仮想面の VRF(290:510)へ 該当トラフィック をリダイレクト
  • 10.
    10Copyright © InteropTokyo 2016 ShowNet NOC Team PF5248PF5248 V350 OpenFlowによるサービスチェイン • DC内はOpenFlowでより細かいチェインを構築 10 • Flowspecでネットワークを乗り換え、 DC内ではOpenFlowで制御 • OpenFlow Switch • NEC: PF5248, FXC: V350 • Network Function • A10 Network Thunder 5435CFW: Firewall Thunder 6435TPS : DDoS Mitigator • Cisco Systems Firepower 9300 : Firewall Firepower 4120 : DDoS Mitigator • IP Infusion VirNOS : ACL base Firewall and Lagopus Lagopus NFV Network Thunder 5435CFW Thunder 6435TPS Firepower 4120 Firepower 9300 VirNOS VirNOS NetFPGA-SUME
  • 11.
    11Copyright © InteropTokyo 2016 ShowNet NOC Team PF5248PF5248 V350 OpenFlowによるサービスチェイン • DC内はOpenFlowでより細かいチェインを構築 11 • Flowspecでネットワークを乗り換え、 DC内ではOpenFlowで制御 • OpenFlow Switch • NEC: PF5248, FXC: V350 • Network Function • A10 Network Thunder 5435CFW: Firewall Thunder 6435TPS : DDoS Mitigator • Cisco Systems Firepower 9300 : Firewall Firepower 4120 : DDoS Mitigator • IP Infusion VirNOS : ACL base Firewall and Lagopus Lagopus NFV Network Thunder 5435CFW Thunder 6435TPS Firepower 4120 Firepower 9300 VirNOS VirNOS NetFPGA-SUME
  • 12.
    12Copyright © InteropTokyo 2016 ShowNet NOC Team ユーザごとにチェインを制御 • Flowspecで曲げ、 OpenFlowでつなげる • Rest APIで経路操作 • 瞬時にチェインを切り替え 12 http://172.16.x.x/install/45.0.y.y/24/tps-fp9 curl, httpie, wget, etc..
  • 13.
    13Copyright © InteropTokyo 2016 ShowNet NOC Team トラフィック制御の適材適所 • BGP Flowspecで”乗り換え”、OpenFlowで”連結” • BGPというバックボーンにおけるトラフィック制御を取 り入れることで、SDNに特化した製品をいれることなく 狙ったトラフィックを誘導 • DC内でのみOpenFlowを使った 細かいチェインの制御を行う 13 NFV網、 OpenFlow制御 BGP Flowspecで DCへ乗り換え
  • 14.
    14Copyright © InteropTokyo 2016 ShowNet NOC Team ソフトウェアパケット転送技術の進化 • 高速パケットI/O技術を用いたソフトウェア • Intel DPDKに代表される、Poll Mode Driver、パケッ トのバッチ処理、そしてカーネルバイパス • DPDKを使った高速な仮想スイッチと仮想ルータの登場 • VirNOS: 仮想ルータ • Lagopus: 仮想OpenFlowスイッチ 14
  • 15.
    15Copyright © InteropTokyo 2016 ShowNet NOC Team Lagopus and VirNOS • HV上の複数のVirNOSへ、Lagopusで転送 • DPDKなVMと仮想スイッチ間で”vhost-user”を利用 HV側の仮想スイッチと、VM側のドライバが、shared memoryを 介してパケットのやり取りを行う → 現状最速(?)のHV/VM間通信 15 HV Lagopus Lagopus Virtio Vhost-user (Kernelバイパス) HV NIC Shared Memory VM vNIC Shared Memory
  • 16.
    16Copyright © InteropTokyo 2016 ShowNet NOC Team ソフトウェアパケット転送における考慮点 • コンピュータアーキテクチャへの理解が必要 • プロセスやワーカーのCPUへの割り付け方 • NICが接続されたCPUとVMが動作するCPU • どのCPUでどのプロセスを動かすかによって性能が大きく変化 16 core core core core core core core core Virtual Switch core core core core core core core core Virtual Router socket 0 socket 1 core core core core core core core core core core core core core core core core Memory socket 0 socket 1 Memory Memory Memory Virtual Router Virtual Switch
  • 17.
    17Copyright © InteropTokyo 2016 ShowNet NOC Team Programmable Hardwareの利用 • さらなる未来: OpenFlowの次は? • OpenFlowはマッチと書き換え。計算はできない • 5-tupleをマッチすると、32+32+16+16 = 2の96乗通り • 新しいプロトコルヘッダにはなかなか対応できない • →ハードウェアの挙動さえプログラミングしたい! • NetFPGA-SUMEを使ったデモンストレーション 17 HV Lagopus Lagopus ② 埋め込まれた ハッシュ値をもとに 転送に使うVMへ OpenFlowで転送 ① Src/Dst IPから ハッシュ値を計算、 Src MACの下位8bitに 埋め込む Uplink Downlink Src/Dst IPを分散に使いつつ、 OpenFlowでマッチするのは8bit分のみ
  • 18.
    18Copyright © InteropTokyo 2016 ShowNet NOC Team SDN/NFV@ShowNet まとめ • 適材適所なフロー制御技術の活用 • “ネットワークの全てをSDNで”はハードルが高い バックボーンはBGP Flowspecで、 データセンター内はOpenFlowで。 • ソフトウェアによるパケット処理の進化 • 10Gbpsは出せる。25, 40, 100Gbpsと高速化にも期待 • 真剣に使うには、プログラミングだけでなく、 コンピュータアーキテクチャに立ち返る必要がある 18