260 likes | 384 Views
On AS-Level Path Inference. Jia Wang (AT&T Labs Research) Joint work with Z. Morley Mao (University of Michigan, Ann Arbor) Lili Qiu (University of Texas, Austin) Yin Zhang (University of Texas, Austin). company. company. Qwest. Qwest. UUnet. UUnet. Sprint. Sprint. AT&T. AT&T.
E N D
On AS-Level Path Inference Jia Wang (AT&T Labs Research) Joint work with Z. Morley Mao (University of Michigan, Ann Arbor) Lili Qiu (University of Texas, Austin) Yin Zhang (University of Texas, Austin)
company company Qwest Qwest UUnet UUnet Sprint Sprint AT&T AT&T ISP ISP ISP ISP ISP ISP ISP ISP ISP University University business business business ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP ISP Discover end-to-end forwarding path between two hosts Internet Qwest AT&T Sprint UUnet Level3 Level3 Level3 GNN Calren Calren Calren Berkeley Berkeley Berkeley CNN company University On AS-Level Path Inference
Motivation • Network diagnoses • Performance optimization • Overlay network • Content distribution • Network modeling On AS-Level Path Inference
Example – overlay routing ? Internet ? ? 2 ? 4 5 1 3 Source Destination On AS-Level Path Inference
Outline • Related work • Routescope • Evaluation • Improvements • AS relationship inference • First AS hop inference • Conclusion On AS-Level Path Inference
Related work • Forwarding path discovery • With direct access to the source • Router-level: traceroute • AS-level: [Mao Sigcomm2003] [Mao Infocom2004] • Without direct access to the source • None! On AS-Level Path Inference
Challenges • Asymmetric routing • Over 60% of AS paths asymmetric • Complicated routing policies • Not shortest path routing • Commercial relationship between ASes determines how traffic flow though the Internet • Multi-homing • Very common On AS-Level Path Inference
Routescope • Key observation: relationships among ASes play important role in determining feasible forwarding paths • Approach: Infer AS-level paths by finding the shortest policy path in an AS graph obtained from BGP tables collected from multiple vantage points On AS-Level Path Inference
Assumptions • Explicit AS relationships • Peer-peer • Provider-customer • Shortest AS policy path preferred • “Valley-free” rule • Uniform routing policy within an AS • AS destination based uniform routing • Stability These assumptions are mostly correct. On AS-Level Path Inference
AS relationships translate into BGP export rules • Export to a provider or a peer • Allowed: its routes and routes of its customers and siblings • Disallowed: routes learned from other providers or peers • Export to a customer or a sibling • Allowed: its routes, the routes of its customers and siblings, and routes learned from its providers and peers On AS-Level Path Inference
“Valley-free” rule • After traversing a provider-customer or peer-peer edge, cannot traverse a customer-provider or peer-peer edge • Invalid path: • >= 2 peer links • downhill-uphill • downhill-peer • peer-uphill On AS-Level Path Inference
Example of valley-free paths [1 2 3], [1 2 6 3] are valley-free X X [1 4 3], [1 4 5 3] are not valley free On AS-Level Path Inference
AS path inference algorithm • Compose the AS graph based on BGP tables • Infer AS relationship • Classify edges based on AS relationship • Customer-provider (UP) link • Provider-customer (DOWN) link • Peer-peer (FLAT) link • Compute shortest policy path conforming the “valley-free” rule using modified Dijkstra’s algorithm • Infer the first AS hop if multiple paths returned On AS-Level Path Inference
Evaluation • Based on existing AS relationship inference algorithms • Gao: based on the degree of ASes along the path • SARK: consider AS hierarchy properties • BPP: formulate as 2SAT problem and develop heuristics that yield minimum of invalid paths • Compare AS-level paths • Extracted from a large number of BGP tables • Among 125 public BGP gateways On AS-Level Path Inference
Paths in BGP tables On AS-Level Path Inference
Paths between BGP gateways BPP yields most accurate AS path inference than GAO and SARK On AS-Level Path Inference
Possible causes of mismatches • Inaccuracy in AS relationship inference • Especially in non-North American regions • Multihoming On AS-Level Path Inference
Inaccurate AS relationship inference • 19%~66% of inferred paths are longer than actual paths • Significant inconsistency among AS relationship inference results Solution: infer more accurate AS relationships On AS-Level Path Inference
A new AS relationship inferencealgorithm • Problem formulation: integer programming • Each edge e in the direct graph G = (V,E) • Relation(e) = 1 (customer-provider), 2 (peer-peer), or 3 (provider-customer) • Constraints • If r is reverse edge of e, relation(e)+relation(r) = 4. • Every path in use is valley-free, i.e., for (e1,e2) on a path, relation(e1) = 1 relation(e2) = 3. • For any (src,dst), if there is a path P that is shorter than actual path, then P is not valley free, i.e., (e1,e2) on P s.t. relation(e1) ≠ 1 relation(e1) ≠ 3. • Novelty: derive additional constraints that violate valley free constraints • Solution: improved random walk algorithm [Selman et al. 1993] • Handle non-binary variables • Repeatedly remove stub ASes with out-degree of 0 On AS-Level Path Inference
AS path inference with accurate AS relationship The accuracy is among the best of other three in BGP table experiments and is much higher than alternatives in BGP gateway experiments. On AS-Level Path Inference
Multihoming • Over half of the mismatches occur at the very first hop AS • If first hop is known, over 15% of mismatches can be eliminated AS T1 AS D AS S Inferred path Actual path AS T2 AS C Solution: infer the first hop AS On AS-Level Path Inference
AS T1 AS D AS S Transition point T1 Destination Source T2 AS T2 AS C First hop inference • Gather candidate first hop ASes from S by launch traceroute to S from multiple vantage points • Identify the transition point T that is likely to be on the path from S to D by testing hop_count(S,T) + hop_count(T,D) = hop_count(S,D) Assume having access to D On AS-Level Path Inference
Hop count inference • Hop_count(S,T) ≈ hop_count(T,S) • Hop_count(H,D): H = S or T • Send ping packet to H • Guess the initial TTL value TTL0set by H • Get TTL value TTL1 in ICMP response packet received from H • Hop_count(H,D) = TTL0 - TTL1+ 1 • Common value for TTL0 • 32 (Win95/98/Me) • 64 (Linux, Compaq Tru64) • 128 (Win NT/2000/XP) • 255 (most UNIX systems) On AS-Level Path Inference
Improvement with known first AS hop On AS-Level Path Inference
Possible causes of inaccuracy • Complicated AS relationships: 15% paths • Two consecutive FLAT links • DOWN link followed by a FLAT link • FLAT link followed by UP link • Dual transit/peering relationship • Routing policies • Shortest path vs. customer routes • Inconsistent advertisement to different peering locations • BGP tie-breaking rules • AS prepending • > 28% ASes On AS-Level Path Inference
Conclusion • Routescope: AS-level path inference tool without access to the source • Two enhancements • AS relationship inference • First hop inference • Accuracy: up to 88% inferred paths have the same length as the actual paths • New metric for evaluating AS relationship inference • Evaluate existing AS relationship inference algorithms On AS-Level Path Inference