IPv6 - Introduction Michael Dirska Hasso-Plattner-Institut Potsdam Why a new protocol version? • Beginning of 1990s: – Help! - IPv4 address space is running out – There are too few Class-B-Networks left – Routing Tables are growing immensely 04/2004 -md- 2 IPv4 address structure (old) • 32 Bit • Written as 4 Bytes, decimal, "." inbetween • Netmasks: number of relevant bits 0 Class A /8 12.x.x.x 10 Class B /16 141.89.x.x 110 Class C /24 192.168.1.x 1110 Class D Multicast 1111 Class E (nicht belegt) 04/2004 -md- 3 IPv4 address structure (new) • Classless Inter-Domain Routing (CIDR) • RFC 1519 September 1993 • (www.cidr-report.org) 0 Unicast-Adressen /8 bis /24-Netze 10 " 110 " 1110 Multicast 1111 (nicht belegt) 04/2004 -md- 4 Internet-Routing AS2500 WIDE Project 203.178.136.0/21 AS680 DFN G-WiN Uni Potsdam 141.89.0.0/16 HU Berlin 141.20.0.0/16 04/2004 -md- 5 IP: Next Generation (IPng) • Dec. 1993: RFC 1550 Request for White Papers • lots of answers August 1994, examples: – RFC 1669 "Market Viability as a IPng Criteria" – RFC 1671 "IPng White Paper on Transition" – RFC 1687 "A Large Corporate User's View of IPng" 04/2004 -md- 6 IPng renamed to IPv6 • Jan. 1995: RFC 1752 "The Recommendation for the IP Next Generation Protocol" • Dec. 1995: RFC 1883 "Internet Protocol, Version 6 (IPv6) Specification" 04/2004 -md- 7 Decision in favour of a new address space • IPv6 has 128-Bit addresses (millions of addresses per square meter of the earths surface) • the new version solves old problems (fragmentation) and keeps the IP-header small • elegant solution – technically! • but: how do you switch from IPv4 to IPv6? Do we switch at all? Can both protocols co-exist? 04/2004 -md- 8 Advantages of a new address space • We can learn from the mistakes: – better address allocation (smaller routing tables) – enough global routable addresses even for the smallest imaginable devices 04/2004 -md- 9 Disadvantages of a new address space • all connections between Autonomous Systems (AS) must be re-negotiated • lots of work to setup a second infrastructure • there is no „killer application“ in sight – so why do we want it? • see: D.Bernstein "IPv6-mess" 04/2004 -md- 10 current IPv6 specifications • RFC 2460 "Internet Protocol, Version 6 (IPv6) Specification" • RFC 2461 "Neighbor Discovery for IP Version 6 (IPv6)" • RFC 2462 "IPv6 Stateless Address Autoconfiguration" • RFC 2463 "Internet Control Message Protocol (ICMPv6)" 04/2004 -md- 11 IPv4 header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ from RFC 791 04/2004 -md- 12 IPv6 header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ from RFC 2460 04/2004 -md- 13 IPv6 Adress-Struktur • 128 Bit • written as 8*16 Bit, hexadecimal • : inbetween 2001:0DB8:0010:0000:0000:0000:0000:0001 2001:0DB8:10::1 FF02::1 FE80::192.168.111.40 = FE80::C0A8:6F28 2001:DB8::/32 ::1 ::FFFF:192.168.111.40 04/2004 -md- 14 IPv6 address structure Allocation ----------------------------------Unassigned (see Note 1 below) Unassigned Reserved for NSAP Allocation Unassigned Unassigned Unassigned Global Unicast Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Link-Local Unicast Addresses Site-Local Unicast Addresses Multicast Addresses Prefix (binary) -------0000 0000 0000 0001 0000 001 0000 01 0000 1 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 0 1111 1110 10 1111 1110 11 1111 1111 Fraction of Address Space ------------1/256 1/256 1/128 [RFC1888] 1/64 1/32 1/16 1/8 [RFC2374] 1/8 1/8 1/8 1/8 1/8 1/16 1/32 1/64 1/128 1/512 1/1024 1/1024 1/256 aus RFC 3513 04/2004 -md- 15 global IPv6 adresses 0 3 001 IANA 23 48 64 128 Interface ID RIR RIR 64 bit for local configuration (auto-configuration) LIR LIR 04/2004 -md- 35 Customer 16 weitere IPv6-Adresstypen Link Local 0 64 FE80::/64 04/2004 -md- 128 Interface ID 17 Interface Identifier IEEE 802 48 bit MAC |0 1|1 3|3 4| |0 5|6 1|2 7| +----------------+----------------+----------------+ |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm| +----------------+----------------+----------------+ |0 1|1 3|3 4|4 6| |0 5|6 1|2 7|8 3| +----------------+----------------+----------------+----------------+ |cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm| +----------------+----------------+----------------+----------------+ XOR 0x0200 FF FE aus RFC2373 04/2004 -md- 18 IPv6 network link host router link node node FE80::/64 link router node FE80::/64 link Interface node host 04/2004 -md- node host 19 Stateless Address Autoconfiguration (RFC2462) • is always used for link-local addresses • can be used to configure global adresses • Duplicate Address Detection should be performed on the link 04/2004 -md- 20 Neighbor Discovery (RFC2641) • • • • • • • Duplicate Address Detection Router Discovery Address Autoconfiguration Next-hop Determination Address Resolution Neighbor Unreachability Detection Redirect 04/2004 -md- 21 Neighbor Discovery • five message types (in ICMPv6) – – – – – Router Discovery Router Solicitation Neighbor Discovery Neighbor Solicitation Redirect • Why ICMPv6? You can use AH... 04/2004 -md- 22 transition to IPv6 IPv6 IPv4 1996 20?? t 2020 ? 2030 ? Es wird lange Zeit gleichzeitige IPv4- und IPv6-Konnektivität geben müssen. 04/2004 -md- 23 IPv4 Netzwerk host node router IPv4 Internet node link node host 04/2004 -md- node host 24 dual stack IPv6 Internet host IPv6 router node node node IPv4 Internet node IPv4 router node host 04/2004 -md- link host node host 25 configured tunnel IPv6 Internet tunnel broker node host IPv6 router node node node IPv4 Internet node IPv4 router IPv6-over-IPv4 tunnel 04/2004 -md- node host link host node host 26 Windows XP Ethernet adapter Local Area Connection: Connection-specific IP Address. . . . . Subnet Mask . . . . IP Address. . . . . Default Gateway . . DNS . . . . . . . . Suffix . . . . . . . . . . . . . . . . . . . . . : : : : : 141.89.224.145 255.255.255.0 fe80::208:2ff:fe5e:7afd%7 141.89.224.1 Tunnel adapter Teredo Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : fe80::5445:5245:444f%8 Default Gateway . . . . . . . . . : Tunnel adapter 6to4 Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 2002:8d59:e091::8d59:e091 Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301 2002:836b:213c::836b:213c Tunnel adapter Automatic Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : fe80::5efe:141.89.224.145%2 Default Gateway . . . . . . . . . : 04/2004 -md- 27