2.3. Finding the Address Mask
Connected: An Internet Encyclopedia
2.3. Finding the Address Mask
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 950
Up:
2. Standards for Subnet Addressing
Prev: 2.2. Changes to Host Software to Support Subnets
Next: Appendix I. Address Mask ICMP
2.3. Finding the Address Mask
2.3. Finding the Address Mask
How can a host determine what address mask is in use on a subnet
to which it is connected? The problem is analogous to several
other "bootstrapping" problems for Internet hosts: how a host
determines its own address, and how it locates a gateway on its
local network. In all three cases, there are two basic solutions:
"hardwired" information, and broadcast-based protocols.
Hardwired information is that available to a host in isolation
from a network. It may be compiled-in, or (preferably) stored in
a disk file. However, for the increasingly common case of a
diskless workstation that is bootloaded over a LAN, neither
hardwired solution is satisfactory.
Instead, since most LAN technology supports broadcasting, a better
method is for the newly-booted host to broadcast a request for the
necessary information. For example, for the purpose of
determining its Internet address, a host may use the "Reverse
Address Resolution Protocol" (RARP) [4].
However, since a newly-booted host usually needs to gather several
facts (e.g., its IP address, the hardware address of a gateway,
the IP address of a domain name server, the subnet address mask),
it would be better to acquire all this information in one request
if possible, rather than doing numerous broadcasts on the network.
The mechanisms designed to boot diskless workstations can also
load per-host specific configuration files that contain the
required information (e.g., see RFC-951 [8]). It is possible, and
desirable, to obtain all the facts necessary to operate a host
from a boot server using only one broadcast message.
In the case where it is necessary for a host to find the address
mask as a separate operation the following mechanism is provided:
To provide the address mask information the ICMP protocol [5]
is extended by adding a new pair of ICMP message types,
"Address Mask Request" and "Address Mask Reply", analogous to
the "Information Request" and "Information Reply" ICMP
messages. These are described in detail in Appendix I.
The intended use of these new ICMP messages is that a host,
when booting, broadcast an "Address Mask Request" message. A
gateway (or a host acting in lieu of a gateway) that receives
this message responds with an "Address Mask Reply". If there
is no indication in the request which host sent it (i.e., the
IP Source Address is zero), the reply is broadcast as well.
The requesting host will hear the response, and from it
determine the address mask.
Since there is only one possible value that can be sent in an
"Address Mask Reply" on any given LAN, there is no need for the
requesting host to match the responses it hears against the
request it sent; similarly, there is no problem if more than
one gateway responds. We assume that hosts reboot
infrequently, so the broadcast load on a network from use of
this protocol should be small.
If a host is connected to more than one LAN, it might have to find
the address mask for each.
One potential problem is what a host should do if it can not find
out the address mask, even after a reasonable number of tries.
Three interpretations can be placed on the situation:
- The local net exists in (permanent) isolation from all other nets.
- Subnets are not in use, and no host can supply the address mask.
- All gateways on the local net are (temporarily) down.
The first and second situations imply that the address mask is
identical with the Internet network number mask. In the third
situation, there is no way to determine what the proper value is;
the safest choice is thus a mask identical with the Internet
network number mask. Although this might later turn out to be
wrong, it will not prevent transmissions that would otherwise
succeed. It is possible for a host to recover from a wrong
choice: when a gateway comes up, it should broadcast an "Address
Mask Reply"; when a host receives such a message that disagrees
with its guess, it should change its mask to conform to the
received value. No host or gateway should send an "Address Mask
Reply" based on a "guessed" value.
Finally, note that no host is required to use this ICMP protocol
to discover the address mask; it is perfectly reasonable for a
host with non-volatile storage to use stored information
(including a configuration file from a boot server).
Next: Appendix I. Address Mask ICMP
Connected: An Internet Encyclopedia
2.3. Finding the Address Mask
|