Explaining Port Forwarding & Routing To A Novice

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Profile image of Mattias Geniar

Mattias Geniar, October 13, 2008

Follow me on Twitter as @mattiasgeniar

Mention the terms “Port Forwarding” and “Routing” to someone with a bit of IT-experience, and they’ll usually be able to come up with a semi-OK idea of what you’re talking about (think of switch, hub, wireless access point, …) . However, if you mention it to someone who barely understands how to start Word or Excel, you’re in for a tough ride.

Or at least, that’s what I thought, until the following explanation came to mind.

Look at your computer network as an ordinary street, similar to the one you live in. Your street has houses, who in turn each have a mailbox to store their mail. Those houses contain several rooms, perhaps occupied by several different people (a family with 2 kids = 4 people in 1 house).

If someone sends you a package, the mailman will come by to your house, read the address on the package, and deliver it to your mailbox. That mailman doesn’t know what room you live in, or what floor – so he just drops it of in the mailbox. Now that package needs further distributing – it needs to get to you personally, not just stay in the mailbox.

Compare this to “port forwarding” and “routing”, and you have a very similar situation.

Let’s say you are browsing to a certain website (www.google.com). The Google servers start sending you the needed files for that website, which are then sent to your house (the mailman delivering the package). It is then delivered to your switch/router at home (the mailbox), and it now needs to get to your computer (your room).

The switch or router is what will determine where those files need to go – to what computer they need to be sent. It’s not something the mailman (or your internet service provider) needs to worry about, this is handled locally – in your own house. It’s only the mailman’s job to get it there.

Port forwarding is similar – the package is delivered to your switch, who will then see who to deliver it to based on the port. You can determine that all traffic to port 1337 should be directed to computer #1. The mailman only sees that the package needs to be delivered at your address, but it doesn’t care what room.

While the theory has flaws (and lot of them), it’s probably one of the easier ways of explaining “routing”, to someone with very little to no IT knowledge. Comparing it to every-day things or objects can help to understand a sometimes difficult subject.

Are there other ways you would explain this, without going too much into details?



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.