address format illustrates well how lots of information can be encoded in an IPv6 address [14]. The Teredo address consist of a 32-bit Teredo service prefix, 32-bit IPv4 address of a Teredo server, flag-bits for additional information, 16 bits for the obfuscated User Datagram Protocol (UDP) port of the Teredo service on a client, and 32 bits for the obfuscated IPv4 address of a client. IP Addresses for Documentation Purposes A special unicast IPv6 prefix of 2001 db8 : /32 has been reserved for IPv6 documentation purposes in 'IPv6 Address Prefix Reserved for Documentation' RFC 3849 [15]. Similarly, special IPv4 subnets of 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 have been defined for IPv4 unicast address documentation purposes in 'IPv4 Address Blocks Reserved for Documentation' RFC 5737 [16]. For documentation requiring multicast addresses, RFC 6676 'Multicast Addresses for Deploying IPv6 in 3GPP Networks Documentation' reserves address blocks for both IPv6 and IPv4 purposes [17]. The multicast address block for use with IPv6 any-source multicasting documentation is ff0x: : db8:0:0/96 (the 'X' standing for scope, see Section 3.2.4). For source-specific multicast cases the addresses allocated for unicast IPv6 documentation purposes are used. In this book we will be using the addresses reserved for documentation in all cases where we are not either referring to IP addresses assigned by IANA for specific purposes, or looking at real world IP packet capture examples. The addresses that are allocated for documentation purposes should never be used in real implementations. Furthermore, IP stacks and networks can and should filter traffic possibly sent to or from the addresses reserved for documentation. Even for experimen- tation purposes it is better to use ULA or private IPv4 addresses. 3.1.9 Textual Presentations of IPv6 Addresses As the 128-bit IPv6 addresses in their standard hexadecimal textual presentation form may be challenging to handle, e.g. 2001 : 0db8 : 0123:4567:890a bcde: fooo : 0000, a set of re