浅谈NAT类型

浅谈NAT类型

静态一对一映射

在这里插入图片描述
内网使用的地址段是192.168.1.0,路由器连接公网的接口地址是200.1.1.1,这个地址是一个合法的IPv4的公网地址,现在192.168.1.1是无法直接访问8.8.8.8公网节点,因为穿着睡衣不能直接出去,那我要出去该怎么办,有一个最简单的办法,就是在路由器上部署静态一对一映射的NAT,首先申请购买一个合法的公网地址,比如200.1.1.100是通过运营商申请购买的,相当于是一套西装,这个西装外套跟睡衣做一个关联,也就是200.1.1.100公有地址和192.168.1.1私有地址做一对一的关联。

当PC访问外网的8.8.8.8时,源IP地址192.168.1.1目的IP地址8.8.8.8的数据包到达路由器后,路由器判断出来从inside访问outside,路由器就会查询NAT映射表,发现192.168.1.1要转换成200.1.1.100的,所以把数据包的源地址擦掉,写成200.1.1.100并发出去。

这个数据包就会在公网上路由,最后就被路由到目的地8.8.8.8,8.8.8.8会做一个回包,这个数据包的源是8.8.8.8目的地址200.1.1.100,这时数据包回到路由器依然会查NAT映射表,发现200.1.1.100要转换成192.168.1.1,那么数据包就会被重写,目的地址写成192.168.1.1,然后数据包会交给这台PC,这样就完成了数据包的往返。

这种NAT类型叫静态一对一IP映射,这种类型实现了私有IP访问公网的问题,完成映射后,PC可以访问8.8.8.8,但同时公网也能主动发起访问,使用的 目的地址是200.1.1.100来访问内网的节点。在静态一对一映射当中,是把整个192.168.1.1映射到200.1.1.100,意味着192.168.1.1所有的端口号跟200.1.1.100做一个关联,这种在某些场景中,不是特别安全。假设服务器时提供WEB服务的,所以我们只需要把TCP的80端口映射出去就行了,但是静态一对一映射把所有端口都映射出去,因此被认为不安全。

注意:这种类型,其实并不能够从根本上缓解IPv4地址空间紧缺的问题,因为一个私有IP地址就需要一个公有IP地址。

弊端:它是静态的,意味着需要手工创建映射关系,如果有100个IP就需要手工创建100条映射关系,而且当IP发生变化,又不得不去修改,笨拙。

基于地址池的一对一映射(no-pat)

在这里插入图片描述
所谓的no-pat就是不去做端口转换,只做IP转换,也是一对一的映射,一个私有IP对应一个公有IP,只不过是动态的映射,所谓的动态映射,就是假设申请到一个公网地址区间,200.1.1.100-200.1.1.110这个10个IP,我把这个10个IP放到一个池里边,这个池现在有10个公网IP地址,当有私网用户访问外网时,就会从地址池中拿一个地址出来给他用,形成一个动态的映射关系。

动态它是有一个时间概念的,如果没有数据访问时,就会失效,当然如果一直有数据使用这个表项,这个表项就会一致存活。

当然如果有下一个用户访问时,又会去池里边再取一个地址,在建立一个映射。注意,这种方式是动态的,也就是192.168.1.1在有一段时间没有访问外网,这个表项就会自动老化,然后把这个公网地址又放回池里边供其他人使用,而且它是一对一的映射,10个公网IP并发时最多只能有10个人使用,因为1个IP对于1个IP,只能对IP做转换,不对端口做转换。相比静态映射更加灵活一点,但是也没有从根本上缓解IPv4地址问题。

基于地址池的多对一映射(NAPT)

在这里插入图片描述
所谓的多对一就是NAPT,也就是IP和端口号都做转换,这种方式是从真正意义上缓解IPv4公网地址紧缺问题。

NO-PAT:只对IP做转换,一对一的关系。

NAPT:网络地址和端口都做转换,多对一的关系。

源地址(转换前)源地址(转换后)
192.168.1.1 1099200.1.1.100 2000
192.168.1.2 1088200.1.1.100 2001
192.168.1.3 1077200.1.1.100 2002

用一个公有IP,但使用不同的端口号来映射。

NAT Server

在这里插入图片描述
所谓的nat server,假设我内网有WEB服务器(80),需要对外网提供服务,外网又不能够直接使用192.168.1.1来访问WEB,这时就可以使用nat server,把服务器的真实IP映射到外网的200.1.1.100:8080,这样一来如果有外网用户访问服务器时,数据包的目的地址为200.1.1.100:8080这个数据包到达路由器把它做一个转换,因为这里有NAT表项,目的地址转换成192.168.1.1:80,这样就完成了数据访问的通路。

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫步河畔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值