An IP address is the number that identifies where a host sits on an internet so that packets can be delivered to it. The original definition comes from RFC 791, “Internet Protocol,” written by Jon Postel and published in September 1981. The specification fixes the address at “a fixed length of four octets (32 bits)” and divides it into two parts: a network number identifying which network the host belongs to, followed by a local address identifying the host within that network. This split is what lets routers make decisions based on the network portion without needing to know about every individual host.
The original IPv4 design was classful: the leading bits of the address determined how the 32 bits were divided between network and host. RFC 791 defines three primary classes. In Class A “the high order bit is zero, the next 7 bits are the network, and the last 24 bits are the local address.” In Class B “the high order two bits are one-zero, the next 14 bits are the network and the last 16 bits are the local address.” In Class C “the high order three bits are one-one-zero, the next 21 bits are the network and the last 8 bits are the local address.” The idea, as the RFC explains, was to support “a small number of networks with a large number of host, a moderate number of networks with a moderate number of hosts, and a large number of networks with a small number of hosts.”
The companion document, RFC 790, “Assigned Numbers,” also published by Jon Postel in September 1981, recorded the actual allocations of these network numbers. It restates that “the Internet Protocol (IP) uses a 32 bit address and divides that address into a network part and a ‘rest’ or local address part,” and it tabulates the available counts: 128 Class A networks, 16,384 Class B networks, and 2,097,152 Class C networks. RFC 790 is the ancestor of the registry function that the IANA still performs, and the practice of one authority recording who holds which numbers traces directly back to Postel maintaining these lists.
The familiar dotted-decimal form, where an address such as 128.9.0.32 is written as four decimal numbers separated by dots, is simply a human-readable rendering of the four octets. Each octet ranges from 0 to 255, so the entire 32-bit space holds about 4.3 billion distinct addresses. In the early 1980s, when there were a few hundred hosts on the network, that seemed inexhaustible.
The classful scheme did not survive contact with growth. A site that needed more than 254 hosts had to jump from a Class C to a Class B, wasting tens of thousands of addresses, and the global routing table grew one entry per network. By the early 1990s both problems were acute, which led to classless addressing and to address-conservation techniques that let many hosts share a single public address. The 32-bit address itself, and the dotted-decimal way of writing it, remain exactly as RFC 791 specified more than four decades ago.