On the assignment of subnet numbers
RFC 1219

Document Type RFC - Informational (April 1991; No errata)
Was draft-tsuchiya-subnetnos (individual)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 1219 (Informational)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                        P. Tsuchiya
Request for Comments: 1219                                      Bellcore
                                                              April 1991

                  On the Assignment of Subnet Numbers

Status Of This Memo

   This memo suggests a new procedure for assigning subnet numbers.  Use
   of this assignment technique within a network would be a purely local
   matter, and would not effect other networks.  Therefore, the use of
   these procedures is entirely discretionary.

   This memo provides information for the Internet community.  It does
   not specify an Internet standard.  Distribution of this memo is
   unlimited.

Overview

   RFC-950 [2] specifies a procedure for subnetting Internet addresses
   using a bit-mask.  While RFC-950 allows the "ones" in the subnet mask
   to be non-contiguous, RFC-950 recommends that 1) they be contiguous,
   and 2) that they occupy the most significant bits of the "host" part
   of the internet address.

   RFC-950 did not specify whether different subnets of the same network
   may have different masks.  This ambiguity was unfortunate, as it
   resulted in development of routing protocols that do not support
   different masks; see e.g., RIP [6].  The Gateway Requirements RFC [7]
   settled the issue in favor of allowing different masks, and therefore
   future routing protocols may be expected to support this feature;
   OSPF [3] is an example.

   The network administrator must of course determine the mask for each
   subnet.  This involves making an estimate of how many hosts each
   subnet is expected to have.  As it is often impossible to predict how
   large each subnet will grow, inefficient choices are often made, with
   some subnets under-utilized, and others possibly requiring
   renumbering because of exceeded capacity.

   This memo specifies a procedure for assigning subnet numbers that
   eliminates the need to estimate subnet size.  Essentially, host bits
   (mask = 0) are assigned from the least significant bit working
   towards the most, and subnet bits (mask = 1) are assigned from the
   most significant bit working towards the least.  As subnets grow,
   more host bits are assigned.  As the number of subnets grows, more
   subnet bits are assigned.  While this process does sometimes result

Tsuchiya                                                        [Page 1]
RFC 1219          On the Assignment of Subnet Numbers         April 1991

   in new subnet masks, no host ever need change addresses.

   This technique is not new, but it is also not widely known, and even
   less widely implemented.  With the development of new routing
   protocols such as OSPF, it is possible to take full advantage of this
   technique.  The purpose of this memo, then, is to make this technique
   widely known, and to specify it exactly.

   This memo requires no changes to existing Internet standards.  It
   does, however, require that the intra-domain routing protocol handle
   multiple different subnet masks.

Acknowledgments

   The author would like to thank Phil Karn, Charles Lynn, Jeff Mogul,
   and Charles Wolverton for their helpful suggestions.  Special thanks
   go to Joel Halpern for his painstaking debugging of the detailed
   specification and the examples.

1.  Motivation

   The Subnetting standard, RFC-950, specifies that the Host part of the
   formally 2-level Internet address can be divided into two fields,
   Subnet and Host.  This gives the Internet address a third level of
   hierarchy, and the concomitant firewalls and savings in routing
   overhead.  It also introduces increased inefficiency in the
   allocation of addresses.

   This inefficiency arises from the fact that the network administrator
   typically over-estimates the size (number of hosts) of any single
   subnetwork, in order to prevent future re-addressing of subnets.  It
   may also occur if the routing protocol being used does not handle
   different length subnets, and the administrator must therefore give
   every subnet an amount of space equivalent to that received by the
   largest subnet. (This RFC does not help in the latter case, as the
   technique herein requires different length subnets.)

   The administrative hassle associated with changing the subnet
   structure of a network can be considerable.  For instance, consider
   the following case.  A network has three subnets A, B, and C.  Assume
   that the lowest significant byte is the host part, and the next byte
   is the subnet part (that is, the mask is 255.255.255.0).  Assume
   further that A has subnet 1.0, B has subnet 2.0, and C has subnet
   3.0.

   Now, assume that B grows beyond its allocation of 254 hosts.
   Ideally, we would like to simply change B's mask without changing any
   of the host addresses in B.  However, the subnets numerically above

Tsuchiya                                                        [Page 2]
Show full document text