Compared with IPv4, The main change of IPv6 is that the address length is 128 bits, that is, there can be 2 IP addresses to the power of 128, which is equivalent to 38 zeros behind 10. Such a huge address space is enough to ensure that everyone on the Earth has one or more IP addresses.
IPv6 address type
Three types of IPv6 addresses are specified in RFC1884, which occupy different address spaces:
Spof: This type of address is the address of a single interface. The information package sent to a single point of transfer address will only be sent to the interface with the address as this address.
Arbitrary Point transfer: This type of address is the address of a group of interfaces. The information packet sent to an arbitrary point transfer address is only sent to one of these addresses (depending on the distance of the route)
Multi-Point transfer: This type of address is the address of a group of interfaces. The information package sent to a multi-point transfer address will be sent to all interfaces in this group.
What is different from IPv4 is that IPv6 has any point transfer address and replaces the broadcast address in IPv4 with a multi-point transfer address.
IPv6 address Representation
We know that the IPv4 address length is 32 bits (4 bytes ). The IPv4 address is written in one byte to represent an unsigned decimal integer. The four bytes are written in four decimal numbers separated by three vertices. For example:
10.1.123.56
It is necessary to define a similar representation for a 128-bit IPv6 address. Considering that the IPv6 address length is four times the original length, we recommend that you write the 128 bits (16 bytes) of the IPv6 address into eight 16-bit unsigned integers in the standard syntax stipulated by RFC1884, each integer is represented by four hexadecimal digits separated by a colon (:). For example:
3ffe: 3201: 1401: 1: 280: c8ff: fe4d: db39
From the above example, we can see the difficulty of manual management of IPv6 addresses, as well as the necessity of DHCP and DNS. To further simplify IPv6 address representation, we can use 0 to represent 0000, 1 to represent 0001, 20 to represent 0020, and 300 to represent 0300. As long as the numerical value is inconvenient, the preceding 0 can be omitted. For example:
1080: 0000: 0000: 0000: 0008: 0800: 200C: running
0000: 0000: 0000: 0000: 0000: 0000: 0A00: 0001
Can be abbreviated:
1080: 0: 0: 0: 8: 800: 200C: running
0: 0: 0: 0: 0: 0: A00: 1
In addition, it is also stipulated that the symbol: represents a series of 0. The preceding address can be simplified:
1080: 0: 8: 800: 200C: running
: A00: 1
The expression of the IPv6 address Prefix (FP, Format Prefix) is similar to that of the IPv4 address Prefix in CIDR. For example, 0020: 0250: f002:/48 indicates a 48-bit network address space.
IPv6 Address Allocation
RFC1881 stipulates that IPv6 address space management must be in the interests of Internet groups and must be distributed by a central authority. At present, this Authority is IANA (Internet Assigned Numbers Authority, Internet Allocation Number Authority ). IANA allocates IPv6 addresses based on the recommendations of IAB (Internet Architecture Board) and IEGS.
Currently, IANA has assigned three local organizations to perform IPv6 Address Allocation tasks:
RIPE-NCC in Europe
INTERNIC in North America
APNIC in the Asia Pacific Region