
文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片
因为IPv4地址有限 , 最大42亿个 。 为了更好的利用这有限的IP数量 , 网络分为局域网和广域网 , 将IP分为了私有IP和公网IP , 一个局域网里的N多台机器都可以共用一个公网IP , 从而大大增加了\"可用IP数量\" 。
当我们需要发送网络包的时候 , 在IP层 , 需要填入源IP地址 , 和目的IP地址 , 也就是对应快递的发货地址和收货地址 。
但是我们家里的局域网内 , 基本上都用192.168.xx.xx这样的私有IP 。
如果我们在发送网络包的时候 , 这么填 。 对方在回数据包的时候该怎么回?毕竟千家万户人用的都是192.168.0.1 , 网络怎么知道该发给谁?
所以肯定需要将这个192.168.xx私有IP转换成公有IP 。
因此在上篇文章最后 , 留了这么个问题 。 局域网内用的是私有IP , 公网用的都是公有IP 。 一个局域网里的私有IP想访问局域网外的公有IP , 必然要做个IP转换 , 这是在哪里做的转换呢?
答案是NAT设备 , 全称Network Address Translation , 网络地址转换 。 基本上家用路由器都支持这功能 。
我们来聊下它是怎么工作的:
nat的工作原理
为了简单 , 我们假设你很富 , 你家里分到了一个公网IP地址 20.20.20.20 , 对应配到了你家自带NAT功能的家用路由器上 , 你家里需要上网的设备有很多 , 比如你的手机 , 电脑都需要上网 , 他们构成了一个局域网 , 用的都是私有IP , 比如192.168.xx 。 其中你在电脑上执行ifconfig命令 , 发现家里的电脑IP是192.168.30.5 。你要访问的公网IP地址是30.30.30.30 。
于是就有下面这样一张图
当你准备发送数据包的时候 , 你的电脑内核协议栈就会构造一个IP数据包 。 这个IP数据包报头里的发送端IP地址填的就是192.168.30.5 , 接收端IP地址就是30.30.30.30 。 将数据包发到NAT路由器中 。
此时NAT路由器会将IP数据包里的源IP地址修改一下 , 私有IP地址192.168.30.5改写为公网IP地址20.20.20.20 , 这叫SNAT(Source Network Address Translation , 源地址转换) 。 并且还会在NAT路由器内部留下一条 192.168.30.5 -> 20.20.20.20的映射记录 , 这个信息会在后面用到 。 之后IP数据包经过公网里各个路由器的转发 , 发到了接收端30.30.30.30 , 到这里发送流程结束 。
如果接收端处理完数据了 , 需要发一个响应给你的电脑 , 那就需要将发送端IP地址填上自己的30.30.30.30 , 将接收端地址填为你的公网IP地址20.20.20.20 , 发往NAT路由器 。 NAT路由器收到公网来的消息之后 , 会检查下自己之前留下的映射信息 , 发现之前留下了这么一条 192.168.30.5 -> 20.20.20.20记录 , 就会将这个数据包的目的IP地址修改一下 , 变成内网IP地址192.168.30.5 这也叫DNAT(Destination Network Address Translation , 目的地址转换) 。之后将其转发给你的电脑上 。
- 近日|余承东:没有5G,我们用4G增强+WIFI 6来弥补
- 我们成年了! 每日经济新闻创刊18周年,线上发布五大创新项目
- 唉|这么又“杀”我微信了?
- 最近我们经常遇到这样的购机需求:工作为主|价格真香表现全面的“工作站级设计本”!惠普战99测评
- 12月13日消息|华硕推出rog魔方幻gt6三频万兆路由器
- 本文转自:央视网央视网消息:近日|超八倍任务时间!我国百吨级火箭发动机单台最长试车创新纪录
- 如何利用电脑录制网页?
- 如何将qlv转成mp4格式?
- 无线路由器现在大部分每家都有|无线路由器怎么关掉wifi操作方法和步骤
- 电池|iQOOZ6与真我10 Pro+,差价100的千元手机,谁更优秀
