Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
1Copyright©2015 NTT corp. All Rights Reserved.
Lagopus Switch/Router
2018/02/24
日比智也
Lagopus User Community
1
2Copyright©2015 NTT corp. All Rights Reserved.
 ネットワークはプログラミングする時代になっています
 SDNとかOpenFlow
 サーバアプリやサーバインフラ管理の流儀で
ネットワークを管理できるようになります
 サーバで動作する速いソフトウエアスイッチLagopusがあります!
 オープンソース
 遅かったら文句ください!
今日覚えていってほしいこと
3Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus switch
 Lagopus switch概要
 その他のソフトウェアスイッチ
 Lagopus Router
Agenda
4Copyright©2015 NTT corp. All Rights Reserved.
ネットワークに求められる柔軟性
ユーザの環境変化
サービス・
トラフィック需要の
多様化
技術の進展への
対応
ネットワーク装置
機能A 機能B
機能C 機能D
機能E 機能F
汎用装置
機能A 機能F
汎用装置
機能B 機能C
必要なときに
選択的に
組み合わせて
効率よく提供
したい
フルセット構成 最小構成
ニーズや変化に
併せて、
ネットワークを
素早く制御したい
マニュアル操作を基本
とするネットワーク制御
自動化を基本とする
ネットワーク制御
ネットワーク制御の
プログラマビリティ
SDN
ネットワーク機能の
プログラマビリティ
NFV
5Copyright©2015 NTT corp. All Rights Reserved.
インフラレイヤ
コントロール
レイヤ
アプリ
レイヤ
SDN(Software-Defined Networking)
 定義
ソフトウェアでネットワーク
を(できるだけ自動)制御す
ることにより、ネットワーク
の開発速度の向上と高度化を
実現させるコンセプト
 アーキテクチャ
 3層構成にして
各層間にインタ
フェースを用意
5
ネットワーク
装置
ネットワーク
装置
ネットワーク
装置
ネットワーク制御
ネットワーク
制御ソフト
ビジネス・サービスアプリ
データプレーン
制御インタフェース
ネットワーク設定・
管理インタフェース
※参照:https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf
E.g. OpenFlow Protocol
6Copyright©2015 NTT corp. All Rights Reserved.
NFV(Network Function Virtulisation)
• 機能ごとに専用ハードウェアを使用
• サイトごとに実機の設置が必須
• 専用ハードウェアの開発は,新興ベンダに
とってはハードルが高く,競争が起こりにくい
従来のネットワークアプライアンス
のアプローチ
BRAS
FirewallDPI
CDN
Tester/QoE
monitor
WAN
Acceleration
Message
Router
Radio/Fixed Access
Network Nodes
Carrier
Grade NAT
Session Border
Controller
PE RouterSGSN/GGSN
汎用ハードウェア上にネットワーク機能をソフトウェアとして実装する設計コンセプト
NFVのアプローチ
大容量の汎用イーサネットスイッチ
大容量の汎用ストレージ
統合的に管理され,
自動的にリモートからインストール
大容量の汎用サーバ
異なるソフトウェアベンダが競争力を発揮できる
先進的なオープンエコシステム
ネットワーク機能
をソフトウェア化
7Copyright©2015 NTT corp. All Rights Reserved.
OpenFlow?
 どういうパケットだったら
 受信ポート番号,パケットヘッダの値(宛先,ソース,各種ID...)
 どういう処理をする
 パケットヘッダの追加,削除,編集
 転送(ユニキャスト,マルチキャスト,ロードバランシング...)
 コントローラにパケットを転送して処理も可能
OpenFlow コントローラ
コントロールプレーン
OpenFlow
プロトコル
OpenFlow スイッチ
データプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow
Table
#2
Flow
Table
#3
Flow
Table
#4
8Copyright©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
9Copyright©2015 NTT corp. All Rights Reserved.
 0.2.5 Apr 6, 2016
 GTP-U tunnel support, some bug fixes
 0.2.6 May 2, 2016
 performance improvement, but DPDK ixgbe vector enabled, much slow
 0.2.7 May 18, 2016
 DPDK vector disabled again
 0.2.8 July 12, 2016
 build and tests on Ubuntu 16.04LTS
 deprecated -p parameter
• ignored if specified
 it works as L2 and/or L3 Hybrid switch
 0.2.9 Aug 26, 2016
 DPDK 16.07
 0.2.10 Dec 20, 2016
 DPDK 16.11
最近のリリース
action: NORMAL対応
L2/L3 Hybrid switch
Tunnel対応
10Copyright©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
11Copyright©2015 NTT corp. All Rights Reserved.
IP(Internet Protocol)のデータ転送
A
B
宛先
(IP)
送信元
(IP)
データ
X
1
2 4
3
XA
XB IPルータ
進行方向
IPルータによって、
X宛のパケットは全
て3を経由して転送
されます
IPのデータ転送では、宛先のIPアドレスにのみ基づいて
転送先が決定される
12Copyright©2015 NTT corp. All Rights Reserved.
OpenFlowで可能になること (例1)
A
B
宛先
(IP)
送信元
(IP)
データ
X
1
2 4
3
XA
XB OpenFlowスイッチ
進行方向
X宛のパケットは、3と4に分散し
て転送することができます
OpenFlowのデータ転送では、宛先と送信元のIPアドレス
の両方により転送先が決定できる
13Copyright©2015 NTT corp. All Rights Reserved.
OpenFlowで可能になること(例2)
A
宛先
(IP)
ポート
(TCP)
データ
X
1
2 4
3 A110
A80
OpenFlowスイッチ
進行方向
メール受信のフロー
だけをウィルス
チェックにかける
WW
W
Mail
ウィルス
チェック
OpenFlowのデータ転送では、IP以外の多くのヘッダ情報から転送先が決定できる
たとえば、ヘッダからアプリケーションを識別できる
14Copyright©2015 NTT corp. All Rights Reserved.
何ができる?
 SDN Japan 2014での実証実験
 アク セスポイ ン ト  
■  A Pの識別(V L A N )
■  V ID 毎にQ o S 制御
PoEスイッチ
インターネット
アクセスポイント
( AP)
L a g o p u sの役割
15Copyright©2015 NTT corp. All Rights Reserved.
何ができる?
 ブラジル-日本間(約1万8,000km)の映像伝送実験
16Copyright©2015 NTT corp. All Rights Reserved.
SDN IX
@ Interop Tokyo 2015 ShowNet
Thanks to NECOMA project
(NAIST & University of Tokyo)
17Copyright©2015 NTT corp. All Rights Reserved.
SDN IXの背景
 IX (Internet eXchange)
 インターネットサービス・プロバイダ (ISP) 間の
L2での接続ポイント
• ISP間のパブリックな接続・プライベート接続
 やりたいことや困っていること
 接続設定の自動化とポータル化、API提供
 DDoS トラヒックを削減・止めたい
• リンク帯域を食い尽くすことも
• 入り口でDDoSトラヒックをdrop
• 外部のDPI装置やFlowSpecとの連携
IX
ISP-CISP A ISP-DISP B
SW
SWSW
SW
ISP-EISP F
IX
ISP-CISP A ISP-DISP B
SW
SWSW
SW
ISP-EISP F
18Copyright©2015 NTT corp. All Rights Reserved.
 2台のLagopusを設置@大手町と幕張
 アキバで買えるIntel Xeonサーバ
• 2 x Xeon E5 (Sandy-bridge) 8core CPU
• 6 x 10GbE NIC
Lagopus @ ShowNet 2015
19Copyright©2015 NTT corp. All Rights Reserved.
Lagopus @ ShowNet rack
20Copyright©2015 NTT corp. All Rights Reserved.
 平均2Gbps throughput
 パケットドロップは発生なし
 ときたま10Gbpsのトラヒックにも耐えた
 Interop Tokyo会期中リブートなし & トラブルなし
Lagopus@幕張を通ったトラヒック
21Copyright©2015 NTT corp. All Rights Reserved.
Lagopus @ ShowNet 2016
 -
引用:https://www.facebook.com/interop.shownet
22Copyright©2015 NTT corp. All Rights Reserved.
VNF(VirNOS) + Lagopus + FPGA
- 処理はFPGA、転送はLagopus
- NetFPGA-SUME
- IPアドレスからハッシュを計算
- ハッシュ値にもとづいて転送先のVMの目印をSrc MACに書き込む(256種類)
- LagopusはSrc MAC値に応じてVMへ転送
22
HV VNF VNF VNF
lagopus
lagopus
uplink
downlink
hash計算
とMACへ
の埋め込み
MACにもとづい
てVMへ送信
(staticなflow
entry)
23Copyright©2015 NTT corp. All Rights Reserved.
ShowNet2017 トポロジ図
BackBone
出展社網
Function Pool Blue Function Pool Green
24Copyright©2015 NTT corp. All Rights Reserved.
 Service Function Chaining with BGP Flowspec
ShowNet2017の
Lagopus
コントリビューション
25Copyright©2015 NTT corp. All Rights Reserved.
 vosyswとのマルチポイントGRE接続
Lagopusの動作
Function Pool Green
BackBone
出展社網
Function Pool Blue
encap GREdecap GRE
decap GREencap GRE
push VLANpop VLAN
pop VLANpush VLAN
encap GREdecap GRE
decap GREencap GRE
push VLANpop VLAN
pop VLANpush VLAN
26Copyright©2015 NTT corp. All Rights Reserved.
 http://www.caso.co.jp/product/sdnnfv_pd.html
 http://jp.ricoh.com/technology/tech/081_sdn.html
(Lagopusは使われてないと思われます)
その他,OpenFlowの活用紹介
27Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus switch
 Lagopus switch概要
 その他のソフトウェアスイッチ
 Lagopus Router
Agenda
28Copyright©2015 NTT corp. All Rights Reserved.
歴史
1995 2000 2005 2010 2015
DPDK
R1.0 OSS LF join
2012 BT vBRAS demo
Research phase
Internal product phase
OSS phase
netmap
XDP
Click
BESS
OVS
Nicir
a
OVN
Lagopus
VPP
29Copyright©2015 NTT corp. All Rights Reserved.
OpenFlow 以外の新しいソフトウェアスイッチ
 OVSの不便さ,方向の違いから,OVS以外のフォワーディングプレーン,
vSwitchが提案される(PISCES vswitch,BESS switch)
 DPDKアプリケーションを作成する際,問題となるL2,L3のルーティング部
分をライブラリ化する取組み(FD.io)
29
PISCES vswitch
BESS vswitch
30Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus switch
 Lagopus switch概要
 その他のソフトウェアスイッチ
 Lagopus Router
Agenda
31Copyright©2015 NTT corp. All Rights Reserved.
 Lagopus Switch から Lagopus Routerに
 OpenFlow Switchで開発した柔軟なフロー検索と処理に加え,様々なネット
ワーク制御系アプリやオーケストレーションと連携可能とする
• ルータの備える標準的なプロトコル制御機能
• オーバーレイネットワークを実現するVxLANやGRE
• 暗号化(IPsec)の終端機能
新Lagopus
32Copyright©2015 NTT corp. All Rights Reserved.
Lagopus routerの特徴
 既存インフラへの導入を容易とするSDN対応ソフトウェアルータ
 ルータとしての基本機能(経路交換、VRF、冗長化、管理/監視イン
タフェースなど)を備え、APIを利用して機能拡張も容易
SDNコントローラ
経路
交換
冗長化
管理
監視
提供したい
サービス
SDNスイッチ
SDNコントローラ
提供したいサービス
Lagopus
経路
交換
既存インフラへの接続のため様々な
アプリケーションの実装が必要
•提供したいサービスアプリのみ実装
•スイッチへの柔軟な機能拡張
33Copyright©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
34
Design
 Loose coupled modular-based design
(like a microservice architecture)
 Unified configuration datastore
 Configuration defined by yang
 Pub/Sub-like APIs, config datastore as a
broker
 Using existing routing agents
 Slightly modified for APIs
 High performance/extensibility dataplane
 Fast path written in C + DPDK
 Slow path written in go
Lagopus Router
Routing agent VRRP agent IKE agent MAT agent
Dataplane
Dataplane framework
Network
Interface
L2
(Bridging)
L3
(Routing)
IPsec
(crypto)
Config datastore
SDN controller/Orchestrator CLI
gRPC
gRPC or NETLINK
35
Architecture of a dataplane module
 Written in C + golang
 Packet Processing
 Written in C with DPDK for the performance
 Module managing and Handle control packets
 Written in golang
 Subscribe configuration from the config datastore
 Protocol handling, likely ARP, ICMP, BGP with router agens.
 More details
 Takanari Hayama, Using DPDK with Go, 2016 Dublin DPDK userspace
 https://dpdksummit.com/Archive/pdf/2017Userspace/DPDK-Userspace2017-Day2-
11-using_dpdk_with_go.pdf
Modules that require
performance
Control in Go
Packet Processing
in C
Input
Ring
Ring Ring
References
to Output
Rings
36
Config Datastore
 Openconfigd
 https://github.com/coreswitch/openconfigd
 Commit & Rollback support configuration
system in Zebra2.0
 Configuration is defined by YANG model
 Automatically generates APIs
 gRPC
 CLI with completion/show/config
Show/Config
/Completion
Routing agentRouting agent
Router agent
gRPC
OpenConfigd
YangAuto generate
DBAPIs
CLIOrchestrator
Subscrive config subtree
with two-phase commit
Commits
/Results
37
Roadmap
 Aug. 2017
 Alpha release
 Simple L3 module with VRF and VRRP
 2018.1Q
 Beta release
 L2 module
 L3 Tunnel module (IP/IP)
 Match and Actions Tables
 Stats module
 Performance tuning
 2018.2Q
 IPsec module(IKE v1/v2, AES256/SHA-2)
 L2 Tunnel module (VxLAN)
 Future works
 NAT
 IPv6
 MPLS
 BGP Flowspec
 ACL
 xFlow
38Copyright©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/
参考
39Copyright©2015 NTT corp. All Rights Reserved.
ご清聴ありがとうございました
39
########
## ;;;; ##
## #### ##
#### ##
## ## ####
##### ######## ##
############## ## ##
### ######## ## ##
#### ## ## ## #### ##
#### ## ## ## ## ##
###### #### ####
#### #### ##########
####################
mmmm ##
##########

More Related Content

Osc2018tokyo spring-20180224

  • 1. 1Copyright©2015 NTT corp. All Rights Reserved. Lagopus Switch/Router 2018/02/24 日比智也 Lagopus User Community 1
  • 2. 2Copyright©2015 NTT corp. All Rights Reserved.  ネットワークはプログラミングする時代になっています  SDNとかOpenFlow  サーバアプリやサーバインフラ管理の流儀で ネットワークを管理できるようになります  サーバで動作する速いソフトウエアスイッチLagopusがあります!  オープンソース  遅かったら文句ください! 今日覚えていってほしいこと
  • 3. 3Copyright©2015 NTT corp. All Rights Reserved.  Lagopus switch  Lagopus switch概要  その他のソフトウェアスイッチ  Lagopus Router Agenda
  • 4. 4Copyright©2015 NTT corp. All Rights Reserved. ネットワークに求められる柔軟性 ユーザの環境変化 サービス・ トラフィック需要の 多様化 技術の進展への 対応 ネットワーク装置 機能A 機能B 機能C 機能D 機能E 機能F 汎用装置 機能A 機能F 汎用装置 機能B 機能C 必要なときに 選択的に 組み合わせて 効率よく提供 したい フルセット構成 最小構成 ニーズや変化に 併せて、 ネットワークを 素早く制御したい マニュアル操作を基本 とするネットワーク制御 自動化を基本とする ネットワーク制御 ネットワーク制御の プログラマビリティ SDN ネットワーク機能の プログラマビリティ NFV
  • 5. 5Copyright©2015 NTT corp. All Rights Reserved. インフラレイヤ コントロール レイヤ アプリ レイヤ SDN(Software-Defined Networking)  定義 ソフトウェアでネットワーク を(できるだけ自動)制御す ることにより、ネットワーク の開発速度の向上と高度化を 実現させるコンセプト  アーキテクチャ  3層構成にして 各層間にインタ フェースを用意 5 ネットワーク 装置 ネットワーク 装置 ネットワーク 装置 ネットワーク制御 ネットワーク 制御ソフト ビジネス・サービスアプリ データプレーン 制御インタフェース ネットワーク設定・ 管理インタフェース ※参照:https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf E.g. OpenFlow Protocol
  • 6. 6Copyright©2015 NTT corp. All Rights Reserved. NFV(Network Function Virtulisation) • 機能ごとに専用ハードウェアを使用 • サイトごとに実機の設置が必須 • 専用ハードウェアの開発は,新興ベンダに とってはハードルが高く,競争が起こりにくい 従来のネットワークアプライアンス のアプローチ BRAS FirewallDPI CDN Tester/QoE monitor WAN Acceleration Message Router Radio/Fixed Access Network Nodes Carrier Grade NAT Session Border Controller PE RouterSGSN/GGSN 汎用ハードウェア上にネットワーク機能をソフトウェアとして実装する設計コンセプト NFVのアプローチ 大容量の汎用イーサネットスイッチ 大容量の汎用ストレージ 統合的に管理され, 自動的にリモートからインストール 大容量の汎用サーバ 異なるソフトウェアベンダが競争力を発揮できる 先進的なオープンエコシステム ネットワーク機能 をソフトウェア化
  • 7. 7Copyright©2015 NTT corp. All Rights Reserved. OpenFlow?  どういうパケットだったら  受信ポート番号,パケットヘッダの値(宛先,ソース,各種ID...)  どういう処理をする  パケットヘッダの追加,削除,編集  転送(ユニキャスト,マルチキャスト,ロードバランシング...)  コントローラにパケットを転送して処理も可能 OpenFlow コントローラ コントロールプレーン OpenFlow プロトコル OpenFlow スイッチ データプレーン Flow Table フローパターン アクション フローパターン アクション カウンター カウンター Flow Table #2 Flow Table #3 Flow Table #4
  • 8. 8Copyright©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
  • 9. 9Copyright©2015 NTT corp. All Rights Reserved.  0.2.5 Apr 6, 2016  GTP-U tunnel support, some bug fixes  0.2.6 May 2, 2016  performance improvement, but DPDK ixgbe vector enabled, much slow  0.2.7 May 18, 2016  DPDK vector disabled again  0.2.8 July 12, 2016  build and tests on Ubuntu 16.04LTS  deprecated -p parameter • ignored if specified  it works as L2 and/or L3 Hybrid switch  0.2.9 Aug 26, 2016  DPDK 16.07  0.2.10 Dec 20, 2016  DPDK 16.11 最近のリリース action: NORMAL対応 L2/L3 Hybrid switch Tunnel対応
  • 10. 10Copyright©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
  • 11. 11Copyright©2015 NTT corp. All Rights Reserved. IP(Internet Protocol)のデータ転送 A B 宛先 (IP) 送信元 (IP) データ X 1 2 4 3 XA XB IPルータ 進行方向 IPルータによって、 X宛のパケットは全 て3を経由して転送 されます IPのデータ転送では、宛先のIPアドレスにのみ基づいて 転送先が決定される
  • 12. 12Copyright©2015 NTT corp. All Rights Reserved. OpenFlowで可能になること (例1) A B 宛先 (IP) 送信元 (IP) データ X 1 2 4 3 XA XB OpenFlowスイッチ 進行方向 X宛のパケットは、3と4に分散し て転送することができます OpenFlowのデータ転送では、宛先と送信元のIPアドレス の両方により転送先が決定できる
  • 13. 13Copyright©2015 NTT corp. All Rights Reserved. OpenFlowで可能になること(例2) A 宛先 (IP) ポート (TCP) データ X 1 2 4 3 A110 A80 OpenFlowスイッチ 進行方向 メール受信のフロー だけをウィルス チェックにかける WW W Mail ウィルス チェック OpenFlowのデータ転送では、IP以外の多くのヘッダ情報から転送先が決定できる たとえば、ヘッダからアプリケーションを識別できる
  • 14. 14Copyright©2015 NTT corp. All Rights Reserved. 何ができる?  SDN Japan 2014での実証実験  アク セスポイ ン ト   ■  A Pの識別(V L A N ) ■  V ID 毎にQ o S 制御 PoEスイッチ インターネット アクセスポイント ( AP) L a g o p u sの役割
  • 15. 15Copyright©2015 NTT corp. All Rights Reserved. 何ができる?  ブラジル-日本間(約1万8,000km)の映像伝送実験
  • 16. 16Copyright©2015 NTT corp. All Rights Reserved. SDN IX @ Interop Tokyo 2015 ShowNet Thanks to NECOMA project (NAIST & University of Tokyo)
  • 17. 17Copyright©2015 NTT corp. All Rights Reserved. SDN IXの背景  IX (Internet eXchange)  インターネットサービス・プロバイダ (ISP) 間の L2での接続ポイント • ISP間のパブリックな接続・プライベート接続  やりたいことや困っていること  接続設定の自動化とポータル化、API提供  DDoS トラヒックを削減・止めたい • リンク帯域を食い尽くすことも • 入り口でDDoSトラヒックをdrop • 外部のDPI装置やFlowSpecとの連携 IX ISP-CISP A ISP-DISP B SW SWSW SW ISP-EISP F IX ISP-CISP A ISP-DISP B SW SWSW SW ISP-EISP F
  • 18. 18Copyright©2015 NTT corp. All Rights Reserved.  2台のLagopusを設置@大手町と幕張  アキバで買えるIntel Xeonサーバ • 2 x Xeon E5 (Sandy-bridge) 8core CPU • 6 x 10GbE NIC Lagopus @ ShowNet 2015
  • 19. 19Copyright©2015 NTT corp. All Rights Reserved. Lagopus @ ShowNet rack
  • 20. 20Copyright©2015 NTT corp. All Rights Reserved.  平均2Gbps throughput  パケットドロップは発生なし  ときたま10Gbpsのトラヒックにも耐えた  Interop Tokyo会期中リブートなし & トラブルなし Lagopus@幕張を通ったトラヒック
  • 21. 21Copyright©2015 NTT corp. All Rights Reserved. Lagopus @ ShowNet 2016  - 引用:https://www.facebook.com/interop.shownet
  • 22. 22Copyright©2015 NTT corp. All Rights Reserved. VNF(VirNOS) + Lagopus + FPGA - 処理はFPGA、転送はLagopus - NetFPGA-SUME - IPアドレスからハッシュを計算 - ハッシュ値にもとづいて転送先のVMの目印をSrc MACに書き込む(256種類) - LagopusはSrc MAC値に応じてVMへ転送 22 HV VNF VNF VNF lagopus lagopus uplink downlink hash計算 とMACへ の埋め込み MACにもとづい てVMへ送信 (staticなflow entry)
  • 23. 23Copyright©2015 NTT corp. All Rights Reserved. ShowNet2017 トポロジ図 BackBone 出展社網 Function Pool Blue Function Pool Green
  • 24. 24Copyright©2015 NTT corp. All Rights Reserved.  Service Function Chaining with BGP Flowspec ShowNet2017の Lagopus コントリビューション
  • 25. 25Copyright©2015 NTT corp. All Rights Reserved.  vosyswとのマルチポイントGRE接続 Lagopusの動作 Function Pool Green BackBone 出展社網 Function Pool Blue encap GREdecap GRE decap GREencap GRE push VLANpop VLAN pop VLANpush VLAN encap GREdecap GRE decap GREencap GRE push VLANpop VLAN pop VLANpush VLAN
  • 26. 26Copyright©2015 NTT corp. All Rights Reserved.  http://www.caso.co.jp/product/sdnnfv_pd.html  http://jp.ricoh.com/technology/tech/081_sdn.html (Lagopusは使われてないと思われます) その他,OpenFlowの活用紹介
  • 27. 27Copyright©2015 NTT corp. All Rights Reserved.  Lagopus switch  Lagopus switch概要  その他のソフトウェアスイッチ  Lagopus Router Agenda
  • 28. 28Copyright©2015 NTT corp. All Rights Reserved. 歴史 1995 2000 2005 2010 2015 DPDK R1.0 OSS LF join 2012 BT vBRAS demo Research phase Internal product phase OSS phase netmap XDP Click BESS OVS Nicir a OVN Lagopus VPP
  • 29. 29Copyright©2015 NTT corp. All Rights Reserved. OpenFlow 以外の新しいソフトウェアスイッチ  OVSの不便さ,方向の違いから,OVS以外のフォワーディングプレーン, vSwitchが提案される(PISCES vswitch,BESS switch)  DPDKアプリケーションを作成する際,問題となるL2,L3のルーティング部 分をライブラリ化する取組み(FD.io) 29 PISCES vswitch BESS vswitch
  • 30. 30Copyright©2015 NTT corp. All Rights Reserved.  Lagopus switch  Lagopus switch概要  その他のソフトウェアスイッチ  Lagopus Router Agenda
  • 31. 31Copyright©2015 NTT corp. All Rights Reserved.  Lagopus Switch から Lagopus Routerに  OpenFlow Switchで開発した柔軟なフロー検索と処理に加え,様々なネット ワーク制御系アプリやオーケストレーションと連携可能とする • ルータの備える標準的なプロトコル制御機能 • オーバーレイネットワークを実現するVxLANやGRE • 暗号化(IPsec)の終端機能 新Lagopus
  • 32. 32Copyright©2015 NTT corp. All Rights Reserved. Lagopus routerの特徴  既存インフラへの導入を容易とするSDN対応ソフトウェアルータ  ルータとしての基本機能(経路交換、VRF、冗長化、管理/監視イン タフェースなど)を備え、APIを利用して機能拡張も容易 SDNコントローラ 経路 交換 冗長化 管理 監視 提供したい サービス SDNスイッチ SDNコントローラ 提供したいサービス Lagopus 経路 交換 既存インフラへの接続のため様々な アプリケーションの実装が必要 •提供したいサービスアプリのみ実装 •スイッチへの柔軟な機能拡張
  • 33. 33Copyright©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
  • 34. 34 Design  Loose coupled modular-based design (like a microservice architecture)  Unified configuration datastore  Configuration defined by yang  Pub/Sub-like APIs, config datastore as a broker  Using existing routing agents  Slightly modified for APIs  High performance/extensibility dataplane  Fast path written in C + DPDK  Slow path written in go Lagopus Router Routing agent VRRP agent IKE agent MAT agent Dataplane Dataplane framework Network Interface L2 (Bridging) L3 (Routing) IPsec (crypto) Config datastore SDN controller/Orchestrator CLI gRPC gRPC or NETLINK
  • 35. 35 Architecture of a dataplane module  Written in C + golang  Packet Processing  Written in C with DPDK for the performance  Module managing and Handle control packets  Written in golang  Subscribe configuration from the config datastore  Protocol handling, likely ARP, ICMP, BGP with router agens.  More details  Takanari Hayama, Using DPDK with Go, 2016 Dublin DPDK userspace  https://dpdksummit.com/Archive/pdf/2017Userspace/DPDK-Userspace2017-Day2- 11-using_dpdk_with_go.pdf Modules that require performance Control in Go Packet Processing in C Input Ring Ring Ring References to Output Rings
  • 36. 36 Config Datastore  Openconfigd  https://github.com/coreswitch/openconfigd  Commit & Rollback support configuration system in Zebra2.0  Configuration is defined by YANG model  Automatically generates APIs  gRPC  CLI with completion/show/config Show/Config /Completion Routing agentRouting agent Router agent gRPC OpenConfigd YangAuto generate DBAPIs CLIOrchestrator Subscrive config subtree with two-phase commit Commits /Results
  • 37. 37 Roadmap  Aug. 2017  Alpha release  Simple L3 module with VRF and VRRP  2018.1Q  Beta release  L2 module  L3 Tunnel module (IP/IP)  Match and Actions Tables  Stats module  Performance tuning  2018.2Q  IPsec module(IKE v1/v2, AES256/SHA-2)  L2 Tunnel module (VxLAN)  Future works  NAT  IPv6  MPLS  BGP Flowspec  ACL  xFlow
  • 38. 38Copyright©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/ 参考
  • 39. 39Copyright©2015 NTT corp. All Rights Reserved. ご清聴ありがとうございました 39 ######## ## ;;;; ## ## #### ## #### ## ## ## #### ##### ######## ## ############## ## ## ### ######## ## ## #### ## ## ## #### ## #### ## ## ## ## ## ###### #### #### #### #### ########## #################### mmmm ## ##########