首页 > 其他分享 >【技术分享】企业网必不可少的NAT技术

【技术分享】企业网必不可少的NAT技术

时间:2023-12-12 13:06:45浏览次数:31  
标签:报文 IP地址 技术 必不可少 私网 地址 NAT 公网

原创:厦门微思网络

NAT是一种地址转换技术,它可以将IP数据报文头中的IP地址转换为另一个IP地址,并通过转换端口号达到地址重用的目的。NAT作为一种缓解IPv4公网地址枯竭的过渡技术,由于实现简单,得到了广泛应用。

NAT解决了什么问题?

随着网络应用的增多,IPv4地址枯竭的问题越来越严重。尽管IPv6可以从根本上解决IPv4地址空间不足问题,但目前众多网络设备和网络应用大多是基于IPv4的,因此在IPv6广泛应用之前,使用一些过渡技术(如CIDR、私网地址等)是解决这个问题的主要方式,NAT就是这众多过渡技术中的一种。

当私网用户访问公网的报文到达网关设备后,如果网关设备上部署了NAT功能,设备会将收到的IP数据报文头中的IP地址转换为另一个IP地址,端口号转换为另一个端口号之后转发给公网。在这个过程中,设备可以用同一个公网地址来转换多个私网用户发过来的报文,并通过端口号来区分不同的私网用户,从而达到地址复用的目的。

早期的NAT是指Basic NAT,Basic NAT在技术上实现比较简单,只支持地址转换,不支持端口转换。因此,Basic NAT只能解决私网主机访问公网问题,无法解决IPv4地址短缺问题。后期的NAT主要是指网络地址端口转换NAPT(Network Address Port Translation),NAPT既支持地址转换也支持端口转换,允许多台私网主机共享一个公网IP地址访问公网,因此NAPT才可以真正改善IP地址短缺问题。

NAT的类型

根据NAT转换是对报文中的源地址进行转换还是对目的地址进行转换,NAT可以分为源NAT、目的NAT和双向NAT,下面我们分别介绍这三种NAT类型。

源NAT

源NAT在NAT转换时,仅对报文中的源地址进行转换,主要应用于私网用户访问公网的场景。当私网用户主机访问Internet时,私网用户主机发送的报文到达NAT设备后,设备通过源NAT技术将报文中的私网IPv4地址转换成公网IPv4地址,从而使私网用户可以正常访问Internet。

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

【技术分享】企业网必不可少的NAT技术_Server


源NAT分类

目的NAT

目的NAT在NAT转换时,仅对报文中的目的地址和目的端口号进行转换,主要应用于公网用户访问私网服务的场景。当公网用户主机发送的报文到达NAT设备后,设备通过目的NAT技术将报文中的公网IPv4地址转换成私网IPv4地址,从而使公网用户可以使用公网地址访问私网服务。

根据转换前后的地址是否存在一种固定的映射关系,目的NAT可以细分为如下几种类型,详见下图。

【技术分享】企业网必不可少的NAT技术_NAT_02


目的NAT分类

双向NAT

双向NAT指的是在转换过程中同时转换报文的源信息和目的信息。双向NAT不是一个单独的功能,而是源NAT和目的NAT的组合。双向NAT是针对同一条流,在其经过设备时同时转换报文的源地址和目的地址。双向NAT主要应用在同时有外网用户访问内部服务器和私网用户访问内部服务器的场景。

STUN中定义的NAT类型

在STUN标准中,根据私网IP地址和端口到NAT出口的公网IP地址和端口的映射方式,把NAT分为如下四种类型,详见下图。

【技术分享】企业网必不可少的NAT技术_NAT_03


STUN中定义的NAT类型

  • Full Cone NAT(完全锥型NAT)所有从同一个私网IP地址和端口(IP1:Port1)发送过来的请求都会被映射成同一个公网IP地址和端口(IP:Port)。并且,任何外部主机通过向映射的公网IP地址和端口发送报文,都可以实现和内部主机进行通信。这是一种比较宽松的策略,只要建立了私网IP地址和端口与公网IP地址和端口的映射关系,所有的Internet上的主机都可以访问该NAT之后的主机。
  • Restricted Cone NAT(限制锥型NAT)所有从同一个私网IP地址和端口(IP1:Port1)发送过来的请求都会被映射成同一个公网IP和端口号(IP:Port)。与完全锥型NAT不同的是,当且仅当内部主机之前已经向公网主机发送过报文,此时公网主机才能向私网主机发送报文。
  • Port Restricted Cone NAT(端口限制锥型NAT)与限制锥型NAT很相似,只不过它包括端口号。也就是说,一台公网主机(IP2:Port2)想给私网主机发送报文,必须是这台私网主机先前已经给这个IP地址和端口发送过报文。
  • Symmetric NAT(对称NAT)所有从同一个私网IP地址和端口发送到一个特定的目的IP地址和端口的请求,都会被映射到同一个IP地址和端口。如果同一台主机使用相同的源地址和端口号发送报文,但是发往不同的目的地,NAT将会使用不同的映射。此外,只有收到数据的公网主机才可以反过来向私网主机发送报文。这和端口限制锥型NAT不同,端口限制锥型NAT是所有请求映射到相同的公网IP地址和端口,而对称NAT是不同的请求有不同的映射。

NAT是如何工作的?

根据前面的分类,我们分别从源NAT和目的NAT中各选一种NAT为代表,介绍其工作原理。其他类型的NAT虽然在转换时,转换的内容有细微差别,但是工作原理都相似,不再重复介绍。此外,双向NAT是源NAT和目的NAT的组合,双向NAT的工作原理也不再重复介绍。

NAPT工作原理

NAPT在进行地址转换的同时还进行端口转换,可以实现多个私网用户共同使用一个公网IP地址上网。NAPT根据端口来区分不同用户,真正做到了地址复用。

【技术分享】企业网必不可少的NAT技术_NAT_04


NAPT工作原理示意图

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

  1. 设备收到Host发送的报文后查找NAT策略,发现需要对报文进行地址转换。
  2. 设备根据源IP Hash算法从NAT地址池中选择一个公网IP地址,替换报文的源IP地址,同时使用新的端口号替换报文的源端口号,并建立会话表,然后将报文发送至Internet。
  3. 设备收到Web Server响应Host的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的目的地址替换为Host的IP地址,将报文的目的端口号替换为原始的端口号,然后将报文发送至Intranet。

NAT Server工作原理

使用NAT Server时,需要先在设备上配置公网地址和私网地址的固定映射关系。配置完成后,设备将会生成Server-Map表项,存放公网地址和私网地址的映射关系。该表项将一直存在除非NAT Server的配置被删除。

【技术分享】企业网必不可少的NAT技术_Server_05


NAT Server工作原理示意图

内部Server的私网IPv4地址为192.168.1.2/24,对外的公网IPv4地址为1.1.1.10,端口号都为80,它们之间的映射关系在设备上已提前配置好。当Host访问Server时,设备的处理过程如下:

  1. 设备收到Internet上用户访问1.1.1.10的报文的首包后,查找并匹配到Server-Map表项,将报文的目的IP地址转换为192.168.1.2。
  2. 设备建立会话表,然后将报文发送至Intranet。
  3. 设备收到Server响应Host的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的源地址替换为1.1.1.10,然后将报文发送至Internet。
  4. 后续Host继续发送给Server的报文,设备都会直接根据会话表项的记录对其进行转换,而不会再去查找Server-map表项。

如何使用NAT?

前面已经介绍了,不同的NAT类型适用于不同的应用场景。下面介绍几种典型的NAT应用,帮助用户使用NAT。

私网用户通过NAPT访问Internet

在许多小区、学校和企业的私网规划中,由于公网地址资源有限,通常给私网用户分配私网IPv4地址。此时,可以配置源NAT来实现私网用户访问Internet。用户可以根据自己拥有的公网IPv4地址的个数,选择使用NAPT或者Easy IP。

当用户拥有的公网IP地址个数较多时,配置了NAT设备出接口的IP地址和其他应用之后,还有可用的空闲公网IP地址时,可以选择NAPT。NAPT使用地址池内的IPv4地址作为私网主机转换后的公网IPv4地址。如下图所示,在设备上配置NAPT,实现私网主机访问Internet功能。

【技术分享】企业网必不可少的NAT技术_HCIA_06


私网用户通过NAPT访问Internet

私网用户通过Easy IP访问Internet

当用户拥有的公网IPv4地址个数较少时,配置了NAT设备出接口的IPv4地址和其他应用之后,没有可用的空闲公网IPv4地址时,可以选择Easy IP。Easy IP使用出接口的IPv4地址作为私网主机转换后的公网IPv4地址。如下图所示,在设备上配置Easy IP,实现私网主机访问Internet功能。

【技术分享】企业网必不可少的NAT技术_IP_07

私网用户通过Easy IP访问Internet

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

在某些场合,私网中有一些服务器需要向公网用户提供服务,比如私网中部署的一些Web服务器、FTP服务器等,NAT支持这样的应用,此时可以配置NAT Server来实现公网用户访问私网服务器。如下图所示,在设备上配置NAT Server,固定“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,实现公网主机通过该映射关系访问私网服务器功能。

【技术分享】企业网必不可少的NAT技术_NAT_08

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

标签:报文,IP地址,技术,必不可少,私网,地址,NAT,公网
From: https://blog.51cto.com/xmws/8785331

相关文章

  • SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现试读版
    本教程之前的文章,对SAPABAP各种增强技术做了一个概述:122.SAPABAP各种增强技术(Enhancement)概述-所谓第一代,第二代,第三代增强技术的出处是?然后第62篇文章,针对下图红色区域的基于EnhancementFramework增强技术中的隐式增强之ABAP报表增强,做了详细介绍:62.如何通过增......
  • SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍试读版
    本教程之前的文章,对SAPABAP各种增强技术做了一个概述:122.SAPABAP各种增强技术(Enhancement)概述-所谓第一代,第二代,第三代增强技术的出处是?然后第62篇文章,针对下图红色区域的基于EnhancementFramework增强技术中的隐式增强之ABAP报表增强,做了详细介绍:62.如何通过增......
  • SAP ABAP 各种增强技术(Enhancement)概述 - 所谓第一代,第二代,第三代增强技术的出处试
    本文回答笔者这篇教程:如何通过增强(Enhancement)的方式给SAPABAP标准程序增添新功能评论区的读者留言:这个和第一二三四代以及badi增强有什么联系呢?笔者从2007年一月就在SAP中国使用ABAP进行SAP产品开发了,说实话SAP内部不会把ABAP各种增强技术简单得冠之以第一代,第二......
  • Web 应用显示 Icon 的几种技术盘点
    在Web前端应用开发中,渲染图标是一个常见的需求,可以通过多种技术来实现。图标在用户界面中扮演着重要的角色,提供直观的视觉反馈和更好的用户体验。以下是一些常见的前端图标渲染技术,以及它们的一些优缺点。**1.字体图标(IconFonts)字体图标是将图标作为字体文件(通常是.ttf或.otf......
  • PMP工具与技术5.4-1 获取资源工具与技术
    一、多标准决策分析详见:https://www.cnblogs.com/hemukg/p/12575195.html 1.多标准分析步骤 (1)使用多标准决策分析工具制定出标准,用于对潜在资源进行评级或打分(例如,在内部和外部团队资源之间进行选择)。(2)根据标准的相对重要性对标准进行加权,加权值可能因资源类型的不同而......
  • 短链接技术探究与应用
    一、引言在互联网世界中,URL(统一资源定位符)是网络资源的标识,但由于URL的长度限制和不易记忆等问题,短链接应运而生。短链接是一种将长URL转换为短地址的技术,不仅提高了用户体验,还为网站运营、数据分析等提供了便利。本文将对短链接技术进行深入探讨,分析其原理、实现方法及应用场......
  • JAVA 同城外卖到店跑腿团购多合一系统源码的技术方案
    随着互联网技术的不断发展,同城外卖、到店跑腿和团购业务逐渐成为人们日常生活中不可或缺的一部分。为了满足这一需求,我们设计并实现了一个基于JAVA技术的同城外卖到店跑腿团购多合一系统。本系统采用了先进的架构和算法,以提高系统的性能和可扩展性,并确保了数据的安全性和稳定性。一......
  • 28 VLAN高级技术
    VLAN技术在园区网络中应用非常广泛,通常利用VLAN进行广播域的隔离,每个VLAN属于一个广播域。网络规划时需要为每个广播域分配一个网关,如果VLAN数量过多,会导致IP地址规划难度加大,甚至会出现大量IP地址的浪费。VLAN聚合概述VLAN聚合(VLANAggregation,也称Super-Vlan)指在同一个物......
  • 波束成型定向降噪技术的应用-双麦定向降噪模块A68
    之前对双麦克风阵列波束成型降噪技术进行了原理的一些了解.经过一段时间对A-68模块的的各项测试和评估.基本对这个模块的一些工作方式和性能有了一定的掌握.测试平台搭建: 测试之前我们定制了一些配件来搭建测试平台测试底板:测试底板上配备了3.5毫米输入和输出插座.,并提供了12v......
  • Native Rawfile开发指导
     场景介绍开发者可以通过本指导了解在HarmonyOS应用中,如何使用Native Rawfile接口操作Rawfile目录和文件。功能包括遍历、打开、搜索、读取和关闭Rawfile。接口说明接口名描述NativeResourceManager *OH_ResourceManager_InitNativeResourceManager(napi_env......