Figure 3-2 shows how the 32 bits of an IP address are broken down into four octets of eight bits each. As you can see, the four octets of an IP address are often referred to as w , x , y , and z .
FIGURE 3-2:Octets and dotted-decimal notation.
When the original designers of the IP protocol created the IP addressing scheme, they could have assigned an arbitrary number of IP address bits for the network ID. The remaining bits would then be used for the host ID. For example, suppose that the designers decided that half of the address (16 bits) would be used for the network, and the remaining 16 bits would be used for the host ID. The result of that scheme would be that the Internet could have a total of 65,536 networks, and each of those networks could have 65,536 hosts.
In the early days of the Internet, this scheme probably seemed like several orders of magnitude more than would ever be needed. However, the IP designers realized from the start that few networks would actually have tens of thousands of hosts. Suppose that a network of 1,000 computers joins the Internet and is assigned one of these hypothetical network IDs. Because that network will use only 1,000 of its 65,536 host addresses, more than 64,000 IP addresses would be wasted.
Most of the current Internet is based on version 4 of the Internet Protocol, also known as IPv4. IPv4 has served the Internet well for more than 30 years. However, the growth of the Internet has put a lot of pressure on IPv4’s limited 32-bit address space. This chapter describes how IPv4 has evolved to make the best possible use of 32-bit addresses. Eventually, though, all the addresses will be assigned, and the IPv4 address space will be filled to capacity. When that happens, the Internet will have to migrate to the next version of IP, known as IPv6.
IPv6 is also called IP next generation, or IPng, in honor of the favorite television show of most Internet gurus, Star Trek: The Next Generation.
IPv6 offers several advantages over IPv4, but the most important is that it uses 128 bits for Internet addresses instead of 32 bits. The number of host addresses possible with 128 bits is a number so large that it would have made Carl Sagan proud. It doesn’t just double or triple the number of available addresses, or even a thousand-fold or even a million-fold. Just for the fun of it, here is the number of unique Internet addresses provided by IPv6:
340,282,366,920,938,463,463,374,607,431,768,211,456
This number is so large it defies understanding. If the Internet Assigned Numbers Authority (IANA) had been around at the creation of the universe and started handing out IPv6 addresses at a rate of one per millisecond — that is, 1,000 addresses every second — it would now, 15 billion years later, have not yet allocated even 1 percent of the available addresses.
The transition from IPv4 to IPv6 has been slow. IPv6 is available on all new computers and has been supported on Windows since Windows XP Service Pack 1 (released in 2002). However, most ISPs still base their service on IPv4. Thus, the Internet will continue to be driven by IPv4 for at least a few more years.
Note: This is now the eighth edition of this book. Every previous edition of this book, all the way back to the very first edition published in 2004, has had this very sidebar. In 2004, I said that the Internet would continue to be driven by IPv4 for at least a few more years. “A few more years” has morphed into 14 years, and we’re still living in the world of IPv4. Make no mistake: The world will eventually run out of IPv4 addresses, and we’ll have to migrate to IPv6 … in a few years, whatever that means.
As a solution to this problem, the idea of IP address classes was introduced. The IP protocol defines five different address classes: A, B, C, D, and E. Each of the first three classes, A–C, uses a different size for the network ID and host ID portion of the address. Class D is for a special type of address called a multicast address. Class E is an experimental address class that isn’t used.
The first four bits of the IP address are used to determine into which class a particular address fits, as follows:
Class A: The first bit is zero.
Class B: The first bit is one, and the second bit is zero.
Class C: The first two bits are both one, and the third bit is zero.
Class D: The first three bits are all one, and the fourth bit is zero.
Class E: The first four bits are all one.
Because Class D and E addresses are reserved for special purposes, I focus the rest of the discussion here on Class A, B, and C addresses. Table 3-3summarizes the details of each address class.
TABLE 3-3IP Address Classes
Class |
Address Number Range |
Starting Bits |
Length of Network ID |
Number of Networks |
Hosts |
A |
1–126. x.y.z |
0 |
8 |
126 |
16,777,214 |
B |
128–191. x.y.z |
10 |
16 |
16,384 |
65,534 |
C |
192–223. x.y.z |
110 |
24 |
2,097,152 |
254 |
Class A addresses are designed for very large networks. In a Class A address, the first octet of the address is the network ID, and the remaining three octets are the host ID. Because only eight bits are allocated to the network ID and the first of these bits is used to indicate that the address is a Class A address, only 126 Class A networks can exist in the entire Internet. However, each Class A network can accommodate more than 16 million hosts.
Only about 40 Class A addresses are actually assigned to companies or organizations. The rest are either reserved for use by the Internet Assigned Numbers Authority (IANA) or are assigned to organizations that manage IP assignments for geographic regions such as Europe, Asia, and Latin America.
In case you’re interested, you can find a complete list of all the Class A address assignments at www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml
.
You may have noticed in Table 3-3that Class A addresses end with 126. x . y . z , and Class B addresses begin with 128. x . y . z . What happened to 127. x . y . z ? This special range of addresses is reserved for loop-back testing, so these addresses aren't assigned to public networks.
The special address 127.0.0.1 is called the loop-back address. A device at any IP address that sends a message to 127.0.0.1 is sending a message to itself. This may sound useless, but it actually plays an important role in troubleshooting network problems.
In a Class B address, the first two octets of the IP address are used as the network ID, and the second two octets are used as the host ID. Thus, a Class B address comes close to my hypothetical scheme of splitting the address down the middle, using half for the network ID and half for the host ID. It isn’t identical to this scheme, however, because the first two bits of the first octet are required to be 10, in order to indicate that the address is a Class B address. As a result, a total of 16,384 Class B networks can exist. All Class B addresses fall within the range 128. x . y . z to 191. x . y . z . Each Class B address can accommodate more than 65,000 hosts.
Читать дальше