Restricted Cone NAT 记住多少个映射?

How many mappings does a Restricted Cone NAT remember?

假设我在 Restricted Cone NAT 后面,我希望能够从某个端点 EP-A(互联网上不在 NAT 后面的某些 PC)接收 UDP 消息。我首先向那个 EP-A 发送一个 UDP 数据包以在 NAT 中打一个洞。

这意味着 NAT 需要记住映射:

(My local endpoint, EP-A)

但是当我将另一个 UDP 数据包发送到另一个远程端点时会发生什么情况 EP-B?新映射 (My local endpoint, EP-B) 会覆盖旧映射吗?还是 NAT 会记住两者?

如果NAT能够记住不止一个这样的映射,那么最大值是多少?

我知道这可能因 NAT 而异,因此如果没有 RFC,我也会对任何统计数据非常感兴趣,"recommendations for NAT manufacturers",...

Will the new mapping (My local endpoint, EP-B) overwrite the old one?

没有

Or will the NAT remember both?

一般是的。饱和后通常会保留旧映射并丢弃新映射,可能会出现 ICMP 错误。

If the NAT is capable of remembering more than one such mapping, then what is the maximum?

如果您有权访问系统,则依赖于实现并且通常是可配置的。

thus if there isn't an RFC for it I'd be also very interested in any statistics

NAT其实有几个RFC,4787特指UDP情况下的NAT。但他们没有具体说明具体数字,因为这在很大程度上取决于设备和网络规模。

根据我的个人经验 运行 基于 UDP 的 DHT 节点或 DNS 解析器足以压倒家庭路由器(自定义固件可以缓解此问题)或未实现 EIM 的 CGNAT 的默认配置.

我记得读过一些调查 NAT 跨各种 ISP 的映射保留时间、端口编号行为和映射类型的研究论文,但我不记得他们是否也测试了饱和度。