26
Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学) Aki Nakao (Utokyo) IIJ Lab Seminar 2013/11/29 1 The University of Tokyo Confidential

Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

Deeply Programmable Network データプレーンプログラム可能性による

SDN, NFVの発展

中尾彰宏(東京大学)

Aki Nakao (Utokyo)

IIJ Lab Seminar

2013/11/29

1The University of Tokyo Confidential

Page 2: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���2

Control-Plane Elements

Network Applications

Data-Plane Elements

Applications

Control Plane

Data Plane

North-Bound Interface (NBI)

South-Bound Interface (SBI)

Limiting

FactorThe University of Tokyo Confidential

SDN Architecture

Killer App?

Page 3: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

5

Deeply Programmable Network

•Application Programmability !

•Control-Plane Programmability •Interfaces •Functions • Route Control • Access Control • Network Management

•Data-Plane Programmability •Interfaces •Functions •Packet Data Processing • Network Appliances (DPI, BRAS, EPC) • In-Network processing (Cache, Transcode) • Wide-Area generic processing •Handling New Protocols (POF) • IPvN (N>6), New Layer2, CCN

The University of Tokyo Confidential

Control-Plane Elements

Network Applications

Interfaces

Data-Plane Elements

e.g, OpenFlow Controller

e.g, OpenFlow Switches

e.g, Southbound API

Interfacese.g, Northbound API

Applications

Control Plane

Data Plane

ONF OpenFlow SDN

OpenDaylight

NFV

DPN

!Deeply

Programmable Network (DPN)

Limiting Factor���3

Page 4: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

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/ FPGA

• OpenFlow+ExternalBoxの開発

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

• GENI (Deeply Programmable Network)

• CCN/NDN/ICN/Mobiliety First (従来IPとは異なるプロトコル)

• NICT委託研究(Vnode/FLARE)5

The University of Tokyo Confidential

Page 5: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

OpenFlow スイッチ

OpenFlow Controller (OFC)

Fixed Data Plane Fixed Control Plane API

OpenFlow API (Southbound API)

Flow Pattern Match !

Actions

Physical Ports

Applications

Northbound API

OpenFlow Switch (OFS)

���5

現在の課題 (unresolved challenges): • Flexible Pattern Matching (L4-L7) and Actions (Packet Processing) • Protocol Oblivious Fowarding (POF)

The University of Tokyo Confidential

Page 6: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

Programmable Data PlaneProgrammable Control Plane

Controller

Southbound API

Applications

Northbound API

Physical PortsDeeply

Programmable Switch

フルにプログラム可能なノード

���6The University of Tokyo Confidential

Page 7: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

Programmable Data PlaneProgrammable Control Plane

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

Programmable Data PlaneProgrammable Control Plane

Programmable Data PlaneProgrammable Control Plane

Programmable Data PlaneProgrammable Control Plane

Programmable Data PlaneProgrammable Control Plane

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

!リソース コンテナ 仮想化技術 (Resource Container)

���7

Programmable Data PlaneProgrammable Control PlaneProgrammable Data PlaneProgrammable Control Plane

The University of Tokyo Confidential

Page 8: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���8パケットスライサー

ノード マネージャ

FLARE 制御ノード

物理ネットワークポート

論理ネットワークポート

The University of Tokyo Confidential

.

.

フルにプログラム可能

FLARE ノードアーキテクチャ

Programmable Data Plane

Programmable Control Plane

Page 9: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

解決するべき課題 (Challenges)

FLAREにおける解決法

• Linux (+OSS) + トイブロックネットワーキング

(Linux(OSS)+Toy-Block Data Plane Construction)

• メニーコアネットワークプロセッサ+汎用プロセッサ(Many-Core Network Processor + General Purpose Processor)

• 仮想化・リソースコンテナ (Virtualiztion/Resource Container) ���9

• プログラム性(Programmability) • パフォーマンス(Performance) • 複数ロジック(Multiple Concurrent Logics)

The University of Tokyo Confidential

Page 10: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���10

データプレーンAPIとトイブロックネットワーキングData-Plane API and Toy Block Networking

SDN-style API

Control-Plane Elements

Control Plane

Data-Plane Elements

Data Plane

Control-Plane Elements

Control Plane

Data-Plane Elements

Data Plane

Control-Plane Elements

Control Plane

Data-Plane Elements

Data Plane

monolithic data-plane

modular data-plane

modular data-plane

modular data-plane

Hot Config Plug-in/out

Both API + Hot Config

modular data-plane

modular data-plane

modular data-plane

e.g., openflow-style

e.g., click-styleThe University of Tokyo Confidential

Page 11: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���11

FLARE におけるプログラミングモデル

OFSwitch

FromIO (xgbe1)

ToIO (xgbe2)

FromIO (xgbe2)

ToIO (xgbe1)

Programmable Control Plane

ofprotocoldpctl

tunnel

NOX Controller

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

The University of Tokyo Confidential

Programmable Data Plane

Page 12: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���12

FLARE ノードの実装

(board designed by NakaoLab)

x86 Processor

Many Core Processor

The University of Tokyo Confidential

階層的な計算資源管理 •汎用プロセッサ •メニーコアネットワークプロセッサー •更に違う特徴を持つ計算資源

Page 13: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���13

10GbE x4

The number of ports

GbE x8 + 10GbE x2

Capa

city in

Gbp

sRoadmap of FLARE nodes

40

320

4 10 32

FLARE1 2012 4Q

FLARE2 2013 1Q

10GbE x32

FLARE-EX (1U) 2014 1Q

The University of Tokyo Confidential

Available Now!

10GbE x8 FLARE-X (1U) 2013 4QPlanned

FLARE-Mini 2013 2Q

New!!

Page 14: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���14

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

• データプレーンプログラムを高速で実行可能

• Low Power (120W)

• 転送容量 40G(現状) ~ 80G(予定)

• ネットワークインターフェース:10Gx2 + 1Gx8

• プリインストールされたネットワーク機能モジュールを組み合わせることで複雑なネットワークサービスを構築可能

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

The University of Tokyo Confidential

Page 15: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���15The University of Tokyo Confidential

Page 16: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

Packet Generator

���16

PktGen (Length 64, CPU 1, DEV xgbe1)

ToPhyPktGen

(Length 64, CPU 2, DEV xgbe1)

PktGen (Length 64, CPU 3, DEV xgbe1)

Physical  layer  bit  rate  (pkt_size=64B)

0.0

2.5

5.0

7.5

10.0

1 2 3 4

10.08.2

5.5

2.8

(cores)

(Gbps)

PktGen (Length 64, CPU 3, DEV xgbe1)

Page 17: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���17

Power of Parallelism via Many-Core NPU

Generating short 64B packets @ 10Gbps

Page 18: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���18

Multiple SDN Logics

(OpenFlow 1.3 and OpenFlow 1.0)FLARE2 1

GbE 10GbE

video client

video server

OpenFlow1.0

OpenFlow1.3

NOX1

NOX2

IPv6

VLC Server

IPv4

IPv6

IPv6video client

video client

video client

IPv4 IPv4

IPv6 Client #1

IPv6 Client #2

IPv4 Client #1

IPv4 Client #2

The University of Tokyo Confidential

Page 19: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���19

Software Defined OpenFlow

OFSwitch

FromIO (xgbe1)

ToIO (xgbe2)

FromIO (xgbe2)

ToIO (xgbe1)

Data Plane

Control Plane ofprotocoldpctl

tunnel

NOX Controller

0.0

2.5

5.0

7.5

10.0

1  core 2  cores 3  cores 4  cores 5  cores

9.99.99.97.9

4.2

6.75.1

3.82.7

1.5

pkt_size=512Bpkt_size=1514B

(Gbps)

Switching PerformanceThe University of Tokyo Confidential

Page 20: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���20

Window-Based POF Bit Matching

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

window

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

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

Packet  Header Payload

The University of Tokyo Confidential

Page 21: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���21

L7 正規表現スイッチング

8

Packet Processing Packet ProcessingL7  Slice  Controller

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

Regular Expression MatchingRegular Expression Matching

The University of Tokyo Confidential

Page 22: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���22

PaF, PiF, PoF,非IPプロトコル

FLARE

MFRouter

FLARE

MFSink

GNRS server

MF Sender

Mobility FirstUS Backbone

C-channel (VLAN_3135)D-channel (VLAN_3134)

XGBE SW

FLARE Testbed (Japan)

ProtoGENI Testbed (US)

Mobility FirstNetwork In Utah

GBE SW

Mobility First Network In Tokyo

The University of Tokyo Confidential

Page 23: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

DMAC (48bits)

従来のイーサネットフレームSMAC (48bits) Type IP PayLoad

DMAC (96bits)

MACアドレス拡張イーサネットフレームSMAC (96bits) Type IP PayLoad

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

FromDevice (tap0)

Strip(14) ExEtherEncap

ExEtherSwitch

FromDevice (tap1)

Strip(14) ExEtherEncap

ToDevice (tap0)

Strip(26) EtherEncap

ToDevice (tap1)

Strip(26) EtherEncap

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

���23The University of Tokyo Confidential

Page 24: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

(Gbps)

Switch Performance

0.0

2.5

5.0

7.5

10.0

1  core 2  cores 3  cores 4  cores 5  cores

9.99.99.99.99.7 9.99.98.7

6.1

3.2

pkt_size=512Bpkt_size=1514B

ExMAC Switch

FromGxIO (xgbe1)

ToGxIO (xgbe2)

FromGxIO (xgbe2)

ToGxIO (xgbe1)

The University of Tokyo Confidential

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

Page 25: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���25

Control-Plane Elements

Network Applications

Programmable Data-Plane Elements

Applications

Control Plane

Data Plane

North-Bound Interface (NBI)

E.g. OpenFlow Switches

The University of Tokyo Confidential

Packet Process

Packet Process

Publish API

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

Page 26: Deeply Programmable Network データプレーンプロ …...Deeply Programmable Network データプレーンプログラム可能性による SDN, NFVの発展 中尾彰宏(東京大学)

���26

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