【发布时间】:2014-04-08 10:19:05
【问题描述】:
这是一个微不足道的问题,但我真的找不到一个好的答案。
当我在 NAT 后面托管一个监听端口 80 的网络服务器时,很明显我需要在我的路由器中启用端口转发到网络服务器的端口 80。但是,80 只是服务器的接受端口,对于实际请求,它将使用不同的临时随机端口。
我的问题是,我是否还需要为这个正在用于请求的随机端口启用端口转发?如果没有,它是如何工作的,我的意思是它是如何神奇地通过 NAT 的呢?
让我引用一本书: “服务器(程序)在特定计算机上运行,并具有绑定到特定端口的套接字。 服务器侦听套接字以供客户端发出连接请求(请参阅 参考资料)。如果一切顺利 好吧,服务器接受连接。接受后,服务器获得一个新的套接字 绑定到不同的端口。它需要一个新的套接字(因此需要一个不同的端口号)以便它可以 在为已连接的客户端提供服务时,继续侦听原始套接字以获取连接请求。”
我只想知道这个“新连接”是否适用于互联网上的客户端,如果端口转发仅启用到路由器后面的服务器的侦听端口。
【问题讨论】:
标签: sockets networking webserver router nat