ipv6 basics
DESCRIPTION
There's no place like ::1 -- IPv6 BasicsGiven at Etsy during a Lunch'n'Learn session on 2012-06-01.TRANSCRIPT
![Page 1: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/1.jpg)
http://etsy.me/KD4Dru
IPv6 Basics
Jan Schaumann <[email protected]>
B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5
Friday, June 1, 12
![Page 2: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/2.jpg)
IPv6 Basics
What’s the big idea?
Friday, June 1, 12
![Page 3: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/3.jpg)
IPv6 Basics
What’s the big idea?
Remember... back in February 2011:
Friday, June 1, 12
![Page 4: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/4.jpg)
IPv6 Basics
Mommy, where do IP addresses come from?
Well,... when an LIR and an RIRlove each other very much...
Friday, June 1, 12
![Page 5: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/5.jpg)
IPv6 Basics
Mommy, where do IP addresses come from?
Internet Assigned Numbers Authority (IANA) oversees global IP address/AS number allocation,
root zone management etc.
Friday, June 1, 12
![Page 6: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/6.jpg)
IPv6 Basics
Mommy, where do IP addresses come from?
Regional Internet Registries (RIR) manage the allocation and registration of Internet number resources within a region of the world.
Friday, June 1, 12
![Page 7: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/7.jpg)
IPv6 Basics
Mommy, where do IP addresses come from?
RIRs assign blocks of IP addresses to the Local Internet Registries (LIR).
LIRs are either ISPs, enterprises using a lot of addresses, or academic institutions.
Friday, June 1, 12
![Page 8: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/8.jpg)
IPv6 Basics
Here’s what’s next:
IANA Address Pool Exhaustion: 2011-02-03
APNIC reached final /8: 2011-04-15
RIPENCC: 2012-08-08
ARIN: 2013-06-24
LACNIC: 2014-02-04
AFRINIC: 2014-11-09
https://ipv6.he.net/v4ex/sidebar/
Friday, June 1, 12
![Page 9: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/9.jpg)
IPv6 Basics
You know what else?
1. Go out of business.2. ???3. Profit!
Friday, June 1, 12
![Page 10: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/10.jpg)
IPv6 Basics
You know what else?
In December 2011, Borders sold a /16for $12 per IP address.
$786,432Friday, June 1, 12
![Page 11: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/11.jpg)
IPv6 Basics
What’s the big idea?
Today:
ASes running IPv6: 13.7%
Top 1M sites running IPv6: 1.26%
Yahoo! users served over IPv6 onWorld IPv6 Day: >1.85M (0.229%)
http://bgp.he.net/ipv6-progress-report.cgi
Friday, June 1, 12
![Page 12: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/12.jpg)
IPv6 Basics
Why don’t we just switch?
IPv6 was formalized in RFC1883 in December 1995.
Friday, June 1, 12
![Page 13: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/13.jpg)
IPv6 Basics
Why don’t we just switch?
http://etsy.me/KqQZcR http://etsy.me/KqRdAK
Friday, June 1, 12
![Page 14: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/14.jpg)
IPv6 Basics
Why don’t we just switch?
Friday, June 1, 12
![Page 15: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/15.jpg)
IPv6 Basics
Why don’t we just switch?
•~ 0.022% of users have a “broken” configuration
•timeout for IPv4 fallbacks worsen user experience
•consumers are not demanding IPv6 (see chicken)
Friday, June 1, 12
![Page 16: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/16.jpg)
IPv6 Basics
June 6th 2012
This time it’s for realsies!
Friday, June 1, 12
![Page 17: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/17.jpg)
IPv6 Basics
June 6th 2012
This time it’s for realsies!
•Google•Facebook•YouTube•Yahoo•Bing•AOL•Netflix
Friday, June 1, 12
![Page 18: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/18.jpg)
IPv6 Basics
June 6th 2012
This time it’s for realsies!
•Google•Facebook•YouTube•Yahoo•Bing•AOL•Netflix•Etsy?
Friday, June 1, 12
![Page 19: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/19.jpg)
IPv6 Basics
June 6th 2012
This time it’s for realsies!
•Google•Facebook•YouTube•Yahoo•Bing•AOL•Netflix•Etsy :-(
Friday, June 1, 12
![Page 20: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/20.jpg)
IPv6 Basics
Let’s rewind...
http://etsy.me/KDePjL
Friday, June 1, 12
![Page 21: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/21.jpg)
IPv6 Basics
Yeah, yeah, 32 bits, I know.
01100000000001111010101000100101
Friday, June 1, 12
![Page 22: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/22.jpg)
IPv6 Basics
Yeah, yeah, 32 bits, I know.
01100000000001111010101000100101
96.7.170.37
Friday, June 1, 12
![Page 23: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/23.jpg)
IPv6 Basics
Yeah, yeah, 32 bits, I know.
01100000000001111010101000100101
96.7.170.37
www.etsy.com
Friday, June 1, 12
![Page 24: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/24.jpg)
IPv6 Basics
Yeah, yeah, 32 bits, I know.
01100000000001111010101000100101
96.7.170.37
www.etsy.com
(mumble.frubmle.something.akamai.com)
Friday, June 1, 12
![Page 25: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/25.jpg)
IPv6 Basics
Remember classful routing?
01100000000001111010101000100101
Friday, June 1, 12
![Page 26: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/26.jpg)
IPv6 Basics
Remember classful routing?
01100000 000001111010101000100101
Friday, June 1, 12
![Page 27: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/27.jpg)
IPv6 Basics
That’s silly. Let’s CIDR this mofo!
01100000.00000111.10101010. 0010010111111111.11111111.11111111. 00000000
/24
Friday, June 1, 12
![Page 28: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/28.jpg)
IPv6 Basics
CIDR Cheat Sheet
A.B.C.D/N•N = bits describing network portion•M = 32 - N = bits describing host portion•2M = number of addresses on this subnet•2M-2 = number of possible hosts•network address•broadcast address
•subnet division need not occur on dotted boundary only (divide a /24 into four /26)
Friday, June 1, 12
![Page 29: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/29.jpg)
IPv6 Basics
CIDR Cheat SheetA.B.C.D/N•N = bits describing network portion•M = 32 - N = bits describing host portion•2M = number of addresses on this subnet•2M-2 = number of possible hosts•network address•broadcast address
•subnet division need not occur on dotted boundary only (divide a /24 into four /26)
The same approach works for IPv6!
Friday, June 1, 12
![Page 30: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/30.jpg)
IPv6 Basics
IPv4
01100000000001111010101000100101
32 bit address space
Friday, June 1, 12
![Page 31: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/31.jpg)
IPv6 Basics
IPv4
01100000000001111010101000100101
32 bit address space=>
232 addresses
Friday, June 1, 12
![Page 32: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/32.jpg)
IPv6 Basics
IPv4
01100000000001111010101000100101
32 bit address space=>
232 addresses=>
4,294,967,296 addresses
Friday, June 1, 12
![Page 33: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/33.jpg)
IPv6 Basics
IPv4
The archetypal prototype that escaped into production.
“It’s my fault.” - Vint Cerf
32-bit space thought sufficient for this experiment started in 1976.
Friday, June 1, 12
![Page 34: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/34.jpg)
IPv6 Basics
Repeat after me:
There’s nothing as permanent as a temporary
solution.
Friday, June 1, 12
![Page 35: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/35.jpg)
IPv6 Basics
IPv4
01100000000001111010101000100101
32 bit address space=>
232 addresses=>
4,294,967,296 addresses
Friday, June 1, 12
![Page 36: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/36.jpg)
IPv6 Basics
IPv6
00100000000000010000000011011011000000000000000000000000000000000000011110101011000000000000000000000000000000000001001100001011
128 bit address space
Friday, June 1, 12
![Page 37: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/37.jpg)
IPv6 Basics
IPv6
128 bit address space=>
2128 addresses
Friday, June 1, 12
![Page 38: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/38.jpg)
IPv6 Basics
IPv6
128 bit address space=>
2128 addresses=>
340,282,366,920,938,463,463,374,607,431,768,211,456addresses
Friday, June 1, 12
![Page 39: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/39.jpg)
IPv6 Basics
Hmm. That sure is a lot.But is it enough?
Friday, June 1, 12
![Page 40: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/40.jpg)
IPv6 Basics
Hmm. That sure is a lot.But is it enough?
Friday, June 1, 12
![Page 41: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/41.jpg)
IPv6 Basics
Hmm. That sure is a lot.But is it enough?
Friday, June 1, 12
![Page 42: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/42.jpg)
IPv6 Basics
Hmm. That sure is a lot.But is it enough?
“"if the earth were made entirely out of 1 cubic millimeter grains of sand, then you could give a
unique [IPv6] address to each grain in 300 million planets the size of the earth"
Friday, June 1, 12
![Page 43: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/43.jpg)
IPv6 Basics
IPv6 addresses
•8 16bit words in case insensitive colon hexadecimal representation
2001:00db8:0000:0000:07AB:0000:0000:130B
Friday, June 1, 12
![Page 44: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/44.jpg)
IPv6 Basics
IPv6 addresses
•8 16bit words in case insensitive colon hexadecimal representation
2001:00db8:0000:0000:07AB:0000:0000:130B
•Leading zeros in a field are optional:2001:db8:0:0:7AB:0:0:130B
Friday, June 1, 12
![Page 45: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/45.jpg)
IPv6 Basics
IPv6 addresses
•8 16bit words in case insensitive colon hexadecimal representation
2001:00db8:0000:0000:07AB:0000:0000:130B
•Leading zeros in a field are optional:2001:db8:0:0:7AB:0:0:130B
•Successive fields of 0 represented as ::, but only once in an address:
2001:db8::7AB:0:0:130B ok2001:db8:0:0:7AB::130B ok2001:db8::7AB::130B not ok
Friday, June 1, 12
![Page 46: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/46.jpg)
IPv6 Basics
IPv6 address oddities
•address may include the interface name:fe80::e276:63ff:fe72:3900%eth0
Friday, June 1, 12
![Page 47: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/47.jpg)
IPv6 Basics
IPv6 address oddities
•address may include the interface name:fe80::e276:63ff:fe72:3900%eth0
•IPv4-mapped addresses (dual-stack only): 0:0:0:0:ffff:166.84.7.99 ::ffff:a654:763
Friday, June 1, 12
![Page 48: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/48.jpg)
IPv6 Basics
IPv6 address oddities
•address may include the interface name:fe80::e276:63ff:fe72:3900%eth0
•IPv4-mapped addresses (dual-stack only): 0:0:0:0:ffff:166.84.7.99 ::ffff:a654:763
•brackets are used to separate port from address: IPv4: 166.84.7.99:80 IPv6: [2001:db8::07AB:0:0:130B]:80
Friday, June 1, 12
![Page 49: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/49.jpg)
IPv6 Basics
IPv6 address scope
•Link-Local (fe80::e276:63ff:fe72:3900%eth0):• used on a single link• equivalent of 169.254.0.0/16•fe80::/64 (usually assigned via SLAAC)
Friday, June 1, 12
![Page 50: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/50.jpg)
IPv6 Basics
IPv6 address scope
•Link-Local (fe80::e276:63ff:fe72:3900%eth0):• used on a single link• equivalent of 169.254.0.0/16•fe80::/64 (usually assigned via SLAAC)
•Unique Local Address (ULA):•equivalent of IPv4 RFC1918•not globally routable •fc00::/7
Friday, June 1, 12
![Page 51: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/51.jpg)
IPv6 Basics
IPv6 address scope
•Link-Local (fe80::e276:63ff:fe72:3900%eth0):• used on a single link• equivalent of 169.254.0.0/16•fe80::/64 (usually assigned via SLAAC)
•Unique Local Address (ULA):•equivalent of IPv4 RFC1918•not globally routable •fc00::/7
•Global (Unicast, Anycast, Multicast)•unicast: 2a03:2880:2110:3f01:face:b00c::•anycast: undistinguishable from unicast•multicast: FF00::/8
Friday, June 1, 12
![Page 52: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/52.jpg)
IPv6 Basics
Of IPv6 classful routing and CIDRs
•unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier
•the default subnet size is thus /64
Friday, June 1, 12
![Page 53: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/53.jpg)
IPv6 Basics
Of IPv6 classful routing and CIDRs
•unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier
•the default subnet size is thus /64
Yes, that’s18,446,744,073,709,551,616 addresses
per subnet.
Friday, June 1, 12
![Page 54: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/54.jpg)
IPv6 Basics
Of IPv6 classful routing and CIDRs
•unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier
•the default subnet size is thus /64
Yes, that’s232 internetsper subnet.
Friday, June 1, 12
![Page 55: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/55.jpg)
IPv6 Basics
IPv6 Allocations 2001:0db8:0123:4567:89ab:cdef:1234:5678|||| |||| |||| |||| |||| |||| |||| |||128 Single end-points and loopback|||| |||| |||| |||| |||| |||| |||| ||124|||| |||| |||| |||| |||| |||| |||| |120|||| |||| |||| |||| |||| |||| |||| 116|||| |||| |||| |||| |||| |||| |||112|||| |||| |||| |||| |||| |||| ||108|||| |||| |||| |||| |||| |||| |104|||| |||| |||| |||| |||| |||| 100|||| |||| |||| |||| |||| |||96|||| |||| |||| |||| |||| ||92|||| |||| |||| |||| |||| |88|||| |||| |||| |||| |||| 84|||| |||| |||| |||| |||80|||| |||| |||| |||| ||76|||| |||| |||| |||| |72|||| |||| |||| |||| 68|||| |||| |||| |||64 Single End-user LAN (default prefix size for SLAAC)|||| |||| |||| ||60|||| |||| |||| |56 Proposed minimal end sites assignment|||| |||| |||| 52|||| |||| |||48 Default end sites assignment|||| |||| ||44|||| |||| |40|||| |||| 36|||| |||32 Local Internet registry minimum allocations|||| ||28 Local Internet registry medium allocations|||| |24 Local Internet registry large allocations|||| 20 Local Internet registry extra large allocations|||16||12 Regional Internet Registry allocations from IANA
Friday, June 1, 12
![Page 56: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/56.jpg)
IPv6 Basics
IPv6 transition mechanisms
End goal: native IPv6 / dual-stack
•6to4•6in4•6rd•teredo•NAT64/DNS64•terminate at edge of network
Friday, June 1, 12
![Page 57: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/57.jpg)
IPv6 Basics
IPv6 transition mechanisms
•6to4 and 6rd
Friday, June 1, 12
![Page 58: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/58.jpg)
IPv6 Basics
IPv6 transition mechanisms
•NAT64 / DNS64
Friday, June 1, 12
![Page 59: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/59.jpg)
IPv6 Basics
IPv6 transition mechanisms
•6-to-4 load balancer
Friday, June 1, 12
![Page 60: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/60.jpg)
IPv6 Basics
Enough already! Let’s do something!
http://test-ipv6.com/
Friday, June 1, 12
![Page 61: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/61.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 62: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/62.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 63: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/63.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 64: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/64.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 65: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/65.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 66: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/66.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 67: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/67.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 68: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/68.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 69: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/69.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 70: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/70.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 71: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/71.jpg)
IPv6 Basics
EC2 Example
Friday, June 1, 12
![Page 72: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/72.jpg)
IPv6 Basics
That was exciting! Let’s move on...
Friday, June 1, 12
![Page 73: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/73.jpg)
IPv6 Basics
See, IPv6 is hilarious!
Friday, June 1, 12
![Page 74: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/74.jpg)
IPv6 Basics
Hmmm.
Friday, June 1, 12
![Page 75: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/75.jpg)
IPv6 Basics
Duh.
Friday, June 1, 12
![Page 76: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/76.jpg)
IPv6 Basics
Duh.
Friday, June 1, 12
![Page 77: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/77.jpg)
IPv6 Basics
Duh.
Friday, June 1, 12
![Page 78: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/78.jpg)
IPv6 Basics
A few notes so far:
•DNS lookup of AAAA records works over IPv4
•IPv6 may be enabled•your interfaces may already have IPv6 addresses
•your host may not be configured for IPv6
•we need different tools for IPv4 and IPv6
Friday, June 1, 12
![Page 79: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/79.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 80: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/80.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 81: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/81.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 82: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/82.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 83: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/83.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 84: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/84.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 85: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/85.jpg)
IPv6 Basics
Friday, June 1, 12
![Page 86: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/86.jpg)
IPv6 Basics
Configuring IPv6
Friday, June 1, 12
![Page 87: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/87.jpg)
IPv6 Basics
Configuring IPv6
Friday, June 1, 12
![Page 88: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/88.jpg)
IPv6 Basics
Hooray IPv6
Friday, June 1, 12
![Page 89: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/89.jpg)
IPv6 Basics
Now let’s use it!
Friday, June 1, 12
![Page 90: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/90.jpg)
IPv6 Basics
Now let’s use it!
Friday, June 1, 12
![Page 91: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/91.jpg)
IPv6 Basics
Now let’s use it!
Friday, June 1, 12
![Page 92: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/92.jpg)
IPv6 Basics
Booooooring!
Friday, June 1, 12
![Page 93: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/93.jpg)
IPv6 Basics
Let’s see who’s out there...
Friday, June 1, 12
![Page 94: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/94.jpg)
IPv6 Basics
Let’s see who’s out there...
Friday, June 1, 12
![Page 95: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/95.jpg)
IPv6 Basics
Ah, but IPv6 has no broadcast address.
Friday, June 1, 12
![Page 96: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/96.jpg)
IPv6 Basics
Instead, IPv6 uses multicast to all-hosts.
Friday, June 1, 12
![Page 97: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/97.jpg)
IPv6 Basics
IPv4 has ARP...
Friday, June 1, 12
![Page 98: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/98.jpg)
IPv6 Basics
IPv6 has the Neighbor Discovery Protocol
Friday, June 1, 12
![Page 99: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/99.jpg)
IPv6 Basics
IPv6 has the Neighbor Discovery Protocol
Friday, June 1, 12
![Page 100: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/100.jpg)
IPv6 Basics
IPv6 has the Neighbor Discovery Protocol
•NDP used for:•router, prefix and parameter discovery
•address autoconfiguration (SLAAC)
•address resolution (think ARP)
•uses ICMPv6
•operates on the Internet Layer
•BSD: ndp(8)
•Linux: ip(8), ip-neighbour(8)
Friday, June 1, 12
![Page 101: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/101.jpg)
IPv6 Basics
ICMPv6ECHO REQUEST / REPLY
Friday, June 1, 12
![Page 102: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/102.jpg)
IPv6 Basics
ICMPv6ECHO REQUEST / REPLY
Friday, June 1, 12
![Page 103: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/103.jpg)
IPv6 Basics
ICMPv6TIME EXCEEDED / DESTINATION UNREACHABLE
Friday, June 1, 12
![Page 104: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/104.jpg)
IPv6 Basics
ICMPv6TIME EXCEEDED / DESTINATION UNREACHABLE
Friday, June 1, 12
![Page 105: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/105.jpg)
IPv6 Basics
ICMPv6
•much like ICMP in IPv4•ECHO REQUEST/REPLY
•Destination Unreachable
•Time Exceeded
•Packet Too Big (PMTU Discovery)
•Neighbor Discovery Protocol
•ping6(8), traceroute6(8), ...
Friday, June 1, 12
![Page 106: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/106.jpg)
IPv6 Basics
SidenoteIPv6 Tunnel Traffic
Friday, June 1, 12
![Page 107: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/107.jpg)
IPv6 Basics
SidenoteIPv6 Tunnel Traffic
Friday, June 1, 12
![Page 108: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/108.jpg)
IPv6 Basics
SidenoteIPv6 Tunnel Traffic
Friday, June 1, 12
![Page 109: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/109.jpg)
IPv6 Basics
TCPNothing to see here...
Friday, June 1, 12
![Page 110: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/110.jpg)
IPv6 Basics
TCPNothing to see here...
Friday, June 1, 12
![Page 111: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/111.jpg)
IPv6 Basics
UDPNothing to see here...
Friday, June 1, 12
![Page 112: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/112.jpg)
IPv6 Basics
UDPNothing to see here...
Friday, June 1, 12
![Page 113: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/113.jpg)
IPv6 Basics
UDPNothing to see here...
Friday, June 1, 12
![Page 114: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/114.jpg)
IPv6 Basics
Dual Stack Implications
Regardless of transport mechanism to DNS server:•ask DNS for AAAA
•if AAAA exists, assume (and use) IPv6 for the connection
•only ask for A if no AAAA was found
•if A exists, use IPv4 for the connect
Friday, June 1, 12
![Page 115: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/115.jpg)
IPv6 Basics
Address ResolutionC
•replace gethostby* with getaddrinfo(3)•RFC3484 section 6 rule 9 prefix-length based sorting
may break DNS round-robin
•you may get back multiple results
•replace sockaddr_in with struct sockaddr_storage
•use sockaddr_storage.ai_addrlen for length
•replace inet_ntoa(3)/inet_aton(3) with
inet_ntop(3)/inet_pton(3)
Friday, June 1, 12
![Page 116: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/116.jpg)
IPv6 Basics
Address ResolutionC
•some OS default their sockets to IPV6_V6ONLY;
•check sysctl net.inet6.ip6.v6only
if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&on, sizeof(on)) == -1) perror("setsockopt IPV6_V6ONLY"); else printf("IPV6_V6ONLY set\n");
Without IPV6_V6ONLY, you will get IPv4-mapped addresses (::ffff:192.0.2.128).
Other languages mostly follow logically from C.
Friday, June 1, 12
![Page 117: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/117.jpg)
IPv6 Basics
Address ResolutionPHP
•use dns_get_record instead of gethostbyname
•fsockopen and friends handle IPv6
•you may need to use bracket notationtcp://[2600:809:600::3f50:412]:80
Friday, June 1, 12
![Page 118: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/118.jpg)
IPv6 Basics
Address ResolutionPython, Perl etc.
•pretty much depends on the modules used.
•some are terrible, some are great
NodeJS and all the other new hotness
•I have no idea. Sorry.
Friday, June 1, 12
![Page 119: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/119.jpg)
IPv6 Basics
Beware of IP regexes!In IPv4, sometimes you can get away with:
•(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
•([0-9]+.){3}[0-9]+)
•(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
Friday, June 1, 12
![Page 120: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/120.jpg)
IPv6 Basics
Beware of IP regexes!In IPv6... not so much:
/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/
Friday, June 1, 12
![Page 121: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/121.jpg)
IPv6 Basics
Beware of IP regexes!
Better:
if (inet_pton(AF_INET, $ip)) { # AF_INET } elsif (inet_pton(AF_INET6, $ip)) { # AF_INET6 } else { # not an IP address }
Friday, June 1, 12
![Page 122: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/122.jpg)
IPv6 Basics
So... now what?
Friday, June 1, 12
![Page 123: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/123.jpg)
IPv6 Basics
So... now what?
•get yourselves a few internets from your LIR (/48, /56)•assess your infrastructure•routers/switches usually ok, but verify•verify firewalls, IDS, load balancers, other “appliances”
•choose your transition approach•terminate/translate as close to the edge as possible
•use a test domain•do a short live test, then•see what broke•review data collection tools (can they cope with 128bit addresses, new format)?
•use short TTL for DNS records
Friday, June 1, 12
![Page 124: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/124.jpg)
IPv6 Basics
So... now what?
•repeat•go live•Profit!
Friday, June 1, 12
![Page 125: Ipv6 basics](https://reader038.vdocuments.us/reader038/viewer/2022102710/5464658baf795979338b48ad/html5/thumbnails/125.jpg)
IPv6 Basics
Links:http://www.worldipv6launch.org/https://www.google.com/intl/en/ipv6/statistics/https://en.wikipedia.org/wiki/IPv6http://pretty-rfc.herokuapp.com/RFC2460http://www.slideshare.net/IOSHints/getting-ready-for-world-ipv6-day-in-6-dayshttp://tunnelbroker.net/http://test-ipv6.comhttps://www.arin.net/policy/nrpm.htmlhttp://ipv6friday.org
Lists:http://lists.si6networks.com/listinfo/ipv6hackershttp://www.nanog.org/mailinglist/http://lists.cluenet.de/mailman/listinfo/ipv6-ops
Friday, June 1, 12