Subnetting. A simple thing that fills many with dread. The swirl of numbers flying about when discussing subnetted networks can make your head respond in kind. If subnetting wasn’t challenging enough we have long dealt with this thing, this ’subnet-zero’ thing. Discussion on the topic (this post included) lingers for some unknown reason. It vexes me. I even read a recent post (written about a month ago) that suggested NOT using it was still a viable concept. At the risk of taunting the author I shall refrain from links to that post. I can’t tell you how much I disagree with such a statement. Well, scratch that. I actually can tell you how much I disagree. Please enjoy:
First, a review: What is ‘ip subnet-zero’?
It’s a command you enter into a Cisco router (or L3 switch), actually. From global configuration mode you have two choices: ip subnet-zero or no ip subnet-zero. If you want to use this thing we call subnet zero you enter the former. If you don’t want to use it, enter the latter. And I don’t understand you if you don’t want to use it. Cisco doesn’t either. They have been telling you for a long time that you should be using it. The command has been enabled by default since IOS 12.0 which has been out for the better part of a decade. To stop using it you would have to intentionally go into the router and disable it (e.g. no ip subnet-zero). And who are you to disable a Cisco default? Hmmph. I thought so.
So it’s a command. Cool. But what does it actually do? In simple terms the command controls whether or not the all zeroes and all ones subnets are valid. Easy enough to say but it’s a little more involved to understand. Let me explain by way of example. Here is an example of a simple subnetting problem that uses subnet zero (and yes, I’m assuming you already have a little bit of subnetting skill):

In this example we take the 192.168.44.0/24 network and subnet it by 4 bits, dividing it into 16 networks. If we look at the newly created networks a little more closely we will see something interesting. Using the image below, notice that the first network has all of the subnet bits set to zero. Also notice that the last network has all of the subnets bits set to one. We call the network with the subnet bits set to zero the “all zeroes subnet”. We call the network with the subnet bits set to one the “all one’s subnet”. Pretty clever names, I know. Collectively we refer to both of them as subnet-zero. Yeah, that makes sense? Deal with the weirdness.

Subnetting with IP Subnet-Zero
Two things you need to notice:
First: To the user, the all zeroes subnet looks alamringly like the original network. The original network was 192.168.44.0/24. The all zeroes subnet is 192.168.44.0/28. Does that creep you out?
Second: The all one’s subnet has a decimal value equal to the subnet mask value in the last octet AND the broadcast address of the all zero’s subnet is 192.168.44.255 which is identical to the broadcast address of the original network (192.168.44.0/24). How about that? Feeling spiders crawling up your legs?
What’s my point?
First: People got confused by the striking similarity between 192.168.44.0/24 and 192.168.44.0/28. Let me restate that in case you didn’t catch it. People got confused by… (never mind the rest, it doesn’t matter). The important word, in case you missed the italics, is PEOPLE. Computers, routers and other network devices were NEVER confused by the apparent similarity. To the computer, a device which thinks only in binary, 192.168.44.0/24 is just as similar to 192.168.44.0/28 as 11.12.0.0/14 is. The difference is plain to see for the computer. The same can’t be said for the fragile mental stability of the network administrator. Because people were confused the decision was made long ago to simply throw out the all zeroes subnet. Just don’t use it. Problem solved! Outta’ sight, outta’ mind! The word lame comes to mind. How, in this world of IP address space exhaustion, can you even begin to condone throwing away a perfectly good network for the sole purpose of preventing confusion with the network administrators? Uh, you can’t. Your network people need to get over it. Suck it up, use the addresses. “Waste is a thief!” (my token Fight Club reference)
But wait! There’s more!
Second: We didn’t just throw out the all zeroes subnet. We threw out the all one’s subnet along with it. The confusion surrounding the decimal value of the last network value being equal to the subnet mask and the hosts having a decimal value greater than the subnet mask combined with the whole, “Hey the broadcast address of the last network is the same as the broadcast address of the original network”, thing caused “they” (whoever they are) to toss out the all one’s subnet, too. What was that word again? Oh yeah! Lame.
The all zeroes subnet and the all ones’ subnet are both perfectly valid networks. They should be used and are used in environments that are movitvated to squeeze all of the usefulness possible out of the IPv4 address space. So, if you haven’t been using it you need to get busy doing so. Have I mentioned that NOT using subnet-zero in IPv6 isn’t going to be an option? When your ISP gives you a prefix of 2001:ABCD:1234::/48 guess what your first usable network is going to be …2001:ABCD:1234::/64. How do you like them apples? Ha!
Colin Weaver
I had an epiphany tonight. An epiphany both good and sad. It is good because I had it, sad because it has taken so long to come to it.
Like so many others out there I was born and bred on Microsoft. When you start out with a certain set of values and teachings you believe them to be fundamentally true. Whoever you are and wherever you are it is likely that you believe that your country is the best, your value systems the most accurate and your religion (or lack thereof) the most holy. We don’t usually try to believe things we know to be false. But the things we believe are seldom tested for their truth. To do so (and discover our own self-deception) is too much for many of us to bear. While it won’t be the case for all of you it is likely that you believe the things you do because they are the original things you learned in life. Few of us ever question these things once they become part of our psyche. An affinity for one all encompassing software vendor should be included in this list of things accepted blindly. Think of it as the technology equivalent of ethnocentrism. Unix old-timers from the 60’s and 70’s are likely to believe that Unix is the way. Mac lovers from the 80’s have remained steadfast for a quarter of a century. And Microsoft devotees from the mid-90’s have held the line for theirs. I have long believed in Microsoft’s superiority. Having said that, I have long known that their superiority was 2 parts marketing prowess, one part business acumen and 1 part software code. I don’t think they were ever the best. But none of the others were the best either. There was (is) no “best”.
My trailer is no longer hitched to Microsoft. I no longer have a clear vision on who to follow. I have long since abandoned Internet Explorer for Firefox but the Microsoft Office suite (Excel, PowerPoint, Word, etc.) is still light years beyond any competitor. But even my beloved Office suite isn’t necessary for 95% of the stuff that I do. Google Docs (docs.google.com) or something similar eliminates the need for most of the population to have Office at all.
I tend to use a computer that runs Windows Vista but I’m not emotional about it. The OS is little more to me than a way to get to the web apps that now run the world. Twitter, YouTube, Flickr, Facebook, and Wordpress are the apps that I find myself using. Whether I’m running Windows, Fedora, or OS X doesn’t really matter anymore. Fully 90% of my time on a computer is spent putting content into the Internet. I spend almost as much time using my iPhone to work as I do a PC or notebook. And here’s a kicker. I have long been a devout Apple hater but I love my iPhone. Not just a little bit, either. I friggin’ love the thing. I resisted the iPhone for quite a while. I kept putting it off until I got a chance to see how the whole Google Android thing panned out. A few years from now I suspect it will be the shizznat but it’s not for me today. Once I had the iPhone for a while I found myself asking questions that I have never asked before. If I like the iPhone so much then could OS X really be that bad? Could it be as cool as this phone? If I had caught myself asking questions like that two or three years ago I would have burned myself with cigarettes as punishment. But now I give regular thought to buying a Mac. I’m not ready for it to be my day to day computer but I’m willing to put it in the rotation (I use several different computers during the course of my day).
I have also long tried to wean myself over to Linux as my day-to-day OS. I try and falter on a regular basis. It’s not becasue Linux isn’t good, though. It’s usually because I need to get some work done and I know how to do everything very well when using Windows. I know Linux pretty well but I still regularly have to learn something in order to get something else done. I’m a busy guy and don’t always have time for that. It has been easier to pop back over to Windows, bang it out and move on. But more and more these days I only need to do that when I want to use Photoshop (I’m not lovin’ the Gimp) or some other app that I’ve been using forever on the Windows platform.
None of this is new to a lot of people, myself included. But even as I have watched the technology change drastically over the past few years I have continued to bring it all in and wrap it around Microsoft at its (my) core.
…but not anymore.
If anyone from Apple happens to read this: send me a MacBook (MacBook Pro would be nice) and I’ll switch cold turkey and post my every epiphany for the world to read.









