首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NAT源UDP端口是否仅依赖于src /端口?

NAT源UDP端口是否仅依赖于src /端口?
EN

Network Engineering用户
提问于 2015-10-26 07:25:50
回答 2查看 576关注 0票数 5

NAT UDP端口是否仅依赖于src ip/端口?

假设我使用Source通过NAT /路由器连接两个网络。

网络A中的PC A (192.168.0.2) (与路由器192.168.0.1)将UDP数据包发送给网络B中的PC B (10.0.0.2) (与路由器10.0.0.1)。在网络A中,数据包具有src ip/端口192.168.0.2:2000和dst 10.0.0.2:5000。在网络B中,它变成了src /端口10.0.0.1:6000 (因为6000无论出于什么原因都是免费的,只是为了示例的缘故)和dst 10.0.0.2:5000。

然后PC A从src ip/port 192.168.0.2:2000向网络B中的另一台PC发送另一个UDP数据包。网络A中的源端口相同,但在网络B(本例中为6000)中也是相同的吗?我想是的,但我不确定。

它也依赖于dst /端口吗?如果没有,是否意味着一台PC,甚至网络A中的一个src端口,都可以使用网络B中的所有NAT哈希表条目?(我希望至少需要65536个网络A src端口来填充网络B中的NAT哈希表条目)

顺便说一句:这个问题是从堆栈溢出中移出来的,因为我认为它更适合这里。

EN

回答 2

Network Engineering用户

回答已采纳

发布于 2015-11-04 22:07:03

在您的例子中,它是"NAT过载“(或PAT,NAPT)。

这都是为了确保翻译条目的唯一性(本地-src ip:port ==>全局-src ip:port)

因此,要回答你的问题:

1-如果翻译表已经包含以下条目:

192.168.0.2:2000 ==> 10.0.0.1:6000 (为了示例起见),192.168.0.2:2000中的所有传出连接将被转换为10.0.0.1:6000。所以你的假设是正确的。

它取决于本地src和src-端口。

因此,理论上最大为65536个PAT条目的设备、来自不同src端口的65536个传出连接的设备或来自65536个设备的一个src端口可以填充转换表。

在实践中,可以通过以下方式减少这一限制:

  • 内存、CPU、可用端口(静态-PAT/PAR)、.
票数 1
EN

Network Engineering用户

发布于 2016-08-14 01:27:21

当前的推荐是NAT映射与端点无关。也就是说,来自同一个私有客户端IP /端口/协议的所有数据包都使用相同的公共客户端IP和端口,即使处理方式不同。

然而,你在野外找到的每一个纳特人都不会这么做。有些人可能会根据完整的4元组(称为“对称NAT")进行翻译。

雀麦每年落叶是对称的NAT与端口保持行为。在客户机上具有随机源端口的轻负载下,映射看起来与端点无关。但是,如果不同机器上的多个客户端使用相同的源端口,NAT的真正性质就会变得显而易见。我相信linux NAT也属于这一类,尽管我对此并不乐观。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/23715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档