当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/93791.html

相关文章:

  • C++ 教程(19)——日期 时间
  • React 应用 Effect Hook 函数式中操作生命周期
  • C代码程序实现扫雷游戏纯代码版本
  • ai代写---怎么在ubutnu服务器中安装mqtt
  • 【设计模式与范式:行为型】63 | 职责链模式(下):框架中常用的过滤器、拦截器是如何实现的?
  • Kendo UI for jQuery---03.组件___网格---02.开始
  • 初识Telegraf、InfluxDB和Grafana铁三角形成的监控可视化解决方案
  • 【哈佛积极心理学笔记】第20课 幸福与幽默
  • 设计模式-责任链模式
  • 不变的是需求,变化的是解决方法和工具:探讨iPaaS与ESB的差异
  • 网络解析----faster rcnn
  • modbus TCP协议讲解及实操
  • 既有内销又有外贸,多样性外贸业务管理解决方案
  • spring eurake中使用IP注册
  • c# 从零到精通 form界面之listView控件
  • Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)
  • LeetCode 9. 回文数
  • Linux系统之部署Teleport堡垒机系统
  • 【二叉树part02】| 102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
  • 【干货】Android系统定制基础篇:第十五部分(Android支持鼠标右键返回、GPIO 控制方案、属性标识USB摄像头的VID与PID)
  • ubuntu18 修改dns服务器地址为google
  • RHCE shell 作业一
  • Qqis中采用栅格工具生成XYZ瓦片(目录)简介
  • 【Axure教程】根据标签数自动调整尺寸的多选下拉列表
  • 【python】js逆向基础案例——有道翻译
  • 面经系列.飞猪 Java开发工程师.杭州.2023.6.14一面面经
  • 基于物联网及云平台的光伏运维系统
  • Android kotlin 实现仿京东多个item向左自动排队(横向、动手滑动、没有首尾滑动)功能
  • 美团买菜基于 Flink 的实时数仓建设
  • 前端vue入门(纯代码)08