all [0s|1]'s subnets

Curtis Villamizar curtis at ans.net
Tue Oct 8 15:40:08 UTC 1996


In message <m0vAIRi-0001BnC at zachs.place.org>, Zachary DeAquila writes:
> 
> I keep running into people (Ascend tech support, joeblow ISP tech
> support off the street) that say that it's improper to use the all 0s
> or all 1's subnets (ie .0 and whatever has .255 in it).  Since CIDR, I
> thought the philosophy was 'use everything', but I can't seem to find
> the explicit recommendation to start using the .0 subnet... can anyone
> help with a pointer to the pertinent RFC ?
>  
>   --Zachary


Zachary,

You can't us an all zeros or all ones host part.  That means that if
your prefix is x.y.z/24 you can't use x.y.z.0 as a host address
because that is the address of the network, and you can't use
x.y.z.255.  The mistake that is commonly made is getting confused
about this and avoiding all zeros or all ones in any octet of the
prefix.  If you have an address of x.y/16 and want to split up the
prefix into /20s (for example), you can start numbering your
prefixes at x.y.0/20, x.y.16/20, ..., x.y.240/20.  If you split into
/24s (*only* internally I would hope), you can number from x.y.0/24,
x.y.1/24, ... x.y.255/24, and all other the values in the third octet
are valid.

You may run into a problem with some older software that is just plain
broken.  For example, the "subnet broadcast" remains, but the "network
broadcast" is depricated by CIDR.  If you have broken hosts on an
older class B, like 191.x/16, and the subnet is 191.x.0/24, some hosts
may have trouble, but I think you'd have to have not upgraded the
vendor's OS for 2-3 years (in the one example I can think of).  The
broken host might also think 191.x.255.255 is a "network broadcast",
which would not be a problem unless it sits on other subnets and
broadcasts to all 191.x.y/24 when it sees that.

The answer is it is absolutely legal to use all ones or all zeros in
an octet of the network part.  There used to be some broken software
that gave you trouble due to remnants of "address class" based code.
That broken software should by now be long gone.

I don't know about Ascend's implementation, though I have heard they
were in some ways CIDR challenged.  If Ascend's software is broken,
get them to stop spreading misinformation and admit that it is just a
bug on their part and preferably also fix the bug.

Curtis





More information about the NANOG mailing list