Monthly Archives: March 2013

The Morning-After Command

Recently, during a very carefully planned, meticulously scripted change, I hit a bump in the road. It ended up not being a total show-stopper, but it did derail the change by about 30 minutes while we figured out a work-around. I think this kind of thing has probably happened to anyone who has been working on networks for a while. Invariably you get through (or abort!) whatever you’re working on and the following morning you start digging into what you hit. That’s when you discover that one command that would have saved your bacon last night. I call this the Morning-After command.

Continue reading

Tagged ,

Disabling Gigabit Link Negotiation on Fiber Interfaces

File this one under “things I’ve missed so many times I should write a blog article about them.”

I’ve Been Here Before

Here’s the scenario: You’ve ordered a new Ethernet-delivered circuit from your ISP to connect to equipment in your cabinet at a colo facility. The carrier has dropped the circuit, the colo staff has done the cross-connect and left you a fiber pigtail in your cabinet. You’ve configured your port, inserted your SFP optical module, and plugged in the fiber. You “no shut” your port and….. nothing. Nada. Zilch. Not even a link light.

Continue reading

Tagged , , ,

Tags, Tunnels, and Encapsulation

A common discussion I hear among seasoned network geeks and newbies alike is what is different between the ideas of tagging/labeling, tunnels, and “regular” encapsulation. Usually the newbies are trying to grok the entire concept while the old hands are trying to wing curveball exception cases at one another. While it seems nothing is absolute in networking and the astute engineer can always find a case that violates the usual rules, here are the working definitions I use which I think are right for about 98% of cases.
Continue reading

Tagged , ,


Continuing a couple of posts based on my experience of earning my CCIE, I thought I’d share some Q&A that I came up with. Upon earning my number, I posted a “thank you” email to the IPExpert On-Line Study List to thank members of that list for helping me along the way. I received a number of questions in response to the news, and I wrote up a Q&A based on those questions. I’m reposting that information here for those that may find it of interest.

Continue reading


My Post-CCIE Reading List

The CCIE journey requires a lot of reading. But it’s often not very enjoyable. You are reading configuration guides, or command references, or study notes consisting of hundreds of bullets. Dry material, at a level of detail that you know usually need not be memorized for real-world practice of the art of networking. Trying to memorize minutia and configuration bits.

It’s been a long time since I could pick up some reading material and not feel like I was slacking off if it wasn’t on the recommended CCIE reading lists. Now that I’m over the exam, I’m looking forward to digging into a number of titles that I’ve been hanging on to for some timeHere, in no particular order (because if I made too strict an order I’d feel like it was another required reading list…) are a subset of titles I’m looking forward to reading over the coming months.

Continue reading

Tagged ,

TCP Toddlers and Protocol Evolution

Just the other day, I quipped on Twitter that my children’s behavior reminded me of TCP:

Specifically my 3-year old daughter will just keep “retransmitting” her message until she’s acknowledged, even if her message isn’t a query that requires response. Moreover, both my children, around that 3 year-old range, seemed to practically require a full echo for acknowledgement. For example:

Daughter: “I see an airplane!”

Me:[no response] (After all, I’m a classic introvert and don’t feel that every statement requires explicit response)

Daughter: “I see an airplane!”

Me: “Cool!”

Daughter: “I see an airplane!”

Me: “OK, you see an airplane.”

And finally, that moves us past the airplane incident. She will just keep retransmitting until I acknowledge not only that I received a message from her, but until I confirm that I received the specific message she sent.

This behavior must be common, because in response to my tweet, @Ryan_Frantz linked me to his blog post from last year noting the exact same thing. Additionally, my tweet received some 45 retweets from other network goons (I mean the term “goons” in the nicest possible way).

As both Ryan and I noted, this behavior is very reminiscent of TCP’s reliable transmission mechanism where data is sent by one TCP stack, and must be acknowledged (including an indicator of just which data was received) by the other or else the data will be repeatedly resent until the sender receives acknowledgement from it (or a connection termination which might be equivalent to me barking “HUSH!” at my daughter). TCP doesn’t fully echo the sent data, of course, but you get the idea…

OK, so cute observation, Twitter gets a chuckle, that’s it, right? Maybe not. I got thinking about it. Why does my 3 year-old behave that way, while my 5 year-old no longer does? I think the answer is probably development of the human communications protocols. As children grow, they learn that not every message needs explicit, positive acknowledgment. Sometimes the acknowledgement is more subtle, based on some other response like an “mmmhmm” or a chuckle. These reactions still indicate the message was received and the response, evaluated in context of the original statement, helps us determine whether our original message was correctly received or requires retransmission. Perhaps this can be thought of as providing a periodic checksum of received data rather than a full echo.

When we really expect a response to our statement, we intone it as a question, which we then anticipate the our receiver will correctly understand and provide us our response. Does this sometimes fail? Of course. But if it works 99% of the time, we are saving communications overhead 99% of the time.

I started Googling around to see if I was on to something and the best thing I found was SCTP, a protocol I’d heard of before but knew was not in wide use. It does incorporate the idea of blending reliable, ordered, TCP-like transmission with an option for less-ordered, un-reliable UDP-like transmission. That’s a start, but might it be possible to further extend/enhance protocols like these to actually be able to signal whether or not message confirmation is required on a per-message or per-window basis? Or add predictive capability based on expected responses at the protocol or application layer? Or add the protocol equivalent of inflection to easily frame a message as a query which requires response, a statement for which a acknowledgement is optional or perhaps occasional, aggregated ACK is appreciated, or an exclamation for which quick action is more important than a response (“DUCK!”)?

Elements of all of these ideas exist in currently deployed protocols, but I am interested to see what happens with protocol design over the next decade or two as rapid advancements in artificial intelligence, computer learning, and neural networks might allow computers to think more like humans and even make their conversations more human-like.

Like many highly technical, introverted people, I have always thought tricky interaction with other humans would be a lot less error-prone  if it adhered to rigid rules like a network transmission protocol (and it would be), but this little observation has gotten also me wondering if perhaps computer communication could be made more efficient and ultimately more effective if it were modeled more closely against human communication.


Virtualization, Storage, and other techy stuff

The Stupid Engineer

I ask those questions you're too clever to.

Sunay Tripathi's Blog

Pluribus Networks Founder's Blog on OS, Networking, Virtualization, Cloud Computing, Solaris Architecture, etc

Ed Koehler's Blog

Just another weblog

Data networking, stray thoughts, nerdy fun...

Network Heresy

Tales of the network reformation

The Borg Queen

Jottings on the intersection of tech and humanness

Networking From The Trenches

Ramblings about my thoughts, experiences, and ideas.

Networking 40,000

Attaining my CCIE with the help of Warhammer 40k

Network Shenanigans

Making Packets Do Silly Things

It must be the network...

Ramblings of JD (@subnetwork)

Not Another Network Blog

Musings from yet another IT nerd

rsts11 - Robert Novak on system administration

Resource sharing, time sharing, (20)11 and beyond. A retired sysadmin's blog.