A classful network is an obsolete network addressing architecture used in the Internet from 1981 until the introduction of Classless Inter-Domain Routing (CIDR) in 1993. The method divides the IP address space for Internet Protocol version 4 (IPv4) into five address classes based on the leading four address bits. Classes A, B, and C provide unicast addresses for networks of three different network sizes. Class D is for multicast networking and the class E address range is reserved for future or experimental purposes.

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

Since its discontinuation, remnants of classful network concepts have remained 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.

Background

edit

In the original address definition, the most significant eight bits of the 32-bit IPv4 address was the network number field which specified the particular network a host was attached to. The remaining 24 bits specified the local address, also called rest field (the rest of the address), which uniquely identified 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 (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.

Before the introduction of address classes, the only address blocks available were these large blocks which later became known as Class A networks.[2] As a result, some organizations involved in the early development of the Internet received very large address space allocations (16,777,216 IP addresses each).

Introduction of address classes

edit

Expansion of the network had to ensure compatibility with the existing address space and the IPv4 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.[3] 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 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 respectively. 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 at-the-time unspecified addressing mode ("escape to extended addressing mode"),[3] which was later subdivided as Class D (1110) for multicast addressing, while leaving as reserved for future use the 1111 block designated as Class E.[4]

This architecture change extended the addressing capacity of 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. Due to the rapid growth of the Internet, the pool of unassigned Class B addresses (214, or about 16,000) was rapidly being depleted. Starting in 1993, classful networking was replaced by Classless Inter-Domain Routing (CIDR),[5][6] in an attempt to solve this problem.

Classful addressing definition

edit

Under classful network addressing, the 32-bit IPv4 address space was partitioned into five classes (A-E) as shown in the following tables.

Classes
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 Default subnet mask in dot-decimal notation CIDR notation
Class A 0 8 24 128 (27) 16,777,216 (224) 2,147,483,648 (231) 0.0.0.0 127.255.255.255[a] 255.0.0.0 /8
Class B 10 16 16 16,384 (214) 65,536 (216) 1,073,741,824 (230) 128.0.0.0 191.255.255.255 255.255.0.0 /16
Class C 110 24 8 2,097,152 (221) 256 (28) 536,870,912 (229) 192.0.0.0 223.255.255.255 255.255.255.0 /24
Class D (multicast) 1110 not defined not defined not defined not defined 268,435,456 (228) 224.0.0.0 239.255.255.255 not defined /4[7]
Class E (reserved) 1111 not defined not defined not defined not defined 268,435,456 (228) 240.0.0.0 255.255.255.255[b] not defined not defined
Bit-wise representation

In the following bit-wise representation,

  • 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

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 value to represent the network address and the all-bits-one host value for use as a broadcast address. Thus, for a Class C address with 8 bits available in the host field, the maximum 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 implied by the address itself; any network device would inspect the first few bits of the IP address to determine the class of the address and thus its netmask.

The blocks numerically at the start and end of classes A, B and C were originally reserved for special addressing or future features, i.e., 0.0.0.0/8 and 127.0.0.0/8 are reserved in former class A; 128.0.0.0/16 and 191.255.0.0/16 were reserved in former class B but are now available for assignment; 192.0.0.0/24 and 223.255.255.0/24 are reserved in former class C. While the 127.0.0.0/8 network is a Class A network, it is designated for loopback and cannot be assigned to a network.[8]

Class D is reserved for multicast and cannot be used for regular unicast traffic. Class E is reserved and cannot be used on the public Internet. Many older routers will not accept using it in any context.[citation needed]

See also

edit

Notes

edit
  1. ^ 127.0.0.0 through 127.255.255.255 are reserved for loopback addresses. Although reserved, they are still part of the class A address group.
  2. ^ 255.255.255.255 is reserved as the IPv4 broadcast address.

References

edit
  1. ^ J. Postel, ed. (January 1980). INTERNET PROTOCOL - DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. IETF. doi:10.17487/RFC0760. RFC 760. IEN 128. Obsolete. sec. 3.1. Obsoleted by RFC 791. Replaces IEN 123, 111, 80, 54, 44, 41, 28 and 26. Updated by RFC 777.
  2. ^ Clark, David D. (June 1978). A proposal for addressing and routing in the Internet. IETF. IEN 46. Retrieved 2014-01-08.
  3. ^ a b J. Postel, ed. (September 1981). INTERNET PROTOCOL - DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. IETF. doi:10.17487/RFC0791. STD 5. RFC 791. IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Internet Standard 5. Obsoletes RFC 760. Updated by RFC 1349, 2474 and 6864.
  4. ^ S.E. Deering (July 1986). Host Extensions for IP Multicasting. Network Working Group. doi:10.17487/RFC0988. RFC 988. Obsolete. Obsoleted by RFC 1054 and 1112.
  5. ^ Y. Rekhter; T. Li, eds. (September 1993). An Architecture for IP Address Allocation with CIDR. Network Working Group. doi:10.17487/RFC1518. RFC 1518. Historic.
  6. ^ V. Fuller; T. Li; J. Yu; K. Varadhan (September 1993). Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy. Network Working Group. doi:10.17487/RFC1519. RFC 1519. Obsolete. Obsoleted by RFC 4632. Obsoletes RFC 1338.
  7. ^ MULTICAST_IP_ADDR. General Electric Digital Solutions. CIMPLICITY 10.0. In network prefix or Classless Inter-Domain Routing ( CIDR) notation, IP multicast addresses are summarized as 224.0.0.0/4.
  8. ^ M. Cotton; L. Vegoda (January 2010). Special Use IPv4 Addresses. RFC 5735.
edit