目录
1、路径不佳
在前面的我们说明了路由控制的相关知识,其中底层互通使用的都是一个协议OSPF,但是往往在实际情况中,我们可能会遇到多个路由协议之间的相互引入。在这过程中也会出现一些问题。这篇文章来记录不同协议之间路由引入的一个问题。前面的示例大家可以看这篇文章:
https://blog.csdn.net/weixin_43997530/article/details/108908937
从图中我们可以看出,公司的网络拓扑分别使用了OSPF和RIP协议,在RTB和RTC路由器上引入了RIP路由后,默认只选择一条最优路径,而另一条路径闲置,链路带宽利用率降低。这里我们可以通过修改RTA与RTC接口的OSPF开销值来实现负载均衡。如下图:
2、次优路径
拓扑:A、C、B之间运行的是ISIS协议,B、C、D之间运行的是RIP协议;路由器D后有一个环回:2.2.2.2.
当我们把RIP的路由在RTC上引入ISIS协议中,RTB就会学习到从ISIS协议中的2.2.2.2网段,虽说也会从RIP协议学到该网段,但是由于管理距离的关系,RTB会优先选择ISIS协议传递过来的路由。这时就会出现次优路径,如下图所示:
解决
1、路由过滤解决次优路径
RTC上引入RIP路由:
isis 1
import-route rip 1
RTB上过滤掉2.0.0.0的网段:
acl 2001
rule 5 deny source 2.0.0.0 0.255.255.255
rule 10 permit
isis 1
filter-policy 2001 import
查看RTB的路由表:
displayip routing-table
Destination/Mask Proto Pre Cost NextHop Interface
2.0.0.0/8 RIP 100 1 24.24.24.2 Serial1
2、调整协议优先级
RTB上调整ISIS协议的优先级,只要比RIP大即可:
isis 1
preference 150
3、路由环路
拓扑:A、B、C、E之间运行的是OSPF协议,C、E、D之间运行的是ISIS协议。路由器A后面有一个环回:2.2.2.2/32。我们现在做如下操作:
在路由器A引入直连路由时, 将环回的cost值改为2,这个2.2.2.2网段的路由会在OSPF域内传播,路由器B会收到一条AD值为150,开销值为2的路由。B将路由扩散到C、E路由器,然后我们在E路由器上做一个引入操作,将路由引入到ISIS中去,这,时路由条目的AD值会变为15,此时路由器C会收到这条路由,最后我们在路由器C上将ISIS的路由引入到OSPF中,由于这里我们没有修改开销值,这里会采用默认的开销值1。
这时路由器C将路由传递给路由器B,环路就此形成;路由器B就会收到两个2.2.2.2网段的路由,但是查看开销值,会优先选择路由器C传来的。当路由器D想要去访问2.2.2.2网段,先找到路由器E,路由器E找到下一跳是路由器B,而路由器B会优先选择路由器C,路由器C的路由也是路由器D给的,至此形成路由环路。
解决
1、路由过滤
环路产生,究其原因就是将原本属于OSPF域的路由穿越ISIS域又回到了OSPF域,原本路由信息的度量值被清洗掉了,导致环路。我们可以在RTC上配置过滤策略,不将OPSF域学习到的路由,重新引入OSPF域内。
RTC上配置过滤:
acl 2001
rule 0 deny source 2.0.0.0 0.255.255.255
rule 1 permit
ospf 1
import-route isis 1 route-policy RP1
route-policy RP1 permit node 10
if-match acl 2001
2、调整协议优先级
其次,我们可以调整协议优先级,让RTC不选择ISIS传递过来的路由,但是这有个缺点,就是ISIS传递的所有路由都不会优先选择。
RTC上调整ISIS的协议优先级:
isis 1
preference 160
ospf 1
import-route isis 1