 colons. For example: AA76:0000:0000:0000:0012:A322:FE33:2267 may be represented as: AA76:0:0:0:12:A322:FE33:2267 These two addresses are identical. Only their written representation has changed. Ad- ditionally, any consecutive number of zeros can be replaced by a double colon. Thus: AA76:0000:0000:0000:0012:A322:FE33:2267 may also be written as: AA76::12:A322:FE33:2267 To summarize, the following three addresses are identical: AA76:0000:0000:0000:0012:A322:FE33:2267 AA76:0:0:0:12:A322:FE33:2267 AA76::12:A322:FE33:2267 If you're wondering why hexadecimal is used, let's compare the preceding address to its decimal counterpart: HEX: AA76:0000:0000:0000:0012:A322:FE33:2267 DEC: 170.118.0.0.0.0.0.0.0.18.163.34.254.51.34.103 Even with all those zeros and two-digit octets, the address is still longer in decimal. This should give you an idea of just how many more addresses there are, though, since each octet means 256 times more addresses, and there are 12 more octets than you see in IPv4 addresses. In environments where IPv4 interoperates with IPv6, IPv4 addresses can be written in IPv6 notation. You do this by setting the first 80 bits to 0 and the next 16 bits to 1, with the final bits being those of the IPv4 address. Even better, most implementations will allow you to reference the IPv4 portion of the address in dotted decimal notation. For example, the IPv6 address format for the IPv4 address of 10.20.30.40 would be: (0000:0000:0000:0000:0000:0000:ffff:10.20.30.40 0:0:0:0:0:0:ffff:10.20.30.40 ::ffff:10.20.30.40. See? Easy as pie. OK, SO it's not a very tasty pie, but at least there is a logic that can be studied and understood. Change is hard, but soon enough, we will have no choice. There are already job postings requiring IPv6, SO knowing this stuff makes you more marketable to employers, and that's never a bad thing. Chapter 37: IPv6 Subnet Masks Masking IPv6 addresses is similar to IPv4 in that we use prefix lengths. The lengths just seem odd because the addresses are SO long. Seeing a /64 address in IPv4 would