Lecture Notes 7 SDN and NFV
Lecture Notes 7 SDN and NFV
======================
Controller
Controller
Windows
Windows Mac
Mac
Controller11
Controller Controller
Windows Linux Mac Controller 1 2
22
(OS) Linux
Linux OS
(OS) OS
OS
(OS)
x86
OpenFlow
(Computer)
• Example:
• HTTP traffic – TCP port = 80
• All traffic from node 127.2.1.12 – IP_SRC=127.2.1.12
Ethernet IP TCP
Payload
DA, SA, etc DA, SA, etc DP, SP, etc
Header
Payload
User-defined flowspace
“OpenFlow++”
Backwards compatible
Current layers are a special case
No end points need to change
Easily implemented in hardware
e.g. TCAM flow-table in each switch
Strong isolation of flows
Simple geometric construction
Can prove which flows can/cannot communicate
• Example:
o "Slice 1 will handle my HTTP traffic"
o "Slice 2 will handle my VoIP traffic"
o "Slice 3 will handle everything else"
- Link bandwidth
- Maximum number of forwarding rules
- Topology
- Fraction of switch/router CPU
OpenFlow
Protocol
OpenFlow
Switch FlowVisor
OpenFlow
Protocol
OpenFlow OpenFlow
Switch Switch
OpenFlow
Protocol
OpenFlow
Switch FlowVisor
OpenFlow
Protocol
OpenFlow OpenFlow
Switch Switch
Learning
Mobile VMs New BGP
switch
Bob’s
FlowVisor
Alices’s GENI’s
FlowVisor FlowVisor
Production
Network
OpenFlow Protocol
Controller
Network Administrator’s
FlowVisor
OpenFlow Protocol
Switch/ Switch/
Router Router
Source: R. Sherwood
Bandwidth isolation
❖ per-port queues in switch hardware
❖ Flowvisor creates a per-slice queue on each port
❖ queue is configured for a certain bandwidth as defined in slice
definition
❖ rewrite rules from “send out port X” to “send out queue Y on X”.
• CPU isolation
❖ Device CPU on commodity network hardware are low-power
embedded processors, easily overloaded, no isolation mechanism
❖ Work around: no slice monopolizes device CPU
❖ Limiting rule insertion rate from controller
❖ Use periodic drop rules to throttle exceptions
• Flow table entry isolation
❖ Enforce what is defined by the slice
Implement the logical data path in the host vswitch inside the host hypervisor for point-to-point
traffic – tunnel between hypervisor
Use SDN controller to set the first-hop vswitch.
Use service node to support broadcast/multicast
Use gateway node to support communication with outside
Logical Topology
First-hop vSwitch
OF OF OF OF OF OF OF OF OF OF OF OF OF OF
Send to tunnel
3rd logical datapath
Determine the next…
2nd logical datapath
Determine the next logical datapath
Execute 1st logical datapath
Identify logical ingress por t
• Assumptions about logical network structure often embedded into the workload.
• To suppor t more complex workloads without changing them, more complex logical
topologies become a necessity.
Batch N
Custom
OpenFlow OVSDB Batch 2
Protocol
Batch 1
• Proactive pushing of all state not enough to • Atomically applied, batched updates.
decouple controllers from data plane.
• Connection failure does not result in
• Connection may die while pushing updates. incomplete state.
Data plane may operate over incomplete state! At most old state.
The current practice of network virtualization is not ideal. This paper presents
a limited form of network virtualization for special cases.