CIDR(无类域间路由)与VLSM(可变长度子网掩码)的区别

CIDR和VLSM的介绍

CIDR

  • CIDR(Classless Inter-Domain Routing,无类域间路由)是一种用于对互联网协议(IP)地址进行聚合和分配的标准。CIDR的引入旨在解决IPv4地址空间的不足和低效分配的问题。
  • 在传统的IP地址规划中,IP地址空间被划分为不同的类别,如A类、B类和C类。这种划分方式在地址分配-方面存在很多浪费,因为每个类别都有固定数量的地址,不一定适用于所有的网络规模。CIDR的出现消除了这种固定类别的限制,允许更灵活和高效地分配IP地址。
  • CIDR采用了“前缀长度表示法”,将IP地址表示为“IP地址/前缀长度”,例如,192.168.1.0/24。这表示IP地址的前24位是网络部分,而剩余的8位是主机部分。CIDR允许更灵活地分配不同大小的地址块给不同规模的网络,从而更好地支持互联网的增长和地址资源的合理利用。
  • CIDR的使用使得路由表的管理更为简单和高效,减小了路由表的规模,提高了路由器的性能。CIDR是互联网工程任务组(IETF)制定的标准之一,广泛应用于互联网中的路由和地址分配。

VLSM

  • VLSM(Variable Length Subnet Mask,可变长度子网掩码)是一种网络设计技术,用于更有效地分配IP地址,并允许在网络中使用不同大小的子网。传统的子网划分方法中,所有子网都具有相同数量的主机,这可能导致地址浪费。VLSM允许网络管理员根据每个子网的需求分配不同数量的IP地址。
  • 在VLSM中,子网掩码的长度(即网络部分的位数)可以根据每个子网的需求而变化。这使得更大的子网可以用于拥有更多主机的区域,而较小的子网则可以用于拥有较少主机的区域,从而更灵活地利用IP地址空间。
  • 例如,考虑一个拥有地址范围192.168.1.0的网络,使用VLSM可以创建不同大小的子网,如:
    子网A:192.168.1.0/26,可容纳64个主机
    子网B:192.168.1.64/28,可容纳16个主机
    子网C:192.168.1.80/29,可容纳8个主机
    这种方法有效地减少了IP地址的浪费,因为每个子网的大小可以根据实际需求进行调整。
  • VLSM在大型网络中特别有用,因为它允许网络管理员更精细地规划和分配IP地址,确保网络的可扩展性和资源利用率。

区别

  1. 定义和应用范围:
    CIDR: 是一种广泛用于互联网路由的技术,它允许对IP地址进行聚合和汇总,以减小路由表的规模,提高路由器性能。
    VLSM: 主要应用于内部网络设计,特别是在大型组织或企业中。VLSM允许在一个网络中使用不同大小的子网,以更灵活地利用IP地址。

  2. 关注点:
    CIDR: 主要关注在互联网上对大量网络进行聚合和路由汇总,以减小路由表的大小。
    VLSM: 主要关注在局域网(LAN)内部,允许对内部网络进行更灵活的子网划分,以满足各个子网的不同需求。

  3. 应用领域:
    CIDR: 主要用于全球互联网的路由表优化,以提高整体网络的效率。
    VLSM: 主要用于内部网络的设计和管理,以确保有效地使用IP地址,满足不同子网对IP地址的需求。

4. 灵活性:
CIDR: 主要关注对大范围IP地址块的聚合和汇总,提高路由的聚合性。
VLSM: 主要关注在小范围内灵活地划分IP地址,以满足各个子网的具体需求。

综上所述,CIDR和VLSM都是与IP地址规划和子网划分有关的技术,但它们的应用场景和关注点不同。CIDR主要用于全球互联网路由表的优化,而VLSM主要用于内部网络的设计和管理,以提高内部子网的效率和资源利用率。

例题

应用类型:VLSM子网划分

如果将172.0.35.128/25划分3个子网,其中第一个子网能容纳55台主机,另外两个子网分别能容纳25台主机,要求网络地址从小到大依次分配给3个子网,这3个子网的掩码分别为255.255.255.192、255.255.255.224和255.255.255.224,可用的IP地址段分别为172.0.35.129 - 172.0.35.190、172.0.35.193 - 172.0.35.222和172.0.35.225 - 172.0.35.254。

  1. 确定主机位的位数

第一个子网: 2 n − 2 ≥ 55 2^n-2≥55 2n255,得 n = 6 n=6 n=6(此时可容纳62台主机,题目只需55台)
第二个和第三个子网: 2 n − 2 ≥ 25 2^n-2≥25 2n225,得 n = 5 n=5 n=5(此时可容纳30台主机,题目只需25台)

  1. 确定掩码
    将C类IP地址写成点分十进制:172.0.35.128->10101100.00000000.00100011.10000000
    掩码:11111111.11111111.11111111.10000000(点分十进制表示:255.255.255.128)

  2. 确定子网的IP地址范围

第一个子网:网络位24位,子网位2位,主机位6位
10101100.00000000.00100011.10000001~10101100.00000000.00100011.10111110(172.0.35.129 - 172.0.35.190)
子网掩码:11111111.11111111.11111111.11000000(点分十进制表示:255.255.255.192)

第二个子网:网络位24位,子网位3位,主机位5位
10101100.00000000.00100011.11000001~10101100.00000000.00100011.11011110(172.0.35.193 - 172.0.35.222)
子网掩码:11111111.11111111.11111111.11100000(点分十进制表示:255.255.255.224)

第三个子网:网络位24位,子网位3位,主机位5位
10101100.00000000.00100011.11100001~10101100.00000000.00100011.11111110(172.0.35.225- 172.0.35.254)
子网掩码:11111111.11111111.11111111.11100000(点分十进制表示:255.255.255.224)

应用类型:CIDR路由聚合

目的网络(注:掩码长度选可用最大值)输出端口
【61】10.15.0.80/30S0(直接连接)
【62】10.15.0.52/30S1(直接连接)
【63】10.15.0.72/29S0
【64】10.15.0.64/29S1
【65】10.15.32.0/22S0
【66】10.15.16.0/22S1

①路由器RG的S0端口是由IP地址10.15.0.81,10.15.0.82组成的微型网络,求网络号的方法是将两个IP地址转换成二进制,然后找相同位。不同位取0与相同的位一起组成的IP地址即为网络号。
10.15.0.81转换成二进制:00001010.00001111.00000000.01010001
10.15.0.82转换成二进制:00001010.00001111.00000000.01010010
——————>得网络号: 00001010.00001111.00000000.01010000
转换成十进制得:10.15.0.80,相同位有30位,因此子网掩码是/30。故【61】处应填入:10.15.0.80/30

②路由器RG的S1端口是由IP地址10.15.0.53,10.15.0.54组成的微型网络,求网络号的方法是将两个IP地址转换成二进制,然后找相同位。不同位取0与相同的位一起组成的IP地址即为网络号。
10.15.0.53转换成二进制:00001010.00001111.00000000.00110101
10.15.0.54转换成二进制:00001010.00001111.00000000.00110110
——————>得网络号: 00001010.00001111.00000000.00110100
转换成十进制得:10.15.0.52,相同位有30位,因此子网掩码是/30。故【62】处应填入:10.15.0.52/30

③第3行S0的网络应由IP地址10.15.0.73,10.15.0.74,10.15.0.75组成的微型网络,求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.0.73转换成二进制:00001010.00001111.00000000.01001001
10.15.0.74转换成二进制:00001010.00001111.00000000.01001010
10.15.0.75转换成二进制:00001010.00001111.00000000.01001011
——————>得网络号: 00001010.00001111.00000000.01001000
转换成十进制得:10.15.0.72。该网络有3个IP地址,2^n-2≥3,n的最小取值为3,即子网掩码最少是29(32-3=29)位才能满足该网络的最少需求。故【63】处应填入:10.15.0.72/29

④第4行S1的网络应由IP地址10.15.0.65,10.15.0.66,10.15.0.67组成的微型网络,求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.0.65转换成二进制:00001010.00001111.00000000.01000001
10.15.0.66转换成二进制:00001010.00001111.00000000.01000010
10.15.0.67转换成二进制:00001010.00001111.00000000.01000011
——————>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.0.64。该网络有3个IP地址,2^n-2≥3,n的最小取值为3,即子网掩码最少是29(32-3=29)位才能满足该网络的最少需求。故【64】处应应填入:10.15.0.64/29

⑤第5行的S0的网络应由RC的E0、E1端口所在的网络10.15.32.0/24、10.15.33.0/24与RD的E0、E1端口所在的网络10.15.34.0/24、10.15.35.0/24组成的微型网络。求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.32.0转换成二进制:00001010.00001111.00100000.00000000
10.15.33.0转换成二进制:00001010.00001111.00100001.00000000
10.15.34.0转换成二进制:00001010.00001111.00100010.00000000
10.15.35.0转换成二进制:00001010.00001111.00100011.00000000
——————>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.32.0,相同位有22,因此子网掩码是/22。故【65】处应填入:10.15.32.0/22

⑥第6行的S1的网络应由RA的E0、E1端口所在的网络10.15.17.0/24、10.15.16.0/24与RB的E0、E1端口所在的网络10.15.19.0/24、10.3.18.0/24组成的微型网络。求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.16.0转换成二进制:00001010.00001111.00010000.00000000
10.15.17.0转换成二进制:00001010.00001111.00010001.00000000
10.15.18.0转换成二进制:00001010.00001111.00010010.00000000
10.15.19.0转换成二进制:00001010.00001111.00010011.00000000
——————>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.16.0,相同位有22,因此子网掩码是/22。故【66】处应填入:10.15.16.0/22

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

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

相关文章

关键点检测之修改labelme标注的json中类别名

import json import os import shutil#source_dir表示数据扩增之后的文件夹路径,此时标注的是多分类的标签 #new_dir表示转化之后得到的二分类文件夹def to2class():#json存放路径source_dir r1#json保存路径new_dir r1for i in os.listdir(source_dir):if i.ends…

文本聚类——文本相似度(聚类算法基本概念)

一、文本相似度 1. 度量指标: 两个文本对象之间的相似度两个文本集合之间的相似度文本对象与集合之间的相似度 2. 样本间的相似度 基于距离的度量: 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 马氏距离 杰卡德距离 基于夹角余弦的度量 公式…

银行数字化转型导师坚鹏:银行数字化转型正在重塑您的工作

您好,我是银行数字化转型导师坚鹏。坚持知行果合一,赋能数字化转型!非常荣幸和您分享关于银行数字化转型如何影响老百姓工作的一些思考。 您知道吗?银行数字化转型给您的工作方式带来新变化、新趋势、新潮流啦!在这个…

Ubuntu 命令行安装 Clang 16或者Clang 17的过程

相关文章: How to install Clang 17 or 16 in Ubuntu 22.04 | 20.04 | UbuntuHandbook 在Ubuntu里面可以方便的用apt工具安装Clang 10, 11, 12, 13, 14 以及15。例如安装Clang 15只需要在Terminal中输入如下命令即可: sudo apt install clang-15 目前版本的Ubuntu如果想直接…

一分钟解决:vscode卡在“设置SSH主机:VS Code-正在本地下载 VS Code 服务器”

问题:vscode之前可正常使用,更新之后,连接服务器卡住了。 解决:从CMD或者你的终端连接服务器,进入vscode-server目录下,删除一些文件夹就行,然后使用vscode重新链接,它会自动下载新…

小程序生命周期

小程序的生命周期函数是一组在小程序运行过程中自动触发的函数,开发者可以在这些函数中编写相应的代码,实现对应的功能。以下是常用的小程序生命周期函数及其说明: onLaunch(options):小程序初始化时触发,只执行一次。…

系列七、函数

一、函数 1.1、概述 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码MySQL中已经为我们提供好了,我们要做的就是在合适的业务场景调用对应的函数完成相应的业务需求即可。 1.2、分类 按照业务分类,MySQL中…

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目

演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

Python将列表中的数据写入csv并正确解析出来

用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写…

计算机毕业设计 基于SpringBoot的物资管理信息系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

nginx_rtmp_module 之 ngx_rtmp_live_module模块

模块作用 直播模块代码 ngx_rtmp_live_module.c,主要作用是:当客户端推流或者拉流的时候,创建的rtmp session会加入到 live 模块的存储链表中。 模块配置命令 static ngx_command_t ngx_rtmp_live_commands[] {{ ngx_string("live&…

SQL规约

文章目录 前言SQL规约-索引注意字段类型利用覆盖索引利用有序性禁模糊 超过三个表禁止 joinSQL规约-count拒绝替代计算不重复行数当值全是NULL时 SQL规约-分页若 count 为 0优化超多分页场景 SQL规约-null值使用 ISNULL()来判断是否为 NULL 值NULL< >NULLNULLNULLNULL<…

vue3 插槽slot

插槽是子组件中的提供给父组件使用的一个占位符&#xff0c;用 <slot> 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的<slot> 元素。<slot> 元素是一个插槽出口 (slot outlet)&…

蓝桥杯专题-真题版含答案-【骑士走棋盘】【阿姆斯壮数】【Shell 排序法 - 改良的插入排序】【合并排序法】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

李宏毅机器学习2023课程记录(1)--课程介绍

李宏毅机器学习2023课程记录(1)–课程介绍 在这里&#xff0c;记录我最近听的李宏毅老师的机器学习课程的一些笔记和感想&#xff0c;进行归纳总结同时方便后续复习回顾。 注&#xff1a;这门课虽然叫做机器学习&#xff0c;但是李宏毅老师讲课主要以深度学习的技术&#xff0…

接口-幂等性问题

1.什么是接口的幂等性&#xff1f; 接口的幂等性就是一个接口无论是调用一次还是多次&#xff0c;最后的结果应该是一样的。2.为何需要保证接口的幂等性&#xff1f; 因为服务之间调用&#xff0c;可能存在超时。如果是成功或者失败&#xff0c;那么程序都是正常的。当出现超…

10 在Vue3中使用SCSS编写样式

概述 When using Vue components, the Vite compiler allows you to use almost any frontend templating language style. The easiest way to enable these expressive library plugins in your Vue templates is to install them when you initialize your project, or by …

在Node.js中MongoDB的连接查询操作

本文主要介绍在Node.js中MongoDB的连接查询操作。 目录 Node.js中MongoDB的连接查询操作使用原生的mongodb驱动程序进行连接查询操作使用Mongoose库进行连接查询操作注意项 Node.js中MongoDB的连接查询操作 在Node.js中使用MongoDB进行连接操作&#xff0c;可以使用原生的mong…

条款27:尽量少做转型动作

1.前言 C规则的设计目标之一是保证“类型错误”绝对不可能发生。理论上如果你的程序很顺利的通过编译&#xff0c;就表示它并不企图在任何对象身上执行任何不安全&#xff0c;无意义的操作。这是个极具价值的保证&#xff0c;可别草率的放弃它。 不幸的是&#xff0c;转型&am…

AOP切入点表达式和使用连接点获取匹配到的方法信息

目录 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?) 第二种 annotation(com.itheima.anno.Log 首先&#xff0c;自定义一个注解&#xff0c;可以自己随意命名&#xff1a; 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名…