Jennifer Rexford Princeton University

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Nanxi Kang Princeton University
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Consensus Routing: The Internet as a Distributed System John P. John, Ethan Katz-Bassett, Arvind Krishnamurthy, and Thomas Anderson Presented.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Traffic Engineering Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
Adaptive Routing Proshanto Mukherji CSC 457: Computer Networks University of Rochester.
Slide -1- February, 2006 Interdomain Routing Gordon Wilfong Distinguished Member of Technical Staff Algorithms Research Department Mathematical and Algorithmic.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Ad Hoc Wireless Routing COS 461: Computer Networks
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 2007 (TPDS 2007)
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
Packet-Switching Networks Routing in Packet Networks.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Routing Protocol Evaluation David Holmer
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Hierarchical Routing (§5.2.6)
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
MIDDLEWARE SYSTEMS RESEARCH GROUP Adaptive Content-based Routing In General Overlay Topologies Guoli Li, Vinod Muthusamy Hans-Arno Jacobsen Middleware.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks Backbone.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
William Stallings Data and Computer Communications 7th Edition
Data Center Load Balancing T Seminar Kristian Hartikainen Aalto University, Helsinki, Finland
Mike Freedman Fall 2012 COS 561: Advanced Computer Networks Traffic Engineering.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
William Stallings Data and Computer Communications
COS 561: Advanced Computer Networks
HULA: Scalable Load Balancing Using Programmable Data Planes
Multi Node Label Routing – A layer 2.5 routing protocol
Resilient Datacenter Load Balancing in the Wild
How I Learned to Stop Worrying About the Core and Love the Edge
Architecture and Algorithms for an IEEE 802
Routing Jennifer Rexford.
ECE 544: Traffic engineering (supplement)
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Routing.
Congestion-Aware Load Balancing at the Virtual Edge
A stability-oriented approach to improving BGP convergence
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
The Network Layer Network Layer Design Issues:
Network Control Jennifer Rexford
Backbone Traffic Engineering
COS 461: Computer Networks
Congestion-Aware Load Balancing at the Virtual Edge
2019/5/13 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Peng Wang, George Trimponias, Hong Xu,
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Routing.
Host and Small Network Relaying Howard C. Berkowitz
Toward Self-Driving Networks
Toward Self-Driving Networks
2019/10/9 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Jin-Li Ye, Yu-Huang Chu, Chien Chen.
EE 122: Intra-domain routing: Link State
Presentation transcript:

Jennifer Rexford Princeton University Synthesizing Load-Sensitive Routing Protocols for Programmable Switches Jennifer Rexford Princeton University With Kuo-Feng Hsu, Ryan Beckett, Ang Chen, Praveen Tammana, and David Walker http://www.cs.princeton.edu/~jrex/papers/contra.pdf

Intradomain Routing Goals Traffic Engineering (e.g., min latency, max throughput) Routing Constraints (e.g., service chain) Fast Adaptation (e.g., failures, load changes)

Programmable Data Plane as an Enabler Protocol-Independent Switch Architecture (PISA) Programmable data plane at line speed Programmed using a standard language (e.g., P4) Deparser Parser Memory Persistent State ALU Match- Action Table Pragmatic in limited programmability, and pragmatic now because of changes in hardware trends Stages

Load-Sensitive Routing in the Data Plane Programmable switch hardware as an enabler Fine-grained link metrics (e.g., utilization, queuing) Flexible computation (e.g., path metrics, best path) State across packets (e.g., to group packets into flowlets) 0.3 0.2 0.3

Load Balancing in the Data Plane Existing solutions (e.g., Conga, HULA) Specific topologies (e.g., data-center leaf-spine) Specific path metrics (e.g., “least utilized shortest path”) No routing constraints (e.g., no support for service chaining) …

Contra Goals General Distributed Performant Implementable Wide range of metrics Flexible path constraints Arbitrary topologies Distributed No central controller Stable, avoids oscillation Converges to best paths Performant Responsive to changing metrics Low traffic and switch overhead Mitigates forwarding loops Avoids out-of-order packets Implementable Using programmable data planes

Synthesizing the Routing Protocol High-Level Routing Policy Compiler P4 code P4 code

Policy Language Routing policy: a function that ranks network paths Matching on paths using regular expressions Computing and comparing path metrics Waypoint W with min utilization Min utilization under light load, otherwise shortest Lower scores are better Infinite mean the path is not used Regular expressions on path properties is not a new idea if (.* W .*) then path.util else ∞ if (path.util < 0.8) then (1, 0, path.util) else (2, path.len, path.util)

Family of Routing Protocols path probe: 0.3 Distance vector routing Flexible routing constraints and metrics Implementable in modern data planes Monitor path performance Enforce path constraints Compare and select paths Pin groups of packets to a path Prevent forwarding loops 0.3 0.2 data packets building blocks

Challenge #1: Support Non-Isotonic Policies Nodes rank paths differently Propagating the locally best metric is not enough B chooses B-C-D So, A must use A-B-C-D But, A would have preferred A-B-D if (A B D) then 0 else path.util D 0.2 0.1 0.1 A B 0.1 C In each step, the paths obey the constraints - S-B-D S-D S-A-D

Solution: Decompose the Policy Decompose into multiple isotonic policies (where possible) Separate probes One probe for “then” and one for “else” Each node makes its own decision Tag packets based on the chosen branch if (A B D) then 0 else path.util D 0.2 0.1 0.1 A B 0.1 C

Challenge #2: Compute Policy-Compliant Paths Efficiently Shape of a path affects its ranking Convert regular expressions to DFAs Carry current DFA state in the probes B C D if (A B D) then 0 else if (B .* D) then path.util else ∞ D B A 1 2 3 not B D B 1 2

Solution #2: Join With the Topology A Some automaton transitions cannot happen Disallowed by the network topology E.g., D-A-B cannot happen (no D-A edge) Product graph Node: (node id, state in DFA 1, state in DFA 2) Edge: valid edge in the topology, and valid transition in each DFA Determines how to tag and duplicate probes B C D

Product Graph Topology 0.5 0.4 0.2 0.3 0.1 DFA1 D B A Table at B not B Note: ensures DFAs are satisfied even during transients 1 2 3 Table at B not B DFA2 dst tag metric ntag nhop D B0 0.3 D0 B1 0.2 C0 C D B Used by A 1 2 B’s best path

Challenge #3: Forwarding loops Forwarding loops easily arise Non-hierarchical topology Distance-vector routing A S D B 0.1 0.7 0.2 A S D B 0.5 0.1 0.7 0.2 A S D B 0.5 0.1 0.7 0.2 B sends probe (0.1) to A that arrives late, after A-D has gone up to 0.5 D sends probes to A and S, and A propagates probes to B and S A receives probes from B after A-D link metric increases Persistent loop!

Solution: Version Numbers on Probes Strawman: path-vector routing Larger overhead Hard to do in data plane Alternative: probe version numbers Identify and avoid using outdated probes Inspired by DSDV and Babel Probe frequency Old probes propagate, before new probes sent probe i probe i+1 A S D B 0.5 0.1 0.7 0.2 B sends probe (0.1) to A that arrives late, after A-D has gone up to 0.5 Probe period larger than half RTT

Challenge #4: Interaction With Flowlet Switching Prevent out-of-order packets in a flow Group packets with small interarrival times Strawman solution: pin the flowlet Maintain (flowlet id, next-hop, time) for each flowlet If small time gap for next packet, use the pinned next-hop … otherwise, use the currently best next-hop small gap Also, helps improve stability

Policy Violations Under Flowlet Pinning Flowlet switching Is not policy aware Node timeouts at different times if (S C E F D + S A E B D) then path.util else ∞ path 2 F C Packets reaching E on path 2 are (still) pinned to path 1  S-C-E-B-D policy violation! Initially path 1 is better, and each node pins the flowlet Path 2 becomes better, and node S switches to path 2 Packets reach node E before the flowlet entry expires Causing some packets in flight to traverse an invalid path D E S B A path 1

Solution: Flowlet Switching Per Path Constraint Extend flowlet definition Before: maintain (flowlet id, next-hop, time) per flowlet After: include policy tag as part of the “match” path 2 F C Packet reaching E must continue to obey the same constraint D E S B A path 1

Evaluating the Contra Prototype Written in 7485 lines of F# Generates switch-local P4 programs Experimental setup Topologies: data centers, random graphs, ISPs Workloads: web search and cache Performance metric: flow completion time (FCT) Comparisons: equal-cost multipath, Hula, and SPAIN Simulation (in ns-3) and emulation (in CloudLab) High-Level Routing Policy Compiler P4 code

Contra in Data-Center Networks Fat-tree topologies with “widest shortest path” routing Outperforms equal-cost multipath (esp. on asymmetric topologies) Performs very similarly to Hula Flow completion time for Web search workload over 32 hosts with one failed link

Contra on Arbitrary Topologies Abilene topology with “minimum utilization” routing Outperforms shortest-path routing significantly Outperforms static load balancing over multipath paths (SPAIN) Flow completion time for Web search workload

Contra Protocol Dynamics Very few transient loops Less than 0.025% of packets Load balance Much less imbalance than ECMP

Conclusions Performance-aware distance-vector routing Good performance High-level policies in a declarative language Compiler to synthesize data-plane programs Good performance Scales to large networks topologies Performs comparable to systems tailored to specific topology/policy Future work Compile Contra P4 programs for high-speed hardware data planes

Backup Slides

Challenge #2: Routing Constraints if (.* B .* A .*) then ∞ else path.util Packets in flight violate constraint Packet follows S-B-S-A-D A S D B 0.2 0.1 0.7 A S D B 0.2 0.1 0.3 0.7 A S D B 0.2 0.1 0.9 In each step, the paths obey the constraints - S-B-D S-D S-A-D Packet: S-B-S-A-D Packet: S-B Packet: S-B-S