an overview of software-defined network presenter: xitao wen
TRANSCRIPT
![Page 1: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/1.jpg)
An Overview of Software-Defined Network
Presenter: Xitao Wen
![Page 2: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/2.jpg)
Review: How a Router Works
1
23
0111
value in arrivingpacket’s header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
* Excerpt from EECS 340 slides
![Page 3: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/3.jpg)
Inside a Router
Routing Engine
Packet Forwarding Fabric
Input Ports Output Ports
General-purpose CPU
ASIC, or specialized
chips
![Page 4: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/4.jpg)
Separate Control-plane from Data-plane
Routing Engine
Packet Forwarding Fabric
Input Ports Output Ports
Switch
Controller
Network Protocol over SSL
![Page 5: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/5.jpg)
![Page 6: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/6.jpg)
![Page 7: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/7.jpg)
Roadmap
• Overview• Switch Model• OpenFlow Protocol• Controller
Switch
Controller
OpenFlow Protocol
SwitchSwitch
Switch
![Page 8: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/8.jpg)
OpenFlow Switch ModelController
OpenFlow Switch
FlowTableFlowTable
SecureChannelSecure
Channel
PCOpenFlow
Protocol
SSL
hw
sw
OpenFlow Switch specification
![Page 9: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/9.jpg)
Flow Table Entry
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport
Matcher Action Counters
1. Forward packet to port(s)2. Encapsulate and forward to controller3. Drop packet4. Rewrite headers5. Map to queue
+ mask
Packet + byte counters
![Page 10: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/10.jpg)
![Page 11: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/11.jpg)
Secure Channel
• SSL Connection, site-specific key• Controller discovery protocol• Encapsulate packets for controller• Send link/port state to controller
![Page 12: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/12.jpg)
Roadmap
• Overview• Switch Model• OpenFlow Protocol• Controller
Switch
Controller
OpenFlow Protocol
SwitchSwitch
Switch
![Page 13: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/13.jpg)
OpenFlow Protocol
• Connection– Hello, Echo, Feature, Config…
• Read-State– Statistics, Port-status, Error
• Modify-State– Flow, Group, Config
• Packet-in/Packet-out• Latest version: 1.5.0
![Page 14: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/14.jpg)
Reactive vs. Proactive (pre-populated)
![Page 15: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/15.jpg)
Reactive Flow-Push
![Page 16: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/16.jpg)
Proactive Flow-Push
![Page 17: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/17.jpg)
Roadmap
• Overview• Switch Model• OpenFlow Protocol• Controller
Switch
Controller
OpenFlow Protocol
SwitchSwitch
Switch
![Page 18: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/18.jpg)
Key Task of OF Controller
• OpenFlow protocol is largely deltas:– Switch-to-Controller: changes of network state– Controller-to-Switch: changes of configuration
• It is a natural way to write control logic
![Page 19: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/19.jpg)
Architectural View: Network OS
OF Controller
Operating System
App AppApp App
Switch Switch Switch
![Page 20: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/20.jpg)
Controller Platforms
• Open Source– OpenDaylight– NOX/POX– Floodlight– Ryu
• Proprietary– BigSwitch– HP– NEC– …
![Page 21: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/21.jpg)
![Page 22: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/22.jpg)
THANK YOU!
![Page 23: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/23.jpg)
BACK-UP
![Page 24: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/24.jpg)
![Page 25: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/25.jpg)
The Stanford Clean Slate Program
http://cleanslate.stanford.edu
Experimenter’s Dream(Vendor’s Nightmare)
StandardNetwork
Processing
StandardNetwork
Processinghwsw Experimenter writes
experimental codeon switch/router
User-defined
Processing
User-defined
Processing
![Page 26: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/26.jpg)
![Page 27: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/27.jpg)
![Page 28: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/28.jpg)
![Page 29: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/29.jpg)
OpenFlow Switch Model
• Hardware– One or more flow tables– Group table (since Spec 1.1)
• Software– Secure Channel
![Page 30: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/30.jpg)
![Page 31: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/31.jpg)
The Stanford Clean Slate Program
http://cleanslate.stanford.edu
Furthermore, we want…• Isolation: Regular production traffic untouched• Virtualized and programmable: Different flows
processed in different ways • Equipment we can trust in our wiring closet• Open development environment for all researchers
(e.g. Linux, Verilog, etc). • Flexible definitions of a flow
Individual application trafficAggregated flowsAlternatives to IP running side-by-side…
![Page 32: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/32.jpg)
Software-Defined Network
![Page 33: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/33.jpg)
Roadmap
• Overview• Switch Model• OpenFlow Protocol• Controller
Switch
Controller
OpenFlow Protocol
SwitchSwitch
Switch
![Page 34: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/34.jpg)
Step 1: Separate Control from Datapath
![Page 35: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/35.jpg)
Step 2: Cache flow decisions in datapath
![Page 36: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/36.jpg)
![Page 37: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/37.jpg)
Evolving Protocol
![Page 38: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/38.jpg)
Current OpenFlow Hardware
![Page 39: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/39.jpg)
NOX: A Bit of History
• NOX was the first SDN controller• Released under GPL in 2008
– Extensively used in research• Now maintained by research community
![Page 40: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/40.jpg)
NOX Highlights
• Linux• C++ and Python• Component system• Event-based programming model• Applications:
– Forwarding (reactive), topology discovery, host tracking, …
![Page 41: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/41.jpg)
NOX
• Centralized programming model• High-level abstraction
![Page 42: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/42.jpg)
Programming Interface
• Events• Namespace• Libraries
– Routing– Packet classification– DNS– Network filtering
![Page 43: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/43.jpg)
POX
• A new platform in pure Python– Clean dependencies– Take good things from NOX– Target Linux, Mac OS, and Windows
• Goal: Good for research• Non-goal: Performance
![Page 44: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/44.jpg)
![Page 45: An Overview of Software-Defined Network Presenter: Xitao Wen](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d6e5503460f94a4fcf4/html5/thumbnails/45.jpg)