-
划分子网依然不能解决ipv4地址不够用的问题
-
无分类域间路由选择 CIDR
消除了传统的ABC类网络和划分子网的概念,只是将32bit的ip地址
划分为前后两部分。
前面部分
是网络前缀,用来指明网络
后面部分
则用来指明主机
CIDR 使 ip地址 从3级编址
又回到了2级编址
,但这是无分类的两级编址
记法:ip地址 = 网络前缀 + 主机号
斜线记法 / CIDR 记法:在ip地址
后面加上斜线 /
,然后写上网络前缀所占的位数
-
CIDR地址块
CIDR把网络前缀都相同的、连续的ip地址组成一个CIDR地址块
只要知道1个CIDR地址块中的地址,就能知道这个地址块的起始地址(最小地址)
和最大地址
如:已知ip地址128.14.35.7/20 是某CIDR地址块中的一个地址
128.14.35.7/20 = 1000,0000,0000,1110,0010,0011,0000,0111 = 0x800e2307
最小地址 | 128.14.32.0 | 0x800e2000 |
---|---|---|
最大地址 | 128.14.47.255 | 0x800e2fff |
-
CIDR的地址掩码
32bit
地址掩码中1的位置对应网络前缀
地址掩码后面也可以接 :斜线 /
&地址掩码中1的个数
-
CIDR的划分子网
虽然CIDR不使用子网,没有在32bit的地址中指明若干位作为子网字段。
但若分配到一个CIDR地址块的单位,仍可以在本单位内根据需要划分出一些子网。
这些子网也都只有一个网络前缀和一台主机号字段,但子网的网络前缀
比整个单位的网络前缀
长些。
如:某单位分到地址块/20,就可以再继续划分为8个子网(从主机号中借3位),此时每一个子网的网络前缀就变成23位。 -
使用CIDR可以更加有效地分配ipv4的地址空间。可根据客户的需要分配适当大小的CIDR地址块
而分类地址中向一个部门分配ip地址只能以 / 8,/ 16,/ 24 为单位来分配,很不灵活 -
在使用CIDR时,给某单位分配一个地址块 /20,数量上相当于16个C类网络,这和直接分配16个C类地址给此单位有什么区别?
1、若不采用CIDR,直接分配16个C类地址给给此单位。那么这个单位对外界来说是16个C类网络,每一个C类网络都要在本单位外面的路由表占有一个表项,使得路由表变得更大。当本单位内的主机通信时,由于跨越了不同的网络,都必须使用路由器来转发分组,由此造成的开销是很大的。一般来说一个单位宁愿得到一个B类地址也不愿意接收16个C类地址。 -
路由聚合(又叫构成超网)
一个 CIDR 地址块中有很多地址,所以路由表可以利用CIDR地址块
来查找目的网络
路由表中的一个项目
可以表示原来传统分类地址的许多个路由
,这种地址的聚合称为路由聚合 (又叫构成超网)
-
路由聚合 的 作用
同样条件下减少了路由表的项目数
,有利于减少路由器之间的路由选择信息交换
,提高了路由器和互联网的性能
举例:如下图:
这个ISP共拥有64个c类网络:
若不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目。
若采用了地址聚合,就只需用路由聚合后的一个项目206.0.64.0 / 18
就能找到该ISP。 -
最长前缀匹配
在使用CIDR(路由表)时,由于采用了网络前缀的记法
,ip地址由网络前缀
和主机号
这两个部分组成,因此路由表中的项目也要有改变:
每个项目由网络前缀
和下一条地址
组成
查找路由表时可能会得到不止一个匹配结果(传统的路由表不会得到多个匹配结果),应从匹配结果中选择具有最长网络前缀的路由,此为最长前缀匹配
(因为这些匹配结果中最长的,地址最具体)
如大学下属的四系希望ISP把转发给四系的数据报直接发到四系而不经过大学的路由器,但又不愿意改变自己使用的IP地址块。
因此在ISP的路由器的路由表中,至少要有以下两个项目,即 206.0.68.0 / 22(大学)和 206.0.71.128 / 25(四系)
若ISP收到一个发往四系的数据报,显然这两个项目都能匹配,根据最长前缀匹配的原理
,应当选择后者,即选择匹配的地址中更具体的一个 -
路由表中必须使用很好的数据结构和先进的快速查找算法,如使用二叉线索查找路由表