一个简单但重要的问题。
为什么作为程序员,我需要"port forwording"
在我的世界中使用这句话,如果我使用我的语言中有一个简单的工具,称为"bind()"
,"listen()"
"accept()"
它可以帮助我在我决定的 sime 端口中作为服务器监听客户端?
一个简单但重要的问题。
为什么作为程序员,我需要"port forwording"
在我的世界中使用这句话,如果我使用我的语言中有一个简单的工具,称为"bind()"
,"listen()"
"accept()"
它可以帮助我在我决定的 sime 端口中作为服务器监听客户端?
我会尽量通俗地解释。当 WAN 侧(例如 Internet)的主机需要联系位于调制解调器 LAN 侧的专用服务器/PC 时,端口转发的概念就出现了。
由于技术限制,不可能为世界上所有的客户端拥有一个 IPv4 公共地址,但是这个问题可以通过端口转发来解决。
用例 #1
让我们假设您有一个来自 ISP 的调制解调器的静态公共 IP 地址 (111.22.33.44)。您还有一台 linux PC 连接到具有私有 IP 192.168.1.15 的调制解调器。
在这种特殊情况下,无法从 WAN 侧/互联网访问 PC 主机。想象一下,您在度假时必须通过 SSH 访问 LAN PC。
如果您可以在调制解调器中启用 SSH 端口转发(端口 22)到目标 IP 192.168.1.15,那么只需访问 111.22.33.44 IP 地址的 ssh,就可以从 Internet 访问同一台 PC。当调制解调器在其 WAN IP 的 22 端口收到 TCP 同步数据包时,它会负责路由。
作为程序员,你真的不需要。这是网络功能,通常用于通过公共网络连接到位于 NAT 之后的服务器。有时也可用于将 TCP/UDP 端口 X 转换为端口 Y 或类似网络需要