Gabriel 发表于 2013-7-1 17:11:04

关于什么是CIDR?

网上搜到两篇文章,看了还是不太明白?哪位兄弟姐妹可以通俗讲讲。THX
这是其中一篇可能大家平时经常看到类似下面的IP地址:
192.168.0.0/24
很多人对后面的/24不是很明白。其实这个就是CIDR,中文是无类别域间路由选择
(CIDR:Classless and Subnet Address Extensions and Supernetting)
  无类别域间路由选择(CIDR),有时又称之为超网(Supernetting),是互联网中一种新的址方式,与传统的 A 类、B 类和 C 类寻址模式相比,CIDR 在 IP 地址分配方面更为高效。通常认为,互联网是 CIDR-ized 地址和传统的 A 类、B 类和 C 类地址的集合。基本上所有最新的路由器都极力支持 CIDR 和互联网权威机构,以鼓励所有用户采用 CIDR 模式。
目前很多Linux下面的程序、系统、路由都使用这种方式来划分IP。比如BIND就用的这种方式。
因为老忘记这个东西,所以这里做个备忘。
CIDR : netmask 缩短VLSM: netmask 增长
      使用CIDR聚合地址的方法与使用VLSM划分子网的方法类似。在使用VLSM划分子网时,将原来分类IP地址中的主机位按照需要划出一部分作为网络位使用;而在使用CIDR聚合地址时,则是将原来分类IP地址中的网络位划出一部分作为主机位使用。
      什么是VLSM?
      VLSM提出供了在一个主类(A、B、C类)网络内包含多个子网掩码的能力,以及对一个子网的再进行子网划分的能力。它的优点如下:
      1:对IP地址更为有效的使用-如果不采用VLSM,公司将被限制为在一个A、B、C类网络号内只能使用一个子网掩码;
      2:路由归纳的能力更强-VLSM允许在编址计划中有更多的体系分层,因此可以在路由表内进行更好的路由归纳。
      变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小.使用VLSM时,所采用的路由协议必须能够支持它。
       什么是路由归纳 ?
       在大型互连网络中,存在着成百上千的网络。在这环境中,一般不希望路由器在它的路由表中保存所有的这些路由。路由归纳(也被子称为路由聚合或超网supernetting)可以减少路由器必须保存的路由条目数量,因为它是在一个归纳地址中代表一系列网络号的一种方法。
       在大型 、复杂的网络中使用路由归纳的另一个优点是它可以使其它路由器免受网络拓朴结构变化的影响。只有在就用了一个正确的地址规划时,路由归纳才能可行和最有效,在子网环境中,当网络地址是以2的指数形式的连续区块时,路由归纳是最有效的。
      路由选择协议根据共享网络地址部分来归纳或聚合路由。无类别路由选择协议---OSPF和EIGRP-支持基于子网地址,包括VLSM编者按址的路由归纳。有类别路由选择协议- RIPv1和IGRP-自动地在有类别网络的边界上归纳路由。有类别路由选择协议不支持在任何其它比特边界上的路由归纳,而无类别路由选择协议支持在任何比特边界上的路由归纳。
因为路由表的条目少了,路由归纳可以减少对路由器内存的占用,减少路由选择协议造成的网络流量。
      网络中的路由归纳能够正确的工作,必须满足下面要求:
      1:多个IP地址必须共享相同的高位比特;
      2:路由选择协议必须根据32比特的IP地址和高达32比特的前缀长度来作出路由转发决定
      3:路由更新必须将前缀长度(子网掩码)与32比特的IP地址一起传输。
       无类别域间路由(CIDR)
       CIDR是开发用于帮助减缓IP地址和路由表增大问题的一项技术。CIDR(Classless Inter-Domain Routing,无类域间路由)的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。CIDR支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由通告。同时,CIDR有助于IPv4地址的充分利用。CIDR叫做无类域间路由,ISP常用这样的方法给客户分配地址,ISP提供给客户1个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28代表多少位为1,最大/32.但是你必须知道的1点是:不管是A类还是B类还是其他类地址,最大可用的只能为30/,即保留2位给主机位。

CIDR举例:
假设有一组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
KEY:A
  要求将192.168.8.0-192.168.15.0这组C类地址聚合为一个网络,我们先将C类地址的第三个八位组转换成二进制:



从上表中可以看出,只要将网络位的低三位划分出来作为主机位,这些C类地址就被聚合在一个网络之中。因此,聚合后的网络地址应该为192.168.8.0/21,正确答案为A。
主机地址只代表一个主机,只有网络地址才有聚合的意义。另外一篇链接:http://blog.sina.com.cn/s/blog_635e1a9e0100yk6h.html

河小马 发表于 2013-7-1 21:14:23

我觉得这个没有必要清楚。。只要知道

/29 8 个ip
/28 16 ip
/27 32 ip

上面说的缩短和伸长咱们基本用不到,那些是routing 用到的

fatiery 发表于 2013-7-2 00:56:23

本帖最后由 fatiery 于 2013-7-2 00:59 编辑

这是你少复制的部分:点分十进制 将第三个八位组转换成二进制
192.168.8.0   192.168.00001 000.0
192.168.9.0   192.168.00001 001.0
192.168.10.0 192.168.00001 010.0
192.168.11.0 192.168.00001 011.0
192.168.12.0 192.168.00001 100.0
192.168.13.0 192.168.00001 101.0
192.168.14.0 192.168.00001 110.0
192.168.15.0 192.168.00001 111.0 这谁写的文章啊,真心看不懂,而且居然还把十进制和二进制写在一起,这样可以的吗?
192.168.8.0——>11000000.10101000.00001000.00000000
192.168.9.0——>11000000.10101000.00001001.00000000
192.168.10.0——>11000000.10101000.00001010.00000000
192.168.11.0——>11000000.10101000.00001011.00000000
192.168.12.0——>11000000.10101000.00001100.00000000
192.168.13.0——>11000000.10101000.00001101.00000000
192.168.14.0——>11000000.10101000.00001110.00000000
192.168.15.0——>11000000.10101000.00001111.00000000从上表中可以看出,只要将网络位的低三位划分出来作为主机位,这些C类地址就被聚合在一个网络之中。11000000.10101000.00001XXX.00000000然后子网掩码就可以设置为:11111111.11111111.11111000.00000000,所以是/21 ???这是什么逻辑呢???

河小马 发表于 2013-7-2 01:26:51

fatiery 发表于 2013-7-2 00:56 static/image/common/back.gif
这是你少复制的部分:这谁写的文章啊,真心看不懂,而且居然还把十进制和二进制写在一起,这样可以的吗?然 ...

这文章写的不错

就是这个原理。。。

IPv4 network 必用的东西
页: [1]
查看完整版本: 关于什么是CIDR?