Open Flow Enabling Innovation in Campus Networks Yongli
Open. Flow: Enabling Innovation in Campus Networks Yongli Chen
Problems Recently, it is difficult to make real-world impact on network innovation. Due to: Enormous Cisco’s annual sale in 2015 is $49. 16 Billion Many base of equipment kinds of protocols Total number of RFCs > 7, 400 Reluctance to experiment with production traffic Thus, there is almost no practical way to experiment with new network protocols in realistic network environment.
Solution: SDN(Software Defined Networking) GENI: A researcher will be allocated a slice of resources across the WHOLE network However, plans for nationwide like GENI are ambitious, costly, and they take years to be deployed. PC with several network interfaces and Operating System But PC’s performance is less than satisfying, comparing to wiring closet: PC College Wiring Closet Packet processing rate 1 Gb/s 100 Gb/s Number of ports ~100
Solution: Open. Flow Enabling researchers to run experimental protocols in the campus networks we use every day. Which means: Take less time to deploy(compare to large scale SDNs like GENI) Acceptable In cost short, realistic.
Open. Flow: Goals High performance/cost ratio Capable of supporting a broad range of research Isolation of production traffic and experimental traffic Consistent with vendors’ need for closed platforms
Open. Flow switch: meets all 4 goals An Open. Flow switch consists of at least three parts: 1. A Flow Table, used to instruct the switch how to process the flow. 2. A Secure Channel, used to connect the switch to a remote control process(called Controller) using 3. The Open. Flow Protocol, which provides an open and standard way for a controller to communicate with a switch.
Open. Flow: concept explained Open. Flow decouples data plane & control plane inside the switch, and allows control plane to exist outside of the switch. This external control plane is controller. Youtube Explanation
Open. Flow: What is flow? Flow is broadly defined, for example: A TCP connection All packets with the same VLAN tag All packets from the same switch port Etc… In general, you can define flow by yourself.
Open. Flow: Flow Table of Open. Flow switch An entry in the Flow Table contains three fields: 1. A packet header that defines the flow. 2. The action, which defines how the packets should be processed. 3. Statistics, which keep track of the number of packets and bytes for each flow.
Open. Flow: Actions on Flows by Open. Flow switches 1. Forward this flow’s packets to a given port. 2. Encapsulate and forward this flow’s packets to a controller. This action allows controller to decide whether the flow should be added to the Flow Table. 3. Drop this flow’s packets. This action allows packets to be routed. This action can be used for security reasons, etc. 4. Optional: Forward this flow’s packets through the switch’s normal processing pipeline. This action allows experimental traffic to be isolated from production traffic. Alternatively, isolation can be achieved through defining separate sets of VLANs. We can also treat Open. Flow as generalization of VLAN!
Open. Flow: Upgrade to current devices Flow Table will re-use existing hardware, such as TCAMs(ternary content-addressable memory) used in modern switches and routers. Secure Channel and Open. Flow Protocol will be supported through devices’ operating system ugrade.
Open. Flow Example: New Data Center (from Open. Flow. org) Cost 200, 000 servers Fanout of 20 -> 10, 000 switches $5 k vendor switch = $50 M $1 k commodity switch = $10 M Savings in 10 data centers = $400 M Control More flexible control Tailor network for services Quickly improve and innovate
Open. Flow: Summary Open. Flow is a pragmatic compromise that allows researchers to run experiments on heterogeneous switches and routers.
Open. Flow: Discussion How about reliability of Open. Flow? How about scalability of Open. Flow? Controller: Single point of failure Flow table: How many flows can it handle? How secure is Open. Flow? Attacks are possible
Open. Flow: Q&A Any questions?
Thanks!
- Slides: 16