software defined-networking
DESCRIPTION
Software Defined-Networking. Network Policies. Access control: r eachability Alice can not send packets to Bob Application classification Place video traffic in the gold queue. Network Management: Past. Networking Yesterday. Data plane Determines how to forward a packet - PowerPoint PPT PresentationTRANSCRIPT
Software Defined-Networking
Network Policies
• Access control: reachability– Alice can not send packets to Bob
• Application classification– Place video traffic in the gold queue
Network Management: Past
Networking Yesterday
• Data plane– Determines how to forward a packet– Looks up the forwarding table to determine output port for a packet
• Control plane– Determines how to populate the forwarding tables– Translate user commands into hardware
• ACLs, MPLS
– Runs a bunch of routing protocols• IGPs: OSPF, IS-IS, RIP, & EGPs: BGP
OSPF
MPLS
IP
BGP
VLAN10.10.2.10 1
2.3.4.23 3
Prefix Port
23 145 3
MPLS Label Path
Networking Yesterday
• Control + Data-plane on each device– Network is a Distributed systems– Built to avoid failure (ArpaNet)
• A network is supported by an infinite number of protocols– New protocols developed to support new functionality– Takes time to standardize and to change the hardware
• Think: writing a distributed program in Perl– Error prone (Over 50% of errors caused by misconfig)– Time consuming
• IT Operators are the most costly portion of IT• Takes up to 6 months for ISPs to roll out services for new costumers • Very difficult to add new functionality into the network
Networking Evolution• SDN is nothing new
• Circuit switching in Telephone networks
• RCP – Centralize control plane– Configure protocols rather than control plane
• 4D – clean-slate architecture
• Ethane/Sane – Centralize control plane– Forces switches do encrypt/decrypt each packet– No standardized interface
Requirements for SDN• Operate without Guarantees
– Need abstraction for distributed state– Want to deal with information without worrying about the fact that the state is from a
distribution– Logically Centralized
• Compute configuration of each device– Need abstraction that simplifies configuration– Want to specify your intent desired goal; the what– NOT: how to do it.
• Operate within given network-level protocol– Need abstraction for forwarding model– Hide details about hardware specifics– No need to worry about he exact harware
OpenFlow Protocol
Network Operating
System
Network Operating
System
Enter Software Defined Networking:Separation of concerns
– Network operator • Specify behavior on a model • Behavior == network policies
– Network runtime • Provides abstract view of the network• Maps abstract view to global view• Function of the types of network policies to be supported
– Network Operation System • Maps global view to physical view• Translate abstract commands to device configuration• Device interface: forwarding abstractions
Thinks to think about
• Distributed state abstraction– What is the right central view
• Configuration abstraction– What should the interface to the Switch hardware
look like
• Forwarding abstraction– What to expose to the network operator
SDN NetworkNetwork ControllerNetwork Operation System
OpenFlow Protocol
• Message between controller and switches– Synchronous • Stats, Flow-mods
– Asynchronous • Packet-in
• Abstract hardware details• Allows direct control over forwarding table
10.2.3.4:10.2.3.3 Fwd Port 1
A2:e3:f1:ba:ea:23:* Drop
Match Action
The SDN Stack
Controller
13
NetFPGASoftware Ref. Switch
Broadcom Ref. Switch
OpenWRT PCEngine WiFi AP
Commercial Switches
OpenFlowSwitchesOpen vSwitch
HP, NEC, Pronto, Juniper.. and many more
The SDN Stack
ControllerNOX
14
NetFPGASoftware Ref. Switch
Broadcom Ref. Switch
OpenWRT PCEngine WiFi AP
Commercial Switches
OpenFlowSwitches
…
Open vSwitch
HP, NEC, Pronto, Juniper.. and many more
Beacon Trema Maestro
15
ControllersName Lang Original Author Notes
OpenFlow Reference
C Stanford/Nicira not designed for extensibility
NOX Python, C++ Nicira actively developed
Beacon Java David Erickson (Stanford) runtime modular, web UI framework, regression test framework
Maestro Java Zheng Cai (Rice)Trema Ruby, C NEC includes emulator, regression test
framework
RouteFlow ? CPqD (Brazil) virtual IP routing as a service
POX Python
Floodlight Java BigSwitch, based on Beacon
Too many to easily keep track of…http://yuba.stanford.edu/~casado/of-sw.html
The SDN Stack
ControllerNOX
SlicingSoftwareFlowVisor
FlowVisorConsole
16
NetFPGASoftware Ref. Switch
Broadcom Ref. Switch
OpenWRT PCEngine WiFi AP
Commercial Switches
OpenFlowSwitches
…
Open vSwitch
HP, NEC, Pronto, Juniper.. and many more
Beacon Trema Maestro
FlowVisor Creates Virtual Networks
OpenFlow Switch
OpenFlow Switch
OpenFlow Switch
OpenFlowProtocol
FlowVisor
Simple switch CloudNaaS
OpenFlowProtocol
Stratos
Reservations
FlowVisor slices OpenFlow networks, creating multiple isolated and programmable
logical networks on the same physical topology.
Each application runs in an isolated slice of the network.
17
The SDN Stack
ControllerNOX
SlicingSoftwareFlowVisor
FlowVisorConsole
18
ApplicationsCloudNaaSSimple Switch …Stratos
NetFPGASoftware Ref. Switch
Broadcom Ref. Switch
OpenWRT PCEngine WiFi AP
Commercial Switches
OpenFlowSwitches
…
Open vSwitch
HP, NEC, Pronto, Juniper.. and many more
Beacon Trema Maestro
The Dark Side of SDN• “Logically” centralized controller
– Scalability– Fault tolerance
• Flowtable entries– Limited number of TCAM entries– Can only support so many TCAM entries
• SDN Abstractions– Currently one set of abstraction for all devices– Edge and Core fundamentally different– Switches Versus Middleboxes