Youtube

Go to The Main Page Add Youtube to favorite!

Classful routing 

Classful network is a term that was used to describe the network architecture of the Internet until 1993. The concept of classful networks was introduced in 1981 in the seventh revision to the U.S. Department of Defense Standard Internet Protocol specification (RFC 791). Previously (RFC 762), the 32-bit address space was divided into a set of 254 networks with 8-bit numbers (0 and 255 were reserved numbers), occupying the first octet of an address. Quickly, this scheme proved insufficient as local area networks developed that required individual network designations. Classful network design was the method to allow for a larger number of individual allocations. The leading bits of the first octet of an IP address were now used to imply the "class" of the address, rather than just the network number, and depending on this class, the network designation was based on octet-boundary segments of the entire address.

While successful during the first decade of the modern Internet, classful network architecture proved unscalable in the rapid expansion of the network and was abandoned in 1993 when Classless Inter-Domain Routing (CIDR) was introduced.

Today, remnants of classful network concepts remain in practice only in a limited scope in the default configuration parameters of some network software and hardware components (e.g. netmask).

Contents

Before Classes

The prototype Internet in 1982; note that all the networks (the ovals) have addresses which are single integers; the rectangles are switches.
The prototype Internet in 1982; note that all the networks (the ovals) have addresses which are single integers; the rectangles are switches.

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 number (254) of possible independent networks, and very early on, as local area networks started to appear, it became obvious that this would not be enough.

Classes

To remain compatible with the existing IP address space and the IP packet structure, the definition of IP addresses was changed in 1981 in RFC 791 to allow unicast addresses with three different sizes of the network number field (and the associated rest field), as specified in the table below:

Class Leading Bit String Size of Network
Number
Bit field*
Size of Rest
Bit field
Class A     0     8     24
Class B     10     16     16
Class C     110     24     8
Class D (multicast)     1110 not defined not defined
Class E (reserved)     1111 not defined not defined
  • Includes the number of bits used for the leading bit string. Hence, number of bits actually used to specify the network number are 7, 14 and 21 respectively.

This allowed the following population of network numbers (excluding addresses consisting of all zeros or all ones, which are not allowed):

Class Leading Bit String Number of Networks Addresses Per Network
Class A     0     127     16,777,214
Class B     10     16,384     65,534
Class C     110     2,097,152     254

The number of valid networks and hosts available is always 2N - 2 (where N is the number of bits used, and the subtraction of 2 adjusts for the invalidity of the first and last addresses). Thus, for a class C address with 8 bits available for hosts, the number of hosts is 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 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.

The replacement of classes

This first round of changes was enough to work in the short run, but 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 American 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.)

Useful tables

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 Default subnet mask
Class A     0     0.0.0.0 127.255.255.255 /8 255.0.0.0
Class B     10 128.0.0.0 191.255.255.255 /16 255.255.0.0
Class C     110 192.0.0.0 223.255.255.255 /24 255.255.255.0
Class D (multicast)     1110 224.0.0.0 239.255.255.255 /4 not defined
Class E (reserved)     1111 240.0.0.0 255.255.255.255 /4 not defined

Special ranges

Some addresses are reserved for special uses (RFC 3330).[1]

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[2],[3],[4] RFC 1166 E 268,435,456

* Note that these ranges listed were originally defined as consecutive network blocks and their "CIDR Equivalent" notation makes them appear to be in the wrong "Class". While nowadays CIDR allows to use this range as a Class B subnet, some network hard- and software still has hard-coded limitations which still prevent use of subnets other than Class C size.

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
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

References

  • RFC 791, "Internet Protocol", (September 1981), This document defines classful networking.

See also

External links

Could not update stat
UP