文章目录
- 前言
- 1. DHCP网络管理协议
- 什么是 DHCP
- DHCP 两种分配机制
- 2. NAT网络地址转换协议
- 什么是 NAT
- NAT 技术
- 使用NAT网络设备间如何通信
- 两个内网设备相互通信
- 不同内网中的设备相互通信
- NAT IP转换过程
- NAPT 技术
- NAT 技术的缺陷
- 3. IPv6 协议
- 什么是 IPv6
- 总结
前言
在之前的文章中, 我们谈过了 IP 地址是什么. 在这里我们再简单回顾一下. 如今我们的网络中有很多的主机 / 设备, IP 地址就是用来描述设备在网络中的具体地址, 类似于家里的门牌号. 所谓的 IP 地址, 是一个32位(4字节)的整数, 采用点分十进制来表示. 形如 127.0.0.1 (把32位分为4个部分, 每个部分是8位, 每个部分的范围是0 ~ 255).
IP 地址 32 位能表示的数据量为 42亿 9千万, 听起来好像很大的一个数字, 其实在如今的网络世界中, 这个数据是非常有限的. 因为既然是地址, IP 地址原则上是不可以重复的(每个设备的 IP 得不相同). 现在全世界能上网的设备, 其实早就超出这个数字了. 一人一部手机, 一家一台电脑, 家家有很多智能家电等等(万物联网).
这样就引出了一个很大的问题, 当 IP 地址不够用了, 该怎么办?
关注收藏, 开始学习吧🧐
1. DHCP网络管理协议
什么是 DHCP
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
通俗来讲,DHCP可以动态分配地址,当某个设备需要上网时,就分配IP,不需要上网就不分配。
DHCP 两种分配机制
DHCP提供了两种地址分配机制,网络管理员可以根据网络需求为不同的主机选择不同的分配策略。
- 动态分配机制:通过DHCP为主机分配一个有使用期限的IP地址。
DHCP使用了租期的概念,或称为设备IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这种分配机制适用于主机需要临时接入网络或者空闲地址数小于网络主机总数且主机不需要永久连接网络的场景。 - 静态分配机制:网络管理员通过DHCP为指定的主机分配固定的IP地址。
相比手工静态配置IP地址,通过DHCP方式静态分配机制避免人工配置发生错误,方便管理员统一维护管理。
但随着网络中的设备越来越多,DHCP这种方案,也有点略显逊色了。它只能缓解IP地址不够的问题,但无法根治。
2. NAT网络地址转换协议
什么是 NAT
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT技术。
就是将IP地址分为两大类:
- 私有IP:我们常说的内网,不同局域网内的设备,内网IP可以重复。但同一个局域网内的设备,内网IP不能重复。
- 全球IP:我们常说的外网,这个IP地址是不可以重复的。
这样我们就可以在不同的局域网中,使用相同的IP地址。此时IP地址不够用的问题就得到了很大程度的改善。
NAT 技术
NAT技术是当前解决IP地址不够用的主要手段,是路由器的一个重要功能。
这种技术需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
- NAT能够将私有IP对外通信时转为全局IP。也就是就是一种将私有IP和全局IP相互转化的技术方法。
- 很多学校,家庭,公司内部采用每个终端设置私有IP,而在路由器或必要的服务器上设置全局IP。
- 全局IP要求唯一,但是私有IP不需要;在不同的局域网中出现相同的私有IP是完全不影响的。
使用NAT网络设备间如何通信
两个内网设备相互通信
如果是局域网内部中的设备之间进行通信,是没有任何影响的,因为内网中IP地址都是唯一的,内部设备要进行通信,直接访问其IP地址即可。
不同内网中的设备相互通信
当A局域网中的设备,想和B局域网中的设备通信时,该怎么办?在NAT协议中,该情况是禁止的,因为有可能这俩设备的IP地址相同。
此时要想通信,就需要有一个带有外网IP的设备(路由器)进行中转,这个过程就涉及到NAT IP的转换过程了。
NAT IP转换过程
- NAT路由器将源地址从 10.0.0.10 替换成全局的IP 202.244.174.37;
- NAT路由器收到外部的数据时,又会把目标IP从 202.244.174.37 替换回 10.0.0.10;
- 在NAT路由器内部,有一张自动生成的,用于地址转换的表;
- 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系;
NAT机制的意义就是,一个外网IP代表的不一定是一个设备了,这个IP下还有很多设备。
NAPT 技术
由于NAT实现是私有IP和NAT的公共IP之间的转换,内网中同时与外网进行通信的主机数量就受到NAT的公共IP地址数量的限制。
当一个内网中有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,
目的IP都是相同的。那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
NAPT(Network Address Port Translation)技术就是用来解决这个问题的。使用IP+port来建立这个关联关系。
这种关联关系也是由NAT路由器自动维护的。例如在TCP的情况下
- 建立连接时,就会生成这个表项;
- 在断开连接后,就会删除这个表项。
NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信。(NAPT多了对TCP和UDP的端口号的转换)
NAT 技术的缺陷
由于NAT依赖这个转换表,所以有诸多限制:
- 无法从NAT外部向内部服务器建立连接,不方便直接访问外网设备。
- 转换表的生成和销毁都需要额外开销,非常繁琐且效率不高。
虽然 NAT 技术相比于 DHCP 极大地提高了IP地址的“利用率”,但还是没有从根本问题上解决IP地址不够用的问题。但是其有一个最大的优点,“NAT是一个纯软件层面上实现的技术”,正是这个优点,使NAT一统天下了。
3. IPv6 协议
可能有很多读者在无意间看到过“该APP已支持IPv6技术”,IPv6就是从根本上解决 IP 地址不够用问题的一种方法。目前世界上最主流的是 IPv4 协议,IPv6 也并没有大规模去使用。
什么是 IPv6
IPv6(Internet Protocol Version 6),也被称为IPng(IP Next Generation),也就是下一代IP协议。IPv6是当前主流IP协议IPv4的升级版本。
当前IPv4协议,IP地址是4个字节(32位)来表示地址。而 IPv6 的IP地址是用16个字节(128位)来表示地址。 其总地址数量是2的128次方,理论上可以说地址数量近乎无限,足以给地球上的每粒沙子都分到1个地址。
目前我们主流使用的NAT技术其实跟IPv6是同一个时代的产物,IPv6为什么发展的不如NAT好呢?原因就是IPv4和IPv6不兼容,要想升级IPv6,就需要更换路由器设备,并且升级该设备不会提高任何网速,可以说是出力不讨好的一个活儿,而NAT是一个纯软件层面上实现的技术,只需要升级软件就可以支持。
以上我们只是聊聊解决IP地址不够用的一种方法,就不过多展开讲解 IPv6 协议了,感兴趣的读者可以自行查阅一下其资料。
总结
✨ 本文主要讲述了解决IP地址不够用的三种方法,DHCP,NAT/NAPT,IPv6。
✨ 想了解更多计算机网络的知识, 可以收藏一下本人的计算机网络学习专栏, 里面会持续更新本人的学习记录, 跟随我一起不断学习.
✨ 感谢你们的耐心阅读, 博主本人也是一名学生, 也还有需要很多学习的东西. 写这篇文章是以本人所学内容为基础, 日后也会不断更新自己的学习记录, 我们一起努力进步, 变得优秀, 小小菜鸟, 也能有大大梦想, 关注我, 一起学习.
再次感谢你们的阅读, 你们的鼓励是我创作的最大动力!!!!!