【计算机网络】【湖科大MOOC】网络层路由选择协议概述 内部网关协议RIP和OSPF的工作原理、工作过程 详细解读

2023-11-15

网络层

  1~2. 网络层概述虚电路数据报服务【计算机网络】【湖科大MOOC】网络层概述 虚电路、数据报服务

  3. IPv4地址【计算机网络】【湖科大MOOC】网络层IPv4地址 分类编址(ABCD类地址)、划分子网、无分类编制CIDR 定长和变长的子网掩码FLSM、VLSM

  4~5. IP数据报的发送和转发过程静态路由配置【计算机网络】【湖科大MOOC】网络层IP数据报发送和转发过程 默认网关 静态路由配置 默认路由 路由环路

6. 路由选择协议

6.1 概述

6.1.1 路由选择 类别

  • 静态路由选择:由 人工配置 的网络路由、默认路由、特定主机路由、黑洞路由等。

  • 动态路由选择:路由器通过路由选择协议 自动获取路由信息

    两者区别如下:
    image-20220211100644855

6.1.2 因特网所采用的路由选择协议的 主要特点

  • 自适应:动态路由选择,能较好地适应网络状态的变化。
  • 分布式:互联网中的路由器之间通过 交换路由信息 共同完成路由信息的获取和更新。
  • 分层次:将整个因特网划分为许多较小的 自治系统 AS (Autonomous System)。
    image-20220211101132798
    概念解释:

  1. 域间路由选择 即自治系统之间的路由选择,它使用 外部网关协议 EGP / 外部路由协议 ERP

  2. 域内路由选择 即自治系统内部的路由选择,它使用 内部网关协议 IGP / 外部路由协议 IRP

  注:EGP和IGP指的是路由协议的分类,而不是指具体的协议名称。

6.1.3 常见的 路由选择协议

 路由选择协议是在路由器上执行的。
image-20220211101705429

6.1.4 路由器的基本结构

image-20220211101132798

  • 路由表:(路由选择处理机接收 路由报文 来更新路由表)
     1. 一般仅包含从 目的网络下一跳映射
     2. 需要对网络拓扑变化的 计算最优化
     3. 转发表 是由路由表得出的。(教学中不严格区分路由表和转发表)

6.2 内部网关协议—— 路由信息协议 RIP (Routing Information Protocol)

6.2.1 工作原理

  • 基于距离向量 DV,RIP 要求 自治系统AS 内的每一个路由器都要维护从它自己到AS内其他网络的距离记录——距离向量 D-V (Distance-Vector);

  • RIP 使用 跳数 Hop 作为度量。

    1)路由器 to 直连网络 = 1;

    2)路由器 to 非直连网络 = 经过的路由器 + 1;

    3)允许一条路径最多包含 15 个路由器,距离=16 相当于 不可达

    因此,RIP 只适用于 小型互联网

    image-20220211104227299

6.2.2 好的路由

 好的路由 = “距离短” 的路由,就是 所通过路由器数量最少的路由

 在下图中,RIP协议 选择路由 R1 → R4 → R5,该路由经过路由器数量少,尽管带宽小。
image-20220211104411558
 当有多条 “距离相等” 的路由时,可以进行 等价负载均衡

6.2.3 RIP 中的信息交换

  • 和谁交换信息?   仅与 相邻路由器 交换信息。
  • 交换什么信息?   自己的 路由表 (封装在UDP报文中)。
  • 何时交换信息?   周期性 交换(如每30s)。

6.2.4 RIP 的基本工作过程

  image-20220211105727474

  • 路由条目的更新规则

    1)当路由更新周期到时,路由器C将 RIP更新报文发送给D,可理解为将C的路由表发送给D;

    2)D对C的路由表进行改造(距离+1,下一跳改为C);

    3)D根据改造后的路由表和一定规则 更新 自己的路由表。

    更新规则如下图所示。
    image-20220212221042081

  • RIP 存在 “坏消息传得慢” 的问题
    image-20220212231109762
    如上情况,如果R2的RIP更新报文先到达R1,则R1会被该谣言误导,认为可以通过R2到达N1,距离为3;R1再把路由信息发送给R2… 以此类推,出现了下图所示的情况。
    image-20220212231350465

    在此过程中,R1和R2出现了 路由环路 的问题,时间长达数分钟。

    • “坏消息传得慢” 又称为 路由环路距离无穷计数 问题,这是距离向量算法的一个固有问题。

    • 解决方法:(不能彻底避免环路问题)

    1. 触发更新 —— 当路由表发生变化时就立即发送更新报文,而不仅是周期性发送;
    2. 水平分割 —— 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送。

6.3 内部网关协议—— 开放最短路径优先 OSPF (Open Shortest Path First)

6.3.1 介绍

  • “开放” 表明 OSPF协议 是公开发表的,不受某一厂商控制;
  • 基于链路状态 LA,链路状态是指本路由器和哪些路由器 相邻,以及相应链路的 “代价”(费用、距离、时延、带宽等);
  • 采用最短路径优先 SPF 算法计算路由,保证不会出现路由环路;
  • 不限制网络规模,更新效率高,收敛速度快。

6.3.2 基本工作原理

  1. 相邻路由器之间通过交互 问候分组 Hello,建立和维护 邻居关系

    1)Hello分组封装在 IP数据报 中,发往组播地址(一组接口的地址)——224.0.0.5;

    2)发送周期为10s;若40s未收到来自邻居的Hello分组,则认为该邻居路由器不可达。
    image-20220213223549155

  2. 使用 OSPF 的每个路由器都会产生 链路状态通告 LSA (Link State Advertisement),其中包括

    1)直连网络的链路状态信息;  2)邻居路由器的链路状态信息;

    LSA 被封装在 链路状态更新分组 LSU 中,采用 洪泛法 (路由器的广播)发送。
    image-20220214104236947

  3. 使用 OSPF 的每个路由器都有一个 链路状态数据库 LSDB,用于存储LSA;

    通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终达到一致。
    image-20220214110128614

  4. 各路由器 基于LSDB进行最短路径优先SPF计算,构建出各自到达其他路由器的最短路径,即构建各自的路由表。
    image-20220214110451177
    对带权有向图进行基于Dijkstra的SPF算法,得到以各路由器为根的最短路径。
    image-20220214110746494

6.3.3 OSPF 的五种分组类型

  1. 问候分组 Hello:发现和维护邻居路由器的可达性;
  2. 数据库描述分组:向邻居路由器给出自己的链路状态数据库中所有链路状态项目的摘要信息;
  3. 链路状态请求分组:向邻居路由器请求发送某项链路状态项目的详细信息;
  4. 链路状态更新分组:路由器将其链路状态进行洪泛法送,即对全网更新链路状态;
  5. 链路状态确认分组:对链路状态更新分组的确认分组。

 各分组在 OSPF的工作过程中如何工作?
image-20220214111400240

6.3.4 OSPF 在 多点接入网络 中路由器邻居关系的建立

  1. 选举 指定路由器 DR (designated router) 和 备用的指定路由器 BDR (backup DR);
  2. 所有的 非DR/BDR 只与 DR/BDR 建立邻居关系;
  3. 非DR/BDR 之间只能通过 DR/BDR 交换信息。

  这样可以有效的减少网络中的通信量。
image-20220214111805807

  • 为了使 OSPF 能够用于规模很大的网络,OSPF 把一个自治系统再划分为若干个更小的范围 —— 区域 Area

    1)所有路由器都采用OSPF协议;

    2)每个区域有一个32 bit 的区域标识符,主干区域为0,其他区域标识符互不相同;

    3)把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,从而减少整个网络上的通信量;

    4)路由器分类:

    • 区域内路由器 IR:所有接口都在同一区域内 internal router;
    • 区域边界路由器 ABR:每个区域为了与自治系统内的其他区域连通,一个接口连接自身所在区域,另一接口连接主干区域 area border router;
    • 主干路由器 BBR:主干区域内的路由器,也包括区域边界路由器 backbone router;
    • 自治系统边界路由器 ASBR:专门和本自治系统外的其他系统交换路由信息的主干路由器 AS border router。
      image-20220214113006481

    总的来说,通过分层次的方法大大减少网络中的通信量,使OSPF协议能应用于更大规模的网络。


课程视频链接 (B站) :

https://www.bilibili.com/video/BV1c4411d7jb?p=1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【计算机网络】【湖科大MOOC】网络层路由选择协议概述 内部网关协议RIP和OSPF的工作原理、工作过程 详细解读 的相关文章

  • AndroidStudio 快速生成代码模板

    1 打开设置 File New Projects Settings Preferences for New Projects 不管什么版本 总之打开Settings 2 创建模板 1 搜索 Templates 模板 可以看到其实创建 cal
  • Git-用 cherry-pick 挑好看的小樱桃

    前篇 在此之前 我想问一个问题 你是在接触 Git 多久之后 知道有这个命令的 我的答案是很久很久之后 这真是一个悲伤的故事 懒 是万恶之源 此话果然不假 cherry pick 能干啥 cherry 中文翻译是樱桃 pick 中文翻译是采
  • 关系代数中的除法运算

    关系代数中的除法运算 这个概念的描述的非常抽象 刚开始学习的同学完全不知所云 这里通过一个实例来说明除法运算的求解过程 设有关系R S 如图所示 求R S 的结果 求解步骤过程 第一步 找出关系R和关系S中相同的属性 即Y属性 在关系S中对

随机推荐

  • Python-Pyqt6主窗口调用子窗口并互相传递参数

    功能实现 在主窗口点击按钮 调出子窗口 并向子窗口传递参数 在子窗口输入数据后再向主窗口传递参数 并在主窗口显示输入的数据 代码实现 1 载入图形化界面 在MainWinGUI py和ChildWinGUI py两个文件中编写主窗口和子窗口
  • maven 1、什么是maven

    什么是Maven 目前无论使用IDEA还是Eclipse等其他IDE 使用里面ANT工具 ANT工具帮助我们进行编译 打包运行等工作 Apache基于ANT进行了升级 研发出了全新的自动化构建工具Maven Maven是Apache的一款开
  • 计算机视觉基础2

    特征 颜色特征 几何特征 边缘 像素明显变化的区域 限速值函数快速变化的区域 一阶导数的机制区域 边缘提取 先高斯去噪 再使用一阶导数获取极值 导数对噪声敏感 边缘提取尺度问题 不同标准差的滤波 能捕捉到不同尺度的边缘 基于特征点的特征描述
  • 查看Linux下端口占用情况的命令

    在使用Linux系统的过程中 有时候会遇到端口被占用而导致服务无法启动的情况 比如HTTP使用80端口 但当启动Apache时 却发现此端口正在使用 这种情况大多数是由于软件冲突 或者默认端口设置不正确导致的 此时需要查看究竟哪个进程占用了
  • Python安装

    windows安装Python python官网 python官网下载 打开下载链接选择需要下载的python版本 点击版本号或者Download按钮进入下载页面 滚动到页面最下面可看到各个平台的 Python 安装包 选择Operatin
  • Unity按钮事件的几种绑定方式

    许久没有写C 代码了 对于一些东西自己给整忘了 在此记录下 方便以后自己查阅 获取到按钮组件 我是将代码挂载在其父节点上 一 代码动态绑定 在代码中获取此按钮 并对他就进行绑定 一般都是使用的这类情况 private Button back
  • OC 冒泡排序 ——时间排序

    NSMutableArray array NSMutableArray arrayWithObjects 2013 10 18 2013 10 11 2013 10 16 2013 10 15 2013 10 14 2013 10 13 2
  • 基于Java的迷宫小游戏

    一 实验内容 1 迷宫游戏是非常经典的游戏 在该题中要求随机生成一个迷宫 并求解迷宫 2 要求查找并理解迷宫生成的算法 并尝试用两种不同的算法来生成随机的迷宫 要求迷宫游戏支持玩家走迷宫 和系统走迷宫路径两种模式 玩家走迷宫 通过键盘方向键
  • springboot@Transactional事务不生效的几种解决方案

    springboot事务不生效的几种解决方案 最近在业务中遇到了很奇怪的场景 在加上 Transactional注解后 插入2条数据 如果第二条出异常了 第一条不会回滚 排查了很久 上网也找资料看了很久 问题得以解决 总结了事务不生效的几点
  • 完整、详细的MySQL规范

    一份非常完整 详细的MySQL规范 https mp weixin qq com s eCOn8JOPqExM6XOdv16krg 一 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保
  • 学习记录681@Gitlab升级实战

    前言 我的Linux目前是centos8 目前使用的gitlab是从https mirrors tuna tsinghua edu cn 下载下来的gitlab ce 12 10 1 ce 0 el8 x86 64 rpm 然后安装的 这里
  • 面试前的准备和注意事项(非常详细)

    面试准备和注意事项 不论是校招还是社招都避免不了各种 试 笔试 如何去准备这些东 就显得格外重要 不论是 笔试还是 试都是有章可循的 我这个 有章可循 说的意思只是说应对技术 试是可以提前准 备 我其实特别不喜欢那种临近考试就提前背啊记啊各
  • 【教你两招!】弄懂3DMAX如何渲染通道图像

    3DMAX怎么渲染通道图 在3dmax中有多种意义的通道 一般我们说的通道主要是应用在图像的后期处理中 可以减少重复渲染的工作量 提高图像的品质 在3dmax中如何渲染通道图像 这里 沐风老师为大家准备了两种通道图像渲染的方法 一起来看看吧
  • C++入门教程

    今天 我心血来潮 打算为一些C 新手写点东西 1 DEV C 的安装 想写程序 就要有个编译器 这里推荐DEV C 当然 code blocks VS也行 下面是教程 下载DevC 有多种方式 根据需求选择自己觉得更方便的下载方式 具体根据
  • c++ 调用 python doc操作文件自动粘贴功能调研

    python安装环境准备 NOTICE 不建议使用conda库内的python库 调用会报ucrtbase dll错误 慎用 python3 6 6 支持vs2010 msvc120 python代码 import win32com fro
  • SpringCloud系列(十六)[分布式搜索引擎篇] - DSL 查询及相关性算分的学习 (部分)

    在SpringCloud系列 十五 分布式搜索引擎篇 结合实际应用场景学习并使用 RestClient 客户端 API这篇文章中我们已经对 RestClient 有了初步的了解 并且已经将一些数据进行了存储 但是这并不是我们学习 Elast
  • 批量下载文档有救了:Python下载某网站文档保存PDF

    人生苦短 我用python 最近毕业季要做毕业设计的同学真的特别多 需要大量文献 文档 PDF但是不想因为这个花money的 举起你们的双手 接下来就以某度某库为例 下载我们想要的文档并保存为PDF 源码资料电子书 点击此处跳转文末名片获取
  • c#-初级篇合集

    c 初级篇知识合集 知识点都在代码注释中 001 学习c 编程 002 变量 003 变量的类型 004 练习 定义变量储存主角信息 005 在字符串前面加上字符 006 变量的声明和赋值 007 数学运算符 008 数学运算符自加自减 0
  • Python学习笔记 - 阿里云天池Python训练营打卡(3)

    目录 1 阿里云天池Python教程链接 3 2 函数 2 1 函数定义 2 2 函数文档 2 3 help方法 2 4 函数参数 2 5 函数的返回值 2 6 变量作用域 2 7 模块 函数的导入 3 Lambda 匿名函数 3 1 La
  • 【计算机网络】【湖科大MOOC】网络层路由选择协议概述 内部网关协议RIP和OSPF的工作原理、工作过程 详细解读

    目录 网络层 6 路由选择协议 6 1 概述 6 1 1 路由选择 类别 6 1 2 因特网所采用的路由选择协议的 主要特点 6 1 3 常见的 路由选择协议 6 1 4 路由器的基本结构 6 2 内部网关协议 路由信息协议 RIP Rou