Connected: An Internet Encyclopedia
2.1. Interpretation of Internet Addresses
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 950
Up:
2. Standards for Subnet Addressing
Prev: 2. Standards for Subnet Addressing
Next: 2.2. Changes to Host Software to Support Subnets
2.1. Interpretation of Internet Addresses
2.1. Interpretation of Internet Addresses
Suppose that an organization has been assigned an Internet network
number, has further divided that network into a set of subnets,
and wants to assign host addresses: how should this be done?
Since there are minimal restrictions on the assignment of the
"local address" part of the Internet address, several approaches
have been proposed for representing the subnet number:
- Variable-width field: Any number of the bits of the local
address part are used for the subnet number; the size of
this field, although constant for a given network, varies
from network to network. If the field width is zero, then
subnets are not in use.
- Fixed-width field: A specific number of bits (e.g., eight)
is used for the subnet number, if subnets are in use.
- Self-encoding variable-width field: Just as the width
(i.e., class) of the network number field is encoded by its
high-order bits, the width of the subnet field is similarly
encoded.
- Self-encoding fixed-width field: A specific number of bits
is used for the subnet number.
- Masked bits: Use a bit mask ("address mask") to identify
which bits of the local address field indicate the subnet
number.
What criteria can be used to choose one of these five schemes?
First, should we use a self-encoding scheme? And, should it be
possible to tell from examining an Internet address if it refers
to a subnetted network, without reference to any other
information?
An interesting feature of self-encoding is that it allows the
address space of a network to be divided into subnets of
different sizes, typically one subnet of half the address space
and a set of small subnets.
For example, consider a class C network that uses a
self-encoding scheme with one bit to indicate if it is the
large subnet or not and an additional three bits to identify
the small subnet. If the first bit is zero then this is the
large subnet, if the first bit is one then the following
bits (3 in this example) give the subnet number. There is
one subnet with 128 host addresses, and eight subnets with
16 hosts each.
To establish a subnetting standard the parameters and
interpretation of the self-encoding scheme must be fixed and
consistent throughout the Internet.
It could be assumed that all networks are subnetted. This
would allow addresses to be interpreted without reference to
any other information.
This is a significant advantage, that given the Internet
address no additional information is needed for an
implementation to determine if two addresses are on the same
subnet. However, this can also be viewed as a disadvantage:
it may cause problems for networks which have existing host
numbers that use arbitrary bits in the local address part.
In other words, it is useful to be able to control whether a
network is subnetted independently from the assignment of
host addresses.
The alternative is to have the fact that a network is subnetted
kept separate from the address. If one finds, somehow, that
the network is subnetted then the standard self-encoded
subnetted network address rules are followed, otherwise the
non-subnetted network addressing rules are followed.
If a self-encoding scheme is not used, there is no reason to use a
fixed-width field scheme: since there must in any case be some
per-network "flag" to indicate if subnets are in use, the
additional cost of using an integer (a subnet field width or
address mask) instead of a boolean is negligible. The advantage
of using the address mask scheme is that it allows each
organization to choose the best way to allocate relatively scarce
bits of local address to subnet and host numbers. Therefore, we
choose the address-mask scheme: it is the most flexible scheme,
yet costs no more to implement than any other.
For example, the Internet address might be interpreted as:
<network-number><subnet-number><host-number>
where the <network-number> field is as defined by IP [3], the
<host-number> field is at least 1-bit wide, and the width of the
<subnet-number> field is constant for a given network. No further
structure is required for the <subnet-number> or <host-number>
fields. If the width of the <subnet-number> field is zero, then
the network is not subnetted (i.e., the interpretation of [3] is
used).
For example, on a Class B network with a 6-bit wide subnet field,
an address would be broken down like this:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0| NETWORK | SUBNET | Host Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Since the bits that identify the subnet are specified by a
bitmask, they need not be adjacent in the address. However, we
recommend that the subnet bits be contiguous and located as the
most significant bits of the local address.
Special Addresses:
From the Assigned Numbers memo [9]:
"In certain contexts, it is useful to have fixed addresses
with functional significance rather than as identifiers of
specific hosts. When such usage is called for, the address
zero is to be interpreted as meaning "this", as in "this
network". The address of all ones are to be interpreted as
meaning "all", as in "all hosts". For example, the address
128.9.255.255 could be interpreted as meaning all hosts on
the network 128.9. Or, the address 0.0.0.37 could be
interpreted as meaning host 37 on this network."
It is useful to preserve and extend the interpretation of these
special addresses in subnetted networks. This means the values
of all zeros and all ones in the subnet field should not be
assigned to actual (physical) subnets.
In the example above, the 6-bit wide subnet field may have
any value except 0 and 63.
Please note that there is no effect or new restriction on the
addresses of hosts on non-subnetted networks.
Next: 2.2. Changes to Host Software to Support Subnets
Connected: An Internet Encyclopedia
2.1. Interpretation of Internet Addresses