3. Understanding IPv6
Although IPv4 allows for more than four billion networked
computers and devices, the world is running out of available IPv4
addresses. Rather than allow there to be a shortage of available
addresses, organizations have worked together to create several
solutions to the problem. One of these solutions is IPv6. Unlike IPv4,
which uses 32-bit addresses, IPv6 uses 128-bit addresses, which offer
literally enough IP addresses so that there are thousands of IP
addresses for each square yard of the Earth’s surface. Or put another
way, there are about 340,282,367,000,000,000,000,000,000,000,000,000,000
available addresses—give or take a few hundred million
quadrillion.
To make it easier to track all those IP addresses, IPv6 uses
hexadecimal numbers rather than decimal numbers to define the address
space. This means that instead of allowing only the numbers 0 through 9
for each position in the IP address, IPv6 allows the values 0 through 9
and A through F, with A representing 10, B representing 11, and so on,
up to F representing 15. Thus, the values 0 through 15 can be
represented using the values 0 through F.
IPv6’s 128-bit addresses are divided into eight 16-bit blocks
delimited by colons. With standard IPv6 addresses, the first 64 bits
represent the network ID and the last 64 bits represent the network
interface being used. Since many IPv6 address blocks are set to 0, a
contiguous set of 0 blocks can be expressed as ::, a notation referred
to as the double-colon notation. Table 4 shows an example of an IPv6 IP address
and an abbreviated IP address.
Table 5. IPv6 address example
IPv6
address | Abbreviated IPv6
address |
---|
FE80:0:0:033C:FB:B335:FE4F:752B | FE80::033C:FB:B335:FE4F:752B |
Just as there are different types of IPv4 addresses, there are
different types of IPv6 addresses. As Table 6 shows, the type of an IPv6
address is identified by the high-order bits of the address. The IPv6
address 0:0:0:0:0:0:0:1 is used for local loopback. IPv6 addresses
beginning with FF00 are used for multicast transmissions. IPv6 addresses
beginning with FE80 are used for link-local unicast transmissions.
Link-local unicast IPv6 addresses are the equivalent of IPv4 automatic
private addresses. IPv6 addresses beginning with FEC0 are used for
site-local unicast transmissions. Site-local unicast IPv6 addresses are
the equivalent of IPv4 private addresses. Global unicast IPv6 addresses
are the equivalent of IPv4 public addresses because they are globally
reachable on the Internet and must be assigned by an IP address
authority.
Table 6. IPv6 subnet prefix example
IPv6 subnet prefix
length | Associated network
addresses |
---|
2001:1234:5678::/48 | 2001:1234:5678:: through
address 2001:1234:5678::FFFF:FFFF:FFFF:FFFF |
IPv6 doesn’t use subnet masks to identify which bits belong to the
network ID and which bits belong to the host ID. Instead, each IPv6
address is assigned a subnet prefix length that specifies how the bits
in the network ID are used. The subnet prefix length is represented in
decimal form. For example, if 48 bits in the network ID are used, the
subnet prefix length is written as /48. Table 7 shows an example of the subnet prefix
length and the associated network range.
Table 7. IPv6 address types
Address
type | Binary
prefix | IPv6
notation |
---|
Unspecified | 000000 | ::/128 |
Loopback | 000001 | ::1/128 |
Multicast | 11111111 | FF00::/8 |
Link-Local
unicast | 1111111010 | FE80::/10 |
Global
unicast | All other
addresses | |
IPv6 allows for a greater than 64 KB payload in an IPv4 packet,
which designers refer to as a jumbogram. These jumbograms greatly
increase the throughput of high-performance networks. IPv4 does not
support this type of transmission, and it has a 64 KB payload limit.
IPv6 packets are composed of two parts: a header and a payload
section. The first 40 octets of an IPv6 packet contain the header,
composed of the source and destination addresses, including an IPv4
version where necessary, traffic class section, flow label (for packet
priority information), payload length, next header addressing section,
and hop limit. The payload section consists of the actual data sent
during transmission. The payload section can contain either 64 KB of
information, like the IPv4 standard, or a jumbogram for true IPv6
“high-throughput” networking architectures. Table 8 shows an example of an IPv6
packet.
Table 8. IPv6 packet example
+ | Bits
0–3 | 4–7 | 8–11 | 12–15 | 16–19 | 20–23 | 24–27 | 28 |
---|
0 | Version | Traffic
class |
| Flow Label |
|
|
|
|
32 | Payload
Length |
|
|
| Next
Header |
| Hop Limit |
|
64 | Source address information |
|
|
|
|
|
|
|
192 | Destination address
information |
|
|
|
|
|
|
|
NOTE
IPv6 developers also implemented IP Security (IPSec)
into the protocol. IPSec lies within the IP network layer, and
encrypts and authenticates as an integrated part of the protocol by
default. This eliminates additional overhead in encoding and decoding
packets using IPSec functionality.
4. Configuring IPv4, IPv6, and Other Protocols
Each network adapter configured on your computer has a
separate IP addressing configuration, which you can manage through the
associated network connection. The network connection for the first
network adapter on the computer is named Local Area Connection; the
second network adapter is named Local Area Connection 2, and so on.
Connections for wireless, dial-up, or broadband have either default
names or the names you assigned when you created the connection.
During installation of the operating system, the Setup program
automatically installed the necessary networking components for your
computer if a network adapter was detected. In addition to TCP/IPv4 and
TCP/IPv6, Windows 7 uses the following networking components:
- Client for Microsoft Networks
Allows you to connect to Microsoft-based networking
services. If you are connecting to a Windows domain, you are
required to use this protocol.
- QoS Packet Scheduler
Offers the capability to define which protocols and
applications have precedence in a situation where multiple
applications or protocols request access to the same network
resources. This protocol gives you the ability to raise or lower
the priority of the requests made. Basically, the Quality of
Service (QoS) Packet Scheduler works as a traffic cop by allowing
you to control the rate of flow and prioritization of services
available.
- File and Printer Sharing for Microsoft Networks
Allows other computers to connect to and access resources on
your computer when using Microsoft networking protocols. This
feature also allows you to access resources on remote machines
connected to your network and on the Internet.
- Link-Layer Topology Discovery Mapper I/O Driver
Allows your computer to discover and locate other
computers and devices on the network. Also used to determine the
available network bandwidth.
- Link-Layer Topology Discovery Responder
Allows your computer to be discovered and located by other
computers and devices on the network.
Although you will probably use only IPv4 on your home or
small-office network, you should understand how IPv6 works and be able
to configure the protocol. You can manually assign IPv4 and IPv6
addresses using static IP addresses, or automatically assign them using
dynamic IP addresses. You configure the IPv4 and IPv6 protocols in
exactly the same way, with the following exceptions:
IPv4 uses subnet masks, and IPv6 uses subnet prefix
lengths.
IPv4 uses both DNS and WINS for locating computers and devices
on the network, and IPv6 uses only DNS.
IPv4 allows for automatic private IP addressing if a DHCP
server cannot be located, and IPv6 simply assigns the computer a
link-local unicast (private) IP address based on the MAC address of
the network adapter.
On a per-network-connection basis, you can configure the
networking protocols used by completing the following steps:
Click Start, and then click Control Panel.
In the Control Panel, click Network and Internet→Network and
Sharing Center.
In the Network and Sharing Center, click “Change adapter
settings.” This opens the Network Connections window.
Right-click the network connection you want to configure and
then select Properties. This displays a Properties dialog box, as
shown in Figure 1.