Deeply Programmable Network
データプレーンプログラム可能性によるSDN, NFVの発展

中尾彰宏（東京大学）
Aki Nakao (Utokyo)
IIJ Lab Seminar
2013/11/29
1
The University of Tokyo Confidential

SDN Architecture
Applications

NetworkApplications

Killer
App?

North-Bound Interface (NBI)
Control Plane

Control-Plane
Elements
South-Bound Interface (SBI)

Data Plane

Data-Plane
Elements
The University of Tokyo Confidential

Limiting
Factor2

Deeply Programmable Network• Application Programmability!

OpenDaylight
ONF

DPN
Applications

Network
Applications

OpenFlow• Control-Plane Programmability SDN• Interfaces• Functions

Interfacese.g, Northbound API

Control-Plane• Route Control• Access Control• Network Management• Data-Plane Programmability

Control Plane

Elements
e.g, OpenFlow Controller!

• Interfaces• Functions• Packet Data Processing

NFV

DeeplyProgrammable
Network(DPN)
Data Plane• Network Appliances (DPI, BRAS, EPC)
• In-Network processing (Cache,Interfacese.g, Southbound API

Data-Plane
Elements
e.g, OpenFlow Switches

Transcode)• Wide-Area generic processing• Handling New Protocols (POF)

The University of Tokyo Confidential

Limiting Factor35•••

Data-Plane Programmabilityへの注目
標準化組織（SDO）での動き•••

ETSI-NFV によるNetwork Appliance H/WのS/W実装
ONF の動向 (L4-L7用のAPI / Chip開発）
Data-Plane Chip/Software VendorsのONFへの参加

企業の動き

••
••

Data Plane Development Kit (DPDK)
Many Core Network Processors
NetFPGA/ FPGAOpenFlow+ExternalBoxの開発

アカデミアでの研究開発•••

GENI (Deeply Programmable Network)
CCN/NDN/ICN/Mobiliety First (従来IPとは異なるプロトコル）
NICT委託研究（Vnode/FLARE)
The University of Tokyo Confidential

5

OpenFlow スイッチ
Applications
Northbound API
OpenFlow Controller (OFC)
OpenFlow API(Southbound API)
Fixed Control Plane API
Fixed Data Plane

Flow Pattern Match!
Actions

Physical Ports

OpenFlow Switch (OFS)

現在の課題 (unresolved challenges)：• Flexible Pattern Matching (L4-L7) and Actions (Packet Processing)• Protocol Oblivious Fowarding (POF)
The University of Tokyo Confidential5フルにプログラム可能なノード
Applications
Northbound API
Controller
Southbound API
Programmable Control Plane
Programmable Data Plane

Physical Ports

The University of Tokyo Confidential

DeeplyProgrammableSwitch6

複数のロジックをフルにプログラム可能なノード

Programmable Control Plane
Programmable Data Plane
Programmable Control Plane
Programmable Data Plane
Programmable Control Plane
Programmable Data Plane!
リソースコンテナ
仮想化技術（ResourceContainer)

単一ノード上で複数のコントロールプレーンAPIとデータプレーン機能をプログラム可能
The University of Tokyo Confidential7

FLARE ノードアーキテクチャ
FLARE 	

制御ノード

フルにプログラム可能
Programmable Control Plane.
.

Programmable Data Plane

論理ネットワークポート

物理ネットワークポート
The University of Tokyo Confidential

ノードマネージャ
パケットスライサー8解決するべき課題 (Challenges)• プログラム性（Programmability）	

• パフォーマンス（Performance）	

• 複数ロジック（Multiple Concurrent Logics)
FLAREにおける解決法• Linux (+OSS) + トイブロックネットワーキング（Linux(OSS)+Toy-Block Data Plane Construction）• メニーコアネットワークプロセッサ＋汎用プロセッサ（Many-Core
Network Processor + General Purpose Processor）• 仮想化・リソースコンテナ (Virtualiztion/Resource Container)
The University of Tokyo Confidential9データプレーンAPIとトイブロックネットワーキング
Data-Plane API and Toy Block Networking
SDN-style
APIHot Config
Plug-in/out
Control Plane

Control Plane

Control-Plane Elements

Control-Plane Elements

Control Plane

Control-Plane Elements

Data Plane

Data Plane

monolithic
data-plane

BothAPI + Hot Config

modulardata-plane

modulardata-plane
modulardata-plane

Data-Plane Elements

Data-Plane Elements

e.g.,
openflow-stylee.g.,click-style

The University of Tokyo Confidential

Data Plane
modulardata-plane

modulardata-plane
modulardata-plane

Data-Plane Elements10FLARE におけるプログラミングモデル
Programmable Control Plane

ofprotocol

dpctl
Programmable Data Plane	

NOX
Controller

tunnelFromIO(xgbe1)

ToIO(xgbe2)
OFSwitch

FromIO(xgbe2)

ToIO(xgbe1)

トイブロックネットワーキング(Toy Block Networking)!
マルチスレッド・モジュール構成のData Plane!
e.g., Click Software Modular Router (multi-threaded)
Protocol Oblivious Forwarding (POF) も可能
The University of Tokyo Confidential11FLARE ノードの実装
x86	

Processor

Many Core	

Processor(board designed by NakaoLab)

階層的な計算資源管理	

•汎用プロセッサ	

•メニーコアネットワークプロセッサー	•更に違う特徴を持つ計算資源
The University of Tokyo Confidential12Roadmap of FLARE nodes
320
Capacity in Gbps

10GbE x32

40	

FLARE-EX (1U)2014 1Q

Planned

10GbE x4	FLARE1
2012 4Q

4

10GbE x8

FLARE-X (1U)
2013 4Q	

Available Now!
FLARE-Mini	

FLARE2	

2013 1Q

New!!

2013 2Q

GbE x8 + 10GbE x2

1032
The number of ports
The University of Tokyo Confidential13

FLARE Mini•
•
•
•
•
•

学生が自宅でプログラム可能な小型プログラマブルノード•

例：パケット生成/パケット再生@10Gbps, OpenFlow 1.0/1.3

データプレーンプログラムを高速で実行可能
Low Power (120W)
転送容量 40G(現状) ~ 80G（予定）ネットワークインターフェース:10Gx2 + 1Gx8
プリインストールされたネットワーク機能モジュールを組み合わせることで複雑なネットワークサービスを構築可能

The University of Tokyo Confidential14The University of Tokyo Confidential15

Packet Generator
PktGen(Length 64, CPU 1, DEV xgbe1)
PktGen(Length 64, CPU 2, DEV xgbe1)

ToPhy

PktGen(Length 64, CPU 3, DEV xgbe1)
PktGen(Length 64, CPU 3, DEV xgbe1)(Gbps)
10.0

Physical	  layer	  bit	  rate	  (pkt_size=64B)
10.0
8.2

7.5
5.0
2.5

5.5
2.8

0.0
1234(cores)16

Power of Parallelism via Many-Core NPUGenerating short 64B packets @ 10Gbps

17

Multiple SDN Logics(OpenFlow 1.3 andOpenFlow1.0)
FLARE2 1
OpenFlow1.0

NOX1

NOX2

OpenFlow1.3

IPv6
IPv6

GbE
IPv4

10GbE
IPv4

video
clientvideo
clientvideo
clientvideo
clientIPv6
Client #1

IPv6
Client #2

IPv4
Client #1

IPv4
Client #2

The University of Tokyo Confidential

IPv6
IPv4
video
server
VLCServer18

Software Defined OpenFlow
Control Plane

NOXofprotocol

dpctl

Controller

tunnelData Plane
FromIO

ToIO(xgbe1)(xgbe2)
OFSwitch

FromIO

ToIO(xgbe2)(xgbe1)(Gbps)

9.9

10.0

7.9

7.5
4.2

5.0
2.5

9.9

1.5

2.7

9.9
6.7

3.8

5.1

0.0
1	  core2	  cores

3	  cores

Switching Performance4	  cores

The University of Tokyo Confidential

5	  cores
pkt_size=512B
pkt_size=1514B

19

Window-Based POF Bit Matching

任意のオフセットで任意のビットマッチを行うWindowを設定し!
メモリ帯域を有効に使用しパフォーマンスを確保
Packet	  Header

Payloadwindow

パターンマッチの多様性とパフォーマンスのトレードオフ
TCAMではなくDDRメモリを用いて複雑なマッチングが可能
The University of Tokyo Confidential

Leon Lee, Ping Du and Akihiro Nakao “Ouroboros: SDN Beyond Flow Tuple Matching” IEICE Technical Report, Mar. 2013

20

L7 正規表現スイッチング
アプリケーション・デバイスに特化したトラフィックエンジニアリング
アプリケーション開発者は、「フロー」を意識しないですむ

Packet Processing

L7	  Slice	  Controller

Packet Processing

Regular Expression Matching

Regular Expression Matching
8

The University of Tokyo Confidential21

PaF, PiF, PoF，非IPプロトコル
Mobility First Network In Tokyo

MF
RE
Route
FLAr

MF
RE
Sink
FLAMF
SenderMobility FirstUS Backbone

GNRS
serverGBE
SW
C-channel(VLAN̲3135)
XGBE
D-channelSW(VLAN̲3134)
FLARE
Testbed(Japan)The University of Tokyo Confidential

Mobility First
NetworkIn Utah

ProtoGENI
Testbed(US)22

L2 におけるプログラム可能性
MACアドレスの拡張（48ビット から 96ビットへ）
従来のイーサネットフレーム
DMAC (48bits) SMAC (48bits) TypeIP PayLoad

MACアドレス拡張イーサネットフレーム
DMAC (96bits)

SMAC (96bits)

Type IP PayLoad

拡張イーサネットフレームのスイッチング
FromDevice(tap0)

Strip(14)ExEtherEncap

Strip(26)

EtherEncap

Strip(26)

EtherEncap

ToDevice(tap0)ExEtherSwitch
FromDevice(tap1)

Strip(14)ExEtherEncap

The University of Tokyo Confidential

ToDevice(tap1)

23

L2 におけるプログラム可能性
MACアドレスの拡張（48ビット から 96ビットへ）
ToGxIO(xgbe2)

FromGxIO(xgbe1)
ExMAC
SwitchToGxIO(xgbe1)

FromGxIO(xgbe2)(Gbps)

7.5
5.0
2.5

9.9

9.7

10.0

9.9

9.9 9.9

9.9 9.93	  cores

4	  cores

5	  cores
pkt_size=512B

8.7

6.1
3.2

0.0
1	  core2	  cores

Switch Performance

The University of Tokyo Confidential

Data-Plane ProgrammabilityによるSDNの発展の加速
Applications

Network
Applications

PacketProcess

North-Bound Interface (NBI)
Control Plane

Control-Plane
Elements

PacketProcess

Publish API

Data Plane

Programmable
Data-Plane
Elements
The University of Tokyo Confidential

E.g. OpenFlowSwitches25

!

結論•Data Plane Programmability, 複数ロジックサポートは、SDN/NFVの進化形を具現化する重要となる技術である•動的に再構成可能なネットワーク機能によりクラウドや端末などにおける様々な問題の解決が期待される•FLAREは データプレーン、コントロールプレーン、アプリケーションのプログラム可能性を扱うDeeply Programmable
Node Architectureのリファレンスとして重要な技術である•プログラム可能な通信インフラで様々な新しいサービスが迅速に展開可能になってきている•産学官連携による「革新的ネットワークサービス の創成」の黎明期にある
26