首页 > 其他分享 >【网络协议】动态路由协议

【网络协议】动态路由协议

时间:2025-01-08 19:00:08浏览次数:3  
标签:协议 路径 网络协议 网络 链路 动态 路由 路由器

前言

本文将概述动态路由协议,定义其概念,并了解其与静态路由的区别。同时将讨论动态路由协议相较于静态路由的优势,学习动态路由协议的不同类别以及无类别(classless)和有类别(classful)的特性等。

【网络协议】静态路由详解

文章目录

正文

在这里插入图片描述

为了让网络中的所有设备实现通信,手动配置所有静态路由的管理开销将非常大,因为所有静态路由都需要手动配置。

对于网络管理员来说,教会路由器如何自动找到从一个点到另一个点的路径是否更加轻松?动态路由协议正是为了解决这个问题而设计的。

动态路由协议是用于大型网络的一种解决方案,它能够减少因配置静态路由而带来的复杂性。在大多数网络中,通常会同时使用动态路由和静态路由的组合。

定义

路由协议是一种使路由器能够交换路由信息的工具,它允许路由器动态学习远程连接的网络信息。这些信息会被添加到路由器的路由表中,并用作转发数据包的依据。

分类

动态路由协议可以按以下几种方式分类:
1.内部网关协议(IGP)和外部网关协议(EGP)
2.距离向量、路径向量和链路状态路由协议
3.有类别(Classful)和无类别(Classless)路由协议

以下表格列出了各种动态路由协议的类别。

在这里插入图片描述

下表提供了本专栏所涵盖路由协议的详细信息:

缩写全称标准年份RFC
EIGRPEnhanced Interior Gateway Routing ProtocolCISCO1992NULL
OSPFv2Open Shortest Path First version 2Open19915709
OSPFv3Open Shortest Path First version 3Open19995838

路由协议的运行原理

现在我们已经了解了路由协议的基本概念,需要进一步理解其运行方式。

路由协议由过程、消息、算法组成。它们用于使路由器能够从配置了相同路由协议的其他路由器中学习远程连接的网络。学到的路由被添加到路由表中,作为转发数据包的依据。

路由协议的功能包括:1.发现远程网络;2.维护最新的路由信息;3.确定路径。

路由协议的组成部分:

  1. 数据结构:用于存储远程网络的信息,通常保存在 RAM 中,例如邻居表和拓扑表。
  2. 算法:即确定到特定网络最佳路径的一系列步骤。
  3. 路由协议消息:用于维护最新路由信息的消息,例如 Hello 消息和更新消息。

尽管不同的路由协议运行方式可能有所不同,但所有路由协议都有一些共同特性:

  • 在接口上交换信息以发现邻居路由器
  • 交换已发布的路由
  • 运行算法以确定最佳路径
  • 将最佳路径添加到路由表
  • 检测拓扑更改并进行必要的调整

动态路由协议的优缺点

优点
1.当拓扑发生变化时,能够动态交换路由信息。
2.相较于静态路由,管理开销较少,静态路由需要手动配置。
3.比静态路由更不易出错。
4.更具可扩展性,因为管理开销较低。

缺点
1.配置难度较高,需要管理员具备更多专业知识。
2.消耗更多的路由器资源,例如 CPU 和 RAM。

EGP vs IGP

按协议类型区分,路由协议分为以下两类:
1.EGP - 外部网关协议(Exterior Gateway Protocols)
2.IGP - 内部网关协议(Interior Gateway Protocols)

这种分类基于自治系统(Autonomous Systems)。

自治系统(也称为路由域)是指由同一管理机构控制的一组路由器。例如,一家公司 XYZ 的所有网络都构成一个自治系统,而连接总部和分支机构的租赁线路及由 ISP 管理的网络构成另一个自治系统。

以下展示了此分类的示例拓扑图。

在这里插入图片描述

XYZ 控制的网络被标记为 AS 100,而 ISP 被标记为 AS 650。

内部网关协议 (IGP) 用于自治系统内的路由——即在一个自治系统内的路由。
外部网关协议 (EGP) 用于自治系统之间的路由——即在不同自治系统之间的路由。

例如,在这种情况下,XYZ 总部与分支机构之间的路由将使用 IGP,而公司 XYZ 与 ISP 之间的路由将使用 EGP。

距离矢量路由协议 vs 链路状态路由协议

按工作原理区分,内部网关协议 (IGP) 可以分为两种类型:

  • 距离矢量路由协议
  • 链路状态路由协议

距离矢量路由协议的意思是,路由信息以“距离和方向的矢量”形式被通告。
如果以游客寻路为例,使用距离矢量协议的游客将仅依靠路标来前进。他们不了解完整的地形或可能的障碍,仅知道下一个到达目的地的路标位置。

距离矢量路由协议适用于以下场景:

  • 网络简单且扁平,不需要特殊的分层设计。
  • 管理员对链路状态协议的配置和故障排查缺乏经验。
  • 部署特定类型的网络,例如星型网络(hub-and-spoke)。
  • 网络中最差收敛时间并不是主要关注点。

另一方面,如果游客拥有一份详细的地图,了解通往目的地的多条路径及其细节,他们将使用链路状态路由协议。

链路状态路由协议通常具备网络拓扑的完整视图,通常能够了解最佳路径以及备用路径。链路状态协议使用最短路径优先算法 (SPF) 来确定到网络的最佳路径。

链路状态路由协议适用于以下场景:

  • 网络设计是分层的,通常出现在大型网络中。
  • 管理员对链路状态协议的实现有良好的理解。
  • 网络需要快速收敛。

类路由协议与无类路由协议

类路由协议 (Classful Routing Protocols)
类路由协议在路由更新中不包含子网掩码。这是因为它们在 CIDR 和 VLSM 引入之前设计的。
例如:RIPv1。

无类路由协议 (Classless Routing Protocols)
无类路由协议在路由更新中包含子网掩码和网络地址。

在本课程中,我们将重点关注无类路由协议,因为类路由协议在路由更新中不包含子网掩码,因此它们无法在已经划分子网的网络中工作,在现代网络中已不再使用。

管理距离与度量值

假设一个路由器有多个到达某网络的路径,它将如何确定最佳路径?

度量值 (Metric) 是路由协议用来分配到达远程网络成本的机制。
在游客寻路的例子中,这可能是游客前往目的地所需的燃料量。度量值用于在存在多条路径时确定到网络的最佳路径。

下表显示了本专栏中将涵盖的各种路由协议使用的度量值:

路由协议度量值描述
RIPv1跳数 (Hop Count)源网络与目标网络之间的路由器数量。
RIPv2跳数 (Hop Count)源网络与目标网络之间的路由器数量。
EIGRP复合度量值多种值的组合,用于确定最佳路径。复合度量将在 EIGRP 章节中讨论。
OSPFv2成本 (Cost)从路由器到目标网络的带宽或配置成本。
OSPFv3成本 (Cost)从路由器到目标网络的带宽或配置成本。

管理距离
如果我们在一个路由器上配置了多个路由协议,路由器将如何确定到达目标网络的最佳路径呢?

管理距离 (Administrative Distance, AD) 是路由器用来对路由来源赋予优先级的方式。例如,如果一个路由器通过 EIGRP 和 RIP 学习到相同的路由,它将优先选择通过 EIGRP 学到的路由。

路由表中的所有路由都有优先级,直接连接的路由通常是最优先的。AD 反映了路由的可信度。

AD 通常是一个从 0 到 255 的值,值越低,路由来源越可信,AD 为 255 的路由永远不会被信任。

如果我们继续使用游客的例子,管理距离就像是对每种交通方式的信任。例如,航空公司比步行更值得信赖。

下表显示了本课程中将涵盖的各种路由协议的管理距离:

路由协议管理距离 (AD)
RIP120
OSPF110
EIGRP90
静态路由1

标签:协议,路径,网络协议,网络,链路,动态,路由,路由器
From: https://blog.csdn.net/2301_77485708/article/details/145014320

相关文章

  • 单词拆分(动态规划)
    给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例1:输入:s="leetcode",wordDict=["leet","code"]输出:true......
  • 48 小时内基于 TCP 实现简单网络协议的挑战与实践
    目录48小时内基于TCP实现简单网络协议的挑战与实践1.笔试题剖析1.1题目要求1.2关键难点2.协议设计思路2.1数据帧结构设计2.2连接对象设计2.3writer和reader实现3.代码实现解析3.1数据类型与header定义3.2连接对象实现3.3writer实现3.4reader......
  • 零钱兑换(动态规划)
    给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。 示例 1:输入:coins=[1,2,5],amount=11......
  • 完全平方数(动态规划)
    给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。示例 1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13......
  • 二维动态规划2
    [Algo]二维动态规划21.不同的子序列//4.不同的子序列//https://leetcode.cn/problems/distinct-subsequences/longnumDistinct(strings,stringt){intn=s.length(),m=t.length();vector<vector<long>>dp(n+1,vector<long>(m+1));//dp[i]......
  • Vue 路由proprs配置
    1、作用让路由组件便于接受参数2、写法(三种)src/router/index.jsa、简单值为对象,通过props传递给组件,组件需要接受{name:'detail',//params参数需要占位符path:'detail/:id/:title',component:DetailData,//props值为对象,props中的所有......
  • 数据查询优化策略: 全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移
    关于数据虚拟化在逻辑数据仓库(LogicalDataWarehouse)和逻辑数据湖(LogicalDataLake)架构中查询优化的实际应用示例。本文将为您详细介绍这些场景中最重要的优化技术,包括 全聚合下推(FullAggregationPushdown)、分区剪枝(PartitionPruning)、部分聚合下推(PartialAggregationP......
  • 假如你想自定义一个网络协议
    一、引言在当今数字化时代,网络通信无处不在。虽然现有的TCP/IP协议簇已广泛应用且极为成熟,但在某些特定场景下,如工业控制网络、科研专用网络、对安全性和性能有特殊要求的军事通信等领域,自定义网络协议具有独特优势。它能够根据具体需求精细优化网络性能、强化安全保障、适......
  • CICD Day6、基于kubernetes动态创建代理
    Jenkins支持基于kubernetes动态创建代理,使代理程序能够运行在Pod中,这种方法可以根据构建任务的变化动态的增减代理,充分利用kubernetes的特性,为分布式构建提供灵活的运行环境如下图所示当项目触发构建时,Jenkins会调用kubernetesapi创建一个专用的pod作为从节点,在该pod执行......
  • Vue.js组件开发-如何动态更改图表类型
    Vue.js组件开发中,动态更改图表类型通常涉及到更新图表库的配置并重新渲染图表。如果使用的是ECharts,可以通过修改图表配置中的type属性来实现,并调用setOption方法来应用更改。示例:展示如何在Vue.js组件中动态更改ECharts图表类型:<template><div><divref="chart"st......