无分类域间路由选择(CIDR,classless inter-domain routing)
CIDR的两个特点:
1)消除了传统A类,B类C类地址以及划分子网的概念,因此能更加有效的分配IPv4的地址空间。在新的IPv6没到来之前冗余互联网继续增长。CIDR将32位的IP地址划分位前后两个部分。前面即”网络前缀“,简称”前缀“,后面部分则指明主机,因此CIDR使IP地址从三级编址(使用子网掩码)有回到两级编址,但这已是无分类两级编址,记法为:
IP地址 ::={,}
CIDR还使用斜线记法,或称为CIDR记法,即在IP地址后面加上斜线”/“。然后写上网络前缀所占位数。
2)CIDR将网络前缀都相同的连续的IP地址组成一个CIDR地址块。我们只要知道CIDR地址块的任何一个地址,就可以知道这个地址块的起始地址和最大地址。例如:
IP地址为128.14.35.7/20是某个CIDR地址块中的一个地址,启动网络前缀20位。
为了方便路由选择,CIDR是同32位的地址掩码。虽然CIDR不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此CIDR使用的地址掩码也可继续称为子网掩码。例如
/20地址块的地址掩码四1111111111111111111000000000000(20个连续的1).斜线记法中,斜线后面的数字就是地址掩码中1的个数。
CIDR不使用子网是指没有在32位地址中指明若干位作为子网,但是分配到一个CIDR地址块的单位,仍然可以根据需要划分出一些子网。这些子网都只有一个网络前缀和一台主机号字段,但是子网的网络前缀比整个单位的网络前缀要长。比如,某单位分配地址块/20,就可以在继续划分位8个子网(需要从主机号中借用3位来划分子网)。这样每个子网的网络前缀就变成23位。
由于一个CIDR地址块中有很多地址,所以路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合称为路由聚合,他可以使路由表中的一个项目表示传统分类地址的很多路由。网络聚合也称为构成超网。
CIDR还有许多其他记法;如地址块10.0.0.0/10可简写位10/10.另一种使使用网络前缀加*如:
0000101000*;*之前位网络前缀,*之后标志IP地址中的主机号,可以是任意值。
一般网路前缀小于13或者大于27的都很少用。
下图举例记为一个大学CIDR地址的划分:
从图中可以理解地址聚合的概念。这个ISP拥有64个C类网络。如果不采用CIDR技术,则在与该ISP交换路由信息的每个路由器的路由表中就需要64个项目。使用地址聚合后,就只需要聚合后的一个项目206.0.64.0/18就能找到该ISP。
最长前缀匹配
采用CIDR时,IP地址由前缀和主机号构成。那么路由表中的项目也有相应的改变。这时每个项目由网络前缀和下一跳地址组成。可能匹配的结果不止一个,那么最终的匹配结果就将选择最长前缀的路由,这就是最长前缀匹配,因为前缀越长,地址块越小,具体路由越具体。