1 / 17

Inferring AS Relationships

Inferring AS Relationships. The Problem. One view AS relationships  BGP route tables The other view BGP route tables  AS relationships Available Internet route logs Oregon Routeviews project European RIPE project. Why Inference?. Connectivity does not imply reachability

vlad
Download Presentation

Inferring AS Relationships

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inferring AS Relationships

  2. The Problem • One view • AS relationships  BGP route tables • The other view • BGP route tables  AS relationships • Available Internet route logs • Oregon Routeviews project • European RIPE project

  3. Why Inference? • Connectivity does not imply reachability • End-to-end performance cannot be inferred from AS (connectivity) graph • Contractual agreements between ISPs are proprietary ISP B ISP A customer ISP C

  4. Annotated AS Graph Provider-to-customer Peer-to-peer Sibling-to-sibling

  5. Selective Export Rule • Consider AS u and AS v  provider(u)  peer(u) • For each best route r of u, if r is a provider / peer route of u, then export(v,u)[{r}] = {} • Consider AS u and AS v  customer(u)  sibling(u) • There is a best route r of u s.t. r is a provider / peer route of u, and export(v,u)[{r}]  {}

  6. Transit Implications • ASes u and v are peers iff neither u transits traffic for v nor v transits traffic for u • AS u is provider of v iff u transits traffic for v and v does not transit traffic for u • ASes u and v have a sibling relationship iff both u transits traffic for v and v transits traffic for u

  7. Routing Table Entry Information • If u0’s BGP table contains route e, where e.as_path = (u1, …, un), then • ui selects route with as_path (ui+1, … un) as best route to prefix • ui exports its best route to ui-1

  8. Valley-free Property • AS path of BGP routing table entry has following valley-free property • A provider-customer edge can be followed by only provider-customer or sibling-sibling edges • A peer-peer edge can be followed only by provider-customer or sibling-sibling edges

  9. Example Paths 6 2 3 1 4 5 Valley-free: (1,2,3) (1,2,6,3) Non valley-free: (1,4,3) (1,4,5,3)

  10. More Routing Entry Patterns • Downhill path: a sequence of edges that are either provider-customer or sibling-sibling • Maximal downhill path: longest such path • Uphill path: a sequence of edges that are either customer-provider or sibling-sibling • Maximal uphill path: longest such path

  11. BGP Path Patterns • An uphill path • A downhill path • An uphill path followed by a downhill path • An uphill path followed by a peer-peer edge • A peer-peer edge followed by a downhill path • An uphill path followed by a peer-peer edge, which is followed by a downhill path

  12. Heuristic Inference Alogrithm • Provider typically has a larger size than its customer • Size of AS is typically proportional to its degree in AS graph • The uphill (downhill) top provider of an AS path should be the AS with highest degree among all ASes in its maximal uphill (downhill) path • Top provider is the AS with higher degree between the uphill and downhill top providers

  13. Inference Algorithm (cont’d) • Consecutive AS pairs that appear before the top provider in the AS path are customer-provider or sibling-sibling edges • Consecutive pairs that appear after the top provider in the AS path are provider-customer or sibling-sibling edges • Pairs of top provider and top provider’s neighbor are the peer-peer edges

  14. Provider-customer and Sibling Relationships • Given AS path, find top provider • Consecutive AS pairs before top provider are customer-provier or sibling-sibling edges • If (u1,u2) appears, then u2 provides transit for u1 • Consecutive pairs after top provider are provider-customer or sibling-sibling • If (u1,u2) appears, then u1 provides transit for u2 • u1 is provider of u2 iff u1 provides transit for u2 but u2 does not provide transit for u1 • AS pair have sibling relationship if they provide transit for each other

  15. Basic Algorithm • Given BGP routing tables, run in three phases • Phase 1: compute the degree for each AS • Phase 2: parse AS path to initialize consecutive AS pair’s transit relationship • Phase 3: assign relationships to AS pairs based on transit results

  16. Refined Algorithm • Basic algorithm may misclassify if some BGP speakers are misconfigured • E.g., configured to provide transit between two providers • Assume that the fraction of misconfigured BGP speakers is small • Count the number of routing table entries that infer a transit relationship • Confirm transit only of number exceeds threshold L

  17. Peering Relationships • At most one peer-to-peer link on each path • Top provider either peers with its left neighbor or right neigbor in the path • Three phases • Phase 1: classify the provider-customer and sibling relationships • Phase 2: identify AS pairs that may have a peering relationship • Neighbor of top provider in an AS path, not a sibling of the provider, and has higher degree than the other neighbor if neither neighbor of the top provider is a sibling • Phase 3: confirm candidate AS pairs by checking for “similar” degrees of the two ASes in a pair

More Related