What Is IPv6?
Internet Protocol version 6 (IPv6), also called IP Next Generation (IPng), is a second-generation standard network layer protocol. The network layer where IPv6 resides provides connectionless data transmission services. IPv6 is designed by the IETF as an upgraded version of IPv4 and addresses many defects in IPv4. The most significant difference between IPv6 and IPv4 is that IP addresses are lengthened from 32 bits to 128 bits. IPv6 is more competitive in future markets with its simplified header, sufficient address space, hierarchical address structure, flexible extension header, and enhanced neighbor discovery mechanism.
Why Do We Need IPv6?
Internet Protocol (IP) is a network layer protocol in the TCP/IP protocol suite. (The network layer protocol is mainly responsible for addressing in the Internet, guiding the data packet to the correct destination.) IPv4 is a widely used Internet protocol. When the Internet was starting up, various problems of the IPv4 protocol begin to appear:
- Insufficient public IP addresses
IPv4 addresses are managed by five Internet address allocation organizations around the world. The IPv4 address space is about 4.29 billion, and about 3.647 billion IPv4 addresses are available. All IPv4 addresses have been allocated in 2019, which means that no more IPv4 addresses can be allocated to network service providers or enterprises. As a serious scarce resource, it is difficult for users to apply for fixed public IP addresses and the cost is very expensive.
- Low efficiency of private address communication
Before the exhaustion of IPv4 addresses and the completion of IPv6 transition, the NAT technology temporarily solves the problem of address exhaustion and explosive growth of network access requirements. However, the NAT technology itself has disadvantages, for example, it increases the network complexity. Maintaining the mapping between IP addresses and port numbers increases the workload of network devices and weakens the network structure. The essence of the Internet is to provide connections between people, and NAT undermines this principle.
- The number of entries in the routing table maintained by the device is too large.
In the early stage of IPv4 development, many IPv4 addresses are allocated discontinuously and routes cannot be aggregated. The ever-increasing routing table consumes a large amount of memory, affecting device costs and forwarding efficiency.
- Difficulty with auto-configuration and readdressing
An IPv4 address has only 32 bits and is allocated unevenly. Therefore, IP addresses need to be reallocated during network expansion or redeployment, which increases the maintenance workload.
- Remote access cannot ensure service quality
In a conventional enterprise networking configuration, a networking requirement of a mobile user (mobile office worker), a remote user, and a partner is generally implemented by using a VPN (Virtual Private Network, virtual private network) technology in a manner of dedicated software, dedicated/integrated hardware, or setting up a VPN server. As a result, problems such as high software development and operation and maintenance complexity, poor hardware product solution compatibility, increased IT (Information Technology, information technology) investment costs, and increased security risks are caused. In addition, an enterprise cannot predict reliability of transmission based on the public Internet, and cannot ensure service quality in a differentiated manner during heavy-traffic transmission.
- Difficulty in security source tracing
IPv4 is not designed with security in mind. Therefore, the inherent framework cannot support end-to-end security. The IPv4 network used by enterprises is designed without security consideration. As addresses are exhausted and allocated unevenly, NAT becomes the mainstream choice. That is, private addresses are allocated to terminal users behind NAT. Once illegal information is released or viruses are spread on the network, It is difficult to trace the source address, which greatly aggravates the network security problem.
However, networks are developing faster and there is an acute shortage of addresses, prompting the IETF to propose IPv6, IPv7, IPv8, and IPv9 drafts in the hopes that one of them would replace IPv4. After thorough discussion, the IETF finally chose IPv6 to replace IPv4, eliminating IPv7, IPv8, and IPv9 drafts. In 1990, the IETF proposed the IPv5 draft. Initially, the IETF expected IPv5 to carry streaming services (such as voice and video) and IPv4 to carry data services. However, the draft has not been widely deployed and will not be publicly used.
IPv6 evolution
What Is an IPv6?
IPv6 Address Format
A 128-bit IPv6 address has two formats:
X:X:X:X:X:X:X:X
An IPv6 address in this format is written as eight groups of four hexadecimal digits (0 to 9, A to F), each group separated by a colon (:). Each "X" represents a group of hexadecimal digits. An IPv6 address example is as follows:
2001:db8:130F:0000:0000:09C0:876A:130B
For convenience, leading zeros of each group can be omitted. Therefore, the preceding address can be written as:
2001:db8:130F:0:0:9C0:876A:130B
Any number of consecutive groups of 0s can be replaced with two colons (::). Therefore, the given example can be written as:
2001:db8:130F::9C0:876A:130B
An IPv6 address can contain only one double-colon substitution. Multiple occurrences of double-colon substitutions lead to ambiguity.
X:X:X:X:X:X:d.d.d.d
IPv4-mapped IPv6 address: The format of an IPv4-mapped IPv6 address is 0:0:0:0:0:FFFF:IPv4-address. IPv4-mapped IPv6 addresses are used to represent IPv4 node addresses as IPv6 addresses.
"X:X:X:X:X:X" represents the high-order six groups of digits, with each "X" standing for 16 bits, which are represented by hexadecimal digits. "d.d.d.d" represents the low-order four groups of digits, with each "d" standing for 8 bits, which are represented by decimal digits. "d.d.d.d" is a standard IPv4 address.
IPv6 Address Structure
An IPv6 address is composed of two parts:
Network prefix: equivalent to the network ID of an IPv4 address, which is of n bits.
Interface ID: equivalent to the host ID of an IPv4 address, which is of (128 - n) bits.
The figure illustrates the structure of the address 2001:DB8:6101:1::E0:F726:4E58 /64.
Structure of the address 2001:DB8:6101:1::E0:F726:4E58 /64
IPv6 Address Classification
IPv6 addresses have three types.
Unicast address: identifies a single network interface and is similar to an IPv4 unicast address. A packet destined for a unicast address is transmitted to the unique interface identified by this address.
A global unicast address cannot be the same as its network prefix, because this type of address is a subnet-router anycast address reserved for a device. However, this rule does not apply to an IPv6 address with a 127-bit network prefix.
Anycast address: identifies a group of interfaces, which usually belong to different nodes. A packet destined for an anycast address is transmitted to only one of the interfaces, that is, the nearest one according to distance as defined by the routing protocol.
Application scenario: When a mobile host communicates with the mobile agent on the home subnet, it uses the anycast address of the subnet's routing device.
Address specifications: Anycast addresses do not have independent address space. They can use the format of any unicast address. Syntax is required to differentiate an anycast address from a unicast address.
As IPv6 defines, an IPv6 address with the interface identifier of all 0s is a subnet-router anycast address. As shown in the following figure, the subnet prefix is an IPv6 unicast address prefix which is specified during configuration of an IPv6 unicast address.
Format of a subnet-router anycast addressAn anycast address is not necessarily a subnet-router anycast address and can also be a global unicast address.
Multicast address: assigned to a set of interfaces that belong to different nodes and is similar to an IPv4 multicast address. A packet destined for a multicast address is transmitted to all the interfaces identified by this address.
IPv6 addresses do not include broadcast addresses. In IPv6, multicast addresses can provide the functions of broadcast addresses.
Unicast addresses can be classified into the types listed in the following table.
Address Type |
Binary Prefix |
IPv6 Prefix Identifier |
---|---|---|
Link-local unicast address |
1111111010 |
FE80::/10 |
Unique local unicast address |
1111110 |
FC00::/7 |
Loopback address |
00...1 (128 bits) |
::1/128 |
Unspecified address |
00...0 (128 bits) |
::/128 |
Global unicast address |
Others |
- |
Each unicast address type is described as follows:
Link-local unicast address: used in the neighbor discovery protocol and in the communication between nodes on the local link during stateless address autoconfiguration. The packet with the link-local unicast address as the source or destination address is only forwarded on the local link. The link-local unicast address can be automatically configured on an Ethernet interface using the link-local prefix FE80::/10 (1111 1110 10) and an EUI-64 interface ID (the 48-bit MAC address of an interface can be converted into a 64-bit interface ID according to IEEE EUI-64).
Unique local unicast address: identifies a single site and has a globally unique prefix. Sites use unique local unicast addresses to establish private connections, without incurring address conflicts. Even if routes destined for unique local unicast addresses leak, the routes do not conflict with Internet routes. Upper-layer applications use unique local unicast addresses as global unicast addresses.
Loopback address: is 0:0:0:0:0:0:0:1 or ::1 and not assigned to any interface. Similar to the IPv4 loopback address 127.0.0.1, the IPv6 loopback address indicates that a node sends IPv6 packets to itself.
Unspecified address (::): can neither be assigned to any node nor function as a destination address. The unspecified address can be used in the Source Address field of the IPv6 packet sent by an initializing host before it has learned its own address. During DAD, the Source Address field of an NS message is an unspecified address.
Global unicast address: equivalent to an IPv4 public address. Global unicast addresses are used on links that can be aggregated, and are provided to Internet service providers (ISPs). The structure of global unicast addresses enables route prefix aggregation, which maximizes the number of global routing entries. A global unicast address consists of a 48-bit route prefix managed by carriers, a 16-bit subnet ID managed by local nodes, and a 64-bit interface ID. Unless otherwise specified, global unicast addresses include site-local unicast addresses.
IPv4 vs IPv6
As networks develop quickly, the design deficiencies of IPv4 are becoming more and more obvious. Compared with IPv4, IPv6 provides some new features and improvements.
Item |
Disadvantage of IPv4 |
Advantage of IPv6 |
---|---|---|
Address space |
IPv4 addresses are 32 bits long, theoretically providing 4.3 billion IPv4 addresses. However, the number of IPv4 addresses that are actually available cannot reach such a value due to various address allocation reasons. IPv4 address resources are not allocated evenly. IPv4 addresses in the USA account for almost half of all addresses, leaving insufficient addresses for Europe, and even fewer for the Asia-Pacific region. Furthermore, the development of mobile IPv4 and broadband technologies requires more IP addresses. Currently, IPv4 addresses have been exhausted. While several solutions to IPv4 address exhaustion are currently in place, such as classless inter-domain routing (CIDR) and network address translation (NAT), they all have significant disadvantages. These disadvantages prompted the development of IPv6. |
IPv6 addresses are 128 bits long, allowing for an address space of 2128 possible addresses. This number of addresses makes IPv6 address exhaustion very unlikely. |
Packet format |
An IPv4 packet header has an optional field (Options), which includes Security, Timestamp, and Record Route options. The variable length of the Options field results in an IPv4 packet header length range of 20 bytes to 60 bytes. IPv4 packets often need to be forwarded by intermediate devices. Using the Options field occupies a large amount of resources, and therefore this field is rarely used in practice. |
Unlike the IPv4 packet header, the IPv6 packet header does not carry IHL, Identification, Flags, Fragment Offset, Header Checksum, Options, or Padding fields, but it carries the Flow Label field. This facilitates IPv6 packet processing and improves processing efficiency. The Extension Header information field is added to the IPv6 packet header to support various options without changing the existing packet format, improving flexibility. |
Autoconfiguration and readdressing |
IPv4 addresses often need to be reallocated during network expansion or re-planning. Currently, IPv4 depends on the Dynamic Host Configuration Protocol (DHCP) to provide address autoconfiguration and readdressing to simplify address maintenance. |
IPv6 provides address autoconfiguration to allow hosts to automatically discover networks and obtain IPv6 addresses, improving network manageability. |
Route summarization |
Many non-contiguous IPv4 addresses are allocated. Routes cannot be summarized effectively due to incorrect IPv4 address allocation and planning. The increasingly large routing table consumes a lot of memory resources and affects forwarding efficiency. Manufacturers must continually upgrade devices to improve route addressing and forwarding performance. |
The enormous number of addresses available enables hierarchical network design in IPv6, facilitating route summarization and improving forwarding efficiency. |
End-to-end security |
The original IPv4 framework does not support end-to-end security because security was not fully considered during the initial design. |
IPv6 supports IP security (IPsec) authentication and encryption at the network layer, providing end-to-end security. |
Quality of service (QoS) |
IPv4 has no native mechanism to support QoS, particularly for real-time forwarding of voice, data, and video services such as network conferencing, telephones, and TVs. |
The Flow Label field in IPv6 guarantees QoS. |
Mobility |
Due to the development of the Internet, mobile IPv4 experiences significant issues such as triangular routing and source address filtering. |
Mobile IPv6 improves mobile communication efficiency and is transparent to the application layer because IPv6 has the native capability to support mobility. Unlike mobile IPv4, mobile IPv6 uses the neighbor discovery function to discover a foreign network and obtain a care-of address without the need to use any foreign agent. The mobile and peer nodes can communicate using the Routing and Destination Options headers. This function solves the issues of triangular routing and source address filtering found in mobile IPv4. |
Impact of IPv6 Deployment on Existing Networks and Services
- Impact of IPv6 on network performance
Enabling IPv6 on routers has little impact on high-performance routers. Typically, deploying IPv6 does not affect the network transmission delay or packet loss rate. If a router fails, IPv6 has little impact on the efficiency of updating information and calculating the optimal path.
- Impact of IPv6 on network maintenance
Using IPv6 increases engineers' maintenance workloads and requires the corresponding skills. However, IPv6 has little impact on network maintenance. Engineers capable of maintaining IPv4 can master IPv6 in a short period of time.
- Impact of IPv6 on services and applications
Existing services and applications on the IPv6 network are not affected. You can additionally access IPv6 resources. Deploying IPv6 usually requires service systems, such as the domain name system, to be adjusted. Incorrect configurations or defective software will affect your user experience.
The following briefly describes the association between IPv6 and the domain name system:
On an IPv6 network, each network device is identified by an IPv6 address. You can access the network only after obtaining the IPv6 address of the destination network device. Because 128-bit IPv6 addresses are difficult to remember, an IPv6 domain name system is established for IPv6 networks. When accessing a network device, you can directly use a domain name that is easy to remember. The server on the network resolves the domain name into an IPv6 address.
For example, Google's public domain name servers can map the domain name you enter to an IPv6 address. The IPv6 addresses of its servers are as follows:
- 2001:4860:4860::8888
- 2001:4860:4860::8844
- Author: Liu Xihan, Li Yefan
- Updated on: 2024-08-09
- Views: 33926
- Average rating: