网络路由是网络通信的重要组成部分,通过互联网将信息从源地址移动到目的地的过程。路由发生在 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 插件。