0Copyright©2015 NTT corp. All Rights Reserved.
DPDKによる高速コンテナネットワーキング
2017/10/31
日比智也
Lagopus User Community
0
1Copyright©2015 NTT corp. All Rights Reserved.
 某イベントにて
日比「質問なんですが,DPDKをつかったコンテナアプリを使ってる方ってご存
知ないですか?」
前佛さん「なんですかそれ?」
日比「DPDKっていうネットワークを高速化するライブラリがあって,我々で開
発しているソフトウェアスイッチがそのDPDKでコンテナにつながるんですが,
コンテナでDPDK使ってる人見たことないので探しているんです」
前佛さん「全然しらないのでContainer SIGで発表しませんか?」
日比「おk」
今日の発表の経緯
2Copyright©2015 NTT corp. All Rights Reserved.
Lagopus
OpenFlowスイッチのソフトウェア実装
汎用x86サーバで動作可能
OSSとして公開 (2014年1月 0.1.x 公開, 2015年8月 0.2.x 公開)
高速なパケット処理と幅広いプロトコルに対応
> 10Gbps
OpenFlow1.3+tunneling
OpenFlow コントローラ
コントロールプレーン
OpenFlow
プロトコル
OpenFlow スイッチ
データプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow
Table
#2
Flow
Table
#3
Flow
Table
#4
3Copyright©2015 NTT corp. All Rights Reserved.
性能評価
 単純なポートフォワードを実施した場合のスループットを測定
CPU
E5-2697v2
2.70GHz
NIC Intel X520
メモリ 64GB OS Ubuntu 14.04LTS
CPU
E5-2667v3
3.20GHz
NIC Intel XL710
メモリ 64GB OS Ubuntu 14.04LTS
 10GbE
 測定環境
 測定結果
 40GbE
 測定環境
 測定結果
6.66
8.65
9.28 9.49 9.63 9.77 9.83 9.85 9.86
0
1
2
3
4
5
6
7
8
9
10
0 200 400 600 800 1000 1200 1400
Throughput(Gbps)
Packet size (byte)
Lagopus
Wire-rate
7.7
15.5
26.5
34.2
39.2 39.5
0
5
10
15
20
25
30
35
40
0 200 400 600 800 1000 1200 1400
Throughput(Gbps)
Packet size (byte)
Lagopus
Wire-rate
4Copyright©2015 NTT corp. All Rights Reserved.
 DPDKとは
 DPDKによる仮想環境との接続
 仮想マシン
 コンテナ
 DPDK対応のソフトウェアスイッチとコンテナ接続
Agenda
5Copyright©2015 NTT corp. All Rights Reserved.
 高性能通信を可能とするパケット処理フレームワーク
 既存フレームワークによる転送のボトルネックを解消
 メモリコピー
 割り込み
 コンテキストスイッチ
 TLBミス
 (CPU coreの)キャッシュミス
DPDK (Data Plane Development Kit)
→ カーネルをバイパス
→ ポーリング動作
→ コアを専有させる
→ Hugepageの利用
→ 独自のメモリ管理機構
6Copyright©2015 NTT corp. All Rights Reserved.
カーネルバイパス
NIC
skb_buf
Ethernet Driver API
Socket API
vswitch
packet
buffer
Data plane
1. Interrupt
& DMA
2. system call (read)
User
space
Kernel space
Driver
4. DMA
3. system call (write)
NIC
Ethernet Driver API
Socket API
vswitch
packet
buffer
agentagent
1. DMA
Write
2. DMA
READ
DPDK
Data plane
Userspace
packet processing (Event-based)
DPDK apps
(polling-based)
7Copyright©2015 NTT corp. All Rights Reserved.
# of packet to be proceeded for 10Gbps
with 1 CPU core
0
2,000,000
4,000,000
6,000,000
8,000,000
10,000,000
12,000,000
14,000,000
16,000,000
0 256 512 768 1024 1280
#ofpacketsperseconds
Packet size (Byte)
Short packet 64Byte
14.88 MPPS, 67.2 ns
• 2Ghz: 134 clocks
• 3Ghz: 201 clocks
Computer packet 1KByte
1.2MPPS, 835 ns
• 2Ghz: 1670 clocks
• 3Ghz: 2505 clocks
9Copyright©2015 NTT corp. All Rights Reserved.
 ソフトウェアルータ/スイッチ
 Lagopus Switch/Router
 Open vSwitch
 VPP
 トラフィックテスタ
 DPDK Pktgen
 TREX
 DPI等
 Snort
 ネットワークベンダの仮想化製品
DPDKを利用したアプリケーション(例)
10Copyright©2015 NTT corp. All Rights Reserved.
 ソフトウェアルータ/スイッチ
 Lagopus Switch/Router, Open vSwitch, VPP
 トラフィックジェネレータ
 DPDK Pktgen, TRex
 DPI等
 Snort
 ライブラリ
 mTCP, mOS
 ネットワークベンダの仮想化製品
DPDKを利用したアプリケーション等
11Copyright©2015 NTT corp. All Rights Reserved.
 DPDKとは
 DPDKによる仮想環境との接続
 仮想マシン
 コンテナ
 DPDK対応のソフトウェアスイッチとコンテナ接続
Agenda
12Copyright©2015 NTT corp. All Rights Reserved.
DPDKによる仮想環境との接続(VM)
 NFVのボトルネックである仮想ネットワークと物理ネットワーク
の接続を高速化
Linux
Lagopus
KVM(Hypervisor)
NFV NFV NFV
物理ネットワーク
GuestHost
User
Kernel
Lagopus NFV
Kernel Kernel
GuestHost
User
Kernel
Lagopus NFV
Kernel Kernel
従来方式
高速化
13Copyright©2015 NTT corp. All Rights Reserved.
 vhost-user PMD
DPDKによる仮想環境との接続(VM)
引用: http://events.linuxfoundation.org/sites/events/files/slides/Scalable%20high-
performance%20userland%20container%20networking%20for%20NFV.pdf
14Copyright©2015 NTT corp. All Rights Reserved.
デフォルトの接続(コンテナ)
引用: https://www.slideshare.net/Docker/docker-networking-deep-dive
15Copyright©2015 NTT corp. All Rights Reserved.
 SR-IOV or virtio-user
DPDKによる仮想環境との接続(コンテナ)
引用: http://dpdk.org/doc/guides/howto/virtio_user_for_container_networking.html#figure-use-
models-for-running-dpdk-in-containers
16Copyright©2015 NTT corp. All Rights Reserved.
DPDKによる仮想環境との接続(コンテナ)
引用: http://dpdk.org/doc/guides/howto/virtio_user_for_container_networking.html#figure-use-
models-for-running-dpdk-in-containers
 virtio-user pmd
17Copyright©2015 NTT corp. All Rights Reserved.
 パケットの流れ
 pktgen -> 物理 -> vswitch -> Container(L2Fwd) -> vswitch -> 物理 -> pktgen
性能評価
Lagopus or docker0
Server
Container
L2Fwd or Linux Bridge
Container
pktgen-dpdk
OS: Ubuntu 16.04.1
CPU: Xeon E5-2697 v2 @ 2.70GHz
メモリ: 64GB
18Copyright©2015 NTT corp. All Rights Reserved.
性能評価
19Copyright©2015 NTT corp. All Rights Reserved.
 DPDKとは
 DPDKによる仮想環境との接続
 仮想マシン
 コンテナ
 DPDK対応のソフトウェアスイッチとコンテナ接続
Agenda
20Copyright©2015 NTT corp. All Rights Reserved.
コンテナ間接続
21Copyright©2015 NTT corp. All Rights Reserved.
接続例
Lagopus
Server
Container
Testpmd
22Copyright©2015 NTT corp. All Rights Reserved.
 Docker, Lagopusのインストール
 省略
 Hugepagesの設定
 省略.hugepagesizeは 1G 必須.
 hugetlbfsのマウント
 /etc/fstabを編集
 ホスト用,各コンテナ用それぞれでマウントする
手順(準備)
# for host
none /mnt/huge hugetlbfs pagesize=1G,size=4G 0 0
# for container
none /mnt/huge_c0 hugetlbfs pagesize=1G,size=1G 0 0
23Copyright©2015 NTT corp. All Rights Reserved.
 Dockerイメージ
 testpmdのdockerイメージ
 Lagopusの設定
 Interfaceを仮想マシン接続時と同じく,vhost-userで用意する.
 参考:http://www.slideshare.net/tomoyahibi/lagopusl3-lagopus
手順(Docker,Lagopus)
channel channel01 create -dst-addr 127.0.0.1 -protocol tcp
controller controller01 create -channel channel01 -role equal -connection-type main
interface interface01 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/dpdk/sock0
interface interface02 create -type ethernet-dpdk-phy -device eth_vhost1,iface=/tmp/dpdk/sock1
port port01 create -interface interface01
port port02 create -interface interface02
bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1
bridge bridge01 enable
flow bridge01 add in_port=1 apply_actions=output:2
flow bridge01 add in_port=2 apply_actions=output:1
24Copyright©2015 NTT corp. All Rights Reserved.
 Lagopusの起動
 Dockerの起動
手順(起動)
$ sudo lagopus -d -- -c 0xc -n 2 -m 1024 --
$ docker run -it --rm -v /mnt/huge_c0:/mnt/huge_c0 -v /tmp/dpdk:/tmp/dpdk dpdk-docker
testpmd --no-pci --vdev=virtio_user0,path=/tmp/dpdk/sock0 --
vdev=virtio_user1,path=/tmp/dpdk/sock1 -c 0x3 -n 2 -m 1024 -- --disable-hw-vlan-filter -i
25Copyright©2015 NTT corp. All Rights Reserved.
 DPDKはコアを専有する
 virtio-userをつかめるのはDPDKアプリのみ
 コンテナで使うHugepagesは8ページ以下しか使えない
 CPUを複数ソケットもつ場合,Dockerで使用するノードを明示的に
指定する必要がある
 悪意あるコンテナを使わない
ポイント
26Copyright©2015 NTT corp. All Rights Reserved.
 lagopus/doc/how-to-use-virtio-user.md
 https://github.com/lagopus/lagopus/pull/106/files
 DPDK HowTo Guides
 http://dpdk.org/doc/guides/howto/virtio_user_for_container_network
ing.html#figure-use-models-for-running-dpdk-in-containers
 Scalable High-Performance User Space Interface/Stack
for Containers in NFV - Jianfeng Tan & Zhihong Wang,
Intel
 http://events.linuxfoundation.org/sites/events/files/slides/Scalable%2
0high-
performance%20userland%20container%20networking%20for%20NF
V.pdf
参考資料
27Copyright©2015 NTT corp. All Rights Reserved.
 DPDKとは
 DPDKによる仮想環境との接続
 仮想マシン
 コンテナ
 DPDK対応のソフトウェアスイッチとコンテナ接続
 おまけ
Agenda
28Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus Switch から Lagopus Routerに
 OpenFlow Switchで開発した柔軟なフロー検索と処理に加え,様々なネット
ワーク制御系アプリやオーケストレーションと連携可能とする
• ルータの備える標準的なプロトコル制御機能
• オーバーレイネットワークを実現するVxLANやGRE
• 暗号化(IPsec)の終端機能
新Lagopus
29Copyright©2015 NTT corp. All Rights Reserved.
Lagopus routerの特徴
 既存インフラへの導入を容易とするSDN対応ソフトウェアルータ
 ルータとしての基本機能(経路交換、VRF、冗長化、管理/監視イン
タフェースなど)を備え、APIを利用して機能拡張も容易
SDNコントローラ
経路
交換
冗長化
管理
監視
提供したい
サービス
SDNスイッチ
SDNコントローラ
提供したいサービス
Lagopus
経路
交換
既存インフラへの接続のため様々な
アプリケーションの実装が必要
•提供したいサービスアプリのみ実装
•スイッチへの柔軟な機能拡張
30Copyright©2015 NTT corp. All Rights Reserved.
 パケット処理部,構成情報管理
機構,プロトコルエージェント
を疎結合で接続
 プロトコル処理制御用のAPIをプ
ロトコル毎に提供
 詳細は公開中
 http://www.lagopus.org/lagopus
2-design-book/ja/
Lagopus Router アーキテクチャ
Lagopusルータ
Routing
agent
(BGP/OSPF等
の経路交換)
VRRP agent
(冗長構成の
制御)
IKE agent
(暗号化のた
めの鍵交換)
SNMP agent
(設定、統計
情報の提供)
Dataplane
Dataplane framework
Network
Interface
L2
(Bridging)
L3
(Routing)
IPsec
(暗号/復号)
Config datastore
(設定情報の統合管理)
SDN controller/Orchestrator CLI
31Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus
 https://lagopus.org
 Github
 https://github.com/lagopus/lagopus
 Lagopus books (英語)
 http://www.lagopus.org/lagopus-book/en/html/
 Mailing list (英語,開発者向け)
 https://lists.sourceforge.net/lists/listinfo/lagopus-devel
 Slack
 https://lagopus-project-slack.herokuapp.com/
参考
32Copyright©2015 NTT corp. All Rights Reserved.
ご清聴ありがとうございました
32
########
## ;;;; ##
## #### ##
#### ##
## ## ####
##### ######## ##
############## ## ##
### ######## ## ##
#### ## ## ## #### ##
#### ## ## ## ## ##
###### #### ####
#### #### ##########
####################
mmmm ##
##########

DPDKによる高速コンテナネットワーキング

  • 1.
    0Copyright©2015 NTT corp.All Rights Reserved. DPDKによる高速コンテナネットワーキング 2017/10/31 日比智也 Lagopus User Community 0
  • 2.
    1Copyright©2015 NTT corp.All Rights Reserved.  某イベントにて 日比「質問なんですが,DPDKをつかったコンテナアプリを使ってる方ってご存 知ないですか?」 前佛さん「なんですかそれ?」 日比「DPDKっていうネットワークを高速化するライブラリがあって,我々で開 発しているソフトウェアスイッチがそのDPDKでコンテナにつながるんですが, コンテナでDPDK使ってる人見たことないので探しているんです」 前佛さん「全然しらないのでContainer SIGで発表しませんか?」 日比「おk」 今日の発表の経緯
  • 3.
    2Copyright©2015 NTT corp.All Rights Reserved. Lagopus OpenFlowスイッチのソフトウェア実装 汎用x86サーバで動作可能 OSSとして公開 (2014年1月 0.1.x 公開, 2015年8月 0.2.x 公開) 高速なパケット処理と幅広いプロトコルに対応 > 10Gbps OpenFlow1.3+tunneling OpenFlow コントローラ コントロールプレーン OpenFlow プロトコル OpenFlow スイッチ データプレーン Flow Table フローパターン アクション フローパターン アクション カウンター カウンター Flow Table #2 Flow Table #3 Flow Table #4
  • 4.
    3Copyright©2015 NTT corp.All Rights Reserved. 性能評価  単純なポートフォワードを実施した場合のスループットを測定 CPU E5-2697v2 2.70GHz NIC Intel X520 メモリ 64GB OS Ubuntu 14.04LTS CPU E5-2667v3 3.20GHz NIC Intel XL710 メモリ 64GB OS Ubuntu 14.04LTS  10GbE  測定環境  測定結果  40GbE  測定環境  測定結果 6.66 8.65 9.28 9.49 9.63 9.77 9.83 9.85 9.86 0 1 2 3 4 5 6 7 8 9 10 0 200 400 600 800 1000 1200 1400 Throughput(Gbps) Packet size (byte) Lagopus Wire-rate 7.7 15.5 26.5 34.2 39.2 39.5 0 5 10 15 20 25 30 35 40 0 200 400 600 800 1000 1200 1400 Throughput(Gbps) Packet size (byte) Lagopus Wire-rate
  • 5.
    4Copyright©2015 NTT corp.All Rights Reserved.  DPDKとは  DPDKによる仮想環境との接続  仮想マシン  コンテナ  DPDK対応のソフトウェアスイッチとコンテナ接続 Agenda
  • 6.
    5Copyright©2015 NTT corp.All Rights Reserved.  高性能通信を可能とするパケット処理フレームワーク  既存フレームワークによる転送のボトルネックを解消  メモリコピー  割り込み  コンテキストスイッチ  TLBミス  (CPU coreの)キャッシュミス DPDK (Data Plane Development Kit) → カーネルをバイパス → ポーリング動作 → コアを専有させる → Hugepageの利用 → 独自のメモリ管理機構
  • 7.
    6Copyright©2015 NTT corp.All Rights Reserved. カーネルバイパス NIC skb_buf Ethernet Driver API Socket API vswitch packet buffer Data plane 1. Interrupt & DMA 2. system call (read) User space Kernel space Driver 4. DMA 3. system call (write) NIC Ethernet Driver API Socket API vswitch packet buffer agentagent 1. DMA Write 2. DMA READ DPDK Data plane Userspace packet processing (Event-based) DPDK apps (polling-based)
  • 8.
    7Copyright©2015 NTT corp.All Rights Reserved. # of packet to be proceeded for 10Gbps with 1 CPU core 0 2,000,000 4,000,000 6,000,000 8,000,000 10,000,000 12,000,000 14,000,000 16,000,000 0 256 512 768 1024 1280 #ofpacketsperseconds Packet size (Byte) Short packet 64Byte 14.88 MPPS, 67.2 ns • 2Ghz: 134 clocks • 3Ghz: 201 clocks Computer packet 1KByte 1.2MPPS, 835 ns • 2Ghz: 1670 clocks • 3Ghz: 2505 clocks
  • 9.
    9Copyright©2015 NTT corp.All Rights Reserved.  ソフトウェアルータ/スイッチ  Lagopus Switch/Router  Open vSwitch  VPP  トラフィックテスタ  DPDK Pktgen  TREX  DPI等  Snort  ネットワークベンダの仮想化製品 DPDKを利用したアプリケーション(例)
  • 10.
    10Copyright©2015 NTT corp.All Rights Reserved.  ソフトウェアルータ/スイッチ  Lagopus Switch/Router, Open vSwitch, VPP  トラフィックジェネレータ  DPDK Pktgen, TRex  DPI等  Snort  ライブラリ  mTCP, mOS  ネットワークベンダの仮想化製品 DPDKを利用したアプリケーション等
  • 11.
    11Copyright©2015 NTT corp.All Rights Reserved.  DPDKとは  DPDKによる仮想環境との接続  仮想マシン  コンテナ  DPDK対応のソフトウェアスイッチとコンテナ接続 Agenda
  • 12.
    12Copyright©2015 NTT corp.All Rights Reserved. DPDKによる仮想環境との接続(VM)  NFVのボトルネックである仮想ネットワークと物理ネットワーク の接続を高速化 Linux Lagopus KVM(Hypervisor) NFV NFV NFV 物理ネットワーク GuestHost User Kernel Lagopus NFV Kernel Kernel GuestHost User Kernel Lagopus NFV Kernel Kernel 従来方式 高速化
  • 13.
    13Copyright©2015 NTT corp.All Rights Reserved.  vhost-user PMD DPDKによる仮想環境との接続(VM) 引用: http://events.linuxfoundation.org/sites/events/files/slides/Scalable%20high- performance%20userland%20container%20networking%20for%20NFV.pdf
  • 14.
    14Copyright©2015 NTT corp.All Rights Reserved. デフォルトの接続(コンテナ) 引用: https://www.slideshare.net/Docker/docker-networking-deep-dive
  • 15.
    15Copyright©2015 NTT corp.All Rights Reserved.  SR-IOV or virtio-user DPDKによる仮想環境との接続(コンテナ) 引用: http://dpdk.org/doc/guides/howto/virtio_user_for_container_networking.html#figure-use- models-for-running-dpdk-in-containers
  • 16.
    16Copyright©2015 NTT corp.All Rights Reserved. DPDKによる仮想環境との接続(コンテナ) 引用: http://dpdk.org/doc/guides/howto/virtio_user_for_container_networking.html#figure-use- models-for-running-dpdk-in-containers  virtio-user pmd
  • 17.
    17Copyright©2015 NTT corp.All Rights Reserved.  パケットの流れ  pktgen -> 物理 -> vswitch -> Container(L2Fwd) -> vswitch -> 物理 -> pktgen 性能評価 Lagopus or docker0 Server Container L2Fwd or Linux Bridge Container pktgen-dpdk OS: Ubuntu 16.04.1 CPU: Xeon E5-2697 v2 @ 2.70GHz メモリ: 64GB
  • 18.
    18Copyright©2015 NTT corp.All Rights Reserved. 性能評価
  • 19.
    19Copyright©2015 NTT corp.All Rights Reserved.  DPDKとは  DPDKによる仮想環境との接続  仮想マシン  コンテナ  DPDK対応のソフトウェアスイッチとコンテナ接続 Agenda
  • 20.
    20Copyright©2015 NTT corp.All Rights Reserved. コンテナ間接続
  • 21.
    21Copyright©2015 NTT corp.All Rights Reserved. 接続例 Lagopus Server Container Testpmd
  • 22.
    22Copyright©2015 NTT corp.All Rights Reserved.  Docker, Lagopusのインストール  省略  Hugepagesの設定  省略.hugepagesizeは 1G 必須.  hugetlbfsのマウント  /etc/fstabを編集  ホスト用,各コンテナ用それぞれでマウントする 手順(準備) # for host none /mnt/huge hugetlbfs pagesize=1G,size=4G 0 0 # for container none /mnt/huge_c0 hugetlbfs pagesize=1G,size=1G 0 0
  • 23.
    23Copyright©2015 NTT corp.All Rights Reserved.  Dockerイメージ  testpmdのdockerイメージ  Lagopusの設定  Interfaceを仮想マシン接続時と同じく,vhost-userで用意する.  参考:http://www.slideshare.net/tomoyahibi/lagopusl3-lagopus 手順(Docker,Lagopus) channel channel01 create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel channel01 -role equal -connection-type main interface interface01 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/dpdk/sock0 interface interface02 create -type ethernet-dpdk-phy -device eth_vhost1,iface=/tmp/dpdk/sock1 port port01 create -interface interface01 port port02 create -interface interface02 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable flow bridge01 add in_port=1 apply_actions=output:2 flow bridge01 add in_port=2 apply_actions=output:1
  • 24.
    24Copyright©2015 NTT corp.All Rights Reserved.  Lagopusの起動  Dockerの起動 手順(起動) $ sudo lagopus -d -- -c 0xc -n 2 -m 1024 -- $ docker run -it --rm -v /mnt/huge_c0:/mnt/huge_c0 -v /tmp/dpdk:/tmp/dpdk dpdk-docker testpmd --no-pci --vdev=virtio_user0,path=/tmp/dpdk/sock0 -- vdev=virtio_user1,path=/tmp/dpdk/sock1 -c 0x3 -n 2 -m 1024 -- --disable-hw-vlan-filter -i
  • 25.
    25Copyright©2015 NTT corp.All Rights Reserved.  DPDKはコアを専有する  virtio-userをつかめるのはDPDKアプリのみ  コンテナで使うHugepagesは8ページ以下しか使えない  CPUを複数ソケットもつ場合,Dockerで使用するノードを明示的に 指定する必要がある  悪意あるコンテナを使わない ポイント
  • 26.
    26Copyright©2015 NTT corp.All Rights Reserved.  lagopus/doc/how-to-use-virtio-user.md  https://github.com/lagopus/lagopus/pull/106/files  DPDK HowTo Guides  http://dpdk.org/doc/guides/howto/virtio_user_for_container_network ing.html#figure-use-models-for-running-dpdk-in-containers  Scalable High-Performance User Space Interface/Stack for Containers in NFV - Jianfeng Tan & Zhihong Wang, Intel  http://events.linuxfoundation.org/sites/events/files/slides/Scalable%2 0high- performance%20userland%20container%20networking%20for%20NF V.pdf 参考資料
  • 27.
    27Copyright©2015 NTT corp.All Rights Reserved.  DPDKとは  DPDKによる仮想環境との接続  仮想マシン  コンテナ  DPDK対応のソフトウェアスイッチとコンテナ接続  おまけ Agenda
  • 28.
    28Copyright©2015 NTT corp.All Rights Reserved.  Lagopus Switch から Lagopus Routerに  OpenFlow Switchで開発した柔軟なフロー検索と処理に加え,様々なネット ワーク制御系アプリやオーケストレーションと連携可能とする • ルータの備える標準的なプロトコル制御機能 • オーバーレイネットワークを実現するVxLANやGRE • 暗号化(IPsec)の終端機能 新Lagopus
  • 29.
    29Copyright©2015 NTT corp.All Rights Reserved. Lagopus routerの特徴  既存インフラへの導入を容易とするSDN対応ソフトウェアルータ  ルータとしての基本機能(経路交換、VRF、冗長化、管理/監視イン タフェースなど)を備え、APIを利用して機能拡張も容易 SDNコントローラ 経路 交換 冗長化 管理 監視 提供したい サービス SDNスイッチ SDNコントローラ 提供したいサービス Lagopus 経路 交換 既存インフラへの接続のため様々な アプリケーションの実装が必要 •提供したいサービスアプリのみ実装 •スイッチへの柔軟な機能拡張
  • 30.
    30Copyright©2015 NTT corp.All Rights Reserved.  パケット処理部,構成情報管理 機構,プロトコルエージェント を疎結合で接続  プロトコル処理制御用のAPIをプ ロトコル毎に提供  詳細は公開中  http://www.lagopus.org/lagopus 2-design-book/ja/ Lagopus Router アーキテクチャ Lagopusルータ Routing agent (BGP/OSPF等 の経路交換) VRRP agent (冗長構成の 制御) IKE agent (暗号化のた めの鍵交換) SNMP agent (設定、統計 情報の提供) Dataplane Dataplane framework Network Interface L2 (Bridging) L3 (Routing) IPsec (暗号/復号) Config datastore (設定情報の統合管理) SDN controller/Orchestrator CLI
  • 31.
    31Copyright©2015 NTT corp.All Rights Reserved.  Lagopus  https://lagopus.org  Github  https://github.com/lagopus/lagopus  Lagopus books (英語)  http://www.lagopus.org/lagopus-book/en/html/  Mailing list (英語,開発者向け)  https://lists.sourceforge.net/lists/listinfo/lagopus-devel  Slack  https://lagopus-project-slack.herokuapp.com/ 参考
  • 32.
    32Copyright©2015 NTT corp.All Rights Reserved. ご清聴ありがとうございました 32 ######## ## ;;;; ## ## #### ## #### ## ## ## #### ##### ######## ## ############## ## ## ### ######## ## ## #### ## ## ## #### ## #### ## ## ## ## ## ###### #### #### #### #### ########## #################### mmmm ## ##########