A Practical Guide to Advanced Networking: IPv6
Address space for IPv4 is quickly running out due to the rapid growth of the Internet and the development of new Internet-compatible mobile technologies. Examples of this include the IP addressable telephone, wireless personal digital assistants (PDAs), cell phones, game consoles, and home-networking systems. There have been many predictions of when the IPv4 address pool will be exhausted. The answer to this question is not clear. Techniques such as Network Address Translation/Port Address Translation (NAT/PAT), Dynamic Host Control Protocol (DHCP), and Classless Inter-Domain Routing (CIDR) have been implemented to prolong the life of IPv4. These techniques reuse the existing IPv4 address space and handle the address space allocation more efficiently.
A solution to the limited number of available IPv4 addresses is to migrate to IPv6. IP version 6 (IPv6) is the solution proposed by the Internet Engineering Task Force (IETF) for expanding the possible number of IP addresses to accommodate the growing users on the Internet. IPv6, introduced in 1999, is also called IPng.
This chapter provides a comparison of IPv6 and IPv4 in Section 8-1. The structure of the IPv6 address is examined in Section 8-2. Concepts such as the network prefix and the prefix length are examined. IPv6 network settings are examined in Section 8-3. Steps for configuring IPv6 in both the Windows and Mac OS X environments are examined. The steps for configuring a router to run IPv6 are examined in section 8-4. This chapter concludes with a look at troubleshooting the IPv6 connection in Section 8-5.
8-1. Comparison of IPv6 and IPv4
IPv4 and IPv6 are not compatible technologies, and they cannot communicate directly with each other. So, before migrating to an IPv6 environment, the network devices and network equipment need to be IPv6 compatible or enabled. Most likely new network hardware and software will have to be acquired to make the network IPv6 ready. A good migration plan has to be developed to prepare for IPv6. The investment of time, money, and training is required for a successful adoption of IPv6.
The size of the IPv6 address is increased to 128 bits, which is four times larger than the 32-bit address space IPv4 is using. This significantly increases the number of available IP addresses. By doing this, the theoretical number of unique addresses increases from 4.3x109 (IPv4) to 3.4x1038 in IPv6. This is a staggering number considering the world population is 7x109 people.
Increasing the number of bits for the address also results in changing the IP header size. The IPv4 datagram is shown in Figure 8-1. A datagram is a self-contained entity that carries sufficient information to be routed from source to destination without relying on previous data exchanges between the source and destination computers or the transporting network.
Figure 8-1. The IPv4 Datagram (160 bits-96 bits for header fields)
The IPv4 header size is comprised of the information detailed in Figure 8-1. A total of 64 bits are used to define the source and destination IP addresses. Note that both the source and destination addresses are 32 bits in length. The combination of the two gives 64 bits. The total length of the IPv4 header is 160 bits; therefore, this means 160 – 64 = 96 bits are used to make up the remaining fields.
Figure 8-2. shows the IPv6 datagram. The IPv6 header size is 320 bits; however, 256 bits are used to define the source and destination IPv6 addresses. This means that 64 bits are used to define the remaining field as compared to 96 bits for IPv4.
Figure 8-2. The IPv6 Datagram (320 bits-64 bits for header fileds)
The IPv6 header has been simplified resulting in less header fields than in IPv4. This is designed to make packet processing more efficient by routers and other network equipments. One noticeably missing header field in IPv6 is the checksum field. This means there is no checksum calculation done by the routers in the path. This increases the routing performance and efficiency. The error detection is now done at the link layer and transport layer. In IPv4, the TCP transport layer is required to check the integrity of the packet by doing a checksum calculation. The same cannot be said for the UDP transport layer because the checksum is optional. Now, the checksums are required for both transport layers in IPv6.
One new feature that is built in with IPv6 is the IP security (IPsec). IPsec is the IETF standard for securing the IP communications between the network nodes by authenticating and encrypting the session. When using IPv4, a secure network IP communication link generally has to be initiated to provide security similar to an IPSec application. In IPv6, every node is enabled with the IPSec feature. This makes creating end-to-end IPSec sessions much easier to establish. In addition, IPSec feature is a part of the extension headers. In IPv6, there is a mandatory IPv6 main header and then there could be an extension header or extension headers. All options and special purposed fields can be provisioned into extension headers when needed. IPSec is one of the special options. This is how IPv6 simplifies its header fields.
Another giant step forward taken by IPv6 is the elimination of the broadcast. Broadcasts can cause many problems in computer networks. When a broadcast happens, every computer on the network is interrupted, even if only two computers are involved. The worst case situation is a broadcast storm. When this happens, the performance on a network is severely degraded, and it can bring down an entire network. IPv6 does not use broadcasts. It uses multicasts instead. A multicast is used in the core of many functions in IPv6. The multicast addresses are allocated from the multicast block. Any address starting with “1111 1111” in binary or “FF” in colon hexadecimal notation is an IPv6 multicast address. The concept of colon hexadecimal notation is discussed in Section 8-2. Even though there is no such thing as broadcast, there is a multicast address to the all-host multicast group.
Stateless address autoconfiguration (SLAAC) is another important feature of IPv6. This feature allows for a server-less basic network configuration of the IPv6 computers. With IPv4, a computer generally obtains its network settings from a DHCP server. With IPv6, a computer can automatically configure its network settings without a DHCP server by sending a solicitation message to its IPv6 router. The router then sends back its advertisement message, which contains the prefix information that the computer can use to create its own IPv6 address. This feature significantly helps simplify the deployment of the IPv6 devices, especially in the transient environments such as airports, train stations, stadiums, hotspots, and so on.