A Hot Topic in Computer Networks Today: SoftwareDefined Networking Prof. Jang-ping Sheu High-Speed Communication & Computing Laboratory National Tsing Hua University 國立清華大學高速通訊與計算實驗室 NTHU High-Speed Communication & Computing Laboratory Outline Background and motivation What is SDN ? An open standard- OpenFlow The applications of SDN Challenges Research resources 2 Outline Background and motivation What is SDN ? An open standard - OpenFlow The applications of SDN Challenges Research resources 3 Internet in Recent Decade Data increasing continuously: Data Center, Cloud Computing, and Big Data E-business, Video on demand, MOOCs (Massive Open Online Courses) More protocols created with Heterogeneity networks developing VANET (Vehicular Ad-hoc NETwork), WSN (Wireless Sensor Network), CRN (Cognitive Radio Network) 4 Source: Intel 2012 March 5 Traditional Networks - Features Closed equipment Over specified Software bundled with hardware Vendor-specific interface Only vendors can develop for its constrained environments Various and complex protocols: OSPF, BGP, DiffServ, NAT, MPLS, and so on. No uniform standardization Buggy software in the equipment Routers are with million of lines of source code Cascading failures, vulnerabilities is popular 6 Traditional Networks - inconvenience Operating a network is too complex and expensive To add or move any device, network must be reconfigured, such as router, switch and firewall Too expensive to change the topology of network Not easy to control the communications User cannot write the control code except equipment vendors Long delays to introduce new features Difficult to customize: Even vendors and third parties are not able to provide customized cost effective solutions to address their customers’ problems 7 We Need Modify Existing Equipment Routing, management, mobility management, access control, VPNs, … Feature Feature Operating System Specialized Packet Forwarding Hardware Million of lines of source code Billions of gates, Switch 6,000 RFCs(Request For Comments) Bloated, Power Hungry Vertically integrated, complex, closed, proprietary Not suitable for experimental ideas 8 AppAppAppAppAppAppAppAppAppAppApp Specialized Applications Specialized Operating System Specialized Hardware Vertically integrated Closed, proprietary Slow innovation Small industry Open Interface Windows (OS) or Linux or Mac OS Open Interface Microprocessor Horizontal Open interfaces Rapid innovation Huge industry 9 AppAppAppAppAppAppAppAppAppAppApp Specialized Features Specialized Control Plane Specialized Hardware Vertically integrated Closed, proprietary Slow innovation Open Interface Control Plane or Control Plane or Control Plane Open Interface Merchant Switching Chips Horizontal Open interfaces Rapid innovation 10 Outline Background and motivation What is SDN ? An open standard- OpenFlow The applications of SDN Challenges Research resources 11 Software-Defined Networking (SDN) SDN is an approach to networking in which control is decoupled from hardware and given to a software application called a controller Allows network engineers to support a switching fabric across multi-vendor hardware and applicationspecific integrated circuit Allows a stronger intellectual foundation to networking Allows us to define the right abstractions in different layers Allows us to transfer technology much faster, in both directions (academic and Industry) Closing the gap with industry 12 SDN from Traditional Network Device Ethernet Switch 13 SDN from Traditional Network Device Controller (Software) Data Path (Hardware) 14 SDN from Traditional Network Device Controller OpenFlow Protocol (SSL) Control Path OpenFlow Data Path (Hardware) 15 SDN from Traditional Network Device Controller OpenFlow Protocol (SSL) Ethernet Switch 16 More Detail in SDN Control Programs Network Operating System App App App Operating System Specialized Packet Forwarding Hardware App App App App Operating System Specialized Packet Forwarding Hardware App Operating System Specialized Packet Forwarding Hardware App App App App Operating System Specialized Packet Forwarding Hardware App App App Operating System Specialized Packet Forwarding Hardware 17 More Detail in SDN Control Programs Network Operating System Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware 18 Packets Delivering in SDN Controller User’sSwitch Rule OpenFlow User’s code PC Decision? User’sSwitch Rule OpenFlow OpenFlow Protocol User’sSwitch Rule OpenFlow 19 Potential Application Model in SDN Data Centers Public and private clouds WANs Google WAN Eventually, public WANs Enterprise networks Greater control, fewer middle boxes Home networks Outsourced management Cellular Networks Separation of service from physical infrastructure Research and Education Networks National backbones College campus networks 20 Outline Background and motivation What is SDN ? An open standard- OpenFlow The applications of SDN Challenges Research resource 21 OpenFlow - What is it ? An open standard for that enables researchers to run experimental protocols in the campus networks we use every day Network administrators can remotely control forwarding tables by it Currently being implemented by major vendors Enabled switches now commercially available 22 OpenFlow Controller OpenFlow Switch SW Secure Channel HW Flow Table PC 23 OpenFlow - Controller A controller adds and removes flow entries from the Flow Table on behalf of experiments • A static controller might be a generalization of VLANs. • More sophisticated controllers that dynamically add/remove flows as an experiment progresses Researchers might control the complete network of OpenFlow Switches and be free to decide how all flows are processed 24 OpenFlow - Switch Flow Table, with an action associated with each flow entry, to tell the switch how to process the flow Secure Channel that connects the switch to controller, allowing commands and packets to be sent between a controller and the switch OpenFlow Protocol, which provides an open and standard way for a controller to communicate with a switch 25 OpenFlow - Flow Table Entry Rule Action Stats Packet + byte counters 1. 2. 3. 4. Switch MAC Port src MAC dst Forward packet to port(s) Encapsulate and forward to controller Drop packet Send to normal processing pipeline Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport 26 OpenFlow - Cache flow decisions in datapath “If header = x, send to port 4” “If header = y, overwrite header with z, send to ports 5,6” “If header = ?, send to me” Flow Table 27 Deployment Modes In-network: OpenFlow-enabled network infrastructure (upgraded or green-field) Overlay: Legacy network infrastructure with smart edge devices New boxes, such as gateways Enhanced kernel bridge (e.g., OpenVSwitch in x86 hypervisors) Examples: In-network: Google uses OpenFlow-enabled controllers switches to interconnect their data centers Overlay: AT&T, NTT, eBay, Fidelity Investments, and Rackspace use OpenStack Quantum and Nicira NVP controller to manage the virtual networks in their clouds Hybrid: Genesis hosting uses NEC controller in intra-data-center 28 scenario Outline Background and motivation What is SDN ? An open standard - OpenFlow The applications of SDN Challenges Research resource 29 Benefits from SDN Network Virtualization Switch based Firewall Multipath Forwarding Congestion Control Identify bugs 30 Network Virtualization in SDN The process of combining hardware and software network resources to be some virtual networks 31 Virtualization in Traditional Network L2 virtualization: VLAN Networks can only support a finite number of VLANS 32 SDN-based Network Virtualization Each tenant can run his virtual network with controller in SDN. OpenFlow network removes limitations, allowing administrators to create a flow-based virtual network abstraction. Computer virtualization Network Virtualization 33 SDN-based Network Virtualization 34 Switch based Firewall in SDN OpenFlow switches can emulate Firewall by assigning rules to switches. Flow Classifer H1 Controller This packet needs to block Cloud H2 Block this flow H3 35 Traditional Switch Path Forwarding In traditional switches, forwarding packets use spanning tree algorithm to solve looping problem 36 Multipath Forwarding in SDN Forwarding by rule and central controller’s decision. Controller 37 Congestion Control by SDN Controller can get SDN switches information to know if congestion happened. Controller Controller gets switches status to decide flow rate 38 Identify Bugs by SDN Identify bugs with systematically tracking down their root cause When an operational network misbehaves, it is very hard to find the root cause Allows users to define a Network Breakpoint Capture and reconstruct the sequence of events leading to the breakpoint 39 Outline Background and motivation What is SDN ? An open standard - OpenFlow The applications of SDN Challenges Research resource 40 Countries in Trial of SDN 68 Trials in 13 Countries 41 SDN in University of U.S.A Severing as GENI (Global Environment for Network Innovations) Networking Substrate 42 Challenges Complex designing solutions Limited TCAM size Controller delay and overhead Multi-controller working together Migrating from legacy to SDN 43 SDN - Data-Plane Challenges State of Specification Silicon Concerns Maturity Concerns OF 1.0 single flow table, … OF 1.1 leverages multiple tables Spec is much ahead of silicon development… OF Spec is a moving target for merchant silicon Merchant silicon is not optimized for OF… supports of current networking features is a higher priority Specific issues Scalability of Flow-Matches (limited by TCAM size) Cost concerns 44 SDN – Control-Plane Challenges Control Plane scalability Centralized vs. distributed controllers... Single view of the state of the network, forwarding tables,… is this a distributed database problem? Interoperability SDN/NON-SDN Inter-Controller Between different controllers Orchestrating SDNs managed by different controllers … 45 SDN- Application-Environments Challenges Network Resource Abstraction & Conflict Resolution Resource abstraction Conflict resolution among different application actions Development tools and New Application Paradigm Computing system style application… New class of Network Programming Languages… New tools New development skills… New talents... New education curriculum… 46 Outline Background and motivation What is SDN ? An open standard - OpenFlow The applications of SDN Challenges Research resources 47 Research Platform for SDN Mininet Network OS for Research Network emulator Designed for emulating SDN networks Easy to use High performance (100 nodes on a laptop) NOX (C++/Python) http://noxrepo.org Maestro (Rice University) Helios (NEC) Beacon (Java) coming soon, … Network OS Commerce ONIX [OSDI 2010, Google, Nicira, NEC] Expect others 48 OpenFlow Testbed Candidate controllers: Nicira’s Nox: C++ and python prototyping NTT’s Ryu : python more production level Candidate switches: Standalone switches Pica8 (3290): OpenFlow v1.1, a spin-off of Quanta HP (5400zl): either OpenFlow mode or legacy mode. NEC(IP8800): either OpenFlow mode or legacy mode. Pronto: legacy routing stack and OpenFlow enabled features can not be support in the same VLAN Brocade (CES/CER/MLX/XMR/MLXe): fully support hybrid mode PC-based switches (decreasing programmability) OVS (OpenVSwitch): pure software based OpenFlow enabled data path Netronome: network processor PCI card NetFPGA (Stanford): research oriented cards 49 2011I International Conference on Computer Science an d Network Technology Thank you ! 50