双点双向路由引入

一、概述

简单来说,双点双向路由引入是指两个或两个以上的AS边界设备运行有两个不同的路由进程,在AS边界设备上使一个路由进程与另一个路由进程互相引入,以实现互通、冗余的效果。

二、双点双向路由引入存在的问题

1.次优路径

主要原因是路由协议的优先级,当低优先级的路由被引入到高优先级路由中时就会产生次优路径,反之则没有。

常见路由协议的内外优先级:

路由协议

内部优先级

外部优先级

直连路由

0

0

静态路由

60

60

OSPF

10

150

ISIS

15

15

RIP

100

100

BGP

255

255

外部优先级:一般是通过import-route引入所生成的路由,即从其他路由协议学习到的路由所携带的优先级。

内部优先级:由本地路由协议生成的路由所携带的优先级,例如OSPF通过network宣告网段所产生的的路由。

说明:除直连路由外,其他路由的外部优先级都可以修改,但内部优先级都不支持修改。当去往同一目标网段的路由比较到优先级时,优先比较路由的外部优先级,相同则比较内部优先级。

2.路由回馈

次优路径的问题产生后,再次将路由引回时所导致的,举例来说就是从OSPF引入到ISIS的OSPF路由,再从ISIS引回OSPF。这种情况可能导致路由环路。

3.路由环路

发往目标节点的数据包在多台路由器之间来回转发,直到报文TTL值老化才会被丢弃。如果在某一时刻,当前网络中存在大量发往该目标节点的数据包时,可能导致网络瘫痪。

三、实验

1.实验说明

接口地址按照图中标注网段进行配置,地址为设备编号。AR1和AR6创建环回接口loopback 1,模拟其他网段。AR1和AR6上执行import-static direct引入直连路由也就是lo 1网段。

2.做双点双向路由引入

在AR3和AR4上分别将OSPF路由引入至ISIS,ISIS路由引入至OSPF。

查看路由表,我们只关注192.168.1.0/24和172.16.1.0/24这两条路由。

通过上述路由表,可以知道AR3访问这两个网段都是走的最优路径,未出现次优路径。AR4访问192.168.1.0/24网段就不是走的最优路径,下一跳指向AR5。

原因:AR1上引入了外部路由192.168.1.0/24,在OSPF中,引入的外部路由的优先级都为150,所以AR4上去往该网段的由OSPF生成的路由优先级为150。因为做了双点双向路由引入,这条路由从OSPF中引入到ISIS,又从ISIS引回OSPF,所以当AR4将这条路由添加进全局路由表时,选择优先级更高的ISIS加入全局路由表,而OSPF的就被抑制了。

在AR2的G0/0/2接口抓包,AR4 ping 192.168.1.1

很显然发生路由环路了,查看AR2上的路由表,发现去往192.168.1.0/24网段的路由有两条做负载分担,但是192.168.1.0/24的这条路由本身由OSPF产生,而下一跳为24.1.1.4的路由是被引回来的,产生路由回馈。这也就导致了次优路径的问题,而且只要报文匹配下一跳为24.1.1.4的路由时,就会环路。

OSPF存在两个路由协议优先级,内10,外150。前面有介绍在做双点双向时,只有低优先级路由引入高优先级路由中时才会产生这类问题。OSPF的内部路由(network宣告的网段)、ISIS路由不会产生这类问题。根本原因还是协议优先级,但是又无法避免会遇到一个低优先级和一个高优先级的路由场景。有什么方法解决呢?做路由策略。

四、解决方案

1.水平分割

1.1.对顺时针方向引入的路由做过滤

[R3]route-policy ospf_into_isis permit node 20

[R3-route-policy]apply tag 10      //将所有引入到ISIS的OSPF路由打上TAG 10的标签

[R4]route-policy isis_into_ospf deny node 10

[R4-route-policy]if-match tag 10   //拒绝将ISIS路由中标签为TAG 10的路由重新引回OSPF

[R4]route-policy isis_into_ospf permit node 20

[R4-route-policy]apply tag 20      //将原ISIS中的路由(不带TAG 10)引入OSPF中并打上TAG 20的标签。

[R3]route-policy ospf_into_isis deny node 10

[R3-route-policy]if-match tag 20   //拒绝将OSPF路由中标签为TAG 20的路由重新引回ISIS

[R3]isis      

[R3]cost-style wide      //将度量值风格改为宽度量值,否则ISIS不支持对路由打标签,全网运行ISIS协议的路由器都需要改。

[R3-isis-1]import-route ospf route-policy ospf_into_isis    //在ISIS进程中引入OSPF并调用路由策略

[R4]ospf      

[R4-ospf-1]import-route isis route-policy isis_into_ospf    //在OSPF进程中引入ISIS并调用路由策略

1.2.对逆时针方向引入的路由做过滤

[R4]route-policy ospf_into_isis permit node 20

[R4-route-policy]apply tag 30   //对所有引入到ISIS的OSPF路由打上TAG 30的标签

[R3]route-policy isis_into_ospf deny node 10

[R3-route-policy]if-match tag 30   //拒绝将ISIS路由中标签为TAG 30的路由重新引回OSPF

[R3]route-policy isis_into_ospf permit node 20

[R3-route-policy]apply tag 40   //将原ISIS中的路由(不带TAG 30)引入OSPF中并打上TAG 40的标签。

[R4]route-policy ospf_into_isis deny node 10

[R4-route-policy]if-match tag 40   //拒绝将OSPF路由中标签为TAG 40的路由重新引回ISIS

[R4]isis

[R4]cost-style wide

[R4-isis-1]import-route ospf route-policy ospf_into_isis    //在ISIS进程中引入OSPF

[R3]ospf   

[R3-ospf-1]import-route isis route-policy isis_into_ospf    //在OSPF进程中引入ISIS

说明:AR2路由表中原来那条引回来的路由表项(下一跳24.1.1.4)被成功过滤。

说明:通过路由策略过滤的方式实现水平分割的功能,解决了路由回馈的导致的环路问题,但次优路径还是存在。

2.调整OSPF外部路由优先级

[R3]route-policy ospf_ase permit node 10

[R3-route-policy]if-match tag 20

[R3-route-policy]apply preference 150     //将带有TAG 20的ISIS路由引入时优先级改为150

[R3-ospf-1]preference ase route-policy ospf_ase 10   //将OSPF内外优先级都设置为10,对于匹配路由策略的路由,优先级改为150

[R4]route-policy ospf_ase permit node 10

[R4-route-policy]if-match tag 40

[R4-route-policy]apply preference 150

[R4-ospf-1]preference ase route-policy ospf_ase 10

说明:如果只改OSPF的优先级,又会导致ISIS出现次优路径,通过上面方法,解决了OSPF外部路由次优路径以及引入的ISIS路由的次优路径问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值