IPv6 quick facts successor of IPv4 • 128-bit long addresses • that's 296 times the IPv4 address space • that's 2128 or 3.4x1038 or over 340 undecillion IPs overall • a customer usually gets a /64 subnet, which yields 4 billion times the IPs available by IPv4 • no need for network address translation (NAT) any more • no broadcasts any more • no
ARP • stateless address configuration without DHCP • improved multicast • easy IP renumbering • minimum
MTU size 1280 • mobile IPv6 • mandatory IPsec support • extension headers • jumbograms up to 4 GiB
IPv6 & ICMPv6 Headers
IPv6 header
0
8 version 16
24
traffic class
32
flow label
payload length
next header
hop limit
source IPv6 address
destination IPv6 address
ICMPv6 type
8
16
ICMPv6 code
2001:0db8:0f61:a1ff:0000:0000:0000:0080 global routing prefix
subnet ID
interface ID
subnet prefix /64
IPv6 addresses are written in hexadecimal and divided into eight pairs of two byte blocks, each containing four hex digits. Addresses can be shortened by skipping leading zeros in each block. This would shorten our example address to 2001:db8:f61:a1ff:0:0:0:80.
MAC
00 03 ba 24 a9 6c
Additionally, once per IPv6 IP, we can replace consecutive blocks of zeros with a double colon:
2001:db8:f61:a1ff::80.
The 64-bit interface ID can/should be in modified EUI-64 EUI-64 02 03 ba ff fe 24 a9 6c format. A 48-bit MAC can be transformed to an 64-bit interface ID by inverting the 7th (universal) bit and inserting a ff and fe byte after the 3rd byte. So the MAC
00:03:ba:24:a9:c6 becomes 0203:baff:fe24:a9c6. See RFC 4291 Appendix A and RFC 4941.
IPv6 Address Scopes
::/128
unspecified address
Version (4 bits): IP version. Always 6.
Traffic class (8 bits): Used for QoS. Like the TOS field in IPv4. RFC 2474.
Flow label (20 bits): Used for packet