假设我在Restricted Cone NAT后面,我希望能够从某个 endpoints EP-A
(在互联网上的一些PC上,而不是在NAT后面)接收UDP消息 . 我首先将UDP数据包发送到 EP-A
以在NAT中打一个洞 .
这意味着NAT需要记住映射:
(My local endpoint, EP-A)
但是当我将另一个UDP数据包发送到另一个远程 endpoints EP-B
时会发生什么?新映射 (My local endpoint, EP-B)
会覆盖旧映射吗?或者NAT会记住两者吗?
如果NAT能够记住多个这样的映射,那么最大值是多少?
据我所知,这可能因NAT而异,因此如果没有RFC,我也会对任何统计信息,“NAT制造商的建议”,......
1 回答
没有 .
一般是的 . 饱和时通常会保留旧的映射并丢弃新的映射,可能存在ICMP错误 .
依赖于实现,如果您有权访问系统,通常可以进行配置 .
实际上有几个用于NAT的RFC,4787在UDP的情况下具体指NAT . 但他们没有具体说明具体数字,因为它很大程度上取决于设备和网络规模 .
根据我个人的经验,运行基于UDP的DHT节点或DNS解析器可能足以淹没家庭路由器的默认配置(自定义固件可以缓解此问题)或不实现EIM的CGNAT .
我记得读过一些调查映射保留时间,端口编号行为和各种ISP的NAT映射类型的研究论文,但我不记得他们是否也测试了饱和度 .