首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NAT是如何改变端口号的?

NAT是如何改变端口号的?
EN

Stack Overflow用户
提问于 2022-04-04 08:06:39
回答 1查看 621关注 0票数 1

据我所知,我相信以下的陈述是正确的。

  1. 路由器只能重定向数据包,只能与网络(internet层)交互,
  2. NAT将私有ip映射为公共ip。它使用NAT表,其中源私有ip映射到公共ip,而且源端口也随着新的源端口而改变。

我的问题是关于端口的NAT功能。在路由器中工作的NAT如何改变与传输层(端口)有关的东西?也就是说,当私有系统发送源端口时,NAT如何能够在将其发送到internet之前用新端口对其进行更改。

我错过了什么,也许我错了。会很感激你的帮助。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-04-04 08:15:19

NAT从NAT内部网络上的节点拦截传出的IP数据包(包括UDP和TCP),并可以修改UDP和TCP报头中的源IP和源端口。它还将更新标题中的其他字段(即校验和)。

类似地,对于传入的数据包,NAT将在其端口映射表中找到从先前的出站数据包或连接创建的条目后更改目标IP/端口。

至于“怎么做”-就是这样。它使用它接收到的完全相同的有效负载来重建一个新的UDP/TCP/IP报头。NAT被注册为局域网上的网关设备,所以所有前往互联网的数据包都将被发送到NAT的MAC地址--如果您想知道NAT首先是如何捕获数据包的话。

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

https://stackoverflow.com/questions/71733857

复制
相关文章

相似问题

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