270 likes | 696 Views
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.
E N D
Software Defined Networks (SDN) WindhyaRankothge UniversitatPompeuFabra
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 switch’s 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), 114–119
The OpenFlow Project (2008) The OpenFlow project : first step of achieving SDN’s main concepts (separation of control and programmable networks) in packet switched networks [1] [2]. The OpenFlowarchitecture consists of [1] [2]: A Flow Table in each switch. A Secure Channel that connects the switch to the controller. The OpenFlowProtocol. [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).
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. SDN Architecture [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). 360–362. [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 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 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), 105–110. [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] Tremaopenflow 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/Open-Flow1.0forOpenWRT [3] 2011. ofsoftswitch13. (2011). Retrieved August 28, 2013 from https://github.com/CPqD/ofsoftswitch13
OpenFlow enabled switch models Hewlett-Packard Brocade IBM NEC Pronto Juniper Pica8 SDN Development Tools Native SDN switches
SDN programming languages should consists of declarative abstractions, for querying network state, defining forwarding policies and updating policies in a consistent way. FatTire SDN Development Tools SDN Languages Frenetic Nettle FML Procera Pyretic Flog Logical Languages Functional Languages 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), 128–134. [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. 235–249. [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. 1–10. [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). 43–48. [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 onFunctionalProgramming.
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. 10–12. [2] Agarwal R. Caesar M. Godfrey P.B. Mai H., Khurshid A. and King S.T. 2011. Debuggingthe data planewithanteater. In Proceedings of the ACM SIGCOMM 2011 conference. 290–301. [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). 55–60. [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. 29–30. [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). 49–54.
SDN Development Tools SDN Debugging Tools Cont. • SDN troubleshooting simulators • STS (SDN Troubleshooting Simulator) : simulates the devices of the network • 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.
Mininet : a SDN emulation environment [1] ns-3 : network simulator [2] SDN Development Tools SDN Emulation and Simulation Tools [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.
FlowVisor [1]: a switch virtualization approach in which the same hardware forwarding plane can be shared among multiple logical networks, each withdistinctforwardinglogic. 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 overOpenFlowcapable hardware. SDN Development Tools SDN Virtualization Tools [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), 129–130. [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). 3–4. [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). 109–114. [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
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. SDN Applications Distributed data centers and cloud computing systems [1] Flajslik M. McKeown N Handigol N., Seetharaman S. and Johari R. 2009. Plug n Serve: Load-BalancingWeb 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-fyingMiddleboxPolicyEnforcementUsing 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. .
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]. SDN Applications Distributed data centers and cloud computing systems Cont. [1] Pettit J. Pfaff B. Casado M. McKeown N. Gude N., Koponen T. and Shenker S. 2008. NOX: towardsanoperating system for networks. Computer Communication Review (ACM SIGCOMM) (July 2008), 105–110 [2] J. Rexford C. Schlesinger M. Reitblatt, N. Foster and D. Walker. 2012. Abstractionsfornetworkupdate. In Proceedings of the ACM SIGCOMM 2012 conference on Applications, technologies, architectures and protocolsforcomputercommunication. 323–334. [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
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 planeforcellularnetworks [4]. SDN Applications Wireless Networks [1] S. Katti M. Bansal, J. Mehlman and P. Levis. 2011. Openradio: a programmablewirelessdataplane. In Proceedings of the first workshop on Hot topics in software defined networks (HotSDN). 109–114. [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. 25–32. [3] R. Merz A. Feldmann L. Suresh, J. Schulz-Zander and T. Vazao. 2012. Towardsprogrammableenterprisewlans with odin. In Proceedings of the second workshop on Hot topics in software defined networks (HotSDN). 115–120. [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). 7–12.
A system to aid in troubleshooting home networks using the SDN concept of having a separate controller [1]. Outsourcesecurity 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]. SDN Applications SOHO (Small Office/Home Office) Networks [1] N. Feamster R. Grinter Y. Deng K. Calvert, W. Edwards and X. Zhou. 2011. Instrumenting home networks. ComputerCommunicationReview (ACM SIGCOMM) (Aug. 2011), 84–89. [2] N. Feamster. 2010. Outsourcing home network security. In Proceedings of the ACM SIGCOMM workshop on Home networks. 37–42. [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). 1–10.
Future Directions of SDN Distributed Controllers Internet with SDN Information Centric Networking (ICN) with SDN
SDN fundamental concept is to centralize the control plane of network management and have a single controller. 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]. Future Directions of SDN Distributed Controllers [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).
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 Kandooplatform [3]: Hierarchical architecture. The Devolved Controllers platform [4]: Stand alone architecture. Future Directions of SDN Distributed Controllers Cont. [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. 6–7. [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). 19–24. [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). 596–601.
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] Future Directions of SDN Distributed Controllers Cont. [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). 7–12. [2] SaritMukherjee T.V. Lakshmandvait Dixit, FangHao and RamanaKompella. 2013. TowardsanElasticDistributed 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). 1–6.
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 : OpenFlowbased ICN architecture [3]. Future Directions of SDN [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). 43–48. [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 DefinedNetworking (EWSDN). 103–108. [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. 4–6.