华为Easy IP和NAT Server实现原理
来源:互联网 发布:金相分析软件报价 编辑:程序博客网 时间:2024/06/04 19:27
本文接上篇,继续介绍华为路由器另两种NAT实现方式的工作原理。
6.1.3 Easy IP实现原理
Easy IP方式的实现原理与上节介绍的地址池NAPT转换原理类似,可以算是NAPT的一种特例,不同的是Easy IP方式可以实现自动根据路由器上WAN接口的公网IP地址实现与私网IP地址之间的映射(无需创建公网地址池)。
Easy IP主要应用于通过路由器WAN接口IP地址作为要被映射的公网IP地址的情形,特别适合小型局域网接入Internet的情况。这里的小型局域网主要指中小型网吧、小型办公室等环境,一般具有以下特点:内部主机较少、出接口通过拨号方式获得临时(或固定)公网IP地址以供内部主机访问Internet。图6-3描述Easy IP方式的实现原理,具体过程如下:
图6-3 Easy IP实现原理示意图
(1)假设私网中的Host A主机要访问公网的Server服务器,首先向Router发送一个请求报文(即Outbound方向),此时报文中的源地址是10.1.1.100,端口号1540。
(2)Router在收到请求报文后自动利用公网侧WAN接口临时或者固定的“公网IP地址:端口号”(162.10.2.8:5480),建立与内网侧报文“源IP地址:源端口号”间的Easy IP转换表项(也包括正、反两个方向),并依据正向Easy IP表项的查找结果将报文转换后向公网侧发送。此时转换后的报文源地址和源端口号由原来的(10.1.1.100:1540)转换成了(162.10.2.8:5480)。
(3)Server服务器在收到请求报文后需要向Router发送响应报文(即Inbound方向),此时只需要将收到的请求报文中的源IP地址、源端口号和目的IP地址、目的端口号对调即可,即此时的响应报文中的目的IP地址、目的端口号为(162.10.2.8:5480)。
(4)Router在收到公网侧Server的回应报文后,根据其“目的IP地址:目的端口号”查找反向Easy IP表项,并依据查找结果将报文转换后向内网侧发送。即转换后的报文中的目的IP地址为10.1.1.100,目的端口号为1540,与Host A发送请求报文中的源IP地址和源端口完全一样。
如果私网中的Host B也要访问公网,则它所利用的公网IP地址与Host A一样,都是路由器WAN口的公网IP地址,但转换时所用的端口号一定要与Host A转换时所用的端口不一样。
6.1.4 NAT Server实现原理
NAT Server用于外网用户需要使用固定公网IP地址访问内部服务器的情形。它通过事先配置好的服务器的“公网IP地址+端口号”与服务器的“私网IP地址+端口号”间的静态映射关系来实现。图6-4描述了NAT Server的实现原理,具体过程如下(要先在Router上配置好静态的NAT Server转换映射表):
图6-4 NAT Server实现原理示意图
(1)Router在收到外网用户发起的访问请求报文后(即Inbound方向),根据该请求的“目的IP地址:端口号”查找NAT Server转换映射表,找出对应的“私网IP地址:端口号”,然后用查找的结果直接替换报文的“目的IP地址:端口号”,最后向内网侧发送。如本示例中外网主机发送的请求报文中目的IP地址是209.102.1.68,端口号80,经Router转换后的目的IP地址和端口号为(192.168.1.68:80)。
(2)内网服务器在收到由Router转发的请求报文后,向Router发送响应报文(即Outbound方向),此时报文中的源IP地址、端口号与目的IP地址、端口号与所收到的请求报文中的完全对调即可,即响应报文中的源IP地址和端口号为前面的(192.168.1.68:80)。
(3)Router在收到内网服务器的回应报文后,又会根据该响应报文中的“源IP地址:源端口号”查找NAT Server转换表项,找出对应的“公网IP地址:端口号”,然后用查找结果替换报文的“源IP地址:源端口号”。如本示例中内网服务器响应外网主机的报文的源IP地址和端口号是(192.168.1.68:80),经Router转换后的源IP地址和端口号为(209.102.1.68:80)。
【经验之谈】从以上NAT Server实现原理可以看出,由外网向内网服务器发送的请求报文中转换的仅是其目的IP地址和目的端口号(源IP地址和源端口号不变),即仅需关心目的IP地址和目的端口号;而从内网向外网发送的响应报文中转换的仅是其源IP地址和源端口号(目的IP地址和目的端口号不变),即仅需关心源IP地址和源端口号。两个方向所转换的IP地址和端口号是相反的。
再综合前面介绍的6.1.1节和6.1.2节可以得出,NAT中凡是由内网向外网发送的报文(不管是请求报文,还是响应报文),在NAT路由器上转换的都是源IP地址(或者同时包括源端口号),而凡是由外网向内网发送的报文(也不管是请求报文,还是响应报文),在NAT路由器上转换的都是目的IP地址(或者同时包括源目的口号)。以上内容摘自笔者刚刚出版上市,在各大书店全面热销的《华为路由器学习指南》一书:http://item.jd.com/11513567.html。本书的配套视频课程:http://edu.51cto.com/course/course_id-1173.html。与本书配套的图书是《华为交换机学习指南》:http://item.jd.com/11355972.html,其配套视频课程为:http://edu.51cto.com/course/course_id-1166.html(全实验、实战演示)
- 华为Easy IP和NAT Server实现原理
- 华为Basic NAT和NAPT实现原理
- 华为Easy-IP配置指南
- UDP穿越NAT的原理和实现
- NAT和代理服务器原理
- NAT原理和代理服务器原理
- P2P之UDP穿透NAT的原理和实现
- NAT网关和NAT穿越原理
- NAT和IP路由经验谈
- CISCO IP nat 常用命令及原理详解
- Cisco IP nat 常用命令及原理详解
- IP交换网原理.技术和实现
- linux IP分片原理和实现
- LVS实现原理及NAT模式实现
- Lvs Nat和ip-tun模式
- 华为巧用NAT实现链路备份VPN方案
- UDP穿透NAT的原理与实现
- 利用NAT实现TCP负载均衡原理
- python学习笔记 - urllib2和cookielib模块心得
- 使用Spring Cache
- jvm字节代码的编译机制
- Linux信号量机制(生产者消费者)
- godaddy无法连接mysql
- 华为Easy IP和NAT Server实现原理
- 2013--2014年总结——拾掇 “点点滴滴回忆”一
- STL源码剖析——序列容器之vector
- hibernate 对象的三种状态
- 加密聊天解决方案——木星文
- hibernate update
- hibernate 核心开发接口
- matlab 读写txt文件
- hibernate annotation&ID生成策略