WorldNet Data Warehouse Albert Greenberg albert@research
Download
Report
Transcript WorldNet Data Warehouse Albert Greenberg albert@research
Scalable and Accurate Identification of
AS-Level Forwarding Paths
Z. Morley Mao
University of Michigan, Ann Arbor
Joint work with David Johnson, Jennifer Rexford, Jia Wang (AT&TResearch),
and Randy Katz (UC Berkeley)
1
IP Forwarding Path
Path packets traverse through the Internet
Internet
IP traffic
source
Why important?
destination
Characterize end-to-end network paths
Discover the router-level Internet topology
Detect and diagnose reachability problems 2
Example Traceroute Output
(Berkeley to CNN)
Hop number, IP address, DNS name
No response
from router
1 169.229.62.1
inr-daedalus-0.CS.Berkeley.EDU
2 169.229.59.225
soda-cr-1-1-soda-br-6-2
3 128.32.255.169
vlan242.inr-202-doecev.Berkeley.EDU
4 128.32.0.249
gigE6-0-0.inr-666-doecev.Berkeley.EDU
5 128.32.0.66
qsv-juniper--ucb-gw.calren2.net
6 209.247.159.109
POS1-0.hsipaccess1.SanJose1.Level3.net
7 *
?
8 64.159.1.46
?
9 209.247.9.170
pos8-0.hsa2.Atlanta2.Level3.net
No name resolution
10 66.185.138.33
pop2-atm-P0-2.atdn.net
11 *
?
12 66.185.136.17
pop1-atl-P4-0.atdn.net
13 64.236.16.52
www4.cnn.com
3
Autonomous System
Forwarding Path
Example: Pinpoint forwarding loop & responsible AS
IP traffic
Internet
destination
source
Autonomous System (AS)
4
Border Gateway Protocol
(BGP)
Signaling path: control traffic
d: path=[A B C]
d: path=[B C]
d: path=[BC]
d: path=[C]
Forwarding path: data traffic
Origin AS
prefix d
BGP path may differ from forwarding AS path
Routing loops and deflections
Route aggregation and filtering
BGP misconfiguration
5
Map Traceroute Hops to ASes
Traceroute output: (hop number, IP)
1 169.229.62.1
AS25
2 169.229.59.225 AS25
Berkeley
3 128.32.255.169 AS25
4 128.32.0.249
AS25
5 128.32.0.66
AS11423 Calren
6 209.247.159.109 AS3356
7 *
AS3356
8 64.159.1.46
AS3356
9 209.247.9.170
AS3356
10 66.185.138.33
AS1668
11 *
AS1668
12 66.185.136.17
AS1668
13 64.236.16.52
AS5662 CNN
Level3
AOL
Need accurate
IP-to-AS mappings
(for network equipment).
6
Possible Ways to
Get IP-to-AS Mapping
Routing address registry
Voluntary public registry such as whois.radb.net
Used by prtraceroute and “NANOG traceroute”
Incomplete and quite out-of-date
Mergers, acquisitions, delegation to customers
Origin AS in BGP paths
Prefix=198.133.206.0/24, ASpath=[1239 2914 3130]
Public BGP routing tables such as RouteViews
Used to translate traceroute data to an AS graph
Incomplete and inaccurate… but usually right
Multiple Origin ASes (MOAS), no mapping, wrong mapping
7
Refining Initial IP-to-AS Mapping
Start with initial IP-to-AS mapping
Mapping from BGP tables is usually correct
Good starting point for computing the mapping
Collect many BGP and traceroute paths
Signaling and forwarding AS path usually match
Good way to identify mistakes in IP-to-AS map
Successively refine the IP-to-AS mapping
Find add/change/delete that makes big difference
Validation: explain these “edits” by operational
realities
8
BGP and Traceroute
Data Collection
Initial mappings from
origin AS of a large set of BGP tables
(Ignoring unstable paths)
For each location:
Combine all locations:
Local BGP paths
Traceroute paths
from multiple locations
Traceroute AS paths
•Compare (dynamic programming)
•Edit IP-to-AS mappings to account for
known causes of mismatches
(e.g., IXP, sibling ASes)
(a single change explaining a large number of mismatches)
9
Experimental Methodology
200,000 destinations:
d0, d1, d2, d3, d4, … d200,000
For each di
-Traceroute path
-BGP path
10
Measurement Data:
Eight Vantage Points
Sweep the routable IP address space
~200,000 IP addresses
160,000 prefixes
15,000 destination ASes
Organization
Location
Upstream Provider
AT&T Research
NJ, US
UUNET, AT&T
UC Berkeley
CA, US
Qwest, Level3, Internet 2
PSG home network
WA, US
Sprint, Verio
Univ of Washington
WA, US
Verio, Cable&Wireless
ArosNet
UT, US
UUNET
Nortel
ON, Canada
AT&T Canada
Vineyard.NET
MA, US
UUNET, Sprint, Level3
Peak Web Hosting
CA, US
11
Level 3, Global Crossing, Teleglobe
Assumptions
IP-to-AS mapping
Mappings from BGP tables are mostly correct.
Change slowly
BGP paths and forwarding paths mostly
match.
70% of the BGP path and traceroute path
match
12
Reasons BGP and Traceroute
Paths Differ
IP-to-AS mapping is inaccurate (fix these!)
Internet eXchange Points (IXPs)
Sibling ASes owned by the same institution
Unannounced infrastructure addresses
Forwarding and signaling paths differ (study these!)
Forwarding loops and deflections
Route aggregation and filtering
Traceroute inaccuracies (don’t overreact to these!)
Forwarding path changing during measurement
Address assignment to border links between ASes
Outgoing link identified in “time exceeded” message
13
Extra AS due to Internet
eXchange Points
IXP: shared place where providers meet
E.g., Mae-East, Mae-West, PAIX
Large number of fan-in and fan-out ASes
A
B
C
D
E
A
E
F
B
F
G
C
G
Traceroute AS path
BGP AS path
Physical topology and BGP session graph
do not always match.
14
Extra AS due to Sibling ASes
Sibling: organizations with multiple
ASes:
E.g., Sprint AS 1239 and AS 1791
AS numbers equipment with addresses of
another
A
B
C
H
D
E
A
F
B
G
C
Traceroute AS path
E
D
F
G
BGP AS path
Sibling ASes “belong together” as if they were one15 AS.
Weird Paths Due to
Unannounced Addresses
12.0.0.0/8
A
B
C does not announce part of
its address space in BGP
(e.g., 12.1.2.0/24)
ACAC
C
AC
BAC
BC
16
Fix the IP-to-AS map to associate 12.1.2.0/24 with
C
Optimization Framework
Start with initial IP-to-AS map A(x)
IP address x maps to A(x), a set of ASes
Compute traceroute IP to AS mapping
For each traceroute-BGP path pair
Dynamic programming to minimize mismatch
Iterative refinement
Modify A(x) depending on a small set of rules
Terminate when no further modifications
17
Rules for Modifying
the IP-to-AS Mapping
Computing match statistics across paths
Focusing on path pairs with at most two errors
Example rules
Create a mapping: A(x) is null
Assign to the AS y that appears in the most matchings
Replace a mapping: A(x) has one entry
If an AS y not in A(x) accounts for > 55% of matchings
Delete from a mapping: A(x) has multiple entries
If an AS y in A(x) accounts for < 10% of matchings
Algorithm converges in less than ten iterations
18
Optimization Results
Metric: Mismatch ratio
Percentage of traceroute-BGP path pairs
with a mismatch
Modified 2.9% of original mappings
Mismatch ratio
Full initial Mapping
Heuristically optimized mapping
Omit 10% initial mapping
5.23%
3.08%
6.57%
Omit 4 probing sources
Omit probing destinations
(one probe per unique BGP path)
6.34%
7.12%19
Validating
the Changes to the Mapping
AT&T’s tier-1 network (AS 7018)
Dump of configuration state from each of the routers
Explains 45 of 54 changes involving AS 7018
E.g., customer numbered from AT&T addresses
E.g., Internet exchange point where AT&T connects
Whois query on prefix or AS
Look for “exchange point” or “Internet exchange”
Look for ASes with similar names (Sprintlink vs.
Sprintlink3)
List of known Internet eXchange Points
Explains 24 of the MOAS inferences
Total of 38 IXPs contributed to mapping changes
20
Validation: Exploring
the Remaining Mismatches
B
C
D
D
C
BGP path: B C
Traceroute path: B C D
E
E
Route aggregation
Traceroute AS path longer in 20% of mismatches
Different paths for destinations in same prefix
Interface numbering at AS boundaries
B
B
C
D
D
BGP path: B C D
Traceroute path: B D
Boundary links numbered from one AS
Verified cases where AT&T (AS 7018) is involved
21
Contributions
Problem formulation
AS-level traceroute tool for troubleshooting
Compute an accurate IP-to-AS mapping
Optimization approach
Compute matchings using dynamic programming
Improve mapping through iterative refinement
Measurement methodology
Traceroute and BGP paths from many locations
Validation of our results
Changes to the IP-to-AS mappings
Remaining mismatches between traceroute and BGP
22
Future Work on AS Traceroute
Lower measurement overhead
Avoid traceroute probes that would discover similar paths
Work with BGP routing tables rather than live feeds
Limiting the effects of traceroute inaccuracies
Catch routing changes through repeat experiments
Use router-level graphs to detect AS boundaries
Detect routers using outgoing link in “time exceeded”
Public AS traceroute tool
Periodic data collection and computation of IP-to-AS
mapping
Software to apply mapping to traceroute output
Network troubleshooting
Analyze valid differences between forwarding and signaling
paths
Use the AS traceroute tool to detect and characterize
23
anomalies
Comparison of IP-to-AS Mappings
Comparing BGP and Traceroute AS paths for various IP-to-AS mappings
Whois
Match
Mismatch
Ratio
47%
53%
0.88
BGP
origins
85%
15%
5.8
Refined
mapping
95%
5%
18
Whois: unmapped hops cause half of mismatches
BGP tables: mostly match, as our algorithm assumes
Refined mapping: change 2.9% of original mapping
Robust to reducing # of probes and introducing noise
24
Systematic optimization
Dynamic-programming and iterative
improvement
Initial IP-to-AS mapping derived from BGP
routing tables
Identify a small number of modifications
that significantly improve the match rate.
95% match ratio, less than 3% changes,
very robust
25
Traceroute: Measuring the
Forwarding Path
Time-To-Live field in IP packet header
Source sends a packet with a TTL of n
Each router along the path decrements the TTL
“TTL exceeded” sent when TTL reaches 0
Traceroute tool exploits this TTL behavior
TTL=1
source TTL=2
Time
exceeded
destination
26
Send packets with TTL=1, 2, 3, … and record source of “time exceeded” message
Matching Function and
Unavoidable Error
Matching function m for BGP/traceroute pair
Traceroute path: t1, t2, …, tn of n IP addresses
BGP path: b1, b2, …, bl of l AS numbers
Matching: associate IP hop ti with AS hop bm(i)
t: 1
2
b:
A
3
4
5
B
6
7
8
C
Find the matching m that minimizes error
Number of traceroute hops with bm(i) not in A(ti)
Dynamic programming algorithm to find best m
27
Initial Analysis of BGP and
Traceroute Paths
Traceroute paths: initial mapping A from BGP
Unmapped hops: match no ASes (1-3% of paths)
MOAS hops: match any AS in the set (10-13% of
paths)
“*” hops: match any AS (7-9% of paths)
BGP paths: discard 1% of prefixes with AS
paths
Routing changes based on BGP updates
Private AS numbers (e.g., 65100)
Empty AS paths (local destinations)
Apparent AS-level loops from misconfiguration
AS_SET instead of AS sequence
28
Validating the Changes to the
Mapping
AT&T’s tier-1 network (AS 7018)
Dump of configuration state from each of the routers
Explains 45 of 54 changes involving AS 7018
E.g., customer numbered from AT&T addresses
E.g., Internet exchange point where AT&T connects
Whois query on prefix or AS
Look for “exchange point” or “Internet exchange”
Explains 24 of the changes to the mappings
Look for ASes with similar names (Sprintlink vs. Sprintlink3)
Explains many of the changes to the mappings
List of known Internet eXchange Points
Explains 24 of the MOAS inferences
Total of 38 IXPs contributed to mapping changes
29