1.前言
随着互联网的急剧膨胀和IP地址资源的紧张,传统的IP地址划分方法(如类A、类B、类C的方式)已不能满足灵活、高效的网络设计需求。这就是无类别域间路由(CIDR)的概念出现并普及的原因。CIDR是一种IP网络地址划分方法,它允许更灵活地创建大小不一的网络,有效延缓了IPv4地址的耗尽问题,同时为IPv6的部署提供了助力。
2. CIDR的技术含义
什么是CIDR? CIDR是一种通过改进的IP地址划分方法来优化和节约IP地址空间的策略。与传统的基于类的IP地址划分不同,CIDR使用一种后缀表示法来表示子网的大小,这种表示法包含了网络前缀和后缀长度。CIDR的格式一般是这样的:x.x.x.x/y
,其中x.x.x.x
表示IP地址,y
表示网络前缀的位数。网络前缀是IP地址中从最左边开始的连续的“1”。剩下的部分(32-y位)是主机部分,用来为网络内的设备分配IP地址。
CIDR的工作原理: CIDR通过变化的子网掩码来允许更加精细地划分和分配IP地址。子网掩码定义了IP地址中哪部分属于网络地址,哪部分属于主机地址。在CIDR中,子网掩码不再局限于255.0.0.0、255.255.0.0或255.255.255.0等固定格式,而是可以有更多变化,例如255.255.255.128(即/25),这样就能创建包含不同数量主机的子网。
如何计算CIDR子网: CIDR子网计算需要确定两个关键因素:一是子网掩码,二是需求的主机数。以子网掩码/25为例,意味着网络地址为32位中的前25位,留给主机的地址空间是32位中的后7位。因为2的7次幂等于128,所以每个/25子网可以分配给128个IP地址。如果一个组织需要容纳100台主机,那么它可以使用一个/25子网。
举例:
图中,红色部分就是网络前缀,蓝色部分就是主机号。上述IP地址,写成点分十进制表示的IP地址格式为:200.23.16.0/23。其中23表示的就是网络前缀的bit位数。
有了这种CIDR的表示形式后,子网和子网掩码的表示也更加方便了,比如下述子网与子网掩码:
子网:201.2.3.64
子网掩码:255.255.255.192
用CIDR来表示就是:201.2.3.64/26,26表示IP地址的前26位bit表示子网(网络前缀)。
3. CIDR的好处
- 灵活性: CIDR消除了传统A、B、C类地址的固定边界,提供了划分不同大小网络的灵活性。
- IP地址空间的更有效利用: CIDR使得IP地址的分配更加精确,避免了大量的地址浪费。
- 简化路由表: CIDR可以将多个网络合并到一个IP地址入口中,使得路由器的路由表更加紧凑,提高了处理能力和效率。
4. CIDR用于路由聚集
4.1 例子1
如图所示,右侧的网络包含了3个小的子网,这三个小的子网再通过左侧的路由器与Internet相连。此时,针对这三个小的子网,按照原先存储子网和子网掩码的方式,路由器的转发表里存储这这样的信息:
但是现在有了路由聚集和,我们可以将这个三个小的子网聚集成一个更大的子网来存储。由于这三个子网中最大的子网范围为223.1.0.0/23,因此用一个更大的子网来表示就是:223.1.0.0/22。这三个小的子网就相当于子网内部的继续划分,此时对内部的3个小的子网的路由,由内部的路由器再进行进一步区分。
有机构做过统计,在互联网的主干链路上,使用CIDR技术对路由表进行充分的路由聚合之后,可以减少路由器40%~70%的存储, 对路由检索效率的提升是非常有效的。
4.2 例子2
举个例子,假设有四个紧邻的网络,它们的CIDR表示如下:
- 192.0.2.0/24
- 192.0.3.0/24
- 192.0.4.0/24
- 192.0.5.0/24
在没有路由聚合的情况下,这四个网络将在互联网的路由表中占用四个独立的条目。借助CIDR和路由聚合,网络管理员可以将这四个连续的子网聚合成一个更大的子网:
- 192.0.2.0/22
一个/22的子网掩码意味着前22位是网络地址,剩下的10位是主机地址。一个/22的子网可以包含2的10次幂,即1024个IP地址。四个/24网络加起来正好是1024个IP地址。
通过这种方式,原本需要在路由表中创建四个单独条目的网络现在只需要一个条目。这种聚合明显减少了全局路由表中的条目数量,节省了存储空间,简化了路由过程,提高了路由的效率。
路由聚合的好处
- 减少全局路由表的大小: 将多个较小的网络聚合成一个较大的网络,减少了路由器需要处理和存储的路由信息的数量。
- 提高互联网的可扩展性: 路由聚合降低了互联网的复杂性,使其可以支持更多的网络。
- 提高路由效率: 路由器可以更快地处理路由信息,减少了查找和维护路由信息的时间
5.最后
随着网络技术的发展,充分理解和运用CIDR至关重要。无论是为了更有效地规划企业网络,还是为了掌握互联网的整体框架,对CIDR的理解都可以帮助我们更好地应对日益增长的网络需求。了解CIDR的基本原理和应用,不仅可以帮助我们提升网络设计的效率,还可以在地址资源日渐稀缺的情况下,作出合理的规划策略。
参考资料:
1. 哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集_cidr路由聚合-CSDN博客
2. chatgpt