什么是NAT

文章目录

    • NAT解决了什么问题
    • NAT的类型
    • NAT是如何工作的
    • 如何使用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类型。

SNAT(源NAT)

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

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

源NAT分类

DNAT(目的NAT)

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

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

目的NAT分类

双向NAT

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

STUN中定义的NAT类型

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

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根据端口来区分不同用户,真正做到了地址复用。

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工作原理示意图

内部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功能。

私网用户通过NAPT访问Internet

私网用户通过Easy IP访问Internet

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

私网用户通过Easy IP访问Internet

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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1145322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel一列转多列,4种方法都挺好

小伙伴们好啊,今天给大家带来的是Excel一列转多列的实例。如下图所示,是一份员工名单:这个表中的姓名只有一列,却有40多行。打印之前,需要将A列姓名转换为适合打印的5列多行。方法1D2单元格输入以下公式,向…

AI钓鱼检测5分钟上手:没技术背景也能用的云端方案

AI钓鱼检测5分钟上手:没技术背景也能用的云端方案 引言:当钓鱼邮件成为职场安全隐患 最近三个月,某科技公司HR部门每天都会收到大量伪装成高管邮件的钓鱼链接,已有5名员工误点击导致企业邮箱被盗。IT部门表示开发检测系统需要三…

基于Vue+Spring Boot+MySQL的企业资产管理系统设计与实现(开题报告)

基于Vue+Spring Boot+MySQL的企业资产管理系统设计与实现开题报告 一、课题的背景和意义 1、课题背景 随着科技进步,新型养老方式日趋流行,社会上也涌现出一系列如只为父母设计的电视盒子等高科技产品,提升老人的晚年生活质量,最大程度的解决空巢老人寂寞的问题,是智慧养老…

什么是NAT66

文章目录为什么需要NAT66NAT66是如何工作的IPv6私网用户通过NAT66访问公网的应用NAT66(IPv6-to-IPv6 Network Address Translation)是一种IPv6地址之间的转换技术,可以将一个IPv6地址前缀转换为另一个IPv6地址前缀。当IPv6私网用户接入IPv6公…

什么是密码安全

文章目录为什么需要密码安全哪些是易受攻击的密码如何实现密码保护和密码安全密码安全是网络安全中非常重要的一个要素,是抵御网络攻击者,保护个人和组织信息安全的第一道防线。密码安全更重要的是如何保护密码,是身份认证和密码更加安全的策…

2026年AI搜索优化实力排行榜,杭州爱搜索人工智能有限公司入选TOP5供应商

随着生成式人工智能技术的爆发式增长,传统的搜索逻辑正在被重构。对于企业而言,如何在AI搜索时代抢占流量入口,已成为营销数字化转型的关键命题。然而,面对市场上层出不穷的解决方案,AI搜索优化服务商排行成为了企业决…

智能监控DIY神器:拖拽搭建AI流程,GPU费用低至1毛/分钟

智能监控DIY神器:拖拽搭建AI流程,GPU费用低至1毛/分钟 引言:AI监控的平民化时代 想象一下这样的场景:你正在创业做智能安防设备,需要验证"异常行为检测"这个核心功能。传统方案需要雇佣算法工程师、买昂贵…

实体行为分析UEBA体验:云端GPU 1小时1块,随用随停

实体行为分析UEBA体验:云端GPU 1小时1块,随用随停 1. 什么是UEBA?为什么需要它? 想象一下你是一家公司的安全主管,每天有上千名员工登录系统、访问文件、发送邮件。突然某天,财务部的小张在凌晨3点下载了…

什么是命令与控制(CC)

文章目录C&C会造成什么危害C&C的通信方式如何检测并防御C&C华为如何帮助您防御C&C随着恶意软件和恶意攻击的产业化发展,网络攻击者大都不再使用单台主机实施攻击行为,取而代之的是操控一定规模数量的受害主机发动集体攻击。这不仅扩大了…

学霸同款10个AI论文工具,助你搞定本科毕业论文!

学霸同款10个AI论文工具,助你搞定本科毕业论文! AI 工具如何让论文写作不再“难” 对于大多数本科生而言,撰写毕业论文是一场漫长而复杂的旅程。从选题、调研、收集资料,到撰写初稿、修改润色、查重降重,每一个环节都可…

系统结构总结

Spring框架原理动态代理JDK动态代理:InvocationHandler Proxy.newProxyInstanceCGLIB动态代理:MethodInterceptor EnhancerProfile注解注解标识:指定生效环境环境激活:spring.profiles.active配置加载逻辑:ProfileCo…

没GPU怎么跑AI实体检测?云端镜像5分钟部署,2块钱玩转

没GPU怎么跑AI实体检测?云端镜像5分钟部署,2块钱玩转 引言:当毕设遇到显卡危机 距离答辩只剩两周,你的笔记本却只有集成显卡,而GitHub上的实体检测模型要求CUDA11.7——这可能是很多大学生做毕设时的真实噩梦。我见过…

导师严选10个AI论文软件,专科生毕业论文必备!

导师严选10个AI论文软件,专科生毕业论文必备! AI 工具助力论文写作,让学术之路更顺畅 随着人工智能技术的不断发展,AI 工具在学术领域的应用越来越广泛。对于专科生而言,撰写毕业论文不仅是学业的重要环节,…

导师严选2026 TOP10 AI论文平台:专科生毕业论文全攻略

导师严选2026 TOP10 AI论文平台:专科生毕业论文全攻略 2026年AI论文平台测评:专科生如何高效选工具 随着人工智能技术在学术领域的不断渗透,AI写作工具已成为学生完成毕业论文的重要辅助。尤其是对于专科生群体,面对繁重的写作任…

job_log_id(日志ID)批量删除 `sys_job_log` 表

你提供的这段代码是 MyBatis 的 Mapper XML 中的一个删除操作语句,核心需求是根据传入的多个 job_log_id(日志ID)批量删除 sys_job_log 表中的定时任务日志记录。 代码完整解析与优化 首先,我先把这段代码补充完整并优化&#xff…

AI智能体对比评测:Qwen vs DeepSeek,2小时低成本完成

AI智能体对比评测:Qwen vs DeepSeek,2小时低成本完成 引言:为什么需要快速对比AI智能体? 在AI技术快速发展的今天,企业面临一个共同挑战:如何在有限资源和时间内,选择最适合业务需求的AI智能体…

算法竞赛备考冲刺必刷题(C++) | 洛谷 B3758 括号序列

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…

Android 原生/混合应用的自动化测试脚本开发,尤其适合需要批量编写测试用例、强调可维护性的场景。

你提供的这段代码是基于 Appium 框架封装的 Android 移动端自动化测试核心操作类,命名为 AndroidEncapsulateOperation,它把 Appium 原生的零散操作(如点击、滑动、长按、键盘模拟等)封装成了标准化、可配置的方法,方便…

智能侦测数据回流:自动优化模型的闭环

智能侦测数据回流:自动优化模型的闭环 1. 什么是数据回流与模型自动优化? 想象一下,你开了一家奶茶店,每天顾客的反馈(比如"太甜了""珍珠不够Q弹")如果能自动变成第二天调整配方的依…

基于多时段动态电价的电动汽车有序充电策略优化MATLAB实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…