![Page 1: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/1.jpg)
Open Source Network:
Software-Defined Networking (SDN)
and OpenFlow
Insop Song, Ericsson
LinuxCon North America, Aug. 2012, San Diego CA
![Page 2: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/2.jpg)
Objectives
• Overview of OpenFlow
• Overview of Software Defined Networking
(SDN)
![Page 3: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/3.jpg)
Disclaimer
• This presentation represents the view of the
author and does not necessarily represent the
view of Ericsson
• OpenFlow is an invention from network
researchers Stanford and UCB
![Page 4: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/4.jpg)
Overview of network equipment
• Network equipment
– Layer 2 Ethernet switches, IP routers
Features
Forwarding H/W: ASICs/FPGAs or Merchant silicon chips
Operating system
Feature Feature. . .Feature
![Page 5: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/5.jpg)
Data plane
• Hardware packet forwarding path– Line rate forward packets output ports
– Adding tags, Modifying packets
– Drop packets
– Forward packets to CPU
– Collect traffic statistics
– Programmed by control plane or manual configuration (management)
L2 table (MAC + Vlan) L3 table (IP) ACL, QoS
Switch/Router
Packets in
Packet out
Packet out
![Page 6: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/6.jpg)
Control plane
• Control plane
– Handling protocol packets at CPU
– Track topology changes
– Handles protocol and routes
– Updates hardware L2/L3 forwarding tables & ACL
ASICs/FPGAs or Merchant silicon chips
Protocol S/WCPU
Control
Packets in
1. Packet forward to CPU2. Table config
![Page 7: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/7.jpg)
Network configuration
• Distributed dynamic routing running on heterogeneous environment
• Protocol based distributed state management– STP, OSPF, BGP
• Manual configuration– Policies, SLA, VLAN
Router
Router
Server
Server
Server
Router
switch
switch
switch
Forwarding h/w
OS
feature
![Page 8: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/8.jpg)
Network equipment…
• Mastering complexity …
– No well defined API for control packet handling
– No generalized API for data path state
– Tight vertical integration
– Complicated and lack of abstraction
– Distributed state management is hard
– Lack of global and consistent view of network,
hard to manage overall network
![Page 9: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/9.jpg)
Solutions
• Generalize data plane
– Flexible flow table management
– Decouple data and control planes
– API for handling control packets
• Decouple distributed model from physical topology
– Take out the control logic from the network equipment
Flow table
Simple packet forwarding hardware
Flow table
Generalized API
Packet
forwarding
hardware
Controller(s)
Packet
forwarding
hardware
Packet
forwarding
hardware
![Page 10: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/10.jpg)
OpenFlow
• Started from academia as a way to test experimental protocol on a real network
• Identify flexible common set of functions for flow table
• Provides open protocol to program flow table through secure channel
Flow table
Simple packet forwarding hardware
Flow table
OpenFlow protocol
SSL/TCP
OpenFlow Network
Controller
![Page 11: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/11.jpg)
OpenFlow
• Logically centralized controller
• Generalized data plane API using Flow table
Packet
forwarding
hardware
Network OS
Packet
forwarding
hardware
Packet
forwarding
hardware
“If header == a, send to port 10”“if header == b, modify header with c, and send to port 11”“if header == ?, then send to controller”
Flow
table(s)Flow
table(s)
Flow
table(s)
Control program 1 Control program 2
![Page 12: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/12.jpg)
OpenFlow
• Flow table(s)
Match Action Status
PortDst
Mac
Src
Mac
Eth
typeVlan Src IP Dst IP
TCP src
port
TCP dst
port…
Pop/Push tags
Decrement TTL
Set fields
Apply QoS
Forward packets
counter
![Page 13: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/13.jpg)
OpenFlow
• Example of Flow table
Src MAC Dst MAC Src IP Dst IP TCP sport … Action Count
* 10:1f:* * * * * Port 2 100
* * * 1.2.3.4 * * Port 3 200
* * * * 22 drop 300
00:20:.. 00:1f:.. 1.2.3.4 5.6.7.8 1234 Port4 400
* * * * * * Controller 500
![Page 14: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/14.jpg)
OpenFlow Specification
Version Summary
1.0 Initial version
1.1 Multi-table pipeline processing, MPLS, QinQ
1.2 IPv6, Extensible Match (OXM) and additional extensibility
1.3 QoS and PBB additions
![Page 15: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/15.jpg)
Decouple Data and Control planes
• Easier to implement new ideas
– Remove dependencies between vendor SDK
• Easier to test and maintain software
– Centralized programming and more abstraction
• Easier interoperability between vendors
– Using standard API (programing flow and receiving control packets)
• More powerful computing for control logic network management
– Network control could be off-loaded to servers
![Page 16: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/16.jpg)
Software-Defined Networking
• Traditional network
• Closed box, closed API
• Distributed protocol
Packet
forwarding
hardware
Network OS
Packet
forwarding
hardware
Packet
forwarding
hardware
Flow
table(s)Flow
table(s)
Flow
table(s)
Feature Feature
Forwarding h/w
OS
feature
Forwarding h/w
OS
feature
Forwarding h/w
OS
feature
• SDN
• Open standard API
• Logically centralized
Well-defined
API
OpenFlow
![Page 17: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/17.jpg)
Centralized controller
• Less system overhead on the network node
– Minimize protocol packets for distributed protocol
• Network topology
– Easier to have consistent global view of the
network
• Management
– Easier to mange programmable network
![Page 18: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/18.jpg)
SDN Use cases
• Data center
– SDN facilitates network virtualization
– Google, Dell, Yahoo, Facefook, Amazon
• Campus
– Enable IT to apply consistent policies in wired and wireless network
– Stanford and many other universities
• Cloud
– Allows flexible network allocation
![Page 19: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/19.jpg)
Academia and industry
• Close collaboration between university and
industry
• Open Networking Foundation (ONF)
– Standard body by 70+ (growing)
• Many companies participating
– From large companies to startups
– From chip vendors to service integrators
– Google, Cisco, HP, NEC, Ericsson, IBM, Juniper
– VMWare (Nicira), Big switch, and more
![Page 20: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/20.jpg)
OpenFlow switches
• Current OpenFlow supporting switches
– Growing…, so check with your vendors
– Juniper, HP, NEC, NetGear, Ciena, Pronto
• Many companies are prototyping OpenFlow
switches
• Google made their own OpenFlow switches
![Page 21: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/21.jpg)
OpenFlow network controllers
Lang License Original author note
OpenFlow
reference
C OpenFlow License Stanford/Nicira Reference design
NOX C++ GPL Nicira Nox classic C++/Python
POX Python GPL http://www.noxrepo.
org
Nox Python version
Beacon Java GPL Stanford Run time modular, web
UI
Floodlight Java Apache Big switch Easy to build and set up
Trema Ruby, C GPL NEC Including emulator, test
framework
RouteFlow C Apache CPqD, Brazil OpenFlow with Quagga
stack
![Page 22: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/22.jpg)
How to experiment
• Mininet
– Allows to create hundreds of nodes on a single PC
– OpenFlow tutorial is based on Mininet
![Page 23: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/23.jpg)
Open source
• Open vSwitch
– Software switch supports OpenFlow
– Upstream from 3.3 kernel
• Various network controller are open source
• Open API
• Openness is one of the key reasons for
SDN/OpenFlow success
![Page 24: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/24.jpg)
Questions?
• Scalability
– Is it scalable?
• Reliability
– High availability
• Security
– Security risk on the centralized controller(s)
• Interoperability
– Co-existing with existing equipment and neighboring domain
![Page 25: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/25.jpg)
Summary
• OpenFlow
– Enabling generalized open API for configuring flow
table
– Clean separation between data and forwarding
planes
• SDN
– Allowing us to define the right abstractions
– Network virtualization
– Very successful so far, more real changes to come..
– The future of networking?
![Page 26: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/26.jpg)
References:
1. The Future of Networking, and the Past of Protocols : Scott Shenker
2. An attempt to motivate and clarify SDN : Scott Shenker
3. Making SDNs Work - Nick McKeown
4. Origins and Evolution of OpenFlow/SDN - Martin Casado
5. OpenFlow @ Google - Urs Hoelzle, Google
6. Opening Up Your Network to Cloud Innovation with SDN: Guido Appenzeller
7. Software Defined Networking is an Architecture Not a Protocol , David Meyer, Cisco
8. SDN and OpenFlow A Tutorial
9. OpenFlow Switch Specification 1.3
10. Software-Defined Networking: The New Norm for Networks: ONF White Paper
![Page 27: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your](https://reader034.vdocuments.us/reader034/viewer/2022043005/5f8d122c6bd9f811286fc0b5/html5/thumbnails/27.jpg)
• Thank you
• Question?