IPv6 address space
The most notable feature of IPv6 is its massive address space. IPv6 uses a 128-bit address length, which is four times the length of IPv4. When the address length is 32 bits, a maximum of 2 ^ 32 or 4,294,967,296 possible IP addresses are allowed. When the address length is 128 bits, there will be 2 ^ 128 or 340,282,366,920,938,463,463,374,607,431,768,211,456 possible IP addresses, which is equivalent to 1.8x1019 IPv6 addresses for global users.
During the design of IPv4 address space in the end of 1970s, no one expected that IPv4 address space would be exhausted so quickly. With the development of the Internet and the explosive growth of the number of connected hosts, by 1992, the remaining IP addresses of IPv4 had dropped to the critical point.
The size of the newly designed IPv6 address space makes it hard to imagine that it will be exhausted for a day, this massive allocable address space provides a reliable guarantee for the rapid and stable development of the Internet in the future. IPv6 addresses are designed hierarchically to correspond to the current Internet topology. 128-bit addresses can be divided into multiple network layers and provide flexible Hierarchical Addressing and routing.
For more information about IPv6 address structure, see RFC 2373.
IPv6 Address Allocation
The first few digits of an IPv6 address specify the address type. The variable length fields that contain the first few digits are called format prefixes. The distribution of these prefixes is shown in table 1.
Table 1 Allocation of IPv6 address space
IPv6 spof addresses include globally aggregated spof addresses, local spof links, and node local spof addresses, which account for 15% of the total IPv6 addressing space.
IPv6 address syntax
IPv4 addresses are represented in dotted-decimal format. 32-bit addresses are divided into four eight-bit groups. Each eight-bit address is written in decimal format and separated by dots. The IPv6 128-bit address is a 16-bit grouping. Each 16-bit grouping is written into four hexadecimal numbers separated by colons, which are called the colon hexadecimal format.
The following is an example of an IPv6 address in binary format:
0010000111011010000000001101001100000000000000000010111100111011
0000001010101010000000001111111111111110001010001001110001011010
The 16-bit 128-bit address can be expressed:
0010000111011010 0000000011010011 0000000000000000 0010111100111011
0000001010101010 0000000011111111 1111111000101000 1001110001011010
Each 16-bit group is converted into a hexadecimal format and separated by a colon:
21DA: 00D3: 0000: 2F3B: 02AA: 00FF: FE28: 9C5A
IPv6 can remove leading zeros from every four hexadecimal numbers for simplified representation, but each group must retain at least one digit. After removing the leading zero bit, the preceding address can be written:
21DA: D3: 0: 2F3B: 2AA: FF: FE28: 9C5A
Zero Compression
Some types of addresses may contain long zero-sequence columns. To further simplify the notation, IPv6 can also perform zero compression on adjacent consecutive zero-bit pairs in the colon hexadecimal format, using the double colon ":: "indicates.
For example, the local link address FE80: 0: 0: 0: 2AA: FF: FE9A: 4ca can be compressed to FE80: 2AA: FF: FE9A: 4ca. The multi-point transfer address FF02: 0: 0: 0: 0: 0: 0: 2 after compression, it can be expressed as FF02: 2.
To know how many ":" actually represents "0", we can perform this calculation: use 8 to subtract the number of groups after compression, and then multiply the result by 16. For example, in address FF02: 2, there are two groups: "FF02" group and "2" group), then the compressed "0" has a total of 8-2) * 16 = 96 bits.
It is worth noting that in a specific address, zero compression can only be used once, that is, in any colon hexadecimal format, only one double colon ":" Can appear, otherwise, we will not be able to know the exact zero-digit number represented by each.
IPv6 prefix
The prefix is the number of digits with a fixed value in the address or the number of digits that represent the network ID. The subnet ID, router, and address range prefix representation of IPv6 are the same as that of IPv4. The prefix can be written as address/prefix length. For example, 21DA: D3:/48 is a vro prefix, while 21DA: D3: 0: 2F3B:/64 is a subnet prefix.
Note: The dot-decimal network prefix notation, which is commonly used in IPv4 implementations, is no longer used in IPv6. IPv6 only supports the prefix length notation.