网络地址转换 (NAT):简介
已发表: 2022-08-24网络地址转换 (NAT) 是一种强大的方法,个人和组织可以使用它来建立安全、经济、简单的 Internet 连接。
NAT 不仅提供安全性,还提供与 Web 通信的灵活性、可扩展性和速度。
使用 NAT 还可以确保您为保护公共 IP 地址做出贡献。
但究竟什么是 NAT,您为什么要费心去理解或使用它呢?
在这篇文章中,我将回答这个问题。
所以,让我们从定义 NAT 开始。
什么是网络地址转换 (NAT)?
网络地址转换 (NAT) 通过在传输过程中更改网络地址数据将一系列 IP 地址映射到另一个地址。

换言之,NAT 使唯一的(互联网协议)IP 地址能够代表一台或一组计算机。 这意味着多个设备在网络中公开共享一个 IP 地址,即使它们在同一网络中具有私有 IP 地址。
最初,此方法用于消除在上游 ISP(Internet 服务提供商)更改或网络迁移的情况下单独为每个主机分配新 IP 地址的需要。 尽管如此,网络的 IP 地址仍然保持不变。
有趣的是,一个 NAT 网关可以提供一个单一的、可路由的 IP 地址,可以很容易地用于整个私有网络。 由于 NAT 会在传输过程中更改 IP 地址数据,因此在不同的寻址情况下会有不同的 NAT 实现不同的行为,并对网络流量产生其他影响。
NAT 做什么?
在 NAT 中,诸如 NAT 防火墙或路由器之类的网络设备将公共 IP 地址分配给专用网络中的一台计算机或一组计算机。 这样,NAT 允许一个设备在公共、私有和本地网络之间进行调解。

NAT 可以通过允许私有 IP 使用未注册的地址上网来保存 IP 地址。 在连接的网络之间转发数据包之前,NAT 将本地、私有网络地址转换为唯一的、全局的和合法的地址。
使用 NAT 配置,外部世界只能看到一个 IP 地址,尽管它代表整个网络。 因此,它可以隐藏完整的内部网络并提供更高的安全性和隐私性。 NAT 实施最适合远程访问环境。
NAT 是如何工作的?
网络地址转换允许像 NAT 路由器或防火墙这样的设备充当内部网络(本地网络)和外部网络(互联网)之间的中介。 这允许整个设备组在网络外执行某些操作时反映相同的 IP 地址。

NAT 就像组织中的接待员一样,根据特定指令决定发送、等待或阻止哪些访客或呼叫。 NAT 的工作方式类似。 所有请求都来自公共端口和 IP 地址。 在这里,NAT 指令决定了请求应该去哪里,同时隐藏了目的地的私有 IP 地址。
NAT 在两个不同的本地网络(外部网络和内部网络)之间选择网关。 内部的所有系统都将具有无法路由到外部网络的 IP 地址。 此外,一些外部有效 IP 将分配给网关,从而使出站流量看起来来自有效的外部 IP 地址。
接下来,它使用入站流量并将其传输到正确的内部系统。 这样,就建立了安全性。 由于传入和传出请求需要跨越转换过程,因此它提供了一种验证传入流量并将其与传出流匹配的好方法。
NAT 进程示例
这是 NAT 在现实世界中如何工作的示例。
用户将他们的设备连接到他们的家庭 Wi-Fi 网络。 家庭路由器将为设备分配一个专用 IP 地址,该地址只能在该网络中使用。
因此,当用户尝试加载给定网页时,该地址将通过其路由器请求目标网页。 现在,NAT 路由器会将请求的源地址从其设备的私有 IP 地址更改为其网络的公共 IP。 NAT 表将存储此转换,网关将在其中查找以确定数据包是否满足转换条件。
此外,用户尝试访问的服务器会将请求的数据包返回到其网络的公共地址。 接下来,路由器会将目标地址修改为设备的私有IP,同时将数据包路由到用户的设备。
NAT 的类型

NAT 具有不同的类型,您可以将其用于各种目的。
#1 。 SNAT
静态 NAT (SNAT) 是一种将私有 IP 地址转换为公共 IP 地址的 NAT。 它在执行转换时始终使用相同的公共 IP 地址。
SNAT 可以借助一对一的 NAT 映射未注册的 IP 地址以匹配已注册的 IP 地址。 这意味着该网络上的所有设备都将具有相同的公共地址。 在这种情况下,网络地址中只有两件事发生了变化——标头和 IP 地址。
这对于用户需要从外部网络访问的设备很有用。 它还用于互连两个具有不兼容地址的不同 IP 网络时。 此外,它还用于网络托管。 通常,个人和较小的组织使用具有较少设备的 SNAT 以保持成本最低。
#2 。 脱氧核糖核酸
动态 NAT (DNAT) 是一种将私有 IP 地址映射到公共 IP 地址池的 NAT。 与 SNAT 不同的是,它每次执行转换时不使用相同的 IP 地址,而是使用不同的 IP 地址,但它使用像 SNT 一样的一对一连接。

在这种情况下,DNAT 防火墙或路由器有一个可用的公共注册 IP 池。 因此,当 DNAT 将网络地址从私有转换为公共时,它允许路由器从该池中选择任何可用的公共 IP 地址。 接下来,它开始将未注册的 IP 地址映射到已注册的 IP 地址。
因此,DNAT 使设备能够为每次翻译使用不同的 IP。 这意味着您无法知道私有地址已映射到哪个全局 IP 地址。 这是一种有效的解决方案,因为您可以将更多设备连接到网络。
但是,这可能会很昂贵,因为您需要投资公共 IP 池。 另外,可以传输的数据包的数量是有限的。 您只能发送和接收与池中可用公共 IP 地址总数相等的数据包。
它适用于具有多个内部网络的大型组织。 如果您有固定数量的用户想要访问 Internet,这也很棒。
#3 。 拍
端口地址转换 (PAT),也称为 NAT 过载,是每个内部设备使用公共公共 IP 地址的地方。 但是,每个私有 IP 地址都将分配一个不同的端口。
在 PAT 中,不同的端口用于将不同的本地、未注册和私有 IP 地址映射到仅一个已注册 IP 地址。 它还区分了哪些网络流量对应于哪个 IP 地址。

PAT 是一种 NAT,其中数据包在从专用网络传输到公共网络时将具有更改的源地址。 此外,当它们从公共网络恢复到专用网络时,它们将具有更改的目标地址。
此外,数据包之间将更改端口号以确保转换清晰。 更改后的 IP 地址和端口号的组合使用已注册的私有 IP 地址进行映射。
许多人认为 PAT 比 NAT 更具成本效益。 原因是许多用户只需使用一个公共 IP 地址即可连接到网络。 因此,无论您是大型、小型还是中型组织。 你可以使用它。
除了 SNAT、DNAT 和 PAT,您还可以看到 RNAT 和重叠 NAT。
- RNAT允许您使用公共互联网或互联网连接到您的网络。
- 当使用 RFC 1918 IP 的两个组织的网络合并时,会发生重叠 NAT 。 当注册的 IP 分配给多个设备或在多个内部网络中使用时,也会发生这种情况。 在这里,重叠 NAT 连接网络而无需重新寻址每个设备。
为什么 NAT 很重要?

设备或网络系统需要一个 IP 地址,即一组以句点分隔的唯一数字,以建立与 Web 的通信。 此编号用于识别和定位网络设备,并使用户能够与 Web 进行通信。

IP有两种类型——IPv4和IPv6。 在互联网诞生之初,仅创建了大约 43 亿个 IPv4 地址。 然而,并不是每个都可以分配给设备来建立通信。 一些用于测试、军事和广播,而剩余的 3B IP 可用于通信。

2019 年,RIPE NCC 分配了可用池中剩余的最终 IPv4 地址,IPv4 用完。 引入了 IPv6 寻址来解决这个问题。 IPv6 重新创建 IP 寻址并提供更多选项来分配 g 地址。 然而,改变或实施网络系统需要多年时间。
输入 NAT。 思科同时引入了 NAT,现已广泛部署。
NAT 已成为节省全球地址空间的一种有价值且流行的方式,尤其是在 IPv4 地址用尽时。 NAT 还用于隐藏专用网络 IP 地址范围,以提高成本效益和安全性。
NAT 的优势
IP 地址保护
NAT 有助于保护合法注册的 IP 地址并防止其耗尽。 鉴于全球互联网用户数量不断增长,这是一项使网络成为每个人都可以访问的空间的伟大举措。
安全
使用 NAT,您可以以增强的安全性和隐私性访问网络,因为它可以从公共网络中隐藏您设备的 IP,即使在数据包正在传输时也是如此。 NAT 速率限制还允许您限制路由器上同时发生的 NAT 操作的最大数量。

这样,您可以更好地控制 NAT 地址的使用,并可以最大限度地减少病毒、蠕虫、拒绝服务 (DoS) 攻击等的影响。实施动态 NAT (DNAT) 将自动在 Internet 和内部网络之间创建防火墙。 此外,一些 NAT 路由器可以提供流量过滤和日志记录等安全功能。
多个连接
建立多个互联网连接有助于保持网络可靠性并减少连接失败期间关闭的可能性。 它还通过减少使用单个连接的设备数量来促进负载平衡。
此外,多宿主网络通常连接到为组织分配单个或多个 IP 地址的多个 ISP。 此外,路由器可以使用 NAT 来路由具有不同 NAT 协议的网络。
此外,多宿主网络通过使路由器能够利用 TCP 或 IP 协议的一部分,即边界网关协议 (BGP) 进行通信。 同样,子域站点在内部 BGP (IBGP) 的帮助下共享,而路由器则使用外部 BGP (EBGP) 进行交互。 如果连接失败,多宿主将通过另一个路由器重新路由数据。
速度

NAT 对源计算机和目标计算机都比代理服务器更透明。 这允许快速直接交易。 代理服务器通常也工作在第四层或 OSI 模型的传输层,甚至更高。 这使得它们比位于第三层或网络层的 NAT 慢。
可扩展性
当您的需求增长时,您的用户和设备将需要更多 IP。 因此,您可以利用 NAT 而不是向 IANA 请求更多 IP。 当您将 NAT 与动态主机配置协议 (DHCP) 结合使用时,扩展将变得更加容易。
原因是 NAT 和 DHCP 可以很好地协同工作,根据您的要求从可用列表中为子域分配未注册的 IP。 这样,您可以扩展可用的 IP 地址范围,并且 DHCP 可以快速配置并为更多网络计算机腾出空间。
灵活性和简单性
NAT 在部署和建立连接方面提供了灵活性。 您可以将其部署在无线公共 LAN 中。 有时,通过静态 NAT (SNAT) 和入站映射,您可以启用外部设备在子域上建立设备连接。
此外,NAT 降低了复杂性并支持简单的 Internet 连接,因为它不需要您在更改或合并网络后重新编号 IP 地址。 NAT 还允许您在内部网络中构建一个虚拟主机来协调 TCP 负载平衡。
NAT 的局限性

NAT 的一些限制是:
- 消耗资源:NAT 会消耗大量的处理器空间和内存资源。 这是因为它为您的传入和传出 IPv4 数据报翻译所有 IPv4 地址,并将所有翻译详细信息保存在内存中。
- 功能:启用 NAT 可能会导致某些技术和应用程序的功能减少。
- 隧道复杂化:NAT 会使隧道协议复杂化。 为此,您可以使用 IPsec 进行安全的网络地址转换。
- 层问题:当路由器作为 NAT 设备工作时,它可以干预第 4 层或传输层作为端口号,因为它是用于第 3 层或网络层的。
- 延迟:翻译过程中可能会发生路径延迟。
NAT 中的一些常用术语

- 源地址:它是启动主机的 IP 地址。
- 源端口:它是发起主机分配的 TCP/UDP 端口号。
- 目的地址:接收者的IP地址。
- 目标端口:它是发起主机请求接收方打开的 TCP 或 UDP 端口。
- 内部本地地址:它是分配给本地(内部)网络上的主机的私有 IP 地址。 服务提供商不会分配它。 它是内部网络的内部主机。
- 内部全局地址:表示一个或多个本地 IP 的 IP 地址。 它是外部/外部网络的内部主机。
- 外部本地地址:转换结束后,目标主机的真实 IP 地址位于本地网络中。
- 外部全局地址:转换前外部目标主机的 IP 地址。 它是外部/外部网络的外部主机。
- 子域:这是一个未注册的私有 IP 地址,包括:
- NAT 路由器部署的外部本地地址,以及
- 在本地地址内部,局域网使用
- NAT 表:NAT 重新分配端口号和 IP 地址,并使用 NAT 转换表跟踪它们。
假设路由器从分配了公共 IP 地址的本地设备接收到数据包。 路由器现在将更改源设备的 IP 地址,使其能够利用其 IP 地址。 接下来,它更改源的端口号以确保它具有有关必须将接收到的数据包传递到何处的信息。 IP 地址的重新分配记录到 NAT 转换表中。
结论
随着互联网用户的不断增长和安全问题在全球范围内的蔓延,需要一种更安全、更高效的连接方法。 NAT 旨在做到这一点。 它将有助于节省公共 IP 地址,同时为您提供连接到 Internet 时的安全性、速度、灵活性和可扩展性的好处。