Why Port Forwarding?

Listening to Jim presentation today, I see the mechanism of port forwarding - designating something coming in port X to computer 168.xxx and I’ve had to assign ports in the Thunderbird email client app configuration when I put it on a computer. So here’s the gap …

When I use a web browser to interact with a page, there is communication back and forth; I fill out an order form, a total is sent back. Two directions. It seems to me that the router know already to pass the port 80 info to the computer with the browser (incoming) and send my keystrokes to the web page (outgoing). I don’t have to set that up in the router port forwarding configuration.

Does the router recognize the browser app and say, “I already know what you need.” but other apps have to get configured?

I know how to get MAC addresses. Our internet cable system occasionally requires a full power off and restart of their modem and my router. Identifying our in-house devices by their MAC address bypasses complixities if a change in their dynamic 168.xxxx ID would cause problems. But those are OUR devices. If guests come in they will still need a dynamic 168.xxxx IP to play with their toys.

I’m guessing the router can do both - honor the MAC addresses that are given and serve out IP addresses when needed.

The browser and email are the only things I use that go out to the internet and though I have to configure a port in the email app’s configuration on computer A, I don’t have to explicitly congfigure the router to forward port 110 (email) to computer A.

So my gap is - why do I have to explicitly forward port 80 to the computer serving the web but not explicitly, on the router, forward ports to computers using web browsers and email clients?

I can see that I’m telling ThunderBird, “use port XXX” for your email." But I’m not having to tell my router, each time I put Thunderbird on a computer, to port forward XXX to that computer.

What is different between web browser app, email client app and a server app that bridges a web interaction to/from Panorama? It seems data if going in and out in with the browser and email. So why do browser and email apps not need router forwarding configuration but a server for Panorama does?

The difference is that Panorama X Team Server is a ‘server’. It responds to requests from outside your network. When I send a request to your Server, I can only know what your public IP address is (based on your domain name and DNS). But while I can get my request to your router, my request will have no idea what to tell your router as to where or which server in your network I want it to go to. So if my request is a standard request leaving my computer, going to your web server, I will be making that request on Port 80. You will have configured your router so that any request on Port 80 should go to your Panorama X Server that is waiting for any and all Port 80 requests. I do not get to know which device in your network handles this information. Only your router will need to know and it does know because you set up Port Forwarding.

As for your other applications internal to your network, they are all sending out requests from your internal LAN to the outside world. When your email program determines that it is time to check for mail, it sends a request to the mails server in Arizona, a request on Port 110 checking for mail. That mail server is listening on Port 110 for a email request. If it has mail, it sends a note back to your computer that there is mail. That note is a ‘response’ to your request. Your router receives it as it knew that your email had requested that information, and knows to send it to you. That was a response to your reqeust. There is no need to Port Forward to handle a response to a previous request.

When your browser sends a request to Apple.com, it gets to Apple’s server and then send back a web page of information Again, your router receives this information back as a response to your browsers request. No port forwarding is needed as your router remembers that your computer’s browser requested the web page and the information coming back is merely a response.

So the difference is that a response from the outside does not need a port forward as there was a previous request before the response was received. On the other hand, when I request informaton from your web server, that is received by your routers as a request, not as a response. Because it is a request, your router needs to know what devices behind the router on your network, you want this data to be handed over to. And if you did already set up the Port Forward information, then your router will know where to send that request.

Robert, Thank you so much for taking the time to make that clear. I get it!

The subtlety is hidden in the app preferences. Though my email receives email when it launches - it initiates the “get” if I set that up in preferences. Otherwise it sits there until I make a request. Though the browser brings up a web page when launched, if I hadn’t set that up in preferences, it would just sit there until I make a request. So in those situations, I’m the one - my computer is the one - that initiates the messaging through the router. And as it knows were the request came from, it knows were to send the reply back.

I didn’t realize that router was so smart at … routing :slight_smile:

The water was muddied by the EchoLink app on my iPad. It’s clear that I request a connection from the app to some “node”. In that sense it’s like email or browser app. But it needs port forwarding setup in order to work. So like a unified theory of the universe, I was looking for a mental image that would explain all the (web interaction) observed phenomenon. Or at least the why and why not of Port Forwarding. I can leave the EchoLink issue to another google search.

You get the Hawking award for the day :grinning: