华为Basic NAT和NAPT实现原理

NAT是路由器的一项非常重要,且应用非常广泛的技术,但许多读者对NAT的各种实现方式的工作原理一直没有搞清楚,其实很简单。本篇先介绍两种NAT实现方式的工作原理,下篇再介绍另两种实现方式的工作原理。

6.1.2 Basic NAT实现原理

Basic NAT方式属于一对一的地址转换,但要注意它不是静态的一对一转换,而是动态的。

在这种转换方式下,在内网用户向公网发起连起请求时,请求报文中的私网IP地址就会通过事先准备好的公网IP地址池动态地建立私网IP地址与公网IP地址的NAT映射表项,并利用所映射的公网IP地址将报文中的源IP地址(也就是内网用户主机的私网IP地址)进行替换(但只转换IP地址,而不处理TCP/UDP协议的端口号,且一个公网IP地址不能同时被多个私网IP地址映射),然后再送达给外网的目的主机。而当外网主机收到请求报文后进行响应时,响应报文到达NAT设备后,又将依据前面请求报文所建立的私网IP地址与公网IP地址的映射关系反向将报文中的目的IP地址(为内部主机私网IP地址映射后的公网IP地址)替换成对应的私网IP地址,然后再送达给内部源主机。

图6-1描述了Basic NAT的基本原理,实现过程如下(需先要在Router上创建公网地址池):

(1)当内网侧Host主机要访问公网侧Server服务器时,向Router发送请求报文(即Outbound方向),此时报文中的源IP地址为Host自己的10.1.1.100,目的IP地址为Server的IP地址211.100.7.34。

(2)Router在收到来自Host主机的请求报文后,会从事先配置好的公网地址池中选取一个空闲的公网IP地址,建立与内网侧报文源IP地址间的NAT转换映射表项,包括正(Outbound)、反(Inbound)两个方向,然后依据查找正向NAT表项的结果将报文中的源IP地址转换成对应的公网IP地址后向公网侧发送。此时发送的报文的源IP地址已是转换后的公网IP地址162.105.178.65(不再是原来的Host主机IP地址10.1.1.100),目的IP地址不变,仍为Server服务器的IP地址211.100.7.34。

(3)当Server服务器收到请求报文后,需要向Router发送响应报文(即Inbound方向),此时只需要将收到的请求报文中的源IP地址和目的IP地址对调即可,即报文的源IP地址就是Server服务器自己的IP地址211.100.7.34,目的IP地址是Host主机私网IP地址转换后的公网IP地址162.105.178.65。

(4)当Router收到来自公网侧Server服务器发送的响应报文后,会根据报文中的目的IP地址查找反向NAT映射表项,并根据查找结果将报文中的目的IP地址转换成Host主机对应的私网IP地址(源地址不变)后向私网侧发送,即此时报文中的源IP地址仍是Server服务器的IP地址211.100.7.34,目的IP地址已转换成了Host主机的私网IP地址10.1.1.100。

【经验之谈】从以上Basic NAT实现原理分析可以看出,Basic NAT中的请求报文转换的仅是其中的源IP地址(目的IP地址不变),即仅需关心源IP地址;而响应报文转换的仅是其中的目的IP地址(源IP地址不变),即仅需关心目的IP地址。两个方向所转换的IP地址是相反的。

6.1.3 NAPT实现原理

由于Basic NAT这种一对一的转换方式并未实现公网地址的复用,不能有效解决IP地址短缺的问题,因此在实际应用中并不常用。而这里要介绍的NAPT可以实现并发的地址转换,允许多个内部地址映射到同一个公有地址上,因此也可以称为“多对一地址转换”或地址复用。

NAPT使用“IP地址+端口号”的形式进行转换,相当于增加了一个变量,最终可以实现使多个私网用户可共用一个公网IP地址访问外网。图6-2描述了NAPT的实现原理,具体过程如下(需先在Router上创建好公网地址池):

(1)假设先是私网侧HostA主机要访问公网侧Server服务器,向Router发送请求报文(即Outbound方向),此时报文中的源地址是HostA主机的IP地址10.1.1.100,源端口号1025。

(2)Router在收到来自HostA发来的请求报文后,从事先配置好的公网地址池中选取一对空闲的“公网IP地址:端口号”,建立与内网侧HostA主机发送的请求报文中的“源IP地址:源端口号”间的NAPT转换表项(同样包括正、反两个方向),然后依据正向NAPT表项查找结果将请求报文中的“源IP地址:源端口号”(10.1.1.100:1025)转换成对应的“公网IP地址:端口号”(162.105.178.65:16384)后向公网侧发送。即此时经过Router的NAPT转换后,发送的请求报文中的源IP地址为162.105.178.65,源端口号16384,目的IP地址和目的端口号不变。

(3)公网侧Server服务器在收到由Router转发的请求报文后,此时需要向Router发送响应报文(即Inbound方向),只需要将收到的请求报文中的源IP地址、源端口和目的IP地址、目的端口对调即可,即此时报文中的目的IP地址和目的端口号就是收到的请求报文中的源IP地址和源端口(162.105.178.65:16384)。

(4)当Router收到来自Server服务器的响应报文后,根据其中的“目的IP地址:目的端口号”查找反向NAPT表项,并依据查找结果将报文转换后向私网侧发送。此时报文中的目的IP地址和目的端口又将转换成请求报文在到达Router前的源IP地址和源端口,即(10.1.1.100:1025)。

此时,如果HostB主机也要访问公网中的Server服务器,当请求报文到达Router时,报文中的源IP地址和源端口号也将进行转换,且它仍然可以使用HostA主机原来使用过的公网IP地址,但所用的端口号一定要不同,假设由原来的(10.1.1.200:1028)转换为(162.105.178.65:16400)。Server服务器发给HostB的响应报文在Router上目的IP地址和目的端口也要经过转换,利用前面形成的NATP转换映射表进行逆向转换,即由原来的(162.105.178.65:16400)转换为(10.1.1.200:1028)。

【经验之谈】从以上NAPT实现原理分析可以看出,请求报文中转换的仅是源IP地址和源端口号(目的IP地址和目的端口号不变),即仅需关心源IP地址和源端口号;而响应报文中转换的是目的IP地址和目的端口号(源IP地址和源端口号不变),即仅需关心目的IP地址和目的端口号。不同私网主机可以转换成同一个公网IP地址,但转换后的端口号必须不一样。

以上内容摘自笔者刚刚出版上市,在各大书店全面热销的《华为路由器学习指南》一书:http://item.jd.com/11513567.html。本书的配套视频课程:http://edu.51cto.com/course/course_id-1173.html

时间: 2024-10-07 04:59:33

华为Basic NAT和NAPT实现原理的相关文章

【转】NAT路由器打洞原理

什么是打洞,为什么要打洞 由于Internet的快速发展 IPV4地址不够用,不能每个主机分到一个公网IP 所以使用NAT地址转换. 下面是我在网上找到的一副图 一般来说都是由私网内主机(例如上图中“电脑A-01”)主动发起连接,数据包经过NAT地址转换后送给公网上的服务器(例如上图中的“Server”),连接建立以后可双向传送数据,NAT设备允许私网内主机主动向公网内主机发送数据,但却禁止反方向的主动传递,但在一些特殊的场合需要不同私网内的主机进行互联(例如P2P软件.网络会议.视频传输等),

华为动态NAT配置

试验要求:1)将内部网络10.1.1.0/24转换为公网地址200.1.1.1-200.1.1.10/28上网(访问Server3),并抓包分析2)验证动态NAT是单向转换 环境部署:PC1:IP:10.1.1.1 /24GW:10.1.1.254 /24Client1:IP:10.1.1.2 /24GW:10.1.1.254 /24Client2:IP:100.1.1.1 /24GW:100.1.1.254 /24Server1:IP:10.1.1.11 /24GW:10.1.1.254 /2

浅谈华为防火墙NAT策略

博文目录 一.什么是NAT? 二.如何解决源地址转换环境下的环路和无效ARP问题? 三.什么是Server-map表? 四.NAT对报文的处理流程 五.开始配置NAT 一.什么是NAT? NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术,绝大多数网络环境中在使用NAT技术.此博文重点是华为相关的NAT知识上. 1.NAT分类 在内外网的边界,流量有出.入两个方向,所以NAT技术包含源地址转换和目标地址转换两类.一般情况下,源地址转换主要用于解决内部局域网计

华为防火墙NAT模拟环境配置详解(可跟做)

今天主要是做一个基于NAT技术的模拟环境,有关NAT工作原理及概念的大家可以参考博文请https://blog.51cto.com/14156658/2434477 环境如下: 需求如下: 内网客户端可以访问互联网服务器(ping通即可) 互联网客户端可以访问内网服务器(通过FTP访问) 内网服务器可以访问互联网服务器(ping通即可) 开始配置: 服务器及客户端配置如下: 防火墙配置如下: [FW1]int g1/0/0 <!--进入接口--> [FW1-GigabitEthernet1/0

华为防火墙NAT策略及配置详解

人类现在对计算机网络的使用已经扩展到各个领域,而计算机网络的设计者当时无法想象互联网能有今天这样的规模.任何一个接入互联网的计算机.手机以及智能电视,要想在互联网中畅游,必须有一个合法的IP地址.而IP地址,曾经以为足以容纳全球的计算机,但是在今天看来,已经严重枯竭.IPV6的出现就是为了解决地址不足的问题,但在IPV6普及之前,需要有一个过渡技术--NAT.NAT的出现缓解了地址不足的问题,它可以让同一局域网内60000多用户可以同时使用一个合法IP地址访问互联网.关于Cisco设备的NAT技

【基础】华为设备NAT功能配置实战全集

实验拓扑: 使用ENSP模拟器(版本V100R002C00 1.2.00.350)   实验要求: 1.在华为设备上部署静态NAT技术实现公司员工(私网)访问Intetnet(公网) 2. 在华为设备上部署动态NAT技术实现公司员工(私网)访问Intetnet(公网) 3. 在华为设备上部署PAT技术实现公司员工(私网)访问Intetnet(公网) 4. 在华为设备上部署静态端口映射技术实现公网用户访问私网的服务器(R3). 实验步骤及验证: 1.ip地址规划: Client1:192.168.

华为防火墙及它的工作原理

一.华为防火墙产品介绍 USG2000.USG5000.USG6000和USG9500构成了华为防火墙的四大部分,分别适合于不同环境的网络需求,其中,USG2000和USG5000系列定位于UTM(统一威胁管理)产品,USG6000系列属于下一代防火墙产品,USG9500系列属于高端防火墙产品. 1.USG2110 USG2110为华为针对中小企业及连锁机构,SOHO企业等发布的防火墙设备,其功能涵盖防火墙,UTM.Virtual Private Network(请自行看首字母,我写简写的话就被

华为防火墙NAT配置访问外网

AR1模拟外网,配置一个IP,在配置一个LoopBack地址,AR1的配置如下: interface GigabitEthernet0/0/0 ip address 100.100.100.1 255.255.255.0 #interface LoopBack1 ip address 200.200.200.1 255.255.255.0  USG的配置如下: #配置内网接口,开启DHCP interface GigabitEthernet0/0/0 ip address 192.168.10.

华为,NAT配置详解

实验拓扑 PC1属于VLAN10,PC2属于VLAN20 PC1 IP:192.168.10.254/24                 R1 G0/0/0 IP:12.0.0.1/24 PC2 IP:192.168.20.254/24                 R2 G0/0/0 IP: 12.0.0.2/24 SW1 VLAN1 IP:192.168.1.10/24 SW2 VLAN1 IP:192.168.1.20/24 实验内容 R1模拟内网出口路由,R2模拟运营商设备 1.在R