This document introduces OpenFlow and network modernization. It discusses how the original concept of OpenFlow began as a way for researchers to build experimental networks using existing switches by directly programming the packet forwarding hardware through a standardized protocol. The document then provides historical context on how Paul Baran invented packet switching and the Internet to create a communications network that could withstand destruction. It notes how data center networks have evolved and proposes modernizing network control by treating the network as a distributed application and taking inspiration from how servers are coordinated with shared resources in modern data centers. The goal is to operate the network as a coherent whole through a centralized control plane managing thousands of distributed switches.
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
OpenFlow and Open Networking - An Introduction and Overview
1. OpenFlow and Open
Networking
An Introduction and Overview
Peter Christy, IRG, pchristy@irg-intl.com
February 2012
February 2012 1
2. What?:
Modernizing the Control Plane
• This is all about modernizing
switch
the control plane of a network
switch
switch
switch
switch
switch
switch
switch switch
switch
February 2012 2
3. What?:
Modernizing the Control Plane
• This is all about modernizing
switch
the control plane of a network
switch
o The data plane does the work of moving switch
switch
packets through the network
switch
switch
switch
switch switch
switch
February 2012 3
4. What?:
Modernizing the Control Plane
• This is all about modernizing
switch
the control plane of a network
switch
o The data plane does the work of moving switch
switch
packets through the network
o The control plane is the means by which the
switch
data plane is configured, and how switch
exceptions are handled switch
switch switch
switch
February 2012 4
5. The Data Plane
• A network consists of a set of switch
interconnected switches.
switch
switch
switch
switch switch
switch
switch switch
switch
February 2012 5
6. The Data Plane
• A network consists of a set of switch
interconnected switches.
switch
• Each switch is a “server” system switch
switch
with a purpose built operating
switch switch
system and application software, as
switch
well as specialized hardware in the
switch switch
form of line cards and packet
forwarding hardware (PFH).
switch
Server
Applications
O/S
Kernel
PFH
February 2012 6
7. The Data Plane
• A network consists of a set of switch
interconnected switches.
• Each switch is a “server” system switch
switch
with a purpose built operating switch
system and application software, as
switch
well as specialized hardware in the switch
form of line cards and packet switch
forwarding hardware (PFH). switch switch
• The packet forwarding hardware
operates by examining the various
header bits on the packet, switch
consulting a set of rules stored in
high speed associative memory
(CAM) and if an applicable rule is Server
Applications CAM
found, using the rule data to select rules
the output link, assign a queuing O/S
priority, and possibility rewrite some
of the header bits. PFH
Kernel
PFH
February 2012 7
8. The Control Plane
• For most packets in a data center switch
or SP network, the actions of the
switch
network are dictated by stored switch
switch
rules, executed by the PFH
switch switch
switch
switch switch
switch
CAM
rules
PFH
February 2012 8
9. The Control Plane
• For most packets in a data center switch
or SP network, the actions of the
switch
network are dictated by stored switch
switch
rules, executed by the PFH
switch switch
• The “control plane” is the means switch
by which the PFH rules are switch switch
managed.
switch
CAM
rules
PFH
February 2012 9
10. The Control Plane
• For most packets in a data center switch
or SP network, the actions of the
network are dictated by stored switch
switch
switch
rules, executed by the PFH
• The “control plane” is the means switch switch
by which the PFH rules are switch
managed. switch switch
• This can be done by command-line
interactions with a network switch
administrator (switch
configuration) and then through
the exchange of standardized CAM
control information with adjacent rules
switches (e.g., routing protocols)
PFH
February 2012 10
11. History of OpenFlow
• “OpenFlow” began as an idea switch
about how research networks
switch
could be built. switch
switch
switch switch
switch
switch switch
switch
February 2012 11
12. History of OpenFlow
• “OpenFlow” began as an idea switch
about how research networks
switch
could be built. switch
switch
• Why not just build an experimental switch
switch
network? switch
o Researchers can’t generally afford to buy switch switch
new devices and a build a new network.
switch
February 2012 12
13. History of OpenFlow
• “OpenFlow” began as an idea about switch
how research networks could be built.
switch
• Why not just build an experimental switch
switch
network?
o Researchers can’t generally afford to buy new switch switch
devices and a build a new network. switch
• Why not add experimental software to switch switch
existing switches?
o Modern switches are all different because they
each have proprietary and different software
switch
architecture internally, so writing additional code
for them is difficult or impractical.
Applications
O/S
Kernel
PFH
February 2012 13
14. History of OpenFlow
• “OpenFlow” began as an idea switch
about how research networks
could be built. switch
switch
• Why not just build an experimental switch
network? switch
switch
o Researchers can’t generally afford to buy
new devices and a build a new network. switch
• Why not add experimental switch switch
software to existing switches?
o Modern switches are all different because
they each have proprietary and different switch
software architecture internally, so writing
additional code for them is difficult or
impractical.
• What about programming the CAM
PFH?
rules
o In contrast to the software designs, PFH
hardware is all similar. What about directly
programming the Packet Forwarding PFH
Hardware?
February 2012 14
15. OpenFlow:
a PFH Control Protocol
• OpenFlow is a protocol by switch
which the PFH hardware in a switch
switch
switch
switch can be managed by
software executing in a switch switch
switch
separate server, external to switch switch
the switch, in a
standardized way. switch
OpenFlow
Applications Controller
Application
O/S
The OpenFlow Protocol
Server
Kernel
PFH
February 2012 15
16. Why Modernize?
• Paul Baran invented the Internet CO
CO
at Rand in the early 1960’s. CO
C5 CO
CO
CO
CO
February 2012 16
17. Why Modernize?
• Paul Baran invented the Internet CO
CO
at Rand in the early 1960’s. CO
• WWII and the ensuing Cold War
demonstrated C5 CO
CO
1. the necessity of reliable communications
for defense or in a war and
2. the lethal destruction possible with
missiles, long-range bombers, and nuclear CO
weapons. CO
February 2012 17
18. Why Modernize?
• Paul Baran invented the CO
CO
Internet at Rand in the early CO
1960’s.
• WWII and the ensuing Cold War
demonstrated CO
C5 CO
1. the necessity of reliable
communications for defense or in a war
and
2. the lethal destruction possible with CO
missiles, long-range bombers, and CO
nuclear weapons.
• The phone system in the US at
the time was a centralized
circuit-switching system that
would be very easy to disrupt
or destroy.
February 2012 18
19. Why Modernize?
• Paul Baran invented the CO
CO
Internet at Rand in the early CO
1960’s.
• WWII and the ensuing Cold War
demonstrated CO
C5 CO
1. the necessity of reliable
communications for defense or in a war
and
2. the lethal destruction possible with CO
missiles, long-range bombers, and CO
nuclear weapons.
• The phone system in the US at
the time was a centralized
circuit-switching system that
would be very easy to disrupt
or destroy.
February 2012 19
20. Baran’s Clever Solution
• Packetized Voice switch
Communications switch
switch
switch
o Transform voice communications
connections into sequences of switch
switch
packets of voice data.
switch
switch switch
switch
February 2012 20
21. Baran’s Clever Solution
• Packetized Voice switch
Communications switch
switch
switch
o Transform voice communications
connections into sequences of switch
switch
packets of voice data.
switch
o Transmit each packet independently.
switch switch
switch
February 2012 21
22. Baran’s Clever Solution
• Packetized Voice switch
Communications switch
switch
switch
o Transform voice communications
connections into sequences of switch
switch
packets of voice data.
switch
o Transmit each packet independently.
switch switch
o Have the packet forwarding devices
strictly autonomous systems so
that the destruction or failure of one switch
causes no additional failures.
February 2012 22
23. Baran’s Clever Solution
• Packetized Voice switch
Communications switch
switch
switch
o Transform voice communications
connections into sequences of switch
switch
packets of voice data.
switch
o Transmit each packet independently.
switch switch
o Have the packet forwarding devices
strictly autonomous systems so
that the destruction or failure of one switch
causes no additional failures.
o Baran’s analysis demonstrated that
the resulting voice communications
system could still function if 50% of
the packet forwarding devices were
destroyed!
February 2012 23
24. Baran’s Clever Solution
• Packetized Voice switch
Communications switch
switch
switch
o Transform voice communications
connections into sequences of switch
switch
packets of voice data.
switch
o Transmit each packet independently.
switch switch
o Have the packet forwarding devices
strictly autonomous systems so
that the destruction or failure of one switch
causes no additional failures.
o Baran’s analysis demonstrated that
the resulting voice communications
system could still function if 50% of the legacy Baran “survivability”
the packet forwarding devices were control plane architecture
destroyed!
February 2012 24
25. Now fast-forward 50 years
• Networks are used much more
for data communications than
voice communications
February 2012 25
26. Now fast-forward 50 years
• Networks are used much more switch
for data communications than switch
switch
voice communications switch
• A large data center network or switch switch
SP network will have switch
switch switch
thousands of switches.
switch
Data Center
February 2012 26
27. Now fast-forward 50 years
• Networks are used much more switch
for data communications than switch
switch
voice communications switch
• A large data center network or switch switch
SP network will have switch
switch switch
thousands of switches.
• Survivability is no longer a
switch
worry. Data Center
February 2012 27
28. Now fast-forward 50 years
• Networks are used much more switch
for data communications than switch
switch
voice communications switch
• A large data center network or switch switch
SP network will have switch
switch switch
thousands of switches.
• Survivability is no longer a
switch
worry. Data Center
• We want the network to
operate as a coherent whole.
February 2012 28
29. Now fast-forward 50 years
• Networks are used much more switch
for data communications than
switch
voice communications switch
switch
• A large data center network or switch
switch
SP network will have switch
thousands of switches. switch switch
• Survivability is no longer a
worry.
switch
• We want the network to Data Center
operate as a coherent whole.
• Managing the network with the
legacy “Baran” control plane
architecture is really hard
February 2012 29
30. What does modernization mean?
• Think of a data center network as
server
just another distributed server
server
application (switches are servers server
server
with specialized PFH included).
server
server
server
server server
server
Data Center
February 2012 30
31. What does modernization mean?
• Think of a data center network as
server
just another distributed server
server
application (switches are servers server
server
with specialized PFH included).
server
• Consider how servers are server
server
coordinated in data centers server server
today Google File System
o A shared file system like GFS (Google) server
Data Center
February 2012 31
32. What does modernization mean?
• Think of a data center network as
server
just another distributed server
server
application (switches are servers server
server
with specialized PFH included).
server
• Consider how servers are server
server
coordinated in data centers server server
today Facebook memcached
o A shared file system like GFS (Google) server
o A shared caching system like memcached
(Facebook).
Data Center
February 2012 32
33. What does modernization mean?
• Think of a data center network as
server
just another distributed server
server
application (switches are servers server
server
with specialized PFH included).
server
• Consider how servers are server
server
coordinated in data centers server server
today Broadcast Communications
o A shared file system like GFS (Google) server
o A shared caching system like memcached
(Facebook).
Data Center
o Broadcast network communications to all
servers.
February 2012 33
34. What does modernization mean?
• Think of a data center network as
server
just another distributed server
server
application (switches are servers server
server
with specialized PFH included).
server
• Consider how servers are server
server
coordinated in data centers server server
today
o A shared file system like GFS (Google) server
o A shared caching system like memcached
(Facebook).
Data Center
o Broadcast network communications to all
servers.
o Direct network communication between any
two servers.
February 2012 34
35. What does modernization mean?
• Think of a data center network as
just another distributed server server
application (switches are servers server
server
with specialized PFH included). server
• Consider how servers are server
coordinated in data centers server
server
today
server server
o A shared file system like GFS (Google)
o A shared caching system like memcached
(Facebook).
o Broadcast network communications to all server
servers. Data Center
o Direct network communication between any
two servers.
• All of these are prohibited by a
legacy control plane architecture
that was created to maximize
survivability.
February 2012 35
36. An OF implemented control plane
• We use existing switches switch
modified to add an OpenFlow switch
switch
control port switch
switch switch
switch
switch switch
switch
February 2012 36
37. An OF implemented control plane
• We use existing switches switch
modified to add an OpenFlow switch
switch
control port switch
• We implement the control plane switch switch
in the OpenFlow controller switch
switch switch
(remember, it’s just a server
application)
switch
OpenFlow
Controller
Application
Server
February 2012 37
38. An OF implemented control plane
• We use existing switches switch
modified to add an OpenFlow
switch
control port switch
switch
• We implement the control plane switch
switch
in the OpenFlow controller switch
(remember, it’s just a server switch switch
application)
• We do anything we want, no
switch
longer constrained by the
survivability design
architecture or by the internal OpenFlow
software design of the Controller
switches Application
Server
February 2012 38
39. What is a “Flow” Anyway?
• Ethernet networking is between the
MAC addresses of the network
interfaces on systems.
• IP networking assigns each system an IP
number and then switches traffic based
on the IP number throughout the
internet until the final switch that
knows the associated MAC address of
the destination
• The Internet was initially designed to
switch primarily on IP number.
February 2012 39
40. •
What is a “Flow” Anyway?
Ethernet networking is between the
MAC addresses of the network
interfaces on systems.
• IP networking assigns each system an IP
number and then switches traffic based
on the IP number throughout the
internet until the final switch that
knows the associated MAC address of
the destination
• The Internet was initially designed to
switch primarily on IP number.
• But networking is really done between
logical ports on the systems, not with
the system generally. A browser makes a
connection to Port 80 on the
destination system -- the Web server on
a system by convention.
• A flow represents the packets between
a specific port on the transmitting
system to a specific port on the
destination system.
February 2012 40
41. •
What is a “Flow” Anyway?
Ethernet networking is between the • Larry Roberts, the individual that
MAC addresses of the network funded the original ARPAnet research,
interfaces on systems.
tried to build two companies based on
• IP networking assigns each system an IP
number and then switches traffic based the premise that routing across the
on the IP number throughout the entire Internet should be done on a flow
internet until the final switch that basis (Caspian Networks and the
knows the associated MAC address of Anagran networks each built flow-based
the destination
routers).
• The Internet was initially designed to
switch primarily on IP number. • But to do what Roberts wanted to do
• But networking is really done between required that flow-based routing be
logical ports on the systems, not with accepted throughout the Internet. That
the system generally. A browser makes a wasn’t going to happen.
connection to Port 80 on the
destination system -- the Web server on
a system by convention.
• A flow represents the packets between
a specific port on the transmitting
system to a specific port on the
destination system.
February 2012 41
42. •
What is a “Flow” Anyway?
Ethernet networking is between the • Larry Roberts, the individual that
MAC addresses of the network funded the original ARPAnet research,
interfaces on systems. tried to build two companies based on
• IP networking assigns each system an IP the premise that routing across the
number and then switches traffic based entire Internet should be done on a flow
on the IP number throughout the basis (Caspian Networks and the
internet until the final switch that Anagran networks each built flow-based
knows the associated MAC address of routers).
the destination • But to do what Roberts wanted to do
• The Internet was initially designed to required that flow-based routing be
switch primarily on IP number. accepted throughout the Internet. That
• But networking is really done between wasn’t going to happen.
logical ports on the systems, not with • OpenFlow adopts flow-based processing
the system generally. A browser makes a but only within a single network. To the
connection to Port 80 on the rest of the network it is still a
destination system -- the Web server on conventional TCP/IP network.
a system by convention. • Being able to switch on an individual flow
• A flow represents the packets between basis enable innovative ways of doing
a specific port on the transmitting security (for example) but requires
system to a specific port on the larger (more expensive) CAM’s in the
destination system. PFH, and requires fast controller
response to a new flow.
February 2012 42
43. OpenFlow for Research
• Modify an existing network switch
(e.g., the Stanford campus switch
switch
switch
network) so that the
switches support OpenFlow. switch switch
switch
• Create a research control switch switch
plane
• Gets better if “Hybrid” switch
switch operation is possible
o Let the existing flows be managed by OpenFlow
the legacy network Controller
o Let the OpenFlow controller manage Application
the new “research” flows Server
February 2012 43
44. OpenFlow Beyond Research
• Network management requirements for virtualized, cloud data
centers
o Fast provisioning of virtual networks
• Impact of the edge “switch” now being in the hypervisor
o A modern control plane can be implemented within the Virtual Switch that is part of the
hypervisor
• Desire for more flexible asset use in network service providers
o Move as much “network” processing as possible (e.g., firewall, VPN termination) to execute
as virtual machine on conventional servers (less expensive CPU, use of shared resources).
o Be able to provision these now virtualized services on-demand without having to
speculatively provision features in a network device
• Desire to speed up innovation in networking broadly
• Cost minimization and use of common processor resources in
very large web properties
February 2012 44
45. A Radical Thought:
SDN without OpenFlow!
• The primary SDN goal is to • ConteXtream
modernize the control plane in o Building SDN’s for Verizon and Comcast
order to solve real, vexing network o The switching elements are VM’s that
management issues (like creating use an interesting distributed-hash
virtual networks). algorithm
• Juniper QFabric: o Clearly a form of SDN, but no OF
o Clearly SDN (a modernized control plane) • SDN Controllers
o “Controller” distributed to each Top of Rack
Switch; communications between controller o An interesting and challenging
and PFH would not use OF. distributed system problem with
• Nicira: tradeoffs
o Designed for building virtual networks in o OF is great for research and for limited
Cloud systems based on a hypervisor. adaptation to existing networks (e.g.,
o The switch is a vSwitch (see Nicira’s NEC).
contribution to the Open vSwitch effort) o Direct controller / PFH interface is
o The controller is (I think) distributed to much higher performance (seems
each virtual server cluster. important for doing pure flow-based
o I don’t think OF is used to talk to the processing)
vSwitches in the cluster.
February 2012 45
46. Current status
• Openflow.org -> ONF (upcoming 2nd ONF Summit at Stanford)
• Continuing work
o on OF in conjunction with controller implementation
o on the best way to create the data plane fabric
o in virtual switch technology and “overlay” networks
• Some interesting issues
o No enterprise “killer apps” yet
o Market insertion in general is a challenge
o Transfer of value from hardware to software
February 2012 46