260 likes | 358 Views
Slick Packets. Giang Nguyen † , Rachit Agarwal † , Junda Liu ‡ , Matthew Caesar † , P. Brighten Godfrey † , Scott Shenker ‡ † University of Illinois at Urbana-Champaign ‡ University of California, Berkeley SIGMETRICS 2011. Approaches to packet routing.
E N D
Slick Packets Giang Nguyen†, Rachit Agarwal†, Junda Liu‡, Matthew Caesar†, P. Brighten Godfrey†, Scott Shenker‡ † University of Illinois at Urbana-Champaign ‡ University of California, Berkeley SIGMETRICS 2011
Approaches to packet routing • Network-controlled routing (NCR): the network controls the route • Analogy: taking a bus, one travels route determined by transit agency • Standard IP next-hop routing/forwarding • Source-controlled routing (SCR):users have some or total control of the route • Analogy: when driving, one determines own route • More flexible enables better performing routes, increases network provider competition, etc.
Failures in the network • Daily occurrences: 60% of the time, some link fails in next 10 minutes [Iannaccone02] • Cause “routing convergence” tens of seconds of packet loss while underlying network remains connected [Kushman07, Wang06] • Adversely affect real-time applications (e.g., VoIP, video conferencing, online games)
Fast failure reaction • Within network-controlled routing paradigm: • Reduce routing convergence period • “Fast reroute” : use alternate paths to forward packets during routing convergence (e.g., MPLS Fast Reroute, SafeGuard, R-BGP) • Within source-controlled routing paradigm: • Sources monitor path quality: too low switch path (e.g., Path Splicing, Pathlet Routing) • Takes on order of RTT to react • No “fast reroute” technique
SlickPackets • Source-controlled routing protocol with alternate paths in packet headers • Best of both worlds • Flexibility of source-controlled routing • Fast failure reaction of network-controlled routing using alternate paths
Design overview R2 R1 R5 Dst Src R4 R3
Key steps • Dissemination of network map • Leverage past work (NIRA, Pathlet Routing) • Selection of the forwarding subgraph • Encoding of forwarding subgraph in packet header • Forwarding of packet
Forwarding subgraph (FS) • Represents subset of network along which routers can forward packet • Is a DAG to avoid forwarding loops • Source may select FS with enough redundancy to avoid failures • Use case: shortest paths & avoid single-link failures • Selects a shortest “primary path” • Selects for each node on primary path a shortest “alternate path” to destination in case its primary next-hop link fails
FS selection example R2 R2 R1 R5 R1 R5 R3 R4 Forwarding subgraph Network map Suppose s selects R1R2R5 as primary path
FS selection example R2 R2 R5 R1 R5 R1 R4 R3 R4 Forwarding subgraph Network map For R1, s selects R1R4R5 as alternate path
FS selection example R2 R2 R1 R1 R5 R5 R4 R3 R4 Forwarding subgraph Network map For R2, s selects R2R4R5 as alternate path
Forwarding subgraph encoding Designed two formats • “Direct”: directly serializes the forwarding subgraph • A more general format • “Default”: encodes “segments,” one for each primary node • More efficient in most of cases we evaluate
Failure notification • So far, SlickPackets enables packets to slip around failed links • But packets reach failure might be sub-optimal • “Reactive” notification • Router adjacent to failed link sends control message to source of packet that tries to use link • Or, destination can notify source end-to-end
Encoding size eval methodology Topologies: • Latency-annotated Sprint ISP (315 nodes, 972 links) • Unweighted AS-map of the Internet (>30,000 nodes, >75,000 links) • Unweighted router-level map of the Internet (>190,000 nodes, >600,000 links)
Encoding size for AS-level map • 99% less than 26 bytes • Maximum of 50 bytes • Reasonable for large packets
Failure reaction simulation • Metric: packet stretch(= ratio of packet life time to latency of shortest available path) • Simulation run for each link: • All nodes send packets to all other nodes every 1ms • Fail the link evaluate all connected src-dst pairs • Protocols: “Vanilla” source routing, SafeGuard, SlickPackets
Vanilla source routing ICMP-style control packet Data packet Src Dst • Dropped packets resent when src knows of failure Failed link
SafeGuard Control packet (i.e., LSA) Data packet Src Dst • No dropped packets • All routers upstream from failure redirect packets
SlickPackets ICMP-style control packet Data packet Src Dst • No dropped packets • Only router adjacent to failure redirects packets
Average stretch for Sprint ISP SlickPackets achieves packet stretch comparable to SafeGuard, an NCR protocol
Conclusion SlickPackets • Is a source-controlled routing protocol • Enables fast reroute • Specifies alternate paths in packet header • Has reasonable packet header overhead Future work: • Hardware implementation • Congestion as a failure