Nick Feamster Georgia Tech

Slides:



Advertisements
Similar presentations
EE384y: Packet Switch Architectures
Advertisements

1 UNIT I (Contd..) High-Speed LANs. 2 Introduction Fast Ethernet and Gigabit Ethernet Fast Ethernet and Gigabit Ethernet Fibre Channel Fibre Channel High-speed.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Secure Routing Panel FIND PI Meeting (June 27, 2007) Morley Mao, Jen Rexford, Xiaowei Yang.
Using Network Virtualization Techniques for Scalable Routing Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton University.
OSPF 1.
Security Issues In Mobile IP
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.
Challenges in Making Tomography Practical
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.
Interconnection: Switching and Bridging
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:
Nick Feamster Research: Network security and operations –Helping network operators run the network better –Helping users help themselves Lab meetings:
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.
A Narrow Waist for Multipath Routing Murtaza Motiwala Bilal Anwer, Mukarram bin Tariq David Andersen, Nick Feamster.
Multihoming and Multi-path Routing
Interconnection: Switching and Bridging CS 4251: Computer Networking II Nick Feamster Fall 2008.
UNITED NATIONS Shipment Details Report – January 2006.
1 A Static-Node Assisted Adaptive Routing Protocol in Vehicular Networks Yong Ding, Chen Wang, Li Xiao {dingyong, wangchen, Department.
Scalable Routing In Delay Tolerant Networks
Chapter 6 File Systems 6.1 Files 6.2 Directories
Correctness of Gossip-Based Membership under Message Loss Maxim GurevichIdit Keidar Technion.
Multipath Routing for Video Delivery over Bandwidth-Limited Networks S.-H. Gary Chan Jiancong Chen Department of Computer Science Hong Kong University.
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
Two-Market Inter-domain Bandwidth Contracting
Chapter 1: Introduction to Scaling Networks
Local Area Networks - Internetworking
1 Generating Network Topologies That Obey Power LawsPalmer/Steffan Carnegie Mellon Generating Network Topologies That Obey Power Laws Christopher R. Palmer.
Chapter 9 Introduction to MAN and WAN
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Distance Vector Routing Protocols Routing Protocols and Concepts –
Countering DoS Attacks with Stateless Multipath Overlays Presented by Yan Zhang.
IP Multicast Information management 2 Groep T Leuven – Information department 2/14 Agenda •Why IP Multicast ? •Multicast fundamentals •Intradomain.
Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
Chapter 20 Network Layer: Internet Protocol
Scale Free Networks.
1 Introduction to Network Layer Lesson 09 NETS2150/2850 School of Information Technologies.
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
Multihoming and Multi-path Routing CS 7260 Nick Feamster January
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—5-1 MPLS VPN Implementation Configuring BGP as the Routing Protocol Between PE and CE Routers.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
PSSA Preparation.
Essential Cell Biology
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Link-State Routing Protocols Routing Protocols and Concepts – Chapter.
Where Are You From? Confusing Location Distinction Using Virtual Multipath Camouflage Song Fang, Yao Liu Wenbo Shen, Haojin Zhu 1.
New Opportunities for Load Balancing in Network-Wide Intrusion Detection Systems Victor Heorhiadi, Michael K. Reiter, Vyas Sekar UNC Chapel Hill UNC Chapel.
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.
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
Computer Networks Layering and Routing Dina Katabi
Protection and Restoration Definitions A major application for MPLS.
Fast recovery in IP networks using Multiple Routing Configurations Amund Kvalbein Simula Research Laboratory.
Placing Relay Nodes for Intra-Domain Path Diversity Meeyoung Cha Sue Moon Chong-Dae Park Aman Shaikh Proc. of IEEE INFOCOM 2006 Speaker 游鎮鴻.
COS 561: Advanced Computer Networks
BGP Instability Jennifer Rexford
Achieving Resilient Routing in the Internet
Presentation transcript:

Nick Feamster Georgia Tech Path Splicing Nick Feamster Georgia Tech Joint work with Murtaza Motiwala, Santosh Vempala, Megan Elmore

Internet Availability OK for email and the Web, but what about: E911 service Air traffic control … Stanford University Clean-Slate Design for the Internet: “It is not difficult to create a list of desired characteristics for a new Internet. Deciding how to design and deploy a network that achieves these goals is much harder. … It should be: Robust and available. The network should be as robust, fault-tolerant and available as the wire-line telephone network is today. …

Work to do… Various studies (Paxson, Andersen, etc.) show the Internet is at about 2.5 “nines” More “critical” (or at least availability-centric) applications on the Internet At the same time, the Internet is getting more difficult to debug Scale, complexity, disconnection, etc. It is not difficult to create a list of desired characteristics for a new Internet. Deciding how to design and deploy a network that achieves these goals is much harder. Over time, our list will evolve. It should be: 1. Robust and available. The network should be as robust, fault-tolerant and available as the wire-line telephone network is today.

Natural Disasters

Unnatural Disasters

Economic Threats

Operator Error

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 Scale: Protecting against arbitrary failures requires storing lots of state, exchanging lots of messages Control: End systems can’t signal when they think a path has “failed”

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

Path Splicing: Main Idea Compute multiple forwarding trees per destination. Allow packets to switch slices midstream. t s 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

Outline Path Splicing for Intradomain Routing Evaluation Generating slices Constructing paths Forwarding Recovery Evaluation Reliability and recovery Stretch Effects on traffic Path Splicing for Interdomain Routing Ongoing: Prototype and Deployment Paths

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 “Base” Graph t s 3.5 4 5 1.5 1.25 Perturbed Graph 3 3 s t 3

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

Constructing Paths Goal: Allow multiple instances to co-exist Mechanism: Virtual forwarding tables a t c s b t a t c Slice 1 Slice 2 dst next-hop

Forwarding Traffic Packet has 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 Various optimizations are possible

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 s t

Recovery Mechanisms End-system recovery Network-based recovery Switch slices at every hop with probability 0.5 Network-based recovery Router switches to a random slice if next hop is unreachable Continue for a fixed number of hops until destination is reached Needs good explanation Network-based works almost as well as end-user recovery scheme. The reason that we may not be able to find a path using network-based scheme is if we end-up in a path with a dead-end due to switching. 18 18

Availability Evaluation: Two Aspects Reliability: Connectivity in the routing tables should approach the that of the underlying graph If two nodes s and t remain connected in the underlying graph, there is some sequence of hops in the routing tables that will result in traffic Recovery: In case of failure (i.e., link or node removal), nodes should quickly be able to discover a new path

Availability Evaluation A definition for reliability Does path splicing improve reliability? How close can splicing get to the best possible reliability (i.e., that of the underlying graph)? Can path splicing enable fast recovery? Can end systems (or intermediate nodes) find alternate paths fast enough?

Reliability Definition Reliability: the probability that, upon failing each edge with probability p, the graph remains connected Reliability curve: the fraction of source-destination pairs that remain connected for various link failure probabilities p The underlying graph has an underlying reliability (and reliability curve) Goal: Reliability of routing system should approach that of the underlying graph.

Reliability Curve: Illustration Fraction of source-dest pairs disconnected Better reliability Probability of link failure (p) More edges available to end systems -> Better reliability

Experimental Setup Evaluation on two topologies GEANT (Real) and Sprint (Rocketfuel) Compute base graph by taking the union of k perturbed graphs Remove an edge from the base graph with probability p Compute number of pairs that could reach one another (average over 1,000 trials)

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.

Significant Novelty for Modest Stretch Novelty: difference in nodes in a perturbed shortest path from the original shortest path Fraction of edges on short path shared with long path Example s d Novelty: 1 – (1/3) = 2/3

Summary: Splicing Can Improve Availability Reliability: Connectivity in the routing tables should approach the that of the underlying graph Approach: Overlay trees generated using random link-weight perturbations. Allow traffic to switch between them Result: Splicing ~ 10 trees achieves near-optimal reliability Recovery: In case of failure, nodes should quickly be able to discover a new path Approach: End nodes randomly select new bits Result: Recovery within 5 trials approaches best possible.

Does Splicing Create Loops? Persistent loops are avoidable In the simple scheme, path bits are exhausted from the header Never switching back to the same Transient loops can still be a problem because they increase end-to-end delay (“stretch”) Longer end-to-end paths Wasted capacity Two-hop loops do occur (around 1 in 100 trials for k=2, more for higher values of k), but can be avoided with the mechanisms above

Interactions with Traffic Maximum utilization unaffected

Path Splicing for Interdomain Routing Observation: Many routers already learn multiple alternate routes to each destination. Idea: Use the bits to index into these alternate routes at an AS’s ingress and egress routers. default d alternate Splice paths at ingress and egress routers Storing multiple entries per prefix Indexing into them based on packet headers Selecting the “best” k routes for each destination Required new functionality

Experimental Setup 2,500-node policy-annotated AS graph Use C-BGP to compute routes on base graph Remove each inter-AS edge with probability p Test connectivity between a random subset of AS pairs Compute base reliability without policy restrictions

Interdomain Splicing: Reliability 2-slice deployment approaches best possible

Incremental Deployment Partial deployment provides some gains

Ongoing Work Software implementation Click Element PlanetLab/VINI deployment Extension to Cisco Multi-Topology Routing IETF draft in-progress

Open Questions and Ongoing Work How does splicing interact with traffic engineering? Sources controlling traffic? What are the best mechanisms for generating slices and recovering paths? Can splicing eliminate dynamic routing?

Conclusion Simple: Forwarding bits provide access to different paths through the network Scalable: Exponential increase in available paths, linear increase in state Stable: Fast recovery does not require fast routing protocols http://www.cc.gatech.edu/~feamster/papers/splicing-hotnets.pdf