An Overview of OpenFlow Andrew Williams Agenda • What is OpenFlow? • OpenFlow-enabled Projects • Plans for a large-scale OpenFlow deployment through GENI • OpenFlow at N.C. State 1 Agenda • What is OpenFlow? • OpenFlow-enabled Projects • Plans for a large-scale OpenFlow deployment through GENI • OpenFlow at N.C. State 2 A problem for researchers • I’ve created a new routing algorithm, how can I test it out? 3 What is OpenFlow? • Switching specification that decouples a switches Control plane from it’s Data plane http://www.openflow.org/documents/openflow-wp-latest.pdf 4 How does it work? • Uses flow-based routing rules stored in an OpenFlow-Enabled switch’s memory to successful forward incoming packets • When a packet comes in that isn’t part of a flow, it is sent to the Controller • Controller decides what to do with the packet/flow 5 Matching packets at the Switch • Incoming packets can be matched with flows based on: • Ingress Port, Ether src, Ether dst, Ether type, VLAN id, VLAN priority, IPv4 src, IPv4 dst, TCP/UDP/SCTP src, TCP/UDP/SCTP dst, … • Over 15 potential values defined in the OpenFlow 1.1.0 standard! http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf 6 Main Benefit • A researcher can have full control of the control plane without giving up the speed at which the hardware forwards packets 7 OpenFlow-Enabled Switches • • • • • • • • • Cisco Catalyst 6K series Cisco Catalyst 3750 Juniper MX series HP ProCurve 5400zl series and ProCurve 6600 series Arista 7100 series Pronto 3290 and 2780, NEC IP8800 Ciena CoreDirector Circuit Switch Dell and IBM rumored to be interested in OpenFlow http://groups.geni.net/geni/attachment/wiki/SpiralTwo/GENIS2Ovrvw060310.pdf 8 Agenda • What is OpenFlow? • OpenFlow-enabled Projects • Plans for a large-scale OpenFlow deployment through GENI • OpenFlow at N.C. State 9 OpenFlow enabled projects • • • • • FlowVisor - Dividing network resources into "slices“ Load balancing PhoneNet – Direct Phone to Phone communication Deploying in-network services (caching, firewall, etc.) Turning an OpenFlow-enabled switch into an MPLS switch • Many more! 10 Agenda • What is OpenFlow? • OpenFlow-enabled Projects • Plans for a large-scale OpenFlow deployment through GENI • OpenFlow at N.C. State 11 Also: Kansas State University, Internet2, and the National Lambda Rail 12 Bringing everything together 13 Agenda • What is OpenFlow? • OpenFlow-enabled Projects • Plans for a large-scale OpenFlow deployment through GENI • OpenFlow at N.C. State 14 OpenFlow @ N.C. State • RENCI, N.C. State, and the other nearby universities recently received 5 OpenFlow-Enabled switches • RENCI has worked previously with GENI expanding its test bed offerings. http://www.csc.ncsu.edu/news/1132 15 Let’s Discuss 16 Performance Issues • “Preliminary results suggested that an Ethane controller based on a low-cost desktop PC could process over 10,000 new flows per second — enough for a large college campus.” • Have been alternatives proposed to address this issue – Pre-configuring routes before traffic is seen – A more hybrid approach - DIFANE 17 DIFANE -Keeps packets travelling quickly in the network http://www.cs.princeton.edu/~minlanyu/writeup/difane10-TR.pdf 18 Ethane • Precursor to OpenFlow • Outlined the ideas behind OpenFlow but didn’t get vendors to integrate into their own products. • Limited to: – Ethane Wireless Access Point (WRTSL54GS wireless router running OpenWRT) – Ethane 4-port Gigabit Ethernet Switch (NetFPGA based) – Ethane 4-port Gigabit Ethernet Switch (Software implementation powered by a computer) http://yuba.stanford.edu/~casado/ethane-sigcomm07.pdf 19 • http://www.openflow.org/downloads/technicalrepor ts/openflow-tr-2009-1-flowvisor.pdf • http://conferences.sigcomm.org/sigcomm/2009/de mos/sigcomm-pd-2009-final26.pdf • http://mobisocial.stanford.edu/papers/held09khuang.pdf • http://portal.acm.org/ft_gateway.cfm?id=1851262&t ype=pdf&CFID=15023189&CFTOKEN=46872270 • http://www.openflow.org/wk/index.php/OpenFlow MPLS 20