networking - 不使用 tcp/udp 端口的 ping 如何在 pat(nat 过载)网络中工作?
问题描述
我坐在 nat 网络后面,我可以 ping 8.8.8.8。我知道正常的 tcp/udp 数据包被分配了一个内部全局地址和随机端口,所有传入该端口的数据包都将转发给我。不使用任何 tcp/udp 端口的 ICMP 数据包如何在 pat 中工作。ICMP 回显回复将如何转发给我?
解决方案
RFC 5508中描述了这方面的最佳实践。
简而言之,NAT 将每个 ICMP 查询与绑定到发起查询的主机的查询 ID 相关联。然后,答案在到达时被映射回来。他们使用 IP 标头进行此映射。
推荐阅读
- javascript - 如何在 next.js 中使用 supertest 测试快速服务器?
- excel - VBA 函数来测试字符串的缩写
- python - 在 Debian Linux 中安装 pip3 后无法导入 pyperclip
- bash - 如何在 Jenkins 管道 sed 命令中转义单引号?
- javascript - 合并数组中的对象
- spring - Mockito when().thenReturn 调用实际方法
- java - 如何在使用JSP创建的网站中创建父子关系和处理?
- javascript - Javascript | 随机移动图像并退出显示
- java - CSV 未显示正确数据
- python - Python MySQL没有从数据库中读取