cidr
一、简介
CIDR(无类型域间选路,Classless Inter-Domain Routing)是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。CIDR将路由集中起来, 使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。
如果没有CIDR,路由器就不能支持Internet网站的增多。CIDR采用13~27位可变网络ID,而不是A-B-C类网络ID所用的固定的8、16和24位。
CIDR 对原来用于分配A类、B类和C类地址的有类别路由选择进程进行了重新构建。CIDR用 13-27位长的前缀取代了原来地址结构对地址网络部分的限制(3类地址的网络部分分别被限制为8位、16位和24位)。在管理员能分配的地址块中,主机数量范围是32-500,000,从而能更好地满足机构对地址的特殊需求。
CIDR 地址中包含标准的32位IP地址和有关网络前缀位数的信息。以CIDR地址222.80.18.18/25为例,其中“/25”表示其前面地址中的前25位代表网络部分,其余位代表主机部分。
CIDR建立于“超级组网”的基础上,“超级组网”是“子网划分”的派生词,可看作子网划分的逆过程。子网划分时,从地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分。这种无类别超级组网技术通过将一组较小的无类别网络汇聚为一个较大的单一路由表项,减少了Internet路由域中路由表条目的数量。
例如一个ISP被分配了一些C类网络,这个ISP准备把这些C类网络分配给各个用户群,目前已经分配了三个C类网段给用户,如果没有实施CIDR技术.ISP的路由器的路由表中 会有三条下连网段的路由条目,并且会把它通告给Internet上的路由器.通过实施CIDR技术,我们可以在ISP的路由器上把这三个网段198.168.1.0,198.168.2.0,198.168.3.0汇聚成一条路由198.168.0.0/16.这样ISP路由器只向Internet通告198.168.0.0/16这一条路由,大大减少了路由表的数目.从而为网络路由器节省出了存储空间。 值得注意的是,使用CIDR技术汇聚的网络地址的比特位必须是一致的,如上例所示.如果上例所示的ISP连接了一个172.178.1.0网段,这些网段路由将无法汇聚,无法实现CIDR技术.
二、相关计算
1、CIDR换算子网掩码
若CIDR大于等于24
已知CIDR 为28 则:
32-28=4
2^4=16 256-16=240
则子网掩码为255.255.255.240
若CIDR小于24大于16
已知CIDR为20
24-20=4
2^4=16 256-16=240
则子网掩码为255.255.240.0
若CIDR小于16
已知CIDR为9
16-9=7
2^7=128 256-128=128
则子网掩码为255.128.0.0
2、根据CIDR判断主机数和子网数
若CIDR大于24
公式:设CIDR为x
子网数为y=2^(x-24)
主机为为2^(32-x)-2 或 256/y-2=62
已知CIDR为26
子网数为2^(26-24)=4
主机为为2^(32-24)-2=62 或 256/4-2=62
若CIDR大于16小于24
公式:设CIDR为x
子网数为y=2^(x-16)
主机为为2^(32-x)-2 或 256*256/y-2
已知CIDR为18
子网数为2^(18-16)=4
主机为为2^(32-18)-2=16382 或 256*256/4-2=16382
若CIDR小于16
公式:设CIDR为x
子网数为y=2^(x-8)
主机为为2^(32-x)-2 或 256*256*256/y-2
已知CIDR为9
子网数为2^(9-8)=2
主机为为2^(32-9)-2=8388606 或 256*256*256/2-2=8388606
3、给一组地址求网络地址和子网掩码
假设有一组C类地址为192.168.8.0-192.168.15.0,如果用CIDR将这组地址聚合为一个网络,其网络地址和子网掩码应该为:
A. 192.168.8.0/21
B. 192.168.8.0/20
C. 192.168.8.0/24
D. 192.168.8.15/24
将8~15转二进制,可以看到只需前21位作为网络地址就好,所以应该选A
4. 路由器收到一个数据包,数据包的目标地址是202.65.17.4,该子网属于哪一个网段?
A. 202.65.4.0/20
B. 202.65.16.0/22
C. 202.65.20.0/21
答案A,B,C都采用CIDR标记法,现在我们只需要关注三个选项所表示的主机ID号范围:
其中主机ID不能包括全0 和全1;
A:202.65.4.0/20---->202.65.00000100.0/20---->取前20位前缀(202.65.0.0:网络ID)不变,
后面可变部分范围为:0000.0001——1111.1110,即:整个ID范围为:202.65.0.1——202.65.15.254
所给IP地址不在此范围内;
B:类似原理,得到主机ID范围为:202.65.16.1——202.65.19.254,所给地址在此范围内;
C:同样主机ID范围为:202.65.16.1——202.65.23.254,所给地址也在此地址范围内,
但是在无类域间路由中, 在查找路由表时可能会得到不止一个匹配结果, 应当从匹配结果中选择具有最长网络前缀的路由。这叫作最长前缀匹配,这是因为网络前缀越长,其地址块就越小,因而路由就越具体。
综上:认为 B最合适。
参考文章:
VLSM 与CIDR的比较/什么是ciDR/什么是VLSM