lagopus workshop@internet weekのそば
TRANSCRIPT
1Copyright©2015 NTT corp. All Rights Reserved.
Lagopus Workshop@Internet Week の近く中島佳宏Lagopus User Communityhttp://lagopus.github.io/
This research is partially supported by “Research and Development of Network Virtualization Technology” program commissioned by the Ministry of Internal Affairs and Communications.
2Copyright©2015 NTT corp. All Rights Reserved.
Agenda
Lagopus の状況報告Lagopus の概要Lagopus version 0.2 ( 現在のバージョン )Lagopus の適用Lagopus の今後の拡張
Lagopus の設定の仕方Configuration ( 沖さん )
Lagopus の mininet 対応Live demo ( 日比さん )
SDN/OpenFlow お悩み相談フリーディスカッション
3Copyright©2015 NTT corp. All Rights Reserved.
Lagopus の概要
4Copyright©2015 NTT corp. All Rights Reserved.
Lagopus プロジェクトの目的 NFV や SDN を実現するソフトウエアコンポーネントを提供
スイッチエージェント (OpenFlow, REST)高速なソフトウエアデータプレーン柔軟・拡張可能なスイッチ設定機構高速 I/O ライブラリ (DPDK)外部システム連携ライブラリ ( クラウドミドルウエア・補助ツール )Network I/O ハードウエア拡張
ソフトウエアパケット処理の適応領域の拡大キャリア・ネットワークでも活用可能な高いスケーラビリティ性運用を容易にする高可用性・保守成性の向上
ネットワーク研究のツール・ライブラリとしての活用促進高速検索、 QoS コンポーネント、次世代ネットワーキングの拡張
5Copyright©2015 NTT corp. All Rights Reserved.
Lagopus の概要 OpenFlow 1.3 に最も適応したソフトウエアスイッチ
複数のプロトコルフレーム処理の対応• Ethernet, Mac in MAC, MPLS, PBB, IPv4, IPv6…
複数 Flow table やグループテーブルへの対応QoS 機能 (queue, policer, meter table)
DPDK を活用した高性能データプレーン10Gbps を超えるパケット処理・転送性能 (20MPPS 以上 )100 万フローエントリへの対応 (4K flow mod/sec)
外部連携 APICLI や JSON によるスイッチ構成設定
• Flow 設定、統計情報・状況把握
6Copyright©2015 NTT corp. All Rights Reserved.
Lagopus vSwitch の構成
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 tableFlow table
flow tableFlow table
Flow tableGrouptable
Flow tableFlow tablemetertable
switch HAL
OpenFlow 1.3 agent
JSON IF
SNMP
CLI
OVSDB
NETCONF
L2 bridge
L3 (IPv4 ICM
P)
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
7Copyright©2015 NTT corp. All Rights Reserved.
Lagopus project overview
Software dataplane Hardware dataplaneSDN controller
SDN Switch agent
Dataplane
Hardwaredesign
Ryu SDN frameworkLagopus OF sw agent (OF1.3, OF-CONFIG,
OVSDB)Lagopus switch configuration datastore
High performance dataplane
DPDK extension (accelerator, virtual NIC)
40GbEFPGA NIC Future NIC
Open switch abstraction layer
100G NIC
Opendaylight
8Copyright©2015 NTT corp. All Rights Reserved.
Lagopus version 0.2
9Copyright©2015 NTT corp. All Rights Reserved.
OpenFlow 1.3 agentStability improved under high load
OpenFlow 1.3 software dataplaneQueue port support (TCTRM-based QoS queue) Jumbo frame (9KB) supportDPDK 2.0 (1.8 – latest) support
• Linux and FreeBSDMix configuration support of raw-socket port & dpdk portNew flow classification algorithm (mbtree)New flow cache algorithm
• Hashmap_nolock, hashmap, ptree, rte_hashPerformance improvement
• Small latency when low traffic• Checksum calculation optimization when set-filed to L3, L4 fileds
Bugfix• Padding in case of short packet size
Lagopus version 0.2 (1/2)
10Copyright©2015 NTT corp. All Rights Reserved.
ManagementDSL/JSON IFNewly-designed switch configuration datastore
Merchant switch ASIC control supportBroadcom Switch ASIC integration with OF-DPA
• Broadcom Trident series switch – Tested platform (InterfaceMaster, Quanta, Advantech)
• MPLS-capable LSP switch– IP-VPN/MPLS, SPRING with stacked LSP
• Software available when OF-DPA 2.0 is released
Lagopus version 0.2 (2/2)
11Copyright©2015 NTT corp. All Rights Reserved.
Lagopus を使った柔軟なネットワーキングレイヤを超えて楽しいことができます
12Copyright©2015 NTT corp. All Rights Reserved.
半透明人間カメラ × Lagopus
講義中,先生の影が邪魔になって板書しにくい-> 先生を半透明にする
撮影,半透明化,表示の3サーバでシステムを構成 映像は UDP 送受信 映像切替を Lagopus にオフロード!
先生で板書できない! 先生を半透明に!
13Copyright©2015 NTT corp. All Rights Reserved.
半透明人間カメラ × Lagopus
パターン A :通常表示カメラからのパケットを半透明化サーバとモニタに送信
宛先 MAC , IP , port を書き換えマルチキャスト)半透明化サーバからのパケットは drop
パターン B :半透明化カメラからのパケットを半透明化サーバに送信半透明化サーバからのパケットをモニタに送信
(パケットの宛先は適宜書き換える)
カメラ モニタ
半透明人間化
パターン Aパターン B
14Copyright©2015 NTT corp. All Rights Reserved.
SDN Japan 2014 の会場ネットワーク 前に座れば仕事がさくさく
15Copyright©2015 NTT corp. All Rights Reserved.
SDN IX @ Interop Tokyo 2015 ShowNet
Thanks to NECOMA project (NAIST & University of Tokyo)
16Copyright©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
17Copyright©2015 NTT corp. All Rights Reserved.
SDN IX とは ?
Next generation IX with SDN technology Web portal-based path provisioning between ISPs
• Inter-AS L2 connectivity– VLAN-based path provisioning– Private peer provisioning
Protect network from DDoS attack• On-demand 5-tuple-baesd packet filtering
SDN IX controller and distributed SDN/OpenFlow IX core switch
Developed by NECOMA project (NAIST and University of Tokyo)
ISP-CISP A ISP-DISP B
ISP-EISP F
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.
Segment Routing with MPLS by Lagopus + Routing Stack
Source/location-aware traffic control with scalable software-defined networking with MPLS and NFV appliance
22Copyright©2015 NTT corp. All Rights Reserved.
SPRING using MPLS
集中制御と分散制御のいいところどりの NW アーキテクチャMPLS ネットワークの簡易化 + ラベルスタックベースの転送 ラベルスタックに基づいたパケット転送Segment Routing, Source routingNFV との連携が可能
何につかえるの?ポリシールーティング
• 最短ルートやパス制御との連携サービスチェイニング
• 特定のソースやロケーション及びフローに対しての適応
23Copyright©2015 NTT corp. All Rights Reserved.
エッジルータが転送パスとポリシーを表現するラベルスタックをプッシュポリシー管理は上位のマネージメントツールに基づく制御
P ルータはラベルに基づきパケット転送パス計算は各ルータにおける CSPFベースによる最短経路転送リンクダウンへの対応は各時
SPRING の動作
24Copyright©2015 NTT corp. All Rights Reserved.
SPRING implementation with Ryu & Lagopus
QuaggaOSPF-SR
Lagopus
DPDK
X86 CPU/NIC
Ryu
OpenFlow
IPC
OSPF-SR U-plane
Soft Switch
QuaggaOSPF-SR
Lagopus
DPDK
X86 CPU/NIC
Ryu
OpenFlow
IPC
Soft Switch
Policy managementVirtual Network
ManagmentRESTREST
Tap IF Tap IF
25Copyright©2015 NTT corp. All Rights Reserved.
SPRING の PoC
ロケーション指向のパケット転送+サービスチェイニング 複数の仮想 NW
Enterpise intra network• Web service and clients• Untrusted site blocking by NFV service
Lab network• Policy management• Explicit routing for TE
lago0-0
lago0-1
lago1-1
lago1-0
lago2-1
lago2-0
nfv0
win00
Serv01
Serv00
win01p1
p1
vFW vFW
web
Untrusted server block service
lago0-0
lago0-1
lago1-1
lago1-0
lago2-1
lago2-0
nfv0
Ixia
p3
vFW
vFW
Ixia
26Copyright©2015 NTT corp. All Rights Reserved.
Lagopus の今後
27Copyright©2015 NTT corp. All Rights Reserved.
Y2013 Y2014 Y2015 Y2016 -Control plane
Management plane
Data plane
Lagopus development and plan
OF1.3 agent
High-performancesoftware dataplanewith DPDK(static pipelineconfiguration)
Switch config/mngmtDb prototype
OF-CONFIG,CLI, SNMPprototypes
Flexible reconfigurablepipeline in dataplane
Tunnel protocol(VxLAN, GRE, MPLS pseudo-wire)40Gbps-capableSoft dataplaneSwitch ASIC
Extensible switch resourceManagement/configurationdatastore (CLI, OF-CONFIG, SNMP)
OF1.5 agentLegacy protocol supportHybrid SDN
Disaggregation in networkingHigh−availability & Failover support
Security features(Ipsec, DTLS)High-scalabilityOver-100Gbps software dataplane
OpenStackAdaptationSwitch configuration rewrite?
Switch agent framework
28Copyright©2015 NTT corp. All Rights Reserved.
1. 100-Gbps 対応 high-performance software dataplaneFlowDirector の拡張Intel FM10K, Mellanox2. トンネルプロトコルへの対応Encap/decap for VPLS or VPWS
• MPLS, VxLAN, GRE サポートにむけた tunnel の of instruction を追加予定(独自 )3. Hybrid SDN 向けの OpenFlow switch 拡張
Tap IF を用いた OS の nework stack との連携 Netlink による switch 設定
4. OpenStack/Libvirt への対応Docker 環境への対応
取り組む項目
29Copyright©2015 NTT corp. All Rights Reserved.
Lagopus vSwitch の構成
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 tableFlow table
flow tableFlow table
Flow tableGrouptable
Flow tableFlow tablemetertable
switch HAL
OpenFlow 1.3 agent
JSON IF
SNMP
CLI
OVSDB
NETCONF
L2 bridge
L3 (IPv4 ICM
P)
SDN switch Agent- Tunnel 対応
SDN-aware management API- REST API
DPDK-enabled soft dataplane- 100Gbps- 40Gbps- ARM 対応- Hybrid 対応
Docker 対応
Switch configuration datastore- 書き直し?
Soft-dataplane aware FPGA NIC