认识NAT技术

目录

一、什么是NAT技术

 二、NAT技术的作用过程

三、报文如何返回??(NAPT的作用机制)

1、实现方式

 2、结合案例分析

三、虚拟机NAT模式

四、公网无法主动访问局域网的原因


NAT是解决当前IP地址不足的主要手段,是路由器的一个重要功能。核心思路就是在传递报文的时候,每到达下一跳设备,就更换一次IP地址。NAT一般集成在防火墙、路由器等硬件设备上。

一、什么是NAT技术

局域网中的主机访问公网IP时,路上的路由器会将源IP地址 替换为 WAN口IP,这样的话,不同局域网的主机可以有相同的网络号和主机号。(其实也有可能替换端口号,我们暂时不考虑端口号的变化

主机A发送的报文,源IP地址填的肯定是 192.168.0.3,传递给路由器A以后,源IP地址会被替换为WAN口IP(10.1.1.4);主机B发送的报文,源IP地址肯定也是 192.168.0.3,传递给路由器B以后,源IP地址同样会被替换为 WAN口IP(10.1.1.5

此时,站在局域网之外的角度,路由器A传递报文的源IP地址是10.1.1.4 ,路由器B传递报文的源IP地址是10.1.1.5,因此不同局域网的主机可以有完全一样的IP地址,大大提升了IP地址的利用率。

 二、NAT技术的作用过程

以下面这个图为例

第一步,主机A封装自己的报文,源IP是192.168.1.113,目标IP是39.156.66.10,随后转发给路由器X。

第二步,路由器X收到报文,源IP替换为 WAN口IP(10.1.1.2),目标IP是39.156.66.10。现在相当于IP地址为 10.1.1.2的局域网要发送一个报文,随后转发给路由器Y。

第三步,路由器Y也是做同样的操作,源IP替换为 WAN口IP(39.156.66.25),目标IP是39.156.66.10,此时报文终于来到了服务器所处的网段。

第四步,路由器Y将报文传递给百度服务器,百度服务器收到请求,然后构建响应。

==》这个过程中变化的只有源IP,目标IP是不变的!

三、报文如何返回??(NAPT的作用机制)

1、实现方式

这其实还是基于上述的NAT技术,路由器在替换IP地址的时候,并不是简单的替换,会建立起源IP和替换以后的IP的映射关系。以上述第一步为例。

路由器X收到报文以后,源IP地址是 192.168.1.113,随后会替换成路由器X 的WAN口IP(10.1.1.2),此时路由器X会建立起 192.168.1.113 与 10.1.1.2的映射关系。

假设路由器X的 映射关系(转换表)大致如下,左半部分的IP肯定都属于同一个局域网,同一个局域网里的IP是具有唯一性的,这样就保证了从右边到左边的转换不会出现歧义。在TCP的情况下, 建立连接时, 就会生成这个表项; 在断开连接后, 就 会删除这个表项

替换之前替换之后

源IP:192.168.1.113:1025

目的IP:39.156.66.10:80

源IP:10.1.1.2: 1025

目的IP:39.156.66.10: 80

 2、结合案例分析

仍然以下面这个图为例,报文到达百度服务器的时候,源IP地址变成了 39.156.66.25,目的IP是39.156.66.10。假设现在百度服务器要返回一个响应给我们的主机。

早在路由器Y替换IP的时候,路由器Y就保存了 从局域网到广域网的映射关系,假设映射关系如下:

替换之前替换之后

源IP:10.1.1.2

目的IP:39.156.66.10

源IP:39.156.66.25

目的IP:39.156.66.10

... ...... ...

百度服务器将响应报文发送给路由器Y,路由器Y收到的报文:源IP地址是39.156.66.10,目的IP是39.156.66.25。响应报文和前面请求报文对应,现在的源IP —— 请求报文的目的IP、现在的目的IP —— 请求报文的源IP

查询映射表的右半部分,发现报文的源IP与映射表的目的IP是一致的,报文的目的IP与映射表的源IP是一致的,说明来的时候走的就是这条路,此时就会将目的IP替换为 10.1.1.2。

后面查询路由器X的转换表也是这种方式。

三、虚拟机NAT模式

我们有的时候会在自己的电脑上安装虚拟机,其中有NAT模式和桥接模式。NAT模式就是把主系统当作一个大路由器,每次虚拟机发送请求都要经过主系统,同时主系统需要帮你维护转换表。

四、公网无法主动访问局域网的原因

现在就可以理解 一些公网IP为什么无法访问我们的主机?我们的局域网IP并不是全球唯一的,如果我们没有访问过那些IP,也就没有转换表,他们在传递报文的时候,无法根据转换表替换报文的目的IP。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值