172.16.0.0/24 与 CIDR 的关系
作者:互联网
172.16.0.0/24 与 CIDR 的关系
使用过云服务器的同学,应该比较常见到类似 172.16.0.0/24 这样一个像 ip 地址又不是 ip 的东西,要我们判断,其下多少个 ip 是在同一个局域网的。
要讲清楚这个,首先要讲到我们现在正在使用的 IPV4。IPV4,说的直白点,就是把 ip 地址,划分为网络地址与主机地址,用 4 段,每一段为 8 位,段与段之间用点号连接,如果网络地址为第 1 段,那么主机地址就是后面 3 段。即:
二进制: 000000.00000000.00000000.00000000 ~ 11111111.11111111.11111111.11111111
十进制:0.0.0.0 ~ 255.255.255.255
这样,IPV4 总共有 2 的 32 次方个 IP 地址。
为了能很好管理和分配这些 IP 地址,国际互联网组织又讲 IPV4 地址划分为 5 类
A 类:00000000.00000000.00000000.00000000 ~ 01111111.11111111.11111111.11111111 即 1.0.0.0 ~ 127.255.255.255
B 类:10000000.00000000.00000000.00000000 ~ 10111111.11111111.11111111.11111111 即 128.0.0.0 ~ 191.255.255.255
C 类:11000000.00000000.00000000.00000000 ~ 11011111.11111111.11111111.11111111 即 192.0.0.0 ~ 223.255.255.255
D 类:11100000.00000000.00000000.00000000 ~ 11101111.11111111.11111111.11111111 即 224.0.0.0 ~ 239.255.255.255
E 类:11110000.00000000.00000000.00000000 ~ 11110111.11111111.11111111.11111111 即 240.0.0.0 ~ 247.255.255.255
其中每类 IP 地址的第 1 个和最后 1 个是有特殊用途的。
A 类地址,第 1 段,是网络号,后面 3 段是主机号
B 类地址,前 2 段,是网络号,后面 2 段是主机号
C 类地址,前 3 段,是网络号,后 1 段是主机号
D 类地址,前 4 位固定,后 28 位为广播地址
E 类地址,前 5 位固定,后 27 位为实验和未来保留地址
只要我们稍微算一下,我们就能算出 A 类地址有 16777214(16777216-2)个主机地址,B 类地址有 65534(655536-2)个主机地址,C 类地址有 254(256-2)个主机地址。
这么大的一个主机地址,如果不进行合理的分配和管理,就会造成浪费,所以,人们就想到划分子网,就是把 A、B、C 类地址的主机号位数的前几位作为子网号,IP 地址就演变成了 网络号 + 子网号 + 主机号。这样,不同的子网号,有不同数量的主机,可以分开分配与管理。但是,这样也带来了一个问题,那就是在网络中,别人不知道你属于哪个子网?为了解决这样一个问题,就出现了子网掩码,子网掩码就是把网络号 + 子网号的位置全部设置为 1,主机号位置设置为 0。比如 ip 地址:172.31.112.3, 开头是 172,对照IP地址分类,发现在 128 ~191 之间,所以是 B 类 IP 地址。前 2段是网络号,后 2 段是主机号,即 172.31 是网络号,112.3 是主机号,现在,假设主机号中用了 4 位当做子网号(11110000),那么此时的子网掩码就是 255.255.240.0
估计很多人还是不知道怎么算出来的,的确不好理解。
那有没有简单的办法呢?这时就引出了CIDR
CIDR 全称是无分类-域间-路由选择,它没有了 IP 地址分类,也就是没有了A、B、C、D、E 类 IP地址,IP 地址统一为网络前缀 + 主机号/网络前缀所占位数,因为在这个里面,直接告诉了网络前缀的位数了,所以子网掩码根据位数,就可以直接得出来;主机号的范围,也就可以通过“32 减去网络前缀所占位数”得到主机号的位数,然后把主机号全部设置为 0 和 1,就得到了理论上的主机范围。如:
172.31.112.3/20 = 10101100.00011111.01110000.00000011
最小 ip 地址:10101100.00011111.01110000.00000000 = 172.31.112.0(主机号位置设成0得到最小ip地址)
最大 ip 地址:10101100.00011111.01111111.11111111=172.31.127.255(主机号位置设成1得到最大ip地址)
主机号=32-网络前缀所占位数=32-20=12,所以主机号的位数为 12 位,可以得出总共有 2 的 12 次方(4096)个主机。子网掩码为11111111.1111111.11110000.0000000,即255.255.240.0
现在知道 CIDR 是个什么了吧!
下面,来做个题目看下检查下吧
有这么一个需求,要你设计一个局域网,要求能容纳 100 台机器,问你 CIDR 表示应该是多少,子网掩码是多少?
按题目理解,主机数为100,2的7次方是128,是大于 100 的最小数,因此,主机号位数为 8 位,那么网络前缀所占位数就是 24(32-8),所以,CIDR 表示就应该是 192.168.0.0/24, 子网掩码就是把所有网络号位设置为 1,即 255.255.255.0(11111111.11111111.11111111.00000000)
标签:24,0.0,11111111.11111111,255.255,地址,主机,CIDR,ip 来源: https://www.cnblogs.com/scarecrow1992/p/15099113.html