哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集
哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集
文章目录
- 哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集
- CIDR与路由聚集
- CIDR
- 路由聚集
CIDR与路由聚集
CIDR
CIDR:无类域间路由(CIDR:Classless InterDomain Routing)
特点:
- 消除传统的A类、B类、C类地址界限。
- NetID+SubID—>统称为Network Prefix(可以是任意长度)
- 融合了子网地址与子网掩码,方便子网划分。
- 无类地址格式:a.b.c.d/x,其中x表示上面的网络前缀的长度
例如下图的IP地址

图中,红色部分就是网络前缀,蓝色部分就是主机号。上述IP地址,写成点分十进制表示的IP地址格式为:200.23.16.0/23。其中23表示的就是网络前缀的bit位数。
有了这种CIDR的表示形式后,子网和子网掩码的表示也更加方便了,比如下述子网与子网掩码:
子网:201.2.3.64
子网掩码:255.255.255.192
用CIDR来表示就是:201.2.3.64/26,26表示IP地址的前26位bit表示子网(网络前缀)。
无类域间路由(CIDR)的优点:
-
提高IPv4地址空间分配效率。
- 因为在传统的有类IP地址划分中,每个有类IP地址的网络号都是固定的,一个比较大的网络可能就分配一个A类地址,一个比较小的网络可能就分配一个C类地址,但是这两个网络可能都无法将主机号分配完,造成IP资源的浪费。
- 有了CIDR之后,就可以跳脱固定有类IP地址的网络号范围,将任意bit位作为网络号,划分成任意大小的子网。这样就可以根据具体的子网规模来划分网络大小,提高IP资源的利用率。
-
提高路由效率
-
CIDR可以将多个子网聚合为一个较大的子网。此时,路由器的转发表里就可以面向更大的子网来记录转发信息,而不是对于每一个小的子网。这样就减轻了路由表的存储、检索性能,提高路由效率。
-
CIDR的这种方式也叫做路由聚集

-
路由聚集
下图给出一个路由聚集的示意图:

如图所示,右侧的网络包含了3个小的子网,这三个小的子网再通过左侧的路由器与Internet相连。此时,针对这三个小的子网,按照原先存储子网和子网掩码的方式,路由器的转发表里存储这这样的信息:

但是现在有了路由聚集和,我们可以将这个三个小的子网聚集成一个更大的子网来存储。由于这三个子网中最大的子网范围为223.1.0.0/23,因此用一个更大的子网来表示就是:223.1.0.0/22。这三个小的子网就相当于子网内部的继续划分,此时对内部的3个小的子网的路由,由内部的路由器再进行进一步区分。
有机构做过统计,在互联网的主干链路上,使用CIDR技术对路由表进行充分的路由聚合之后,可以减少路由器40%~70%的存储, 对路由检索效率的提升是非常有效的。
层级编址使得路由信息通告更高效,下图是一个路由通告的示意图:

图中的ISP(网络服务提供商),可能与多个子网/组织相连,为它们提供网络服务。当ISP向互联网上的更高层的路由器发布路由信息的时候,并不需要将每个子网一个一个发布,而是同样可以利用路由聚合,聚合成一个更大的子网, 比如图中的:200.23.16.0/20,来进行发布。
作为更高层的互联网中的路由器,只需要去判断如果一个IP数据报所要到达的地址满足200.23.16.0/20,就可以向这个子网中进行发送了。其他的一些ISP也可以同样进行路由聚合后,再进行发布。
需要注意的是,上述ISP能够进行路由聚合的前提是,这些子网/组织的IP地址是连续的,不然如果中间的某一些IP被划分到了另一个ISP的子网中,就可能出现传输错误了。比如下面这种情况:

其中200.23.18.0/23属于另一个ISP下的组织,如果按之前的路由聚合方式的话,就会出现IP地址发送错误的情况,也就出现了路由中通常所说的黑洞现象。
路由黑洞一般是在网络边界做汇总回程路由的时候产生的一种不太愿意出现的现象,就是汇总的时候有时会有一些网段并不在内网中存在,但是又包含在汇总后的网段中,如果在这个汇总的边界设备上同时还配置了缺省路由,就可能出现一些问题。这时,如果有数据包发向那些不在内网出现的网段(但是又包含在汇总网段)所在的路由器,根据最长匹配原则,并没有找到对应的路由,只能根据默认路由又回到原来的路由器,这就形成了环路,直到TTL值超时,丢弃。
为了避免黑洞现象的出现,又希望利用路由聚合所带来的优点,就需要在路由发布时,加上单独的特定子网IP信息,比如上图中的,除了发布199.32.0.0/16这个路由聚合后的子网IP,还要单独额外发布200.23.18.0/23来告知上层路由器,满足这个条件的目的IP,也需要发给我。
相当于对于这种子网不连续IP地址的情况,在路由聚合后,那些缺失的IP地址要单独告知上层路由器,单独存储,保证转发的正确性。
这种路由选择的方式,实际上,也就是路由器在检索时遵循的最长前缀匹配优先。 因为这些单独的IP地址,相较于路由聚合后的IP地址,匹配的位数更多,所以路由器会选择该目的IP的输出链路进行跳转。
相关文章:
哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集
哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集 文章目录 哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集CIDR与路由聚集CIDR路由聚集 CIDR与路由聚集 CIDR CIDR:无类域间路由(CIDR:Classless InterDo…...
C++ 教程(19)——日期 时间
C 日期 & 时间 C 标准库没有提供所谓的日期类型。C 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C 程序中引用 <ctime> 头文件。 有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型…...
React 应用 Effect Hook 函数式中操作生命周期
React Hook入门小案例 在函数式组件中使用state响应式数据给大家演示了最简单的 Hook操作 那么 我们继续 首先 Hook官方介绍 他没有破坏性是完全可选的 百分比兼容 也就说 我们一起的 类 class的方式也完全可以用 只要 react 16,8以上就可以使用 Hook本身不会影响你的react的理…...
C代码程序实现扫雷游戏纯代码版本
//test.c文件 #define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu() {printf("***********************\n");printf("***** 1. play *****\n");printf("***** 0. exit *****\n");printf("*******************…...
ai代写---怎么在ubutnu服务器中安装mqtt
在Ubuntu服务器中安装MQTT Broker可以使用Mosquitto,它是一个开源的MQTT Broker实现,支持Linux、Windows和MacOS等多个平台。 以下是在Ubuntu服务器中安装Mosquitto的步骤: 更新apt-get包列表 打开终端,执行以下命令更新apt-get…...
【设计模式与范式:行为型】63 | 职责链模式(下):框架中常用的过滤器、拦截器是如何实现的?
上一节课,我们学习职责链模式的原理与实现,并且通过一个敏感词过滤框架的例子,展示了职责链模式的设计意图。本质上来说,它跟大部分设计模式一样,都是为了解耦代码,应对代码的复杂性,让代码满足…...
Kendo UI for jQuery---03.组件___网格---02.开始
网格入门 本指南演示了如何启动和运行 Kendo UI for jQuery Grid。 完成本指南后,您将能够实现以下最终结果: 1. 创建一个空的 div 元素 首先,在页面上创建一个空元素,该元素将用作 Grid 组件的主容器。 <div id"my-…...
初识Telegraf、InfluxDB和Grafana铁三角形成的监控可视化解决方案
文章目录 前言原始的监控靠人盯进化的监控靠批处理脚本高端的监控靠完整的可视化解决方案Telegraf、InfluxDB和Grafana铁三角TelegrafInfluxDBGrafana Grafana仪表板展示服务器资源总览负载和内存使用网络带宽磁盘IOIO延迟其他指标进程信息 总结 前言 数据监控目前用于各行各业…...
【哈佛积极心理学笔记】第20课 幸福与幽默
第20课 幸福与幽默 The vanguard of the positive psychology revolution: Our brain is basically a single processor, capable of consciouly choosing to devote resources either to the pain and suffering on one side, or viewing the world that lens of something l…...
设计模式-责任链模式
责任链模式 请求发送者和接收者连接成一条链,一个对象处理完,交给下一位,沿着链传递请求,这就是责任链模式。 角色 抽象处理者(Handler) 定义了处理请求的方法具体处理者(ContreteHandler&am…...
不变的是需求,变化的是解决方法和工具:探讨iPaaS与ESB的差异
在企业数字化转型过程中,企业需要面临日益复杂的业务和数据集成挑战。为了应对这些挑战,需要借助适当的解决方法和工具来实现系统间的通信和数据传输。在这方面,iPaaS(Integration Platform as a Service)和ESB&#x…...
网络解析----faster rcnn
Faster R-CNN(Region-based Convolutional Neural Network)是一种基于区域的卷积神经网络用于目标检测任务的模型。它是一种两阶段的目标检测方法,主要包含以下几个步骤: Region Proposal Network(RPN): F…...
modbus TCP协议讲解及实操
具体讲解 前言正文modbus tcp主机请求数据基本讲解Modbus Poll工具简单使用讲解 modbus tcp从机响应数据Modbus Slave工具简单使用讲解 前言 关于modbus tcp从0到1的讲解,案例结合讲解,详细了解整个modbus的可以参考这个:详解Modbus通信协议…...
既有内销又有外贸,多样性外贸业务管理解决方案
随着外贸数字化贸易全球化的深入发展,出口、进口、内销业务越来越受到关注。外贸业务是企业在海外市场进行商品贸易,而内销业务是企业在国内市场进行商品贸易。在管理这种业务时,想要实现降本增效,企业需要有一套成熟的管理解决方…...
spring eurake中使用IP注册
在开发spring cloud的时候遇到一个很奇葩的问题,就是服务向spring eureka中注册实例的时候使用的是机器名,然后出现localhost、xxx.xx等这样的内容,如下图: eureka.instance.perferIpAddresstrue 我不知道这朋友用的什么spring c…...
c# 从零到精通 form界面之listView控件
c# c# 从零到精通 form界面之listView控件 添加值 设置值 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Test06 { public partial cla…...
Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)
前言 若只是实现一对一通信,仅使用webrtc就足够了。但有时间需要进行多个人的直播会议,当人比较多时,建议使用一个流媒体服务器,笔者使用的是SRS。 这个开源项目资料比较全,笔者仅在此记录下搭建过程 一、准备 1.操…...
LeetCode 9. 回文数
LeetCode 9. 回文数 一、题目描述: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数…...
Linux系统之部署Teleport堡垒机系统
Linux系统之部署Teleport堡垒机系统 一、Teleport介绍1.1 Teleport简介1.2 Teleport特点1.3 支持操作系统 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、部署teleport服务端4.1 创建部署目录4.2 下载t…...
【二叉树part02】| 102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
目录 ✿LeetCode102.二叉树的层序遍历❀ ✿LeetCode226.翻转二叉树❀ ✿LeetCode101.对称二叉树❀ ✿LeetCode102.二叉树的层序遍历❀ 链接:102.二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地ÿ…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
