只有 32 位的 IPv4,为何依然够用?

作者:网友投稿 时间:2019-02-12 16:58

字号

只有 32 位的 IPv4,为何依然够用?

一、前言

我一直在强调,打好基础怎么变都不慌,但是一直也没有重点分享过这些基础技术。正好 2019 年了,决定再挖个大的新坑,准备开始写一些那些多年不变的基础技术,算法、数据结构、网络协议、设计模式、操作系统有时间都会写。先挖坑,挖完慢慢填,我尽量写的有趣一些,希望大家能够看下去。

今天就来讲讲网络协议中的 CIDR(无类型域间选路),先来说说 CIDR 的背景。

二、CIDR 的背景

2.1 IPv4 和 IPv6

现存所有的网络设备硬件中,网卡是设备上网必备的硬件条件,网卡虽然有唯一(相对唯一)的 Mac 地址去标识,但是依然需要分配一个 IP 地址。有了 IP 地址,才能让世界知道你的位置。

简单来说,IP 地址是一个网卡在网络世界的通讯地址,这就相当于现实世界中,我们在网购时填的收货地址。可以帮助别人,从世界的任何位置,找到我们。

现存的 IP 协议有两套,就是我们常说的 IPv4 和 IPv6。IPv4 由于最初设计的"缺陷",长度只有 32 位,大约只能提供 40 亿个地址。早期设计时,可能也想不到互联网会发展到现在这个地步,随便一个设备都需要联网。

这就造成了 IPv4 地址很快就不够用了,尤其是这样 32 位地址中,还被分为了 A、B、C、D、E 这五类地址,抛开一些特殊的 IP 地址,可供使用的就更少了。由此可见 IPv4 在当初设计时,是有多么奢侈。

只有 32 位的 IPv4,为何依然够用?

随后 IPv6 就被设计出来。我们知道当容量不够的时候,扩容是一条短期正确,但是长期来看依然是存在隐患的事情,无论扩大到多少,如果没有合理的规划,用完其实也是迟早的事情。

IPv6 的长度增加到 128 位,可以提供更多的地址,但是 IPv4 和 IPv6 相互之间并不兼容,导致迁移困难。如今 IPv6 已经慢慢在被一些大厂所使用,例如在淘宝 App 的启动页底部,就可以看到 IPv6 的标识。即便如此,在未来很长的一段时间内,依然会保持两个协议并行支持。

IPv6 并不是本文的重点,再说回到 IPv4 的地址过少这个硬伤上。虽然地址确实不够用,但是设备需要联网确实是强需求,这也是必须要解决的问题,联网就需要 IP 地址,是不是感觉进入死循环了。

IPv4 这种 A、B、C 类为主要的分类的 IP 数量,到底少到什么地步呢?这里看一张表就知道了。

只有 32 位的 IPv4,为何依然够用?

能够感受到 IPv4 的尴尬了吗?C 类地址能够包含的最大主机数量,是在太少了,现在随便一个网吧可能就不够用了,而 B 类地址包含的最大主机数量又太多了,大量用不到的地址,很容易造成地址的浪费。有句老话怎么说的,旱的旱死,涝的涝死。

于是就出现了一个折中的方案,那就是我们本文要聊的 CIDR,中文名为无类型域间选路。

2.2 子网的划分

现在还不到说 CIDR 的时候(就是不爱写这种基础技术,想写清楚会发现有太多需要前置交代)。在说 CIDR 之前,还有个背景需要交代,那就是子网。

互联网这个大网,中间被分割成一个个子网,而子网下又被进一步分割。

从我们上面的 IP 分类图中,可以看出,一个 IP 地址的 32 位中,还被分为两类,分别是网络号和主机号,将主机号都置为 0,得到的就是网络地址。

只有 32 位的 IPv4,为何依然够用?

可以看出,这样很明显的两级划分,也被称为两级 IP 地址。而 IP 地址的利用率有时很低,这种两级划分的方式就显得不那么灵活,于是就出现了子网。

只有 32 位的 IPv4,为何依然够用?

子网其实就在之前的两级 IP 地址中,又加了一层子网号,将其变成三级结构。虽然增加了子网号,但是 IP 地址的长度依然是 32 位,网络号肯定是无法变更的,所以这里的子网就只能从主机号想办法。此时的子网号,其实就是从主机号中借位,这样就等于是减少了主机数,将其分割到不同的子网中。

涉及到子网,还有一个重要的概念,就是子网掩码。子网掩码,就是为了区分识别对 IP 地址划分的子网的。子网掩码很简单,它就是将网络号和子网号,对应的位全部置为 1,将主机号对应的位都置为 0,这就是子网掩码了。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>IPv4 CIDR IPv6
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接