无子网掩码路由 (CIDR) 是一种简化的寻址方案,其中 IP 地址后跟一个斜杠 (/) 和子网掩码位数。
例如,192.168.1.0/24 表示:
- 网络地址为 192.168.1.0
- 子网掩码位数为 24
子网掩码位数
子网掩码位数指定了 IP 地址中用于识别网络地址的位数。
子网掩码位数为 24 表示:
- IP 地址的前 24 位用于识别网络地址
- IP 地址的后 8 位用于识别主机地址
CIDR 的好处
CIDR 有以下好处:
- 路由聚合:CIDR 允许将多个子网聚合为单个路由条目,从而简化路由表。
- 寻址空间分配:CIDR 提供了一种更灵活的方式来分配寻址空间,因为它允许将 IP 地址分配给子网。
- 可扩展性:CIDR 允许网络管理员根据需要扩展或缩小网络,而无需重新分配 IP 地址。
CIDR 的示例
以下是一些 CIDR 表示法的示例:
- 192.168.1.0/24 - 一个拥有 254 个可用主机地址的子网
- 172.16.0.0/16 - 一个拥有 65534 个可用主机地址的子网
- 10.0.0.0/8 - 一个拥有 16777214 个可用主机地址的子网
结论
CIDR 是一个强大的工具,可用于简化网络寻址和路由。它提供了许多好处,包括路由聚合、寻址空间分配和可扩展性。
cidr划分方法有哪些
CIDR(无类域间路由)划分方法通常是通过确定网络前缀长度,以及与主网络掩码等长的子网掩码来划分的。这个过程会生成一组不同的IP地址,称为CIDR块或子网。这种方法被广泛应用于计算机网络中,以实现IP地址的灵活分配和管理。
CIDR划分的具体步骤如下:
1. 确定主网络:首先,你需要确定一个主网络,也就是你想要划分的原始网络。这个网络通常是一个IPv4地址,例如192.168.0.0。
2. 确定子网掩码:CIDR划分的一个关键步骤是确定子网掩码。子网掩码是一个与主网络掩码长度相同的二进制数字,用于标识网络的边界。例如,对于主网络192.168.0.0,其子网掩码可以是24位(即连续的1),因为每个子网都由前24位标识。
3. 计算CIDR块:CIDR块是由主网络和子网掩码组合而成的。CIDR块的形式为X.X.X.X/Mask,其中X表示主网络的IP地址,Mask表示子网掩码。例如,对于主网络192.168.0.0和子网掩码24位的CIDR块可能是192.168.0.0/24。
4. 分配CIDR块:CIDR块一旦生成,就可以被分配给需要IP地址的主机或网络。例如,如果你想在公司的网络中分配一个CIDR块为192.168.0.0/24的子网,你可以为每个工作站分配一个唯一的IP地址(例如192.168.0.1到192.168.0.254)。
需要注意的是,CIDR划分能够使IP地址资源得到更有效的利用,因为每个子网都被分配了一个唯一的IP地址范围,而不是整个主网络。同时,这种方法也使得路由更加简单和明了,因为每个子网都被映射到特定的网络前缀。
总的来说,CIDR划分是一种非常有用的方法,它能够大大简化IP地址的管理和路由过程,同时提高IP地址的利用率。
CIDR含义?路由汇聚/超网的意义及作用?
CIDR (Classless InterDomain Routing) 的意思是: 无类型域间选路。
CIDR基本思想是取消地址的分类结构,取而代之的是允许以可变长分界的方式分配网络数。
它支持路由聚合,可限制Internet主干路由器中必要路由信息的增长。
“无类型”的意思是现在的选路决策是基于整个32位IP地址的掩码操作。
而不管其IP地址是A类、B类或是C类。
这样能够将路由表中的许多表项归并(summarization)成更少的数目。
路由汇聚的含义是把一组路由汇聚为一个单个的路由广播。
路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。
这样将减少与每一个路由跳有关的延迟,因为由于减少了路由登录项数量,查询路由表的平均时间将加快。
由于路由登录项广播的数量减少,路由协议的开销也将显著减少。
随着整个网络(以及子网的数量)的扩大,路由汇聚将变得更加重要。
除了缩小路由表的尺寸之外,路由汇聚还能通过在网络连接断开之后限制路由通信的传播来提高网络的稳定性。
如果一台路由器仅向下一个下游的路由器发送汇聚的路由,那么,它就不会广播与汇聚的范围内包含的具体子网有关的变化。
例如,如果一台路由器仅向其临近的路由器广播汇聚路由地址172.16.0.0/16,那么,如果它检测到172.16.10.0/24局域网网段中的一个故障,它将不更新临近的路由器。
这个原则在网络拓扑结构发生变化之后能够显著减少任何不必要的路由更新。
实际上,这将加快汇聚,使网络更加稳定。
为了执行能够强制设置的路由汇聚,需要一个无类路由协议。
不过,无类路由协议本身还是不够的。
制定这个IP地址管理计划是必不可少的,这样就可以在网络的战略点实施没有冲突的路由汇聚。
超网(supernetting)是与子网类似的概念--IP地址根据子网掩码被分为独立的网络地址和主机地址。
但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络--超网。
答案补充 所谓的超网,就是把多个连续的网络号合并成一个很大的地址快,这个地址快能够代表了这些合并起来的所有网络! 超网主要用在路由器的路由信息通告上,没有汇总成地址快的话,路由器必须把你题目里这2000多个路由信息逐个通告给另一个路由,通过CIDR(无类域间路由选择)实现超网后,只需要通告一个路由信息就可以了。
大大减轻了路由器的负担。
还有简化了网络拓扑结构 所谓的路由信息,涉及到路由选择的问题,通告路由信息就是让别的路由器知道你这个路由器连接到了什么网络,那么以后有数据是要到达那个网络的话我就会把数据发到你这个路由器上,让你来交给那个网络 举个简单例子:192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 这四个网络,通过CIDR就可以汇总成一个超网192.168.0.0/22 注意:起始边界的网络号必须是2的倍数幂
计算机网络-网络层-超网
在一个划分子网的网络中可同时使用几个不同的子网掩码。
使用变长子网掩码VLSM(Variable Length Subnet Mask)可进一步提高IP地址资源的利用率。
在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是 无分类域间路由选择CIDR (Classless Inter-Domain Routing,CIDR的读音是“sider”)。
CIDR最主要的特点有两个: (I)CIDR把32位的IP地址划分为前后两个部分。
前面部分是“网络前缀”(network-prefix)(或简称为“前缀”),用来指明网络,后面部分则用来指明主机。
因此CIDR使IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。
其记法是: IP地址:={<网络前缀>,<主机号>} (4-3) CIDR还使用“斜线记法”(slash notation),或称为CIDR记法,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数。
(2)CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
例如,已知IP地址128.14.35.7/20是某CIDR地址块中的一个地址,现在把它写成二进制表示,其中的前20位是网络前缀,而后面的12位是主机号: 128.14.35.7/20= 1000 0000 0000 0000 0111 这个地址所在的地址块中的最小地址和最大地址可以很方便地得出:找出 地址掩码(斜线后面的数字个数是掩码地址1的个数, 20位)中1和0的交界处 发生在地址中的哪一个字节。
现在是在第三个字节,取后面12 都写成0是最小地址,写成1为最大地址。
最小地址:128.14.32.0 1000 0000 0000 0000 0000 最大地址:128.14.47. 0000 0000 1111 1111 以上这两个特殊地址的主机号是全0和全1的地址。
一般并不使用。
通常只使用在这两个特殊地址之间的地址。
这个地址块共有2^12个地址(2 的主机号位数次幂) 。
我们可以用地址块中的最小地址和网络前缀的位数指明这个地址块。
例如,上面的地址块可记为128.14.32.0/20。
在不需要指出地址块的起始地址时,也可把这样的地址块简称为“/20地址块”。
为了更方便地进行路由选择,CIDR使用32位的地址掩码(address mask)。
地址掩码由一串1和一串0组成,而1的个数就是网络前缀的长度。
虽然CIDR不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此CIDR使用的地址掩码也可继续称为子网掩码。
例如,/20地址块的地址掩码是:1111 1111 1111 1111 1111 0000 0000 0000(20个连续的1)。
斜线记法中,斜线后面的数字就是地址掩码中1的个数。
在“CIDR不使用子网”是指CIDR并没有在32位地址中指明若干位作为子网字段。
但分配到一个CIDR地址块的单位,仍然可以在本单位内根据需要划分出一些子网。
这些子网也都只有一个网络前缀和一台主机号字段,但子网的网络前缀比整个单位的网络前缀要长些。
例如,某单位分配到地址块/20,就可以再继续划分为8个子网(即需要从主机号中借用3位来划分子网)。
这时每一个子网的网络前缀就变成23位(原来的20位加上从主机号借来的3位),比该单位的网铭前缀多了3位。
由于一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。
这种地址的聚合常称为 路由聚合 (route aggregation),它使得路由表中的一个项目可以表示原来传统分类地址的很多个(例如上干个)路由, 路由聚合也称为构成超网 (supemetting)。
路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
CIDR记法有多种形式,例如,地址块10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。
另一种简化表示方法是在网络前缀的后面加一个星号*,如*意思是:在星号*之前是网络前缀,而星号◆表示P地址中的主机号,可以是任意值。
前缀位数不是8的整数倍时,需要进行简单的计算才能得到一些地址信息。
表47给出了最常用的CIDR地址块。
表中的K表示2^10=1024,网络前缀小于13或大于27都较少使用。
在“包含的地址数”中没有把全1和全0的主机号除外。
从表4-7可看出,每一个CIDR地址块中的地址数一定是2的整数次幂。
CIDR地址块多数可以包含多个C类地址(是一个C类地址的2”倍,n是整数),这就是“ 构成超网 ”这一名词的来源。
使用CIDR的一个好处就是可以更加有效地分配PV4的地址空间,可根据客户的需要分配适当大小的CIDR地址块。
假定某ISP已拥有地址块206.0.64.0/18(相当于有64个C类网络)。
现在某大学需要800个IP地址。
ISP可以给该大学分配一个地址块206.0.68.0/22,它包括1024(即2^10)个1P地址,相当于4个连续的C类(/24地址块),占该ISP拥有的地址空间的1/16。
这个大学然后可自由地对本校的各系分配地址块,而各系还可再划分本系的地址块。
从图4-25可以清楚地看出地址聚合的概念。
这个ISP共拥有64个C类网络。
如果不采用CIDR技术,则在与该SP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目,但采用地址聚合后,就只需用路由聚合后的一个项目206.0.64.0/18就能找到该ISP,同理,这个大学共有4个系,在1SP内的路由器的路由表中,也需使用206.0.68.022这个项目。
这个项目好比是大学的收发室。
凡寄给这个大学任何一个系的邮件,邮递员都不考虑大学各个系的地址,而是把这些邮件集中投递到大学的收发室,然后由大学的收发室再进行下一步的投递。
这样就减轻了v递员的工作量(相当于简化了路由表的查找)。
从图4-25下面表格中的二进制地址可看出,把四个系的路由聚合为大学的一个路由(即构成超网),是将网络前缀缩短。
网络前缀越短,其地址块所包含的地址数就越多。
而在三级结构的P地址中,划分子网是使网铬前缀变长。
在使用CIDR时,由于采用了网络前缀这种记法,IP地址由网络前缀和主机号这两个部分组成,因此在路由表中的项目也要有相应的改变。
这时, 每个项目由“网络前缀”和“下一跳地址”组成 。
但是在查找路由表时可能会得到不止一个匹配结果。
这样就带来一个间题:我们应当从这些匹配结果中选择哪一条路由呢? 答案是:应当从匹配结果中 选择具有最长网络前缀的路由 。
这叫做 最长前缀匹配 matching) ,这是因为网铬前缀越长,其地址块就越小,因而路由就越具体(more specific)。
最长前缀匹配又称为最长匹配或最佳匹配,为了说明最长前缀匹配的概念。
假定大学下属的四系希望IS把转发给四系的数据报直接发到四系面不要经过大学的路由器,但又不愿意改变自己使用的P地址块。
因此,在SP的路由器的路由表中,至少要有以下两个项目,即206.0.68.0/22(大学)和206.0.71.128/25(四系)。
现在假定ISP收到一个数据报,其目的IP地址为D=206.0.71.130。
把D分别和路由表中这两个项目的掩码逐位相“与”(AND操作)。
将所得的逐位AND操作的结果按顺序写在下面: D和 1111 1111 1111 1111 1111 11 00 0000 0000逐位相“与” = 206.0.68.0/22 匹配 D和 1111 1111 1111 1111 1111 1111 1 000 0000逐位相“与” = 206.0.71.128/25 匹配 不难看出,现在同一个IP地址D可以在路由表中找到两个目的网络(大学和四系)和该地址相匹配。
根据 最长前缀(1的位数)匹配的原理,应当选择后者,把收到的数据报转发到后一个目的网络(四系),即选择两个匹配的地址中更具体的一个。
从以上的讨论可以看出,如果IP地址的分配一开始就采用CIDR,那么我们可以按网络所在的地理位置来分配地址块,这样就可大大减少路由表中的路由项目。
例如,可以将世界划分为四大地区,每一地区分配一个CIDR地址块: 地址块194/7(194.0.0.0至.255,25)分配给欧洲: 地址块198/7(198.0.0.0至199.255.255,255)分配给北类洲 地址块2007(200.0.0.0至.255.255)分配给中美洲和南美洲: 地址块202/7(202.0.0.0至.255.255)分配给亚洲和太平洋地区, 上面的每一个地址块包含有钓3200万个地址,这种分配地址的方法就使得IP地址与地理位置相关联。
它的好处是可以大大压缩路由表中的项目数。
例如,凡是从中国发往北美的IP数据报(不管它是地址块198/7中的哪一个地址)都先送交位于美国的一个路由器,因此在路由表中使用一个项目就行了。
使用CIDR后,由于要寻找最长前缀匹配,使路由表的查找过程变得更加复杂了。
当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。
例如,连接路由器的线路的速率为10Gbit/s,而分组的平均长度为2000bit,那么路由器就应当平均每秒钟能够处理500万个分组(常记为5Mpps)。
或者说,路由器处理一个分组的平均时间只有200s(1ns=10^-9秒)。
因此,查找每一个路由所需的时间是非常短的。
对无分类编址的路由表的最简单的查找算法就是对所有可能的前缀进行循环查找。
例如,给定一个目的地址D。
对每一个可能的网络前缀长度M,路由器从D中提取前M个位成一个网络前缀,然后查找路由表中的网络前缀。
所找到的最长匹配就对应于要查找的路由。
这种最简单的算法的明显缺点就是查找的次数太多。
最坏的情况是路由表中没有这个路由。
在这种情况下,算法仍要进行32次(具有32位的网络前缀是一个特定主机路由)。
就是要找到一个传统的B类地址(即/16),也要查找16次。
对于经常使用的歌认路由,这种算法都要经历31次不必要的查找。
为了进行更加有效的查找,通常是把无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。
这里最常用的就是 二叉线索 (binary trie),它是一种特殊结构的树。
IP地址中从左到右的比特值决定了从根节点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。
图4-26用一个例子来说明二叉线索的结构。
图中给出了5个IP地址。
为了简化二叉线索的结构,可以先找出对应于每一个P地址的唯一前缀(unique prefix)。
所谓唯一前缀就是在表中所有的P地址中,该前缀是唯一的。
这样就可以用这些唯一前缀来构造二叉线索。
在进行查找时,只要能够和唯一前缀相匹配就行了。
从二叉线索的根节点自顶向下的深度最多有32层,每一层对应于IP地址中的一位。
一个IP地址存入二叉线索的规则很简单。
先检查IP地址左边的第一位,如为0,则第一层的节点就在根节点的左下方;如为1,则在右下方。
然后再检查地址的第二位,构造出第二层的节点。
依此类推,直到唯一前缀的最后一位。
由于唯一前缀一般都小于32位,因此用唯一前缀构造的二叉线索的深度往往不到32层。
图中较粗的折线就是前缀0101在这个二叉线索中的路径。
二叉线索中的小圆圈是中间节点,而在路径终点的小方框是叶节点(也叫做外部节点)。
每个叶节点代表一个唯一前缀。
节点之间的连线旁边的数字表示这条边在唯一前缀中对应的比特是0或1。
假定有一个IP地址是 1010 0000,需要查找该地址是否在此二叉线索中。
我们从最左边查起。
很容易发现,查到第三个字符(即前缀10后面的0)时,在二叉线索中就找不到匹配的,说明这个地址不在这个二叉线索中。
以上只是给出了二叉线索这种数据结构的用法,而并没有说明“与唯一前缀匹配”和“与网络前缀匹配”的关系。
显然,要将二叉线索用于路由表中,还必须使二叉线索中的每一个叶节点包含所对应的网络前缀和子网掩码。
当搜索到一个叶节点时,就必须 将寻找匹配的目的地址和该叶节点的子网掩码进行逐位“与”运算,看结果是否与对应的网络前缀相匹配 。
若匹配,就按下一跳的接口转发该分组。
否则,就丢弃该分组。
总之,二叉线索只是提供了一种可以快速在路由表中找到匹配的叶节点的机制。
但这是否和网络前缀匹配,还要和子网掩码进行一次逻辑与的运算。
“为了提高二叉线索的查找速度,广泛使用了各种 压缩技术 。
例如,在图4-26中的最后两个地址,其最前面的4位都是1011。
因此,只要一个地址的前4位是1011,就可以跳过前面4位(即压缩了4个层次)而直接从第5位开始比较。
这样就可以减少查找的时间。
当然,制作经过压缩的二叉线索需要更多的计算,但由于每一次查找路由表时都可以提高查找速度,因此这样做还是值得的。
”