Explaining technology as a story - Routing

Tell me where to go

When people ask me something technical, I frequently find it useful to tell the basics as a story or an analogy. Obviously all these stories have limitations to how accurate they can get, but it’s surprising how well it gets people to understand what you mean. So this post is part of a series of “explaining technology as a story”


Far too frequently there are internet routing issues. Sometimes it gets bad that a large fraction of people can’t work (e.g. can’t see the corporate VPN gateways). In a recent occurrence some of the people I was chatting with didn’t understand what that really meant and why it impacted some users, but not others.

So I came up with a story about getting around town.

Imagine you don’t know how to get to where you want to go. All you really know is your local street, and how to get to the end of it. So what you do is go to that intersection, where you find a nice person. They ask you where you want to go, and then tells you to turn left, or to turn right, or to go straight on. You go down that street until you get to the next intersection and the same thing happens. Eventually you’ll get to your destination.

Now some of these people directing you are pretty dumb; they just say “I dunno, go that way and someone else will help you.” But others have a lot of information; they’ve got a big book of shortcuts and know a quick way.

These books aren’t fixed; they get updated all the time.

When there is a routing problem on the internet what has happened is that some of these kind people have had instructions crossed out in their book. Or worse, they may have received bad instructions and are sending you the wrong way.

Eventually the problem will be fixed and all these helpers will get their books up to date. But until then some people might be directed correctly, other people might be sent the wrong way, and yet others might just be told to give up; “you can’t get there from here!”


Obviously in this story we’re talking about packets and routers, and dynamic route updates (eg BGP). And I haven’t gone into any of the details.

But I think this gets across the basics of routing!