Advertisement

NAT相关概念

阅读量:

文章目录

  • 前言
  • 概述了网络地址转换技术的基本概念
  • 针对当前网络通信中的主要挑战进行了详细探讨
  • 探讨了主要的技术类型与应用场景
  • 对STUN规范中所定义的具体 NAT 类型进行了详细说明
  • 描述了具体的实现细节与技术方案
  • 探讨了其内部运行机制与工作原理
  • 研究了增强型 NAPT 的具体工作机制与优势
  • 分析了基于服务器的 NAT 实现机制及其影响因素
  • 提供了详细的配置指导与使用建议
  • 总结部分保持不变

前言


一、什么是NAT?

NAT是一种地址转换机制,在互联网协议(IP)数据报文头部中对源IP地址进行编码处理以生成目标IP地址,并借助端口号的变更实现资源的共享与再利用。作为应对IPv4公网可用 IP 地址资源快速消耗的技术手段,NAT因其相对简单的实现方式而被广泛应用于网络设计中。

二、NAT解决了什么问题?

伴随网络应用数量的增加, IPv4地址资源日益紧张.然而, 虽然IPv6能够从根本上解决IPv4地址空间不足的问题, 但目前大多数网络设备与应用程序仍主要依赖于IPv4地址方案.因此,在IPv6大规模普及之前, 这些过渡技术主要包括CIDR、私网地址等, 其中NAT可被视为这些过渡技术之一.

当私网用户的网络包抵达公共网络接入点时,若该接入点配置了NAT功能,该设备会对接收到的数据包中的源IPv4地址进行重定向,并将目的端口映射到一个新的目标端口后发送至公共网络。在这一过程内,单个公网IP地址能够处理多路来自不同本地网络的数据包,以便识别不同来源的数据包,从而实现同一公网地址下的多路通信支持。

早期的网络地址转换(NAT)主要指Basic NAT方案。从技术角度来看,这种方案相对简单且易于实现,并且仅具备地址转发功能而不进行端口映射操作。由此可见,在解决私有网络主机接入公共互联网方面此方法具有一定的实用性;但因其实现机制未能有效应对IPv4资源分配效率低下所带来的挑战问题。现代的网络地址转换方案主要包括网络地址端口转发技术(NAPT)。该技术不仅实现了多跳连接路径的设计理念,并且能够同时完成数据包层面的实际传输操作;因而使得多种私有网络设备能够共享单一公网IP资源用于访问公共互联网服务资源系统

三、NAT的类型

基于报文转换方向的不同特性,NAT功能主要可分为三类:按处理对象区分,有源地址转换、目的地址转换以及双向转换之分,我们将依次深入探讨这三大类别的具体实现机制

源 NAT 主要用于解决私域网络用户如何接入互联网的问题,在 NPT(网络转换过程)中它专注于处理报文中来源地址的转换工作。具体而言,在一个私网用户的主机试图接入 Internet 时,在发送至 Internet 的数据包到达 NPT 设备后(即经由该设备进行处理),设备会利用源 NAT 技术将数据包中包含的 IPv4 地址从其所在的子网络转化为对应的公网 IP 地址(即 IPv4 地址),从而实现这些用户的在线接入互联网的目的。

根据转换时是否同时转换源端口号,源NAT可以细分为如下几种类型

在这里插入图片描述

在NAT处理过程中,在 NAT 转换中仅对报文中的目标地址和目标端口进行转换,在实际应用中主要用于公网用户访问私网服务的情境。当公网用户的主机发送的数据包到达 NAT 设备时,在该设备上将利用目的 NAT 技术将数据包中的公网 IPv4 地址转换为私网 IPv4 地址,并使该公网用户能够通过该公网 IPv4 地址使用公共网络访问私网服务资源。根据前后端口和地址是否存在固定的一一对应关系,在此基础之上可以将目的 NAT 细分为若干类型,请参见下图以获取详细划分信息

在这里插入图片描述
  1. 双向 NAT
    双向 NAT 是指在转换过程中同时处理传输过程中的源信息与目标信息。值得注意的是,并非单一功能的存在性问题:实际上它是源自于 NAT 功能与目标 NAT 功能相结合的结果。对于同一流量,在经过设备时会同步更新传输过程中的源地址与目标地址相关的信息。这种技术配置通常应用于需要同时支持外部网络用户访问内部服务器以及内部网络用户访问内部服务器的情景中。

四、STUN中定义的NAT类型

在STUN标准中遵循基于内部私有网络IP地址和其对应端口到NAT出口端口的映射关系模式,在以下四种分类方式下对NAT进行划分,请参见如图所示。

在这里插入图片描述

STUN中定义的NAT类型

①:Full Cone NAT(完全锥型NAT)

每个来自同一私网IP地址和端口(IP1:Port1)的数据包都会被转换为目标公共网络上的对应公网IP地址和端口(IP:Port)。同时,在目标公共网络上的任意外部设备若向其指定的公网IP地址和端口发送数据包,则能够与本地网络中的机器正常通信。

这种类型的策略较为宽松,在建立私网IP地址与公网IP地址以及对应的端口映射关系后,则可使所有接入该NAT后的主机均能访问互联网上的相关主机。

②:Restricted Cone NAT(限制锥型NAT)

每一个来自同一私有IP地址及端口号(IP1:Port1)的请求都会被转换为目标公共IP地址及目标端口号(IP:Port)。与传统的完全锥型NAT不同之处在于,在此方案下只有在目标内网主机此前已通过目标公网主机发送数据时才可实现反向通信功能。

③:Port Restricted Cone NAT(端口限制锥型NAT)

与其具有相似性的是,在网络架构上还包含了指定的端口号这一显著区别。具体而言,在某些情况下(如IP2:Port2),一个位于公网中的设备想要向其私有地址空间内的另一台设备发送数据时,则需要满足以下条件:该私有地址空间中的设备必须此前已经向该公共IP地址及指定端口进行了通信。

④:Symmetric NAT(对称NAT)

任何来自同一私有IP地址及端口的请求,在到达特定目标时都会被转发至同一目标。当同一设备使用相同的源IP及端口号而发送至不同目标时,则会采用不同的转发策略。此外,在仅当这些公网设备接收到来信时才允许它们反向与私网设备进行通信。

这种类型的网络地址转换与传统的端口限制型网络地址转换存在显著差异。具体而言,传统的端口限制型网络地址转换将所有请求统一映射至同一个公网IP地址以及指定的默认端口;而在对称网络地址转换中,则会根据请求的具体需求进行动态映射。

五、NAT的实现方式

NAT(网络地址转换技术)主要有三种实现方式:静态转ад德Static Nat、动态转导Dynamic Nat 和 端口多路复用OverLoad。
静态转导的方式是将内部网络的私有IP地址映射为特定公有IP地址;这种映射是一对一的关系模式;因此某个私有IP地址只能对应一个公有IP地址。
通过静态转导技术;外部网络能够实现对内部特定设备(如服务器)的访问。
动态转导则是将内部网络的所有私有IP地址分配给多个合法外部IP地址;这种分配是基于随机原则;只要预先确定哪些私有IP地址需要被允许连接到外部互联网;以及指定哪些合法外部IP作为目标即可实施动态转导。
当ISP提供的合法外部IP数量不足以满足内部计算机需求时;可以采用动态转导的方式灵活应对。
端口多路复用(PAT)则通过重新配置数据包的源端口实现了对外部网络访问的支持;
这种方式能够使所有内部主机共享一个合法外部IP;
从而最大限度地节省了 IPv6 地址资源;
同时也能有效地隐藏内部主机之间的通信;
避免来自互联网的安全威胁;
因此目前应用最多的技术正是这种基于端口多路复用的设计方案。

六、NAT的工作原理

基于先前的分类,在分别选取源 N AT 和 目的 N AT 各一种作为代表进行阐述其工作原理时,“尽管在转换过程中存在细微差异”,但其工作原理本质上相同,并无需再次赘述。此外,在讨论双向 N AT 时,“双向 N AT 实际上是源 N AT 和 目的 N AT 的结合”,因此其工作原理也无需额外说明。

七、NAPT的工作原理

NAPT在完成地址转换的同时也完成了端口转换,在完成这两个步骤后实现了多个私网用户共享一个公网IP地址的上网功能。它通过端口区分确保了不同用户的网络接入,并成功实现了地址复用

在这里插入图片描述

当Host访问Web Server时,设备的处理过程如下:

当设备接收到Host发送的报文后,在完成对宿主计算机的身份验证过程中发现存在需要处理的情况时,
系统会按照预设的安全访问策略对相关数据包进行转换以满足网络层面的安全需求。
随后系统会根据当前主机运行的操作系统版本以及配置信息,
按照源IP哈希算法从可用的公网IP地址池中选择合适的公网IP作为目标传输路径,
并将其与当前的数据包进行通信连接建立关联,
最终完成数据包的整体传输任务。

八、NAT Server工作原理

在使用NAT Server时需要先为设备设定公网地址与私网地址的固定绑定关系完成设置后设备将生成一个Server-Map表项用于存储这两类地址的对应关系这一表项会在当前NAT Server配置有效期内持续存储直至用户删除相关配置

在这里插入图片描述

该内部服务器(Server)拥有私有网络IPv4地址192.168.1.2/24配置信息,并在外网分配了公有网络IPv4地址1.1.1.10及统一使用的端口80。服务器内外网络间IP地址映射关系已在设备上预先配置完成。当一个Host设备访问该Server时,在其内部按照以下流程进行处理:

设备接收来自互联网上的客户端请求报文首包后,在服务器映射表中找到并建立与该报文目的端口相对应的映射关系,并根据报文目的端口信息,在服务器映射表中建立对应的映射关系

设备建立会话表,然后将报文发送至Intranet。

当设备接收到Server返回的Host响应报文时,在接收端触发匹配至步骤2中预先建立的关联项;随后在处理流程中将源地址字段赋值为1.1.1.10,并完成该修改后的报文转发至Internet网络路径上。

后续主机将持续不断地发送给服务器的所有报文,设备将直接按照会话表中的记录处理这些报文,并且不再从Server-map表中查找相关数据。

九、如何使用NAT?

前面已有介绍不同NAT类型在各种应用场景中的适用性。接下来将介绍几种典型的NAT应用场景以便于用户理解。

私网用户的接入通常采用NAPT方案。
在众多小区、学校及企业内部网络规划中:
因公网IP地址资源较为有限:
一般会将公网IP地址分配给私域网络用户。
此时:
配置源NAT机制能够实现私域网络用户的互联网接入。
用户可以根据自己拥有的公网IPv4地址的数量来决定使用哪一个方案。

当用户的公网IP地址数量较多时, 配置了位于NAT设备出接口上的IP地址以及其它应用组件之后, 还有剩余未被占用的公网IP地址时, 可以部署基于NAT转换协议(NAPT)技术。该技术将内部网络主机映射到该私有网络上的公有网络IPv4地址, 如图所示, 在设备上部署相应的转换模块, 使得内部网络主机能够访问互联网功能。

在这里插入图片描述

当用户的公网 IPv4 地址数量有限且无空余可用时,请您采用该方案:选择采用 Easy IP 方案进行配置。该方法将使用 NAT 设备出接口指定的 IPv4 地址作为私网主机对应的公网上 IPv4 地址,并通过如图所示的操作流程完成设置。

在这里插入图片描述

3.公网用户通过NAT Server访问私网服务器

在特定场景下,私网中的某些服务器需向公网提供服务(例如部署的Web服务器等)。NAT可支持此类应用。具体而言,在设备上配置NAT Server以建立'公网IP地址+端口号'与'私网IP地址+端口号'之间的映射关系(如图所示),从而实现公网上主机通过该映射关系访问私网相关服务功能。

在这里插入图片描述

总结

总结如下:
如前所述,在本次讨论中我们主要围绕以下几个方面展开:
本文仅简要概述了pandas的基本功能,
它提供了大量便于快捷处理数据的功能与方法。

全部评论 (0)

还没有任何评论哟~