【网络技术】什么是CIDR

news2025/1/16 17:47:09

 序言

世界上最幸福的事之一,莫过于经过一番努力后,所有东西正慢慢变成你想要的样子。

文章标记颜色说明:

  • 黄色:重要标题
  • 红色:用来标记结论
  • 绿色:用来标记一级论点
  • 蓝色:用来标记二级论点 

1 基础介绍

CIDR(Classless Inter-Domain Routing,无类域间路由选择是一种IP地址分配和路由选择技术,它相对于传统的IP地址分类方式更加灵活和高效。

在CIDR中,IP地址被划分为网络前缀和主机标识符两部分

  • 网络前缀:用于标识网络地址
  • 主机标识符:用于标识主机地址

CIDR使用斜线符号(/)来表示网络前缀的长度,

例如,192.168.1.0/24表示网络前缀为192.168.1子网掩码为255.255.255.0可以分配256个主机地址

CIDR的优点在于它可以更好地支持可变长度子网掩码(VLSM)和路由聚合等功能,从而提高了网络资源的利用率和路由选择的效率

传统的IP地址分类方式将所有IP地址分为A、B、C、D、E五类,每一类地址只能分配固定数量的主机地址,导致了地址浪费和不足的问题。

CIDR则可以根据实际需求进行IP地址分配,避免了地址浪费和不足的问题

CIDR还可以更好地支持路由聚合,使网络路由表更加简洁和高效。

路由聚合是指将多个网络地址聚合为一个更大的网络地址,从而减少路由表的条目数和路由选择的复杂度。

CIDR可以通过将多个相邻的网络地址聚合为一个更大的网络地址,从而实现路由聚合的功能。

总之,CIDR是一种更加灵活和高效的IP地址分配和路由选择技术,它能够更好地满足不同网络环境的需求,提高网络资源的利用率和路由选择的效率。

下面我们来看下它的优缺点以及使用场景吧

2 CIDR优缺点

CIDR的优点

CIDR(Classless Inter-Domain Routing)它的优点包括:

  1. 提高了IP地址的利用率:CIDR将原来的网络地址分配方式按照子网掩码的长度进行划分,这样可以根据实际需要分配更精细的IP地址,从而提高IP地址的利用率。

  2. 节省了路由表的存储空间:CIDR采用聚合路由的思想,将相邻的地址段聚合成一个路由,这样可以减少路由表的存储空间,降低路由器的负担,提高路由效率

  3. 灵活性强:CIDR可以根据实际需要划分子网,使得网络规划更加灵活。

  4. 易于管理:CIDR可以减少网络中的广播,降低网络的拥塞,使得网络管理更加简单。

CIDR的缺点 

CIDR的缺点:

  1. 需要更高的技术水平:CIDR需要更高的技术水平来进行设计和管理,需要了解如何划分子网、如何设置子网掩码等知识。

  2. 可能会增加网络延迟:CIDR需要对路由器进行更加精细的控制,可能会增加网络延迟。

  3. 与旧协议不兼容:CIDR需要支持CIDR的协议才能进行使用,与旧协议不兼容。

3 CIDR使用场景

CIDR主要应用于IP地址的分配和路由选择,以下是CIDR使用场景的几个例子:

  1. 大型企业网络:对于大型企业网络,CIDR可以将IP地址按照子网掩码的长度进行划分,使得网络规划更加灵活,同时也可以减少网络中的广播,降低网络的拥塞,从而使得网络管理更加简单。

  2. 互联网服务提供商(ISP):对于ISP来说,CIDR可以减少路由表的存储空间,降低路由器的负担,提高路由效率,同时也可以减少网络中的广播,降低网络的拥塞,从而提高网络的可靠性和性能。

  3. 多租户云环境:对于多租户云环境来说,CIDR可以将IP地址按照租户进行划分,从而实现不同租户之间的网络隔离,保证网络的安全性和隐私性。

  4. IPv6网络:对于IPv6网络来说,CIDR是默认的地址分配方式,可以将IPv6地址按照子网掩码的长度进行划分,从而提高IPv6地址的利用率,减少IPv6地址的浪费。

总之,CIDR是一种灵活、高效的网络地址分配和路由选择技术,适用于各种规模的网络环境。

4 CIDR使用示例

Python 示例

CIDR是一种地址分配和路由选择技术,其使用是通过对IP地址和子网掩码进行计算来实现的

以下是一个使用Python实现CIDR计算的示例代码,可以用于计算IP地址在CIDR地址段中的子网掩码、网络地址和广播地址等信息:

import ipaddress

cidr = '192.168.1.0/24'

# 解析CIDR地址
network = ipaddress.ip_network(cidr)

# 输出网络地址和广播地址
print('Network Address:', network.network_address)
print('Broadcast Address:', network.broadcast_address)

# 输出子网掩码
print('Netmask:', network.netmask)

# 输出主机数
print('Hosts:', network.num_addresses - 2)

上述代码中,

  • 定义了一个CIDR地址段,
  • 然后使用Python标准库中的ipaddress模块来解析CIDR地址,并获取其中的网络地址、广播地址、子网掩码和主机数等信息。
  • 最后,将这些信息输出到控制台中,以便进行进一步的处理和分析。

需要注意的是,由于CIDR地址段的长度可能不同,因此在实际使用中需要根据具体的CIDR地址段来进行计算。

同时,由于IP地址是二进制数据,因此在进行计算时需要进行二进制和十进制之间的转换。

运行结果:

Linux示例

在 Linux 中,可以使用 ip 命令来对 CIDR 地址段进行计算和管理。以下是几个常用的示例:

显示 CIDR 地址段信息

$ ip address show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
      valid_lft forever preferred_lft forever

上述命令可以显示名为 eth0 的网络接口的 CIDR 地址段信息,包括 IP 地址、子网掩码、广播地址等。

添加 CIDR 地址段

该命令可以将 192.168.2.1/24 添加到名为 eth0 的网络接口上。

$ sudo ip address add 192.168.2.1/24 dev eth0

删除 CIDR 地址段

下面命令可以将 192.168.2.1/24 从名为 eth0 的网络接口上删除。

$ sudo ip address del 192.168.2.1/24 dev eth0

显示路由表信息

下面命令可以显示当前系统的路由表信息,包括默认路由、网络地址和网络接口等信息。

$ ip route show
default via 192.168.1.1 dev eth0 proto dhcp metric 100 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100 

需要注意的是,在进行 CIDR 地址段计算和管理时,需要具备一定的网络知识和技能,以确保网络的安全性和稳定性

本期福利

书名

图书名称:数字身份与元宇宙信任治理 

图书介绍

内容简介

《数字身份与元宇宙信任治理》由北京大学出版社出版,中科院软件所博士,高级工程师冀俊峰著作,本书解析元宇宙框架及其信任治理底层逻辑,讨论数字身份模式的发展趋势,分解元宇宙数字身份的技术要素,建设元宇宙信任环境,助力未来元宇宙数字身份构建、管理、应用赋能及零信任安全管理。

本书是一本介绍数字身份和元宇宙的普及型书籍,力求专业性与通俗性相平衡。

全书共八章,其中前四章主要介绍数字身份管理及应用,包括数字身份的相关概念及特性;身份认证管理、应用赋能及零信任安全管理;各国的数字身份实施;讨论数字身份在公共治理、商业服务等领域的应用价值。后面四章主要探究元宇宙框架及其信任治理,从Web技术架构的演变,介绍元宇宙的网络技术基础Web 3.0,以及相关的数字身份模式的发展趋势;讨论元宇宙中的数字身份技术要素及形态特征,以及数字身份、数字分身等关键特征要素;探讨利用数字身份对元宇宙的信任环境进行治理的方法和技术;探讨如何构建元宇宙的信任治理规则。

作者简介

冀俊峰,中科院软件所博士,高级工程师,论文曾获得国际计算机图形学会议 CGI'2005 最佳论文。自2005 年以来,作者一直在国家信息中心及国家电子政务外网管理中心从事网络规划及数字经济等方面的发展研究工作,撰写论文曾多次获得国家发改委中青年经济论坛优秀论文。主要做图形学VR\AR\区块链等。

等不及的小伙伴可以先睹为快:《数字身份与元宇宙信任治理》

参与方式

图书数量:本次送出 3 本   !!!⭐️⭐️⭐️
活动时间:截止到 2023-05-11 12:00:00

抽奖方式:

  • 2本,留言+该留言论赞数的前两名各获得一本!
  • 1本,评论区随机挑选一位小伙伴送书一本!
  • 留言内容:“那些看似不起波澜的日复一日,会突然在某一天,让人看到坚持的意义。”


参与方式:关注博主、点赞、收藏,评论区留言 

中奖名单 

🍓🍓 获奖名单🍓🍓

 中奖名单:请关注博主动态

名单公布时间:2023-05-11 下午

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

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

相关文章

【设计模式】单例模式(懒汉和饿汉模式详解)

目录 1.设计模式是什么&#xff1f; 2.单例模式 1.概念&#xff1a; 2.如何设计一个单例 1.口头约定&#xff08;不靠谱&#xff09; 2.使用编程语言的特性来处理 3.使用"饿汉模式"设计单例 1.详细步骤 2.完整代码 4.使用"饿汉模式"设计单例 1.详…

php+vue在线课程教育学习考试系统864t7

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp5 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin功能要求&#xff1a;可以实现首页、个人中心、学生管理、名…

嵌入式软考备考_7 系统开发过程和项目管理

系统开发过程和项目管理 开发模型 把开发过程分成一些阶段。 瀑布模型&#xff1a;SDLC。缺陷在于最开始需求要明确&#xff0c;但是开发周期很难不变动。 因此改进&#xff1a; 原型&#xff1a;一个demo。 快速原型模型&#xff1a;抛弃模型&#xff0c;一旦获取到了用户需…

unity 基本寻径

一、实现效果&#xff1a;敌人追逐玩家&#xff0c;自动躲避障碍物 二、游戏框架 Plane&#xff1a;平面&#xff0c;是玩家和敌人可以行走的区域 Player&#xff1a;玩家&#xff0c;可以在平面上移动&#xff0c;绕开障碍物 Enemy&#xff1a;敌人&#xff0c;可以追逐玩家…

红外遥控且自动避障的嵌入式智能小车系统

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 本次实验使用树莓派作为开发平台&#xff0c;AlphaBot 作为开发载体&#xff0c;Python 作为开发语言&#xff0c;开发一种基于红外线遥控控制的、可自动避障的嵌入式智能小车系统。 智能系统中的嵌入式应用 实验目的 嵌入式…

MySQL双写缓冲区(Doublewrite Buffer)

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 文章目录 摘要为什么需要Doublewrite BufferDoublewrite Buffer原理Doublewrite Buffer相关参数总结 摘要 InnoDB是MySQL中一种常用的事务性存储引擎&#xff0c;它具有很多优秀的特性。其中&#xff0c;Dou…

pip的常用操作命令

1. 忽略已安装的库&#xff08;以llvmlite为例&#xff09; pip install xxx --ignore-installed llvmlite 2. 错误 - AttributeError: int object has no attribute endswith 解决方案&#xff1a; 常见原因因为使用的pip为pip2&#xff0c;可以使用 pip -V 查看pip版本&a…

springboot+vue校园博客系统(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的校园博客系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&a…

AD 域环镜 本地管理员密码解决方案(LAPS)部署

前言&#xff1a; 我们知道window10装好后&#xff0c;默认本地管理员账号Administrator是关闭的&#xff0c;通过组策略启用本地管理员账号没有问题&#xff0c;具体方法在下面&#xff0c;但是由于微软《MS14-025&#xff1a;组策略首选项中的漏洞可能允许特权提升&#xff…

06-引入SpringSecurity 尚筹网

SpringSecurity 框架用法简介 用户登录系统时我们协助 SpringSecurity 把用户对应的角色、权限组装好&#xff0c;同时把各个资源所要求的权限信息设定好&#xff0c;剩下的“登录验证”、“权限验证”等等工作都交给SpringSecurity。 权限管理过程中的相关概念 主体 英文单…

【源码解析】Spring Cloud Gateway使用RedisRateLimiter实现限流

实现方案 在gateway项目中引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency><dependency><groupId>org.springframework.boot</g…

3BHB003154R0101确定每个控制器将如何知道设备地址、识别发给它的消息

3BHB003154R0101确定每个控制器将如何知道设备地址、识别发给它的消息 DNP3 协议用于各种 SCADA 系统组件之间的通信。这些系统组件包括 SCADA 主站或HMI、远程终端单元和智能电子设备。SCADA 系统的操作员可以在其操作中监控 DNP3 协议&#xff0c;以提高系统可靠性。这将通过…

java版深圳 工程管理系统软件 自主研发,工程行业适用 软件源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…

Redis 常见缓存问题与解决方案

文章目录 1. 缓存穿透解决方法 2. 缓存击穿解决方法 3. 缓存雪崩解决方法 在 redis 的应用场景中&#xff0c;需要考虑缓存在某些场景下可能出现的问题&#xff1a; 缓存穿透 缓存击穿 缓存雪崩 以下缓存问题的讨论都是基于以下应用架构讨论的&#xff1a; 1. 缓存穿透 对应…

Python 中的字典顺序

文章目录 Python 中的字典顺序在 Python 中将数字列表按词典顺序排序 我们将介绍 Python 中的字典顺序。 我们还将通过示例讨论实现词典顺序的不同方法。 Python 中的字典顺序 在数学中&#xff0c;词典顺序或词典顺序是对按字母顺序排列的元素列表或元素数组进行排序的过程。…

Java学习之Swing图形界面

Java提供的Swing组件众多&#xff0c;下面列举其中的几种&#xff0c;本章主要讲解顶层容器&#xff0c;其余容器在下面几章会做讲解。 1、顶层容器 1&#xff09;顶层容器就是不包含在其他容器中的容器&#xff0c;Swing中常见的顶层容器有JFrame&#xff0c;JFrame被称为窗口…

分享78个C 源码,总有一款适合您

C 源码 分享78个C 源码&#xff0c;总有一款适合您 源码下载链接&#xff1a;https://pan.baidu.com/s/1_vslGj8XQUGbUhQFnKZg4g?pwdoe87 提取码&#xff1a;oe87 OpenCV计算机视觉库 v4.7.0 OpenCV计算机视觉库 v3.4.19 Photoflare图像编辑器v1.6.12 开源向量数据库mil…

Lecture 13(Extra Material):PPO

On-policy v.s.Off-policy On-policy: The agent learned and the agent interacting with the environment is the same.Off-policy: The agent learned and the agent interacting with the environment is different. Issue of Importance Sampling: 尽管q可以是任意的&am…

day43—编程题

文章目录 1.第一题1.1题目1.2思路1.3解题 2.第二题2.1题目2.2思路2.3解题 1.第一题 1.1题目 描述&#xff1a; 输入两个整数 n 和 m&#xff0c;从数列1&#xff0c;2&#xff0c;3…n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来 输入描述: 每个测试输入包…

Java 基础进阶篇(十二)—— Stream 流常用方法总结

文章目录 一、Stream流概述二、获取Stream流2.1 集合获取 Stream 流2.2 数组获取 Stream 流 三、中间方法四、终结方法五、Stream流的综合应用六、收集Stream流 一、Stream流概述 Stream 流是在 Java8 中&#xff0c;得益于 Lambda 所带来的函数式编程&#xff0c; 引入了一个…