Module 6 - SDN
Module 6 - SDN
Module 6 - SDN
• Closed equipment
– Software bundled with hardware
– Vendor-specific interfaces
• Over specified
– Slow protocol standardization
• Few people can innovate
– Equipment vendors write the code
– Long delays to introduce new features
Data plane:
Packet
streaming
• Routing (algorithm):
A successive exchange of connectivity
information between routers. Each router
builds its own routing table based on
collected information.
• Forwarding (process):
A switch- or router-local process which
forwards packets towards the destination
using the information given in the local
routing table.
8
Traditional Computer Networks
Control plane:
Distributed algorithms
Management plane:
Human time scale
Smart,
slow
API to the data plane
(e.g., OpenFlow)
Dumb,
fast
Switches
Software Defined Network
Well-defined open API Constructs a logical map
of the network
Feature Feature
Network OS
Simple Packet
Forwarding
Simple Packet Hardware
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Network OS
17
18
• Ports
• Logic
19
Flow Tables
Using the OpenFlow switch protocol, the controller can add, update,
and delete flow entries in flow tables, both reactively (in response to
packets) and proactively.
Reactive Flow Entries are created when the controller dynamically
learns where devices are in the topology and must update the flow
tables on those devices to build end-to-end connectivity. For
example, if a host on switch A needs to talk to a host switch B,
messages will be sent to the controller to find out how to get to this
host. The controller will learn the host MAC address tables of the
switches and how they connect, programming the logic into the flow
tables of each switch. This is a reactive flow entry.
Proactive Flow Entries are programmed before traffic arrives. If it’s
already known that two devices should or should not communicate,
the controller can program these flow entries on the OpenFlow
endpoints ahead of time.
Traffic Matching, Pipeline Processing, 20
PC
Software
Layer
OpenFlow Client
Flow Table
MAC MAC IP IP TCP TCP
Action
src dst Src Dst sport dport
Hardware
* * * 5.6.7.8 * * port 1
Layer
5.6.7.8 1.2.3.4 22
Examples
Routing
VLAN Switching
Switch MAC MAC Eth VLAN IP IP IP TCP TCP
Action
Port src dst type ID Src Dst Prot sport dport
port6,
* * 00:1f.. * vlan1 * * * * * port7,
port9
23
Data-Plane: Simple Packet Handling
• Simple packet-handling rules
– Pattern: match packet header bits
– Actions: drop, forward, modify, send to controller
– Priority: disambiguate overlapping patterns
– Counters: #bytes and #packets
Switches
OpenFlow-only switches are “dumb switches” having only a data/forwarding
plane and no way of making local decisions. All packets are processed by the
OpenFlow pipeline and cannot be processed otherwise.
OpenFlow-hybrid switches support both OpenFlow operation and normal
Ethernet switching operation such as L2 Ethernet switching, VLAN isolation, L3
routing, ACLs and QoS processing via the switch’s local control plane
A switch can have half of its ports as traditional routing and switching, and the
other half is configured for OpenFlow.
The OpenFlow half would be managed by an OpenFlow controller, and the
other half by the local switch control plane. Passing traffic between these
pipelines would require the use of a NORMAL or FLOOD reserved port.
26
Controller: Programmability
Controller Application
Network OS
• Router • Firewall
– Match: longest – Match: IP addresses and
destination IP prefix TCP/UDP port numbers
– Action: forward out a – Action: permit or deny
link • NAT
• Switch – Match: IP address and
– Match: destination MAC port
address – Action: rewrite address
– Action: drop or forward and port
or flood
OpenFlow is not enough…
• Adds the ability to modify, experiment…
• But still harder than it should be to add features
to a network
• Effectively assembly programming or an ISA
(Instruction Set Architecture)
35
Example OpenFlow Applications
• Dynamic access control
• Seamless mobility/migration
• Server load balancing
• Network virtualization
• Using multiple wireless access points
• Energy-efficient networking
• Adaptive traffic monitoring
• Denial-of-Service attack detection
E.g.: Dynamic Access Control
• Inspect first packet of a connection
• Consult the access control policy
• Install rules to block or route traffic
E.g.: Seamless Mobility/Migration
• See host send traffic at new location
• Modify rules to reroute the traffic
39
src=0*
src=1*
40
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Open Interface
Applications
Windows Mac
Specialized or Linux or
(OS) OS
Operating
System Open Interface
Specialized
Hardware Microprocessor
Specialized Merchant
Hardware Switching Chips
Challenges to SDN
45
access MAC IP
control look-up look-up
46
packets
47
Control Program
Global View
Layer of Abstraction
Clean Separation of Concerns
• Control Programs: Expresses operator’s goal
- Implemented on global network view abstraction
- Computes forwarding state for each router/switch
S D S D
SDN Picture With Hypervisors
Control Program
Virtual Topology
Network Hypervisor
Layer of Abstraction
SDN and Middle Boxes
North-South/East-West Communication
62
North-South/East-West Communication
SDN Analysis based on Layers and Ecosystems
• The only way to get the full benefits from Cisco’s SDN
solution is by working with the Nexus line of
switches.
• More functionality is enabled if you’re running the
entire Cisco fabric in your DC.
• For some organizations, this can get expensive.
• However, if you’re leveraging Cisco technologies
already and haven’t looked into ACI and the APIC
architecture, go ahead.
Open SDN: BCF
• Plexxi
• Pica8
• PLUMgrid
• Embrane
• Pluribus Networks
• Anuta