I get a lot of emails from Cisco every week. A whole lot. They aren’t spam, really. It’s just that the frequency with which they arrive in my mailbox makes me think of them as such. Here is how the subject line of each and every message reads:
End-of-Sale and End-of-Life Announcement for the <Insert Latest Product Being Kicked to the Curb Here>
For example:

Nobody plows through products like Cisco. They release and kill products faster than a developing fetus churns through cells. It’s ridiculous, really. Because I view our industry with a tiny pinch of cynicism I often find myself a teeny bit disenfranchised with Cisco over such things. Their products tend to cost some noticeable duckets. And they tend to get EOL’d pretty quickly. Combining those two truths together means that Cisco is always wanting me to buy new gear before I’ve gotten sufficient ROI (Return on Investment) on what I’ve got.
But that’s part of the business model for Cisco. The big players, the one’s with really deep pockets, can afford to keep up with Cisco’s shennanigans. In fact, because the checks getting written aren’t usually having any impact on the paychecks of the people writing them they often don’t care one way or the other. What’s a hundred grand here or there? I mean, really? It’s the smaller businesses that can’t hang. Dropping $4K on a switch is a major deal for a small business. Being told that it is end-of-life a year or so after you buy it stings more than just a little bit. But this is the nature of the business. Things move on. Technology develops . Features evolve. Stockholders need dividend checks.
Don’t get me even a little bit wrong. I straight-up LOVE capitalism. I don’t believe that the big boys should have to play nice to give the little upstarts a chance. That’s crap. Crush them if you can. Because if you don’t, they will crush you. If I was Cisco, I would crush everyone. Every Friday my employees would wear shirts to work that read “Cisco” on the front and “Monopoly” on the back. I’d have custom Monopoly board games made where the objective was for Cisco to dominate the board, crushing all competitors. Well, that’s the America I want to live in, at least. It’s better to be the crusher than the crushee, of course. And it sucks to be you if you find yourself getting smooshed.
I have a word for small businesses who want Cisco gear but don’t want to pay premium prices. Either get out your checkbook and try to keep up or do what this word implies. Pick a path and follow it. I can tell you this because I am a small business. I know what it is to want the toys of the big boys but have the bank books of an upstart. I don’t like this word any more than you do.
So what’s the word? You already know it. You don’t like to say it. It’s like buying bo-bo brand sneakers or Sam’s Choice Cola. It’s buying Hyundai because you can’t afford Mercedes. It’s like buing Inspiron because you can’t afford XPS. As much as you don’t want it to this word shouts out to the world, “Hey, I can’t afford it!”
The word: Linksys.
Cheers,
Colin Waver
I have been noticing a trend in the world of IT and it scares me. There is a growing tendency for vendors to build functionality into their equipment that forgives the administrators for errors, omissions, misconfigurations and a general lack of knowledge. The desired result is to increase functionality and make networks more usable (and available) for all. That’s nice. Networks that work even when faced with administrators who don’t know all they need to know are a good thing, I suppose. The thing that gives me the heebie-jeebie’s is that it allows people to be successful despite a lack of knowledge. Success without effort creates a framework for ineffective personnel when the poop hits the fan for real. To steal a concept from the principles of adult learning, we’re allowing people to be successful while still at the unconscious incompetent phase of the learning process. I say we should be accountable for the success of our network as well as its failure. If you do it right, success is your reward. If you do it wrong, you have earned your failure. But nowadays you can do more and more stuff wrong and still be successful. Your bosses think you’re doing a great job when in reality your gear is obscuring the fact that you don’t know how to administer your way out of the plastic bag covering your head.
Over the next few weeks I will take time to blog about examples that prove my point. Keep in mind that vendors will call these things “features”. Here is the first:
Automatic MDI/MDI-X Configuration
Remember when you had to know what kind of cable you needed in order to connect two devices together? Getting tip (Tx) and ring (Rx) aligned in order to make a good connection required you to know the difference between straight-through and crossover cables. We could follow the general rule that said connecting dissimilar devices (PC-to-switch, router-to-switch) was done with a straight-through cable while connecting similar devices (PC-to-PC, switch-to-switch, etc.) required a crossover cable. The exception to the rule that bonked people in the head on rare occasion was that connecting a PC directly to a router required a crossover cable. Because they are both only nodes when viewed from the perspective of an ethernet switch they are, in reality, ‘like’ devices and therefore must be connected using a crossover cable. Fortunately for most, connecting PC’s directly to ethernet ports on routers isn’t a common event.
If you used the wrong cable to connect your devices you didn’t get a link. You were accountable for making sure you obtained the correct cable for the job. Well, Automatic MDI/MDI-X Configuration has put an end to that. Interfaces equipped with this (ahem!) feature are able to detect the type of cable connected and dynamically switch tip and ring on the interface. So now you are very much able to use a straight-through cable to join two PC’s together. You can also use a straight cable on your switch uplinks. The devices will simply detect your silly cable choice and quietly swap tip and ring to get them right for you. Your lack of knowledge is absolved.
Do you feel it? I do. You can’t see it, you can’t smell it and you can’t taste it but it’s happening: stupidity is creeping up on us… I’m scared.
Next up: Proxy ARP. That’s right! I said it! Proxy ARP!
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









