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 by address range. Classes A, B, C are networks of three different network sizes, i.e. number of hosts for unicast addresses. Class D is for multicast. The class E address range is reserved for future or experimental purposes. Under classful networking, the subnet mask was implied by which address range (class) the address occupied and did not need to be specified separately.
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, most notably in the default configuration of subnet masks.
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. 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. 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", and was later subdivided as Class D (1110) for multicast addressing, while leaving as reserved for future use the 1111 block designated as Class E.
Classful addressing definition
|Size of network
number bit field
|Size of rest
|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)||22.214.171.124||126.96.36.199|
|Class C||110||24||8||2,097,152 (221)||256 (28)||536,870,912 (229)||192.0.0.0||188.8.131.52|
|Class D (multicast)||1110||not defined||not defined||not defined||not defined||268,435,456 (228)||184.108.40.206||220.127.116.11|
|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.
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 18.104.22.168 = 10111111.11111111.11111111.11111111 10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH Class C 192. 0. 0. 0 = 11000000.00000000.00000000.00000000 22.214.171.124 = 11011111.11111111.11111111.11111111 110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH Class D 224. 0. 0. 0 = 11100000.00000000.00000000.00000000 126.96.36.199 = 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
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. As a result, some organizations involved in the early development of the Internet received address space allocations far larger than they would ever need.
- IPv4 subnetting reference
- List of assigned /8 IPv4 address blocks
- Private network - common use of classful networks
- 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.
- RFC 791, Internet Protocol, Information Sciences Institute (September 1981)
- 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.
- 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.
- IANA, Current IPv4 /8 delegations
- Overview of IP addressing, both classless and classful (404)
- Postel, Jon, RFC 790 "Assigned Numbers", September 1981, which includes a list of Class A networks as of that date.