Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Contents PowerPoint Presentation

Contents

161 Views Download Presentation
Download Presentation

Contents

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Inferring Autonomous System Relationships in the InternetLixin GaoPresented bySanthosh R Thampuran

  2. Contents • Motivation • Background • AS Relationships • Heuristic Algorithms • Experimental Results

  3. Motivation • Interdomain routing in the Internet is coordinated by BGP • BGP allows each AS to choose its own policy in selecting routes and propagating reachability information to others

  4. Motivation (contd.) • These routing policies are constrained by the contractual commercial agreements between administrative domains • For example: AS sets policy so that it does not provide transit services between its providers

  5. Motivation (contd.) • Since routing between ASes is controlled by BGP- a policy based routing protocol, connectivity does not imply reachability • Also, connectivity alone can not fully characterize the structural properties of the internet

  6. Motivation (contd.) National ISP B National ISP A Regional ISP C

  7. Motivation (contd.) Hence there is a necessity to classify the types of routes that can appear in BGP routing tables based on the relationships between the ASes in the path

  8. Background • connectivity between ASes can be modeled using an AS graph G = (V,E) • node set V consists of ASes • edge set E consists of AS pairs that exchange traffic between each other

  9. Logical relationship AS1 AS2 AS3 AS4 AS5 Background (contd.)

  10. Background (contd.) • The degree of an AS is the number of ASes that are its neighbors • An AS uses import policies to transform incoming route updates

  11. Background (contd.) • We consider a BGP session (u,v)  E between two ASes, u and v • v receives a set of route updates R from u • import(u,v)[R] represents v’s update set after applying the import policy

  12. Background (contd.) • loop avoidance rule: if vr.as_path, then import(l,v)[{r}] = {} • B(u,d) denotes the best route selected by u for prefix d • AS u applies export policies export(v,u) to its best route set, R, for sending to a neighboring AS v

  13. Background (contd.) • The routing table entry in AS u for destination d is a route with empty AS path, denoted as e(u,d), if u originates prefix d • Otherwise, it depends on the best route of its neighboring AS v, B(v,d), as well as the import policies of u from v and the export policies of v to u

  14. e(u,d)if dO(u) = Routing_Table(u,d) (u,v)Eimport(v,u)[export(u,v)[B(v,d)]]otherwise Background (contd.) For the sake of simplicity, we assume that the AS path in the BGP routing table entry is proprocessed so that no AS appears more than once - no additional information

  15. AS Relationships • The commercial agreements between pairs of administrative domains can be classified into: • customer-provider relationship • peering relationship • mutual-transit relationship

  16. AS Relationships • We classify the relationship between a pair of Autonomous Systems into: • customer-to-provider relationship • provider-to-customer relationship • peer-to-peer relationship • sibling-to-sibling relationship

  17. AS Relationships • An annotated AS graph is a partially directed graph whose nodes represent ASes and whose edges are classified into: • provider-to-customer • customer-to-provider • peer-to-peer • sibling-to-sibling

  18. AS1 AS7 AS6 AS2 AS3 AS4 AS5 provider-to-customer edge peer-to-peer edge sibling-to-sibling edge AS Relationships

  19. × × × × × × × × × × × × × × × × Rules governing BGP export policy

  20. Selective Export Rule • An AS does not provide transit services between any two of its providers and peers • The selective export rule indicates that a BGP routing table entry should have a certain pattern

  21. 704 702 1849 701

  22. Lemma If u0’s BGP routing table contains an entry with AS path (u1,u2,…,un) for destination prefix d, then, (a) any node ui selects a route with as_path (ui+1,…,un) as the best route to prefix d, and, (b) ui exports its best route ui-1

  23. Valley-free property No V-shape possible

  24. Valley-free property No Step possible

  25. Valley-free property No Step possible

  26. Valley-free property AS2 AS6 AS1 AS3 AS4 AS5 provider-to-customer edge AS path (1,2,3) is valley-free peer-to-peer edge sibling-to-sibling edge

  27. Valley-free property AS2 AS6 AS1 AS3 AS4 AS5 provider-to-customer edge AS path (1,2,6,3) is valley-free peer-to-peer edge sibling-to-sibling edge

  28. Valley-free property AS2 AS6 AS1 AS3 AS4 AS5 provider-to-customer edge AS path (1,4,3) is not valley-free peer-to-peer edge sibling-to-sibling edge

  29. Valley-free property AS2 AS6 AS1 AS3 AS5 AS4 provider-to-customer edge AS path (2,1,3,6) is not valley-free peer-to-peer edge sibling-to-sibling edge

  30. 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. • Formally, an AS path (u1,u2,…,un) is valley-free iff the following conditions hold true • A provider-to-customer edge can be followed by only provider-to-customer or sibling-to-sibling edges • A peer-to-peer edge can be followed by only provider-to-customer or sibling-to-sibling edges

  31. Theorem • If all ASes set their export policies according to the selective export rule, then the AS path in any BGP routing table entry is valley-free • This basically shows that the selective export policy and the lemma ensures that the AS path of a BGP routing table entry has the valley-free property

  32. Case(a) provider-to-customer edge that is followed by a customer-to-provider or peer-to-peer edge un ui un-1 ui+1 u2 uk u1 uk+1

  33. Case(a) provider-to-customer edge that is followed by a customer-to-provider or peer-to-peer edge un ui un-1 ui+1 u2 uk u1 uk+1

  34. Case(a) provider-to-customer edge that is followed by a customer-to-provider or peer-to-peer edge • (ui,ui+1) is provider-to-customer • (uj,uj+1) is the first customer-to-provider or peer-to-peer • (uj-1,uj) is either provider-to-customer or sibling-to-sibling • from lemma, the best route to destination d selected by uj is(uj+1,…,un) and it exports this route to uj-1 • contradiction since uj-1 and uj+1 are provider or peer of uj

  35. Case(b) peer-to-peer edge is followed by a customer-to-provider or peer-to-peer edge • can apply similar argument as in case(a) • The valley-free property enables us to identify patterns for BGP routing table entries

  36. Routing Table Entry Patterns • Downhill Path: a sequence of edges that are either provider-to-customer or sibling-to-sibling • Uphill Path: a sequence of edges that are either customer-to-provider or sibling-to-sibling

  37. Routing Table Entry Patterns • An AS path of a BGP routing table entry has one of the following patterns: • an uphill path • a downhill path • an uphill path followed by a downhill path • an uphill path followed by a peer-to-peer edge • a peer-to-peer edge followed by a downhill path • an uphill path followed by a peer-to-peer edge followed by a downhill path

  38. Routing Table Entry Patterns • This can be classified into: • maximal uphill path, peer-to-peer edge and maximal downhill path in order, or • maximal uphill path and the maximal downhill path in order

  39. uphill top provider downhill top provider ui ui+1 u2 un-1 u1 un Routing Table Entry Patterns

  40. Heuristic Algorithms • The Algorithm for inferring AS relationships is based on the fact that ASes set up their export policies according to the relationships and on the resulting patterns on BGP routing table entries • It is also based on the intuition that a provider typically has a larger size than its customer and the size of an AS is typically proportional to its degree in the AS graph

  41. Heuristic Algorithms • top provider of an AS path is the AS that has the highest degree among all ASes in the path • we can infer that consecutive AS pairs on the left of the top provider are customer-to-provider or sibling-to-sibling edges and on the right are provider-to-customer or sibling-to-sibling edges

  42. Algorithms for Inferring Provider-Customer and Sibling-to-Sibling Relationships

  43. Basic Algorithm • 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 • Phase 3:Assign relationship to AS pairs

  44. Phase 1 (Compute the degree for each AS) uj uj+1 u2 un-1 when i = 1, neighbor[ui] = neighbor[ui]  {ui+1} neighbor[ui+1] = neighbor[ui+1]  {ui} u1 un

  45. Phase 1 (Compute the degree for each AS) uj uj+1 u2 un-1 degree[u1] = |neighbor[u1]| u1 un

  46. Phase 2 (Parse AS path to initialize consecutive AS pair relationship) uj uj+1 u2 un-1 Smallest j such that degree[uj] = max1i  ndegree[ui] u1 un

  47. Phase 2 (Parse AS path to initialize consecutive AS pair relationship) uj uj+1 transient[uj+1,uj] = 1 u2 un-1 transient[u1,u2] = 1 transient[un,un-1] = 1 u1 un

  48. ub ua uc uj uj+1 ud u2 un-1 u1 un

  49. ub ua transient[ua,ub] = 1 uc transient[ud,u2] = 1 ud u2 transient[u2,u1] = 1 u1

  50. ub ua transient[ua,ub] = 1 uc uj uj+1 transient[uj+1,uj] = 1 transient[ud,u2] = 1 ud u2 un-1 transient[un,un-1] = 1 u1 un transient[u1,u2] = 1 transient[u2,u1] = 1