来自https://en.wikipedia.org/wiki/Port_forwarding
在计算机网络中,端口转发或端口映射是网络地址转换 (NAT) 的一种应用,它在数据包穿过网络网关(例如路由器或防火墙)时将通信请求从一个地址和端口号组合重定向到另一个。
我认为根据他们的定义,网络地址转换(NAT 设备所做的)不一定涉及端口转发(例如 SSH 端口转发)。那么为什么维基百科说端口转发是 NAT 的一种应用呢?你能从他们的定义中解释一下吗?
商业路由器(包括NAT意义上的商业)中所说的“端口转发”是否正确,以便局域网外的计算机可以访问局域网内的服务实际上不是“端口转发”,而是NAT ?
为什么维基百科说端口转发是 NAT 的一种应用
网络工程
纳特
2022-02-28 22:23:27
2个回答
没有 NAT,端口转发就不存在。端口转发是 NAT 的一项功能,它允许将发往特定端口上外部接口的流量转发到内部网络上的主机。
例如,如果我在内部网络上有一个具有私有地址的 Web 服务器,并且我想让公共 Internet 上的人使用 Web 服务器,我需要在 NAT 路由器上设置端口转发以让公众使用公共、外部地址以访问 Web 服务器的私有内部地址。
NAT 将内部地址转换为外部地址。无法在 Internet 上路由发往内部私有地址的流量。公共的外部地址属于 NAT 路由器。在上面的示例中,发送到外部的流量,端口 80 (HTTP) 上的路由器的公共地址将被 NAT 路由器丢弃,因为它没有运行 Web 服务器。当您在 NAT 路由器上配置端口转发时,它就会知道将该流量转发到特定的私有内部地址。
我认为这是同一对词在两种不同的上下文中用于两种不同的事物的情况。
NAT 路由器上下文中的“端口转发”是添加到 NAT 实现的规则,以便给定外部 IP 和端口上的传入连接映射到给定的内部 IP 和端口(通常但不总是外部和内部端口相同)。
ssh 上下文中的“端口转发”是一个系统,它通过 ssh 连接将应用程序数据从客户端的 TCP 连接转发到服务器端的 TCP 连接。
不幸的是,您链接到的维基百科文章没有明确区分这两种含义,而是混淆了它们。
其它你可能感兴趣的问题