"Clueless2" <no.spam> wrote in news:41d833e2$0$16573$cc9e4d1f@news-
text.dial.pipex.com:
> In this case each request to the bbc website will come from
> a single IP address, but the "reply" is to be sent to a different port.
Not exactly true.
For web browsing it would go as follows:
PC1 TCP SYN from port 50000 ->
www.bbc.co.uk port 80
IE 192.168.0.1:50000->212.58.224.116:80
The router would then store a copy of the two sockets in its NAT tables
as a single connection allowing further packets to be relayed back
through that connection.
If the server were to send a reply on a different port, it would get
dropped. If the router receives a RST or FIN packet on a session matching
those ports then it will not pass any further packets (except the RST,ACK
or FIN,ACK) for that session.
Another example is FTP, for direct connections with legitimate IP
addresses, you can use non passive FTP that will go exactly as above for
the control comms. FTP actually uses a second socket for transferring
data.
NAT with no forwarding rules will break non passive FTP as the server
opens the second socket. Passive mode gets around this by the server and
client negotiating the second socket and then the client opening that
socket so that a NAT table will accept the data.
You can probably find more info in whatis.com