OpenFlow: Enabling Innovation in Campus Networks ACM SIGCOMM Computer Communication Review 2008 Nick McKeown Tom Anderson Hari Balakrishnan Stanford University University of Washington MIT Guru Parulkar Larry Peterson Jennifer Rexford Stanford University Princeton University Princeton University Scott Shenker Jonathan Turner University of California, Berkeley Washington University in St. Louis 101064541 2013/5/30 葉幸宜 Outlines • Introduction and Motivation • OpenFlow – Goal – Concepts – Network Architecture – Flow Table Structure – Controller – More Examples • Conclusion 2013/5/30 1/14 Introduction and Motivation • Experiments we’d like to do – Mobility Management – New Naming/Addressing Schemes – Network Access Control • If we design our own prototypes … – Closed network – No way to test the prototypes 2013/5/30 2/14 Introduction and Motivation • Why Internet is closed for innovations? – Commercial vendor won’t open software and hardware development environment • Complexity to support • Market protection & Barrier-to-entry for competitors • Existing Solutions – Software only • Performance is not good – Hardware/Software • Fanout too small 2013/5/30 3/14 OpenFlow • Goal – Open Platform • For researchers to test new ideas at scale production networks • Without requiring vendors to expose internal workings – Bring future Internet to legacy Internet 2013/5/30 4/14 OpenFlow’s Concept OpenFlow Controller OpenFlow Protocol (SSL) Ethernet Switch Control Plane OpenFlow Software Control Plane Hardware Data Plane 2013/5/30 5/14 OpenFlow Network Architecture OpenFlow Switch specification OpenFlow-enable Commercial Switch 2013/5/30 Normal SW Software Secure Channel HW Normal Datapath Flow Table PC OpenFlow Controller 6/14 OpenFlow Flow Table Structure OpenFlow Switch Rule Action Statistics SW Normal Software Secure Channel HW Normal Datapath Flow Table Packet + byte counters 1. 2. 3. 4. Switch Port 2013/5/30 MAC 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 7/14 OpenFlow Flow Table Structure OpenFlow Switch Rule Action Statistics SW Normal Software Secure Channel HW Normal Datapath Flow Table Packet + byte counters 1. 2. 3. 4. Switch Port 2013/5/30 MAC 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 7/14 OpenFlow Flow Table Example • Ethernet Switching Switch MAC MAC Eth Port src dst type * * 00:2D.. * • IP Routing Switch MAC Port src * * MAC dst * Eth type * VLAN ID * IP Src * IP Dst * IP Prot * TCP TCP Action sport dport * * Port5 VLAN ID * IP IP IP Src Dst Prot * 140.114.. * TCP TCP Action sport dport * * Port3 IP Src * TCP TCP Action sport dport * 22 Drop • Application Firewall Switch MAC Port src * * 2013/5/30 MAC dst * Eth type * VLAN ID * IP Dst * IP Prot * 8/14 OpenFlow Controller • Centralized intelligential agency – Allow multiple researchers create their accounts to control the flows independently – Add or remove flow-entries • NOX is an open-source OpenFlow Controller NOX Controller 2013/5/30 OpenFlow Switch OpenFlow Switch OpenFlow Switch 9/14 Secure Channel • • • • SSL Connection Controller discovery protocol Encapsulate packets for controller Send link/port state to controller 2013/5/30 10/14 OpenFlow Operation Example Amy Access Control Scheme! Rules Flow OpenFlow Table Switch PC Controller 2013/5/30 Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Amy Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline PC Controller 2013/5/30 Bob Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow OpenFlow Table Switch Flow Table OpenFlow Switch 11/14 OpenFlow Operation Example Amy Access Control Scheme! If Rule = x, send to port 4 If Rule = y, drop it If Rule = ?, send to controller Else, send to normal pipeline Flow OpenFlow Table Switch PC Controller 2013/5/30 Flow OpenFlow Table Switch Flow OpenFlow Table Switch O-Flow Table Flow Table Bob OpenFlow Switch 11/14 More Examples for OpenFlow Switch MAC Port src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP TCP Action sport dport • Network Management and Access Control – Ex: Phones can only use HTTP service • VLANs • Mobile wireless VoIP clients – Allowing seamless handover • Non-IP network – OpenFlow packets could be any kinds of formats • Processing packets rather than flows 2013/5/30 12/14 OpenFlow Products • NEC • HP • Pronto 2013/5/30 23 13/14 Conclusion • OpenFlow – Standard way to control flow-tables in commercial switches and routers – An open development environment for all researchers – Real environment for Future Internet Technologies 2013/5/30 14/14