More Related Content
PDF
Lagopus Project (Open Source Conference) PDF
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest... PPTX
PPTX
Lagopus workshop@Internet weekのそば PDF
PDF
Osc2018tokyo spring-20180224 PDF
NPStudy LT Lagopus Router v19.07 What's hot
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ) PDF
PDF
PDF
PDF
PPTX
PDF
PPTX
PPTX
PPTX
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~ PPTX
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月 KEY
PPTX
PPTX
Project calico introduction - OpenStack最新情報セミナー 2017年7月 PDF
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定 PDF
Lagopus & NFV with Vhost (Tremaday#9) PDF
20170329 container technight-第一回勉強会 PPTX
Contrail overview open stack days tokyo-feb2015 PDF
PDF
Lagos running on small factor machine Similar to Lagopus Router
PDF
PDF
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~ PDF
Xeon dとlagopusと、pktgen dpdk PDF
"OPEN NETWORKING" に向けた Management / Data Plane の動向 PPTX
PPTX
DeNA private cloudのその後 #denatechcon PDF
SDN Lab環境でのRobotFramework実践活用 PPT
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版) PDF
PDF
PDF
PDF
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ... PDF
PDF
Opencontraildays2014dist 140514051248-phpapp01 PDF
PDF
PDF
Lagopus, raw socket build PDF
Lagopus as open flow hybrid switch 実践編 PDF
SDNソフトウェアスイッチlagopus for FreeBSD PDF
Lagopus as open flow hybrid switch Lagopus Router
- 1.
- 2.
1Copyright©2015 NTT corp.All Rights Reserved.
Develops SDN/NFV software node for carrier networks to
realize
Differentiate services / Time-to-Market / Cost-efficiency
Supported by
The Ministry of Internal Affairs and Communications of Japan (April,
2013 - March, 2016)
NTT (April, 2013 -)
Release
Lagopus software OpenFlow 1.3 switch (July, 2014 - )
• https://github.com/lagopus/lagopus
Lagopus software router (Aug., 2017 - )
• https://github.com/lagopus/lagopus-router (alpha version)
Lagopus Project
- 3.
2Copyright©2015 NTT corp.All Rights Reserved.
Pure OpenFlow 1.3 Software Switch with Tunnel
Extensions
Open soure under Apache v2 license
(https://github.com/lagopus/lagopus)
High Performance with DPDK (over 20Mpps, over 1M flow entries)
Best OpenFlow 1.3 compliant software switch by Ryu certification
Provides good programmability for stateless network functions (e.g.
SDN-IX)
Difficult to handle stateful/complicate protocols such as
• VRRP, ICMP(e.g. reply too large), IPv4 fragmentation, IPsec
Lagopus Switch
- 4.
3Copyright©2015 NTT corp.All Rights Reserved.
OpenFlow?
どういうパケットだったら
受信ポート番号,パケットヘッダの値(宛先,ソース,各種ID...)
どういう処理をする
パケットヘッダの追加,削除,編集
転送(ユニキャスト,マルチキャスト,ロードバランシング...)
コントローラにパケットを転送して処理も可能
OpenFlow コントローラ
コントロールプレーン
OpenFlow
プロトコル
OpenFlow スイッチ
データプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow
Table
#2
Flow
Table
#3
Flow
Table
#4
- 5.
4Copyright©2015 NTT corp.All Rights Reserved.
Lagopus Switch から Lagopus Routerに
OpenFlow Switchで開発した柔軟なフロー検索と処理に加え,様々なネット
ワーク制御系アプリやオーケストレーションと連携可能とする
• ルータの備える標準的なプロトコル制御機能
• オーバーレイネットワークを実現するVxLANやGRE
• 暗号化(IPsec)の終端機能
新Lagopus
- 6.
5Copyright©2015 NTT corp.All Rights Reserved.
Lagopus routerの特徴
既存インフラへの導入を容易とするSDN対応ソフトウェアルータ
ルータとしての基本機能(経路交換、VRF、冗長化、管理/監視イン
タフェースなど)を備え、APIを利用して機能拡張も容易
SDNコントローラ
経路
交換
冗長化
管理
監視
提供したい
サービス
SDNスイッチ
SDNコントローラ
提供したいサービス
Lagopus
経路
交換
既存インフラへの接続のため様々な
アプリケーションの実装が必要
•提供したいサービスアプリのみ実装
•スイッチへの柔軟な機能拡張
- 7.
6Copyright©2015 NTT corp.All Rights Reserved.
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
Design
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
- 8.
7Copyright©2015 NTT corp.All Rights Reserved.
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/2017Userspa
ce/DPDK-Userspace2017-Day2-11-
using_dpdk_with_go.pdf
Architecture of a dataplane module
Modules that require
performance
Control in Go
Packet Processing
in C
Input
Ring
Ring Ring
References
to Output
Rings
- 9.
8Copyright©2015 NTT corp.All Rights Reserved.
Openconfigd
https://github.com/coreswitch/o
penconfigd
Commit & Rollback support
configuration system in Zebra2.0
Configuration is defined by YANG
model
Automatically generates APIs
• gRPC
• CLI with completion/show/config
Config Datastore
Routing agentRouting agent
Router agent
gRPC
OpenConfigd
YangAuto generate
DBAPIs
CLIOrchestrator
Subscrive config subtree
with two-phase commit
Commits
/Results
- 10.
9Copyright©2015 NTT corp.All Rights Reserved.
参考
https://www.slideshare.net/m-asama/openconfigd-82986150
Yangの変更によるCLIの生成
(時間があれば)サンプルアプリケーション
Config Datastore demo
- 11.
10Copyright©2015 NTT corp.All Rights Reserved.
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
Roadmap
2018.2Q
IPsec module(IKE v1/v2,
AES256/SHA-2)
L2 Tunnel module (VxLAN)
Future works
NAT
IPv6
MPLS
BGP Flowspec
ACL
xFlow
- 12.
11Copyright©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/
参考
- 13.
12Copyright©2015 NTT corp.All Rights Reserved.
ご清聴ありがとうございました
12
########
## ;;;; ##
## #### ##
#### ##
## ## ####
##### ######## ##
############## ## ##
### ######## ## ##
#### ## ## ## #### ##
#### ## ## ## ## ##
###### #### ####
#### #### ##########
####################
mmmm ##
##########