1. Introduction to IPv6 1. IPv6 was previously known as IPng (next generation) and is currently the latest version of the IP protocol. The IP protocol is a network layer protocol. The data communication network built with the IP protocol can provide efficient data, voice and image transmission services. At present, the IP protocol widely used on the Internet is the IPv4 version. With the rapid development of the Internet, while fully enjoying the simplicity and efficiency of the IPv4 protocol, people have also realized that the 32-bit address space of IPv4 is not enough; therefore, a new IP standard must be established. 2. Massive IPv6 address space The most fundamental change of IPv6 is that it provides the future demand for globally determinable address space. Applications based on mobile devices, such as personal digital devices (PDAs), mobile phones, cars, home networks and other mobile data communication devices all need globally determinable addresses. IPv6 expands the number of network address bits from 32 to 128 bits, which means that a unique address can be provided for any device on the earth that needs to be connected to the Internet. It is precisely because of the globally determinable addresses that IPv6 provides global address accessibility, end-to-end secure communications, and support for all applications and services that require addresses. In addition, the rich IPv6 address space eliminates the NAT (Network Address Translation) bottleneck in the network and improves network efficiency. 2. IPv6 Address Since IPv6 addresses are 128 bits long, they are much more complex to represent than 32-bit IPv4 addresses. Currently, IPv6 addresses are represented by a string of hexadecimal numbers, with each 16 bits separated by a semicolon (:), in the following format: x:x:x:x:x:x:x:x. Below are two examples of IPv6 addresses:
Normally, IPv6 addresses contain consecutive zeros. To avoid the complexity of IPv6 address representation, consecutive zeros can be abbreviated to two colons (::). Table 1 lists the abbreviated formats of IPv6 addresses. Two colons can be used as part of an IPv6 address. You can configure multiple addresses on an interface, but only one link-local address. Note that two colons (::) can only appear once in an IPv6 address and can only represent the longest consecutive zeros. The hexadecimal representation of IPv6 addresses is case-insensitive. The loopback address can be a network node sending an IPv6 data packet to itself. The function of this loopback address is the same as the loopback address of IPv4 (127.0.0.1). Note that the loopback address of IPv6 cannot be configured on the physical interface. A data packet with an IPv6 loopback address, whether the source address or the destination address, must stay in the network node that generates it and cannot appear on the network link. IPv6 routers cannot forward data packets with IPv6 loopback addresses, regardless of the source address or the destination address. 3. Unicast Address An IPv6 unicast address is used to identify an interface of a network node. When the destination address of a data packet is a unicast address, it will be sent to the network interface identified by this address. An IPv6 router should support the following unicast address types:
4. Global Addresses that can be Aggregated An aggregatable global address is an address with a global aggregatable IPv6 prefix. This structured global unicast address allows for strict routing prefix aggregation, which can greatly reduce the number of routes in the entire routing table and reduce routing complexity. Aggregatable global addresses are used to mark link addresses and can be used for multi-level routing aggregation, all the way to the top Internet Service Providers (ISPs). Global aggregatable IPv6 addresses are defined as global routing prefixes, subnet numbers, and interface addresses. Except for addresses starting with binary 000, all global IPv6 unicast addresses have a 64-bit interface address. Currently, global unicast addresses are allocated starting with binary 001 (2000::/3). The following figure shows the format of a global aggregatable unicast address. Addresses with prefixes from 2000::/3 (001) to E000::/3 (111) require a 64-bit interface address in the format (EUI)-64. IANA (Internet Assigned Numbers Authority) distributes the 2000::/16 IPv6 address space to address registration agencies in various regions, such as APNIC. In general, a global aggregable IPv6 address contains a 48-bit global routing prefix and a 16-bit subnet number or a regional aggregable prefix (Site-Level Aggregator-- SLA). The IPv6 Global Aggregable Unicast Address Format document (RFC 2374) states that the global routing prefix includes a two-layer hierarchical structure: Top-Level Aggregator (TLA) and Next-Level Aggregator (NLA). Now, IETF has decided to remove the regional provisions of TLS and NLA from RFCs, which will allow for more flexibility in routing aggregation. Some networks that have already adopted the aggregation method in RFC 2374 can continue to use the original method. A 16-bit subnet identifier is called a subnet number, which can be used by different organizations to distinguish their internal address allocations. A subnet number is very similar to an IPv4 subnet, except that there can be up to 65,535 subnets. An interface address is used to identify the interface of a link. Interface addresses must be unique on a link, and they can be any of the 64-bit interface addresses as long as they are unique. In most cases, the interface address can be derived from the link layer address. In the globalized, aggregatable IPv6 address, the interface address must be 64 bits long and in the modified EUI-64 format. The modified EUI-64 format interface address can be generated from one of the following methods: For all IEEE 802 interface types (such as Ethernet, FDDI, etc.), the first three octets (24 bits) are copied from the OUI (Organizationally Unique Identifier) in the MAC address; the fourth and fifth octets are FFFE, and the last three octets (24 bits) copy the last 24 bits in the MAC address. Finally, the seventh bit (U/L) of the first octet of the constructed 64-bit interface address indicates whether the interface address is localized or local: 0 indicates a local address, and 1 indicates a globally unique interface address. For other interface types (such as serial, loopback, ATM, Frame Relay, and tunnel interfaces—except IPv6 overlay tunnel interfaces), the interface address is constructed in a similar way to IEEE 802 interface types: the MAC address comes from the first MAC address in the device's MAC address pool. When the interface type is IPv6 overlay tunnels, the interface address is the lower 32 bits of the IPv4 address plus all 0s in the upper bits. Note that when the interface type is PPP, different interfaces at both ends may have the same MAC address; in this case, the devices at both ends need to renegotiate and reselect interface addresses until they are unique. The first MAC address of the network device is used to construct the PPP interface address. When the network device does not have an IEEE802 type interface, the link-local IPv6 address is generated as follows:
5. Site-Local Address A site-local address is an IPv6 unicast address with the prefix FEC0::/10 and the 16-bit subnet number plus the 64-bit EUI-64 format. Site-local addresses are very similar to the private address space 10.0.0.0/8 in IPv4; they can be used to look up routes within an area without the need for a globally unique address prefix. Site-local addresses can be considered private addresses because they can only be used within a strictly limited area. The following figure shows a site-local address. IPv6 routers cannot forward packets with a site-local source or destination address outside the area. 6. Link-Local Address A link-local address is an IPv6 unicast address with a link-local prefix of FE80::/10 (1111 1110 10). The EUI-64 address format is automatically generated. Link-local addresses can be used in the neighbor discovery protocol and the stateless autoconfiguration process. Nodes on the same link can use link-local addresses to communicate; no site-local addresses or global unicast addresses are required. The following figure shows the structure of a link-local address. IPv6 routers cannot forward packets with link-local source or destination addresses to other networks or links. 7. IPv4-compatible IPv6 addresses An IPv4-compatible IPv6 address is an IPv6 unicast address with all 0s in the upper 96 bits and an IPv4 address in the lower 32 bits. This IPv4-compatible IPv6 address can be expressed as 0:0:0:0:0:0:ABCD or ::ABCD. The entire 128-bit IPv4-compatible IPv6 address is the IPv4 address of the network node directly implanted into the lower 32 bits of the IPv6 address. IPv4-compatible IPv6 addresses are used to use automatic tunneling technology (tunnels) when running IPv4 and IPv6 dual stacks. The figure below shows the format of an IPv4-compatible IPv6 address. 8. Anycast address An anycast address is an IPv6 address belonging to the interfaces of multiple network nodes. A data packet with an anycast address as the destination address will be forwarded to the nearest network interface; the distance of the interface is determined by the result of the routing calculation. Anycast addresses are inseparable from unicast addresses in terms of address structure, because anycast addresses exist in the address space of unicast addresses. But when a unicast address can be received by more than one network interface, it is an anycast address. Anycast addresses need to be clearly defined on the network node: this address is an anycast address. 9. Multicast address An IPv6 address with the prefix FF00::/8 (1111 1111) means it is an IPv6 multicast address. When the destination address of a data packet is a multicast address, it will be copied and forwarded to multiple network receivers. The second octet of the multicast address prefix represents the range of the multicast address. This octet is divided into two parts: the first four digits 0000 represent a permanent multicast address, and the first four digits 0001 represent a temporary multicast address; the last four digits represent the multicast range, currently defined as 1, 2, 5, 8, or E, representing different multicast ranges. IPv6 devices (hosts and routers) must join the following multicast groups (and must receive corresponding multicast packets): All-nodes Multicast group for all nodes
Solicited-node Node requests multicast group
IPv6 routers must join the all-routers multicast group
|
<<: 6 solutions to the problem of no Internet access in Docker containers
CMIVPS released a Double 11 promotion plan, which...
The Ministry of Industry and Information Technolo...
Ding Ling, a modern Chinese feminist writer, publ...
AlphaVPS's Black Friday special packages incl...
During World War II, Motorola's SCR series wa...
[51CTO.com original article] On August 8, at the ...
On March 27, at the Huawei Developer Conference 2...
There is a very important indicator for evaluatin...
Starring in the story: Xiaohua is a freshman this...
[[435063]] WiFi HaLow is poised to become the nex...
DediPath has released a Chinese New Year promotio...
The tribe once shared information about NexusByte...
The Internet is constantly flooded with new infor...
Salute to China's communications industry, Hu...
As today's corporate organizations are active...