Q&A: Understanding ports
Q: What is a port?
A: Shakespeare once asked, "What's in a name?" If the name is port, the answer is "a ton of confusion." That's because there are two accurate definitions for this networking term. One is merely the connector you plug, say, an Ethernet cable into. The other is the digital conduit through which network devices process information from the Internet. If you don't understand how the latter type of port works, you may not be able to make network applications perform at their best.
Imagine your desktop PC as a giant slab of cheese, The ports are the holes that make it Swiss. Now, if your finger represents data traveling from your system to the Internet and back, sticking it through one of these holes represents the digital exchange. No hole, no transmission, no data.
Your operating system manages your computer's network ports, and each port is mapped to a specific network request your computer asks of another system. For example, suppose your system wants to download part of a web page from an Internet server. The OS specifies a source port — one of around 65,535 available ports available — and a destination port, typically port 80 for an HTTP-related packet. The server sees the request come in on its own port 80, authenticates that the request is legitimate, and delivers the requested packet back to your system via the original source port.
All the information you glean from the Internet comes to your system en masse. By splitting your system's requests into a bunch of unique ports, your system can simultaneously pick out and route the influx of information to whichever applications or process requested it. It's kind of like having a digital mailman who scans letters — data, in this case — and delivers them to various applications as needed.
So if ports are handled by your system automatically, why do you need to know anything about them? If your computer (or other receiving device) is located behind a router — and I hope it is — there will be instances where the router's firewall blocks incoming traffic you might not want it to block. A common example of this is the BitTorrent protocol. While your system is able to connect to external, unprotected clients, other users can't connect to you because your firewall blocks the unrequested traffic from passing into your internal network. To these users, it's as if your system doesn't exist.
But if users don't know that your system exists, they can't pass you packets of data to help you complete your download via the BitTorrent protocol. The fewer users that you can connect to, the slower your download will go. So how do you fix this? Port forwarding. Stay tuned and I'll show you just how easy it is to turbocharge applications like the BitTorrent protocol (and get fussier applications to work at all) through the power of port forwarding!