SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
-  Lagopusの使い方いろいろ-
河井  彩公子
Lagopus  Users  Community
NTT  未来ねっと研究所
Network Switch OS “Lagopus Switch”
1	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
本日お伝えしたいこと
■  ネットワークはプログラミングできます
    -‐‑‒  SDN,  OpenFlow
■    サーバアプリやサーバインフラ管理理の流流儀で
      ネットワークも管理理できるようになります
■    サーバ上で⾼高速に動作するソフトウェアスイッチ
          Lagopusがあります
-‐‑‒  いろんな使い⽅方ができます☺️
-‐‑‒  意外と簡単にご利利⽤用いただけます☺️
2	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Agenda
■  Software  Defined  Networking(SDN)とは?
          ●  OpenFlow  プロトコル
          ●  SDNを実現するOSS
■  Lagopus  SDN/OpenFlow  ソフトウェアスイッチとは?
     ●  構成
          ●  評価
■  Lagopusを使ってネットワークをプログラミングすると..
          ●  ユースケース  (SDN-IX,  無線LAN制御,  透明人間,  ユニキャストコピー  etc..)
          ●  プログラミングの方法  (ofctl_rest,  Ryuアプリプログラミング)
■  Lagopus  update
        ●  トンネリングプロトコル対応(GRE,  VXLAN)
3	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
従来ネットワークの課題
n  多様なユーザニーズを満たすために,  多様なプロトコルが
存在
    ●  装置仕様の肥大化
   ●  装置コストの高騰
n ⾃自律律分散が故に動作が複雑
n 装置の制限により提供可能なサービスが限定
   ●新たな機能追加ができない
   ●必要のない機能も入っていてとても高価L
n ⼈人⼿手中⼼心のオペレーション
   ●  CLI
   ●  Chef,  Puppetしたい...
4	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Software  Defined  Networking
n  ソフトウェアによってネットワーク機器を制御可能と
する技術の総称
   ●  利用者の要件に応じたネットワーク構築/構成/設定
●  自動化による運用コスト削減
●  汎用ハードウェア利用による設備コスト削減
n ネットワーク機器の制御部をプログラム可能に(OpenFlow)
	
ネットワーク機器(従来)
制御部は機器ベンダーが提供
制御部と転送部は不可分
制御部
転送部
制御部
転送部
OpenFlow
OpenFlow
プロトコル
制御と転送
を分離
標準化
独自の動作を定義可能  
5	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
OpenFlow
n  L1〜~L4情報の組み合わせで決定されるフロー単位の
経路路制御  
OpenFlowコントローラ
OpenFlowスイッチ
フローテーブル
App App App
●  どういうパケットだったら(match)
          受信ポート番号,  パケットヘッダの値(dst,  src,  各種ID..)
●  どういう処理をする(action)
          ヘッダの追加/削除/編集,  転送(ユニキャスト,  マルチキャスト,  ロードバランシング)
Packet  in/out
(コントローラに転送しての処理も可能)
Flow  mod
(スイッチに対して処理ルールを設定)
フローテーブルを参照し,  
パケット処理
6	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
OpenFlow
n  どういうパケットだったら(Match)
•  Ingress  port
•  Ethernet  source/destination  address
•  Ethernet  type
•  VLAN  ID
•  VLAN  priority
•  IPv4/v6  source/destination  address
•  IPv4  protocol  number
•  IPv4  type  of  service
•  TCP/UDP  source/destination  port
•  ICMP  type/code
•  ARP  operation  code
•  MPLS  label  
                                
●  L1  (Port),  L2  (Ethernet),  L3  (IPv4,  IPv6),  L4  (TCP,  UDP)までの
        ヘッダを処理可能	
etc..(詳しくはOpenFlow  Specification参照)
7	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
OpenFlow
n  どういう処理理をする(Action)
etc..(詳しくはOpenFlow  Specification参照)
●  Forward
●  Drop  
●  Modify  Field
•    Physical  ports  
•    Virtual  ports  :  All,  Controller,  Local,  Table,  IN_PORT    
                                                      Normal,  Flood  
	
•  Set/Add  VLAN  ID
•  Set  VLAN  priority
•  Pop  VLAN  Header
•  Push  MPLS/VLAN/PBB  header
•  Modify  Ethernet  source/destination  address
•  Modify  IPv4  source/destination  address
•  Modify  IPv4  TCP/UDP  source/destination  port
	
複数のアクションの組み合わせ,
複数テーブルを利用したパイプライン処理,  
ヘッダ書き換え,  パケットコピーも可能
8	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
OpenFlow
n  どういう処理理をする(Action)
etc..(詳しくはOpenFlow  Specification参照)
●	
  	
  Group  
●	
  	
  Meter
•  All    (リストに登録された全てのアクションを実施)
•  Select  (リストに登録されたアクションの中から1つ選んで実施)
•  Indirect  (特定の1つのポートからパケット送出)
•  Fast  failover  (指定したポートが利用不可な時,  グループ内の別ポートから送出)
•  Traffic  policing
9	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
SDNを実現するオープンソース
Cloud  
Computing
OSS  
Controller
OSS    
virtual
switch
Infrastructure  
Layer
	
  
	
  
	
  
Application  Layer
	
  
	
   Business	
  Applica?ons	
  
Control  Layer
	
  
	
  
	
  
	
  
	
  
Network	
  	
  
Services	
  
	
  
	
  
	
  
Network	
  Services	
  
Northbound  API
Ryu
 trema	
Southbound  API
Open	
  contrail	
White  
box
switch
Open  network  linux
n  様々なコンポーネントがOSSとして登場
        ●    SDNはOSSで十分に体験可能です☺️
API
API
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Lagopus SDN/OpenFlow switch
11	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
モチベーション
n  NFVの実現には⾼高性能なソフトウェアスイッチが必要
     ●  低レイテンシ
     ●  ショートパケットでもワイヤレート(64Byte)
     ●  柔軟・拡張可能なスイッチ設定機構
n  キャリアネットワークに適⽤用可能なOpenFlow  1.3対応ソ
フトウェアスイッチがない
     ●  100万フローエントリへの対応
          ●  10Gbpsワイヤレート
          ●  様々なプロトコルのハンドリング
          ●  運用を容易にする高可用性/保守性
OFS
APP
VM
APP
VM
汎用サーバ
12	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Lagopus概要
n  OpenFlow  1.3に最も適応したソフトウエアスイッチ
          ●  複数のプロトコルフレーム処理の対応
    ・Ethernet,  Mac  in  MAC,  MPLS,  PBB,    IPv4,  IPv6..
        ●  複数Flow  tableやグループテーブルへの対応
          ●  QoS機能  (queue,  policer,  meter  table)
n Intel  DPDKを活⽤用した⾼高性能データプレーン
          ●  10Gbpsを超えるパケット処理・転送性能  (20MPPS以上)(DPDK)
          ●  100万フローエントリへの対応  (4K  flow  mod/sec)
n 外部連携API
          ●  CLIやJSONによるスイッチ構成設定
                  ・Flow設定、統計情報・状況把握
SDN/NFVコンポーネントの実現
ソフトウェアパケット処理の適応領域拡大
13	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  X86アーキテクチャに最適化された
データプレーン⽤用ライブラリとNICドライバ
  ●  OSSコミュニティにより開発中
Intel  DPDK
アプリケーション
システムコール
パケットコピー
ハードウェア割り込み
Linuxカーネル
サーバハードウェア サーバハードウェア
Linux
カーネル
アプリケーション
特定コアが
集中処理
CPUは様々
な処理を
並列実行
DPDKを利用したアプリケーション従来のアプリケーション
14	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Lagopusの適用先
n  ネットワークのエッジノード
●  柔軟な制御や設定が求められるノード
●  多機能で大量のルート数やルールが求められるノード
●  求められるポート数が比較的少ないノード
TOR
Virtual  Switch
Hypervisor
VM VM
Virtual  Switch
Hypervisor
NFV NFV
Virtual  Switch
Hypervisor
VM VM
Gateway CPE
Data  Center Wide-‐‑‒area  Network Access  Network Intranet
Cloud,NFVに対応する
仮想スイッチ
異種NWを接続する
ゲートウェイ向けソフトスイッチ
15	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Control plane	
App	
 App	
 App	
switch configuration datastore
(config/stats API, SW DSL)
FPGA NIC DPDK NIC
DPDK libs/PMD driver
Lagopus soft dataplane
flow lookup flow cache
OpenFlow pipeline
queue/
policer
Flow	
  table	
  
Flow	
  table	
  
flow table
Flow	
  table	
  
Flow	
  table	
  Group
table
Flow	
  table	
  
Flow	
  table	
  meter
table
switch HAL
OpenFlow
1.3agent
JSON IF
SNMP
CLI
OVSDB
NET
CONF
L2bridge
L3
(IPv4ICMP)
SDN  switch  Agent
•  Full  OpenFlow  1.3.4  
support
•  Controller-less  basic  L2  
and  L3  support
SDN-‐‑‒aware  
management  API
•  OVSDB,  REST
•  Ansible  support
DPDK-‐‑‒enabled  soft  
dataplane
•  Over-10-Gbps  
        performance
•  Low  latency  packet        
        processing
•  high  performance    
 multi-layer  flow  lookup
DPDK-‐‑‒enabled  
vNIC  for  NFV  
(virtq-‐‑‒pmd)
Switch  configuration  
datastore
•  Pub/sub  mechanism
•  Switch  config  DSL
•  JSON  IF  support
Soft-‐‑‒dataplane  
aware  FPGA  NIC
Lagopusの構成
16	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
評価
0"
1"
2"
3"
4"
5"
6"
7"
8"
9"
10"
1" 10" 100" 1000" 10000" 100000" 1000000"
Throughput)(Gbps)
flows
10k"flow"rules"
100k"flow"rules"
1M"flow"rules"
Throughput  vs  flows,  1518  bytes  packet L2  switch  performance  (Mbps)
10GbE  x  2  (RFC2889  test)
n  性能評価
●  Throughput:10Gbps  wire-rate
●  Flow  rules :1M  flow  rules
                                        4000  flow  mod  /  sec
	
 HWスペック
•  Dual  Intel  Xeon  E5-2660  (8cores)  
•  DDR3-1600  64GB
•  Intel  X520-DA2
17	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Type Action Set  field Match Group Meter Total
#  of  test  scenario
  (mandatory,  
optional)
56
(3  ,    53)
170
(0  ,    170)
714
(108  ,    606)
15
(3  ,    12)
36
(0  ,    36)
991
(114  ,    877)  
Lagopus
2014.11.09
56
(3,  56)
162
(0,  162)
714
(108,  606)
15
(3,  12)
26
(0,  26)
973
(114,  859)
OVS  (kernel)
2014.08.08
34
(3,  31)
96
(0,  96)
534
(108,  426)
6
(3,  3)
0
(0,  0)
670
(114,  556)
OVS  (netdev)
2014.11.05
34
(3,  31)
102
(0,  102)
467
(93,  374)
8
(3,  5)
0
(0,  0)
611
(99,  556)
IVS
2015.02.11
17
(3,  14)
46
(0,  46)
323
(108,  229)
3
(0,  2)
0
(0,  0)
402
(111,  291)
ofswitch
2015.01.08
50
(3,  47)
100
(0,  100)
708
(108,  600)
15
(3,  12)
30
(0,  30)
962
(114,  848)
LINC
2015.01.29
24
(3,  21)
68
(0,  68)
428
(108,  320)
3
(3,  0)
4
(0,  4)
523
(114,  409)
Trema
2014.11.28
50
(3,  47)
159
(0  ,    159)
708
(108,  600)
15
(3,  12)
34
(0,  34)
966
(114,  854)
評価
n  機能評価
●  Ryu  OpenFlow  1.3  Conformance  test
      (OF1.3の仕様にどのくらい準拠しているか)
        https://osrg.github.io/ryu-certification/switch/lagopus
18	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  2014年年7⽉月31⽇日に公開
          http://lagopus.github.io/
n  開発への参加
l  コードの提供   ->  GitHub  Pull  Request
l  バグレポート   ->  GitHub  Issues
l  議論                     ->  Developers  ML
	
  
オープンソース化
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Lagopus UseCases
20	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
UseCase1:  OSC  Tokyo展示デモ
n  半透明⼈人間カメラ  ×  Lagopus
l  講義中,先生の影が邪魔になって板書しにくい
        ->  先生を半透明にしちゃえばよく見える…!
l  撮影,半透明化,表示の3サーバでシステムを構成
l  映像はUDP送受信
l  映像切替をLagopusにオフロード
	
先⽣生で板書できない… 先⽣生を半透明に!映像加工処理
21	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  半透明⼈人間カメラ  ×  Lagopus
	
l  パターンA:通常表示
   ・カメラから受信したパケットを半透明化アプリとモニタに送信
          (宛先MAC,IP,portを書き換え複数ポートにアウトプット)
        ・半透明化サーバからのパケットはdrop
l  パターンB:半透明化
        ・カメラからのパケットを半透明化サーバに送信
        ・半透明化サーバからのパケットをモニタに送信
       (パケットの宛先は適宜書き換える)  
カメラ
モニタ1
半透明人間化アプリ
パターンA
パターンB
UseCase1:  本日の展示デモ
モニタ2
22	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  半透明⼈人間カメラ  ×  Lagopus
	
●  フローテーブルデザイン
        ・テーブル0:in_portの判断
   ・テーブル1:モニタ1への出力処理
   ・テーブル2:モニタ2への出力処理
UseCase1:  本日の展示デモ
	
  	
  
	
  
	
  
	
  
	
Table  id=0
match:  in_port:1,  UDP,
action:  半透明化人間アプリへ
                      送信,  Goto  table  :1
Table  id=1 Table  id=2
match:  in_port:1,  UDP,
action:  IP,  mac,  ポート番号を
                      変更してモニタ出力,  
                      Goto  table  :2
match:  半透明化人間アプリか
                      ら受け取ったパケット,  
                      UDP
action:  Goto  table  :1
match:  半透明化人間アプリか
                      ら受け取ったパケット,  
                      UDP
action:  IP,  mac,  ポート番号を
                      変更してモニタ1出力,  
                      Goto  table  :2
match:  in_port:1,  UDP,
action:  IP,  mac,  ポート番号を
                      変更してモニタ出力  
                      
match:  半透明化人間アプリか
                      ら受け取ったパケット,  
                      UDP
action:  IP,  mac,  ポート番号を
                      変更してモニタ2出力,  
                      
異なるcookieを指定し,  エントリ
を入れ替え
23	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  会場無線LAN帯域制御
l  講演中,  後ろに座って内職している人が多い…
        ->  後ろに座ってる人のネットワーク遅くしちゃえば,  みんな
                  前に座ってくれるはず..!
l  下りトラヒックをAP毎にポリシングして前に座るほどさくさく
   繋がるネットワークを提供
	
UseCase2:  SDN  Japan2014
Cisco  aironet
24	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  会場無線LAN帯域制御
      
	
UseCase2:  SDN  Japan2014
•  テーブル0:上りトラヒックの制御
•  テーブル1:下りトラヒックの制御
•  Groupテーブル:各ポートからの入力トラヒックをflooding
•  Meterテーブル    :  下りトラヒックのdst  macに基づきポリシング
●  フローテーブルデザイン
25	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  SDN-‐‑‒IX
l  IX  :  インターネットサービスプロバイダ(ISP)間の接続ポイント
                    -  L2方式,  L3方式,  ルートサーバ方式...
l  接続設定の自動化/ポータル化,  API提供
l  DDoSトラヒックを削減したい(攻撃を検知したら入り口でdrop)
	
UseCase  3:  Interop2015
Exterier  AS
Physical  Link
Paths  between  ASs
Tokyo
Chiba
Networks  inside  the  event  venue
SDN-IX!
SDN  IXポータル
パス接続要求承認
パス接続要求
設定リクエスト送信
フローエントリ設定
攻撃の流流⼊入⼝口で
トラヒック破棄
運⽤用者
26	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  SDN-‐‑‒IX
l  フローテーブルデザイン
  
   
	
UseCase  3:  Interop2015
•  L2-IX(AS間のVLAN接続)
            ①  流入ポートからのパケットに対してPUSH  VLAN
       ②  SDN-IX間はVLAN  IDに応じて転送先を決定
•  DDoS緩和
            ①  攻撃を検知すると,  対象パケットを囮サーバ方向へ出力
  ②  囮サーバから受け取ったパケットは元の宛先IP(被害サーバ)
                    にsrc  ipを書き換え,  転送
→プライオリティを管理し,  1つのテーブル内で複数処理を実現
AS65002AS65001
被害サーバ
囮サーバ
攻撃元サーバ
攻撃トラヒック(DoS等)
27	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  ユニキャストコピー
  ●  ライブ配信サービスをより柔軟にかつ経済的に実現したい
      従来方式:IPマルチキャスト,  衛星ブロードキャスト,  
           プログレッシブダウンロード  etc..
                ->  回線環境等に依存せず実現可能なユニキャストコピーで実現したい!
	
UseCase  4:  多地点映像配信サービス
1	
1	
1	
エンコーダ
デコーダ
ライブ会場等(配信拠点)
IP網
映画館等(受信拠点)
高品質映像配信システム
28	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
n  ユニキャストコピー
  ●  フローテーブルデザイン
	
UseCase  4:  多地点映像配信サービス
予め登録したリスト(jsonファイル)内のノードのMACが学習できたらコピーエントリ
を登録(どのエントリよりも高いプライオリティ値を設定)  	
1	
1	
1	
エンコーダ
デコーダ
Switch
Controller
エンコーダ・デコーダの
IPアドレスリスト登録
ポート番号リスト登録ユニキャストコピー
VNF
Config
file
ユニキャストコピーVNF起動 オペレータ
•  ARP処理
•  フィルタ処理
•  ユニキャストコピー
用エントリ投入処理
エントリ設定
•  ユニキャストコピー
処理
 -  パケット複製処理
      -  ヘッダ変更処理
ユニキャスト
ユニキャスト
コピー
システム
ユニキャスト
コピーシステム宛
デコーダ3宛
デコーダ2宛
デコーダ1宛
29	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
プログラミングの方法
n  REST  APIを使う
n  Controllerアプリを実装する
●  プロアクティブな処理
●  スクリプトを記述する必要がないので,  お試しにはとても便利J
●  外部ツールと連携しやすい
●  プロアクティブ+リアクティブ
●  PythonやRuby等のスクリプトを書く必要がある
●  Controllerに状態を持たせることもできる
●  サンプルアプリが沢山用意されている
        ので参考にして頑張る
30	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
Lagopus  0.2.4
n  2016/2/11にバージョン0.2.4をリリース
      ●  tunnel向けencap,  decap対応しました
-  OpenFlow  General  Tunnel  Support
31	
Copyright©2014	
  	
  NTT	
  corp.	
  All	
  Rights	
  Reserved.	
■  ⾼高速なソフトスイッチ”Lagopus”をOSSとして提供
■  ネットワークをプログラミングしてみませんか?
Web     :  http://lagopus.github.io/
Github  :  https://github.com/lagopus/
まとめ
SDNを試してみませんか?そして,  開発に参加してみませんか?
Lagopus本とかも後日公開  (予定)
	
●  既存のサーバで動作可能
●  そこそこの性能で動きます
●  いろいろ面白い事ができます
●  相談にのります
	
Mininetでも動くようになりました️
QuickStartを参照すると簡単にインストールできますJ

Contenu connexe

Tendances

Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchMasaru Oki
 
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件Masaru Oki
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Tomoya Hibi
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Coreslankdev
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかMasaru Oki
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switchMasaru Oki
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介Takashi Sogabe
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話Masaru Oki
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~npsg
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwardingMasakazu Asama
 

Tendances (20)

Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
 
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
 
Lagopus 0.2.2
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
 
Lagos running on small factor machine
Lagos running on small factor machineLagos running on small factor machine
Lagos running on small factor machine
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
DPDK QoS
DPDK QoSDPDK QoS
DPDK QoS
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 

Similaire à Lagopus Switch Usecases

Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばYoshihiro Nakajima
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Tomoya Hibi
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_finalKazumasa Ikuta
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2Etsuji Nakai
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Akihiro Motoki
 
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社Trainocate Japan, Ltd.
 
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Hirofumi Ichihara
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Takehiro Kudou
 
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』Juniper Networks (日本)
 
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...Hinemos
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hwykuga
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlowToshiki Tsuboi
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門Dell TechCenter Japan
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 

Similaire à Lagopus Switch Usecases (20)

Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
 
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
 
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
 
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門
 
SDN Framework Ryu Internal
SDN Framework Ryu InternalSDN Framework Ryu Internal
SDN Framework Ryu Internal
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
 

Lagopus Switch Usecases

  • 1. Copyright©2014    NTT  corp.  All  Rights  Reserved. -  Lagopusの使い方いろいろ- 河井  彩公子 Lagopus  Users  Community NTT  未来ねっと研究所 Network Switch OS “Lagopus Switch”
  • 2. 1 Copyright©2014    NTT  corp.  All  Rights  Reserved. 本日お伝えしたいこと ■  ネットワークはプログラミングできます     -‐‑‒  SDN,  OpenFlow ■    サーバアプリやサーバインフラ管理理の流流儀で       ネットワークも管理理できるようになります ■    サーバ上で⾼高速に動作するソフトウェアスイッチ          Lagopusがあります -‐‑‒  いろんな使い⽅方ができます☺️ -‐‑‒  意外と簡単にご利利⽤用いただけます☺️
  • 3. 2 Copyright©2014    NTT  corp.  All  Rights  Reserved. Agenda ■  Software  Defined  Networking(SDN)とは?          ●  OpenFlow  プロトコル          ●  SDNを実現するOSS ■  Lagopus  SDN/OpenFlow  ソフトウェアスイッチとは?      ●  構成          ●  評価 ■  Lagopusを使ってネットワークをプログラミングすると..          ●  ユースケース  (SDN-IX,  無線LAN制御,  透明人間,  ユニキャストコピー  etc..)          ●  プログラミングの方法  (ofctl_rest,  Ryuアプリプログラミング) ■  Lagopus  update        ●  トンネリングプロトコル対応(GRE,  VXLAN)
  • 4. 3 Copyright©2014    NTT  corp.  All  Rights  Reserved. 従来ネットワークの課題 n  多様なユーザニーズを満たすために,  多様なプロトコルが 存在     ●  装置仕様の肥大化    ●  装置コストの高騰 n ⾃自律律分散が故に動作が複雑 n 装置の制限により提供可能なサービスが限定    ●新たな機能追加ができない    ●必要のない機能も入っていてとても高価L n ⼈人⼿手中⼼心のオペレーション    ●  CLI    ●  Chef,  Puppetしたい...
  • 5. 4 Copyright©2014    NTT  corp.  All  Rights  Reserved. Software  Defined  Networking n  ソフトウェアによってネットワーク機器を制御可能と する技術の総称    ●  利用者の要件に応じたネットワーク構築/構成/設定 ●  自動化による運用コスト削減 ●  汎用ハードウェア利用による設備コスト削減 n ネットワーク機器の制御部をプログラム可能に(OpenFlow) ネットワーク機器(従来) 制御部は機器ベンダーが提供 制御部と転送部は不可分 制御部 転送部 制御部 転送部 OpenFlow OpenFlow プロトコル 制御と転送 を分離 標準化 独自の動作を定義可能  
  • 6. 5 Copyright©2014    NTT  corp.  All  Rights  Reserved. OpenFlow n  L1〜~L4情報の組み合わせで決定されるフロー単位の 経路路制御   OpenFlowコントローラ OpenFlowスイッチ フローテーブル App App App ●  どういうパケットだったら(match)          受信ポート番号,  パケットヘッダの値(dst,  src,  各種ID..) ●  どういう処理をする(action)          ヘッダの追加/削除/編集,  転送(ユニキャスト,  マルチキャスト,  ロードバランシング) Packet  in/out (コントローラに転送しての処理も可能) Flow  mod (スイッチに対して処理ルールを設定) フローテーブルを参照し,   パケット処理
  • 7. 6 Copyright©2014    NTT  corp.  All  Rights  Reserved. OpenFlow n  どういうパケットだったら(Match) •  Ingress  port •  Ethernet  source/destination  address •  Ethernet  type •  VLAN  ID •  VLAN  priority •  IPv4/v6  source/destination  address •  IPv4  protocol  number •  IPv4  type  of  service •  TCP/UDP  source/destination  port •  ICMP  type/code •  ARP  operation  code •  MPLS  label                                   ●  L1  (Port),  L2  (Ethernet),  L3  (IPv4,  IPv6),  L4  (TCP,  UDP)までの        ヘッダを処理可能 etc..(詳しくはOpenFlow  Specification参照)
  • 8. 7 Copyright©2014    NTT  corp.  All  Rights  Reserved. OpenFlow n  どういう処理理をする(Action) etc..(詳しくはOpenFlow  Specification参照) ●  Forward ●  Drop   ●  Modify  Field •   Physical  ports   •   Virtual  ports  :  All,  Controller,  Local,  Table,  IN_PORT                                                          Normal,  Flood   •  Set/Add  VLAN  ID •  Set  VLAN  priority •  Pop  VLAN  Header •  Push  MPLS/VLAN/PBB  header •  Modify  Ethernet  source/destination  address •  Modify  IPv4  source/destination  address •  Modify  IPv4  TCP/UDP  source/destination  port 複数のアクションの組み合わせ, 複数テーブルを利用したパイプライン処理,   ヘッダ書き換え,  パケットコピーも可能
  • 9. 8 Copyright©2014    NTT  corp.  All  Rights  Reserved. OpenFlow n  どういう処理理をする(Action) etc..(詳しくはOpenFlow  Specification参照) ●    Group   ●    Meter •  All    (リストに登録された全てのアクションを実施) •  Select  (リストに登録されたアクションの中から1つ選んで実施) •  Indirect  (特定の1つのポートからパケット送出) •  Fast  failover  (指定したポートが利用不可な時,  グループ内の別ポートから送出) •  Traffic  policing
  • 10. 9 Copyright©2014    NTT  corp.  All  Rights  Reserved. SDNを実現するオープンソース Cloud   Computing OSS   Controller OSS     virtual switch Infrastructure   Layer       Application  Layer     Business  Applica?ons   Control  Layer           Network     Services         Network  Services   Northbound  API Ryu trema Southbound  API Open  contrail White   box switch Open  network  linux n  様々なコンポーネントがOSSとして登場        ●    SDNはOSSで十分に体験可能です☺️ API API
  • 11. Copyright©2014    NTT  corp.  All  Rights  Reserved. Lagopus SDN/OpenFlow switch
  • 12. 11 Copyright©2014    NTT  corp.  All  Rights  Reserved. モチベーション n  NFVの実現には⾼高性能なソフトウェアスイッチが必要      ●  低レイテンシ      ●  ショートパケットでもワイヤレート(64Byte)      ●  柔軟・拡張可能なスイッチ設定機構 n  キャリアネットワークに適⽤用可能なOpenFlow  1.3対応ソ フトウェアスイッチがない      ●  100万フローエントリへの対応          ●  10Gbpsワイヤレート          ●  様々なプロトコルのハンドリング          ●  運用を容易にする高可用性/保守性 OFS APP VM APP VM 汎用サーバ
  • 13. 12 Copyright©2014    NTT  corp.  All  Rights  Reserved. Lagopus概要 n  OpenFlow  1.3に最も適応したソフトウエアスイッチ          ●  複数のプロトコルフレーム処理の対応    ・Ethernet,  Mac  in  MAC,  MPLS,  PBB,    IPv4,  IPv6..        ●  複数Flow  tableやグループテーブルへの対応          ●  QoS機能  (queue,  policer,  meter  table) n Intel  DPDKを活⽤用した⾼高性能データプレーン          ●  10Gbpsを超えるパケット処理・転送性能  (20MPPS以上)(DPDK)          ●  100万フローエントリへの対応  (4K  flow  mod/sec) n 外部連携API          ●  CLIやJSONによるスイッチ構成設定                  ・Flow設定、統計情報・状況把握 SDN/NFVコンポーネントの実現 ソフトウェアパケット処理の適応領域拡大
  • 14. 13 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  X86アーキテクチャに最適化された データプレーン⽤用ライブラリとNICドライバ   ●  OSSコミュニティにより開発中 Intel  DPDK アプリケーション システムコール パケットコピー ハードウェア割り込み Linuxカーネル サーバハードウェア サーバハードウェア Linux カーネル アプリケーション 特定コアが 集中処理 CPUは様々 な処理を 並列実行 DPDKを利用したアプリケーション従来のアプリケーション
  • 15. 14 Copyright©2014    NTT  corp.  All  Rights  Reserved. Lagopusの適用先 n  ネットワークのエッジノード ●  柔軟な制御や設定が求められるノード ●  多機能で大量のルート数やルールが求められるノード ●  求められるポート数が比較的少ないノード TOR Virtual  Switch Hypervisor VM VM Virtual  Switch Hypervisor NFV NFV Virtual  Switch Hypervisor VM VM Gateway CPE Data  Center Wide-‐‑‒area  Network Access  Network Intranet Cloud,NFVに対応する 仮想スイッチ 異種NWを接続する ゲートウェイ向けソフトスイッチ
  • 16. 15 Copyright©2014    NTT  corp.  All  Rights  Reserved. Control plane App App App switch configuration datastore (config/stats API, SW DSL) FPGA NIC DPDK NIC DPDK libs/PMD driver Lagopus soft dataplane flow lookup flow cache OpenFlow pipeline queue/ policer Flow  table   Flow  table   flow table Flow  table   Flow  table  Group table Flow  table   Flow  table  meter table switch HAL OpenFlow 1.3agent JSON IF SNMP CLI OVSDB NET CONF L2bridge L3 (IPv4ICMP) SDN  switch  Agent •  Full  OpenFlow  1.3.4   support •  Controller-less  basic  L2   and  L3  support SDN-‐‑‒aware   management  API •  OVSDB,  REST •  Ansible  support DPDK-‐‑‒enabled  soft   dataplane •  Over-10-Gbps          performance •  Low  latency  packet                processing •  high  performance      multi-layer  flow  lookup DPDK-‐‑‒enabled   vNIC  for  NFV   (virtq-‐‑‒pmd) Switch  configuration   datastore •  Pub/sub  mechanism •  Switch  config  DSL •  JSON  IF  support Soft-‐‑‒dataplane   aware  FPGA  NIC Lagopusの構成
  • 17. 16 Copyright©2014    NTT  corp.  All  Rights  Reserved. 評価 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 1" 10" 100" 1000" 10000" 100000" 1000000" Throughput)(Gbps) flows 10k"flow"rules" 100k"flow"rules" 1M"flow"rules" Throughput  vs  flows,  1518  bytes  packet L2  switch  performance  (Mbps) 10GbE  x  2  (RFC2889  test) n  性能評価 ●  Throughput:10Gbps  wire-rate ●  Flow  rules :1M  flow  rules                                        4000  flow  mod  /  sec HWスペック •  Dual  Intel  Xeon  E5-2660  (8cores)   •  DDR3-1600  64GB •  Intel  X520-DA2
  • 18. 17 Copyright©2014    NTT  corp.  All  Rights  Reserved. Type Action Set  field Match Group Meter Total #  of  test  scenario  (mandatory,   optional) 56 (3  ,    53) 170 (0  ,    170) 714 (108  ,    606) 15 (3  ,    12) 36 (0  ,    36) 991 (114  ,    877)   Lagopus 2014.11.09 56 (3,  56) 162 (0,  162) 714 (108,  606) 15 (3,  12) 26 (0,  26) 973 (114,  859) OVS  (kernel) 2014.08.08 34 (3,  31) 96 (0,  96) 534 (108,  426) 6 (3,  3) 0 (0,  0) 670 (114,  556) OVS  (netdev) 2014.11.05 34 (3,  31) 102 (0,  102) 467 (93,  374) 8 (3,  5) 0 (0,  0) 611 (99,  556) IVS 2015.02.11 17 (3,  14) 46 (0,  46) 323 (108,  229) 3 (0,  2) 0 (0,  0) 402 (111,  291) ofswitch 2015.01.08 50 (3,  47) 100 (0,  100) 708 (108,  600) 15 (3,  12) 30 (0,  30) 962 (114,  848) LINC 2015.01.29 24 (3,  21) 68 (0,  68) 428 (108,  320) 3 (3,  0) 4 (0,  4) 523 (114,  409) Trema 2014.11.28 50 (3,  47) 159 (0  ,    159) 708 (108,  600) 15 (3,  12) 34 (0,  34) 966 (114,  854) 評価 n  機能評価 ●  Ryu  OpenFlow  1.3  Conformance  test      (OF1.3の仕様にどのくらい準拠しているか)        https://osrg.github.io/ryu-certification/switch/lagopus
  • 19. 18 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  2014年年7⽉月31⽇日に公開          http://lagopus.github.io/ n  開発への参加 l  コードの提供  ->  GitHub  Pull  Request l  バグレポート  ->  GitHub  Issues l  議論                    ->  Developers  ML   オープンソース化
  • 20. Copyright©2014    NTT  corp.  All  Rights  Reserved. Lagopus UseCases
  • 21. 20 Copyright©2014    NTT  corp.  All  Rights  Reserved. UseCase1:  OSC  Tokyo展示デモ n  半透明⼈人間カメラ  ×  Lagopus l  講義中,先生の影が邪魔になって板書しにくい        ->  先生を半透明にしちゃえばよく見える…! l  撮影,半透明化,表示の3サーバでシステムを構成 l  映像はUDP送受信 l  映像切替をLagopusにオフロード 先⽣生で板書できない… 先⽣生を半透明に!映像加工処理
  • 22. 21 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  半透明⼈人間カメラ  ×  Lagopus l  パターンA:通常表示    ・カメラから受信したパケットを半透明化アプリとモニタに送信          (宛先MAC,IP,portを書き換え複数ポートにアウトプット)        ・半透明化サーバからのパケットはdrop l  パターンB:半透明化        ・カメラからのパケットを半透明化サーバに送信        ・半透明化サーバからのパケットをモニタに送信        (パケットの宛先は適宜書き換える)   カメラ モニタ1 半透明人間化アプリ パターンA パターンB UseCase1:  本日の展示デモ モニタ2
  • 23. 22 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  半透明⼈人間カメラ  ×  Lagopus ●  フローテーブルデザイン        ・テーブル0:in_portの判断    ・テーブル1:モニタ1への出力処理    ・テーブル2:モニタ2への出力処理 UseCase1:  本日の展示デモ           Table  id=0 match:  in_port:1,  UDP, action:  半透明化人間アプリへ                      送信,  Goto  table  :1 Table  id=1 Table  id=2 match:  in_port:1,  UDP, action:  IP,  mac,  ポート番号を                      変更してモニタ出力,                        Goto  table  :2 match:  半透明化人間アプリか                      ら受け取ったパケット,                        UDP action:  Goto  table  :1 match:  半透明化人間アプリか                      ら受け取ったパケット,                        UDP action:  IP,  mac,  ポート番号を                      変更してモニタ1出力,                        Goto  table  :2 match:  in_port:1,  UDP, action:  IP,  mac,  ポート番号を                      変更してモニタ出力                         match:  半透明化人間アプリか                      ら受け取ったパケット,                        UDP action:  IP,  mac,  ポート番号を                      変更してモニタ2出力,                         異なるcookieを指定し,  エントリ を入れ替え
  • 24. 23 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  会場無線LAN帯域制御 l  講演中,  後ろに座って内職している人が多い…        ->  後ろに座ってる人のネットワーク遅くしちゃえば,  みんな                  前に座ってくれるはず..! l  下りトラヒックをAP毎にポリシングして前に座るほどさくさく    繋がるネットワークを提供 UseCase2:  SDN  Japan2014 Cisco  aironet
  • 25. 24 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  会場無線LAN帯域制御       UseCase2:  SDN  Japan2014 •  テーブル0:上りトラヒックの制御 •  テーブル1:下りトラヒックの制御 •  Groupテーブル:各ポートからの入力トラヒックをflooding •  Meterテーブル    :  下りトラヒックのdst  macに基づきポリシング ●  フローテーブルデザイン
  • 26. 25 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  SDN-‐‑‒IX l  IX  :  インターネットサービスプロバイダ(ISP)間の接続ポイント                    -  L2方式,  L3方式,  ルートサーバ方式... l  接続設定の自動化/ポータル化,  API提供 l  DDoSトラヒックを削減したい(攻撃を検知したら入り口でdrop) UseCase  3:  Interop2015 Exterier  AS Physical  Link Paths  between  ASs Tokyo Chiba Networks  inside  the  event  venue SDN-IX! SDN  IXポータル パス接続要求承認 パス接続要求 設定リクエスト送信 フローエントリ設定 攻撃の流流⼊入⼝口で トラヒック破棄 運⽤用者
  • 27. 26 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  SDN-‐‑‒IX l  フローテーブルデザイン       UseCase  3:  Interop2015 •  L2-IX(AS間のVLAN接続)            ①  流入ポートからのパケットに対してPUSH  VLAN        ②  SDN-IX間はVLAN  IDに応じて転送先を決定 •  DDoS緩和            ①  攻撃を検知すると,  対象パケットを囮サーバ方向へ出力   ②  囮サーバから受け取ったパケットは元の宛先IP(被害サーバ)                    にsrc  ipを書き換え,  転送 →プライオリティを管理し,  1つのテーブル内で複数処理を実現 AS65002AS65001 被害サーバ 囮サーバ 攻撃元サーバ 攻撃トラヒック(DoS等)
  • 28. 27 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  ユニキャストコピー   ●  ライブ配信サービスをより柔軟にかつ経済的に実現したい       従来方式:IPマルチキャスト,  衛星ブロードキャスト,              プログレッシブダウンロード  etc..                ->  回線環境等に依存せず実現可能なユニキャストコピーで実現したい! UseCase  4:  多地点映像配信サービス 1 1 1 エンコーダ デコーダ ライブ会場等(配信拠点) IP網 映画館等(受信拠点) 高品質映像配信システム
  • 29. 28 Copyright©2014    NTT  corp.  All  Rights  Reserved. n  ユニキャストコピー   ●  フローテーブルデザイン UseCase  4:  多地点映像配信サービス 予め登録したリスト(jsonファイル)内のノードのMACが学習できたらコピーエントリ を登録(どのエントリよりも高いプライオリティ値を設定)   1 1 1 エンコーダ デコーダ Switch Controller エンコーダ・デコーダの IPアドレスリスト登録 ポート番号リスト登録ユニキャストコピー VNF Config file ユニキャストコピーVNF起動 オペレータ •  ARP処理 •  フィルタ処理 •  ユニキャストコピー 用エントリ投入処理 エントリ設定 •  ユニキャストコピー 処理  -  パケット複製処理      -  ヘッダ変更処理 ユニキャスト ユニキャスト コピー システム ユニキャスト コピーシステム宛 デコーダ3宛 デコーダ2宛 デコーダ1宛
  • 30. 29 Copyright©2014    NTT  corp.  All  Rights  Reserved. プログラミングの方法 n  REST  APIを使う n  Controllerアプリを実装する ●  プロアクティブな処理 ●  スクリプトを記述する必要がないので,  お試しにはとても便利J ●  外部ツールと連携しやすい ●  プロアクティブ+リアクティブ ●  PythonやRuby等のスクリプトを書く必要がある ●  Controllerに状態を持たせることもできる ●  サンプルアプリが沢山用意されている        ので参考にして頑張る
  • 31. 30 Copyright©2014    NTT  corp.  All  Rights  Reserved. Lagopus  0.2.4 n  2016/2/11にバージョン0.2.4をリリース      ●  tunnel向けencap,  decap対応しました -  OpenFlow  General  Tunnel  Support
  • 32. 31 Copyright©2014    NTT  corp.  All  Rights  Reserved. ■  ⾼高速なソフトスイッチ”Lagopus”をOSSとして提供 ■  ネットワークをプログラミングしてみませんか? Web     :  http://lagopus.github.io/ Github  :  https://github.com/lagopus/ まとめ SDNを試してみませんか?そして,  開発に参加してみませんか? Lagopus本とかも後日公開  (予定) ●  既存のサーバで動作可能 ●  そこそこの性能で動きます ●  いろいろ面白い事ができます ●  相談にのります Mininetでも動くようになりました️ QuickStartを参照すると簡単にインストールできますJ