IPv6 was mainly developed to address the shortage of addresses of IPv4 and to optimize the routing process. Compared to IPv4, the number of fields in the IPv6 header has been reduced from 12 to 8 fields.
IPv6 addresses are normally represented by grouping two bytes each in hexadecimal format separated by a colon. Four zeros are typically written as only one zero or are completely omitted. Unlike in IPv4, there are no Broadcast addresses in IPv6. A Broadcast is a special Multicast case.
Examples of IPv6 addresses:
Sequential blocks that contain only zeros may be omitted once in IPv6 addresses. Omitted blocks are identified with two colons regardless of how many there are. An IPv6 address can thus have two sequential colons only once.
IPv4 addresses can also be implemented in IPv6. A mixed notation is available for this in which a combination of hexadecimal and decimal values is allowed.
In IPv6 addresses, 64 bits are designated for the network address and 64 bits for the host address, unless otherwise defined by a subnet mask. While the use of subnet masks is possible, they are rarely used due to the sufficiently large amount of address space.