mogul@DECWRL.DEC.COM (Jeffrey Mogul) (01/01/88)
From: nomad@cs.orst.edu (Lee Vincent Damon) I have just finished reading rfc950 (finally). I notice in this doc that the "zero address" of each subnet is supposed to remain unused, along with the "all-one" address. When I issued numbers on my subnet I knew about the all ones, but not about the zeros. None of our machines have complained so I was wondering if the zero's "this net" requirement has been removed and we just have an old doc? If viewed in isolation, there is no intrinsic reason why the zero host address should be banned; unfortunately, things like this can never safely be viewed in isolation. The problem comes from the historical use of that address as a broadcast address by some hosts (chiefly, 4.2BSD-derived systems). Even though the standards now specify an "all ones" broadcast address, many hosts still treat the "all zeros" host address as a broadcast. So, you might have some hosts that are sending packets as link-level broadcasts when they are meant to be sending unicasts, and other hosts that may refuse to receive or forward packets addressed to the all zeros host. Further, some systems use an all-zeros host part to refer to the network rather than a specific host; e.g., 128.45.1.1 is a host but 125.45.0.0 is a network. In summary, use of the zero host address can lead to confusion and chaos. As a general principle of address space engineering (a discipline I just invented), it is always a bad idea to use the "zero" address for a real object. You're likely to find it used by mistake. By the way, the zero subnet number is also a bad idea, for similar (but not identical) reasons. -Jeff