This document provides an overview of IPv6 addressing, protocol headers, extension headers, address types, reserved ranges, multicast addresses, address assignment, autoconfiguration, DHCPv6, privacy extensions, and the neighbor discovery protocol. It summarizes IPv6 address notation, interface identifiers, and the required addresses for a node. It also outlines stateless and stateful address autoconfiguration, as well as the use of DHCPv6 and DNS servers via router advertisements.
This document provides an overview of IPv6 addressing, protocol headers, extension headers, address types, reserved ranges, multicast addresses, address assignment, autoconfiguration, DHCPv6, privacy extensions, and the neighbor discovery protocol. It summarizes IPv6 address notation, interface identifiers, and the required addresses for a node. It also outlines stateless and stateful address autoconfiguration, as well as the use of DHCPv6 and DNS servers via router advertisements.
This document provides an overview of IPv6 addressing, protocol headers, extension headers, address types, reserved ranges, multicast addresses, address assignment, autoconfiguration, DHCPv6, privacy extensions, and the neighbor discovery protocol. It summarizes IPv6 address notation, interface identifiers, and the required addresses for a node. It also outlines stateless and stateful address autoconfiguration, as well as the use of DHCPv6 and DNS servers via router advertisements.
Version(4-bit) Always set to 6 Multicast Ranges (RFC4291)
Traffic Class(8-bit) A DSCP value for QoS ff01::/16 Interface-Local scope Flow Label(20-bit) Identifies unique flows ff02::/16 Link-Local scope Payload Length(16-bit) Length of the payload in bytes ff04::/16 Admin-Local scope Next Header(8-bit) Header or protocol which follows ff05::/16 Site-Local scope Hop Limit (8-bits) Similar to IPv4's time to live field ff08::/16 Organisation-Local scope Source Address (128-bit) Source IP address Destination Address(128-bit)Dest. IP addresses ff0e::/16 global scope
+---------------+----------------+-----------------+----------------- | IPv6 header | Routing header | Fragment header | fragment of TCP ff02::1 All Nodes (RFC4291) | | | | header + data | Next Header = | Next Header = | Next Header = | ff02::2 All Routers (RFC4291) | Routing | Fragment | TCP | +---------------+----------------+-----------------+----------------- ff02::5 OSPF (RFC5340) Hop-by-Hop Options (0) ff02::6 OSPF DR (RFC5340) Routing (43) ff02::c SSDP (no RFC) Fragment (44) ff02::16 MLDv2 (RFC3810) Destination Options (60) ff02::1:2 All DHCP Agents and Servers Authentication (51) ff02::1:3 LLMNR (RFC4795) Encapsulating Security Payload (50) ff02::1:ffxx:xxxx Solicited-Node Address (RFC4291)
Text Representation of Addresses Interface ID
(RFC5952) Used to identify Interfaces on a link XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX Always 64 Bits long (RFC4291) X Hexadecimal Digit, 4 Bits (0-9, a-f) 48-Bit Ethernet MAC-Address to EUI-64 Mapping : separates “Hextets” (4 Hex Digits) Notation Rules Eliminate leading zeros in all Hextets Longest sequence of 2 or more Hextets of zeros is replaced by :: (used only once) Hex characters are represented in lowercase ("a", Privacy Extensions (RFC4941) "b", "c", "d", "e", and "f") Genereate additional random Interface ID (Temporary Examples Address) which is renewed frequently. fe80::1 Address is used for Internet connections to hide the ff02::1:ff52:b0eb MAC Address 2001:620:100:10a0:c87e:39ff:fe4b:8645 A Node’s required Addresses (RFC4291) Address Assignment (RFC6177) Link-local address per interface All configured unicast addresses Loopback address All nodes multicast address Solicited node multicast address per unicast address Multicast address for all member groups Stateless Address Autoconfiguration – Stateful DHCPv6 Service (RFC3315) SLAAC (RFC4862) Used to provide DHCP Service to IPv6 nodes DHCPv6 Server manages client addresses Routers must set “m-Flag” in ICMPv6 RA messages
1. Client creates own link-local unicast address
with link-local prefix and EUI-64 Interface ID 2. Clients sends ICMPv6 Router-Solicitation to All-Routers link-local multicast Address 3. Router replies with ICMPv6 Router- Advertisement, containing the links global routing prefix 4. Client create own global unicast address with 1. Client sends ICMPv6 RS to all-routers address global routing prefix and EUI-64 Interface ID 2. Upon detecting the m-flag, the client sends a 5. Client performs duplicate address detection DHCPv6 SOLICIT to the all-dhcpv6-servers against the newly created address link-local multicast address 3. DHCPv6 Server relies with a DHCPv6 Duplicate Address Detection – DAD ADVERTISE message offering a global (RFC4862) unicast address 4. Client requests the offered address sending a DHCPv6 REQUEST message 5. Server acknowledges address assignment 1. Client sends ICMPv6 Neighbor Discovery to with DHCPv6 REPLY message his own solicited Node link-local multicast address, expecting no response DNS Server as an RA Option – RDNSS 2. If a host responds, the client need to create (RFC6106) another unicast address
Stateless DHCPv6 Service (RFC3736)
Used to provide DNS Servers to clients No client addresses are manged Routers must set “o-Flag” in ICMPv6 RA messages 1. Client sends ICMPv6 RS to all-routers address 2. Router replies with ICMPv6 RA message containing global routing prefix and DNS information using an option field
Neighbor Discovery Protocol – NDP
(RFC4861) Used to map IPv6 addresses and Ethernet MAC addresses Replaces Addess Resolution Protocol (ARP)
1. Client sends ICMPv6 RS to all-routers address
2. Upon detecting the o-flag, the client sends a DHCPv6 REQUEST to the all-dhcpv6-servers link-local multicast address 1. Host 1 sends ICMPv6 Neighbor Solicitation to 3. DHCPv6 Server relies with a DHCPv6 REPLY solicited node multicast address message containing DNS servers and names 2. Host 2 replies with ICMPv6 Neighbor Advertisement containing his Ethernet MAC address