【计算机网络】CIDR无分类编址知识学习

文章目录

  • 1、CIDR引入的背景
  • 2、CIDR是什么?
    • [2.1 CIDR的2个特点](#2.1 CIDR的2个特点)
    • [2.2 CIDR斜线记法注意区分细节](#2.2 CIDR斜线记法注意区分细节)
    • [2.3 路由聚合or构成超网](#2.3 路由聚合or构成超网)
    • [2.4 CIDR里面的掩码(不是叫子网掩码)](#2.4 CIDR里面的掩码(不是叫子网掩码))
    • [2.5 CIDR几种等效的记法形式](#2.5 CIDR几种等效的记法形式)
    • [2.6 对于"网络前缀"不是8的整数倍时候,要多加注意](#2.6 对于”网络前缀“不是8的整数倍时候,要多加注意)
  • 3、CIDR实际应用举例

1、CIDR引入的背景

通过划分子网的方式一定程度上缓解了Internet网发展中遇到的困难,但是实际上还有3个问题需要迫切解决:

1、B类地址在1992年已分配近一半,眼看就要分完了。

2、Internet网主干网上的路由表中的项目数急剧增长。

3、整个IPv4的地址空间最终将要全部耗尽。

为了解决问题1和问题2,CIDR无分类域间路由选择应运而生。

问题3的解决由IPv6的推进来搞定。

2、CIDR是什么?

CIDR,英文全称:Classless Inter-Domain Routing,读音"sider",它是一种无分类编址的方法。

2.1 CIDR的2个特点

1、消除了传统的A类、B类和C类地址以及划分子网的概念 ,做到可以最大化使用IPv4的地址空间。CIDR使用各种长度的"网络前缀"来代替分类地址中的网络号和子网号,而不是像分类地址中只能使用1字节、2字节和3字节长的网络号。CIDR这种不使用"子网"的概念而使用"网络前缀",使得IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。记法格式:

IP地址 ::={<网络前缀>,<主机号>}

更加通用的记法是使用"斜线记法",它又称CIDR记法。格式:xxx.xxx.xxx.xxx/xxx

斜线后面的呢日on个是"网络前缀"所占的比特数,对应三级编址中子网掩码中比特1的个数。

举个例子:

128.14.46.34/20

表示在这个32比特位的IP地址中,前20比特位表示"网络前缀",而后面(32-20)=12比特位为"主机号"或者叫host-id。有时需要将点分十进制的IP地址写成二进制表示的地址才能看清楚"网络前缀"和"主机号"。上面的例子对应:

前20bit是100000000 00001110 0010

后面12bit是1110 00100010
2、CIDR将"网络前缀"都相同的连续的IP地址组成"CIDR地址块"。

一个CIDR地址块是由地址块的起始地址和地址块中地址数来定义的。CIDR地址块也可用斜线记法。

举个例子:

128.14.32.0/20

表示的地址块共有2^12个地址,因为斜线后面的数字20是代表"网络前缀"所占的bit位数。因此主机号的位数是32-20=12bit。且该地址块的起始地址是128.14.32.0。在不需要指出地址块的起始地址时候,可将这样的地址块简称"/20 地址块"。同时该举例的地址块的最小地址和最大地址是:

表示方法 最小地址块 最大地址块
点分十进制表示 128.14.32.0 128.14.47.255
二进制表示 1000000 00001110 00100000 00000000 10000000 00001110 00101111 11111111

*其中全0(对应128.14.32.0)和全1(128.14.47.255)者2个地址一般不使用,一般使用者2个地址之间范围内的地址。

2.2 CIDR斜线记法注意区分细节

当看到CIDR斜线记法的时候,需要注意区分一下,需要根据上下文确定清楚它是指1个单个的IP地址还是地址块。

2.3 路由聚合or构成超网

由于一个CIDR地址块可以表示很多地址,因此在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称为路由聚合(route aggregation),它使得路由表中的一个项目可以表示很多原来传统分类地址的路由。路由聚合也称为构成超网(supernetting)。

路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个因特网的性能。

2.4 CIDR里面的掩码(不是叫子网掩码)

CIDR已经不是子网的说法了,但是也使用"掩码"的说法。对于/20地址块,它的掩码是:

11111111 11111111 11110000 00000000 (前面20个连续的1) 斜线后面的数字就是掩码1的个数,也是"网络前缀"。

2.5 CIDR几种等效的记法形式

10.0.0.0/10等效的几种表示 记法 掩码:255.192.0.0
点分十进制 10.0.0.0/10
低位连续0省略 10/10
x代替 00001010 00xxxxxx xxxxxxxx xxxxxxxx
星号* 00001010 00*

2.6 对于"网络前缀"不是8的整数倍时候,要多加注意

例如:

CIDR前缀长度是13,/13 对应的点分十进制是255.248.0.0 包含的地址数是512K,包括的分类网络数 8个B类或2048个C类。

其中K表示的是2^10,这个包括的地址数是含全0和全1的主机号。

正因为有的CIDR地址块会包含多个C类地址,因而有了"构成超网"的名词来源。

3、CIDR实际应用举例

前面说了,使用CIDR的有点就是可以更加有效分配IPv4的地址空间,减少浪费,因此现在的因特网服务提供者ISP,都比较喜欢使用CIDR方式。非CIDR方式的地址分配,只能/8 /16或者/24为单位来分配,而CIDR方式的可以根据实际具体情况来分配,比如:/18 /22 /23 /24 /25 等方式。举例子:

从下面的表格例子中可以看出来,"网络前缀"数字越小,其地址块包括的地址数量越多。

因此,通过CIDR的"网路前缀"可以灵活控制每个单位的IP地址分配,而不用因为固化位数浪费IP地址。

单位 地址块 二进制表示 地址数
ISP 206.0.64.0/18 11001110.0000000.01* 16384
大学 206.0.68.0/22 11001110.000000.010001* 1024
一系 206.0.68.0/23 11001110.0000000.0100010* 512
二系 206.0.70.0/24 11001110.000000.01000110.* 256
三系 206.0.71.0/25 11001110.0000000.010001111.0* 128
四系 206.0.71.128/25 11001110.00000000.01000111.1* 128

此外:由于使用了CIDR这种方法,在查找路由表时候可能会匹配多个结果,这个时候会中匹配结果中选择具有最长"网络前缀"的路由,称之为:"最长前缀匹配"longest-prefix matching。越长匹配的会越具体,越准确。因此也称为"最佳匹配"和"最长匹配"。

还有个"使用二叉树线索查找路由表",用于解决、减少路由表的查找时间问题。有空还需要学习。

总的来说,通过学习可以看出来CIDR在解决IPv4地址资源枯竭问题帮助很大,的确很灵活。

相关推荐
YJlio28 分钟前
桌面工具学习笔记(11.4):BgInfo + Desktops + ZoomIt 组合拳——演示与排障环境一键到位
笔记·学习·自动化
玩具猴_wjh33 分钟前
12.15 学习笔记
笔记·学习
shenghaide_jiahu36 分钟前
数学分析简明教程——6.3
学习
三川69841 分钟前
AVL树的学习
数据结构·学习·算法
爱浦路 IPLOOK1 小时前
高校5G实验室助力人才培养的五种创新模式
计算机网络·5g·网络安全·可信计算技术
Da Da 泓1 小时前
多线程(四)【线程安全问题】
java·开发语言·jvm·学习·安全·多线程·线程安全问题
羽沢311 小时前
一些css属性学习
前端·css·学习
走在路上的菜鸟1 小时前
Android学Dart学习笔记第十四节 库和导库
android·笔记·学习·flutter
好奇龙猫1 小时前
【AI学习-comfyUI学习-第十七六节-SUPIR放大(XL模型专属)-各个部分学习-记录】
人工智能·学习
呼叫69451 小时前
Socket是什么?
计算机网络