On Inferring AS Relationships in the Internet Dongkee LEE ([email protected]) Lixin Gao Overview. Motivation AS Relationships Valley-free property Routing Table Entry patterns Algorithms for Inferring AS relationships Results Dongkee.
Download ReportTranscript On Inferring AS Relationships in the Internet Dongkee LEE ([email protected]) Lixin Gao Overview. Motivation AS Relationships Valley-free property Routing Table Entry patterns Algorithms for Inferring AS relationships Results Dongkee.
On Inferring AS Relationships in the Internet Dongkee LEE ([email protected]) Lixin Gao 1 Overview. Motivation AS Relationships Valley-free property Routing Table Entry patterns Algorithms for Inferring AS relationships Results Dongkee LEE ([email protected]) 2 Motivation BGP – policy based routing protocol. ∴ Connectivity does not imply reachability. Connectivity does alone cannot fully characterize the structural properties of the internet. Commercial contractual relationships are important. Dongkee LEE ([email protected]) 3 Motivation ISP A cannot reach B via C. National ISP A National ISP B End-to-End performance between A and B ? Regional ISP C Customer pays $ its provider for connectivity to the Internet. Provider does transit traffic for its customers. Dongkee LEE ([email protected]) 4 Motivation There is no publicly available information about inter-AS relationships. Data from ARIN, Internet Routing Registries (IRR) … Out of date. Dongkee LEE ([email protected]) 5 Background – Routing Table The routing table entry in AS u is determined by … Routing_Table(u, d) = if u originates prefix d : e(u, d) – empty AS path Else : U(u, v)⊆E Import(v, u)[Export(u, v)[B(v, d)] ] Dongkee LEE ([email protected]) 6 Background - AS relationships Commercial agreement between pairs of Autonomous Systems. 1. CP: Customer-to-provider relationship. 2. PC: Provider-to-Customer relationship. AS u is a provider of AS v iff u transits traffic for v, and v does not transit traffic for u. 3. PP: Peer-to-peer relationship. AS u and v have a peering relationship iff neither u transits traffic for v nor v transits traffic for u. 4. SS: Sibling-to-sibling relationship. Dongkee LEE ([email protected]) 7 Background - AS relationships Exporting information. Own Routes Customer’s routes Sibling’s routes To a Provider V V V To a Customer V V V To a Peer V V V To a Sibling V V V Provider’s routes Peer’s routes V V V V Selective Export Rule. For r which is a provider or peer route of u. If v ⊆ provider(u) or peer(u) then export(v, u)[{r }] is {} If v ⊆ customer(u) or sibling(u) then export(v, u)[{r }] is not {} Dongkee LEE ([email protected]) 8 Valley-free property After traversing a provider-to-customer or peer-topeer edge, the AS path can not traverse a customerto-provider or peer-to-peer edge. X.Y/16 AS path in any BGP routing table entry is valley-free. P1 Downhill path sequence of edges that are either provider-to-customer or sibling-to-sibling P2 x C1 C2 Uphill path Dongkee LEE ([email protected]) 9 Routing Table Entry patterns. Uphill path (1, 2), (4, 5) Downhill path (2, 3), (4, 5) Uphill + downhill path Uphill + peer-to-peer path (1, 2, 6) Peer-to-peer edge + downhill path (2, 6, 5) Uphill + a peer-to-peer edge + Downhill. (1, 2, 6, 5) Dongkee LEE ([email protected]) 10 Heuristic Algorithms Valley-free property. Provider typically has a larger size than its Customer. size of an AS is related to degree in the AS graph Top provider of an AS path is the AS with highest degree among all ASes in the path. Dongkee LEE ([email protected]) 11 Infer P-C and S-S relationships Input: BGP routing table RT Output: Annotated AS graph G Phase 1. Compute the degree for each AS. transit[ui, ui+1] = 1 means ui+1 transit traffic for ui Phase 2. Parse AS path to initialize consecutive AS pair relationship. for as_path {u1, u2, … un} in RT : find the smallest j s.t. degree[uj] = max{degree[ui], for i in [1, n] } for i in 1 … j-1 : transit[ui, ui+1] = 1 for i in j … n-1 : transit[ui+1, ui] = 1 Dongkee LEE ([email protected]) 12 Infer P-C and S-S relationships Phase 3. Assign relationship to AS pairs. transit[ui, ui+1] = 1 means ui+1 transit traffic for ui Provider provides transition service for its customers. For each AS path (u1, u2, … un), for i in 1 … n-1 : if transit[ui, ui+1] and transit[ui+1, ui] : edge[ui, ui+1] = sibling-to-sibling elif transit[ui+1, ui] edge[ui, ui+1] = provider-to-customer elif transit[ui, ui+1] edge[ui, ui+1] = customer-to-provider Dongkee LEE ([email protected]) 13 Infer P-P relationships Input: BGP routing table RT Output: Annotated AS graph G Phase 1. Infer P-C and S-S relationships. Phase 2. Identify AS pairs that can not have a P-P relationship. Phase 3. Assign P-P relationship from rest of the connected AS pairs as long as the pair degree do not differ by more than R times. Dongkee LEE ([email protected]) 14 Results Verification of Inferred Relationships by AT&T WHOIS lookup Service 101 of the 186 inferred sibling-to-sibling relationships were confirmed. Dongkee LEE ([email protected]) 15 Applications Can help … Construction of distance map. Placement of the proxy or mirror site. Load balancing and congestion avoidance. Plan for future contractual agreements. Reduce the effect of the misconfiguration and to debug router configuration files. Dongkee LEE ([email protected]) 16 The END Dongkee LEE ([email protected]) 17