哈工大计算机网络课程网络层协议详解之:CIDR与路由聚集

news/2024/11/8 22:36:53/

哈工大计算机网络课程网络层协议详解之: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的输出链路进行跳转。


http://www.ppmy.cn/news/505877.html

相关文章

E. Tracking Segments - 二分+前缀和

分析&#xff1a; 记录所有区间和给定的每一次的询问&#xff0c;二分询问的最小满足条件&#xff0c;可以通过前缀和来计算区间内有几个1。 代码&#xff1a; #include <bits/stdc.h>#define x first #define y secondusing namespace std;typedef long long ll; type…

操作系统实验-生产者/消费者问题的实现

一、实验目的&#xff1a; &#xff08;1&#xff09;掌握进程、线程的概念&#xff0c;熟悉相关的控制语。 &#xff08;2&#xff09;掌握进程、线程间的同步原理和方法。 &#xff08;3&#xff09;掌握进程、线程间的互斥原理和方法。 &#xff08;4&#xff09;掌握使…

0015-TIPS-pawnyable : userfaultfd

原文 Linux Kernel PWN | 040303 Pawnyable之userfaultfd userfaultfdの利用 题目下载 代码分析 #include <linux/cdev.h> #include <linux/fs.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/random.h> #include &…

【主板上各种接口和附属部件科普】

https://zhuanlan.zhihu.com/p/53379889 前言&#xff1a; 下一篇文章我打算简单介绍如何挑选主板&#xff0c;那么在下一篇文章写出来之前&#xff0c;我们先简单了解一下主板上那些沟沟槽槽&#xff0c;点点块块&#xff0c;详细了解一下主板各个接口以及附属部件的功能。顺带…

【问题解决】【linux的双显示器无法识别的问题】【HDMI-1-1 disconnected (normal left inverted right x axis y axis)】

[TOC](【问题解决】【linux的双显示器无法识别的问题】【HDMI-1-1 disconnected (normal left inverted right x axis y axis)】) 0 前言 如果你是刚开机就解决这个问题&#xff0c;很简单&#xff0c;参考添加链接描述&#xff0c;切记关闭BIOS的安全启动security boot&…

GreasyFork+Github

GreasyForkGithub 好长时间没用 GreasyFork 了&#xff0c;最近在刷 Spring Boot 的各种知识点&#xff0c;其中很大时间都在学习 baeldung.com 这个站点。不知道是因为最近刷的勤了还是怎么的&#xff0c;这个网站经常会弹出一个“让我关闭广告阻拦插件”的提示框&#xff0c…

i9级E52450处理器_给你的电脑私装蓝牙WIFI?华硕皇帝级主板增加WIFI模块上I9处理器...

华硕的M9系列皇帝级主板是当年少有的使用DR-MOS的主机板。 但是大部分版本&#xff0c;都有一个遗憾&#xff0c;就是没有WIFI-GO的模块。 确实在网络上偶尔能见到一片两片珍稀的存在&#xff0c; 但魔改君则一直没有见到。 这次有个粉丝&#xff0c;对WIFI有强大的需求&#x…

【Matlab】语音信号分析与处理实验报告

一、目的 使用Matlab分析与设计实验&#xff0c;理解与掌握以下知识点&#xff1a; 1、信号的采样、频谱混叠 2、信号的频谱分析 3、信号的幅度调制与解调方法 4、理想滤波器的时域和频域特性 5、数字滤波器的设计与实现 二、内容 1、录制一段个人的语音信号 2、采用合适的频…