不使用 tcp/udp 端口的 ping 如何在 pat(nat 过载)网络中工作?

How does ping which do not use a tcp/udp port work in a pat ( nat overload) network?

我坐在一个 nat 网络后面,我能够 ping 通 8.8.8.8。我知道正常的 tcp/udp 数据包被分配了一个内部全局地址和随机端口,所有进入该端口的数据包都将被转发回给我。不使用任何 tcp/udp 端口的 ICMP 数据包如何在 pat 中工作。 ICMP echo reply 将如何转发给我?

RFC 5508 中描述了最佳实践。

简而言之,NAT 将每个 ICMP-query 与绑定到发起查询的主机的查询 ID 相关联。然后在到达时将答案映射回来。他们使用 IP header 进行此映射。