170 likes | 301 Views
On Inferring AS Relationships in the Internet. Lixin Gao. Overview. Motivation AS Relationships Valley-free property Routing Table Entry patterns Algorithms for Inferring AS relationships Results. Motivation. BGP – policy based routing protocol.
E N D
On Inferring AS Relationships in the Internet Lixin Gao Dongkee LEE (dklee@an.kaist.ac.kr)
Overview. • Motivation • AS Relationships • Valley-free property • Routing Table Entry patterns • Algorithms for Inferring AS relationships • Results Dongkee LEE (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
Motivation • ISP A cannot reach B via C. • End-to-End performance between A and B ? Customer pays $ its provider for connectivity to the Internet. Provider does transit traffic for its customers. Dongkee LEE (dklee@an.kaist.ac.kr)
Motivation There is no publicly available information about inter-AS relationships. Data from ARIN, Internet Routing Registries (IRR) … Out of date. Dongkee LEE (dklee@an.kaist.ac.kr)
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)⊆EImport(v, u)[Export(u, v)[B(v, d)] ] Dongkee LEE (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
Background - AS relationships • Exporting information. • 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 (dklee@an.kaist.ac.kr)
Valley-free property • After traversing a provider-to-customer or peer-to-peer edge, the AS path can not traverse a customer-to-provider or peer-to-peer edge. • AS path in any BGP routing table entry is valley-free. • Downhill path sequence of edges that are either provider-to-customer or sibling-to-sibling • Uphill path Dongkee LEE (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
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. • Phase 2. Parse AS path to initialize consecutive AS pair relationship. transit[ui, ui+1] = 1 means ui+1 transit traffic for ui 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 (dklee@an.kaist.ac.kr)
Infer P-C and S-S relationships • Phase 3. Assign relationship to AS pairs. Provider provides transition service for its customers. transit[ui, ui+1] = 1 means ui+1 transit traffic for ui 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 (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
Results • Verification of Inferred Relationships by AT&T • WHOIS lookup Service • 101 of the 186 inferred sibling-to-sibling relationships were confirmed. Dongkee LEE (dklee@an.kaist.ac.kr)
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 (dklee@an.kaist.ac.kr)
The END Dongkee LEE (dklee@an.kaist.ac.kr)