随着Internet的发展和网络应用的增多,有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题,NAT(Network Address Translation,网络地址转换)技术应需而生。
NAT技术主要用于实现内部网络的主机访问外部网络。一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。
我们将了解NAT的技术背景, 学习不同类型NAT的技术原理、使用场景。

私网IP地址

公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。
私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。
A、B、C类地址中各预留了一些地址专门作为私有IP地址:
A类:10.0.0.0 ~ 10.255.255.255
B类:172.16.0.0 ~ 172.31.255.255
C类:192.168.0.0 ~ 192.168.255.255

NAT技术原理

NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。

NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。

通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。

静态NAT原理

静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。

静态NAT转换示例

静态NAT配置介绍
1.方式一:接口视图下配置静态NAT

[Huawei-GigabitEthernet0/0/0] nat static global { global-address} inside {host-address }

2.方式二:系统视图下配置静态NAT

[Huawei] nat static global { global-address} inside {host-address }

配置命令相同,视图为系统视图,之后在具体的接口下开启静态NAT。

[Huawei-GigabitEthernet0/0/0] nat static enable

在接口下使能nat static功能。

静态NAT配置示例

动态NAT原理
动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。

当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。

动态NAT转换示例 (1)

动态NAT转换示例 (2)

动态NAT配置介绍
1.创建地址池

[Huawei] nat address-group group-index start-address end-address

配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址。

2.配置地址转换的ACL规则

Huawei] acl number

[Huawei-acl-basic-number ] rule permit source source-address source-wildcard

配置基础ACL,匹配需要进行动态转换的源地址范围。

3.接口视图下配置带地址池的NAT Outbound

[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index [ no-pat ]

接口下关联ACL与地址池进行动态地址转换,no-pat参数指定不进行端口转换。

动态NAT配置示例

NAPT原理
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。

NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。

NAPT转换示例 (1)

NAPT转换示例 (2)

NAPT配置示例

Easy IP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。

Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。

NAT Server使用场景
NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。

外网主机主动访问[公有地址:端口]实现对内网服务器的访问。

NAT Server转换示例

NAT Server配置示例

在私有网络内使用私有地址,并在网络出口使用NAT技术,可以有效减少网络所需的IPv4公有地址数目,NAT技术有效地缓解了IPv4公有地址短缺的问题。

动态NAT、NAPT、Easy IP为私网主机访问公网提供源地址转换。

NAT Server实现了内网主机对公网提供服务。

静态NAT提供了一对一映射,支持双向互访。

NAT技术原理、使用场景相关推荐

  1. NAT基础:NAT技术原理,静态NAT、动态NAT、NAPT、Easy IP、NAT Server的原理,以及各NAT的配置方法和转换示例。

    目录 NAT 技术原理: 静态NAT原理: 静态NAT(土豪用法): NAT转换示例: 静态NAT配置方法介绍: 1.方式一: 2.方式二: 静态NAT的配置实例: 动态NAT原理: 动态NAT转换示 ...

  2. NAT技术原理和作用以及 NAT四种命令的配置

    前言 NAT技术四种原理 绘制拓扑图 命令配置 抓包论证 验证静态NAT 验证动态NAT 验证Easy IP 验证服务器转换 随着internet的发展和网络应用的增多,IPV4地址枯竭已经成为制约网 ...

  3. UWB定位技术原理及场景应用的简单介绍

    谈到定位技术我们并不陌生,从车辆导航到外卖.打车软件,定位技术已经和我们的生活密不可分.通常我们按照使用场景将定位技术分为室内定位和室外定位两种,室外定位主要依赖于GPS.北斗.GLONASS.GAL ...

  4. 路由,代理服务器和NAT技术的区别

    常见的局域网接入Internet的技术有三种: 直接路由 代理服务器(proxy) 网络地址转换(NAT) 一.直接路由 第一种方法比较简单直接,不过要求客户机都有真实IP,仅这一点,大多数的环境就无 ...

  5. UDP用打洞技术穿透NAT的原理与实现

    首先先介绍一些基本概念: NAT(Network Address              Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了 ...

  6. NAT 网络地址转换技术(一)NAT原理介绍:静态NAT、动态NAT、NAPT、Easy IP、NAT ALG、NAT服务器、双向NAT技术

    文章目录 出现原因 基本概念 NAT技术基本原理 源NAT技术 静态NAT 动态NAT NAPT Easy IP NAT ALG NAT服务器 双向NAT技术 域间双向NAT(NAT Server+源 ...

  7. 微信团队分享:视频图像的超分辨率技术原理和应用场景

    为什么80%的码农都做不了架构师?>>>    本文来自微信多媒体团队高欣玮的技术分享. 1.前言 图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着 ...

  8. uwb定位技术原理及应用场景详解

    说到定位我们并不陌生,定位技术一直与我们的生活密不可分,比如最常见的车辆导航. 根据使用场景,定位技术分为室内定位和室外定位. 室外定位主要依靠GPS,北斗,GLONASS,伽利略等全球卫星定位导航系 ...

  9. Chat AI和ChatGPT都是人工智能技术,在应用场景、技术原理和使用方法等方面存在一些差别

    Chat AI和ChatGPT都是人工智能技术,在应用场景.技术原理和使用方法等方面存在一些差别. Chat AI是一种基于规则或者语义理解的对话机器人.它通过事先定义好的规则和逻辑,来解析用户的输入 ...

  10. 信息安全-防火墙技术原理与应用

    一.防火墙概述 1.1 防火墙概念 为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离 方法:根据网络的安全信任程度和需要保护的对象,人为划分若干安全区域,包括: 公共外部网 ...

最新文章

  1. 直播赠书丨如何高效学习计算机视觉?
  2. php blocklog_SQLSERVER中的logblock校验(译)
  3. ZOJ3772_Calculate the Function
  4. 特斯拉自动驾驶使用的技术_使用自回归预测特斯拉股价
  5. Educational Codeforces Round 39 F Largest Beautiful Number
  6. 001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7)
  7. JavaScript数组中新增元素(2)
  8. char* str = abc ;跟char str[] = abc;的区别
  9. nginx: [emerg] mkdir() /var/temp/nginx/client failed (2: No such file or directory)
  10. 一个简单的倒计时js插件
  11. 【Tools】haneWIN NFS Server 1.2.10 注册机(亲测有效)
  12. 最好用的卸载软件工具(Your Uninstaller! PRO)
  13. 使用C#进行数据库增删改查(一)
  14. Axure如何建立共享项目 如何编辑共享项目 如何获取共享项目
  15. 那些35岁的程序员哪里去了?
  16. UnityShader案例篇—旋转、平移和缩放
  17. HBuildX 打包说明(网站链接打包apk(app))
  18. 新H5中用canvas画一个数字钟表
  19. 【教程】github学生包,可免费使用copilot
  20. 我的创作纪念日-从写作到阿里云专家博主的故事

热门文章

  1. 操作系统进程作业调度算法
  2. 2.8寸屏幕+STM32F4+UCOSIII+STemwin移植经验
  3. python中对文件路径的获取
  4. @PostMapping 中produces和consumes的使用
  5. MapReduce快速入门系列(9) | Shuffle之Combiner合并
  6. 以热爱为前提写代码-读码农翻身有感
  7. git删除远程分支代码
  8. 服务器内部服务器错误的原因和解决办法
  9. 简单说下有监督学习和无监督学习的区别
  10. 【Druid 连接池】 学习~快速 掌握连接池基本原理