【计算机网络】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地址资源枯竭问题帮助很大,的确很灵活。

相关推荐
南宫理的日知录5 分钟前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习
数据与后端架构提升之路1 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
一行11 小时前
电脑蓝屏debug学习
学习·电脑
星LZX1 小时前
WireShark入门学习笔记
笔记·学习·wireshark
阑梦清川1 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
qq_433099401 小时前
Isaac Gym学习笔记——概述
学习
秃头佛爷3 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
幺零九零零5 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
dayouziei5 小时前
java的类加载机制的学习
java·学习
dsywws9 小时前
Linux学习笔记之vim入门
linux·笔记·学习