Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.

Slides:



Advertisements
Similar presentations
MPLS VPN.
Advertisements

IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Communication Networks Recitation 3 Bridges & Spanning trees.
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 19 Introduction to Computer Networks.
Copyright 2008 Kenneth M. Chipps Ph.D. Cisco CCNA Exploration CCNA 2 Routing Protocols and Concepts Chapter 4 Distance Vector Routing Protocols.
Routing: Cores, Peers and Algorithms
Routing Protocol.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Internetworking.
1 Chapter 9 Computer Networks. 2 Chapter Topics OSI network layers Network Topology Media access control Addressing and routing Network hardware Network.
December 20, 2004MPLS: TE and Restoration1 MPLS: Traffic Engineering and Restoration Routing Zartash Afzal Uzmi Computer Science and Engineering Lahore.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
RFC 2453 RIP 2 (Routing Information Protocol) Daher Kaiss.
IP layer restoration and network planning based on virtual protection cycles 2000 IEEE Journal on Selected Areas in Communications Reporter: Jyun-Yong.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
1 CCNA 2 v3.1 Module 8. 2 TCP/IP Suite Error and Control Messages CCNA 2 Module 8.
Internetworking Devices that connect networks are called Internetworking devices. A segment is a network which does not contain Internetworking devices.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
Copyright © 2012, QoS-aware Network Operating System for Software Defined Networking with Generalized OpenFlows Kwangtae Jeong, Jinwook Kim.
COMPUTER NETWORKS.
1 LAN switching and Bridges Relates to Lab 6. Covers interconnection devices (at different layers) and the difference between LAN switching (bridging)
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
Introduction to IT and Communications Technology Justin Champion C208 – 3292 Ethernet Switching CE
Distance Vector Routing Protocols W.lilakiatsakun.
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
Day 12 Chapter 13 WAN Technologies and Routing. Classification of Networks LAN – spans a single building or campus MAN – Spans a city WAN – Spans multiple.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Delivery, Forwarding, and Routing of IP Packets
CS 453 Computer Networks Lecture 18 Introduction to Layer 3 Network Layer.
CCNA 3 Week 2 Link State Protocols OSPF. Copyright © 2005 University of Bolton Distance Vector vs Link State Distance Vector –Copies Routing Table to.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Routing and Routing Protocols
1 Data Link Layer Lecture 23 Imran Ahmed University of Management & Technology.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 7 Spanning Tree Protocol.
1 Version 3.1 Module 6 Routed & Routing Protocols.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
+ Routing Concepts 1 st semester Objectives  Describe the primary functions and features of a router.  Explain how routers use information.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 Module 10 Routing Fundamentals and Subnets.
5: DataLink Layer 5a-1 Bridges and spanning tree protocol Reference: Mainly Peterson-Davie.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
CHAPTER 6: STATIC ROUTING Static Routing 2 nd semester
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 8: Single-Area OSPF Routing & Switching.
Multi Node Label Routing – A layer 2.5 routing protocol
Semester 3, Chapter 5 Allan Johnson
Routing Jennifer Rexford.
Packet Switching Datagram Approach Virtual Circuit Approach
NOX: Towards an Operating System for Networks
What is a router? A router is a device that connects multiple computers together. Not to be confused with a switch Routers transmit packets of data across.
Introduction to Networking
Internet Networking recitation #4
Virtual LANs.
Troubleshooting IP Addressing
© 2002, Cisco Systems, Inc. All rights reserved.
Intra-Domain Routing Jacob Strauss September 14, 2006.
ECE 544 Protocol Design Project 2016
Intradomain Routing Outline Introduction to Routing
ECE 544 Project3 Team member: BIAO LI, BO QU, XIAO ZHANG 1 1.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Implementing an OpenFlow Switch on the NetFPGA platform
2019/5/2 Using Path Label Routing in Wide Area Software-Defined Networks with OpenFlow ICNP = International Conference on Network Protocols Presenter:Hung-Yen.
Control-Data Plane Separation
Presentation transcript:

Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal

Introduction Traditional network - Router identifies link failures and establishes alternate route Centralized control plane architectures – SoftRouter, 4D -Controller sends updates to switches -Switches have least amount of intelligence Link failure between switches and controller -Switches attempt to find a controller -Routing loops may occur Naïve solution – Flooding the news of link failure -Creating a lot of unnecessary traffic Better solution -Only the necessary switches will be informed of link failure -Still maintaining minimum amount of intelligence on the switches -Implemented in a network formed by OpenFlow switches -The news of link failures can reach switches sooner than the controller can identify the failure and send out updates

Related Work SoftRouter -Control function and packet forwarding function is separated -Increasing reliability in the network -Elements of a SoftRouter network includes Forwarding Element (FE): switches performing packet forwarding Control Element (CE): controllers running control plane functions Network Element (NE): logical grouping of some CEs and a few FEs 4D -Four logical planes Decision Plane: makes all the decisions about network control Dissemination Plane: ensuring communication between decision plane and switches Discovery Plane: identifying physical components of a network Data Plane: handling individual packets, controlled by decision plane Both maintaining a separate control plane from the data plane

Related Work - Cont. OpenFlow switches -Controlled by a remotely located controller -Maintaining multiple data paths in the same network -Flow table: Header Fields: Counters: maintaining statistics for the switch Actions: if the header of a received packet matches with the header fields, action defined in the field is applied

Link Failure (1) A simple link failure scenario Link between A and B fails – informing all relevant switches about the failed link and ask them to refrain from sending messages to B that travel towards A, until the controller sends them an update

Link Failure (2) Island Link between A and B fails – forming an island -B could inform C and D of the failed link, avoiding unnecessary traffic -A could inform the controller the failed link, preventing its attempt to reach the island

Link Failure (3) Routing Loop Link between B and C fails – forming a routing loop -B could inform A about the failed link -This process can be completed a lot sooner than the controller could identify the link failure and updating switches – preventing routing loops

Coping with Link Failures A scheme to reduce the damage caused by link failure -In case of link failure, all the switches that could send flows in the driaction of the failed link should be informed of this event -Link failure messages should not propagate in the network indefinitely, and unless required, these messages should not be flooded in the network -The scheme should provide enough information to the network switches regarding the flows that are affected by the failed link. At the same time, it should make sure that the flows that are not affected by this event do not get modified -The proposed scheme should not violate the basic premises of keeping the minimum amount of intelligence available at the switches

Solutions to Link Failures Goal -Informing link failure event to all the switches that could send flows in the direction of the failed link -Making sure Link Failure Message (LFM) do not get flooded in the entire network Outline -A proper way to define a flow -Computations for the switch experiencing link failure -Computations for the switch receiving a LFM -Importance of specifying ingress port in the flow definition -Flow tables without ingress ports

Solutions to Link Failures - A proper way to define a flow One way to define the flow: Better way to define the flow:

Solution to Link Failures – Computations for the switch experiencing link failure (1)

Solution to Link Failures – Computations for the switch experiencing link failure (2) LFM Structure -Source Address: IP address of the switch the initiate the LFM -Message ID: ensuring that the same LFM does not get forwarded multiple times by the same switch -Flow Definition: a subset of header fields that make up the definition of the flow -Flow Count: indicating the total number of flow specifications that are attached with the LFM

Solution to Link Failures – Computations for the switch receiving a LFM (1) Upon receiving a LFM -Making the note of the interface (rxInterface) from where the message came in -Detach the list (flowList) of flow definitions attached with the LFM -Looking up flow table and locating ingress ports -Sending out new LFM (Why?) -Modifying the Action field of the affected flow table entries (the tricky part)

Solution to Link Failures – Computations for the switch receiving a LFM (2) Why sending out new LFM instead of forwarding the same LFM

Solution to Link Failuress – Computations for the switch receiving a LFM (3) Modifying the Action field of the affected flow table entries - Splitting a flow table entry into two

Solution to Link Failure – Importance of specifying ingress port in the flow definition Specifying ingress port will be the most helpful in the topology that is similar to a perfect graph Specifying ingress port will be the least helpful in a chain topology

Solution to Link Failures – Flow tables without ingress port Sometimes it may not be possible to specify ingress port for the flow table entries in all the switches -Have to flood LFM to all the switches in the network -LFM may float around in the network indefinitely Solution – including a “Hop count” or “Time to live” field -“Hop count” decreases by one every hop as LFM gets forwarded - stop forwarding a LFM if “Hop count” is 0 -“Time to live” is a timestamp – stop forwarding a LFM once the “Time to live” expires -Those values have to be chosen carefully

Performance Analysis (1) Environment -A small network of kernel-based OpenFlow switches -Switches are installed on VMs that run on Debian Lenny linux -A chain topology is used -VMs share a 2.6Ghz processor, with 64M of RAM assigned to each of them

Performance Analysis (2) Results -Since VMs are not very well time synchronized, it is difficult to calculate total amount of time taken to reach all the switches -Calculating the time difference between receiving a LFM and sending out a new LFM -Sum is 394 mSec + time taken between transmitting and receiving LFMs -Total time taken to send LFM to every switch is negligible compared to the time between controller’s connectivity probe which may vary between tens of seconds to a few hundred seconds

Performance Analysis (3) Processing time VS. Flow table entries

Conclusion In centralized control plane architecture, link failure could create many problems To address the problems, a solution is proposed -Informing relevant switches to refrain from sending traffic towards the failed link without flooding -Simplicity – Maintaining the basic premises of keeping the minimum intelligence available at all switches -All the relevant switches are informed of the failed link significantly sooner than a controller learns about the link failure and sends out an update