概念
CIDR的提出:Internet指数增长,IP地址即将用完。基于分类的IP地址空间的组织浪费了大量的地址。B类地址很难申请,C类地址的增多使得路由选择表暴涨
CIDR(RFC 1519)
解决办法:将剩余的C类地址分成大小可变的地址空间。
例:需要2000个地址,则分配一个2048(8个C类地址。因为每个C类地址有8位的主机位,即每个C类地址可以分配28-2=254个地址。需要2000个地址的情况下,254*8=2032,8个C类地址就可以满足)的连续地址块,而不是一个B类地址,这样把这8个C地址对外聚合成一个地址,减少这些地址在路由表中的表项数
CIDR地址划分
RFC1519改变了过去C类地址的分配规则,将世界分成4个区,每个区分配一块连续的C类地址空间
欧洲:194.0.0.0 ~ 195.255.255.255
北美:198.0.0.0 ~ 199.255.255.255
中、南美:200.0.0.0 ~ 201.255.255.255
亚太:202.0.0.0 ~ 203.255.255.255
为了保证CIDR正确工作,这组C类地址的分配必须满足如下条件:
这组C类地址必须是连续的,这组C类地址的数量必须是2的指数,起始C类地址必须保证能被2的n次方整除
如何识别这些具有不同网络号的连续地址块?
CIDR基本思想
CIDR消除了传统的A类、B类和C类地址以及划分子网的概念
CIDR使用各种长度的“网络前缀”(network - prefix)来代替分类地址中的网络号和子网号
IP地址从三级编址(使用子网掩码)又回到了两级编址
无分类的两级编址
IP地址={<网络前缀>,<主机号>}
CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”
网络前缀越短,其地址块所包含的地址数就越多
CIDR使用“斜线记法”(slash notation),地址格式:a.b.c.d/x,x表示地址中网络部分的位数,32-x表示主机的位数
例:10.0.0.0/10可简写为10/10,也就是将点分十进制中低位连续的0省略
10.0.0.0/10(10:前缀的位数)隐含地指出IP地址10.0.0.0的掩码是255.192.0.0。此掩码可表示为
无类域间路由CIDR举例
假设从202.117.0.0以后的地址可用
西校区需要2048个地址(8个连续的C类地址),202.117.0.0 ~ 202.117.7.255(0:00000000,7:00000111,说明前5位都是相同的,取掩码就从这前5位去取),因此
掩码为255.255.248(11111000).0,即前缀为/21,用掩码和任意的一个地址做与运算,得出的是相同的地址即为网络前缀。这里的网络前缀为202.117.0.0
东校区需要4096个地址(16个连续的C类地址),202.117.16.0 ~ 02.117.31.255(16:00010000, 31:00011111),掩码255.255.240(11110000).0,即前缀/20,网络前缀为202.117.16.0
最长前缀匹配
原则:路由查找时,若多个路由表项匹配成功,选择掩码长(1比特数多)的路由表项
掩码越长,表示网络规模越小,能保证更精确的寻址
上述例子,应该为202.117.0.0选择掩码为255.255.248.0对应的下一跳