最近在看负载均衡方面的东西中很多都提到了NAT穿越,特意在此总结一下:
先做一个约定:
内网A中有:A1(192.168.30.112),A2(192.168.30.114)两个用户
网关X1(一个NAT设备)有公网IP222.225.80.51;
内网B中有:B1(192.168.40.112),B2(192.168.40.114)两个用户
网关Y1(一个NAT设备)有公网IP222.225.50,34;.
NAT的简介和原理
简介
NAT即Network Address Translation,它可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上.NAT路由在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址.
原理:
当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选的内部全局地址(全局唯一IP地址)来替换内部局部地址,并转发数据包.
当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址(外网IP)的数据包,它将用内部全局地址通过NAT映射表查找内部局部地址,然后将数据包的目的地址替换成内部局部地址(内网私有IP),并将数据包转发到内部主机.
NAT有什么优点和缺点?
优点
- 对于家庭或小型商业机构,使用NAT可以更便宜,更有效的接入Internet。
- 使用NAT可以缓解目前全球IP地址不足的问题.
- NAT能够隐藏内部网络,保证内部网络的安全性.
缺点
- NAT会增加延迟,因为要转换的每个数据包包头的IP地址,增加了延迟.
- 导致无法进行端到端IP跟踪.
- NAT会使某些使用内嵌地址的应用不能正常工作.
NAT的三种类型
静态NAT (一对一)
静态转换:(static Nat):是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址,借助静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问.
假设在A网中A1客户机请求百度具体过程如下:(前提是已经进行过静态NAT配置.)
首先进行DNS解析得到百度的IP为180.97.33.107:4000.接下来的过程如下:
请求过程:
在客户机
192.168.30.112:4000 --> 180.97.33.107:4000
在网关:
222.225.50.81:4000 --> 180.97.33.107:4000
网关上的静态映射表:
192.168.30.112:4000 -->222.225.80.51:4000