A Narrow Waist for Multipath Routing Murtaza Motiwala Bilal Anwer, Mukarram bin Tariq David Andersen, Nick Feamster.

Slides:



Advertisements
Similar presentations
Using Network Virtualization Techniques for Scalable Routing Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton University.
Advertisements

Grand Challenges in Networking Nick Feamster CS 7001.
Path Splicing with Network Slicing
Improving Internet Availability with Path Splicing Nick Feamster Georgia Tech Joint work with Murtaza Motiwala and Santosh Vempala.
Improving Internet Availability with Path Splicing Murtaza Motiwala Nick Feamster Santosh Vempala.
Path Splicing with Network Slicing Nick Feamster Murtaza Motiwala Santosh Vempala.
Data-Plane Accountability with In-Band Path Diagnosis Murtaza Motiwala, Nick Feamster Georgia Tech Andy Bavier Princeton University.
Using VINI to Test New Network Protocols Murtaza Motiwala, Georgia Tech Andy Bavier, Princeton University Nick Feamster, Georgia Tech Santosh Vempala,
Internet Availability Nick Feamster Georgia Tech.
Path Splicing Nick Feamster, Murtaza Motiwala, Megan Elmore, Santosh Vempala.
Improving Internet Availability with Path Splicing Nick Feamster Georgia Tech.
Multihoming and Multi-path Routing
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
Improving Internet Availability. Availability of Other Services Carrier Airlines (2002 FAA Fact Book) –41 accidents, 6.7M departures – % availability.
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster.
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
Path Splicing with Network Slicing Nick Feamster Murtaza Motiwala Santosh Vempala.
Nick Feamster Georgia Tech
Multihoming and Multi-path Routing
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Nanxi Kang Princeton University
Jaringan Komputer Lanjut Packet Switching Network.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
1 Path Splicing Author: Murtaza Motiwala, Megan Elmore, Nick Feamster and Santosh Vempala Publisher: SIGCOMM’08 Presenter: Hsin-Mao Chen Date:2009/12/09.
December 20, 2004MPLS: TE and Restoration1 MPLS: Traffic Engineering and Restoration Routing Zartash Afzal Uzmi Computer Science and Engineering Lahore.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Adaptive Routing Proshanto Mukherji CSC 457: Computer Networks University of Rochester.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Routing and Routing Protocols
Routing.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Multipath Routing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
Chapter 5 – Routing Protocols: IGRP. Building a Network To Be Reliable – provide error detection and ability to correct errors To Provide Connectivity.
(part 3).  Switches, also known as switching hubs, have become an increasingly important part of our networking today, because when working with hubs,
CECS 474 Computer Network Interoperability WAN Technologies & Routing
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Dynamic Routing Protocols Why Dynamic Routing Protocols? –Each router acts independently, based on information in its router forwarding table –Dynamic.
Interior Gateway Protocol. Introduction An IGP (Interior Gateway Protocol) is a protocol for exchanging routing information between gateways (hosts with.
Central Control over Distributed Routing fibbing.net SIGCOMM Stefano Vissicchio 18th August 2015 UCLouvain Joint work with O. Tilmans (UCLouvain), L. Vanbever.
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
Page 110/27/2015 A router ‘knows’ only of networks attached to it directly – unless you configure a static route or use routing protocols Routing protocols.
Protection and Restoration Definitions A major application for MPLS.
Institute of Technology Sligo - Dept of Computing Sem 2 Chapter 12 Routing Protocols.
IP fast reroute s olutions and challenges Amund Kvalbein.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Switch Features Most enterprise-capable switches have a number of features that make the switch attractive for large organizations. The following is a.
Routing and Routing Protocols
Fast recovery in IP networks using Multiple Routing Configurations Amund Kvalbein Simula Research Laboratory.
1 Version 3.1 Module 6 Routed & Routing Protocols.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
Routing and Routing Protocols CCNA 2 v3 – Module 6.
Dynamic Routing Protocols II OSPF
Routing Jennifer Rexford.
Scaling the Network: The Internet Protocol
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
Routing.
Software Defined Networking (SDN)
COS 561: Advanced Computer Networks
Implementing an OpenFlow Switch on the NetFPGA platform
Scaling the Network: The Internet Protocol
COMPUTER NETWORKS CS610 Lecture-16 Hammad Khalid Khan.
Routing.
Achieving Resilient Routing in the Internet
Presentation transcript:

A Narrow Waist for Multipath Routing Murtaza Motiwala Bilal Anwer, Mukarram bin Tariq David Andersen, Nick Feamster

Many Threats to Availability Natural disasters Physical failures (node, link) Router software bugs Misconfiguration Mis-coordination Denial-of-service (DoS) attacks Changes in traffic patterns (e.g., flash crowd) …

Idea: Backup/Multipath For intradomain routing –IP and MPLS fast re-route –Packet deflections [Yang 2006] –ECMP, NotVia, Loop-Free Alternates [Cisco] For interdomain routing –MIRO [Rexford 2006] Problem –Complexity and Scale: Protecting against arbitrary failures requires storing lots of state, exchanging lots of messages –Control: End systems cant signal when they think a path has failed

Two Questions What is the appropriate mechanism for achieving multiple paths? –One example: Path Splicing What is the appropriate interface for allowing end systems access to multiple paths? –Path Bits: A narrow waist for Internet routing

Backup Paths: Promise and Problems Bad: If any link fails on both paths, s is disconnected from t Want: End systems remain connected unless the underlying graph has a cut ts

Path Splicing: Main Idea Step 1 (Generate slices): Run multiple instances of the routing protocol, each with slightly perturbed versions of the configuration Step 2 (Splice end-to-end paths): Allow traffic to switch between instances at any node in the protocol t s Compute multiple forwarding trees per destination. Allow packets to switch slices midstream.

Generating Slices Goal: Each instance provides different paths Mechanism: Each edge is given a weight that is a slightly perturbed version of the original weight –Two schemes: Uniform and degree-based ts Base Graph ts Perturbed Graph

How to Perturb the Link Weights? Uniform: Perturbation is a function of the initial weight of the link Degree-based: Perturbation is a linear function of the degrees of the incident nodes –Intuition: Deflect traffic away from nodes where traffic might tend to pass through by default

Forwarding Traffic One approach: shim header with forwarding bits Routers use lg(k) bits to index forwarding tables –Shift bits after inspection To access different (or multiple) paths, end systems simply change the forwarding bits –Incremental deployment is trivial –Persistent loops cannot occur Other variations are possible (2 nd half of talk)

Forwarding: Putting It Together End system sets forwarding bits in packet header –Forwarding bits specify slice to be used at any hop Router examines/shifts bits, and forwards t s

Reliability Approaches Optimal Sprint (Rocketfuel) topology 1,000 trials p indicates probability edge was removed from base graph Reliability approaches optimal Average stretch is only 1.3 Sprint topology, degree-based perturbations

Simple Recovery Strategies Work Well Which paths can be recovered within 5 trials? –Sequential trials: 5 round-trip times –…but trials could also be made in parallel Recovery approaches maximum possible Adding a few more slices improves recovery beyond best possible reliability with fewer slices.

Two Questions What is the appropriate mechanism for achieving multiple paths? –One example: Path Splicing What is the appropriate interface for allowing end systems access to multiple paths? –Path Bits: A narrow waist for Internet routing

Allow for Innovation Above & Below Different applications & uses for multipath –Performance and load balancing –Availability Different mechanisms –Routing protocols: path splicing, ECMP, R-BGP, NIRA, MIRO, … –Implementation platforms: proprietary solutions, Click, NetFPGA, OpenFlow Need: Common interface for multipath routing.

A Narrow Waist for Multipath Routing

Decouple End Hosts from Protocols Easy access to multiple paths Consistent path selection per-host –Same encoding should always yield the same path Interoperation among many different multipath routing protocols –Different switches and different networks may have different implementations

Simple Interface and Implementation Ease of use at end systems Efficiently implementable in the network Scalable access to a large number of paths –End systems should not have to store state to represent all paths –Routers should not have to store forwarding table state for all paths

Path Bits: Three-Part Design Path bits interface –Level of control –Number of bits End system support –Monitoring framework –Packet interception Network control –Indexing into forwarding tables

Decision: Level of Control Path bits are opaque –Carry no explicit semantics –Instead, provide the following: Changing the bits, will, with high probability, change the forwarding path Satisfies the two design goals –End-host interface is decoupled from implementation –Interface is simple: few changes required

Decision: Number of Bits A small number of bits can provide sufficient flexibility. –Example: Path splicing Possible to map many existing multipath implementations to the interface

End-System Implementation Socket capture library –Intercept connect() and sendto() Kernel interface –Click module –Keeps track of active flows & bits for those flows Monitoring daemon

Network Implementations Software implementations in Click –Splicing, Deflections, ECMP++ Hardware implementations –Intel IXP: Splicing (~30 lines of C++ plug-in) –OpenFlow: kN entries per slice, ~20-25 lines at NOX controller –NetFPGA: Small additional overhead beyond base router implementation Key Idea: Multiple forwarding table entires with bits to index. Different routing protocols simply change what is in the tables and how the bits are mapped to this interface.

Path Splicing in Click Eight lines of C++.

Routing Deflections in Click Nine lines of C++.

NetFPGA Implementation Eight slices About 69% of available BRAM on NetFPGA (base router uses 53% of available BRAM)

NetFPGA Forwarding Performance No noticeable performance penalty with four tables.

Applications with Path Bits: Recovery Single-Path Routing (Baseline) Path SplicingECMP++

Conclusion Many uses and applications for multipath routing –Availability –Performance Many implementations of protocols –Path splicing: Simple, scalable, stable –Routing deflections Path bits: narrow waist allows applications and implementations to evolve independently –Decouples end host request from network implementation/protocol –Affords very simple implementations –Many environments: Data center, interdomain, intradomain, etc.