我有一个关于NAT的问题,这个问题回答了大部分问题:NAT / PortForwarding /TCP/IP是如何工作的?
让我困惑的是,在问题的这一部分:
为什么要这么做?现在,当数据包返回时,路由器只需检查目标端口号,并根据前面提到的映射更改目标IP地址和目的端口号,数据包就可以成功地传递。
我的问题是:如果随机计算机(计算机A)试图使用NAT在局域网(计算机B)的随机端口上连接,会发生什么情况?例如,如果计算机A想通过计算机B上端口42534上的TCP连接,会发生什么情况?发送到局域网的数据包如下:
source_address:计算机A的公共演讲
source_port: A计算机的端口
destination_address:局域网的公共地址
destination_port: 42534
路由器如何知道它应该将数据包发送到哪台计算机?是否存在允许路由器知道局域网上哪台计算机将其发送到哪台计算机的映射?
发布于 2014-12-10 02:29:59
是。通常,可以从公共端访问的设备具有静态映射。因此,(公共)目标地址和端口被映射到NAT设备后面的私有地址。
如果未预先设置静态映射,则路由器将不知道如何处理数据包并将其丢弃。换句话说,除非管理员配置NAT映射,否则不会发生转换。
根据配置的NAT类型,所有端口都将映射到单个私有地址。或者,可以将特定端口映射到单独的私有地址和端口。
例如,您可以使用单个公共IP并将其映射到不同的服务器。使用相同的公共IP,可以将邮件(tcp 25)映射到一台服务器,SSH (tcp 22)可以映射到不同的服务器,而web (tcp 80)可以映射到第三服务器。但在公众看来,它们都是一个单一的地址。
https://networkengineering.stackexchange.com/questions/13543
复制相似问题