Classful network

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A classful network is a network addressing architecture used in the Internet from 1981 until the introduction of Classless Inter-Domain Routing in 1993. The method divides the address space for Internet Protocol Version 4 (IPv4) into five address classes. Each class, coded in the first four bits of the address, defines either a different network size, i.e. number of hosts for unicast addresses (classes A, B, C), or a multicast network (class D). The fifth class (E) address range is reserved for future or experimental purposes.

Since its discontinuation, remnants of classful network concepts remain in practice only in limited scope in the default configuration parameters of some network software and hardware components (e.g., default subnet mask).

Map of the prototype Internet in 1982, showing 8-bit-numbered networks (ovals) only, interconnected by routers (rectangles).

Background

Originally, a 32-bit IPv4 address was logically subdivided into the network number field, the most significant 8 bits of an address, which specified the particular network a host was attached to, and the local address, also called rest field (the rest of the address), which uniquely identifies a host connected to that network.[1] This format was sufficient at a time when only a few large networks existed, such as the ARPANET, which was assigned the network number 10, and before the wide proliferation of local area networks (LANs). As a consequence of this architecture, the address space supported only a low number (254) of independent networks, and it became clear very early on that this would not be enough.

Introduction of address classes

Expansion of the network had to ensure compatibility with the existing address space and the Internet Protocol (IP) packet structure, and avoid the renumbering of the existing networks. The solution was to expand the definition of the network number field to include more bits, allowing more networks to be designated, each potentially having fewer hosts. Since all existing network numbers at the time were smaller than 64, they had only used the 6 least-significant bits of the network number field. Thus it was possible to use the most-significant bits of an address to introduce a set of address classes while preserving the existing network numbers in the first of these classes.

The new addressing architecture was introduced by RFC 791 in 1981 as a part of the specification of the Internet Protocol.[2] It divided the address space into primarily three address formats, henceforth called address classes, and left a fourth range reserved to be defined later.

The first class, designated as Class A, contained all addresses in which the most significant bit is zero. The network number for this class is given by the next 7 bits, therefore accommodating 128 networks in total, including the zero network, and including the existing IP networks already allocated. A Class B network was a network in which all addresses had the two most-significant bits set to 1 and 0. For these networks, the network address was given by the next 14 bits of the address, thus leaving 16 bits for numbering host on the network for a total of 65536 addresses per network. Class C was defined with the 3 high-order bits set to 1, 1, and 0, and designating the next 21 bits to number the networks, leaving each network with 256 local addresses.

The leading bit sequence 111 designated an "escape to extended addressing mode",[2] and was later subdivided as Class D (1110) for multicast addressing,[3] while leaving as reserved for future use the 1111 block designated as Class E.

This addressing scheme is illustrated in the following table:

Class Leading
bits
Size of network
number
bit field
Size of rest
bit field
Number
of networks
Addresses
per network
Total addresses
in class
Start address End address
Class A     0     8     24     128 (27)     16,777,216 (224)     2,147,483,648 (231) 0.0.0.0 127.255.255.255
Class B     10     16     16     16,384 (214)     65,536 (216)     1,073,741,824 (230) 128.0.0.0 191.255.255.255
Class C     110     24     8     2,097,152 (221)     256 (28)     536,870,912 (229) 192.0.0.0 223.255.255.255
Class D (multicast)     1110     not defined     not defined     not defined     not defined     268,435,456 (228) 224.0.0.0 239.255.255.255
Class E (reserved)     1111     not defined     not defined     not defined     not defined     268,435,456 (228) 240.0.0.0 255.255.255.255

The number of addresses usable for addressing specific hosts in each network is always 2N - 2 (where N is the number of rest field bits, and the subtraction of 2 adjusts for the use of the all-bits-zero host portion for network address and the all-bits-one host portion as a broadcast address. Thus, for a Class C address with 8 bits available in the host field, the number of hosts is 254.

Today, IP addresses are associated with a subnet mask. This was not required in a classful network because the mask was implicitly derived from the IP address itself. Any network device would inspect the first few bits of the IP address to determine the class of the address.

Bit-wise representation

In the following table:

  • n indicates a bit used for the network ID.
  • H indicates a bit used for the host ID.
  • X indicates a bit without a 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

Replacement of classes

The first architecture change extended the addressing capability in the Internet, but did not prevent IP address exhaustion. The problem was that many sites needed larger address blocks than a Class C network provided, and therefore they received a Class B block, which was in most cases much larger than required. In the rapid growth of the Internet, the pool of unassigned Class B addresses (214, or about 16,000) was rapidly being depleted. Classful networking was replaced by Classless Inter-Domain Routing (CIDR), starting in 1993 with the specification of RFC 1518 and RFC 1519, to attempt to solve this problem.

Before the introduction of address classes, the only address blocks available were what later became known as Class A networks.[4] As a result, some organizations involved in the early development of the Internet received address space allocations far larger than they would ever need.

See also

References

  1. Postel, J., ed. (January 1980). "Internet Header Format". DoD standard Internet Protocol. IETF. sec. 3.1. RFC 760. https://tools.ietf.org/html/rfc760#section-3.1. Retrieved November 8, 2013. 
  2. 2.0 2.1 RFC 791, Internet Protocol, Information Sciences Institute (September 1981)
  3. Deering, S., ed. (August 1989). "Host Group Addresses". Host Extensions for IP Multicasting. IETF. sec. 4. RFC 1112. https://tools.ietf.org/html/rfc1112#section-4. Retrieved January 21, 2015. 
  4. Clark, David D. (June 1978). A proposal for addressing and routing in the Internet. IETF. IEN 46. https://tools.ietf.org/rfcmarkup?url=https://www.ietf.org/rfc/ien/ien46.txt. Retrieved January 8, 2014. 

External links