'
IPv6 routing table
Introduction
$ 1
Are We Growing Fast Enough? A snapshot of the global IPv6 routing table Gert D¨oring, SpaceNet AG, Munich, Germany May 3, 2011 RIPE 62, Amsterdam
&
%
'
IPv6 routing table
Overview
$ 2
Overview • pictures & trends • numbers. . . • things that should not be there. . . • route6 current practices • references Slides online at: http://www.space.net/˜gert/RIPE/R62-v6-table.pdf &
%
'
IPv6 routing table
Graphics
$ 3
Prefixes in BGP Table
&
%
'
IPv6 routing table
6000
$
Graphics
4
Graphics: Total Prefixes - 9.5 years
global
5000
4000
3000
2000 6bone shutdown| |
1000
&
2003-01
2005-01
2007-01
2009-01
2011-01
%
'
IPv6 routing table
Graphics
$ 5
Graphics: zoom into last 6 months
global 5500 major leak ----> from AS45543 (256x /48) 5000
4500
4000
3500
last 6 months have been mostly uneventful slow and steady growth
2010-11-01 2010-12-01
&
2011-01-01
2011-02-01 2011-03-01
2011-04-01 2011-05-01
%
'
IPv6 routing table
Graphics
$ 6
Graphics: trends? (36 months) BGP table quadratic fit (10/2009)
5500 5000
least-squares quadratic fit model from 10/2009 matches data up to 01/2011 surprisingly well and then the growth (quite visibly!) speeds up
4500 4000
extrapolation of time series with sharp bends is problematic at best -> revisit at RIPE 63
3500 3000 2500 2000 1500 1000 2008-07
&
2009-01
2009-07
2010-01
2010-07
2011-01
%
'
IPv6 routing table
2500
2000
$
Graphics
7
Graphics: prefixes by RIR region
RIPE ARIN APNIC LACNIC AfriNIC
1500
1000
500
expected growth in all regions LacNIC and AfriNIC also growing, harder to see
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
2011-05
%
'
IPv6 routing table
350
300
250
$
Graphics
8
Graphics: prefixes by country (RIPE)
DE GB RU NL FR IT SE CH
200 the usual suspects here... NL and GB fighting for 2nd place, RU coming up fast 150
100
50
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
note: graph shows top 8 countries by number of RIR allocations
2011-05
%
'
IPv6 routing table
250
200
$
Graphics
9
Graphics: prefixes by country (APNIC)
AU JP CN IN NZ ID KR HK
150
someone in .ID seems to have fun with major leaks every few months...
100
50
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
note: graph shows top 8 countries by number of RIR allocations
2011-05
%
'
IPv6 routing table
1000
800
$
Graphics
10
Graphics: prefixes by country (ARIN)
US CA PR BM JM BS KY VI
600
400
political structure in ARIN land makes by-country statistics somewhat less-than-exciting... interesting country codes showing up in ARIN stats files, though
200
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
note: graph shows top 8 countries by number of RIR allocations
2011-05
%
'
IPv6 routing table
Graphics
Graphics: prefixes by country (LACNIC)
30
25
AR MX VE CL CO EC PE CR
$ 11
good progress, but still hardly visible on the global scale
20
15
10
5
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
note: graph shows top 8 countries by number of RIR allocations
2011-05
%
'
IPv6 routing table
Graphics
Graphics: prefixes by country (AfriNIC)
30
25
ZA KE NG EG UG MU GH ZM
$ 12
similar to lacnic, hardly visible on global scale yet interesting hiccups from EG (unrelated to political troubles in february)
20
15
10
5
0 2010-05
&
2010-07
2010-09
2010-11
2011-01
2011-03
note: graph shows top 8 countries by number of RIR allocations
2011-05
%
'
IPv6 routing table
Graphics
$ 13
AS Numbers
&
%
'
IPv6 routing table
AS Numbers
Numbers - AS numbers
$ 14
• as of 2011-04-30: 3661 unique AS#s visible (2009-10-04: 1674) – 2777 origin-only ASes (no transit paths seen) (1207) – 831 ASes originate & give transit (419) – 53 transit-only ASes (e.g. 1998, 2698, 3754, 12702, . . . ) (48) • different number of prefixes announced – 3009 ASes originate 1 prefix (2457) – 324 ASes originate 2 prefixes – 121 ASes originate 3 prefixes – 46 ASes originate 4 prefixes – 108 ASes with “more than that”, max. is 55 & 87 prefixes • note: all paths observed from AS5539 • note: numbers skewed by ˜67 x 4-byte-ASes (old collector sw) &
%
'
IPv6 routing table
4000
visualizing AS data
Graphics: AS Numbers (v6 BGP) total origin-only origin+transit transit-only
3500
$ 15
ASes ASes ASes ASes
3000 2500 2000 1500 1000 500 0 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03
&
%
'
IPv6 routing table
38000
visualizing AS data
Graphics: AS Numbers (v4 BGP)
$ 16
total ASes (IPv4 BGP)
36000 IPv4 still growing fast 34000 yearly increase in IPv4 ASes (+3200) is still similar to total(!) number of IPv6 ASes (3660) :-(
32000
30000
28000
26000
24000 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03
&
%
'
IPv6 routing table
visualizing AS data
Graphics: AS Number Ratio (v6 BGP/v4 BGP)
$ 17
ratio (ASes in IPv6 BGP/ASes in IPv4 BGP) 0.090
0.080 at first glance, this looks like nice growth... 0.070
0.060
0.050
0.040
0.030 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03
&
%
'
IPv6 routing table
visualizing AS data
Graphics: AS Number Ratio (v6 BGP/v4 BGP)
$ 18
ratio (ASes in IPv6 BGP/ASes in IPv4 BGP) the goal!
1.2
1
0.8 ...but we need to reach an AS(IPv6)/AS(IPv4) ratio of 1...! 0.6
0.4
0.2
0 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03
&
%
'
IPv6 routing table
visualizing AS data
$ 19
Numbers: ASes and AS ratio • so we see nice growth in ASes participating in IPv6 BGP • . . . but IPv4 BGP growth is still very fast • ratio of “ASes with IPv6” to “ASes with IPv4” is growing • ratio is not growing fast enough! • at the current growth rate, it will take 6+ years for all ASes to have IPv6 • brace yourself for the impact! (. . . insert small picture of train wreck here)
&
%
'
IPv6 routing table
visualizing AS data
Graphics: Prefixes per AS (v4+v6)
$ 20
IPv4 prefixes per AS IPv6 prefixes per AS
10 9 8
in IPv4, average (mean) IPv4 prefixes per AS = 10.5 in IPv6, average (mean) IPv6 prefixes per AS = 1.4 6 --> theoretically, IPv6 could reduce routing table size by factor 7
4
2 1 0 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03
&
%
'
IPv6 routing table
visualizing AS data
$ 21
ASes - why are people announcing 2+ prefixes
• /35 to /32 migration: 2 RIR prefixes, temporary (?) 2001:420::/35 2001:420::/32
109 i 109 i
• ISP/LIR address space plus IXP prefixes 2001:5000::/21 2001:7F8:2B::/48 2001:7F8:2C::/48
1273 i 1273 i 1273 i
(C&W LIR space) (IXP: INXS HAM) (IXP: INXS MUC)
• mergers and acquisitions, business units, customer pfxs, . . . 2001:218::/32 2001:418::/32 2001:500:13::/48 2001:728::/32
2914 2914 2914 2914
i i i i
NTT JP NTT America ARIN PI Verio Europe
• networks with multiple sites and multiple PI prefixes
&
2001:500:16::/48 2001:500:17::/48 2001:500:18::/48 2001:500:19::/48 2001:500:1A::/48 2001:500:1B::/48
3257 6453 12041 i 12041 i 12041 i 2914 12041 i 3257 6453 12041 i 12041 i
Afilias Afilias Afilias Afilias Afilias Afilias
%
'
IPv6 routing table
prefixes by size?
$ 22
Looking at Prefixes again
&
%
'
IPv6 routing table
$
prefixes by size?
23
Numbers - Prefixes
As of 2011-01-23: 5530 prefixes in total /n /12,/16 /19 /20..23 /24..27 /28..31 /32 /33..34 /35 /36 /37..39 /40..41 /42..47 /48 /49..63 /64..128
&
global 2 2 14 22 34 2963 88 75 119 28 182 161 1814 7 19
RIPE 0 2 7 12 9 1666 45 19 15 7 36 43 491 0 16
APNIC 1 0 7 5 9 470 17 32 55 4 36 33 485 1 0
ARIN 0 0 0 3 9 646 18 16 28 17 100 82 765 6 0
Lacn. 0 0 0 0 5 144 8 8 21 0 8 2 42 0 0
Afri. 0 0 0 2 0 34 0 0 0 0 2 1 31 0 0
oth 1 0 0 0 2 3 0 0 0 0 0 0 0 0 3
%
'
IPv6 routing table
3000
2500
$
prefixes by size?
24
Graphics - Prefixes / Size
/48
2000
1500
unsurprisingly, majority of prefixes is /32 (LIR) and /48 (PI)
1000
500
0 2007-01
&
2008-01
2009-01
2010-01
2011-01
%
'
IPv6 routing table
More Numbers
$ 25
Allocations
&
%
'
IPv6 routing table
3500
$
More Numbers
26
Graphics: Allocations over Time RIPE LIR RIPE oth ARIN LIR ARIN oth APNIC LIR APNIC oth LacNIC LIR LacNIC oth AfriNIC LIR AfriNIC oth
3000
2500
2000 majority is still LIR alloc. (good!) 1500
ARIN PI is catching up fast (good? bad?)
1000
500
0 2007-01
&
2008-01
2009-01
2010-01
2011-01
%
'
IPv6 routing table
1800
Graphics: Allocated vs. Routed (LIRs) allocated/year routed 2006-01 routed 2007-01 routed 2008-01 routed 2009-01 routed 2010-01 routed 11-05-01
1600 1400
More Numbers
$ 27
2010 was quite a year for --> IPv6 allocations!
1200 1000
over 50% of all allocated LIR prefixes are not visible
800 600 400 200 0
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
&
%
'
IPv6 routing table
$
More Numbers
28
Allocated vs. Routed - by region & class
RIR ARIN
APNIC
RIPE
LACNIC AfriNIC
&
type LIR IXP Critical Inf. PI LIR IXP PI LIR IXP Anycast DNS PI LIR Crit.Inf.+PI LIR PI
alloc. 1365 31 127 638 1300 20 298 3071 97 29 394 146 74 131 38
visible 596 1 53 178 470 3 65 1681 27 20 241 45 77 36 5
perc. 44% 3% 42% 28% 36% 15% 22% 55% 28% 69% 61% 31% 38% 28% 13%
subnets 631 0 118 113 585 0 31 353 2 0 18 147 16 29 0
(*)
(*)
(NIR)
%
'
IPv6 routing table
More Numbers
Notable Allocations
$ 29
• numerous “large” allocations to Telcos in RIPE land last year: – – – – – – – – – – –
2a02:1200::/27 CH Swisscom IP-Plus (2010/01) 2a02:1400::/26 SE Telenor Sverige AB (2010/03) 2a02:1800::/24 BE Telenet N.V. (2010/02) 2a02:2e00::/27 ES Jazz Telecom S.A. (2010/11) 2a02:2f00::/28 RO RCS & RDS SA (2010/11) 2a02:3000::/23 DE Telefonica O2 Germany (2010/11) 2a02:8100::/27 DE Kabel Deutschland Breitband (2011/02) 2a02:8200::/27 DE EWE Tel GmbH (2011/02) 2a02:8400::/25 FR LDCOM (2010/12) 2a02:8800::/24 GB Virgin Media Limited (2011/02) 2a02:9000::/23 ES Telefonica de Espana SAU (2011/03)
• similar allocations seen in other RIR regions • this is a very good sign - hints at serious deployment plans &
%
'
IPv6 routing table
call the routing police!
$ 30
Weirdos • this talk started out of a remark, “hey, there are some weird things in the BGP table, people might want to know about them” • well, some 9 years later, there still are weird things. . .
&
%
'
IPv6 routing table
call the routing police!
$ 31
Fat Fingers Network * 2008:5A0::/32 * *>i
Path 109 6939 27792 i 3320 6939 27792 i 6939 27792 i
• in Table 2010/12/10-2011/05/02 • 2008:* is not allocated by IANA to any RIR yet (bogon!) • cross-check with AS number: should be 2800:5A0::/32 • upstream provider 6939 happily provides transit • fixed in 30 minutes after talking to HE.NET - thanks! &
%
'
IPv6 routing table
$
call the routing police!
32
More Fat Fingers
Network *> 2403:E200::/32 *> 2403:E200:00::/48 *> 2403:E200:01::/48 *> 2403:E200:02::/48 *> 2403:E200:03::/48 ... *> 2403:E200:FD::/48 *> 2403:E200:FE::/48 *> 2403:E200:FF::/48
Path 1221 1221 1221 1221 1221
38610 38610 38610 38610 38610
38610 38610 38610 38610 38610
23899 23899 23899 23899 23899
23962 23962 23962 23962 23962
45543 45543 45543 45543 45543
i i i i i
1221 38610 38610 23899 23962 45543 i 1221 38610 38610 23899 23962 45543 i 1221 38610 38610 23899 23962 45543 i
• in Table 2011/03/23-2011/03/30 • LIR announced /32 plus 256x /48 more specifics • smells like a “measuring artefact” via VNIX and APNIC – “real” announcement of /32 (+ 2 /48) via 6939 starts at 2011/04/08 &
%
'
IPv6 routing table
call the routing police!
$ 33
Really Fat Fingers / Router Bugs? Network *>i 1A:F000::/24 * i * i 1000::/8 *>i * 10C0:1100::/24 *>i
Path 3257 174 3257 174 1273 174 1273 174 109 6175 1273 174
376 376 376 36786 i 376 376 376 36786 i 376 376 376 i 376 376 376 i 1239 174 376 376 376 851 i 376 376 376 851 i
• in Table 2010/05/15-2010/07/06 • 1***:* is not allocated by IANA to any RIR yet (bogon!) • upstream provider 174 happily provides transit • AS36786 also announces 2620:0:1AF0::/48 &
%
'
IPv6 routing table
call the routing police!
Do You Need More?
$ 34
• there’s a few more bogon prefixes in the IPv6 BGP table... • typos at leaf nodes do happen • but open and unfiltered transit setup at upstream ISP should be highly embarrassing - you are the experts, don’t permit typos to propagate to the world • prefix filtering for IPv6 BGP customers is straightforward “BGP 101” • OTOH, the slow start in setting up IPv6 IRRs in most regions wasn’t helping things either • as of today, at least the 3 big RIRs have functional IPv6 IRR-DBs, so there is no excuse anymore for not filtering incoming customer BGP announcements &
%
'
IPv6 routing table
call the routing police!
$ 35
Most Specific Wins • and the winner is... Network * 2001:1438:10:5::20/124 *>i *> 2A02:28:4:2::/121 *> 2A02:28:4:2::1:0/127 *> 2A02:28:4:2::4:0/125
Path 13237 8881 8881 196870 i 8881 196870 i 13237 8359 i 13237 8359 i 13237 8359 i
• I think the winner is AS196870 - long AS#, and long prefix! • but seriously: whatever the outcome of the discussions about “how much deaggregation is OK?” - the usefulness of prefixes longer than a /48 in the global table is doubtful • did I mention “filters on customer BGP sessions” already?
&
%
'
IPv6 routing table
route6 is good for you
$ 36
Route Registry - route6
&
%
'
IPv6 routing table
route6 is good for you
$ 37
Graphics: route6 objects vs. routes seen RIPE region routes RIPE route6 obj
3000
2500
2000 NOTE: this is RIPE IRR DB vs. RIPE region routes only 1500
1000
2004/12/29: RPSLng support in RIPE DB | | | | v
500
0 2005-01
&
2006-01
2007-01
2008-01
2009-01
2010-01
2011-01
%
'
IPv6 routing table
route6 is good for you
$ 38
route6 correlation (RIPE region) • on 2011-04-30: – 2371 BGP routes from RIPE region – 3088 route6: objects in RIPE DB • correlation? – multiple origin route6’s (26 2002::/16, 18x 2001::/32, ...) – ⇒ 3001 route6 objects for unique prefixes – 182 route6 objects for prefixes from other RIRs... • so... &
%
'
IPv6 routing table
$
route6 is good for you
39
route6 correlation (2) • ... and this is what I found: RIPE prefix, route6 ok RIPE prefix, route6 missing RIPE prefix, route6 origin mismatch RIPE prefix, BGP inconsistant AS route6 objects without BGP route other region, route6 ok other region, route6 missing other region, route6 origin mismatch other region, BGP inconsistant AS
1933 331 93 4 805 145 2986 28 9
:-) !!!
???
• ⇒ close-up view shows “more work needed” • in other RIR regions, situation is worse (no IRR DBs yet, etc.) &
%
'
IPv6 routing table
route6 is good for you
$ 40
examples: route6 missing (bad!) • just a few random examples - leaks? - but /32s as well! 2001:660:3005::/48 2001:67C:28::/48 2001:67C:98::/48 2001:688::/32 2001:6B8::/32 2001:728::/32 2001:808::/35 2A00:1250::/32 2A02:2230:100::/40 2A02:2230:101::/48 2A02:2230:1300::/40
&
BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP: BGP:
6939 2483 13237 8954 3943 13237 15600 6939 5511 3257 5609 2914 13237 23456 8364 9112 13030 48885 1273 174 25467 1273 174 25467 1273 174 25467
%
'
IPv6 routing table
$
route6 is good for you
41
examples: route6, but no prefix
• maybe prefixes announced with limited scope only? 2001:648:2050:1000::/52 2001:648:2050:2000::/52 2001:648:2050:3000::/52 2001:648:2050:4000::/52 2001:648:2050:5000::/52 2001:648:2050:6000::/52
University University University University University University
of of of of of of
the the the the the the
Aegean Aegean Aegean Aegean Aegean Aegean
Chios Samos Rhodes Syros Lemnos Athens
• these could be preparations for “soon to be announced”...? 2001:4C38::/32 2001:4D20::/32 2001:4D58::/32 2001:4D80::/32 2001:4D98::/32 2A00:2380::/25
&
AS15435, AS39290, AS25186, AS5606, AS12429, AS2856,
changed: changed: changed: changed: changed: changed:
20071003 20070315 20051028 20051018 20051026 20090916
%
'
IPv6 routing table
route6 is good for you
examples: route6 origin mismatch (BAD!)
2001:8D0:2000::/35 2001:1AD0:8000::/33 2001:1B20::/32 2A02:18::/32 2A02:660::/32 2A02:1668::/328 2A02:24D8::/32
&
BGP: 3320 1299 4589 20707 route6: origin: AS16210 BGP: 3257 24953 route6: origin: AS43556 BGP: 21385 route6: origin: AS8665 BGP: 6939 5577 42652 route6: origin: AS44569 BGP: 3320 5483 9125 route6: origin: AS29433 BGP: 6939 route6: origin: AS51088 BGP: 13237 3356 21473 route6: origin: AS15945
$ 42
%
'
IPv6 routing table
route6 is good for you
$ 43
route6 object example • it’s as easy as this... route6: descr: descr: origin: notify: mnt-by: changed: source:
2001:608::/32 DE-SPACE-2001-0608 SpaceNET AG, Munich AS5539
[email protected] SPACENET-N
[email protected] 20041230 RIPE
• strongly recommended, helps upstream/peer ASes build decent BGP filters, based on IRR data &
%
'
IPv6 routing table
route6 is good for you
route6 usage example
$ 44
• it’s as easy as this... gert@moebius$ bgpq3 -l small-customer-in -6 AS5539 no ipv6 prefix-list small-customer-in ipv6 prefix-list small-customer-in permit 2001:608::/32 gert@moebius$ bgpq3 -l large-customer-in -6 AS-SPACENET-V6 no ipv6 prefix-list large-customer-in ipv6 prefix-list large-customer-in permit 2001:500:66::/48 ipv6 prefix-list large-customer-in permit 2001:608::/32 ... ipv6 prefix-list large-customer-in permit 2001:1488::/32 ipv6 prefix-list large-customer-in permit 2001:14d8::/32 ... (then copy-paste to router, or use in provisioning scripts)
• building filters is not hard (provided route6s are registered) • http://snar.spb.ru/prog/bgpq3/ &
%
'
IPv6 routing table
The End
$ 45
Questions?
[email protected]
. . . and to answer the question from the title page:
NO, we are not growing fast enough!
&
%