Subnetwork addressing scheme
RFC 932

Document Type RFC - Unknown (January 1985; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text html pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 932 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                     David D. Clark
Request for Comments: 932                                       MIT, LCS
                                                            January 1985

                     A SUBNETWORK ADDRESSING SCHEME

STATUS OF THIS MEMO

   This RFC suggests a proposed protocol for the ARPA-Internet
   community, and requests discussion and suggestions for improvements.
   Distribution of this memo is unlimited.

INTRODUCTION

   Several recent RFCs have discussed the need for a "subnet" structure
   within the internet addressing scheme, and have proposed strategies
   for "subnetwork" addressing and routing.  In particular, Jeff Mogul
   in his RFC-917, "Internet Subnets", describes an addressing scheme in
   which a variable number of the leading bits of the host portion of
   the address are used to identify the subnet.  The drawback to this
   scheme is that it is necessary to modify the host implementation in
   order to implement it.  While the modification is a simple one, it is
   necessary to retrofit it into all implementations, including those
   which are already in the field. (See RFC-917 by Mogul for various
   alternative approaches to this problem, such as using Address
   Resolution Protocol.)

   This RFC proposes an alternative addressing scheme for subnets which,
   in most cases, requires no modification to host software whatsoever.
   The drawbacks of this scheme are that the total number of subnets in
   any one network are limited, and that modification is required to all
   gateways.

THE PROPOSAL

   In this scheme, the individual subnets of a network are numbered
   using Class C addresses.  Since it is necessary with this scheme that
   a Class C address used to number a subnet be distinguishable from a
   Class C address used to number an isolated network, we will reserve
   for subnetworks the upper half of the Class C address space, in other
   words all those Class C addresses for which the high order bit is on.
   When a network is to be organized as a series of subnetworks, a block
   of these reserved Class C addresses will be assigned to that network,
   specifically a block of 256 addresses having the two first bytes
   identical.  Thus, the various subnetworks of a network are
   distinguished by the third byte of the Internet address.  (This
   addressing scheme implies the limitation that there can only be 256
   subnetworks in a net.  If more networks are required, two blocks will
   have to be allocated, and the total viewed as two separate networks.)

Clark                                                           [Page 1]



RFC 932                                                     January 1985
A Subnetwork Addressing Scheme

   The gateways and hosts attached to this subnetted network use these
   addresses as ordinary Class C addresses.  Thus, no modification to
   any host software is required for hosts attached to a subnetwork.

   For gateways not directly attached to the subnetted network, it is an
   unacceptable burden to separately store the routing information to
   each of the subnets. The goal of any subnet addressing scheme is to
   provide a strategy by which distant gateways can store routing
   information for the network as a whole.  In this scheme, since the
   first two bytes of the address is the same for every subnet in the
   network, those first two bytes can be stored and manipulated as if
   they are a single Class B address by a distant gateway. These
   addresses, which can be used either as a Class B or Class C address
   as appropriate, have been informally called Class "B 1/2" addresses.

   In more detail, a gateway would treat Class C addresses as follows
   under the scheme.  First, test to see whether the high order bit of
   the address is on.  If not, the address is an ordinary Class C
   address and should be treated as such.

   If the bit is on, this Class C address identifies a subnet of a
   network.  Test to see if this gateway is attached to that network.
   If so, treat the address as an ordinary Class C address.

   If the gateway is not attached to the network containing that
   subnetwork, discard the third byte of the Class C address and treat
   the resulting two bytes as a Class B address.  Note that there can be
   no conflict between this two-byte pattern and an ordinary Class B
   address, because the first bits of this address are not those of a
   valid Class B address, but rather those of a Class C address.

OPTIMIZATIONS

   If a network grows to more than 256 subnetworks, it will be necessary
   to design two distinct blocks of special Class C addresses, and to
   view this aggregate as two separate networks.  However, the gateways
   of these two networks can, by proper design, run a joint routing
   algorithm which maintains optimal routes between the two halves, even
   if they are connected together by a number of gateways.

   Indeed, in general it is possible for gateways that are not directly
Show full document text