If different IP implementations are to be compatible, there must be a
distinguished number to denote "all hosts".
Since the local network layer can always map an IP address into data
link layer address, the choice of an IP "broadcast host number" is
somewhat arbitrary. For simplicity, it should be one not likely to
be assigned to a real host. The number whose bits are all ones has
this property; this assignment was first proposed in . In the few
cases where a host has been assigned an address with a host-number
part of all ones, it does not seem onerous to require renumbering.
The address 255.255.255.255 denotes a broadcast on a local hardware
network, which must not be forwarded. This address may be used, for
example, by hosts that do not know their network number and are
asking some server for it.
Thus, a host on net 36, for example, may:
broadcast to all of its immediate neighbors by using
broadcast to all of net 36 by using 18.104.22.168
(Note that unless the network has been broken up into subnets, these
two methods have identical effects.)
If the use of "all ones" in a field of an IP address means
"broadcast", using "all zeros" could be viewed as meaning
"unspecified". There is probably no reason for such addresses to
appear anywhere but as the source address of an ICMP Information
Request datagram. However, as a notational convention, we refer to
networks (as opposed to hosts) by using addresses with zero fields.
For example, 22.214.171.124 means "network number 36" while 126.96.36.199
means "all hosts on network number 36".