tools and platforms for openflow/sdn
DESCRIPTION
SDN Meetup talk on 8/29/2013 on OpenFlow SDN tools and platforms.TRANSCRIPT
Tools and Platforms for OpenFlow/SDN
Umesh [email protected]
About Open Networking Lab
Non-profit lab founded in 2012
Mission to develop, distribute, support open-source tools and platforms for SDN
Projects: Mininet: emulate an OpenFlow network on your laptop/EC2 Flowvisor: share OpenFlow switches Open Network OS: distributed SDN controller OpenvirteX: network hypervisor OpenCloud: unified service orchestration in a cloud
Early SDN Activities
Platform Development
2007 – Ethane2008 – OpenFlow2009 – FlowVisor, Mininet, NOX 2010 – Beacon
2009 – Stanford2010 – GENI started and grew to 20 universities2013 – 20 more campuses to be added
Deployments
Demonstrations
2008-2011 – SIGCOMM2011 – Open Networking Summit, Interop
2012 –Define SDN research agenda for the coming years
And Beyond
Invention
2007 – Creation of SDN Concept
Exponential Interest in the Industry
Networking is cool once more!
Lots of Problems and Ideas…
Let us drill into one problem
Inter-Datacenter WAN Traffic Engineering
Inter-site traffic is huge and growing. Critical for search, video, cloud computing, enterprise applications Think Amazon, Facebook, Google, Microsoft Multiple $100M annualized cost
Poor utilization of inter-DC WAN links 30-40% per Google B4 paper 30-50% per Microsoft SWAN paper
Existing solutions (MPLS-TE) do not work for these end-users Poor coordination with applications Distributed resource allocation is not optimal
Inter-DC WAN Solution
Datacenter
WAN links
A
B
C
D
10G
10G
5G
App 1 (A to C)Demand 20GAllocated 20G
App 2 (A to C)Demand 10GAllocated 5G
Approaches to build this solution
Google built an OpenFlow WAN called B4 to solve this
Let us see if a solution is possible with open source software and hardware
Integrates work from: Open Compute Project Open Networking Foundation
Goal is to show you how pieces fit into an SDN solution
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
Network OS
Software Defined Network (SDN)
Control plane physically separate from data plane
Routing TE Mobility
Single control plane controls several forwarding devices
Central TE Server
Open Compute Switch
OpenFlow AgentSDN Controller
SDN apps: TE, Routing, Flow
OpenFlow
Linux OS
Commodity Server
Linux OS
Datacenter Site
Controller cluster DC Gateway switches
A Disaggregated Solution
Northbound API
ONOS: Open Network Operating System
SDN ControllersOpen Source OpenFlow/SDN controllers
NOX POX Beacon Ryu Trema …
Closed-source OpenFlow/SDN controllers: Nicira ONIX HP Flare …
SDN projects: Project Floodlight Project OpenDaylight
Scale-out?
Fault Tolerance?
Retain globalglobal network view?
Motivation for ONOS
Instance 1
Instance 3
Instance 2
Instance …
Distributed Network OS
Routing TE Mobility
Community needs an open source distributed SDN OS
ONOS High Level Architecture
Host
Host
Host
Titan Graph DB
Cassandra In-Memory DHT
Instance 1 Instance 2 Instance 3
Network GraphEventually consistent
Distributed RegistryStrongly Consistent Zookeeper
ONOS core
Floodlight
ONOS core
Floodlight
ONOS core
Floodlight
Video clip of demo from ONS 2013
Cassandra
Zookeeper
Link Discovery
Flow Programmer
Flow maintainer
Path Computation
Switch Manager
Device Discovery
Proxy ARP
ONOS Apps
Curator
Titan Graph DB Ops
EventFramework
Registry
ONOS Internals
OpenFlow DriverPacket IO Loop App Framework REST
ONOS Development VM
SDN-IP: Routing between SDN and IP Domains
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
SDNSDN
SDN
How can we seamlessly peer between SDN and IP networks?
eBGP
eBGP
eBGP
eBGP
eBGP
eBGP
eBGP
SDNIP
IP
IP
IP
ONOSBGP
Daemon
RIB RoutingRIB
Sync
BGP routing updates
IP Routing in SDN
SDN-IP implementated as an ONOS App
Proactive Flow Installer
Prepopulate flows based on BGP
updates
ZebOSBGPd
RIBRIB
pusher
External BGP peers
Prefix, Nexthop, Attributes
BGP Route
RIBRIB
Syncer
ONOS
Path Computation
Discovery
Openflow
REANNZ Deployment
eth0(management
interface)
SDN-IP + ONOS (VM)
Pronto 3780DPID 0x01
eth1192.168.1.10/24
eth0192.168.1.2/24
Pronto 3290DPID 0x02
eth0192.168.1.3/
24
eth2
1
WIXRoute
servers202.7.0.2202.7.0.3
2202.7.0.119/23
48
45
REANNZ PROD
192.188.37.10
REANNZ CORP
163.7.136.2
46163.7.136.1/
30
47 192.188.37.9/30
Control plane
Data plane
To REANNZ CORP
Demonstrate that Openflow/SDN can peer with production IP networksScale: 20K routes (100K routes future)OpenFlow 1.0 (OpenFlow 1.3 future)
Central TE Server
Open Compute Switch
OpenFlow Agent
SDN apps: TE, Routing, Flow
OpenFlow
Linux OS
Commodity Server
Linux OS
Datacenter Site
Controller cluster DC Gateway switches
OpenFlow Driver
Northbound API
SDN Controller
OpenFlow Drivers
Extensive support for OF 1.0
Current OpenFlow standard: 1.3.2
Software switches: Openvswitch: experimental support for 1.1, 1.2, 1.3 LINC: OF 1.2, 1.3, written in Erlang Indigo virtual switch: OF 1.0 + extensions + ??
Controllers: Ryu: OF 1.0, 1.2, 1.3
Hardware switches: Some claim OF 1.3 support
OpenFlow 1.3 Driver Competition
Run by ONF
Demonstrate compliance with OpenFlow 1.3.1
Bindings to C/C++, Java, Python, Ruby
Integrate into controller and OpenFlow switch agent
Winning entry will be licensed under Apache 2.0 and GPL
Central TE Server
Open Compute Switch
OpenFlow AgentSDN Controller
SDN apps: TE, Routing, Flow
OpenFlow
Linux OS
Commodity Server
Linux OS
Datacenter Site
Controller cluster DC Gateway switches
Open Compute Switch
Northbound API
Open Compute Switch
Run by Open Compute Project
Specification and reference box for a top-of-rack or edge switch Fit in 19” telco rack and Open Rack, Depth 24-26”. Height 1-2RU 2 AC PSU choices: 80VAC – 240VAC, 200-305VAC 2 DC PSU choices: 48VDC, isolated 12V to 12V Front to back airflow Power: TBD Management processor: ARM, IPMI support (temp, fan speed, reset) Control processor: PowerPC, x86 (AMD, Intel)
Ports: 48-port 10G (SFP+, Cu below 10G) + 4x40G or 1x100G uplink
Software: ONIE boot to any OS SDK to switching ASIC: needed for OpenFlow agent
A Look in the Rear View Mirror
Specialized Packet Forwarding Hardware
Specialized Control Plane
Specialized Features
Open Compute Switch
OpenFlow AgentSDN Controller
SDN apps
OpenFlow
Linux OS
Commodity Server
Linux OS
Site (DC, Campus, POP)
Controller cluster
The Road Ahead
Northbound API
OpenFlow Switch