NAT的原理和类型

NAT(Network Address Translation,网络地址转换)当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

1. NAT的原理与类型

        NAT是IETF标准,它通过将局域网内的主机IP地址映射为Internet上有效的公网IP地址,从而实现了网络地址的复用。使用NAT技术,局域网内的多台PC可以共享单个、全局路由的IP地址,减少了所需的IP地址的数量。

        NAT主要可以分为两类:基本NAT和NAPT ( Network Address Port Translation )。

        基本NAT一般是用于NAT拥有多个公网IP的情形下,将公网IP地址与内网主机进行静态绑定,基本上这种类型的NAT设备已经很少了。或许根本我们就没机会见到。

        NAPT(Network Address/Port Translators):其实这种才是我们常说的 NAT。NAPT将内部连接映射到外部网络中的一个单独IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。根据映射方式不同,NAPT可以分为圆锥型NAT和对称性NAT,其中圆锥型NAT包括完全圆锥型NAT、地址限制圆锥型NAT和端口限制圆锥型NAT。

1)完全圆锥型NAT(Full cone NAT)
1.初始状态时,Client与Server1、Client与Server2都没有通讯过。
2.当Client通过NAT向Server1发送一个packet后,NAT会生成如下一行映射。 

                                                              
3.在全锥型网络下,后续当Server1要发送数据到Client时,Server1首先将数据送到NAT(210.21.12.140:8000),NAT接收到该报文,会将该报文转发给Client(192.168.1.5:5000)。
4.在全锥型网络下,Server2要发送数据给Client,Server2也是需要先将数据发送到NAT(210.21.12.140:8000),NAT接收到该报文,会将该报文转发给Client(192.168.1.5:5000)。因为NAT上已经有了192.168.1.5:5000到210.21.12.140:8000的映射。    

                                                                                                                                   
2)地址受限圆锥型NAT(Address-Restricted cone NAT)
1.初始状态时,Client与Server1、Client与Server2都没有通讯过。
2.当Client通过NAT向Server1发送一个packet后,NAT中会生成如下一行映射(注意,这里增加了一项IP地址的限制)。  

  
3.在受限圆锥型NAT下,Server1要发送数据到Client时,Server1首先将数据送到NAT(210.21.12.140:8000),NAT接收到该报文,会将该报文转发给Client(192.168.1.5:5000)。
4.并且Server1主机的任何端口号数据,都可以将数据送到NAT(210.21.12.140:8000),NAT都会将该报文转给Client(192.168.1.5:5000)
5.但是Server2主机无法与Client主机进行通讯。因为Client从来没有和Server2通信过,NAT将拒绝Server2试图与Client连接的动作。
        
3)端口受限圆锥型NAT(Port-Restricted cone NAT)

1.初始状态时,Client与Server1、Client与Server2都没有通讯过。
2.当Client通过NAT向Server1发送一个packet后,NAT中会生成如下一行映射(注意,这里增加了IP+port限制)。   

          
3.在端口受限圆锥型NAT下,Server2无法与Client通信,因为Client从来没有和Server2通信过。
4.并且Server1也只能用它的210.15.27.166:80与Client的192.168.1.5:5000通信,因为Client也从来没有和Server1的其他端口通信过。


     备注:家用路由器大部分都属于端口受限圆锥型NAT。

         

4)对称NAT(Symmetric NAT)

1.初始状态时,Client与Server1、Client与Server2都没有通讯过。
2.当Client通过NAT向Server1发送一个packet后,NAT中会生成如下一行映射   

                                                                 
3.接下来Client要使用相同的端口和Server2通信,将会在NAT中生成如下映射表。  

                                                       
4.Server1只能用它的210.15.27.166:80通过NAT的 210.21.12.140:8000与Client的192.168.1.5:5000通信。
5.Server2也只能用它的210.15.27.140:80通过NAT的210.21.12.140:8001与Client的192.168.1.5:5000通信,
6.Server1或者Server2的其他端口则均不能和Client的192.168.1.5:5000通信。

 

穿透关系

对称nat无法穿透,这个说法不正确,对称nat与full cone nat、对称nat 与 ip受限cone、是可以穿透的,对称nat与 端口受限、对称nat与对称nat,不可穿透。
类型:
1、full cone 全椎
2、Restricted Cone ip受限
3、port Restricted Cone 端口受限
4、Symmetric 对称。
穿透关系:上述4种类型,如果定义他们的值为序列号,N为序列号相加。则N<=6可穿透。
2 和 4 序列相加 = 6 则可穿透。 3(端口受限)和4(对称)= 7 不可穿透。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值