Your SlideShare is downloading. ×
Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」

9,763
views

Published on

OpenFlow勉強会での発表資料です。

OpenFlow勉強会での発表資料です。

Published in: Technology, Education

0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,763
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
20
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OpenFlow (@oshothebig)
  • 2. •• •• • , GMPLS, VLAN tag swapped Ethernet, , etc.
  • 3. OpenFlow• Galibier OpenFlow Controller • https://github.com/oshothebig/galibier• • 300 Java OpenFlow (http://bit.ly/qXoMGM) • OpenFlow Java (http://bit.ly/pbI3Or)
  • 4. OpenFlowApplication Application Application Controller OpenFlowSwitch Switch Switch Switch
  • 5. OpenFlow • NEC UNIVERGE PF5240/ PF5820• Reference • Pronto Systems Implementation 3240/3290• Open vSwitch • IBM RackSwitch G8264 • HP 3500/5400/8200
  • 6. OpenFlow NOX NEC Trema Nicira NetworksBeacon/Floodlight Big Switch Networks Ryu Midokura NodeFlow NTT Data etc. etc.
  • 7. NOX• http://noxrepo.org/• GPL v3• Nicira Networks• C++/Python• •• • 2011/1/1 53
  • 8. Trema• https://github.com/trema/trema• GPL v2• NEC• C/Ruby• • 1 PC•
  • 9. Beacon/Floodlight• http://www.beaconcontroller.net/ (Beacon) http:// oodlight.open owhub.org/ (Floodlight) Beacon Floodlight GPL v2 Apache License Version 2.0 Java David Erickson (Stanford) Big Switch Networks• IO 600 Flow req/sec @4 (Beacon)
  • 10. Ryu• http://www.osrg.net/ryu/• GPL v3• NTT( ?) VA Linux• Pure Python• OpenStack
  • 11. NodeFlow• http://github.com/gaberger/NodeFLow• MIT Licenes• Gary Berger• JavaScript (for Node.js)
  • 12. Trema NEC UNIVERGE PFBig Switch Floodlight BigController? NOX Nicira NVP?
  • 13. Floodlight• 12 https://github.com/ oodlight/ oodlight• Beacon • • OSGi • Netty• →T
  • 14. Floodlight• 12 https://github.com/ oodlight/ oodlight• Beacon • • OSGi • Netty• →T
  • 15. Nicira Networks• 2 (by Publickey) http://www.publickey1.jp/blog/11/nicira_networks.html• NTT http://www.ntt.co.jp/news2011/1108/110802a.html• Nicira Virtualization Platform (NVP) http://cn.teldevice.co.jp/product/nicira/nicira_nvp/ index.html
  • 16. Onix• OSDI’10 Onix: A Distributed Control Platform for Large-scale Production Networks http://www.usenix.org/event/osdi10/tech/full_papers/ Koponen.pdf• Nicira Networks, Google, NEC, UC Berkeley• • Zookeeper• 15 C++
  • 17. Onix Server 1 Server N Network Control Logic Network Control Logic NIB NIB Onix Switch Import / Export Distribution I / E Distribution I / E Switch Import / Export Management Connectivity Network Infrastructure Managed Physical Network InfrastructureFigure 1: There are four components in an Onix controllednetwork: managed physical infrastructure, connectivity
  • 18. Onix• Network Information Base (NIB) • Forwarding 1 n Forwarding Category Host Link Table Engine Query Create, dest 1 2 Network Node 1 n Port Access attri Notification Figure 2: The default network entity classes provided by Synchronize• Onix’s API. Solid lines represent inheritance,DB dashed lines while Configuratio correspond to referential relation between entity instances. The • Transactionalthe dashed linesdatabase numbers on persistent show the quantitative mapping relationship (e.g., one Link maps to two Ports, and two Pull • One-hop, can map to the same Link). Nodes, ports and links DHT Ports eventually-consistent, memory-only constitute the network topology. All entity classes inherit the same base class providing generic key-value pair access. Table 1: Fu
  • 19. OpenFlow
  • 20. ••••
  • 21. • Symmetric Message • Hello, Echo, ,• Controller/Switch Message • , ,• Async Message • Packet in, ,
  • 22. Headerver. type length xid payload 22• length (2 bytes)• Netty LengthFieldBasedFrameDecoder • Floodlight
  • 23. FloodlightChannelPipeline Controller OFChannelHandler OpenFlow OFMessageEncoder OFMessageDecoder Netty Internal I/O Threads
  • 24. Switch Controller
  • 25. Switch Controller
  • 26. Switch Controller HELLO HELLO
  • 27. Switch Controller HELLO HELLO FEATURE_REQUEST FEATURE_REPLY
  • 28. Switch Controller
  • 29. Switch Controller ECHO_REQUEST ECHO_REPLY
  • 30. Switch Controller ECHO_REQUEST ECHO_REPLY ECHO_REQUEST ECHO_REPLY
  • 31. Controller.java ( OFChannelHandler)protected void processOFMessage(OFMessage m) throws IOException, SwitchStateException { switch (m.getType()) { case HELLO: .... case ECHO_REQUEST: .... case FEATURES_REPLY: .... default: ....}※ Trema src/switch_manager/ofpmsg_recv.c:ofpmsg_recv()
  • 32. Switch Controller
  • 33. Switch Controller
  • 34. Switch Controller PACKET_IN
  • 35. Switch Controller PACKET_IN PACKET_OUT or FLOW_MOD
  • 36. Controller.javaprotected void handleMessage( IOFSwitch sw, OFMessage m, FloodlightContext bContext) { switch (m.getType()) { case PACKET_IN: .... default: ....}default
  • 37. OpenFlow• OpenFlow 1.1 • 1.0• Ver. 1.1 • Ver. 1.1 •• Ver. 1.2 •
  • 38. • OpenFlow•• OpenFlow • Floodlight
  • 39. • Open vSwitch