5.2.9 无分类编址和CIDR

news2024/11/27 0:35:41

5.2.9 无分类编址和CIDR

前面我们知道,为了更加合理的使用IP地址,采用了子网划分的方法,事实证明子网划分这种网络编址,能够节省IP网络地址,但是到了1993年的时候因特网的增长速度还是让人们感觉到了这些技术它无法阻止地址空间的耗尽,此外因特网还将面临B类网络地址空间的耗尽以及路由信息过量等问题。

  • 因缺乏适合于中等大小组织所需要的网络类型而导致B类地址消耗的过快,毕竟我们知道一个C类地址他仅仅能够容纳254台主机。所以说一般单位更愿意申请B类地址。
  • 然而很少有单位有六万多台主机,即使采用子网划分的方法,对B类地址也未能得到充分利用
  • 随着大量网络前缀的分配,路由器的路由表的大小和增长速率也即将使当时的软件无法进行有效管理

基于以上三个原因就定义了新版本的IP协议,也就是IPv6并且还发明了一种称为一种无分类域间路由选择(Classless Inter-Domain Routing)简称CIDR的一种新技术作为新版本的IPv6在被正式采纳前的一个过渡方案。1993年发布的关于CIDR的RFC文档,是RFC1517~RFC1520,使用CIDR可以更加有效的分配IPv4的地址空间,此外还可以减缓路由表的增长速度和降低对新的IP网络地址需求的增长速度,使得因特网在一定的时期内仍然能够持续增长并且高速的运转,CIDR一直沿用至今。

一、CIDR与传统分类地址比较

  • 相同点

    采用无分类编址机制与分类编址相同的是仍然将地址分成前缀和后缀两个部分

    CIDR与我们学习的子网编址相类似

    • 使用了32比特位的掩码来表示前缀和后缀的边界
    • 掩码中连续1的个数:网络前缀的长度
    • 掩码中连续0的个数:主机号部分的长度
  • 不同点

    不同之处在于,网络前缀的长度比较灵活,前缀的长度不仅仅只有A类地址的8个比特,B类地址的16个比特,C类地址的24比特,而是可以从1~32之间取任意值,这样做的好处就在于可以根据用户的需要,选择合适的网络前缀,因而可以更加有效的分配IPv4的地址空间。

    CIDR是两级地址结构

    子网划分是三级地址结构

    CIDR中的网络前缀等同于子网划分中的网络号和子网号

    在采用无分类编址的时候把尚未分配的分类的IP地址划分为不同大小的地址块,任何一个单位都可以像Internet服务商(ISP)申请到适合自己需要的地址块。比如一个单位申请到了一个202.119.230.0/24(斜线后面的24是网络前缀的长度),因为前缀的长度是24位,这其实就是一个传统的C类网络,在这个地址块中所有的高24比特位都是一样的如图

    在这里插入图片描述

    只有主机号部分也就是全零一直到全一,所以说该地址块中地址个数也就是 2 8 2^8 28个地址(因为主机号部分的长度是32-24=8位),也就是说每个CIDR地址块的地址个数都是2的整数次幂,只不过主机号部分全0和全1的地址依然作为网络地址和网络内的广播地址一般不分配给主机使用。

例:128.14.32.0/20表示的地址块共有多少个地址?最大和最小的地址分别是什么?

分析,因为是一个/20的地址块,。所以主机号部分就有32-20=12位,所以地址个数就有 2 12 = 4096 2^{12}=4096 212=4096个地址。在这4096个地址块中所有的IP地址前20位都是一样的,后面的12位就表示主机地址,最小地址也就是主机号部分全0,即128.14.32.0最大地址也就是主机号部分全1,即128.14.47.255。这里还需要注意的是在IP地址中在第三组八位中高四位是网络前缀的部分,后四位是主机号部分。

这里我们再次强调,尽管每个地址块中的地址数量是2的整数次幂,但是全零和全1的地址是不分配的,也就是说每个CIDR地址块中可用的IP地址个数是要减去2的。

在实际的应用中,比如地址块58.0.0.0/7被IANA(因特网编号管理局)分配给了亚太地区网络信息中心,由他再把地址块划分为若干个地址块分配给一些大型的Internet服务提供商(ISP),大型的ISP根据用户的需求划分成更小的地址块分配给单位或者小型ISP。到了单位再将拥有的地址块根据需要分成大小相等或者说大小不等的地址块分配个各个物理网络。这里我们思考究竟是如何根据用户需求来分配地址块呢?这里我们通过一个示例来理解这个分配的过程。

例:假设某ISP拥有CIDR地址块202.192.0.0/16.先后有四所大学(ABCD)向该ISP分别申请大小为4000、2000、4000、8000个IP地址的地址块,试为ISP给这四所大学分配地址块。

首先我们这里要明确,四所大学是按照先后顺序来申请地址块的,所以说我们就按照现申请的先分配的原则

分析:

  1. A大学: 2 12 = 4096 > 4000 2^{12}=4096>4000 212=4096>4000,所以地址块中主机号部分是12位。所以说A大学申请到的地址块的网络前缀的长度=32-12=20位,该地址块的起始地址就是该ISP拥有的地址块的起始地址,所以A大学分配到的地址块是202.192.0.0/20,起始地址就是202.192.0.0,结束地址是202.192.15.255也就是说该ISP把自己拥有的 2 16 2^{16} 216的IP地址中的最前面的4096个IP地址分配给了A大学。

  2. B大学: 2 11 = 2048 > 2000 2^{11}=2048>2000 211=2048>2000,网络前缀的长度=32-11=21位,这里我们要思考的是该大学分配到的地址块的起始地址是什么呢?这里我们要注意**该地址块的21位前缀,肯定是不能和A大学重复,否则会造成一个地址分配给两个单位的情况。**所以我们需要把网络前缀部分转换成二进制,考虑到对前16位没有影响,所以说主要是第17到第21位不能和A大学重复,因为A大学第20位已经将0和1用去,所以说B大学只能使用十九位上的比特位,所以说B大学的起始地址就是202.192.00010000.0/21也就是202.192.16.0/21,结束地址也就是:202.192.00010111.255也就是202.192.23.255。

  3. C大学: 2 12 = 4096 > 4000 2^{12}=4096>4000 212=4096>4000,网络前缀长度=32-12=20位,那么C大学的起始地址是多少呢?很多人会想当然的认为因为B大学的结束地址是202.192.23.255,所以C大学的起始地址就应该是202.192.24.0,事实上并非如此因为24=00011000B,也就意味着如果选202.192.24.0作为起始地址的话,网络前缀至少是16+5=21位,主机号部分就只剩下32-21=11位, 2 11 = 2048 < 4000 2^{11}=2048<4000 211=2048<4000,不能满足要求。因此C大学的网络地址块的起始位置不能是202.192.24.0。

    同样的它的前20位网络前缀不能和其他两所大学重复,那么第1到16位依然是202.192,第十七到第二十位我们知道A大学是0000,而B大学是0001,所以C大学只能选0010了。所以C大学分配的地址块的起始地址就是202.192.00100000.0/20也就是202.192.32.0/20结束地址就是202.192.00101111.255即202.192.47.255。

  4. D大学: 2 13 = 8192 > 8000 2^{13}=8192>8000 213=8192>8000,网络前缀的长度=32-13=19位。前十九位不能和ABC重复,如表所示第17到第十九位000和001都用过了,所以只能是010

    A大学起始地址:202.192.00000000.0/20202.192.0.0/20
    B大学起始地址:202.192.00010000.0/21202.192.16.0/21
    C大学起始地址:202.192.00100000.0/20202.192.32.0/20
    D大学起始地址:202.192.01000000.0/19202.192.64.0/19

    D大学的结束地址也就是主机位部分全1,也就是202.192.01011111.255,也就是202.192.95.255。

这里需要注意的是,在分配地址块的时候,我们最容易犯得错误是认为应该把地址连续分配,中间不能断开

单位地址块最大地址
A大学202.192.0.0/20202.192.15.255
B大学202.192.16.0/21202.192.23.255
C大学202.192.32.0/20202.192.47.255
D大学202.192.64.0/19202.192.95.255

我们从最终分配的表格中可以看出其实B大学和C大学之间是有2048个地址空闲没有被分配的。C大学和D大学之间是有4096个IP地址没有分配,因为连续分的情况下是不能够满足用户需求的。当然如果再有单位申请两千个以内或者四千个地址块时,那对于运营商或者服务提供商SP来说再把这些地址块分配给这些单位就可以了。

以上就是无分类编址的相关内容以及如何分配CIDR地址块。其实采用无分类编址的最大好处就在于构成超网实现路由聚合,这些内容我们在IP分组的转发中学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动信道的多普勒扩展及相干时间

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 移动信道的多普勒扩…

深眸科技专注机器视觉的研发与创新,开启工业自动化、智能化进程

在智能制造、工业效能提升的社会背景之下&#xff0c;中国制造2025战略持续落实&#xff0c;工业制造业转型升级加速&#xff0c;作为人工智能领域重要技术之一的机器视觉&#xff0c;凭借着高精度、高准确度等优势检测能力&#xff0c;不断渗透进工业领域&#xff0c;并呈现出…

全网最全,性能测试-全链路压测问题总结,一篇概全...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 全链路压测可以给…

JavaEE(系列21) -- 传输层协议UDP 和 TCP

目录 1. 应用层和传输层的联系 2. UDP协议 2.1 UDP简介 2.2 UDP格式 2.2.1 目的端口和源端口 2.2.2 报文长度 2.2.3 校验和 3. TCP协议 3.1 TCP简介 3.2 TCP格式 3.2.1 数据偏移和选项(option) 3.2.2 保留项 3.2.3 6位控制位 3.2.4 32位序号和32位确认序号…

华为OD机试真题 Java 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

一、题目描述 有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数和和),求窗口滑动产生的所有窗口和的最大值。 二、输入描述 第一行输入一个正整数N,表示整数个数。(0<N<…

WebGPU 纹理与纹理类型基础 (D3D对纹理的描述比较详细)

纹理与纹理类型&#xff0c;D3D 官方文档描述的比较详细&#xff1a; 介绍 Direct3D 11 纹理 纹理资源是一个结构化的数据集合&#xff0c;用纹素的形式存储。纹素texel代表纹理的最小单位&#xff0c;可以被管线读写。与缓冲区不同&#xff0c;纹理可以在着色器中被纹理采…

中国电源管理芯片上市企业研发投入占比超10%,上海贝岭产品品类持续增加

近年来&#xff0c;中国电源管理芯片市场规模一直保持增长趋势&#xff0c;尽管中国电源管理芯片厂商起步较晚&#xff0c;但是在政策扶持背景下&#xff0c;集成电路国产产品对进口产品的替代效应明显&#xff0c;中国集成电路产品的品质和市场认可度日渐提升&#xff0c;部分…

而立之年——回顾我的渗透测试之路

为什么要转行 因为混得不好。 在成为渗透测试工程师之前&#xff0c;我干过很多工作。由于上学的时候天天打没戏摸鱼啥也不会&#xff0c;我的工作基本上都是体力活。包括但不限于&#xff1a;工厂普工、销售&#xff08;没有干销售的才能&#xff09;、搬运工、摆地摊等&…

JMeter性能测试系列一初识JMeter

1.JMeter介绍 Apache组织的Stefano Mazzocchi是JMeter项目的创始人。编写JMeter最初的目的是为了测试server的性能(后期被Tomcat替代)。随后&#xff0c;JMeter在Apache组织内部开始被其他项目所使用&#xff0c;并最终推广出来&#xff0c;成为独立的软件项目并不断更新&…

sa-token多端登陆实现,PC,APP登陆分别设置token过期时间

sa-token多端登陆实现&#xff0c;PC&#xff0c;APP登陆分别设置token过期时间 Sa-Token 介绍 Sa-Token 是一个轻量级 Java 权限认证框架&#xff0c;主要解决&#xff1a;登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。…

hive on spark亲自编译,详细教程

hive on spark 进行编译操作 软件 hive 2.3.6 spark 2.0.0版本 hadoop-2.7.6版本 操作流程&#xff1a; hadoop-2.7.6 1、安装hadoop不说了。简单。 spark-2.0.0 2、下载spark-2.0.0的源码. https://archive.apache.org/dist/spark/spark-2.1.0/ 这个下载spark各个版本…

Logback自定义DBAppender保存系统日志到数据库

在系统中采用了spring boot logback&#xff0b;slf4j的日志框架&#xff0c;将系统日志记录到数据库。 相关参考来源&#xff1a; 官方文档-DBAppender Logback输出日志到自定义MySQL数据库&#xff08;重写DBAppender&#xff09; logback日志框架中filter的使用 1. 添加依…

【新版】系统架构设计师 - 系统配置与性能评价

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 系统配置与性能评价考点摘要系统性能概述性能指标性能调整阿姆达尔解决方案性能评价方法 架构 - 系统配置与性能评价 考点摘要 性能指标&#xff08;★★&#xff09;阿姆达尔解决方案&#xff…

java SSM 教师管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教师管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和 数据库&#xff0c;系统主要采用B…

工业深度学习软件 从标注 训练 到测试 再到现场部署

工业深度学习软件 从标注 训练 到测试 再到现场部署 M7000技术规格表 Producer Specification 影像系统 Imaging Sys 适配相机 supported cameras 支持海康&#xff0c;迈德威视&#xff0c;度申2D相机&#xff08;可根据需求增加适配其他厂家相机&#xff09; Support for Hi…

22AP30 H.265 编解码处理器

22AP30 H.265 编解码处理器 主要特点 SVP&#xff08;Smart Vision Processing&#xff09;  图像分析工具推理引擎&#xff08;NNIE&#xff09; − 支持多种图像分析工具 − 1.2Tops运算性能 处理器内核  ARM Cortex A53 四核1.15GHz − 32KB L1 I-Cache&#xff0c;32KB…

小程序页面事件与wxs脚本

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 小程序 也可获取。 文章目录 小程序视图与逻辑页面导航声明式导航编程式导航导航传参 页面事件下拉刷新事件上拉触底事件上拉触底案例 自定义编…

一级建造师执业资格考试--工程管理--速学36记--联想法

第一记&#xff1a;项目管理 第二记&#xff1a;项目管理的核心 第三记&#xff1a;项目总承包方的工作程序 第四记&#xff1a;项目质量控制体系建立 第五记&#xff1a;项目质量控制体系运行 第六记&#xff1a;施工过程质量验收不合格的处理方法 第七记&#xff1a;装配式混…

33:避免遮掩继承而来的名称

我们都知道在下面的代码中&#xff1a; int x;//global变量 void someFunc() {double x;//local变量cin >> x;//读一个新值赋予local变量x } 上述读取数据的语句指涉的是local变量x&#xff0c;而不是global变量x&#xff0c;因为内层作用域的名称会遮掩外围作用域的名…

提示词工程让儿童编程轻而易举

编写长长的代码时常令人头疼。尤其是小朋友&#xff0c;打字不快&#xff0c;但想象力丰富。 现在借助chatgpt。 一切变得超级简单。 1. https://github.com/roocell/gptCozmo 2. https://github.com/Bhood23/CozmoGPT while True:from pyChatGPT import ChatGPTimport speec…