Diagram of the historical Class B IPv4 range, first-octet values, and default /16 network-host split

Class B IP: IPv4 Network and Address Ranges Explained

A class B IP address historically used a first octet from 128 through 191 and covered the full span from 128.0.0.0 to 191.255.255.255. Under the original classful IPv4 model, the first 16 bits identified the network and the final 16 bits identified hosts.

That historical boundary still helps you read older networking references, but modern networks use CIDR prefixes instead of relying on address classes. You should therefore separate the historical Class B definition from today’s subnetting and routing practice.

Class B IP: the 128–191 first-octet range and full span

Classful IPv4 identified Class B addresses by their first octet. Values from 128 to 191 matched the binary pattern 10 in the first two bits. Because the remaining six bits of the first octet could vary, Class B contained 64 possible first-octet values.

The complete historical class B address range was:

  • First-octet range: 128.0.0.0 through 191.255.255.255
  • Address count: 1,073,741,824 numerical IPv4 addresses
  • Historical network size: One /16 block per Class B network

This span describes the numerical class, not a guarantee that every address could be assigned to a host. Within each default /16 network, the first address identifies the network and the last address is the broadcast address. Special-use blocks also reduce the space available for ordinary public addressing. For example, 169.254.0.0/16 is link-local, and 172.16.0.0/12 is reserved for private use.

The class B network range: default mask 255.255.0.0 and /16 split

The default Class B subnet mask was 255.255.0.0, equivalent to /16. The mask made the first two octets the network portion and the last two octets the host portion:

  • Network bits: 16
  • Host bits: 16
  • Addresses per default network: 65,536
  • Typical usable host addresses: 65,534, excluding the network and broadcast addresses

The leading two bits were fixed to identify Class B, leaving 14 variable bits for the historical network identifier. That produced 16,384 theoretical Class B network numbers. In practice, reserved, private, special-use, and unassigned space affected which networks were available for ordinary use.

A worked class B address range example: 172.20.5.10

Consider 172.20.5.10 using the historical default Class B mask of 255.255.0.0:

  • Network portion: 172.20
  • Host portion: 5.10
  • Network address: 172.20.0.0
  • Broadcast address: 172.20.255.255
  • Typical usable host range: 172.20.0.1 through 172.20.255.254

The address 172.20.5.10 falls inside the private block 172.16.0.0/12, which spans 172.16.0.0 through 172.31.255.255. That private block includes only part of the historical Class B span. The entire class B address range begins at 128.0.0.0 and ends at 191.255.255.255, so you should not treat all Class B addresses as private.

Class B ranges in a CIDR world: private space versus classful space

Classless Inter-Domain Routing allows you to choose a prefix length that fits the network’s requirements. A network can use /17, /20, /24, or another valid prefix instead of the historical Class B /16 boundary. Routers read the CIDR prefix supplied with the address; they do not infer the network size from a first octet alone.

For example, 172.20.5.10/24 has the network address 172.20.5.0, not 172.20.0.0. Its network portion is the first three octets, and its host portion is the final octet. The address remains inside the private 172.16.0.0/12 block, while /24 determines the local subnet size.

Use the historical Class B definition when you need to interpret legacy documentation: first octets 128–191, default mask 255.255.0.0, and a 16-bit network/16-bit host split. Use CIDR notation for modern network design, subnetting, and routing decisions.