【IPv4】CIDR 无类别域间路由 | CIDR 的 IP 地址划分

IPv4 CIDR 无类别域间路由下的 IP 地址划分


文章目录

  • IPv4 CIDR 无类别域间路由下的 IP 地址划分
    • 一. 什么是无类别域间路由(CIDR)
    • 二. CIDR 的网络划分
    • 三. CIDR 练习题
    • 参考文献
    • 其他相关文章

提示


在阅读本文章前,建议先阅读目录中所指的其它相关文章。若读者对于 IPv4 的相关知识比较熟悉可以直接阅读本文。


一. 什么是无类别域间路由(CIDR)

无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。引用自百度百科

CIDR 的出现是为了替代颇具诟病的分类编址。在 CIDR 被采用之前, IP 地址的网络部分被限制为长度为 8、16 或 24 比特,这是一种被称为分类编址(classful addressing)的编址方案[1]。也就是将 IP 地址划分为 A、B、C、D、E 类的编址方案。

随着互联网的快速发展,分类编址方案出现了一些问题,例如扩展性差,存在地址浪费。为解决这些问题,且考虑到从 IPv4 到 IPv6 的过度。互联网工程工作小组在 1993 年发布了一新系列的标准—— RFC 1518 和 RFC 1519 ——以定义新的分配 IP 地址块和路由 IPv4 数据包的方法,也就是 无类别域间路由 CIDR 。


二. CIDR 的网络划分

在分类编址方案中,除了以固定大小位数的网络号将网络划分为 ABCDE 类,还有一个重要的划分网络手段就是通过子网掩码对 ABCDE 类 IP 再进行划分。而 CIDR 方案就是从该角度入手。接下来从一个案例出发,理解分类编址如何过渡到 CIDR 编址。

编址方案 IP 地址 子网表示 完整表示
分类编址 202.119.100.202 255.255.255.240 202.119.100.202
255.255.255.240
CIDR 编址 /28 202.119.100.202/28

上表展示了对于一个 IP 地址的两种编址表示的区别。使用分类编址时,需要原 IP 地址与子网掩码配套使用,而 CIDR 编址则直接在 IP 地址后跟上了一个 “/24” 的前缀,该前缀表示的也正是子网掩码。CIDR 编址所做的,其实就是将子网掩码的位数作为前缀,添加在原 IP 地址的后面。(我也觉得很奇怪为什么这玩意叫前缀,不应该叫后缀吗)


子网掩码 255.255.255.240 化为二进制表示法时,前 28 位都为1(转换方式可参考文章),因此在 CIDR 编址时前缀的数字是 28,最终表示形式为 192.168.1.102/28

我们继续关注 CIDR 编址与分类编址的区别。在 192.168.1.102/28 中 28 直接表示子网掩码为 28 位,则该 IP 的划分情况如下。

CIDR 编址 分类编址
十进制点分表示 202.119.100.202/28 202.119.100.202
255.255.255.240
二进制表示 1100 0000 1010 1000 0000 0001 0110 0110 1100 0000 1010 1000 0000 00010110 0110

提示


  • 该颜色的 IP 位, 表示该位是 IP 的网络号对应的位
  • 该颜色的 IP 位,表示该位是 IP 的子网号对应的位
  • 该颜色的 IP 位,表示该位是 IP 的主机号对应的位

在分类编址中黄色的网络号是由其分类决定的,例如上述例子中的 IP 地址属于 C 类 IP,而 C 类 IP 的网络号是 24 位的。而绿色的是子网号,由子网掩码划分得出。最后蓝色的是子网号。而在 CIDR 编址时,已经不考虑分类,"/28" 的前缀表示子网掩码,直接将 IP 的前 28 位标识为网络号,剩余的位为主机号。这样 CIDR 就实现了对地址的划分。

经过上述描述,大致对 CIDR 的编址逻辑进行了掌握。接下来强调几点 CIDR 编址的知识点。

1. IP 相同,子网掩码不同的 IP 地址不是同一个地址

202.119.100.202/28202.119.100.202/24 IP 相同,但是子网掩码不同,因此这两个地址不是同一个地址。
202.119.100.202/28 是在 202.119.100.192/28 网络下的主机地址。
202.119.100.202/24 是在 202.119.100.0/24 下的主机地址。

202.119.100.192/28202.119.100.0/24 也被可以被称为 CIDR块,相当于一个网络,因为该地址除了其标识的前 28 位网络号外的主机号全为 0,代表整个网络。

十进制 二进制
网络 IP 202.119.100.192/28 1100 0000 1010 1000 0000 0001 0110 0000
主机 IP 202.119.100.202/28 1100 0000 1010 1000 0000 0001 0110 0110
网络 IP 202.119.100.0/24 1100 0000 1010 1000 0000 0001 0000 0000
主机 IP 202.119.100.202/24 1100 0000 1010 1000 0000 0001 0110 0110

2. 使用 CIDR 可以对网络进行多层划分

我们查看以下例子。在该例中划分了三层网络(白色的网络,绿色的网络,蓝色网络),其呈现层次关系。其中黄色的是主机 IP。不难发现,随着网络层次的划分,子网掩码的值越来越大,白色的网络层次为 16,绿色的网络层次为 20,蓝色的网络层次为24。子网掩码递增的大小决定了一个高层网络能够划分多少下一层网络。

例如,从白色网络层次的 16,到绿色网络层次的 20,子网掩码递增了 4,这意味着在白色的网络层次地址中有 4 位用来划分子网络。那我们可以计算出,在白色网络层次中可以划分 2 4 2^4 24 个子网络(该计算与分类编址中使用子网掩码的计算相同,但是在 CIDR 编码中不用考虑子网号全为 0 或 1 的情况,因此不需要减 2)。

【IPv4】CIDR 无类别域间路由 | CIDR 的 IP 地址划分_第1张图片


三. CIDR 练习题

1. 网络 120.26.0.0/18 下可以划分多少个 IP 配置给主机

可知网络号 18 位,则主机号有 32 − 18 = 14 32 -18 = 14 3218=14 位。则可划分 2 14 2^{14} 214 个 IP。
其中要主机号全为 0 与 1 的 IP 不能配置给主机。因此可划分 2 14 − 2 2^{14}-2 2142 个 IP 配置给主机。

提示


与上文中的网络层次划分不同,这里之所以要减 2 是因为考虑的是分配给主机而不是分配给子网络。


2. 某主机的 IP 为 120.26.57.7/23,则其属于的网络 IP 为多少

若要求 120.26.57.7/23 所处的网络,只需要将其主机号全置为 0,得到的 IP 即为网络 IP。因此将 120.26.57.7 转化为二进制有:

十进制 二进制
主机 IP 120.26.57.7/23 0111 1000 0001 1010 0011 1001 0000 0111
网络 IP 120.26.56.0/23 0111 1000 0001 1010 0011 1000 0000 0000

如上表,其所属网络 IP 为 120.26.56.0/23


3. 若要在网络 120.26.0.0/18 下再划分一层有 6 个子网络的网络,且要保证每个子网络能够容量尽量多的主机,则这 6 个子网络的 IP 分别为多少

若要再划分 6 个子网络,则下一层子网络的子网掩码要加大 n,以满足 2 n > 6 ( n 为 整 数 ) 2^n>6(n为整数) 2n>6n。显然 n ≥ 3 n\geq3 n3 满足条件。
n = 3 n = 3 n=3 时可保证划分的子网络可容纳的主机最多,则在 120.26.0.0/18 下可划分:

十进制 二进制
网络 IP 120.26.0.0/18 0111 1000 0001 1010 0000 0000 0000 0000
子网络 1 120.26.0.0/21 0111 1000 0001 1010 0000 0000 0000 0000
子网络 2 120.26.8.0/21 0111 1000 0001 1010 0000 1000 0000 0000
子网络 3 120.26.16.0/21 0111 1000 0001 1010 0001 0000 0000 0000
子网络 4 120.26.24.0/21 0111 1000 0001 1010 0001 1000 0000 0000
子网络 5 120.26.32.0/21 0111 1000 0001 1010 0010 0000 0000 0000
子网络 6 120.26.40.0/21 0111 1000 0001 1010 0010 1000 0000 0000
子网络 7 120.26.48.0/21 0111 1000 0001 1010 0011 0000 0000 0000
子网络 8 120.26.56.0/21 0111 1000 0001 1010 0011 1000 0000 0000

则在这些子网络 IP 地址中选出 6 个即为答案。

提示


本次文章的习题讲解相比之前的文章讲解的没那么细,若有问题可以评论,会在一天内回复解答。


参考文献


[1] JAmes F.Kurose, Keith W. Ross.计算机网络自顶向下方法[M].机械工业出版社:北京,2014.9:229.


其他相关文章

文章名称 更新时间
IPv4 十进制点分表示法 2020-10-29
IPv4 地址分类 2020-11-8
IPv4 地址与子网掩码 2020-11-16
IPv4 CIDR 无类别域间路由 2021-1-14

文章内容来自个人学习总结
欢迎指出本文中存在的问题
未经本人同意禁止转载,不得用于商业用途

你可能感兴趣的:(计算机网络,子网掩码,网络,cidr)