7 种常见的路由协议

网络路由是网络通信的重要组成部分,通过互联网将信息从源地址移动到目的地的过程。路由发生在 OSI 模型的第 3 层(网络层)。实际网络中通常会将静态和动态路由结合使用。静态路由适用于小型网络,而动态路由适用于大型网络。
图片

什么是路由协议?

路由协议是在路由器之间交换路由信息以做出路由决策的机制。路由协议可以促进计算机网络之间有效且高效的通信。无论网络规模如何,这些协议都有助于将数据安全地传送到目的地。

根据它们的属性,路由协议可以分为不同的类别:

行为:有类或无类协议。

用途:内部网关协议 (IGP) 或外部网关协议 (EGP)。

操作:路径矢量协议、距离矢量协议和链路状态协议。

图片

| 路由协议的类型

路由协议指定路由器如何交换信息,使它们能够在网络节点之间选择路由。路由器引导 Internet 流量,以便数据包通过 Internet 网络从一个路由器发送到另一个路由器,直到它们到达目的地机器。管理路由的算法决定了所选择的精确路由。每个路由器只知道与其物理连接的网络。路由协议最初将此信息分发给它的近邻,然后分发给网络的其余部分。因此,路由器会获得有关网络拓扑的信息。路由协议使网络能够动态适应不断变化的条件,没有它,所有路由决策都必须提前静态做出。得益于路由协议动态适应不断变化的条件的能力,互联网提供了容错和高可用性。

路由协议使路由器能够动态共享外部网络信息并将其添加到它们的路由表中,并通过路由表的信息转发数据包。路由器可以通过两种方式发现到远程网络的路由:静态路由和动态路由。

在由多个网络和子网组成的大型网络中,设计和维护这些网络之间的静态路由需要大量的管理和操作开销。当网络发生变化时,这种操作负担尤其沉重。动态路由协议可以减轻配置和维护的负担,并为网络提供可扩展性。

动态路由协议的基本优点是,只要网络拓扑发生变化,路由器就会共享路由信息。这种交换使路由器能够在网络链路丢失时自动发现新网络并找到备用路由。动态路由协议比静态路由需要更少的管理工作。不过动态路由协议需要占用路由器的一部分资源,包括 CPU 时间和网络链路带宽,用于协议执行。因此在静态路由和动态路由在不同的情况下各有优势。
图片

本文介绍了七种动态路由协议。

图片
路由信息协议(RIP)

路由信息系统 (RIP,Routing Information System) 在RFC 1058中首次定义,是 IPv4 的第一代路由协议。RIP 是一种使用度量跳数的距离矢量路由协议。RIP 配置简单,是小型网络的绝佳选择。

RIPv1 具有以下特性:

跳数被用作路径选择度量。

每 30 秒发送一次路由更新 (255.255.255.255)。

超过 15 跳就会被认为是无限的(太远了)。此第 15 跳路由器不会将路由更新发送到后续路由器。

1993 年,RIPv1 演化为 RIPv2,即无类路由协议。RIPv2 增加了:

安全性:它包括一种身份验证机制,用于保护邻居之间的路由表更新通信。

无类路由协议支持:它支持 VLSM 和 CIDR,因为路由更新包括子网掩码。

提高效率:它将更新转发到组播地址 224.0.0.9,而不是广播地址 255.255.255.255。

减少路由条目:支持在任意接口上手工路由聚合。

RIP 更新包含在 UDP 段中,源端口和目标端口都设置为 UDP 端口 520。

支持 IPv6 的 RIP 版本于 1997 年推出。RIPng 是 RIPv2 的扩展,限制为 15 跳,管理距离为 120。这种跳数限制使 RIP 不适用于较大的网络。
图片

图片
开放最短路径优先(OSPF)

开放最短路径优先 (OSPF,Open Shortest Path First) 是最流行的链路状态路由协议。OSPF是Internet工程任务组(IETF)的工作组设计的,最早的开发始于 1987 年,目前有两个活跃版本:

OSPFv2:用于 IPv4 网络(RFC 1247 和 RFC 2328)

OSPFv3:用于IPv6 网络 (RFC 2740),由于地址族功能,OSPFv3 现在同时支持 IPv4 和 IPv6。

OSPF 是一种链路状态路由算法,主要应用于大中型网络。OSPF 是一种域内路由协议,只在特定的路由域内运行。OSPF 也是一种分层路由协议,可用于单个自治系统。OSPF 是在OSI参考模型的IS-IS(intermediate-system-to-system)路由协议上发展起来的。OSPF 支持多路径路由,并使用一个或多个路由指标,包括可靠性、带宽、延迟、负载和最大传输单元 (MTU),它还允许服务类型 (TOS) 请求来区分流量。

OSPF使用最短路径优先 (SPF,shortest path first) 算法来确保高效的数据传输,数据通常来自各个路由器传输的链路状态通告。当拓扑发生变化时,OSPF 利用 Dijkstra 算法重新计算路径。它还采用身份验证程序在整个网络修改和入侵过程中维护其数据的安全性。由于其可扩展性,OSPF 对于小型和大型网络企业来说都适用。

图片
内部网关路由协议(IGRP)

1984 年,Cisco 创建了内部网关路由协议 (IGRP,Interior Gateway Routing Protocol) 来解决大型网络中 RIP 的问题。IGRP 是一种距离矢量协议,它使用多种路由指标(不仅仅是跳数)来计算目的地的距离。Hold-downs、split horizons 和 poison-reverse updates 是旨在提高网络稳定性的 IGRP 功能。只有在当前环境仅由 IGRP 组成并且不希望添加其他路由协议的情况下,才应使用 IGRP。

IGRP 协议提供:

用一组数据管理多种“服务类型”的能力;

防止路由环路;

即使在极其庞大或复杂的网络中也能保持路由稳定性;

低开销,IGRP消耗的带宽不超过其自身运行所需宽;

对不同网络结构的快速反应;

当需求相等时,沿平行路线拆分流量;

考虑不同路径上的错误率和流量水平。

IGRP 是一种距离矢量协议,其中路由器(通常称为网关)仅与相邻路由器交换路由信息。IGRP 在指标方面优于 RIP。它利用了 RIP 的许多基本功能,并将支持的最大跳数增加到 100。因此,它在大型网络上运行得更好。IGRP 还有助于防止路由环路。新的 IGRP 包括以下内容:

带宽最小的路径段的带宽。以比特每秒为单位的传输速率。

拓扑延迟时间。在网络不拥挤的情况下,数据包到达目的地所需的时间。如果网络上有网络流量,可能会遇到额外的延迟。

路由的可靠性。根据实际到达目的地的报文数与总传输报文数的比值,反映路径的可靠性。

通道的路径占用。显示当前使用的带宽百分比。这个值会随着网络流量的波动而频繁波动。

IGRP 使用复杂的算法评估这些参数并确定最佳路由。

Hold-downs:用于防止定期更新消息重新建立以前可能无效的路由。当网络链路发生故障时,周围的路由器将检测到没有定期更新,并确定该链路不再运行。网络随后将开始传播消息,通知用户该路由器未运行。如果这种收敛时间过长,则网络中的另一台路由器可能会指示该路由器仍在正常运行。

Split horizons:用于防止两台路由器之间出现路由环路。

Poison-reverse updates:用于减少多个路由器之间的环路。

使用定时器和包含时间间隔的变量是 IGRP 稳定性的另一个特点:

更新定时器(Update Timer):更新定时器指定传输更新消息的频率。IGRP 默认更新周期为 90 秒。

无效定时器(Invalid Timer):无效定时器指定路由器在未收到路由更新消息的情况下在宣布路由无效之前将等待多长时间。IGRP 无效计时器的默认值是更新定时器的3倍。

保持时间段(Hold-time Period):保持时间段(也称为hold-down Period)表示保持时间的长短。IGRP 的默认保持时间是更新间隔的3倍加上10秒。

刷新定时器(Flush Timer):刷新定时器指定从路由数据库中删除路由之前必须经过的时间量。IGRP 刷新定时器的默认值是更新间隔的7倍。

休眠定时器(Sleep Timer):休眠定时器指定更新消息将被延迟多长时间。休眠值应小于更新定时器;否则,路由表永远不会同步。

图片
增强型内部网关路由协议 (EIGRP)

增强型内部网关路由协议(EIGRP,Enhanced Interior Gateway Routing Protocol)是一种用于 IP、AppleTalk 和 NetWare 网络的距离矢量路由协议。EIGRP是Cisco在1992年开发的一项专有协议,以接替早期的IGRP协议。与 RIPv2 类似,EIGRP 添加了对 VLSM 和 CIDR 的支持。EIGRP 提高了工作效率、减少了路由更改,并促进了安全的消息交换。

EIGRP 具有以下特点:

快速收敛:在大多数情况下,它是最快收敛的 IGP,它允许瞬时收敛。如果主路由失败,路由器可能会使用备用路由。切换到备用路由的过程是即时的,不需要与其他路由器交互。

有界触发更新:这种类型的更新不会传输频繁的更新。每当发生更改时,只会传播对路由表的更新。这减少了路由协议带来的网络负载。绑定触发的更新允许 EIGRP 只向需要更新的邻居发送更新。它使用更少的带宽,尤其是在具有多条路由的大型网络中。

拓扑表的管理:在拓扑表中维护从邻居接收到的所有路由,而不仅仅是最优路由。DUAL 可以将备份路由注入 EIGRP 拓扑表。

Hello keepalive 机制:通过定期交换一个简短的 Hello 报文来维持路由器之间的邻接关系。这样可以在常规操作期间将网络资源的利用率降至最低,而不需要频繁更新。

多网络层协议支持:EIGRP 是唯一一个支持除 IPv4 和 IPv6 以外的协议,包括传统 IPX 和 AppleTalk,因为它采用了协议相关模块 (PDM)。

EIGRP 具有多种特性,如可靠传输协议(RTP)、扩散更新算法(DUAL)等,使其成为一种有效、智能且强大的路由协议。为了加速收敛过程,需要调整路由,提高数据包传输的效率。EIGRP 的缺点是它是思科专有的协议,不具备通用性,如果你的网络中有来自多个供应商的路由器,则只有思科路由器能够通过 EIGRP 进行交互,非思科路由器将无法使用EIGRP。

图片
外部网关协议(EGP)

外部网关协议 (EGP,Exterior Gateway Protocol ) 是20世纪80年代中期至90年代中期用于连接互联网上自治系统的路由协议,后来被边界网关协议(BGP)取代。EGP 由 Bolt、Beranek 和 Newman 在 1980 年代初期创建。它首先在 RFC 827 中提到,并在 RFC 904 中正式说明。RFC 1772 概述了 EGP 到 BGP 的迁移路径。EGP 仅跟踪当前可通过给定路由器访问的网络。

EGP 协议的路由表包括:

附近设备的网络地址;

路线;

确定路由器。

目前EGP 协议已经不太受欢迎了,因为它不能在多路径网络情况下运行。EGP协议的功能是维护相邻网络的数据库和可能到达它们的路由路径。这些路由细节被传送到连接的路由器。一旦到来,设备可以更新它们的路由表,并根据更准确的信息选择网络路径。

图片

边界网关协议(BGP)

边界网关协议(BGP,Border Gateway Protocol)是为替代 EGP 而创建的外部网关协议。BGP采用最优路径选择技术进行数据包传输,是一种距离矢量协议。为了自动找到最佳路由,BGP 参考以下变量:

相邻的 IP 地址

路由器名称

路径距离

来源类型

BGP 最佳路径选择算法用于确定数据包传输的最佳路径。在没有配置特殊参数的情况下,BGP 将选择到目的地的路径最短的路由。
图片

通过BGP 管理员可以根据自己的要求修改传输路由,并提供广泛的安全措施,确保只有授权的路由器才能交换数据和信息。通过修改BGP开销团体属性,可以修改选择最优路由路径的算法。BGP 能够根据权重、本地优先级、本地生成、AS 路径长度、来源类型、多出口标识符、eBGP over iBGP、IGP 度量、路由器 ID、集群列表和邻居 IP 地址等因素做出路由决策。

BGP只在路由表发生变化时传输更新后的路由表数据,因此不会自动发现拓扑变化,用户必须手动建立BGP。在安全性方面,可以对BGP协议进行验证,只有经过授权的路由器才能进行数据交换。

相比于OSPF,BGP具有更大的灵活性和控制力。BGP 进程包括应广播哪些路由以及设备将接受哪些警报。它为路线选择提供了额外的选项,灵活性更强。

图片

中间系统到中间系统(IS-IS)

中间系统到中间系统(IS-IS,Intermediate System-to-Intermediate System)路由协议最初是ISO(the International Organization for Standardization,国际标准化组织)为CLNP(Connection Less Network Protocol,无连接网络协议)设计的一种动态路由协议,记录在 ISO 10589 中,原始版本称为 DECnet Phase V,由数字设备公司 (DEC) 创建。Radia Perlman 是 IS-IS 路由协议的主要设计者。

IS-IS 最初是为 OSI 协议套件而不是 TCP/IP 构建的。后来,Integrated IS-IS/Dual IS-IS 增加了 IP 网络能力。IS-IS 以前被称为 ISP 和运营商主要使用的路由协议,后来企业网络越来越多地采用它。

IS-IS 协议采用了一种改进的Dijkstra算法。通常,该协议将路由器组合在一起以构建更大的域并连接路由器以进行数据传输。IS-IS 经常使用这两种网络类型:

网络服务访问点 (NSAP,Network Service Access Point):与 IP 地址类似,NSAP采用OSI系统中的服务访问点。

网络实体名称 (NET,Network Entity Title):有助于在较大的计算机网络中识别特定的网络路由器。
图片
图片

有关路由协议的其他问题
VPN 是一种路由协议吗?

不。VPN是Virtual Private Network(虚拟专用网络)的缩写,它使用户能够通过 Internet 安全、私密地连接到专用网络。VPN创建了一个被称为 VPN 隧道的加密连接,所有 Internet 流量和对话都通过该隧道进行路由。部分VPN协议如下:

IPsec

L2TP

PPTP

OpenVPN

WireGuard

VPN 会改善路由吗?

不会。在路由器上部署VPN会带来新的网络管理任务,例如内存密集型和CPU密集型操作的流量加密/解密。此外,路由器还需要定期连接到某个VPN服务器,这需要一定的处理能力。

NGFW 是否支持路由协议

是的,下一代防火墙 ( NGFW ) 解决方案支持 IPv4 和 IPv6 路由协议。例如,带有Zenarmor下一代防火墙插件的 OPNsense 提供动态路由协议,如 RIP v1 和 v2、OSPFv2 和 v3 以及 BGPv4。为了使用其中的一种或多种动态路由协议,OPNsense 防火墙管理员必须安装os-frrFRRouting Protocol Suite 插件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

界面控件DevExpress ASP.NET新主题——Office 365暗黑主题的应用

DevExpress ASP.NET Web Forms Controls拥有针对Web表单(包括报表)的110种UI控件,DevExpress ASP.NET MVC Extensions是服务器端MVC扩展或客户端控件,由轻量级JavaScript小部件提供支持的70个高性能DevExpress ASP.NET Core Contr…

华为路由器 IPSec VPN 配置

需求&#xff1a; 通过 IPSecVPN 实现上海与成都内网互通 拓扑图如下&#xff1a; 一、首先完成网络配置 1、R1 路由器设置 <Huawei>sys [Huawei]sys R1 [R1]un in en# 开启DHCP [R1]dhcp enable# 设置内网接口 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip addr 10.…

Git日常使用技巧 - 笔记

Git日常使用技巧 - 笔记 Git是目前世界上最先进的分布式版本控制系统 学习资料 廖雪峰 学习视频 https://www.bilibili.com/video/BV1pX4y1S7Dq/?spm_id_from333.337.search-card.all.click&vd_source2ac127043ccd79c92d5b966fd4a54cd7 Git 命令在线练习工具 https://l…

国内可用 ChatGPT 网页版

前言 ChatGPT持续火热&#xff0c;然鹅国内很多人还是不会使用。 2023年6月1日消息&#xff0c;ChatGPT 聊天机器人可以根据用户的输入生成各种各样的文本&#xff0c;包括代码。但是&#xff0c;加拿大魁北克大学的四位研究人员发现&#xff0c;ChatGPT 生成的代码往往存在严…

项目开发-依赖倒置、里式替换、接口隔离的应用深入理解

文章目录 前言依赖倒置定义不符合依赖倒置原则是什么样子&#x1f604;完善 里式替换定义具体应用 接口隔离定义具体应用 前言 最近在做.net项目和学习这个设计模式中的依赖倒置和工厂方法&#xff0c;这个过程当中发现在开发这个.net项目中有很多不合理的地方&#xff0c;就是…

cplex基础入门(一)

这边文章会以纯新手小白的视角&#xff0c;教会大家如何快速的搭建自己的cplex模型&#xff0c;做到求解模型不求人。 目录 一、引言 1、掌握数据类型及数据结构 2、常规Cplex编程方法 3、Cplex编程步骤 4、cplex 程序框架 5、创建模型 二、规划建模的入门求解案例 1、…

Python3数据分析与挖掘建模(3)探索性数据分析

1. 概述 探索性数据分析&#xff08;Exploratory Data Analysis&#xff0c;EDA&#xff09;是一种数据分析的方法&#xff0c;用于探索和理解数据集的特征、关系和分布等。EDA旨在揭示数据中的模式、异常值、缺失值等信息&#xff0c;并为后续的分析和建模提供基础。以下是关…

CISCN 2023 初赛 pwn——Shellwego 题解

这是一个用go语言写的elf程序&#xff0c;没有PIE。这也是本蒟蒻第一次解go pwn题&#xff0c;故在此记录以便参考。 而且&#xff0c;这还是一个全部符号表被抠的go elf&#xff0c;直接面对一堆不知名的函数实在有些应付不来&#xff0c;因此在比赛时委托逆向的队友把符号表…

​【指针与数组的恩怨情仇】

指针和数组的关系 指针指的是指针变量&#xff0c;不是数组&#xff0c;指针变量的大小是4/8个字节&#xff0c;是专门来存放地址的。数组也不是指针&#xff0c;数组是一块连续的空间&#xff0c;存放一组相同类型的数据的。 没有关系&#xff0c;但是它们之间有比较相似的地方…

【Netty】一行简单的writeAndFlush都做了哪些事(十八)

文章目录 前言一、源码分析1.1 ctx.writeAndFlush 的逻辑1.2 writeAndFlush 源码1.3 ChannelOutBoundBuff 类1.4 addMessage 方法1.5 addFlush 方法1.6 AbstractNioByteChannel 类 总结 前言 回顾Netty系列文章&#xff1a; Netty 概述&#xff08;一&#xff09;Netty 架构设…

好用的Chrome浏览器插件推荐(不定期更新)

好用的Chrome浏览器插件推荐 1.1 CSDN-浏览器助手1.2 Google 翻译1.3 JSON Viewer1.4 ModHeader - Modify HTTP headers1.5 Octotree - GitHub code tree 1.1 CSDN-浏览器助手 CSDN-浏览器助手 是一款集成本地书签、历史记录与 CSDN搜索(so.csdn.net) 的搜索工具 推荐&#x…

自动驾驶车载MCU开发修炼秘籍

目录 车载MCU开发修炼秘籍1、恩智浦 S32K1XX系列2、英飞凌 AURIX TC3XX3、嵌入式实时操作系统-FreeRTOS4、车载实时操作系统-AUTOSAR 车载MCU开发修炼秘籍 1、恩智浦 S32K1XX系列 S32K14X学习笔记&#xff08;一&#xff09;–S32K汽车MCU资源总结 S32K14X学习笔记&#xff1a…

第二章 数据类型、运算符与表达式

如何打开项目 如何打开已经存在的解决方案&#xff1f; 找到要打开的解决方案目录&#xff0c;进去之后双击后缀为.sln的文件即可打开该解决方案。 或者从最近打开项目中打开&#xff1a; Online Judge使用 OJ简介 在线判题系统&#xff08;Online Judge&#xff0c;缩写OJ…

WebService接口测试

WebService的理解 WebService就是Web服务的意思&#xff0c;对应的应用层协议为SOAP&#xff08;相当于HTTP协议&#xff09;&#xff0c;可理解为远程调用技术。 特点&#xff1a; 客户端发送的请求主体内容&#xff08;请求报文&#xff09;的格式为XML格式 接口返回的响…

【P36】JMeter 交替控制器(Interleave Controller)

文章目录 一、交替控制器&#xff08;Interleave Controller&#xff09;参数说明二、测试计划设计 一、交替控制器&#xff08;Interleave Controller&#xff09;参数说明 可以将内部的组件在线程迭代时交替执行&#xff1b;交替控制器内部一般会有多个取样器 选择线程组右…

黑马Redis视频教程高级篇(一:分布式缓存)

目录 分布式缓存 一、Redis持久化 1.1、RDB持久化 1.1.1、执行时机 1.1.2、RDB原理 1.1.3、小结 1.2、OF持久化 1.2.1、AOF原理 1.2.2、OF配置 1.2.3、AOF文件重写 1.3、RDB与AOF对比 二、Redis主从 2.1、搭建主从架构 2.1.1、集群结构 2.1.2、准备实例和配置 …

多层级table联动

elementui 多层级table联动&#xff1a; 引用&#xff1a; https://blog.csdn.net/weixin_44780971/article/details/130054925 https://blog.csdn.net/qq_42581563/article/details/114325920 需要了解的属性&#xff1a; select-all 全选的时候执行select &#xff1a; 选择…

linux高级---k8s中的五种控制器

文章目录 一、k8s的控制器类型二、pod与控制器之间的关系三、状态与无状态化对特点四、Deployment1、Deployment的资源清单文件2、在配置清单中调用deployment控制器3、镜像更新4、金丝雀发布5、删除Deployment 五、Statefulset六、DaemonSet1、daemonset的资源清单文件2、在配…

点到直线距离

点到直线距离最小二乘解释 推倒部分 形象描述是C到AB距离最短&#xff0c;也就是CD最短用数学语言描述是 m i n ∣ ∣ ( B − A ) λ A − C ∣ ∣ min||(B-A) \lambda A - C || min∣∣(B−A)λA−C∣∣ 其中 D ( B − A ) λ A D (B-A) \lambda A D(B−A)λA,其实本质…

使用Windbg动态调试目标进程的一般步骤及相关要点详解

目录 1、概述 2、将Windbg附加到已经启动起来的目标进程上&#xff0c;或者用Windbg启动目标程序 2.1、将Windbg附加到已经启动起来的目标进程上 2.2、用Windbg启动目标程序 2.3、Windbg关联到目标进程上会中断下来&#xff0c;输入g命令将该中断跳过去 3、分析实例说明 …