NAT的基本概念

您好,我
是我休息日,我没上班。
是信用余额系统解决方案部门的 Kawa,今天
现在是七月,天气真热,我盼着能放个假。
这次我想聊聊网络,主要是给新成员
讲讲NAT的基本概念,这部分内容可能比较复杂。希望这篇文章能帮助大家更好地理解这些概念。
NAT到底是什么?
NAT(网络地址转换)顾名思义,是一种转换IP地址的机制。它
是各种网络上使用的应用程序、网站和系统必不可少的技术。此外,
还有一种名为NAPT的技术,用于转换端口号。
了解背景
这项技术诞生的原因很简单:如何与完全不同的网络通信?
尤其是在局域网 (LAN) 与广域网 (WAN) 之间通信时(反之亦然),源地址需要根据通信方向进行转换,以匹配面向网络边界的地址。
因此,20 世纪 80 年代末,各大学开展了相关技术的研究,最终发展出了地址转换技术。
(NAT正式发布为 RFCしたのが1999年頃)
除了便利性之外,IPv4 地址枯竭问题上也发挥着至关重要的作用
虽然你可以进一步研究,但 IPv4 地址创建之初,人们认为“2 的 32 次方约等于 43 亿个地址,应该足够用了”。然而,
2011 年,IANA(ICANN)实际上宣布“IPv4 地址已用完”,这成为了一个热门话题(至少表面上如此)。
鉴于 IPv6 的普及进展缓慢,如果互联网接口只需要一个 IP 地址,就能
减少 IP 地址的使用量,从而为个人和企业节省成本,实现双赢。
NAT基础知识
了解了这些背景知识后,我们来谈谈NAT的基础知识。
“转换IP地址”这个短语可能乍听起来不太容易理解,所以让我举个例子来说明。
假设你是一家规模较大的公司,有多个部门,一位客户前来咨询销售部门。
一楼接待员确认客户是来找“销售部的XX先生/女士”的。确认完毕后,客户被引导至四楼,销售代表就在那里。

这实际上几乎和NAT一样。
- 客户无法看到公司大楼内部;只能看到接待区作为联系点(IP 地址与路由器的 WAN 接口关联)。-
他们会被引导至 4 楼的销售部门(公网 IP 转换为私网 IP)。
基于对这个概念的理解,我想从外部查看公司内部网络上安装的监控摄像头。

我计划这样分配IP地址。
(为了避免混淆,我将省略路由器的本地IP地址。)
- 目标路由器的 WAN IP 地址:12.34.56.78
- 监控摄像头的私有 IP 地址:192.168.10.252
- 连接路由器的全局 IP 地址:98.76.54.32
- 连接电脑的私有 IP 地址:172.16.0.3
- 摄像头使用的端口号:TCP/60000
1) 想要访问网络的您,请从您家里的本地电脑访问公司的全球 IP 地址
(・ω・)つ 点击 [PC]--→[源路由器]----(互联网)--→[目标路由器]
172.16.0.3--→98.76.54.32--→12.34.56.78:60000
当数据发送到互联网时,源 IP 地址会进行源 NAT 转换,
目标路由器会将访问视为来自 98.76.54.32。
2) 从目标路由器传输到监控摄像头
(・ω・) *紧张* [源路由器]----(互联网)---[目标路由器]--→[监控摄像头]
98.76.54.32--→12.34.56.78--→192.168.10.252:60000
当数据包到达目标路由器时,它会认为“由于数据包来自 TCP/60000,我应该将其转发到监控摄像头”(目标路由器上需要预先配置),
最终数据包将被转发到 192.168.10.252。
对返回的数据包应用状态检测(详情请咨询 ChatGPT),以便
源 PC 可以查看监控摄像头录像。
NAPT基础知识
但如果公司总裁是个事无巨细都要管的人,安装了10个监控摄像头呢……?
全球只有一个IP地址,而且由于摄像头规格的限制,端口号不能从60000更改。
这时,NAPT(网络地址端口转换)。
路由器静态 NAT,
广域网:60000 --→ 192.168.10.252:60000
广域网:60001 --→ 192.168.10.253:60000
广域网:60002 --→ 192.168.10.254:60000
...
您只需将端口号移动一位,同时保持 IP 地址不变(12.34.56.78),即可连接到各个摄像头。
例如,如果连接端口为 60000,则直接连接到 192.168.10.252。
如果端口为 60001,则连接到另一个摄像头:192.168.10.253(端口 60000)。
如果端口为 60002,则连接到另一个摄像头:192.168.10.254(端口 60000)。
通过这种方式将目标 IP 地址和端口号一一对应,即使在资源有限的情况下也能正常运行。
摘要和各种NAT
由于我们的服务大多在云环境中提供,因此我们无需经常考虑NAT,因为它会自动处理,这很方便。
但是,在与API集成时可能需要NAT网关,所以我认为这方面的知识至关重要。
即使在现代服务中,NAT技术也应用于各种场景,例如使用P2P技术的在线多人游戏和IP电话,由此可见,它实际上是一项在幕后应用非常广泛的技术。
我刚才举的例子是静态NAT,但还有动态NAT、源NAT、目标NAT等等。
此外,还有一些技术使用复杂的端口控制机制,例如P2P中使用的锥形NAT和同步NAT。名城大学的相关资料对此有非常详细的介绍。
回顾这些技术,我总是惊叹于它们的神奇之处,它们能够流畅地支持在线游戏,没有任何延迟。
这篇文章写得比较随意,但我希望它能对某些人有所帮助。
下次见!
~完成~
9
