Summary

  • RFC 1219 put subnet bits at the most-significant end and host bits at the least-significant end of an address, leaving a reserve of growth bits between them. Its mirror-image subnet numbering allowed either population to expand without renumbering hosts already in use.
  • Address preservation was narrower than state preservation. Growth could require new masks, an intra-domain routing protocol able to carry different masks, and coordination between the authority allocating subnets and the authorities allocating hosts.
  • Mixed masks failed asymmetrically: one stale host might send local traffic through a gateway, while another might ARP for a remote destination and receive no answer. The unchanged address could conceal a divided forwarding reality.

A number could remain correct while its boundary moved

RFC 1219, On the Assignment of Subnet Numbers, was published in April 1991 under the name of P. F. Tsuchiya. The RFC Editor catalogue records it as Informational. The text calls the procedure a local, discretionary matter rather than an Internet standard; the IETF Datatracker preserves the document record, not evidence of a deployment.

The problem was not how to invent subnetting. RFC 950 had already described the address mask that lets a host divide an Internet address into network, subnet and host portions. It recommended contiguous subnet bits at the most-significant end of the local address. That created a practical question for a network whose number of subnets and number of hosts per subnet were both uncertain: which side should receive the unused address space?

Give the spare bits to subnet numbers too early and a busy subnet may run out of host capacity. Give them to host numbers and a growing organisation may run out of subnets. Conventional counting makes both claims advance in the same direction. RFC 1219 changed the geometry rather than trying to forecast the winning claimant.

Host numbers continued to grow in the ordinary direction, from the least-significant end. Subnet numbers were counted in mirror image, so their one-bits advanced from the most-significant end. Between the host bits, or h-bits, and subnet bits, or s-bits, remained zero-valued g-bits: a common growth reserve.

If a subnet needed more hosts, it consumed a g-bit from the host side. If the network needed another subnet, the root allocation consumed a g-bit from the subnet side. Already assigned host addresses did not need to change. The same bit string could survive either expansion.

That is the precise achievement. The bit string survived. The rule used to interpret it might not.

The mask carried the current agreement

A subnet mask is not decoration around an address. It tells a host which destinations are directly reachable and which belong through a gateway. When a g-bit became an s-bit or an h-bit, the correct mask could change even though every address remained identical.

RFC 1219 makes both directions explicit. Adding a subnet can expand the subnet portion and require an existing subnet to adopt a mask with another one-bit. Adding hosts can turn a growth bit into part of the host field and require all hosts on that subnet to shorten their masks. The migration saving is therefore renumbering avoided, not reconfiguration avoided.

That distinction becomes sharper in RFC 1009, the gateway requirements context cited by RFC 1219. It allowed multiple subnet masks in a subnetted network and required a distinct mask to be configurable per gateway interface. RFC 1219 consequently required an intra-domain routing protocol capable of handling multiple masks.

“Capable” is an architectural prerequisite, not an operating result. A router may support the feature while carrying an old mask. A database may hold the intended allocation while an interface retains another. A routing update may be emitted without every peer installing it. The address field alone cannot distinguish those states.

Two authorities met at one last bit

The shared reserve also created a governance boundary. RFC 1219 names a root address authority, RootAA, responsible for subnet allocations. Within each subnet, a subnet address authority assigns host numbers. For most growth, those authorities can act independently because they consume g-bits from opposite ends.

Independence ends at the final g-bit. If the root takes it for a new subnet, a host authority can no longer take it for local growth. If a subnet takes it for hosts, the root cannot use it to create another subnet. The algorithm therefore requires coordination at the moment scarcity becomes indivisible.

The bit is small; the control decision is not. One authority sees aggregate demand for subnets. Another sees local pressure for hosts. Each can be correct within its own ledger and still make an incompatible decision if versions or timing diverge. The resulting conflict is not repaired by pointing out that all existing addresses are unchanged.

Nor does the RFC prove that any named organisation implemented RootAA and subnet-AA operations exactly as described. These are roles in the procedure. Evidence of real coordination would require dated allocation records, actors, approvals, propagated configurations and observation of the resulting network.

Stale masks failed in opposite directions

RFC 1219 is unusually useful because it follows partial deployment far enough to show two different failures.

Suppose a host keeps a mask with too many one-bits after a boundary moves. It treats part of its true local subnet as remote and sends a packet to the gateway. The gateway may forward the packet back onto the same subnet and may send an ICMP Redirect. Connectivity might survive, but by a detour. The redirect is a possible corrective signal, not proof that the source accepted it or that the path was harmless.

Now suppose a host keeps a mask with too few one-bits. It treats a truly remote destination as local. Instead of giving the packet to a gateway, it issues ARP on the local link. The remote host cannot answer that local broadcast. No route is tried, and communication can simply stop. Inconsistent masks can also disrupt subnet-directed broadcast behavior.

The asymmetry defeats a simple migration dashboard. Two machines can retain their old IP addresses. One reaches a peer inefficiently through a gateway; the other never reaches the peer at all. A count of “addresses changed: zero” reports success while forwarding has split into at least three states: direct local delivery, gateway detour and unanswered local resolution.

The examples in the RFC demonstrate consequences of its state model. They do not establish that a particular network executed the transition, that redirects repaired it, or that end-to-end applications remained available. Algorithm, committed configuration, converged routing, packet reachability and user outcome are separate records.

The preservation claim needs its full denominator

RFC 1219 says the technique was not widely known and even less widely implemented when it appeared. That is a contemporary qualification, not a measurement of adoption in later years. The source packet contains no operator report, software release, traffic capture or longitudinal study with which to upgrade the design into a deployment history.

Security is similarly bounded. The document says security issues are not discussed. It supplies no support for authentication of allocation changes, authorization at the last g-bit, integrity of mask distribution, confidentiality or safe rollback.

The durable contribution is therefore a distinction. A system can preserve a visible identifier while changing the control state that gives the identifier meaning. The address is what an inventory sees. The mask is what the host believes. The route is what the network has converged on. Reachability is what packets demonstrate. An outcome is what an application or user experiences.

RFC 1219 made the first item easier to preserve. It did not collapse the other four into it.

Sources