如何正确选择动态路由协议

路由器和某些第3层设备(例如,多层交换机)使用路由协议根据网络地址信息动态地做出数据包转发决策。路由器仅通过将其接口之一直接连接到该特定网络即可知道如何访问网络。

借助动态路由协议, 路由器可以动态交换路由信息,并在网络条件发生变化时根据可用路径更新其路由列表。本文介绍了不同路由协议的功能,并简要阐明了它们的工作方式。

如何选择动态路由协议

您可以在网络中使用许多路由协议,例如RIPv2,RIPng,OSPFv2,OSPFv3,EIGRP,BGP和MP-BGP。有了所有这些选择(还有更多选择),我们需要考虑要设计的网络的几个基本需求,以找出哪种路由协议是最佳选择。当您了解有关这些路由协议的更多信息时,牢记以下特征可以帮助您进行协议的并行比较:

  • 可扩展性
  • IT人员对协议的熟悉
  • 收敛速度
  • 内部或外部路由
  • 路由协议的类型

在以下各节中,我们将仔细研究这些特征。

可扩展性

您的网络现在有多大,它可能会变成多大?这些问题的答案可以帮助您确定网络中应使用的路由协议。例如,虽然您可以仅通过几个路由器在网络中静态配置路由,但这种解决方案不适用于具有数十个路由器的大型网络。

尽管前面提到的所有动态路由协议都能够支持大多数中型企业网络,但是您应该意识到它们的局限性。例如,所有版本的RIP的最大跳数(中间的最大路由器数量)为15个路由器。另一方面,BGP具有很大的可扩展性,这就是BGP是Internet上使用的主要路由协议的原因。

IT人员对协议的熟悉

您和您的公司(或您客户的公司)的IT员工可能更熟悉一种路由协议。由于更快地进行故障排除和维护,因此选择IT人员更熟悉的路由协议可以减少工作时间和停机时间。

此外,如果IT人员更熟悉一种路由协议的内部工作原理,他们将更有可能利用该协议的重要特性并调整协议参数以获得更好的性能。

融合速度

与静态配置的路由相比,动态路由协议的一个好处是动态路由协议可以绕网络故障进行重新路由。例如,在下图中,运行在路由器R1上的路由协议可能已选择通过路由器R3的路径作为到达连接到路由器R4的192.168.1.0 / 24网络的最佳路由。

但是,假设在路由器R3和R4之间的快速以太网链路上发生了链路故障。路由器R1的路由协议应该能够通过路由器R2发送发往192.168.1.0 / 24网络的数据包绕链路故障重新路由。 

路由协议备份路径

在发生此故障转移并且网络达到稳态条件之后(即,路由协议了解当前网络条件并根据这些条件转发流量),该网络被称为融合网络。故障转移发生的时间称为收敛时间

某些路由协议的收敛时间比其他路由协议快。例如,取决于网络拓扑,RIP和BGP可能需要花费几分钟的时间才能收敛。相比之下,OSPF和EIGRP可以在几秒钟内收敛。 

内部或外部路由

自治系统(AS)是受单一管理控制的网络。例如,您公司的网络可能位于单个AS中。当您的公司连接到两个不同的ISP时,它们各自位于自己的AS中。 

在前面的图中,公司A的AS号为65000。ISP1使用的AS号为65100,ISP 2使用的AS号为65200。

AS号路由协议

选择路由协议时,您需要确定协议将在何处运行。它会在自治系统内还是在自治系统之间运行?该问题的答案确定您需要内部网关协议(IGP)还是外部网关协议(EGP)。

  • IGP: IGP在单个AS中的路由器之间交换路由。常见的IGP包括
    OSPF和EIGRP。尽管不那么流行,但RIP和IS-IS也被视为IGP。
  • EGP:今天,唯一使用的EGP是边界网关协议(BGP)。但是,从历史的角度来看,要知道还有另一个EGP,它实际上被称为外部网关协议(EGP)。请记住,您也可以在AS中使用内部BGP(iBGP)。


路由协议类别

对路由协议进行分类的另一种方法是基于其如何接收,通告和存储路由信息。三种基本方法是距离矢量链接状态路径矢量

距离矢量

距离矢量路由协议将其路由表的完整副本发送到其直接连接的邻居。这是一个周期性的通告,这意味着即使拓扑没有变化,距离向量路由协议也会以固定的间隔将其完整的路由表通告给邻居。

显然,这种周期性的冗余信息通告效率低下。理想情况下,您希望路由信息的完整交换仅发生一次,并且随后的更新将由拓扑更改触发。

距离矢量路由协议的另一个缺点是它们收敛所需的时间。这是所有路由器响应于网络中任何拓扑更改而更新其路由表所需的时间。

距离矢量路由协议的另一个问题是路由回路的潜力。为了说明,请考虑下图。在此拓扑中,所使用的度量标准是跳数,即到达网络必须经过的路由器数量。作为一个示例,路由器R3的路由表具有路由器10可用的网络10.1.1.0 / 24的路由条目。

为了使路由器R3到达该网络,必须转换两个路由器(路由器R2和R1)。结果,网络10.1.1.0 / 24出现在路由器R3的路由表中,其度量标准(跳数)为2。

失败前的路由循环

继续该示例,假设路由器R3上的接口Ethernet 1/0掉线了。如下图所示,路由器R3丢失了到网络10.1.4.0 / 24的直接连接路由(度量标准为0);但是,路由器R2在其路由表中具有到10.1.4.0 / 24的路由(度量标准为1),并且此路由已通告给路由器R3。路由器R3将10.1.4.0的此项添加到其路由表中,并将度量标准增加1。

失败后的路由循环

这种情况下的问题是路由器R2的路由表中的10.1.4.0 / 24条目是由于路由器R2从路由器R3接收到的广告引起的。现在,路由器R3依赖于该路由,该路由不再可用。

随着路由器R3将其新学习的路由10.1.4.0 / 24(度量值为2)通告给其邻居路由器R2,路由循环继续进行。因为路由器R2最初是从路由器R3学习10.1.4.0 / 24网络的,所以当路由器R3看到路由器R3公布同一度量标准为2
的路由时,网络将在路由器R2的路由表中更新为度量标准3。

通过使用距离矢量路由协议防止环路

距离矢量路由协议通常使用以下两种方法之一来防止路由环路:

  • 水平分割:水平分割功能可防止在一个接口上学到的路由从同一接口发布回。
  • 毒性逆转:“毒性逆转”功能会导致在一个接口
    上接收的路由以相同的度量从无限大的同一个接口通告出去。

将任何一种方法应用于上一示例都将阻止路由器R3根据来自路由器R2的通告将10.1.4.0 / 24网络添加到其路由表中。

属于距离矢量类别的路由协议包括:

  • 路由信息协议(RIP):一种使用跳数度量的距离矢量路由协议。在基于RIP的网络中,两个路由器之间的最大跳数为15。因此,跳数16被认为是无限的。
  • 增强型内部网关路由协议(EIGRP):EIGRP是Cisco专有协议,直到2013年初,在仅限Cisco的网络中广受欢迎;但是,其他供应商现在可以在其路由器上实现EIGRP。

EIGRP被归类为高级距离矢量路由协议,因为它改进了距离矢量路由协议的基本特征。例如,EIGRP不会定期将其整个IP路由表发送给其邻居。相反,它使用触发的更新,并且收敛迅速。 此外,EIGRP可以支持多种路由协议(例如 IPv4 和 IPv6)。EIGRP甚至可以使用思科服务广告框架(SAF)来广告网络服务(例如,用于统一通信网络的路由计划信息)。 

链接状态

链接状态路由协议可以使路由器构建网络的拓扑图,而不是让相邻的路由器彼此交换其完整的路由表。然后,类似于汽车中的全球定位系统(GPS),路由器可以执行算法来计算到达目标网络的最佳路径。

路由器发送链路状态通告(LSA)来通告他们知道如何到达的网络。然后,路由器使用这些LSA来构建网络的拓扑图。针对该拓扑图运行的算法称为 Dijkstra(最短路径优先算法)。

与距离矢量路由协议不同,链路状态路由协议仅在两个路由器最初形成邻接关系时才交换完整的路由信息​​。然后,响应于网络中的变化而发送路由更新,而不是定期发送。与距离矢量路由协议相比,链路状态路由协议的收敛时间更短。

可以归类为链路状态路由协议的路由协议包括:

  • 开放式最短路径优先(OSPF):一种链路状态路由协议,该协议使用
    成本度量标准,该度量标准基于两个路由器之间的链路速度。OSPF是一种流行的IGP,因为它具有可伸缩性,快速收敛和供应商互操作性。
  • 中间系统到中间系统(IS-IS):此链路状态路由协议的操作类似于OSPF。它使用与接口关联的可配置但无量纲的度量标准,并运行Dijkstra(最短路径优先算法)。

路径向量

路径向量路由协议包括有关数据包到达特定目标网络所采用的确切路径的信息。该路径信息通常由一系列自治系统组成,数据包通过该自治系统传播以到达其目的地。在当今的现代网络中,边界网关协议(BGP)是您可能会遇到的唯一广泛使用的路径矢量协议。实际上,BGP被认为是运行Internet的路由协议,Internet是多个自治系统的互连。但是,BGP中的路径选择不仅仅基于AS跃点。BGP还可以考虑其他各种参数。有趣的是,这些参数都不基于链接速度。 

同样,尽管BGP具有难以置信的可伸缩性,但是在拓扑变化的情况下它不能快速收敛。BGP的当前版本为BGP版本4(BGP-4)。但是,对BGP-4的增强称为多协议BGP(MP-BGP)支持路由多个路由协议,例如IPv4和IPv6。 

路由协议类别摘要

作为参考,下表根据路由协议的类型以及它们主要是IGP还是EGP对路由协议进行了分类。

路由协议摘要

请注意,通过路由重新分配过程,网络可以同时支持多个路由协议。例如,路由器可以使一个接口参与网络的OSPF区域,而另一个接口参与EIGRP区域。

然后,该路由器可以采用通过OSPF获知的路由,并将这些路由注入EIGRP路由过程。同样,可以将EIGRP学习的路由重新分配到OSPF路由过程中。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁