Representation
IPv4 addresses are represented in dot-decimal notation, the 32-bit address is broken into 4 sections of 8 bits each known as octets, which are separated by periods. An example of an IPv4 address is 10.0.0.1.
IPv6 addresses are written in hexadecimal digits, the 128-bit address is broken into 8 sections of 16 bits each separated by colons. Each 16-bit field is represented by four hexadecimal characters. An example of an IPv6 address is 2001:0000:0000:0000:1234:1400:5000:45FF. The representation can be made simpler by removing leading zeros for example 2001:0:0:0:1234:1400:5000:45FF. Consecutive fields of zeros can be removed to further reduce the address like 2001:: 1234:1400:5000:45FF.
IPv6 address prefix representation is similar to IPv4 CIDR notation as shown below
IPv6-address/prefix-length
Address Types
There are 3 types of address in IPv4 addressing, Unicast, Multicast and Broadcast. IPv6 addressing also defines three types of addressing as mentioned below
- Unicast: Uniquely identify network interfaces. A Packet destined for that address is delivered specifically to that interface. These addresses fall in the range of 2000::/3
- Multicast: More efficient than broadcasts as only the interested nodes receive the traffic. A packet sent to a multicast address goes to all subscribers. These addresses fall in the range of FF00::/8. IPv6 does not have a broadcast address instead of a special Link-Local all nodes multicast address is used
- Anycast: Multiple hosts share the same addresses. The Router decides which host is closet and sends traffic to that host. These addresses fall in the range same as unicast of 2000::/3
Each address type has further sub-categories known as scope. There are four different types of Unicast addresses supported in Cisco IOS
- Aggregatable Global Unicast Address
- Link-Local Address
- IPv4-Compatible IPv6 address
- Unique Local Addresses
Likewise, Multicast addresses have the following scope
- Assigned
- Solicited-Note
Allocation
The current IPv4 address allocation mechanism is defined by Classless-Inter-Domain Routing (CIDR) scheme, which replaced the classful addressing structure that divided IPv4 addresses into five different classes. This structure was not scalable and a lot of addresses were wasted. With CIDR the addressing scheme became more flexible and less wasteful.
IPv6 addresses are composed of two parts, 64-bit Network Prefix, and 64-bit host part. The IPv6 address allocation follows a generally acceptable assignment policy as shown in figure 1
Figure 1
Header
An IPv4 Packet Header has 12 fields with a total size of 20 octets (160 bits) as shown below. The 12 fields may be followed by an Options field of variable length, which is followed by a data portion that is usually the transport-layer packet. The shaded fields in the IPv4 packet header are not included in the IPv6 packet header
The basic IPv6 packet header has 8 fields with a total size of 40 octets (320 bits) as shown below
Following the eight fields of the basic IPv6 packet header are optional extension headers and the data portion of the packet as shown below.
Note – Fragmentation is handled only in the sending host in IPv6: routers never fragment a packet, and hosts are expected to use Path MTU discovery.
Address Assignment Methods
An IPv4 address can be assigned statically or it may be obtained dynamically through DHCP. IPv6 has three assignment methods
- Static
- DHCPv6
- Autoconfiguration
An IPv6 host can configure a link-local address for each interface. By using ICMPv6 router discovery messages, a host can also determine the addresses of routers, additional addresses, and other configuration parameters
Layer 3 to Layer 2 Resolution
An IPv4 host uses Address Resolution Protocol (ARP) broadcast messages to resolve an IPv4 address to a link-layer address. IPv6 hosts use Multicast Neighbor Solicitation messages to resolve IPv6 addresses to link-layer addresses.
In this article we covered a few key differences between IPv4 and IPv6 addresses, currently, there are not many IPv6 networks deployed but as we move forward more and more networks will support IPv6 protocol to address the growing needs. Cisco CCNA Certification does not go much deep into the IPv6 world as of today but it is expected that the protocol will make a significant portion of the CCNA Certification Curriculum in the near future.