Do you still avoid using all 0's & all 1's subnets & hosts?

acesea

Limp Gawd
Joined
Oct 2, 2004
Messages
211
Particularly, do you avoid the all-ones subnets because of the confusion and possible routing loop in having a network and a subnet with identical broadcast addresses?
 
Last edited:
No, as long as you know what you're doing with subnets, it's not terribly confusing. Good documentation of your network also helps
 
Or use something like those VLSM calculators online if you're subnetting a network using variable length subnet mask method rather than jotting it down on paper (which in a way for subnetting is good practice).
 
Having a hard time picturing what you mean, but subnetting in general takes practice. Writing it down is the best way to force yourself to learn, but once you do pick it up it's like you've known it the entire time and there would be no need to waste addressing space just to make less confusing. Even with over 18 million private addresses I hate when people don't go linear lol. I'll probably change habits myself when I get out there in the real world though.
 
I am confused by the original question. The only time I have seen /32 subnets is for loopback addresses.
 
Last edited:
Yeah come to think of it, I've just read the question 3 times now and seriously dunno wtf the OP is on about. I think he might be talking about whether or not we avoid using the full bit classfull addresses for subnetting, so class a 255.0.0.0, class b 255.255.0.0, class c 255.255.255.0 and then the full 0's.....errr not sure now...lol
 
Networks sharing a broadcast address - are you talking about using a full class B or C, but also nesting smaller subnets within the original range?

Because that's just bad practice and will undoubtedly cause issues (Issue 1 : one subnet thinks an IP is a broadcast address, the other thinks it's an assignable node address...)
 
yeah, doesn't make sense to me either. the only thing i could think of is if he has a network of x.y.z.0/23 and wants to use x.y.z.255 or x.y.(z+1).0 as a host IP. It's perfectly fine to do so, but many people don't simply because they have 4th octets of 255 or 0.
 
Just noticed a lot of replies confused by the original post.

Last year must have have posted after noticing a problem on some network.

Following is an excerpt explaining the problem. Source:
http://www.cisco.com/c/en/us/support/docs/ip/dynamic-address-allocation-resolution/13711-40.html

Problems with Subnet Zero and the All-Ones Subnet

Traditionally, it was strongly recommended that subnet zero and the all-ones subnet not be used for addressing. According to RFC 950 leavingcisco.com, "It is useful to preserve and extend the interpretation of these special (network and broadcast) addresses in subnetted networks. This means the values of all zeros and all ones in the subnet field should not be assigned to actual (physical) subnets." This is the reason why network engineers required to calculate the number of subnets obtained by borrowing three bits would calculate 23-2 (6) and not 23 (8). The -2 takes into account that subnet zero and the all-ones subnet are not used traditionally.

Subnet-Zero

Using subnet zero for addressing was discouraged because of the confusion inherent in having a network and a subnet with indistinguishable addresses.

With reference to our example above, consider the IP address 172.16.1.10. If you calculate the subnet address corresponding to this IP address, the answer you arrive at is subnet 172.16.0.0 (subnet zero). Note that this subnet address is identical to network address 172.16.0.0, which was subnetted in the first place, so whenever you perform subnetting, you get a network and a subnet (subnet zero) with indistinguishable addresses. This was formerly a source of great confusion.

Prior to Cisco IOS® Software Release 12.0, Cisco routers, by default, did not allow an IP address belonging to subnet zero to be configured on an interface. However, if a network engineer working with a Cisco IOS software release older than 12.0 finds it safe to use subnet zero, the ip subnet-zero command in the global configuration mode can be used to overcome this restriction. As of Cisco IOS Software Release 12.0, Cisco routers now have ip subnet-zero enabled by default, but if the network engineer feels that it is unsafe to use subnet zero, the no ip subnet-zero command can be used to restrict the use of subnet zero addresses.

In versions prior to Cisco IOS Software Release 8.3, the service subnet-zero command was used.

The All-Ones Subnet

Use of the all-ones subnet for addressing has been discouraged in the past because of the confusion inherent in having a network and a subnet with identical broadcast addresses.

With reference to the example above, the broadcast address for the last subnet (subnet 172.16.224.0/19) is 172.16.255.255, which is identical to the broadcast address of the network 172.16.0.0, which was subnetted in the first place, so whenever you perform subnetting you get a network and a subnet (all-ones subnet) with identical broadcast addresses. In other words, a network engineer could configure the address 172.16.230.1/19 on a router, but if that is done, he can no longer differentiate between a local subnet broadcast (172.16.255.255 (/19)) and the complete Class B broadcast (172.16.255.255(/16)).

Although the all-ones subnet can now be used, misconfigurations can cause problems. To give you an idea of what can happen, consider the following:

13711-40a.gif


Note: See Host and Subnet Quantities for details.

Routers 2 through 5 are access routers that each have several incoming asynchronous (or ISDN) connections. We have decided to break up a network (195.1.1.0/24) into four pieces for these incoming users. Each piece is given to one of the access routers. Also, the asynchronous lines are configured ip unnum e0. Router 1 has static routes pointing at the correct access router, and each access router has a default route pointing at Router 1.

The Router 1 routing table looks like this:

C 195.1.2.0/24 E0
S 195.1.1.0/26 195.1.2.2
S 195.1.1.64/26 195.1.2.3
S 195.1.1.128/26 195.1.2.4
S 195.1.1.192/26 195.1.2.5
The access routers have the same connected route for the Ethernet, the same default route and several host routes for their asynchronous lines (courtesy of Point-to-Point Protocol (PPP)).

Router 2 routing table: Router 3 routing table:

C 195.1.2.0/24 E0 C 195.1.2.0/24 E0
S 0.0.0.0/0 195.1.2.1 S 0.0.0.0/0 195.1.2.1
C 195.1.1.2/32 async1 C 195.1.1.65/32 async1
C 195.1.1.5/32 async2 C 195.1.1.68/32 async2
C 195.1.1.8/32 async3 C 195.1.1.74/32 async3
C 195.1.1.13/32 async4 C 195.1.1.87/32 async4
C 195.1.1.24/32 async6 C 195.1.1.88/32 async6
C 195.1.1.31/32 async8 C 195.1.1.95/32 async8
C 195.1.1.32/32 async12 C 195.1.1.104/32 async12
C 195.1.1.48/32 async15 C 195.1.1.112/32 async15
C 195.1.1.62/32 async18 C 195.1.1.126/32 async18

Router 4 routing table: Router 5 routing table:

C 195.1.2.0/24 E0 C 195.1.2.0/24 E0
S 0.0.0.0/0 195.1.2.1 S 0.0.0.0/0 195.1.2.1
C 195.1.1.129/32 async1 C 195.1.1.193/32 async1
C 195.1.1.132/32 async2 C 195.1.1.197/32 async2
C 195.1.1.136/32 async3 C 195.1.1.200/32 async3
C 195.1.1.141/32 async4 C 195.1.1.205/32 async4
C 195.1.1.152/32 async6 C 195.1.1.216/32 async6
C 195.1.1.159/32 async8 C 195.1.1.223/32 async8
C 195.1.1.160/32 async12 C 195.1.1.224/32 async12
C 195.1.1.176/32 async15 C 195.1.1.240/32 async15
C 195.1.1.190/32 async18 C 195.1.1.252/32 async18
What if we have misconfigured the hosts on the asynchronous lines to have a 255.255.255.0 mask instead of a 255.255.255.192 mask? Everything works fine.

Take a look at what happens when one of these hosts (195.1.1.24) does a local broadcast (NetBIOS, WINS). The packet looks like this:

s: 195.1.1.24 d: 195.1.1.255
The packet is received by Router 2. Router 2 sends it to Router 1, which sends it to Router 5, which sends it to Router 1, which sends it to Router 5, and so on, until the Time To Live (TTL) expires.

The following is another example (host 195.1.1.240):

s: 195.1.1.240 d: 195.1.1.255
This packet is received by Router 5. Router 5 sends it to Router 1, which sends it to Router 5, which sends it to Router 1, which sends it to Router 5, and so on, until the TTL expires. If this situation occurs, you might think you were under a packet attack. Given the load on Router 5, this would not be an unreasonable assumption.

In this example, a routing loop has been created. Because Router 5 is handling the all-ones subnet, it gets blasted. Routers 2 through 4 see the "broadcast" packet only once. Router 1 is hit, too, but what if it is a Cisco 7513, which can handle this situation? In that case, you need to configure your hosts with the correct subnet-mask.

To protect against misconfigured hosts, create a loopback interface on each access router with a static route 195.1.1.255 to the loopback address. You could use the Null0 interface, but this causes the router to generate Internet Control Message Protoco (ICMP) "unreachable" messages.
 
Back
Top