在Cisco路由器中,不仅包括最常见的基于内部地址转换的静态NAT和动态NAT,还有基于内部目的地址转换的静态NAT和动态NAT,以及像基于端口地址转换的PAT(在Cisco中称之为重载(Overloading)NAT)和重叠(Overlapping)网络环境中的静态和动态NAT等 。下面仅以专网与公网之间的转换为例介绍以上这些Cisco NAT类型。

n  静态NAT(Static NAT)

静态NAT是把非注册IP地址(如本地局域网IP地址)一对一地映射到公网注册IP地址(如互联网IP地址)。这在网络设备需要以互联网IP地址访问外网时特别有用。但一定要注意,这里仅例举了单一的正方向的IP地址转换,实际上是可以反方向,或者双方向进行IP地址转换的,下面的动态NAT和复用NAT也一样可以有正向、反向、或者双向转换方式。

如图5-4显示的是一个静态NAT应用示例(注意箭头方向)。路由器内、外两个网络,左侧内部网络中的192.168.32.10、192.168.32.12和192.168.32.15这三台主机使用的私有网络IP地址,通过路由器的NAT功能最终对应转换成213.18.123.110、213.18.123.11和213.18.123.12这三个公网IP地址,让对方看到的也是这三个公网IP地址。

图5-4  静态NAT应用示例

n  动态NAT(Dynamic NAT)

动态NAT是把一个非注册IP地址动态地映射到一个注册IP地址池中的一个地址。具体映射是哪两组IP地址之间的映射关系,还要看所配置的具体公用IP地址池和通信时间。但最终非注册IP地址与注册IP地址还是一对一地进行映射。

图5-5是一个动态NAT应用的示例。内网中的三个IP地址与一个范围为213.18.123.100 到213.18.123.150的公网IP地址池进行动态映射。最终的结果是,192.168.32.10映射为213.18.123.116,192.168.32.12映射为213.18.123.112,而192.168.32.15映射为213.18.123.125,……。

图5-5 动态NAT应用示例

n  重载或复用(Overloading)NAT(或称PAT)

重载NAT是动态NAT的一种形式。它是通过与IP地址的不同端口组合,把多个非注册IP地址映射到一个注册IP地址,也就是通常所说的“PAT”(Port Address Translation,端口地址转换)。通过PAT,则数千内网用户都可以仅通过一个公网IP地址访问Internet。

图5-6是一个重载NAT的应用示例。示例中本地网络中的所有用户通过路由器访问公用网络时,都将映射成同一个公网IP地址——213.18.123.100,只是所使用的端口不同而已(分别为101、102、103号端口)。这对于公网IP地址比较紧张,而内网中又部署了多种应用服务器时特别有用,可以通过一个公网IP地址配置多个应用服务器。

图5-6 重载NAT应用示例

n  重叠(Overlapping)NAT

当内部网络中使用的IP地址是外部网络中注册的IP地址时(也就是内、外部网络使用的是相同IP地址段时),路由器需要维护一张查询表,以便截取来自内部网络的数据包,并用外部网络中没有使用的注册IP地址进行替换。但要注意,NAT路由器必须转换内部网络本地地址为注册的唯一(也就是没有被使用的)IP地址,同时也必须转换外部网络本地址为内部网络中唯一的IP地址。这既可以通过静态NAT,又可以通过使用DNS和动态NAT来实现。

【经验之谈】重叠NAT主要应用于使用公网IP地址的内部网络服务器的地址转换,这样的可以隐藏内部网络服务器的真实公网IP地址,有利于保护服务器的安全。因为经过NAT转换后,内部网络服务器对外呈现的是另一个公网IP地址,不是真实的服务器IP地址。

图5-7显示了一个重叠NAT的应用示例。在内部网络中使用的IP地址段为237.16.32.xx(也是注册的公网IP地址),而外部网络主机也是使用这个地址段。这时,NAT路由器需要转换内部网络中的本地IP地址(如237.16.32.10)为一个区别于外部网络的另一网段的全局地址(如213.18.123.103),以避免与外部网络中的用户造成潜在的冲突。同时在由外部网络向内部网络发送数据时,NAT路由器也将转换内部全局地址(如213.18.123.103)为内部本地地址(如237.16.32.10)。

图5-7  重叠NAT应用示例

以下内容摘自《路由器配置与管理完全手册——Cisco篇》一书。

转载于:https://blog.51cto.com/winda/697032

你理解这些Cisco NAT分类和原理吗相关推荐

  1. 【深入理解计算机网络】讲师解读计算机网络原理视频课程(上)-王达-专题视频课程...

    [深入理解计算机网络]讲师解读计算机网络原理视频课程(上)-56216人已学习 课程介绍         本课程是计算机网络原理视频课程的第一部分(后面还有两部分),包括了OSI/RM.TCP/IP体 ...

  2. 【深入理解计算机网络】讲师解读计算机网络原理视频课程(下)-王达-专题视频课程...

    [深入理解计算机网络]讲师解读计算机网络原理视频课程(下)-9276人已学习 课程介绍         本课程专门介绍计算机网络体系结构"应用层"主要的应用服务协议工作原理. 课程 ...

  3. 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等

    1.引言 关于"负载均衡"的解释,百度词条里:负载均衡,英文叫Load Balance,意思就是将请求或者数据分摊到多个操作单元上进行执行,共同完成工作任务. 负载均衡(Load ...

  4. 机器学习 鸢尾花分类的原理和实现(一)

    机器学习 鸢尾花分类的原理和实现(一) 前言: 鸢尾花数据集是机器学习中的经典小规模数据集.通过查阅资料和视频进行学习,将整个实验的学习心得和实验过程分享,希望对喜爱机器学习并入门的新手提供帮助,同时 ...

  5. 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR

    MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...

  6. 关于NAT/NAPT的原理,牢记这几点!

    各位朋友,大家晚上好,今天来给大家讲解一下NAT它解决了什么问题各位朋友,大家晚上好,今天来给大家讲解一下NAT它解决了什么问题还的呢,小老虎相信大家对这个工具应该是再也熟悉不过的了吧,因为咱们现在都 ...

  7. CISCO NAT 经典配置合集

    示例1 在本例中,公司使用一台两接口路由器,一个是Ethernet,另一个是串行接口.Ethernet0连接到内部网络,而串行接口则通过PPP链路连接到ISP路由器.在内部网络中,公司使用10.0.0 ...

  8. ML之二分类预测:以岩石水雷数据集(RockMine)为例从0到1深入理解科学预测之分类问题的思路框架(特征工程详细步骤(特征分析与特征处理)+分类模型设计)

    ML之二分类预测:以岩石水雷数据集(RockMine)为例从0到1深入理解科学预测之分类问题的思路框架(特征工程详细步骤+分类模型设计) 目录 一.总体思路框架 二.特征工程详细步骤(特征分析与特征处 ...

  9. 《深入理解Kafka:核心设计与实践原理》笔误及改进记录

    2019年2月下旬笔者的有一本新书--<深入理解Kafka:核心设计与实践原理>上架,延续上一本<RabbitMQ实战指南>的惯例,本篇博文用来记录现在发现的一些笔误,一是给购 ...

  10. 一文带你理解Java中Lock的实现原理

    转载自   一文带你理解Java中Lock的实现原理 当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出问题.java提供了两种方式来加锁,一种是关键字:synchron ...

最新文章

  1. !DOCTYPE html的内容讲解
  2. html5 圆形加载进度条,纯css3超酷圆形Loading加载进度条特效
  3. -bash: warning: setlocale: LC_CTYPE: cannot change
  4. linux学习笔记-日常运维
  5. 在python中安装python库
  6. 《MySQL技术内幕(SQL编程)》——基础
  7. RS232转PROFINET网关链接扫码枪与西门子PLC1200的配置方法
  8. 【数智化案例展】深农集团——守护深圳“菜篮子”,腾讯安全携手深农集团保供稳价格...
  9. 金蝶K3cloud 7.6注册教程
  10. 中南大学计算机基础考试试题,[中学]中南大学计算机基础考试题库试题.doc
  11. java实现第五届蓝桥杯出栈次序
  12. 22考研初试410数一145上岸上海交通大学819经验分享
  13. uniapp使用讯飞语音合成
  14. MATLAB泰勒级数展开
  15. 全民一起玩Python提高篇第十二课:面向对象基本原理与语法(三)
  16. 北京理工大学-嵩天python语言程序设计-9-Python计算生态概览
  17. 最小函数值(minval)
  18. FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp推流(windows)
  19. Word之页眉和页脚设置(一)
  20. hyper-v虚拟化和游戏冲突

热门文章

  1. 关于 Swift 单例的例子
  2. 写弹窗时防止底层滚动
  3. MySQL索引类型及优化
  4. 项目管理:文档可测试化
  5. 【转】gem install libv8 错误
  6. CakePHP查询数据
  7. MySql命令行下导出、导入数据
  8. Oracle游标 CURSOR实例详解
  9. 详解java的构造方法
  10. NGINX防御CC攻击教程