Inferring AS Relationships

advertisement
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
 End-to-end performance cannot be inferred from AS
(connectivity) graph
 Contractual agreements between ISPs are proprietary
ISP B
ISP A
customer
ISP C
Annotated AS Graph
Provider-to-customer
Peer-to-peer
Sibling-to-sibling
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}]  {}
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
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
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
Example Paths
6
2
3
1
4
Valley-free: (1,2,3) (1,2,6,3)
Non valley-free: (1,4,3) (1,4,5,3)
5
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
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
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
Inference Algorithm (cont’d)
 Consecutive AS pairs that appear before the
top provider in the AS path are customerprovider or sibling-sibling edges
 Consecutive pairs that appear after the top
provider in the AS path are providercustomer or sibling-sibling edges
 Pairs of top provider and top provider’s
neighbor are the peer-peer edges
Provider-customer and Sibling Relationships
 Given AS path, find top provider
 Consecutive AS pairs before top provider are customerprovier or sibling-sibling edges
 If (u1,u2) appears, then u2 provides transit for u1
 Consecutive pairs after top provider are providercustomer 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
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
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
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
Download