NAT的基本概念

大家好,

我是 0 学分余额系统解决方案部门的 Kawa,这是我的休息时间。

现在是七月,天气炎热,我真想赶紧休假。今天
,我想和大家聊聊网络,主要是面向新手,
我会讲解一下令人困惑的NAT的基本概念。希望这篇文章能帮助大家更好地理解这些概念。

NAT到底是什么?

NAT(网络地址转换)顾名思义,是一种转换 IP 地址的机制。它
是各种网络上使用的应用程序、网站和系统必不可少的技术。此外,
还有一种名为 NAPT 的技术,用于转换端口号。

了解背景

这项技术诞生的原因很简单:如何与完全不同的网络进行通信?这曾是一个难题。
尤其是在局域网 (LAN) 与广域网 (WAN) 之间通信时(反之亦然),需要根据通信方向将源地址转换为面向网络边界的地址。
为此,20 世纪 80 年代末,多所大学开展了相关研究,并开发出了转换技术。
(NAT成为

除了便捷性之外, IPv4 地址枯竭问题上也发挥着重要作用
更多详情,请查阅相关资料。IPv4 地址最初创建时,人们认为“2 的 32 次方,即约 43 亿个地址,应该足够用了
”。然而,2011 年,IANA(ICANN)宣布“IPv4 地址几乎用尽”,这一消息震惊了世界。
鉴于 IPv6 目前普及率较低,如果每个面向互联网的接口只需一个 IP 地址即可解决此问题,那么就能减少
IP 地址的使用量,从而降低个人和企业的费用,实现双赢。

NAT基础知识

了解了这些背景知识后,我们来谈谈NAT的基础知识。
仅仅说NAT“转换IP地址”可能不容易理解,所以让我用一个简单的类比来解释一下。

假设一位客户来到您公司,公司规模较大,设有多个部门,但所有来信都写着“销售部”。
一楼接待员确认信息后说:“请找销售部的XX先生/女士。”确认后,客户被引导至四楼,销售代表就在那里。

这实际上几乎和NAT一样。

・客户无法看到公司内部,只能看到前台作为联系点(IP 地址与路由器 WAN 侧接口关联)
・客户会被引导至 4 楼的销售部门(公网 IP → 私网 IP 转换过程)

基于对这个概念的理解,我想从外部查看公司内部网络上安装的监控摄像头。

我将按如下方式设置每个 IP 地址
(为避免混淆,我将省略路由器的本地 IP 地址):

- 目标路由器的广域网 IP 地址:12.34.56.78
- 监控摄像头的私有 IP 地址:192.168.10.252
- 源路由器的全局 IP 地址:98.76.54.32
- 源 PC 的私有 IP 地址:172.16.0.3
- 摄像头使用的端口号:TCP/60000

1) 您在家中通过本地 PC 访问公司的全球 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等等。
此外,还有一些使用复杂端口控制机制的技术,例如锥形NAT和同步NAT,它们常用于P2P应用。名城大学的资料对此主题有非常详细的介绍。

回顾这些技术,我总是惊叹于能够支持无延迟在线游戏的强大技术。
这篇文章是我匆忙写就的,内容也比较杂乱,但我希望它能对某些人有所帮助。
下次再见!

~完成~

如果您觉得这篇文章有用,请点击【点赞】!
8
加载中...
8票,平均分:1.00/18
1,174
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

川健

来自系统解决方案部门的
一只奇特的宝可梦