CIDR概述及其地址块计算

2023-11-23 08:59
文章标签 计算 概述 地址 cidr

本文主要是介绍CIDR概述及其地址块计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CIDR概述及其地址块计算

CIDR概述
在这里插入图片描述

英文:Classless Inter-Domain Routing,中文是:无分类域间路由选择。一般叫做无分类编址。

设计目的:解决路由表项目过多过大的问题。

表示法:{<网络前缀>,<主机号>} / 网络前缀所占位数

CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块。例如这个IP:128.14.35.7/20

128.14.35.7/20:00000000 00001110 00100011 00000111

我们可以看出来前20位是网络号,后12位是主机号,因此我们还可以计算出这个CIDR地址块的最小地址和最大地址:

最小地址:128.14.32.0 = 10000000 00001110 00100000 00000000

最大地址:128.14.47.255 = 10000000 00001110 00101111 11111111

子网掩码:255.255.240.0 = 11111111 11111111 11110000 00000000

因此这个CIDR地址块有(47-32+1)*256=4096个地址,包含全0和全1.

CIDR子网划分

CIDR子网划分与我们之前学习的子网划分方式不同:比如网络号向主机号借走2位时可以划分成4个子网,不用减2。

例子:某个机构拥有一个大的CIDR地址块,即206.0.64.0/18,现在某个高校需要申请一个较大的CIDR地址块以供学校使用,学校内部又分为4个系,由于每个系的人数不一样,所以要给人数较多的系分配较多的IP地址,人数较少的系分配较少的IP地址,现在采用以下的分配方案:

机构分配给该高校一个CIDR地址块:206.0.68.0/22,然后该高校内部的分配方案如下:

一系:206.0.68.0/23,一系内部又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网。
二系:206.0.70.0/24,二系内部又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网。
三系:206.0.71.0/25,三系内部又分为206.0.71.0/26和206.0.71.64/26两个子网。
四系:206.0.71.128/25,四系内部又分为206.0.71.128/26和206.0.71.192/26两个子网。请分析以上方案划分的具体细节。第一,这个机构拥有的地址块是206.0.64.0/18 =206.0.0100 0000.0000 0000/18,网络前缀是18位,所以其最小地址是:206.0.64.0/18       = 206.0.0100 0000.0000 0000/18
最大地址是:206.0.127.255/18 = 206.0.0111 1111.1111 1111/18
子网掩码是:255.255.192.0/18 = 1111 1111.1111 1111.1100 0000.0000 0000/18
拥有的地址数:(127-64+1)*(255-0+1)=16384然后,我们来看一下这个机构给该高校分配的CIDR地址块,即206.0.68.0/22,由此可以看出来网络前缀由18增加到了22,所以该机构相当于将其CIDR地址块划分成了16个子块即子网,然后给该高校了第二个子网,即206.0.0100 0100.0/22,黑色加粗的部分是原来的网络前缀,后面红色部分类似于前面介绍的子网号,由于是4位,所以可以从0000~1111,共16个子网,0001自然就是第二个子网。第二,既然高校拥有了机构的第二个子网的CIDR地址块206.0.68.0/22 = 206.0.0100 0100.0/22,其网络前缀是22位,所以其最小地址是:206.0.68.0/22       = 206.0.0100 0100.0000 0000/22
最大地址是:206.0.71.255/22   = 206.0.0100 0111.1111 1111/22
子网掩码是:255.255.252.0/22 = 1111 1111.1111 1111.1111 1100.0000 0000/22
拥有的地址数:(71-68+1)*(255-0+1)=1024然后该高校内部又对这个CIDR地址块进行了划分,进一步得到了高校内部的子网,紧接着我们来看看一系的CIDR地址块是怎么得到的。第三,一系的CIDR地址块是206.0.68.0/23,可以看出来其网络前缀相对于高校的CIDR地址块来说增加了1位,说明高校首先将其CIDR地址块划分成了2个子网,其中一个给了一系。那么这两个子网分别是:一系的:206.0.68.0/23 = 206.0.0100 0100.0/23和剩余的(记为余1):206.0.70.0/23 =206.0.0100 0110.0/23,注意其中的红色部分就是新增的这一位,用来标志两个子网。那么,一系的
最小地址是:206.0.68.0/23       = 206.0.0100 0100.0000 0000/23
最大地址是:206.0.69.255/23   = 206.0.0100 0101.1111 1111/23
子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
拥有的地址数:(69-68+1)*(255-0+1)=512余1的
最小地址是:206.0.70.0/23       = 206.0.0100 0110.0000 0000/23
最大地址是:206.0.71.255/23   = 206.0.0100 0111.1111 1111/23
子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
拥有的地址数:(71-70+1)*(255-0+1)=512现在,一系的CIDR地址块已经很明确,然后一系内部又进行了划分,即又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网,网络前缀从23位变成了25位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到。第四,一系明确以后,就要考虑其他系的划分,可以看到二系分配到的CIDR地址块是206.0.70.0/24,可以看出来其网络前缀相对于余1的CIDR地址块来说增加了1位,说明余1的CIDR地址块被划分成了2个子网,其中一个给了二系。那么这两个子网分别是:二系的:206.0.70.0/24 = 206.0.0100 0110.0/24和剩余的(记为余2):206.0.71.0/24 =206.0.0100 0111.0/24,注意其中的红色部分就是新增的这一位,用来标志两个子网。那么,二系的
最小地址是:206.0.70.0/24       = 206.0.0100 0110.0000 0000/24
最大地址是:206.0.70.255/24   = 206.0.0100 0110.1111 1111/24
子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
拥有的地址数:(70-70+1)*(255-0+1)=256余2的
最小地址是:206.0.71.0/24       = 206.0.0100 0111.0000 0000/24
最大地址是:206.0.71.255/24   = 206.0.0100 0111.1111 1111/24
子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
拥有的地址数:(70-70+1)*(255-0+1)=256现在,二系的CIDR地址块已经很明确,然后二系内部又进行了划分,即又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网,网络前缀从24位变成了26位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到。第五,二系明确以后,就要考虑其他系的划分,可以看到三系分配到的CIDR地址块是206.0.71.0/25,而四系分配到的CIDR地址块是206.0.71.128/25,可以看出来其网络前缀相对于余2的CIDR地址块来说增加了1位,说明余2的CIDR地址块被划分成了2个子网,其中一个给了三系,另外一个给了四系。那么这两个子网分别是:三系的:206.0.71.0/25 = 206.0.71.0000 0000/25和四系的:206.0.71.128/25 = 206.0.71.1000 0000/25,注意其中的红色部分就是新增的这一位,用来标志两个子网。那么,三系的
最小地址是:206.0.71.0/25       = 206.0.0100 0100.0000 0000/25
最大地址是:206.0.71.127/25   = 206.0.0100 0100.0111 1111/25
子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
拥有的地址数:(71-71+1)*(127-0+1)=128四系的
最小地址是:206.0.71.128/25   = 206.0.0100 0111.1000 0000/25
最大地址是:206.0.71.255/25   = 206.0.0100 0111.1111 1111/25
子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
拥有的地址数:(71-71+1)*(255-128+1)=128现在,三系和四系的CIDR地址块已经很明确,到目前为止,该高校已经将所有的CIDR地址块分配给了四个系,一系有512个地址,二系有256个地址,三系和四系各有128个地址。然后三系内部又进行了划分,即又分为206.0.71.0/26和206.0.71.64/26两个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,同时,四系内部也又进行了划分,即又分为206.0.71.128/26和206.0.71.192/26两个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,三系和四系各自的两个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议大家可以自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这些子网的细节。

最后我们给出本题的图画
在这里插入图片描述

这篇关于CIDR概述及其地址块计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416791

相关文章

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。