Showing results for 
Search instead for 
Did you mean: 

Valid & Invalid IP Subnetting Question?


On reading various 'expert' networking text books, I seem unable to obtain a clear explanation of what occurs when 'invalid' or 'not allowed' IP addresses are used configured on interfaces and operational in a routed environment.

According to the text books, using a class B network with a 2

bit SNM (2bits in 3rd Octet) , gives two valid nets, and each with 16382 hosts. i.e.


First Host

Last Host



First Host

Last Host


By implication, the addresses through and through are invalid as the SNM bit's are either

all off (0.0-63.255) or all on (192.0-255.255).

To test the theory that the invalid network addresses would not work in a

routed environment, I built the following test net:

LAN A - with two hosts and and router A Ethernet port all with SNM

WAN - with router A Serial port and router B serial port both with SNM

LAN B - with two hosts and and router B Ethernet port all with SNM

According to the text books, all three networks are technically invalid, given the SNM, as all the addresses exist below or above and therefore all SNM bits are either all off or all on!

However, both Cisco's allowed the configuration to be entered, RIP

redistributed the network and published the route as being

variably subnetted with one mask and three subnets (0.0, 10.0 and 200.0)

and all hosts pinged correctly.

My question is ...are the 'invalid' networks truely invalid?

If so ...

Why does the IOS allow the configuration to be entered ?

Why are the 'invalid' routes redistributed and routing appear to work?

Is the recommendation not to use these 'invalid' network numbers just that i.e. a recommendation, or can the 'invalid' nets actually be successfully deployed in a routed internetwork?

5 Replies 5


Many texts disallow subnets of all zeroes and all ones for the reason that an all zeroes subnet includes the network address of the full, classful network, and the all ones subnet would include the broadcast address of the full network. In your example, the ".0" subnet has the two subnet bits set to zero, the ".64" subnet has "01" in the subnet portion, the ".128" has "10" in the subnet portion, and ".192" has "11 in the subnet.

The Cisco IOS command "ip subnet-zero" allows the use of subnets having all zeroes and all ones. This recognizes that, in most instances (all instances that I've ever seen, BTW), the classful network's network address and broadcast address are not used by any process. If you check the full configurations of your routers, I'm sure you'll see this command in both of them.




The restriction of not using the networks with all zeros and all ones was specified in RFC950 (Internet Standard Subnetting Procedure) :

This means the values of all zeros and all ones in the subnet field

should not be assigned to actual (physical) subnets.

This has been superceded by RFC1878 () which states (rather grumpily I have always felt!):

For the sake of completeness within this memo, tables 2-1 and 2-2

illistrate some options for subnet/host partions within selected

block sizes using calculations which exclude all-zeros and all-ones

subnets [2]. Many vendors only support subnetting based upon this

premise. This practice is obsolete! Modern software will be able to

utilize all definable networks.

Cisco IOS (>12.0 I believe) follows RFC1878 by default. To get back to the older (RFC950) scheme, try "no ip subnet-zero"