Software Defined Networking
Software Defined Networking
Networking(SDN)
Lubak M.
[email protected]
Content
● Current Challenges in Networking
● What’s SDN
● OpenFlow
● Details of operations
● Conclusion
2
Limitations of Current Networks
Switches
3
Traditional Computer Networks (1)
Data
plane:
Packet
streaming
Operating
Operating System
System
Specialized Packet
App App App Specialized Packet Forwarding Hardware
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware App App App
Operating
System
App App App
Specialized Packet
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware
10
Reality
● 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.
Forwarding vs. Routing 14
2
3 1
1
3
2 3
1 5
4 3
(Too) Many Control Plane
16
Mechanisms
● Variety of goals, no modularity:
○ Routing: distributed routing algorithms
○ Isolation: ACLs, VLANs, Firewalls,…
○ Traffic engineering: adjusting weights,
MPLS,…
● Control Plane: mechanism without
abstraction
○ Too many mechanisms, not enough
functionality
We have lost our way 17
Specialized Packet
Forwarding Hardware Billions of gates Bloated Power Hungry
Control Programs
Operating
Operating System
System
Specialized Packet
App App App Specialized Packet Forwarding Hardware
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware App App App
Operating
System
App App App
Specialized Packet
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware
Idea: An OS for Networks 22
Control Programs
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Simple Packet
Forwarding Hardware
Software defined networking 23
(SDN)
Control Programs
forwarding
Protocols Protocols
interface
Trend 24
Controller
Controller
Controller11
NOX
Controller
Windows
Windows
Windows Linux
Linux
Mac
Mac
Mac (Network OS) 22
Network OS
(OS) Linux OS
OS
(OS)
(OS) OS
Virtualization or “Slicing”
Virtualization layer
x86 OpenFlow
(Computer)
Controller Platform
Protocols Applications 28
Controller Application
Controller Platform
SDN Concept
● Separate Control plane and Data plane entities
○ Network intelligence and state are logically
centralized
○ The underlying network infrastructure is abstracted
from the applications
● Execute or run Control plane software on general
purpose hardware
○ Decouple from specific networking hardware
○ Use commodity servers
● Have programmable data planes
○ Maintain, control and program data plane state from a
central entity
● An architecture to control not just a networking device but
an entire network 24
30
AppAppAppAppAppAppAppAppAppAppApp
Specialized
Open Interface
Applications
Specialized Windows Mac
or Linux or
(OS) OS
Operating
System
Open Interface
Specialized
Hardware Microprocessor
AppAppAppAppAppAppAppAppAppAppApp
Specialized Merchant
Hardware Switching Chips
Feature Feature
Million of lines 6,000 RFCs
of source code
OS
Feature Feature
Network OS
Feature Feature
OS
Feature Feature
Custom Hardware
OS
Feature Feature
Custom Hardware
OS
Feature Feature
Custom Hardware
OS
OS
Custom Hardware
Software Defined Networking 34
Abstract Network View
VCiortnutarloizl
aPtrionrLaamyer
Global Network View
Network
OS
Software Defined Network (SDN)
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding Packet
Forwarding
Software Defined Network (SDN)
Network OS
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
Separate Concerns with Abstractions
37
Network
OS
Software-Defined Network with Key Abstractions in
the Control Plane
Network
Well-defined API Virtualization
Traffic Other
Routing Engineering Applications Network Map
Abstraction
Network Operating System
Forwarding 28
Abstractions Don’t Remove 40
Complexity
● NOS, Virtualization are complicated pieces of code
● SDN merely localizes the complexity:
○ Simplifies interface for control program (user-specific)
○ Pushes complexity into reusable code (SDN platform)
● The big payoff of SDN: modularity!
○ The core distribution mechanisms can be reused
○ Control programs only deal with their specific function
● Note that SDN separates control and data planes
○ SDN platform does control plane, switches do data
plane
41
Advantages of SDN
● to allow network administrators respond
quickly to changing business requirements.
● to shape traffic from a centralized control
console without having to touch individual
switches.
● to change any network switch's rules when
necessary.
● to support cloud computing architecture with
multi-tenant by the flexible and efficient
management of traffic load.
42
Advantages of SDN
43
OpenFlow Basics
Control Program A Control Program B
Network OS
OpenFlow Protocol
Path (Hardware)
44
OpenFlow
● Standard way to control flow-tables in commercial switches and
routers
● Just need to update firmware
● Essential to the implementation of SDN
● Provide open interface to “black box” networking node
○ (ie. Routers, L2/L3 switch) to enable visibility and openness in
network
● Separation of control plane and data plane.
○ The datapath of an OpenFlow Switch consists of a Flow Table, and
an action associated with each flow entry
○ The control path consists of a controller which programs the
flow entry in the flow table
● OpenFlow is based on an Ethernet switch, with an internal
flow-table, and a standardized interface to add and remove flow
entries
45
OpenFlow
OpenFlow Controller
OpenFlow Protocol
(SSL/TCP)
Control Path
OpenFlow
Components of OpenFlow
46
Network
● Controller
○ OpenFlow protocol messages
○ Controlled channel
○ Processing
■ Pipeline Processing
■ Packet Matching
■ Instructions & Action Set
● OpenFlow switch
○ Secure Channel (SC)
○ Flow Table
■ Flow entry
OpenFlow
47
Switching
Controller
PC
Software
Layer OpenFlow Client
OpenFlow Table
39
Networking Becomes Software-
Oriented
● All complicated forwarding done in software
(edge)
● And control plane is a program (on a server), not
a protocol (on a closed proprietary
switch/router)
● We’re programming the network, not
designing it
○ Focus on modularity and abstractions, not
packet headers
● Innovation at software, not hardware
● Software lends itself to clean abstractions 40
SDN in development
52
Domains Products
Data centers Switches, routers:
Enterprise/campus About 15 vendors
Cellular backhaul Software: About 6
Cost Control
200,000 servers
Fanout of 20 10,000 switches More flexible control
$5k vendor switch = $50M Tailor network for services
$1k commodity switch = $10M Quickly improve and innovate
Thank You