IPV6 Features of IPv6 New header format Large address space More efficient routing IPsec header support required Simple automatic configuration New protocol for neighboring node interaction Extensibility The IPv6 Address Space The most obvious distinguishing feature of Internet Protocol version 6 (IPv6) is its use of much larger addresses. The size of an address in IPv6 is 128 bits, a bit-string that is four times longer than the 32-bit IPv4 address. A 32-bit address space allows for 232 or 4,294,967,296, possible addresses. A 128-bit address space allows for 2128 or 340,282,366,920,938,463,463, 374,607,431,768,211,456 (3.4 × 1038), possible addresses. Preferred IPv6 Address Representation The preferred representation, also known as the complete form of an IPv6 address, has a series of eight 16-bit hexadecimal fields separated by colons (:). Each 16-bit field is textually represented by four hexadecimal characters Preferred IPv6 Address Representation IPv6 Address Syntax • Dotted-Decimal Notation– was convenient for IPv4 addresses, • Colon Hexadecimal Notation – 128 bits divided into 8 sections of 2 bytes, with each 2 bytes represented in hexadecimal notation 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A The 16-bit binary equivalent is: 0010000000000001 0000000000000000 0000001010101010 1111111000101000 0000110110111000 0010111100111011 0000000011111111 1001110001011010 Rule 1 To make life easier, some abbreviations are possible. For instance, leading zeros in a 16-bit block can be skipped. The example address now looks like this: 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A Rule 2 A double colon can replace consecutive zeros or leading or trailing zeros within the address. For example: 2001:0DB8:0000:0000:0202:B3FF:FE1E:8329 2001:DB8::202:B3FF:FE1E:8329 BUT you can only apply this once Rule 2 This type of abbreviation is allowed only once per address If there are two runs of zero sections, only one of them can be compressed IPv4 and IPv6 In environments where IPv4 and IPv6 nodes are mixed, another convenient form of IPv6 address notation is to put the values of an IPv4 address into the four low-order byte pieces of the address. An IPv4 address of 192.168.0.2 can be represented as x:x:x:x:x:x:192.168.0.2, and an address of 0:0:0:0:0:0:192.168.0.2 can be written as ::192.168.0.2. If you prefer, you can also write ::C0A8:2. IPv6 Address with an Embedded IPv4 Address The first part of the IPv6 address uses the hexadecimal representation, and the IPv4 address part is in decimal format. This is a specific representation of an IPv6 address used by transition mechanisms. IPv6 Address with an Embedded IPv4 Address Two kinds of IPv6 addresses have an embedded IPv4 address: IPv4-compatible IPv6 address—Used to establish an automatic tunnel to carry IPv6 packets over IPv4 networks. This address is related to a transition mechanism of the IPv6 protocol. IPv4-mapped IPv6 address—Used only on the local scope of nodes having both IPv4 and IPv6 stacks. Nodes use IPv4-mapped IPv6 addresses internally only. These addresses are never known outside the node itself and should not go on the wire as IPv6 addresses. IPv6 Address with an Embedded IPv4 Address The IPv6 prefix for the IPv4-compatible IPv6 address is represented by the high-order 96-bit set to 0 followed by the 32-bit of the IPv4 address. 0000:0000:0000:0000:0000:0000:206.123.31.2 ::206.123.31.2 The prefix for the IPv4-mapped IPv6 address is represented by the high-order 80-bit set to 0, then the next 16-bit set to 1, and finally followed by the 32-bit of the IPv4 address of the local node. 0000:0000:0000:0000:0000:FFFF:206.123.31.2 ::FFFF:206.123.31.2 IPv6 Address with an Embedded IPv4 Address IPv4-compatible IPv4-mapped CIDR Notation Just like IPv4 addresses, IPv6 addresses consist of NetworkID and HostID IPv6 uses classless notation to identify each of them Although IPv6 addresses are in hexadecimal format, the network mask value is still a decimal value. Network ID is also referred to as prefix, and the number of bits allocated to Network ID as prefix length Host ID is referred to as Interface ID CIDR notation The default Net and Host IDs are: The IPv6 Interface ID and EUI-64 Format The host portion of an IPv4 address is not based on the hardware address of an interface. The interface ID in IPv6 is based on the interface’s hardware address. This interface ID adheres to the IEEE 64-bit Extended Unique Identifier (EUI-64) format. Since most interfaces still use the 48-bit MAC address, the MAC must be converted into the EUI-64 format. Converting the MAC address into the Interface ID The first 24 bits of the MAC address identifies the manufacturer. The last 24 bits uniquely identify the host. To convert this to EUI-64 format: 1. The first 24 bits of the MAC (the OUI), become the first 24 bits of the EUI-64 formatted interface ID. 2. The seventh bit of the OUI is changed from a “0” to a “1”. 3. The next 16 bits of the interface ID are FFFE. 4. The last 24 bits of the MAC (the host ID), become the last 24 bits of the interface ID. Converting the MAC address into the Interface ID IPv6 Address Types As shown in the following figure, the three types of addresses are: Unicast Anycast Multicast Under the scope of each kind of address are one or more types of addresses. IPv6 Address Types Anycast Address Unicast is a method used by a source node to send a packet to one destination (one-to-one) Multicast is used for one-to-many communication Anycast is used for one-to-nearest communication Anycast Address Anycast is a mechanism that delivers a packet sent to an anycast address of the nearest node member of the anycast group. Anycast enables a type of discovery mechanism to the nearest point. The network itself plays the key role in anycast by routing the packet to the nearest destination by measuring network distance. Loopback address Similar to the IPv4 protocol, each device has one loopback address, which is used by the node itself. The loopback address is represented by the prefix 0000:0000:0000:0000:0000:0000:0000:0001 And by ::1 in the compressed representation In comparison, the loopback address in IPv4 is 127.0.0.1. Loopback address Unspecified address An unspecified address is a unicast address not assigned to any interface. It indicates the absence of an address and is used for special purposes. For example, when a host requests an IPv6 address from a Dynamic Host Configuration Protocol for IPv6 (DHCPv6) server The unspecified address is represented by the prefix 0000:0000:0000:0000:0000:0000:0000:0000 in preferred format and by :: in the compressed representation Unspecified address