NAT 如何正确修改标头?

网络工程 ip 纳特 MAC地址
2022-03-04 09:41:42

将传入消息(例如从 stackexchange)替换到路由器并使用我的 PC IP 修改标头的过程是如何发生的?路由器如何知道要插入哪个IP?我的设备的 MAC 地址是否隐藏在某处?

在此处输入图像描述

1个回答

将传入消息(例如从 stackexchange)替换到路由器并使用我的 PC IP 修改标头的过程是如何发生的?

由于您指的是 Stack Exchange,因此您似乎指的是源 NAT ( NAPT ),它用于私有到公共的转换,尤其是用于 Internet 访问。

对于新的传出连接,NAT 路由器在其转换表中创建一个条目

  • 传输层协议(TCP 或 UDP)
  • 原始源 IP 地址
  • 原始源端口
  • 目标 IP 地址
  • 目的端口
  • 转换后的源 IP 地址(仅在公共地址池中需要,否则使用路由器的 WAN IP)
  • 翻译源端口

然后它将数据包转换source IP:source porttranslated IP:source portWAN 并将其转发到 WAN。

对于传入的 WAN 数据包,NAT 路由器会检查其转换表中是否存在匹配的连接。如果是,它会反转转换(现在为destination IP address:port)并将数据包转发到 LAN

路由器如何知道要插入哪个IP?

路由器使用为 NAT 策略配置的公共 IP 地址(或池)。(我简化了一点,NAT 有时也用于重叠的私有网络。)

我的设备的 MAC 地址是否隐藏在某处?

以太网等基于 MAC 的网络中的每个接口都需要一个唯一的 MAC 地址,以便在数据链路层(交换)上进行转发。不能使用裸 IP 地址,需要将每个 IP 地址解析为 MAC 地址(用于 IPv4 的 ARP 或用于 IPv6 的 NDP)。