Вы находитесь на странице: 1из 26

Software Defined Networks (SDN)

Windhya Rankothge
Universitat Pompeu Fabra

Outline
Introduction to Software Defined Networks (SDN)
The OpenFlow Project
SDN Architecture
SDN Development Tools
SDN Applications
Future Directions of SDN

Software Defined Networks - SDN

Three basic components of a network architecture : control plane, data plane


and management plane.
In conventional networking, all three planes are implemented in the firmware of
switches.
SDN technologies moves out the switchs control plane from the switch and
leaves only the data plane inside the switch [1].
The control plane is given to a software application called a controller.
Switch becomes a simple packet forwarding device that can be programmed via
open interfaces

[1] Hyojoon K. and N. Feamster. 2013. Improving Network Management with Software Defined Networking.IEEE Communications Magazine
(Feb. 2013), 114119

The OpenFlow Project (2008)

The OpenFlow project : first step of achieving SDNs main concepts (separation of
control and programmable networks) in packet switched networks [1] [2].
The OpenFlow architecture consists of [1] [2]:

A Flow Table in each switch.

A Secure Channel that connects the switch to the controller.

The OpenFlow Protocol.

[1] Balakrishnan H. Parulkar G. Peterson L. Rexford J. Shenker S. McKeown N., Anderson T. and Turner J. 2008. OpenFlow: enabling
innovation in campus networks. Computer Communication Review (ACM SIGCOMM) (Aug. 2008).
[2] Limoncelli T.A. 2012. Openflow: a radical new idea in networking. Computer Communication Review (ACM SIGCOMM) (Aug. 2012).

SDN Architecture

With the successfulness of OpenFlow project, SDNs main concepts were


standardized.
Standard SDN three tier architecture [1] [2]:

Southbound APIs : SDN protocols (OpenFlow, XMPP, BGP).

A Controller : considered as an operating system for networks, one that


provides a centralized access to the entire network

Northbound APIs : an interface for application developers to extract


information about the network.

[1] Nam K. Shin M. and Kim H. 2012. Software-defined networking (SDN): A reference architecture and open APIs. In Proceedings of the
International Conference on ICT Convergence (ICTC). 360362.
[2] Carl A. G. Jonathan M. S., David J. F. and Scott M. N. 2011. The Open SDN Architecture - Big SwitchNetworks. Technical Report. Big
Switch Networks.

SDN Development Tools

SDN Controller Platforms

SDN Software Switch Platforms

Native SDN switches

SDN Languages

SDN Debugging Tools

SDN Emulation and Simulation Tools

SDN Virtualization Tools

SDN Development Tools

SDN Controller Platforms

[1] Open Networking Foundation. 2013. OpenFlow Switch Specification 1.4.0. Technical Report. Open Networking Foundation
[2] Pettit J. Pfaff B. Casado M. McKeown N. Gude N., Koponen T. and Shenker S. 2008. NOX: towards an operating system for networks.
Computer Communication Review (ACM SIGCOMM) (July 2008), 105110.
[3] 2012. About POX. (2012). Retrieved June 12, 2013 from http://www.noxrepo.org/pox/about-pox/
[4] Erickson D. 2013. The Beacon OpenFlow Controller. In Proceedings of the second workshop on Hot topics in software defined
networks (HotSDN).
[5] Cox A. L. Cai Z. and Ng T. S. E. 2010. Maestro: A System for Scalable OpenFlow Control. Tech Report TR10-08. Rice University
[6] Trema openflow controller framework. (2010). Retrieved June 12, 2013 from https://github.com/trema/trema
[7] 2012. Floodlight is an Open SDN Controller. (2012). Retrieved June 12, 2013 from http://floodlight. openflowhub.org/

SDN Development Tools

SDN Controller Platforms

Cont

[1] Erickson D. 2013. The Beacon OpenFlow Controller. In Proceedings of the second workshop on Hot topics in software defined
networks (HotSDN).
[2] Ganjali Y. Casado M. Tootoonchian A., Gorbunov S. and Sherwood R. 2012. On controller performance in software-defined networks. In
Proceedings of the USENIX Workshop on Hot Topics in Management of Internet, Cloud and Enterprise Networks and Services (Hot-ICE).
[3] 2011. Controller performance comparisons. (2011). Retrieved August 28, 2013 from http://archive.openflow.org/wk/index.php/Controller
Performance Comparisons

SDN Development Tools

SDN Software Switch Platforms

[1] Open Networking Foundation. 2013. OpenFlow Switch Specification 1.4.0. Technical Report. Open Networking Foundation
[2] 2011. Pantou:Openflow 1.0 for openwrt. (2011). Retrieved August 28, 2013 from http://www.openflow.org/wk/ index.php/OpenFlow1.0forOpenWRT
[3] 2011. ofsoftswitch13. (2011). Retrieved August 28, 2013 from https://github.com/CPqD/ofsoftswitch13

SDN Development Tools

Native SDN switches

OpenFlow enabled switch models

Hewlett-Packard

Brocade

IBM

NEC

Pronto

Juniper

Pica8

SDN Development Tools

SDN Languages

SDN programming languages should consists of declarative abstractions, for


querying network state, defining forwarding policies and updating policies in a
consistent way.
FatTire

Logical
Languages

Frenetic
Nettle

FML

Procera

Pyretic

Functional
Languages

Flog
Support only OpenFlow
Support any hardware
[1] Reitblatt M. Story A. Freedman M.J. Katta N.P. Monsanto C. Reich J. Rexford J. Schlesinger C. Walker D. Foster N., Guha A. and Harrison R. 2013.
Languages for Software-Defined Networks. IEEE Communications Magazine 51, 1 (2013), 128134.
[2] Voellmy A. and Hudak P. 2011. Nettle: Functional Reactive Programming of OpenFlow Networks. In Proceedings of the 13th International Conference
on Practical aspects of declarative languages. 235249.
[3] Casado M. Mitchell J. C. Hinrichs T. L., Gude N. S. and Shenker S. 2009. Practical declarative network management. In Proceedings of the 1st ACM
Workshop on Research on enterprise networking. 110.
[4] Kim H. Voellmy A. and Feamster N. 2012. Procera: A Language for High-Level Reactive Network Control. In Proceedings of the first workshop on Hot
topics in software defined networks (HotSDN). 4348.
[5] Freedman M. J. Monsanto C. Rexford J. Story A. Foster N., Harrison R. and Walker D. 2011. Frenetic: A Network Programming Language. In
Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming.

SDN Development Tools

SDN Debugging Tools

NICE [1]: an automated testing tool used to uncover bugs in OpenFlow


programs though model checking and symbolic execution.
Anteater [2]: a data plane analysis system used to find real bugs in real
networks by analyzing the contents of forwarding tables.
ndb [3]: a prototype network debugger that implements breakpoints and packet
back-traces for debugging a SDN control plane.
OFRewind [4]: records SDN control plane traffic.
VeriFlow [5]: a SDN debugging tool which finds faulty rules issued by SDN
applications and prevents them from reaching the network and causing
anomalous network behaviour.

[1] Peresini P. Kostic D. Canini M., Venzano D. and Rexford J. 2012. A nice way to test openflow applications. In Proceedings of the 9th USENIX
conference on Networked Systems Design and Implementation. 1012.
[2] Agarwal R. Caesar M. Godfrey P.B. Mai H., Khurshid A. and King S.T. 2011. Debugging the data plane with anteater. In Proceedings of the ACM
SIGCOMM 2011 conference. 290301.
[3] V. Jeyakumar D. Mazieres N. Handigol, B. Heller and N. McKeown. 2012. Where is the debugger for my software-defined network?. In Proceedings of
the first workshop on Hot topics in software defined networks (HotSDN). 5560.
[4] S. Seetharaman A. Wundsam, D. Levin and A. Feldmann. 2011. Ofrewind: enabling record and replay troubleshooting for networks. In Proceedings of
the 2011 USENIX conference on USENIX annual technical conference. 2930.
[5] M. Caesar A. Khurshid,W. Zhou and P. B. Godfrey. 2011. Veriflow: verifying network-wide invariants in real time. In Proceedings of the first workshop
on Hot topics in software defined networks (HotSDN). 4954.

SDN Development Tools

SDN Debugging Tools

Cont.

SDN troubleshooting simulators

STS (SDN Troubleshooting Simulator)


network

: simulates the devices of the

OpenSketch : a software defined traffic measurement architecture, which


separates the measurement data plane from the control plane.

[1] SDN Troubleshooting Simulator (STS).(2011). Retrieved September 02, 2013 from http://ucb-sts.github.com/sts/
[2] L. Jose M. Yu and R. Miao. 2013. Software defined traffic measurement with opensketch. In Proceedings of the 10th USENIX Symposium on
Networked Systems Design and Implementation.

SDN Development Tools

SDN Emulation and Simulation Tools

Mininet : a SDN emulation environment [1]


ns-3 : network simulator [2]

[1] B. Heller B. Lantz and N. McKeown. 2010. A network in a laptop: rapid prototyping for software-defined networks. In Proceedings of the Ninth ACM
SIGCOMM Workshop on Hot Topics in Networks.
[2] G. Riley C. Dowell T. Henderson, M. Lacage and J. Kopena. 2008. Network simulations with the ns-3 simulator. In Proceedings of the sixth ACM
SIGCOMM Workshop on Hot Topics in Networks.

SDN Development Tools

SDN Virtualization Tools

FlowVisor [1]: a switch virtualization approach in which the same hardware


forwarding plane can be shared among multiple logical networks, each with
distinct forwarding logic.
AutoSlice [2]: automates the deployment and operation of vSDN topologies with
minimal intervention by the substrate operator. In contrast to FlowVisor,
AutoSlice focuses on the scalability aspects of the hypervisor design.
LIME [3]: rather than migrating an individual SDN VM, the LIME design migrate
an ensemble: the VMs, the network, and the management system to a different
set of physical resources.
RouteFlow [4]: provides virtualized IP routing over OpenFlow capable
hardware.

[1] A. Covington G. Gibb M. Flajslik N. Handigol T. Huang P. Kazemian M. Kobayashi J. Naous et al. R. Sherwood, M. Chan. 2010. Carving research
slices out of your production networks with openflow. Computer Communication Review (ACM SIGCOMM) (July 2010), 129130.
[2] Z. Bozakov and P. Papadimitriou. 2012. Autoslice: automated and scalable slicing for software-defined networks. In Proceedings of the 2012 ACM
conference on CoNEXT student workshop (CoNEXT Student 12). 34.
[3] M. Caesar Keller, S. Ghorbani and J. Rexford. 2012. Live migration of an entire network and its hosts. In Proceedings of the 11th ACM Workshop on
Hot Topics in Networks (HotNets-XI). 109114.
[4] M. R. Salvador C. N. A. Correa S. Cunha de Lucena C. E. Rothenberg, M. R. Nascimento and R. Raszuk. 2012. Revisiting routing control platforms
with the eyes and muscles of software-defined networking. In Proceedings of the first workshop on Hot topics in software defined networks (HotSDN). 13
18.
.

SDN Applications

Distributed data centers and cloud computing systems

Wireless Networks

SOHO (Small Office/Home Office) Networks

SDN Applications

Distributed data centers and cloud computing systems

Traffic management

Plug-n-Serve load-balancing controller platform [1]: Flow Manager, Net


Manager and Host Manager.

A scalable in-network load balancer [2]: Pro-actively installs wild-card rules.

Security Management

FRESCO framework [3]: An application layer (an interpreter and APIs) and a
security enforcement kernel (SEK).

SIMPLE [4]: A SDN-based policy enforcement layer for middle-box specific


traffic steering.

[1] Flajslik M. McKeown N Handigol N., Seetharaman S. and Johari R. 2009. Plug n Serve: Load-Balancing Web Traffic using OpenFlow. Computer
Communication Review (ACM SIGCOMM) (Aug. 2009).
[2] Butnariu D. Wang R. and Rexford J. 2011. OpenFlow-Based Server Load Balancing Gone Wild. In Proceedings of the USENIX conference on Hot
topics in management of internet, cloud, and enterprise networks and services (HotICE).
[3] Chiang L. Miao R. Sekar V. Qazi Z. A., Tu C. and Yu M. 2013. SIMPLE-fying Middlebox Policy Enforcement Using SDN. Computer Communication
Review (ACM SIGCOMM) (Aug. 2013).
[4] Yegneswaran V. Fong M. Gu G. Shin S., Porras P. and Tyson M. 2011. FRESCO: Modular Composable Security Services for Software-Defined
Networks. In Proceedings of the ISOC Network and Distributed System Security Symposium.
.

SDN Applications

Distributed data centers and cloud computing systems

Cont.

Network Maintenance

Maintenance of a SDN specially addresses installing new packet


forwarding rules and ensuring the consistency of them [1].

Two approaches for consistent writes of policies: Per-packet consistency


and Per-flow consistency [2].

Maestro platform : A specific thread instance for each flow request [3].

[1] Pettit J. Pfaff B. Casado M. McKeown N. Gude N., Koponen T. and Shenker S. 2008. NOX: towards an operating system for networks. Computer
Communication Review (ACM SIGCOMM) (July 2008), 105110
[2] J. Rexford C. Schlesinger M. Reitblatt, N. Foster and D. Walker. 2012. Abstractions for network update. In Proceedings of the ACM SIGCOMM 2012
conference on Applications, technologies, architectures and protocols for computer communication. 323334.
[3] Cox A. L. Cai Z. and Ng T. S. E. 2010. Maestro: A System for Scalable OpenFlow Control. Tech Report TR10-08. Rice University

SDN Applications

Wireless Networks

OpenRadio [1]: a programmable wireless data plane which re-factors wireless


protocols into processing and decision planes.

OpenRoads [2]: first software defined wireless network platform

Odin [3]: a SDN framework to program enterprise wireless local area networks.

Programmable control plane for cellular networks [4].

[1] S. Katti M. Bansal, J. Mehlman and P. Levis. 2011. Openradio: a programmable wireless dataplane. In Proceedings of the first workshop on Hot topics
in software defined networks (HotSDN). 109114.
[2] M. Kobayashi T. Huang M. Chan N. Handigol N. McKeown K. Yap, R. Sherwood and G. Parulkar. 2010. Blueprint for introducing innovation into
wireless mobile networks. In Proceedings of the second ACM SIGCOMM workshop on Virtualized infrastructure systems and architectures. 2532.
[3] R. Merz A. Feldmann L. Suresh, J. Schulz-Zander and T. Vazao. 2012. Towards programmable enterprise wlans with odin. In Proceedings of the
second workshop on Hot topics in software defined networks (HotSDN). 115120.
[4] Z. Mao L. Li and J. Rexford. 2012. Towards software-defined cellular networks. In Proceedings of the European Workshop on Software Defined
Networking (EWSDN). 712.

SDN Applications

SOHO (Small Office/Home Office) Networks

A system to aid in troubleshooting home networks using the SDN concept of


having a separate controller [1].
Outsource security related SOHO network management tasks to an off-site
controller [2].
Home router act as a controller and captures information about usage of the
network and provides a point of interaction to control the network [3].

[1] N. Feamster R. Grinter Y. Deng K. Calvert, W. Edwards and X. Zhou. 2011. Instrumenting home networks. Computer Communication Review (ACM
SIGCOMM) (Aug. 2011), 8489.
[2] N. Feamster. 2010. Outsourcing home network security. In Proceedings of the ACM SIGCOMM workshop on Home networks. 3742.
[3] T. Lodge D. McAuley C. Rotsos A. Moore A. Koliousis R. Mortier, T. Rodden and J. Sventek. 2012. Control and understanding: Owning your home
network. In Proceedings of the Fourth International Conference on Communication Systems and Networks (COMSNETS). 110.

Future Directions of SDN

Distributed Controllers

Internet with SDN

Information Centric Networking (ICN) with SDN

Future Directions of SDN

Distributed Controllers

SDN fundamental concept is to centralize the


management and have a single controller.

control plane of network

But this does not prevent researches to deploy multiple controllers to manage
different components of the network.
For a large and highly distributed network, which is complex, it is unlikely that a
single controller can handle all the network devices.
So for a large and highly distributed network, multiple distributed controllers can
be deployed [1].

[1] Mandal S. Ong J Jain S., Kumar A. and et el. 2013. B4: Experience with a Globally-Deployed Software Defined WAN. Computer Communication
Review (ACM SIGCOMM) (Aug. 2013).

Future Directions of SDN

Distributed Controllers

Cont.

Different traditional architectures have been used to deploy multiple controllers


in the SDN.

The HyperFlow [1] and the Onix [2] platforms: Peer-to-peer architecture.

The Kandoo platform [3]: Hierarchical architecture.

The Devolved Controllers platform [4]: Stand alone architecture.

[1] A. Tootoonchian and Y. Ganjali. 2010. Hyperflow: A distributed control plane for openflow. In Proceedings of the Internet network management
conference on research on enterprise networking. 67.
[2] Gude N. Stribling J. Poutievski L. Zhu M. Ramanathan R. Iwata Y. Inoue H. Hama T. Koponen T., Casado M. and Shenker S. 2010. Onix: A Distributed
Control Platform for Large-scale Production Networks. In Proceedings of the 9th USENIX Conference on Operating systems design and implementation.
[3] Yeganeh S. H. and Ganjali Y. 2012. Kandoo: A Framework for Efficient and Scalable Offloading of Control Applications. In Proceedings of the first
workshop on Hot topics in software defined networks (HotSDN). 1924.
[4] Kang Xi Tam A.S.W. and Chao H.J. 2011. Use of devolved controllers in data center networks. In Proceedings of the IEEE Conference on Computer
Communications Workshops (INFOCOM Workshop). 596601.

Future Directions of SDN

Distributed Controllers

Cont.

When planning a SDN with multiple controllers

How many controllers are needed [1]

Where should they go [1]

Mapping between a switch and a controller [2]

Trade-offs [3]

[1] R. Sherwood B. Heller and N. McKeown. 2012. The controller placement problem. In Proceedings of the first workshop on Hot topics in software
defined networks (HotSDN). 712.
[2] Sarit Mukherjee T.V. Lakshman dvait Dixit, Fang Hao and Ramana Kompella. 2013. Towards an Elastic Distributed SDN Controller. In Proceedings of
the second workshop on Hot topics in software defined networks (HotSDN).
[3] B. Heller N. Handigol D. Levin, A. Wundsam and A. Feldmann. 2012. Logically centralized?: state distribution trade-offs in software defined networks.
In Proceedings of the first workshop on Hot topics in software defined networks (HotSDN). 16.

Future Directions of SDN

Internet with SDN

Software defined Internet architecture (each participating autonomous


systems can be controlled independently by their own controller) [1].

Information Centric Networking (ICN) with SDN

Separation between information processing and forwarding in ICN is


aligned with the decoupling of the data plane and control plane in SDN.

ICN architecture that uses a SDN [2].

CONET : OpenFlow based ICN architecture [3].

[1] T. Koponen S. Ratnasamy A. Ghodsi B. Raghavan, M. Casado and S. Shenker. 2012. Software-defined internet architecture: decoupling architecture
from infrastructure. In Proceedings of the 11th ACM Workshop on Hot Topics in Networks (HotNets-XI). 4348.
[2] D. Trossen P. Flegkas V. Sourlas T. Korakis D. Syrivelis, G. Parisis and L. Tassiulas. 2012. Pursuing a software defined information-centric network. In
Proceedings of the European Workshop on Software Defined Networking (EWSDN). 103108.
[3] G. Mazza G. Morabito S. Salsano N. Blefari-Melazzi, A. Detti and L. Veltri. 2012. An openflow-based testbed for information centric networking. In
Proceedings of the Future Network and Mobile Summit. 46.

Вам также может понравиться