DOT – Distributed OpenFlow Testbed

Slides:



Advertisements
Similar presentations
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
Advertisements

CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Implement Inter- VLAN Routing LAN Switching and Wireless – Chapter 6.
Virtual LANs.
NCCA 2014 Performance Evaluation of Non-Tunneling Edge-Overlay Model on 40GbE Environment Nagoya Institute of Technology, Japan Ryota Kawashima and Hiroshi.
Switching Topic 4 Inter-VLAN routing. Agenda Routing process Routing VLANs – Traditional model – Router-on-a-stick – Multilayer switches EtherChannel.
An Overview of Software-Defined Network Presenter: Xitao Wen.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 5: Inter-VLAN Routing Routing & Switching.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 13: Troubleshoot TCP/IP.
An Overview of Software-Defined Network
1 Version 3.0 Module 10 Routing Fundamentals and Subnetting.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
Data Center Network Redesign using SDN
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Module 13: Network Load Balancing Fundamentals. Server Availability and Scalability Overview Windows Network Load Balancing Configuring Windows Network.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Cisco – Chapter 11 Routers All You Ever Wanted To Know But Were Afraid to Ask.
© 2010 IBM Corporation Plugging the Hypervisor Abstraction Leaks Caused by Virtual Networking Alex Landau, David Hadas, Muli Ben-Yehuda IBM Research –
10/8/2015CST Computer Networks1 IP Routing CST 415.
Chapter 8: Virtual LAN (VLAN)
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
STORE AND FORWARD & CUT THROUGH FORWARD Switches can use different forwarding techniques— two of these are store-and-forward switching and cut-through.
1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)
The University of Bolton School of Games Computing & Creative Technologies LCT2516 Network Architecture CCNA Exploration LAN Switching and Wireless Chapter.
Routing Fundamentals and Subnets Introduction to IT and Communications Technology CE
CSIT 220 (Blum)1 ARP Based on Computer Networks and Internets (Comer)
Virtual Machines Created within the Virtualization layer, such as a hypervisor Shares the physical computer's CPU, hard disk, memory, and network interfaces.
W&L Page 1 CCNA CCNA Training 3.4 Describe the technological requirements for running IPv6 in conjunction with IPv4 Jose Luis Flores /
Networking Material taken mainly from HowStuffWorks.com.
The Goals Proposal Realizing broadcast/multicast in virtual networks
+ Routing Concepts 1 st semester Objectives  Describe the primary functions and features of a router.  Explain how routers use information.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
ROUTING AND ROUTING TABLES 2 nd semester
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Network Load Balancing Addressing
IEEE ICC ‘16 Dynamic M2M Device Attachment and Redirection in Virtual Home Gateway Environments Apostolos Papageorgiou, NEC Labs Europe Roberto Bifulco,
Introduction to Networks v6.0
Scaling the Network Chapters 3-4 Part 2
What I Learned From Mininet
Software defined networking: Experimental research on QoS
Virtual Local Area Networks or VLANs
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Instructor Materials Chapter 5: Ethernet
Scaling the Network: The Internet Protocol
Chapter 8 ARP(Address Resolution Protocol)
6WIND MWC IPsec Demo Scalable Virtual IPsec Aggregation with DPDK for Road Warriors and Branch Offices Changed original subtitle. Original subtitle:
Chapter 6: Network Layer
Chapter 4: Routing Concepts
Chapter 5: Inter-VLAN Routing
Network Architecture Introductory material
Virtual LANs.
Review of Important Networking Concepts
Network Virtualization
NTHU CS5421 Cloud Computing
Implementing an OpenFlow Switch on the NetFPGA platform
1 ADDRESS RESOLUTION PROTOCOL (ARP) & REVERSE ADDRESS RESOLUTION PROTOCOL ( RARP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University,
Scaling the Network: The Internet Protocol
Ch 17 - Binding Protocol Addresses
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

DOT – Distributed OpenFlow Testbed

Motivation Mininet is currently the de-facto tool for emulating an OpenFlow enabled network However, the size of network and amount of traffic are limited by the hardware resources of a single machine Our recent experiments with Mininet show that it can cause Flow serialization of otherwise parallel flows Many flows co-exist and compete for switch resources as transmission rates are limited by the CPU Process for running parallel iperf servers and clients is not trivial

Objective Run large scale emulations of an OpenFlow enabled networks and Avoid/reduce flow serialization and contention introduced by the emulation environment Enable emulation of large amounts of traffic

DOT Emulation Embedding algorithm partitions the logical network into multiple physical hosts Intra-host virtual link Eembedded inside a single host Cross-host link Connects switches located at different hosts Gateway Switch (GS) is added to each active physical host to emulate link delay of the cross-host links The augmented network with GS is called physical network SDN controller operates on the logical network

Embedding of Logical Network Emulated Network Cross-host links Two Physical Machines Embedding algorithm partitions the emulated network into several physical hosts. Our heuristic minimizes the number of physical hosts and cross-host links and considers the resource constraints. This embedding guarantees resource requirements like CPU, memory, and link bandwidth Physical Host 1 Physical Host 2

Embedding Cross-host Links a Virtual Switch (VS) b Physical Embedding Each active physical host contains a Gateway Switch (GS). A cross-host link is divided into two segments. For example, cross-host link a is divided into two segments a’ and a’’ Each segment is connected to the GS of its physical host. For example, a’ is connected to GS1 a’ a” b’ b” Gateway switches

SDN Controller’s View SDN Controller Controller’s View

Software Stack of a DOT Node Virtual Interface Virtual Link VMs are used for generating traffic. Hypervisor layer is responsible for provisioning VMs. VSs and GSs are instances of OpenFlow enabled virtual switch (e.g., OpenVSwitch) Physical Link OpenFlow Switch

Gateway Switch Gateway Switch A DOT component One gateway switch per active physical host Is attached with the physical NIC of the machine Facilitates inter-physical host packet transfer Enables emulation of delays in cross-host links Oblivious of the forwarding protocol used in the emulated network

Simulating Delay of the cross host links Link delay Emulated Network (Only the cross-host links are shown) Physical Embedding Only one of the segments of a cross-host link will simulate delay

Simulating delay A->F B->E D->E Scenario explains three packets are being sent over three different cross host links: A-F, B-E, and D-E. D->E

Simulating delay Now, GS2 has to forward the packet through particular link even if the next hop (e.g., B->E and D->E) is same. A->F B->E D->E When a packet is received at a Gateway Switch through its physical interface, it should identify the remote segment through which it was previously forwarded

Solution of Traffic Forwarding at the Gateway Switch Mac Rewriting Tagging Tunnel with tag

Approach 1: MAC Rewrite Each GS maintains IP to MAC address mapping of all VMs When a packet arrives at a GS through logical links, it replaces The source MAC with its receiving port MAC This enables the remote GS to identify the segment through which the packet has been forwarded The destination MAC with the destination physical host’s physical NIC’s MAC This enables unicast of the packet through physical switching fabric When a GS receives a packet from the physical interface It checks the source MAC to identify the corresponding segment through which it should forward the packet Before forwarding, it replaces the source and destination MAC by inspecting the IP address field of the packet

Approach 1: MAC Rewriting SDN Controller MAC (src, dst) IP (src, dst) VM2, VM1

Approach 1: MAC Rewriting SDN Controller

Approach 1: MAC Rewriting SDN Controller MAC IP VM2, VM1

Approach 1: MAC Rewriting SDN Controller MAC IP VM2, VM1

Approach 1: MAC Rewriting SDN Controller MAC IP VM2, VM1

Approach 1: MAC Rewriting SDN Controller Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP PD, PM1 VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP PD, PM1 VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP PD, PM1 VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting GS1 GS2 Outward Traffic If(receiving port PB) srcMac←PB ,dstMac←PM2 If(receiving port PC) srcMac←PC ,dstMac←PM2 Output: PM1 If(receiving port PD) srcMac←PD ,dstMac←PM1 If(receiving port PE) srcMac←PE ,dstMac←PM1 Output: PM2 Inward Traffic If(srcMAC= PD) output: PB If(srcMAC = PE) output: PC Restore MAC by inspecting IP If(srcMAC= PB) output: PD If(srcMAC = PC) output: PE Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting SDN Controller Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting SDN Controller MAC IP VM2, VM1 Controller’s View PB PM1 PD PC PM2 PE

Approach 1: MAC Rewriting Advantages Packet size remains same No change is required in the physical switching fabric Limitations Needs to maintain all IP to MAC address mapping in each of the GSs. Not scalable

Approach 2: Tunnel with Tag An unique id is assigned to each cross-host link When a packet arrives at a GS through internal logical links It encapsulates the packet with any tunneling protocol (eg. GRE) The destination address is the IP Address of the physical host address An tag equal to the id of the cross-host link is assigned to the packet (using tunnel id field of GRE) When an GS receives a packet from the physical interface It checks the tag (tunnel id) field to identify the outgoing segment It forwards the packet after decapsulating the tunnel header.

Approach 2: Tunnel with Tag SDN Controller Cross-host link id #1 #2 Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 2: Tunnel with Tag GS1 GS2 Outward Traffic If(receiving port PB) tunnelID←1 Use tunnel to Machine 2 If(receiving port PC) tunnelID←2 If(receiving port PD) Use tunnel to Machine 1 If(receiving port PE) Inward Traffic If(tunnelID=1) output: PB If(tunnelID=2) output: PC output: PD output: PE SDN Controller Cross-host link id #1 #2 Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 2: Tunnel with Tag SDN Controller #1 Header for encapsulation Original Packet #2 Controller’s View TID= Tunnel ID MAC IP TID PM1, PM2 #1 MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 2: Tunnel with Tag SDN Controller #1 #2 Controller’s View TID= Tunnel ID MAC IP TID PM1, PM2 #1 MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 2: Tunnel with Tag GS1 GS2 Outward Traffic If(receiving port PB) tunnelID←1 Use tunnel to Machine 2 If(receiving port PC) tunnelID←2 If(receiving port PD) Use tunnel to Machine 1 If(receiving port PE) Inward Traffic If(tunnelID=1) output: PB If(tunnelID=2) output: PC output: PD output: PE SDN Controller Cross-host link id #1 #2 Controller’s View MAC IP VM2, VM1 PB PM1 PD PC PM2 PE

Approach 2: Tunnel with Tag Advantages No change is required in the physical switching fabric No GS need to know IP-MAC address mapping Rule set in GS is the order of cross-host link Scalable solution Limitations Lowers the MTU Due to the scalability issue, we choose this solution

Emulating Bandwidth Configured for each logical link Using Linux tc command Maximum bandwidth for a cross-host link is bounded by the physical switching capacity Maximum bandwidth of an internal link is capped by the processing capability of the physical host

DOT: Summary Can emulates OpenFlow network with Traffic forwarding Specific link delay Bandwidth Traffic forwarding General OpenVSwitch Forwards traffic as instructed by the Floodlight controller Gateway Switches Instances of OpenVSwitch Forwards traffic based on pre-configured flow rules

Technology used so far OpenVSwitch : Version 1.8 Rate limit is configured in each port Floodlight Controller: Version 0.9 Custom modules added Static Network Loader, ARP Resolver Hypervisor Qemu-KVM Link delays are simulated using tc (Linux traffic control)