《OSPF网络设计解决方案(第2版)》一1.9 CIDR

简介:

本节书摘来自异步社区《OSPF网络设计解决方案(第2版)》一书中的第1章,第1.9节,作者 【美】Thomas M. Thomas II, CCIE #9360,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.9 CIDR

OSPF网络设计解决方案(第2版)
由于VLSM能够通过路由协议传输子网信息,从而增强子网划分的作用。这种技术思想直接引出了本节所要讨论的CIDR。CIDR是一种能够有效阻止由于IP地址分配不当引起的路由表溢出的方法。若没有实施1994年及1995年发布的RFC 1817文档中所描述的CIDR,那么Internet也不会如今天一样正常地运行。如果缺失CIDR技术,将导致路由表的规模超过路由器所能处理的极限。

实施CIDR的主要前提是,必须使用支持它的路由协议,例如RIP-2、OSPFv2和BGPv4。CIDR可以被认为是一种高级的子网划分。子网划分的掩码,之前已经提到,是具有特殊含义的数值,它将成为路由表和路由协议的组成部分。因此,路由条目不再根据IP地址来判断其归属的类别,而是使用最长掩码匹配原则。

1.9.1 确定CIDR的使用

Internet路由表的规模保持着和Internet网络规模一样的高速增长速度。这种增长对Internet路由器的处理性能及内存要求不断提升,最终导致资源利用率大幅增加,频繁出现资源告急。

在1988年至1991年期间,Internet路由表的大小每10个月翻一番。以这种增长速度,到1995年时,将出现80,000条路由。路由器需要消耗大约25 MB的专用RAM才能对所有条目进行跟踪维护,而且这还仅仅只是在拥有一个对等体邻居的前提下。通过实施CIDR,在1996年时,Internet路由数量被优化到42,000条。如今,Internet核心路由表中的路由条目约为7,000,000条1。若没有CIDR技术对路由进行聚合,一台BGP路由器的路由表将拥有比这多得多的路由条目。这会耗尽绝大部分普通BGP路由器的内存和CPU资源,导致无法正常运行。

CIDR的主要作用是保持大型网络的持续性不间断增长,并同时在路由器上聚合路由条目,从而降低网络路由器所运载的路由信息数量。使用CIDR,你可以将一些IP网络聚合成单个条目。CIDR淘汰了A、B、C主类网络的概念,并使用一般性的IP前缀进行替代。

在网络中使用CIDR的一些优势如下:

减少由于更新外部路由信息而产生的本地管理性负担;
通过使用路由聚合,节省路由器的路由表空间;
减少路由抖动问题的发生;
降低路由器CPU和内存的消耗;
提高可用地址空间的利用率。

1.9.2 斜杠的含义

/16及/24这种写法,代表了IP地址网络号的比特长度。上文所谈到的B类地址可以写成172.24.0.0/16,实际上这个地址范围和256个C类地址等价,因此该地址在空间大小上也等同于192.200.0.0/16。使用CIDR时,单个C类地址可以写成192.201.1.0/24,这种IP地址的书写形式包含了IP地址和掩码长度。其中,掩码长度通常被称为IP前缀长度。掩码长度指明了相应IP地址中掩码所使用的比特位数。

例如,使用CIDR的IP地址172.24.0.0/16,代表172.24.0.0 255.255.0.0。其中/16代表从高位开始数,前16个比特都是掩码比特。图1-15解释了CIDR如何定义掩码。


4e3f2ce0b92dc10d7a1351e57b2f849032062bf3

1.9.3 CIDR的重要术语

被称为超网的网络,是指IP前缀长度少于主网默认掩码的比特数。例如,C类地址200.34.5.0,主类默认掩码为255.255.255.0。该地址也能够利用CIDR写成200.34.0.0/16。因此,由于主类默认掩码为24比特,而CIDR掩码为16比特(16小于24),那么该网络即为超网。简单地来说,超网的IP前缀长度小于主网默认掩码长度。

这种技术使得明细的连续主网——如200.34.5.0、200.34.6.0及200.34.7.0——能够汇总成单个CIDR地址块被通告,也就是进行聚合。简单地来说,聚合代表所有的汇总路由。图1-16描绘了CIDR如何通过减少路由表大小来优化网络。


b8892cc8f4e53f6f891a634e9700213bff6ddd3d

1.9.4 无类IP

在路由器上使用无类IP(IP classless),并且在自治系统内拥有默认路由时,ip classless命令能够更改传统有类路由器对子网路由进行查找的行为。对于那些运行在Cisco IOS软件版本12.0或更高的设备而言,ip classless命令默认开启。无类IP使得路由器对于去往目的子网的数据包,采取最长掩码匹配原则,依照最佳匹配的超网路由来发送,而不是简单地丢弃。换句话说,如果某条明细子网路由不可用,那么路由器将选择次明细路由,直至匹配默认路由。这和老式的有类路由选择方式截然不同,使用有类路由方式(即输入no ip classless命令),如果主类中不存在明细的子网路由,数据包将被丢弃。

1.9.5 CIDR转换表

表1-8给出了基本的CIDR信息。


aad780f4f4852bd69fc46e5a1b3b5b46231a6fe2


f2fb2698492bb5c506dd2f02cf5658d0f230e62b

1.9.6 手动计算CIDR IP前缀值

为了演示CIDR IP前缀的计算,参考以下掩码长度为19比特的子网例子:

166.38.0.0/19

按照以下步骤计算CIDR IP前缀。

1.4个八位组代表32个比特。

2.本例仅使用19比特的前缀长度。

3.前2个八位组占用了16个比特。第3个八位组只使用3个比特。剩下的5个比特未使用,如下所示:


b8c579cf9c2759711d318f4c83d4ca8ffdac0958

4.使用二进制形式将剩余5个比特相加:16+8+4+2+1=31。

5.将31和原来的八位组相加,则结果为(0+31=31)。

6.该CIDR块范围的最终结果为166.38.0.0~166.38.31.255。

1译者注:截至2013年,Internet路由表条目数量大约为7,000,000。

相关文章
|
1天前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
20 0
|
11天前
|
存储 网络协议 算法
|
11天前
|
运维 监控 安全
|
12天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
13天前
|
网络协议 算法 数据库
【专栏】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。强烈建议收藏!
【4月更文挑战第28天】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。其关键特性包括区域划分、链路状态数据库、邻居关系和路由更新。工作过程涉及邻居发现、信息交换、数据库构建、路由计算及收敛。理解OSPF对于网络管理和规划具有重要意义。
|
14天前
|
监控 负载均衡 网络协议
|
14天前
|
网络协议 安全 网络安全
|
14天前
|
网络协议 安全 网络安全
|
14天前
|
网络协议 安全 网络安全
OSPF路由器ID:网络核心的身份标识
【4月更文挑战第22天】
31 5
OSPF路由器ID:网络核心的身份标识
|
14天前
|
负载均衡 网络协议 算法