Classful network
From Wikipedia, the free encyclopedia
Classful networking is the name given to the first round of changes to the structure of the IP address in IPv4.
Classful networking is obsolete on the modern Internet. There is no longer any such thing as a class A/B/C network. The correct modern representation for what would have been referred to as a "Class B" prior to 1993 would be "a set of /16 addresses", under the Classless Inter-Domain Routing system.
Contents |
[edit] Before classes
Originally, the 32-bit IPv4 address consisted simply of an 8-bit network number field (which specified the particular network a host was attached to), and a rest field, which gave the address of the host within that network. This format was picked before the advent of local area networks (LANs), when there were only a few, large, networks such as the ARPANET.
This resulted in a very low count (256) of network numbers being available, and very early on, as LANs started to appear, it became obvious that that would not be enough.
[edit] Classes
As a kludge, the definition of IP addresses was changed to allow three different sizes of the network number field (and the associated rest field), as specified in the table below:
Class | Leading Value | Network Number Bits | Rest Bits |
---|---|---|---|
Class A | 0 | 7 | 24 |
Class B | 10 | 14 | 16 |
Class C | 110 | 21 | 8 |
Class D (multicast) | 1110 | ||
Class E (reserved) | 1111 |
This allowed the following population of network numbers (note that the actual numbers are slightly smaller because some values - e.g. all zeros - are not allowed):
Class | Leading Value | Network Numbers | Addresses Per Network |
---|---|---|---|
Class A | 0 | 126 | 16,777,214 |
Class B | 10 | 16,384 | 65,534 |
Class C | 110 | 2,097,152 | 254 |
The larger network number field allowed a larger number of networks, thereby accommodating the continued growth of the Internet.
The IP address netmask (which is so commonly associated with an IP address today) was not required because the mask length was part of the IP address itself. Any network device could inspect the first few bits of a 32-bit IP address to see which class the address belonged to.
The method of comparing two IP address's physical networks did not change, however (see subnet). For each address, the network number field size and its subsequent value were determined (the rest field was ignored). The network numbers were then compared. If they matched, then the two addresses were on the same network.
[edit] The replacement of classes
This first round of changes was enough to work in the short run, however; an IP address shortage still developed. The principal problem was that most sites were too big for a "class C" network number, and received a "class B" number instead. With the rapid growth of the Internet, the available pool of class B addresses (basically 214, or about 16,000 total) was rapidly being depleted. Classful networking was replaced by Classless Inter-Domain Routing (CIDR), starting in about 1993, to solve this problem (and others).
Early allocations of IP addresses by IANA were in some cases not made very efficiently, which contributed to the problem. (However, the commonly-held notion that some organizations unfairly or unnecessarily received class A networks is a canard; most such allocations date to the period before the introduction of address classes, when the only thing available was what later became known as "class A" network number.)
[edit] Useful tables
[edit] Class ranges
The address ranges used for each class are given in the following table, in the standard dotted decimal notation.
Class | Leading bits | Start | End | CIDR equivalent |
---|---|---|---|---|
Class A | 0 | 0.0.0.0 | 127.255.255.255 | /8 |
Class B | 10 | 128.0.0.0 | 191.255.255.255 | /16 |
Class C | 110 | 192.0.0.0 | 223.255.255.255 | /24 |
Class D (multicast) | 1110 | 224.0.0.0 | 239.255.255.255 | NA |
Class E (reserved) | 1111 | 240.0.0.0 | 255.255.255.255 | NA |
[edit] Special ranges
Some addresses are reserved for special uses (RFC 3330).
Addresses | CIDR Equivalent | Purpose | RFC | Class | Total # of addresses |
---|---|---|---|---|---|
0.0.0.0 - 0.255.255.255 | 0.0.0.0/8 | Zero Addresses | RFC 1700 | A | 16,777,216 |
10.0.0.0 - 10.255.255.255 | 10.0.0.0/8 | Private IP addresses | RFC 1918 | A | 16,777,216 |
127.0.0.0 - 127.255.255.255 | 127.0.0.0/8 | Localhost Loopback Address | RFC 1700 | A | 16,777,216 |
169.254.0.0 - 169.254.255.255 | 169.254.0.0/16 | Zeroconf / APIPA | RFC 3330 | B | 65,536 |
172.16.0.0 - 172.31.255.255 | 172.16.0.0/12 | Private IP addresses | RFC 1918 | B | 1,048,576 |
192.0.2.0 - 192.0.2.255 | 192.0.2.0/24 | Documentation and Examples | RFC 3330 | C | 256 |
192.88.99.0 - 192.88.99.255 | 192.88.99.0/24 | IPv6 to IPv4 relay Anycast | RFC 3068 | C | 256 |
192.168.0.0 - 192.168.255.255 | 192.168.0.0/16 | Private IP addresses | RFC 1918 | C | 65,536 |
198.18.0.0 - 198.19.255.255 | 198.18.0.0/15 | Network Device Benchmark | RFC 2544 | C | 131,072 |
224.0.0.0 - 239.255.255.255 | 224.0.0.0/4 | Multicast | RFC 3171 | D | 268,435,456 |
240.0.0.0 - 255.255.255.255 | 240.0.0.0/4 | Reserved | RFC 1700 | E | 268,435,456 |
[edit] Bit-wise representation
In the following table:
- n indicates a binary slot used for network ID.
- H indicates a binary slot used for host ID.
- X indicates a binary slot (without specified purpose).
Class A 0. 0. 0. 0 = 00000000.00000000.00000000.00000000 127.255.255.255 = 01111111.11111111.11111111.11111111 0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH 127>is a loop back ip address. Class B 128. 0. 0. 0 = 10000000.00000000.00000000.00000000 191.255.255.255 = 10111111.11111111.11111111.11111111 10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH Class C 192. 0. 0. 0 = 11000000.00000000.00000000.00000000 223.255.255.255 = 11011111.11111111.11111111.11111111 110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH Class D 224. 0. 0. 0 = 11100000.00000000.00000000.00000000 239.255.255.255 = 11101111.11111111.11111111.11111111 1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX Class E 240. 0. 0. 0 = 11110000.00000000.00000000.00000000 255.255.255.255 = 11111111.11111111.11111111.11111111 1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
[edit] See also
[edit] External links
- Classful Online IP Subnet Calculator
- RFC 791 — defines classful networking.
- Current class A delegation from IANA (Last updated: January 19th, 2006)