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

news2025/1/13 11:47:30

前言

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

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

文章目录

    • 前言
    • 正文
    • 定义
    • 分类
    • 路由协议的运行原理
    • 动态路由协议的优缺点
    • EGP vs IGP
    • 距离矢量路由协议 vs 链路状态路由协议
    • 类路由协议与无类路由协议
    • 管理距离与度量值

正文

在这里插入图片描述

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

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

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

定义

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

分类

动态路由协议可以按以下几种方式分类:
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2275948.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安装完docker后,如何拉取ubuntu镜像并创建容器?

1. 先docker拉取ubuntu镜像 docker search ubuntu #搜索ubuntu 镜像 docker pull ubuntu:22.04 #拉取ubuntu 镜像 docker images #下载完成后,查看已经下载的镜像 docker run --name ubuntu_container -dit ubuntu:22.04 /bin/bash # docker container -l 2.…

互联网全景消息(10)之Kafka深度剖析(中)

一、深入应用 1.1 SpringBoot集成Kafka 引入对应的依赖。 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupI…

React Fiber框架中的Render渲染阶段——workLoop(performUnitOfWork【beginWork与completeWork】)

触发渲染过程——renderRoot renderRoot 是一个函数&#xff0c;用于触发渲染工作。它通常会调用并递归地执行一系列的渲染任务&#xff0c;直到完成整个更新过程。这个过程包括执行 Fiber 树中的 beginWork 和 completeWork&#xff0c;以及渲染新状态或 DOM。 function ren…

STM32F1学习——ADC模数转换器

一、ADC模数转换器 ADC的全称 Analog-Digital Converter 模拟-数字转换器&#xff0c;他可以用来将引脚上连续变换的模拟电压转换为内存中存储的数字变量。 ADC有两个重要指标&#xff0c;分辨率和频率。 STM32的ADC是 12位 逐次逼近型&#xff0c;1us转换时间&#xff0c;也就…

[每周一更]-(第131期):Go并发协程总结篇

Go语言的并发是通过协程&#xff08;goroutine&#xff09;实现的。Go协程是轻量级的线程&#xff0c;允许多个任务同时执行&#xff0c;且Go运行时会高效地管理它们。在Go中使用并发协程的方式非常简便&#xff0c;也很强大。以下是一些关于Go协程的基础用法和并发控制方法&am…

Ecdsa密钥在线生成工具

具体前往&#xff1a;ECC公钥私钥对在线生成器

llama.cpp 模型可视化工具 GGUF Visualizer

llama.cpp 模型可视化工具 GGUF Visualizer 1. GGUF Visualizer for VS Code (gguf-viz)1.1. Features1.2. Extension Settings References GGUF Visualizer https://marketplace.visualstudio.com/items?itemNameAgainstEntropy.gguf-viz 1. GGUF Visualizer for VS Code (g…

【DAPM杂谈之三】DAPM的初始化流程

本文主要分析DAPM的设计与实现 内核的版本是&#xff1a;linux-5.15.164&#xff0c;下载链接&#xff1a;Linux内核下载 主要讲解有关于DAPM相关的知识&#xff0c;会给出一些例程并分析内核如何去实现的 /**************************************************************…

HarmonyOS:@LocalBuilder装饰器: 维持组件父子关系

一、前言 当开发者使用Builder做引用数据传递时&#xff0c;会考虑组件的父子关系&#xff0c;使用了bind(this)之后&#xff0c;组件的父子关系和状态管理的父子关系并不一致。为了解决组件的父子关系和状态管理的父子关系保持一致的问题&#xff0c;引入LocalBuilder装饰器。…

Pytorch导出onnx模型并在C++环境中调用(含python和C++工程)

Pytorch导出onnx模型并在C环境中调用&#xff08;含python和C工程&#xff09; 工程下载链接&#xff1a;Pytorch导出onnx模型并在C环境中调用&#xff08;python和C工程&#xff09; 机器学习多层感知机MLP的Pytorch实现-以表格数据为例-含数据集和PyCharm工程中简单介绍了在…

git打补丁

1、应用场景 跨仓库升级 开发项目B使用的是开源项目A。开源项目A发现漏洞&#xff0c;作者进行了修复&#xff0c;我们可以通过使用git补丁的方式&#xff0c;将作者修改的内容复制到我 们的项目B中。 2、TortoiseGit方式 源仓库 格式化补丁 根据提交数量&#xff0c;生成…

计算机网络 (34)可靠传输的工作原理

前言 计算机网络可靠传输的工作原理主要依赖于一系列协议和机制&#xff0c;以确保数据在传输过程中能够准确无误地到达目的地。 一、基本概念 可靠传输指的是数据链路层的发送端发送什么&#xff0c;在接收端就收到什么&#xff0c;即保证数据的完整性、正确性和顺序性。由于网…

基于ADAS 与关键点特征金字塔网络融合的3D LiDAR目标检测原理与算法实现

一、概述 3D LiDAR目标检测是一种在三维空间中识别和定位感兴趣目标的技术。在自动驾驶系统和先进的空间分析中&#xff0c;目标检测方法的不断演进至关重要。3D LiDAR目标检测作为一种变革性的技术&#xff0c;在环境感知方面提供了前所未有的准确性和深度信息. 在这里&…

Vue3初学之常用的指令

v-bind&#xff1a;动态绑定属性 v-bind 用于动态绑定一个或多个属性&#xff0c;或一个组件 prop 到表达式的值。 v-model&#xff1a;双向数据绑定 见上篇 https://editor.csdn.net/md/?articleId145022994 v-if、v-else-if、v-else&#xff1a;条件渲染 v-show&…

docker中jenkins流水线式部署GitLab中springboot项目

本质就是将java项目拉取下来&#xff0c;并自动打包成docker镜像&#xff0c;运行 首先启动一个docker的jenkins 如果没有镜像使用我的镜像 通过网盘分享的文件&#xff1a;jenkins.tar 链接: https://pan.baidu.com/s/1VJOMf6RSIQbvW_V1zFD7eQ?pwd6666 提取码: 6666 放入服…

在ubuntu下对NFS做性能测试

安装NFS 首先&#xff0c;安装服务 sudo apt update sudo apt install nfs-kernel-server然后创建共享文件夹 # 请自定义你自己的共享目录 sudo mkdir -p /exports/nfs4/homes sudo chmod -R 777 /exports/nfs4/homes# 这个可以根据no_root_squash标致选择设置。 # 如果不设…

Open FPV VTX开源之默认MAVLink设置

Open FPV VTX开源之默认MAVLink设置 1. 源由2. 准备3. 连接4. 安装5. 配置6. 测试6.1 启动wfb-ng服务6.2 启动wfb-ng监测6.3 启动QGroundControl6.4 观察测试结果 7. 总结8. 参考资料9. 补充9.1 telemetry_tx异常9.2 DEBUG串口部分乱码9.3 PixelPilot软件问题 1. 源由 飞控图传…

26个开源Agent开发框架调研总结(2)

根据Markets & Markets的预测&#xff0c;到2030年&#xff0c;AI Agent的市场规模将从2024年的50亿美元激增至470亿美元&#xff0c;年均复合增长率为44.8%。 Gartner预计到2028年&#xff0c;至少15%的日常工作决策将由AI Agent自主完成&#xff0c;AI Agent在企业应用中…

mark 一下conductor github

Netflix 关闭conductor 后&#xff0c;后续https://orkes.io/content/ 继续在维护&#xff0c;github地址如下 https://github.com/conductor-oss/conductor 最新release为3.21.11

PyCharm文档管理

背景&#xff1a;使用PyCharmgit做文档管理 需求&#xff1a;需要PyCharm自动识别docx/xslx/vsdx等文件类型&#xff0c;并在PyCharm内点击文档时唤起系统内关联应用(如word、excel、visio) 设置步骤&#xff1a; 1、file -》 settings -》file types 2、在Files opened i…