• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 309
  • Last Modified:

port-forwarding

Hi,
I have a cable modem and a wireless router. We have 4 laptop clients connected. We all use http, which is port 80. I use a direct connect program that uses TCP port 612. I forwarded 612 to my computer using the router's NAT. Why do I need to forward that port to me? Why don't we forward port 80? I know we all use 80, so is that why? The packets get sent everywhere? What if someone else wanted to us that DC program on port 612?

To me, port-forwarding seems like a paradox. I understand why you'd use it: to forward w/e packets are coming through that port to your computer. I know I can only forward a port to one computer, so I don't get why 80 isn't forwarded -- well, more than 1 computer obviosuly.

Does anyone understand what I'm getting at?
0
bostonfenix275
Asked:
bostonfenix275
  • 2
1 Solution
 
rich255Commented:
port 80 is more accurately called a "service port".  When you connect to the web using port 80, you are actually connecting to port 80 on the webserver.  The port on your PC will be a high-random port over 1024.  You can view this with the "netstat -a" command while you are connected to a web page.  The web connection is an outbound connection.  The router performs NAT, which basically means it changes the source IP and port of the connection and keeps track of every connection going through the router.  When it has info to send to your PC, it knows where to send it.

Port forwarding is for inbound connections.  Is your program a server or a peer to peer program?  Your program requires the use of port 612...  port forwarding will tell the router that when it gets inbound packets on port 612 that they should be sent to your PC's port 612.
0
 
bostonfenix275Author Commented:
Wow, I'm an idiot...duh.

I didn't even think of that -- inbound vs. outbound. I am running an SSH server on my laptop w/ port 22 forwarded to my machine. That means when someone tries to connect to http://OUR.EXTERNAL.IP:22 it will go to my comp....duh.

So say we had 2 machines running web servers...we could do 1 machine on 80, another on 8080, which would mean the URLS:
http://OUR.EXTERNAL.IP ...OR...http://OUR.EXTERNAL.IP:80
AND
http://OUR.EXTERNAL.IP:8080

Thanks for the help, I feel officially stupid :)
0
 
rich255Commented:
Don't kick yourself too hard.  It may be simple, but the problem is there are TONS of simple things to keep track of!

Your're right about the multiple web servers.  Internally you can have them all using port 80, but the outside will need to do forwarding on multiple ports:

extIP:80  ->  PC1:80
extIP:8080 -> PC2:80
extIP:5000 -> PC3:80
and so on...
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now