Openflow超解釈

15
Openflow 超解釈 Hiroaki Kawai <[email protected]>

Transcript of Openflow超解釈

Openflow 超解釈

Hiroaki Kawai<[email protected]>

2

はじめにお断り

役には立ちませんっ!! > <

3

I am

• Hiroaki KAWAI• 神戸在住• @kwi• Stratosphere, Inc. に在籍▫ SDNの会社として、AccessとIIJで設立▫ OmniSphere : Wireless + Openflow をテーマに製品化▫ Wireless + Openflowの開発はひきつづきやってます

4

最も短いOpenflow説明

• パケット転送装置。スイッチングハブ。• 転送の仕方を指定できる。• OSI参照モデルをぶち抜きで通して指定できる。▫ いきなり「TCP 80(HTTP)なら~」みたいに。

• ついでにちょっとした料理もできる。▫ IPアドレス書き換えとか。

• プログラムを書いて使う。▫ プログラム置き場として「コントローラ」▫ 転送装置は「スイッチ」と分離されているのが一般的

• スポット的に導入すると大変効果的。▫ mod_rewrite をイメージすると近しい感じ。

5

そんな Openflow ですが

6

Openflow 1.5 released !!(Protocol version 0x06)

Illustrations by: http://free-illustrations.gatag.net/2013/12/08/170000.html

7

What's new

• Egress Tables• Packet Type aware pipeline• Extensible Flow Entry Statistics• Flow Entry Statistics Trigger• Copy-Field action• Packet Register pipeline fields• TCP flags matching• Group command• etc...

Packet Type aware ?

8

OXM_OF_PACKET_TYPE

• OXMの一つ▫ Match要素として▫ Set-fieldのフィールドとして▫ Out-of-bandデータとして

• 中身は構造体(仕様としては初めて)▫ 4 bytesを2,2に区切って、(uint16,uint16)と読み出す。▫ 前半を namespace 後半を ns_type と呼ぶ。

• OXM列の先頭になければならない(順序言及は初)

9

Packet type namespace

OFPHTN_ONF (0)

OFPHTN_UDP_TCP_PORT (3) + IANA port number

OFPHTN_ETHERTYPE (1) + IANA Ethertype

OFPHTN_IP_PROTO (2) + IANA Protocol number

OFPHTN_IPV4_OPTION (4) + IANA ip option number

OFPHTO_ETHERNET (0)

OFPHTO_NO_HEADER (1)

OFPHTO_OXM_EXPERIMENTER (0xFFFF)

10

… …えっと つまり ?

• Default = Ethernet▫ packet_inのdataに入っているのはethernet frame

• OFPHTO_NO_HEADER▫ “ex. circuit switch” (回線交換機)なんだそうだ

• packet_type▫ (3, 80) とやると、HTTPを直接扱うという意味

L1 – L7 に拡張

reassembleについての記述は無い!! (現時点では multiple type を範囲外としているため)

11

よし、わかった

12

JSON をスイッチングしよう(何

13

acme/ofp4json

$ go get github.com/hkwi/acme/ofp4json$ go install github.com/hkwi/acme/ofp4json

& DEMO

14

ネットワーク、どこ行ったw?

15

そんなこんなで

• Openflow 楽しいよ!▫ Raspberry pi GPIO + OFPHTO_NO_HEADER !?

• Gopenflow = golang + openflow やってるよ!▫ Experimenter追加して実験したり

• 無線 + Openflow 一緒にやりませんか!?• 絶賛募集中!(企業も)