500 likes | 752 Views
A Hot Topic in Computer Networks Today: Software- Defined Networking. Prof. Jang-ping Sheu High-Speed Communication & Computing Laboratory National Tsing Hua University. Outline. Background and motivation What is SDN ? An open standard- OpenFlow The applications of SDN Challenges
E N D
A Hot Topic in Computer Networks Today: Software- Defined Networking Prof. Jang-ping Sheu High-Speed Communication & Computing Laboratory National TsingHua University
Outline • Background and motivation • What is SDN ? • An open standard- OpenFlow • The applications of SDN • Challenges • Research resources
Outline • Background and motivation • What is SDN ? • An open standard - OpenFlow • The applications of SDN • Challenges • Research resources
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)
Traditional Networks - Features • Closed equipment • Software bundled with hardware • Vendor-specific interface • Only vendors can develop for its constrained environments • Over specified • 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
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
Million of linesof source code Billions of gates, We Need Modify Existing Equipment Routing, management, mobility management, access control, VPNs, … Switch Feature Feature 6,000 RFCs(Request For Comments) Operating System Specialized Packet Forwarding Hardware Bloated, Power Hungry Vertically integrated, complex, closed, proprietary Not suitable for experimental ideas
App App App App App App App App App App App Specialized Applications Windows (OS) Linux Mac OS Specialized Operating System or or Open Interface Open Interface Specialized Hardware Microprocessor Horizontal Open interfaces Rapid innovation Huge industry Vertically integrated Closed, proprietary Slow innovation Small industry
App App App App App App App App App App App Specialized Features Control Plane Control Plane Control Plane or or Specialized Control Plane Open Interface Open Interface Specialized Hardware Merchant Switching Chips Horizontal Open interfaces Rapid innovation Vertically integrated Closed, proprietary Slow innovation
Outline • Background and motivation • What is SDN ? • An open standard- OpenFlow • The applications of SDN • Challenges • Research resources
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 application-specific integrated circuit • Allows a stronger intellectual foundation to networking • Allows us to define the right abstractions in different layers • Allowsus to transfer technology much faster, in both directions (academic and Industry) • Closing the gap with industry
SDN from Traditional Network Device Ethernet Switch
SDN from Traditional Network Device Controller (Software) Data Path (Hardware)
Controller SDN from Traditional Network Device OpenFlow Protocol (SSL) Control Path OpenFlow Data Path (Hardware)
Controller SDN from Traditional Network Device OpenFlow Protocol (SSL) Ethernet Switch
More Detail in SDN Control Programs Network Operating System App App App Operating System Specialized Packet Forwarding Hardware App App App Operating System Specialized Packet Forwarding Hardware App App App Operating System Specialized Packet Forwarding Hardware App App App Operating System Specialized Packet Forwarding Hardware App App App Operating System Specialized Packet Forwarding Hardware
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
User’s Rule PC User’sRule User’sRule Packets Delivering in SDN Controller User’s code OpenFlow Switch Decision? OpenFlow Protocol OpenFlow Switch OpenFlow Switch
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
Outline • Background and motivation • What is SDN ? • An open standard- OpenFlow • The applications of SDN • Challenges • Research resource
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
OpenFlow Controller OpenFlow Switch PC OpenFlow Protocol SSL Secure Channel SW Flow Table HW
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
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
OpenFlow- Flow Table Entry Rule Action Stats Packet + byte counters • Forward packet to port(s) • Encapsulate and forward to controller • Drop packet • Send to normal processing pipeline Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport
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
DeploymentModes • 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 scenario
Outline • Background and motivation • What is SDN ? • An open standard - OpenFlow • The applications of SDN • Challenges • Research resource
Benefits from SDN Network Virtualization Switch based Firewall Multipath Forwarding Congestion Control Identify bugs
Network Virtualization in SDN The process of combining hardware and software network resources to be some virtual networks
Virtualization in Traditional Network L2 virtualization: VLAN Networks can only support a finite number of VLANS
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
Switch based Firewall in SDN Flow Classifer H1 Controller This packet needs to block Cloud H2 Block this flow H3 OpenFlow switches can emulate Firewall by assigning rules to switches.
Traditional Switch Path Forwarding In traditional switches, forwarding packets use spanning tree algorithm to solve looping problem
Multipath Forwarding in SDN Controller Controller can install multipath roles in SDN switches Forwarding by rule and central controller’s decision.
Congestion Control by SDN Controller Controller gets switches status to decide flow rate Controller can get SDN switches information to know if congestion happened.
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
Outline • Background and motivation • What is SDN ? • An open standard - OpenFlow • The applications of SDN • Challenges • Research resource
Countries in Trial of SDN 68 Trials in 13 Countries
SDN in University of U.S.A Severing as GENI (Global Environment for Network Innovations) Networking Substrate
Challenges Complex designing solutions Limited TCAM size Controller delay and overhead Multi-controller working together Migrating from legacy to SDN
SDN - Data-Plane Challenges • State of Specification • Maturity Concerns • OF 1.0 single flow table, … OF 1.1 leverages multiple tables • Silicon Concerns • 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
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 • …
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…
Outline • Background and motivation • What is SDN ? • An open standard - OpenFlow • The applications of SDN • Challenges • Research resources
Research Platform for SDN • Mininet • Network emulator • Designed for emulating SDN networks • Easy to use • High performance (100 nodes on a laptop) • Network OS for Research • 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
OpenFlowTestbed • Candidate controllers: • Nicira’sNox: 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 OpenFlowmode or legacy mode. • NEC(IP8800): either OpenFlowmode or legacy mode. • Pronto: legacy routing stack and OpenFlowenabled 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 OpenFlowenabled data path • Netronome: network processor PCI card • NetFPGA (Stanford): research oriented cards
2011I International Conference on Computer Science an d Network Technology Thank you !