A Routing Underlay for Overlay Networks Akihiro Nakao Larry Peterson Andy Bavier SIGCOMM’03...

of 22 /22
Routing Underlay for Overlay Netwo Routing Underlay for Overlay Netwo Akihiro Nakao Akihiro Nakao Larry Peterson Larry Peterson Andy Bavier Andy Bavier SIGCOMM’03 SIGCOMM’03 Reviewer: Jing lu

Embed Size (px)

Transcript of A Routing Underlay for Overlay Networks Akihiro Nakao Larry Peterson Andy Bavier SIGCOMM’03...

  • A Routing Underlay for Overlay NetworksAkihiro NakaoLarry PetersonAndy Bavier

    SIGCOMM03Reviewer: Jing lu

    jl1 - the authors are from Princeton University

  • MotivationIncreasing growth of overlay services:

  • MotivationCommon characteristic:Application-specific routing strategyApproach: Ping and traceroute to learn underlying Internet topologyIncreasing growth of overlay services:Content distribution networkMulticast overlay

  • MotivationScalability Issues:In the number of participating nodesRON (Resilient Overlay Networks) doesnt scale beyond 50 nodes.Multiple overlays run on a single node/subnet.PlanetLab is an overlay-hosting platform.Observation:Network itself has multiple viewpoints, and already has a fairly complete picture of the network. Single overlay network re-discovers this information for just itself is redundant and architecturally silly.Routing underlay can provide a shared set of topology discovery services for overlays, making overlay resource discovery more scalable.

  • Architecture

    Some representative overlays:RON routing overlay End-system Multicast (ESM) overlayPeer-to-peer systems

  • Architecture

    RON routing overlay (MIT) Discover good-quality paths through overlay nodes, and quickly turn to an alternate path when congestion or failure happens to the current path.A clique of N overlay nodes; Probe N2 edges to get latency; Run link-state routing algorithm to find the lowest cost routes; Not scale for N > 50.Routing underlay can provide:Sparsely connected routing mesh of overlay nodes to decrease number of probes;Or, some disjoint paths, and let RON probe just these paths to select the best one. Should one path fails, RON can switch to another.

  • Architecture

    ESM overlay: End systems in a multicast group self-organize into an overlay structure using distributed protocol. Adapt to network dynamics and consider application level performance to achieve high efficiency.Organize end hosts into a mesh; run MST algorithm to produce a multicast tree.Routing underlay can provide:Nearest neighborsOr, ready-built routing mesh based on knowledge of the underlying network topology.

  • ArchitectureP2P systems like file sharing networksRouting underlay can provide:Nearest neighbors to peer withOr, far-away neighbors for data replication in case of local disasters.

  • ArchitectureUseful underlay services:Find nearest neighbors to a nodeFind disjoint paths between two nodesBuild a routing meshThree primitives underlay should support:Provide a graph of the network connectivity at a specified resolution (ASes, Routers, physical links) and scope (the Internet, some AS, everything within a radius of N hops);Expose actual route a packet traverses at a specified resolution;Report topological facts about specific paths between a pair of points according to a specified metric (AS hops, router hops, latency).

  • Architecture

    Features:Underlay probes the entire network to provide relative static information about the network in low frequency.Overlay probes dynamically changing network conditions in a reduced scope with higher frequency.

  • ArchitectureWill routing underlay be accepted? Infrastructure-based overlays like PlanetLab: Enforcement by implementing the probing layer in the OS kernel.Pure end-system overlays:Underlay service is convenient for application writers.Probing traffic becomes a widely-recognized problem.Encouragement from ISPs and network administrators by blocking ping and traceroute traffic

  • Topology Probing kernelAssumptions:Primitives are support on every overlay node, which has access to the BGP routing table at a nearby BGP router. Three primitives:Peering GraphPath ProbeDistance Probe

  • Topology Probing kernelPeering Graph: PG = GetGraph()Coarse-grain (AS-level) connectivity of the Internet, where each vertex in PG corresponds to an AS, and each edge represents a peering relationship between ASes.All overlay nodes send their BGP tables to a centralized aggregation point.Each overlay node constructs its own PG independently by exchanging PG with neighbors.PG can be constructed using a fixed number of probes; Peering information changes infrequently, so exchange can be done in low frequency.

  • Topology Probing kernel

  • Topology Probing kernelPath Probe: Path = GetPath(src, dst)Verified AS path traversed by packets sent from IP address src to IP address dst.Use BGP table to get the actual AS path.Distance Probe: Distance = GetDistance(target, metric)Distance from the local node to remote target node.Distance metrics:Number of AS hopsNumber of router hopsRTT

  • Library of Routing ServicesFind Disjoint Paths:PathSet = DisjointPaths(u, v, N, k)u, v are a pair of overlay nodes; N is a set of candidate intermediate nodes; k disjoint paths.Implementation:Use peering graph returned by GetGraph to guess the shortest disjoint paths (u, w, v), w N; Sort the list by AS count. Use GetPath to verify and drop paths that are not edge-disjoint from the default AS path.Select k paths based on AS hop count.

  • Library of Routing ServicesFind Nearest Neighbors:Nodes = NearestNodes(N, k)N is a set of candidate neighbor nodes; k closest to the local node.Implementation:Use GetPath to sort the list of N neighbors by AS count;Use GetDistance on the top j (j > k) nodes in the list to choose k nodes with lowest latency.

  • Library of Routing Services

  • Library of Routing ServicesBuilding a Representative Mesh:Mesh = BuildMesh(N)N is a set of overlay nodes;Implementation:Each overlay node performs analysis (pruning edges) independently using GetPath primitive. Entire mesh can be formed by aggregating all the neighbor sets.Algorithm 1: Prune edge (u, v) if AS path from u to v includes AS W, where w N is located.Algorithm 2: Prune edge (u, v) if w is directly connected to the AS path from u to v.In both cases, a node need s to keep track of virtualized edges and verify virtualization information with neighbors before pruning.

  • Library of Routing Services

  • Library of Routing Services

  • ConclusionOverlay networks independently probing the Internet to make application-specific routing decisions is unacceptable in the long run.

    A shared routing underlay is practical.Take cost into accountMultiple-layeredLower layers provide coarse-grain static information at large scale.Upper layers probe more frequently for dynamic information at increasingly reduced scale.

    They take advantage of the structure that multiple vantage points are distributed geographically over the Internet. Using the information aggregated, they can construct application-specific packet routing strategies.

    RON:PlanetLab:Routing underlay may not be able to implement a comprehensive set of services to support all overlays. It is good to identify the kinds of high-level operations that overlays might effectively employ.AS is autonomous system: a collection of routers under control of one administrative entity using a common interior gateway protocol.Topology Probing Kernel probes underlying Internet and aggregates raw topology information. Probing results are cached. It provides primitives to Library of Routing Services.Library of Routing Services answer higher-order questions about the overlay itself.Overlay services deal with application programs directly.

    Route Views aggregates BGP tables from 64 sites. A snapshot of BGP tables obtained from RouteViews produces a PG with about 60000 edges. Aggregate BGP routing information from 30-35 vantage points results in a fairly complete peering graph.Route Views is a project in Univ. of Oregon. It provides real-time information about the global routing system from several different backbones and locations around the Internet. Number of AS hops, number of router hops, and RTT reflect different resolution of the desired response.Similarly, GetGraph and GetPath can also parameterized by resolution (AS level, router level, physical level) and scope (root, AS, network).GetPath cost nothing.RouteViews aggregates BGP tables from 64 sites. A snapshot of BGP tables obtained from RouteViews produces a PG with about 60000 edges. Aggregate BGP routing information from 30-35 vantage points results in a fairly complete peering graph.BuildMesh return the local nodes neighbor set in a mesh. A mesh is a physically representative of the underlying Internet, but with far fewer edges.Algorithm 2 reduces more edges at a cost of longer virtualized paths.Lower layer exposes coarse-grain static information in large scale, upper layers dynamic information in small scale.