Upload
vohuong
View
222
Download
4
Embed Size (px)
Citation preview
1
Tecnologie e Protocolli per Internet 1
Prof. Stefano Salsanoe-mail: [email protected]
AA2012/13 – Blocco 5 v1
2
Software Defined Networksand OpenFlow
3
Acknowledgements
• Next slides are taken from
• An Experimenter’s Guide to OpenFlow - GENI Engineeri ng Workshop June 2010 - Rob Sherwood (with help from many others )
• Packet and Circuit Convergence with OpenFlow - Guru [email protected] with Saurav Das (Stanford), Nick McKeown(Stanford), Preeti Singh (Ciena), Dan Getachew (Ciena ), Lyndon Ong(Ciena)
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
App App App
4
Current Internet Closed to Innovations in the Infrastructure
Closed
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
App App App
Specialized Packet Forwarding Hardware
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
App App App
Network Operating System
App App App
“Software Defined Networking” approachto open it
App
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
App App
Simple Packet Forwarding Hardware Simple Packet
Forwarding Hardware
Network Operating System
1. Open interface to hardware
3. Well-defined open API2. At least one good operating system
Extensible, possibly open-source
The “Software-defined Network”
Simple Packet Forwarding Hardware
Network Operating System 1
Open interface to hardware
Virtualization or “Slicing” Layer
Network Operating System 2
Network Operating System 3
Network Operating System 4
App App App App App App App App
Many operating systems, or
Many versions
Open interface to hardware
Isolated “slices”
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Open Systems
Performance Fidelity
Scale Real User Traffic?
Complexity Open
Simulation medium medium no medium yes
Emulation medium low no medium yes
Software Switches
poor low yes medium yes
NetFPGA high low yes high yes
Network Processors
high medium yes high yes
Vendor Switches
high high yes low no
gap in the tool space
none have all the desired attributes!
Million of lines
of source code5400 RFCs
500M gates
10Gbytes RAM
Bloated Power Hungry
Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,
Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
An industry with a “mainframe-mentality”
We lost our way
Specialized Packet Forwarding Hardware
OperatingSystem
App App App
Routing, management, mobility management, access control, VPNs, …
9
10
Controller
OpenFlow
Switch
FlowTable
SecureChannel
PC
hw
sw
OpenFlow: Enable Innovations “within” the Infrastructure
• Add/delete flow entries• Encapsulated packets• Controller discovery
API
Net Services
OpenFlow Protocol
C C C
FLOWVISOR
OpenFlow Protocol
Research Team A
Controller
Research Team B
Controller
Production Net Controller
Isolated
Network
Slices
Physical
Infrastructure
Packet&Circuit
Switches: wired,
wireless, optical
media
Sliced and Virtualized OpenFlow Infrastructure
Control Plane
API
11
Control Plane
API
What is OpenFlow?
Short Story: OpenFlow is an API
• Control how packets are forwarded• Implementable on COTS hardware• Make deployed networks programmable
– not just configurable
• Makes innovation easier• Goal (experimenter’s perspective):
– No more special purpose test-beds– Validate your experiments on deployed hardware
with real traffic at full line speed
OpenFlow: a pragmatic compromise
• + Speed, scale, fidelity of vendor hardware• + Flexibility and control of software and
simulation• Vendors don’t need to expose implementation• Leverages hardware inside most switches
today (ACL tables)
Data Path (Hardware)
Control PathControl Path (Software)
Data Path (Hardware)
Control Path OpenFlow
OpenFlow Controller
OpenFlow Protocol (SSL/TCP)
Controller
PC
Hardware
Layer
Software
Layer
Flow Table
MAC
src
MAC
dst
IP
Src
IP
Dst
TCP
sport
TCP
dportAction
OpenFlow Firmware
**5.6.7.8*** port 1
port 4port 3port 2port 1
1.2.3.45.6.7.8
OpenFlow Flow Table Abstraction
OpenFlow BasicsFlow Table Entries
Switch
PortMAC
src
MAC
dst
Eth
typeVLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dport
Rule Action Stats
1. Forward packet to port(s)
2. Encapsulate and forward to controller
3. Drop packet
4. Send to normal processing pipeline
5. Modify Fields
+ mask what fields to match
Packet + byte counters
ExamplesSwitching
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* 00:1f:.. * * * * * * * port6
Flow Switching
port3
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6
Firewall
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportForward
* * * * * * * * 22 drop
ExamplesRouting
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* * * * * 5.6.7.8 * * * port6
VLAN Switching
*
Switch
Port
MAC
src
MAC
dst
Eth
type
VLAN
ID
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dportAction
* * vlan1 * * * * *
port6,
port7,
port900:1f..