Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 1
ShowNetにおけるNFVの
スケールアウトテクニック
ShowNet Stage
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 2
Software Defined Networking
• 様々な定義、機能、項目がありますが、、
• ソフトウェアによるネットワーク制御?
• コントローラによる一括制御?
SDN Switch ?
今までのIP Networkにはできなかったことを!
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 3
ShowNetでの取り組み
• 2012年 : OpenFlowの登場
• オンデマンドなパスの切り替え
• 攻撃トラフィックの吸い込み
• トラフィックの分離
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 4
ShowNetでの取り組み
• 2013年 : 実ネットワークへの適用
• キャッシュとの連携
• OpenFlowによるモニタリング
• 出展者収容を仮想ルータと
OpenFlowで構築
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 5
ShowNetでの取り組み
• 2014年 : 仮想ネットワークの導入
• 出展者ごとの仮想ネットワーク
• VAによるサービスの連結(NFV)
• 外部APIによる構築の自動化
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 6
SDN/NFVの課題
• 性能面の課題
• ソフトウェアパケット転送のボトルネック
• どうやってサーバの追加で帯域や性能を増強していくか?
• 構築と運用の難しさ
• ネットワークに加えてサーバやプログラミングのスキルが必要
• 多種多様な構成技術によるデバックの難しさ
FirewallRouter
Switch
?
?
?
OpenFlowController/Or
chestrator
?
?
?
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 7
今年のSDN/NFVの取り組み
• スケールアウトするNFV
• バックボーンにおいて、
• サーバを追加すればするほど、
ネットワーク全体の転送量の
上がるNFV
• 容易なリソースの追加投入
• できるだけVMの構成を一元化
• コピーするだけでVM/サーバを
追加投入
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 8
SDN/NFV@ShowNet 2015
• スケールアウトできるNFV
1. 同一機能を複数のVAで構成
2. OpenFlowを用いた
複数VA間のロードバランス
3. 様々な高速化手法の利用に
よる性能の向上
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 9
Traffic analysis
Firewall
DDoSミチゲータ
vCPE (NAT/ToS)
SDN/NFV概要
• ユーザごとにサービスチェインを選択
• vCPEでパケットにマーキング
• 各サービスをToSの各bitに埋め込む
1. OpenFlowでサービスを適用するか判断
• ToSの特定bitをチェック
• 1ならVNFへ、0なら迂回
2. 1つのサービスを構成する複数VAへ分散
• 送信元アドレスをハッシュしてパケットを
転送するVAを決定
• OpenFlowで決定したVAへOutput
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 10
Traffic analysis
Firewall
DDoSミチゲータ
vCPE (NAT/ToS)
SDN/NFV概要
• ユーザごとにサービスチェインを選択
• vCPEでパケットにマーキング
• 各サービスをToSの各bitに埋め込む
1. OpenFlowでサービスを適用するか判断
• ToSの特定bitをチェック
• 1ならVNFへ、0なら迂回
2. 1つのサービスを構成する複数VAへ分散
• 送信元アドレスをハッシュしてパケットを
転送するVAを決定
• OpenFlowで決定したVAへOutput
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 11
Traffic analysis
Firewall
DDoSミチゲータ
vCPE (NAT/ToS)
SDN/NFV概要
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch• vCPEによる出展者収容
• NAT, サービス識別子の付与
• Juniper Networks, vSRX
• 3つのVNFの層
• DPI/トラフィック分析
• Paloalto Network, PA-VM
• Firewall
• Cisco Systems, CSR1000V
• DDoS Mitigation
• A10 Networks, Thunder 6435tps
• OpenFlow Switch
• NEC PF5248, PF5459
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 12
サービスの選択
• Webポータル画面から、
ユーザごとにチェインし
たいサービスを選択
• クリックすると、
コントローラがvCPEへ
ToSへのマークを指示
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 13
サービスの識別
• ToSを用いたユーザ単位のサービス識別
• Type of Serviceフィールドの各bitを、
VNFで実現される各サービスにマッピング
• vCPEでユーザごとに付与するサービスのbitを立てる
• そのほかのフィールドでも可能
PayloadIP
ToS : 0 0 0 0 1 1 0 0 = 4 bit目 トラフィック分析ON,
3 bit目 ACL ON
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 14
HV
ユーザトラフィック
OpenFlowによるパスの切り替え
• 転送時にパケットをVNFへ入れるかどうかを判断
• OpeFlowを用いて、ToSと送信元アドレスをマッチ
• ユーザ(アドレス)とそのサービス(ToS)をフローとして、フ
ローごとにVNFを通すか制御
Openflow Switch
ToSの
Xbit目が1
ToSの
Xbit目が0
Controller
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 15
サーバとVAの段階的追加による性能拡張
• OpenFlowスイッチでトラフィックを複数のVAに分散
• 同一設定のVAをコピー、またはサーバを追加投入していく
ことで、トラフィックをバランスしてスケールアウトでき
る
• どうしても変更が必要な部分には様々な自動化技術で対応
・・・VNF n
スケールアウト
ユーザトラフィック
Controller
OpenFlow Switch
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 16
パケットI/O高速化技術の利用
• できるだけ、
”ソフトウェアによるパケット処理は減らす”
• 現状では、ハードによる処理の方が当然早い
• なるべく仮想スイッチなどを使わずにがんばる
• PCI Pass-through
• SR-IOV
• Intel DPDK
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 17
PCI Pass-through
• HVのPCIデバイスを
VMに直接アタッチ
• HVのソフトウェア
ネットワークスタック
を経由しない
• ソフトウェアパケット
処理はVM内のみ
VM1
HV kernel
eth0
eth0
kernel
プロトコル
スタック
HVのパケット
処理をバイパス
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 18
PCI Pass-throughのShowNetでの利用
• HVのPCIデバイスを
VMに直接アタッチ
• OpenFlowスイッチに
接続するNICを直接
VMにパススルー
• Paloalto Networks,
VM-300にて利用
HV
OpenFlow Switch
OpenFlow Switch
eth0
eth1
eth1
eth0
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 19
Singe Root I/O Virtualization
• NICの仮想化
• 1つのNICを複数の
NICに分割
• 仮想NIC (Virtual
Function)を各VMへ
アタッチ
• VFをVMへアタッチ
VM1
HV kernel
eth0
HVのパケット
処理をバイパス
VM1
eth0
eth0
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 20
SR-IOVのShowNetでの利用
• 各VFを各VMにアタッチ
• OpenFlowでトラフィッ
クをVMへ分散
• VMを各CPUに割り当て
ることで、マルチコアを
有効に使ってパケットを
転送することが可能
• Cisco Systems,
CSR1000Vにて利用
HV
OpenFlow Switch
eth1
eth0
eth1
eth0
eth1
eth0
eth1
eth0
eth0
eth1
OpenFlow Switch
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 21
Intel Data Plane Development Kit
• Intel DPDK
• 高速パケットI/O技術
• DPDK自体はLinux上で動作
する専用のドライバとライブ
ラリ (SDK)
• Linux kernelのスケジューラ
とは切り離されたDPDKプロ
セスがコアを占有し、NICを
ポーリング、パケットの処理
を行う
Intel Architecture マシン
Linux
kernel
eth0 eth1
CPU1
DPDK
Process
CPU2
DPDK
Process
CPU3
DPDK
Process
CPU4
DPDK
Process
CPU5
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 22
vSRX
Linux
kernel
Intel DPDKのShowNetでの利用
• Intel DPDK対応の
Virtual Appliance
• Juniper Networks,
vSRX
• vCPEとして出展者
ネットワークを収容
• ToSフィールドの
書き換え
eth1
eth1
eth1
eth1
出展者収容アップリンク
Junos Control Plane
Data Plane with DPDK
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 23
まとめ
• スケールアウトするNFV
• 通るべきサービスの識別子をパケットに埋め込み、
• パケットI/O高速化技術を用いつつ、
• なるべく多くの同じVMを並べて性能を
スケールアウトする
Openflow
Switch
Openflow
Switch
Openflow
Switch
Openflow
Switch
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 24
他にも
• 本構成でOpenFlowのPacket-inを減らす手法
• VM以外のアプライアンスとの連携
• A10 Networks, Thunder 5435-tps
- DDoS mitigator
• NTT Communications, SAMURAI連携
• テスターによる性能計測
• などなど...
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 25
課題
• 性能
• 全くパケットロスをしない、というのは正直難しい
• 今回のように、スケールアウトなど構成に工夫が必要
• 安定性
• 汎用サーバと言っても実際には千差万別
• ハードの差異など、様々な部分によって問題が発生しうる
• リソース割り当ての最適化
• VAの種類によって、最適なコア数やメモリ量は異なる
• 利用するVAにあわせて、どの程度のスペックのHVにどの程度
の数のVAを同居させるか、詳細なチューニングが必須
Copyright © INTEROP TOKYO 2015 ShowNet NOC Team 26
ご静聴ありがとうございました

2015-ShowNetステージ-SDN/NFV

  • 1.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 1 ShowNetにおけるNFVの スケールアウトテクニック ShowNet Stage
  • 2.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 2 Software Defined Networking • 様々な定義、機能、項目がありますが、、 • ソフトウェアによるネットワーク制御? • コントローラによる一括制御? SDN Switch ? 今までのIP Networkにはできなかったことを!
  • 3.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 3 ShowNetでの取り組み • 2012年 : OpenFlowの登場 • オンデマンドなパスの切り替え • 攻撃トラフィックの吸い込み • トラフィックの分離
  • 4.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 4 ShowNetでの取り組み • 2013年 : 実ネットワークへの適用 • キャッシュとの連携 • OpenFlowによるモニタリング • 出展者収容を仮想ルータと OpenFlowで構築
  • 5.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 5 ShowNetでの取り組み • 2014年 : 仮想ネットワークの導入 • 出展者ごとの仮想ネットワーク • VAによるサービスの連結(NFV) • 外部APIによる構築の自動化
  • 6.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 6 SDN/NFVの課題 • 性能面の課題 • ソフトウェアパケット転送のボトルネック • どうやってサーバの追加で帯域や性能を増強していくか? • 構築と運用の難しさ • ネットワークに加えてサーバやプログラミングのスキルが必要 • 多種多様な構成技術によるデバックの難しさ FirewallRouter Switch ? ? ? OpenFlowController/Or chestrator ? ? ?
  • 7.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 7 今年のSDN/NFVの取り組み • スケールアウトするNFV • バックボーンにおいて、 • サーバを追加すればするほど、 ネットワーク全体の転送量の 上がるNFV • 容易なリソースの追加投入 • できるだけVMの構成を一元化 • コピーするだけでVM/サーバを 追加投入
  • 8.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 8 SDN/NFV@ShowNet 2015 • スケールアウトできるNFV 1. 同一機能を複数のVAで構成 2. OpenFlowを用いた 複数VA間のロードバランス 3. 様々な高速化手法の利用に よる性能の向上
  • 9.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 9 Traffic analysis Firewall DDoSミチゲータ vCPE (NAT/ToS) SDN/NFV概要 • ユーザごとにサービスチェインを選択 • vCPEでパケットにマーキング • 各サービスをToSの各bitに埋め込む 1. OpenFlowでサービスを適用するか判断 • ToSの特定bitをチェック • 1ならVNFへ、0なら迂回 2. 1つのサービスを構成する複数VAへ分散 • 送信元アドレスをハッシュしてパケットを 転送するVAを決定 • OpenFlowで決定したVAへOutput OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 10.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 10 Traffic analysis Firewall DDoSミチゲータ vCPE (NAT/ToS) SDN/NFV概要 • ユーザごとにサービスチェインを選択 • vCPEでパケットにマーキング • 各サービスをToSの各bitに埋め込む 1. OpenFlowでサービスを適用するか判断 • ToSの特定bitをチェック • 1ならVNFへ、0なら迂回 2. 1つのサービスを構成する複数VAへ分散 • 送信元アドレスをハッシュしてパケットを 転送するVAを決定 • OpenFlowで決定したVAへOutput OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch
  • 11.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 11 Traffic analysis Firewall DDoSミチゲータ vCPE (NAT/ToS) SDN/NFV概要 OpenFlow Switch OpenFlow Switch OpenFlow Switch OpenFlow Switch• vCPEによる出展者収容 • NAT, サービス識別子の付与 • Juniper Networks, vSRX • 3つのVNFの層 • DPI/トラフィック分析 • Paloalto Network, PA-VM • Firewall • Cisco Systems, CSR1000V • DDoS Mitigation • A10 Networks, Thunder 6435tps • OpenFlow Switch • NEC PF5248, PF5459
  • 12.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 12 サービスの選択 • Webポータル画面から、 ユーザごとにチェインし たいサービスを選択 • クリックすると、 コントローラがvCPEへ ToSへのマークを指示
  • 13.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 13 サービスの識別 • ToSを用いたユーザ単位のサービス識別 • Type of Serviceフィールドの各bitを、 VNFで実現される各サービスにマッピング • vCPEでユーザごとに付与するサービスのbitを立てる • そのほかのフィールドでも可能 PayloadIP ToS : 0 0 0 0 1 1 0 0 = 4 bit目 トラフィック分析ON, 3 bit目 ACL ON
  • 14.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 14 HV ユーザトラフィック OpenFlowによるパスの切り替え • 転送時にパケットをVNFへ入れるかどうかを判断 • OpeFlowを用いて、ToSと送信元アドレスをマッチ • ユーザ(アドレス)とそのサービス(ToS)をフローとして、フ ローごとにVNFを通すか制御 Openflow Switch ToSの Xbit目が1 ToSの Xbit目が0 Controller
  • 15.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 15 サーバとVAの段階的追加による性能拡張 • OpenFlowスイッチでトラフィックを複数のVAに分散 • 同一設定のVAをコピー、またはサーバを追加投入していく ことで、トラフィックをバランスしてスケールアウトでき る • どうしても変更が必要な部分には様々な自動化技術で対応 ・・・VNF n スケールアウト ユーザトラフィック Controller OpenFlow Switch
  • 16.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 16 パケットI/O高速化技術の利用 • できるだけ、 ”ソフトウェアによるパケット処理は減らす” • 現状では、ハードによる処理の方が当然早い • なるべく仮想スイッチなどを使わずにがんばる • PCI Pass-through • SR-IOV • Intel DPDK
  • 17.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 17 PCI Pass-through • HVのPCIデバイスを VMに直接アタッチ • HVのソフトウェア ネットワークスタック を経由しない • ソフトウェアパケット 処理はVM内のみ VM1 HV kernel eth0 eth0 kernel プロトコル スタック HVのパケット 処理をバイパス
  • 18.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 18 PCI Pass-throughのShowNetでの利用 • HVのPCIデバイスを VMに直接アタッチ • OpenFlowスイッチに 接続するNICを直接 VMにパススルー • Paloalto Networks, VM-300にて利用 HV OpenFlow Switch OpenFlow Switch eth0 eth1 eth1 eth0
  • 19.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 19 Singe Root I/O Virtualization • NICの仮想化 • 1つのNICを複数の NICに分割 • 仮想NIC (Virtual Function)を各VMへ アタッチ • VFをVMへアタッチ VM1 HV kernel eth0 HVのパケット 処理をバイパス VM1 eth0 eth0
  • 20.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 20 SR-IOVのShowNetでの利用 • 各VFを各VMにアタッチ • OpenFlowでトラフィッ クをVMへ分散 • VMを各CPUに割り当て ることで、マルチコアを 有効に使ってパケットを 転送することが可能 • Cisco Systems, CSR1000Vにて利用 HV OpenFlow Switch eth1 eth0 eth1 eth0 eth1 eth0 eth1 eth0 eth0 eth1 OpenFlow Switch
  • 21.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 21 Intel Data Plane Development Kit • Intel DPDK • 高速パケットI/O技術 • DPDK自体はLinux上で動作 する専用のドライバとライブ ラリ (SDK) • Linux kernelのスケジューラ とは切り離されたDPDKプロ セスがコアを占有し、NICを ポーリング、パケットの処理 を行う Intel Architecture マシン Linux kernel eth0 eth1 CPU1 DPDK Process CPU2 DPDK Process CPU3 DPDK Process CPU4 DPDK Process CPU5
  • 22.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 22 vSRX Linux kernel Intel DPDKのShowNetでの利用 • Intel DPDK対応の Virtual Appliance • Juniper Networks, vSRX • vCPEとして出展者 ネットワークを収容 • ToSフィールドの 書き換え eth1 eth1 eth1 eth1 出展者収容アップリンク Junos Control Plane Data Plane with DPDK
  • 23.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 23 まとめ • スケールアウトするNFV • 通るべきサービスの識別子をパケットに埋め込み、 • パケットI/O高速化技術を用いつつ、 • なるべく多くの同じVMを並べて性能を スケールアウトする Openflow Switch Openflow Switch Openflow Switch Openflow Switch
  • 24.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 24 他にも • 本構成でOpenFlowのPacket-inを減らす手法 • VM以外のアプライアンスとの連携 • A10 Networks, Thunder 5435-tps - DDoS mitigator • NTT Communications, SAMURAI連携 • テスターによる性能計測 • などなど...
  • 25.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 25 課題 • 性能 • 全くパケットロスをしない、というのは正直難しい • 今回のように、スケールアウトなど構成に工夫が必要 • 安定性 • 汎用サーバと言っても実際には千差万別 • ハードの差異など、様々な部分によって問題が発生しうる • リソース割り当ての最適化 • VAの種類によって、最適なコア数やメモリ量は異なる • 利用するVAにあわせて、どの程度のスペックのHVにどの程度 の数のVAを同居させるか、詳細なチューニングが必須
  • 26.
    Copyright © INTEROPTOKYO 2015 ShowNet NOC Team 26 ご静聴ありがとうございました