3.1.1 双点双向的ISIS与OSPF、OSPF与OSPF、ISIS与ISIS环境以路由策略解决(1tag、2tag、4tag介绍与配置)
OSPF与ISIS双点双向
次优的产生与解决:
由于OSPF引入外部路由之后其优先级为150,再由ASBR进行双向引入之后。
原先OSPF外部路由转换成ISIS路由,由优先级150转变为15,故ASBR会使用ISIS中的ospf外部路由条目。
从而产生了路由的次优路径。
解决方法:
-
解决次优路径就从OSPF的外部路由优先级下手,在ASBR上对引入的OSPF外部路由进行修改优先级。
-
通过调整OSPF外部路由优先级为12,使得OSPF外部路由优先级小于ISIS,让ASBR使用正确的OSPF外部路由。
注意:
1、不能直接修改OSPF外部路由优先级为12,而是通过路由策略修改引入的外部路由。
2、 如果修改OSPF外部路由优先级为12,当ISIS路由引入OSPF后,ISIS由原先的15转成12,造成了另一端的次优路径产生。
以下是修改OSPF外部路由优先级为12的后果,将造成ISIS选择到错误的路由。
环路的产生与解决:
1、次优路径没有解决前的环路风险:
没有解决次优路径,优先进行双向引入的ASBR路由表条目正常。
后进行双向引入的ASBR由于早就收到了由ISIS传来的ospf外部路由,故去往ospf外部路由时优先走的是ISIS路由。
后进行双向引入的ASBR会将引入ISIS中的ospf外部路由重新引入回OSPF中,造成环路隐患。
2、次优路径解决后的环路风险:
当通过修改OSPF外部路由方式解决了次优问题,AR23默认不会把错误的ISIS路由引入到OSPF中(因为引入OSPF外部路由优先级已经修改成了12,比ISIS优先)
但当引入的OSPF外部路由断开之后,AR23将可能使用ISIS中的OSPF外部路由,为此将会重新产生环路。
如下图,AR1引入的外部路由断开,AR3使用ISIS中的ospf外部路由,并将ISIS路由重新引入OSPF中造成环路。
解决方法:
- 因为是路由重复引入的问题,故解决环路就需要应用到OSPF与ISIS中都存在的路由属性(Tag标记)。
- 通过对发布出去路由打上Tag标记,在另一端对打上Tag标记的路由进行过滤即可。
- 所以对于路由引入之前,需要先过滤带Tag标记的路由,再对引入的路由打上Tag标记。
1Tag路由策略解决:
正常配置OSPF,AR14正常引入环回网络,AR23正常双向引入。
解决次优路径
AR2
[AR2]acl 2000
[AR2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[AR2-acl-basic-2000]q
# 修改指定的ospf外部路由优先级
[AR2]route-policy ospfpri12 permit node 5
[AR2-route-policy]if-match acl 2000
[AR2-route-policy]app preference 12
[AR2-route-policy]q
# 其它路由优先级不改变
[AR2]route-policy ospfpri12 permit node 10
[AR2-route-policy]q
# 应用修改ospf外部路由优先级
[AR2]ospf 1
[AR2-ospf-1]preference ase route-policy ospfpri12
AR3,与AR2相同操作
[AR3]acl 2000
[AR3-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[AR3-acl-basic-2000]q
# 修改指定的ospf外部路由优先级
[AR3]route-policy ospfpri12 permit node 5
[AR3-route-policy]if-match acl 2000
[AR3-route-policy]app preference 12
[AR3-route-policy]q
# 其它路由优先级不改变
[AR3]route-policy ospfpri12 permit node 10
[AR3-route-policy]q
# 应用修改ospf外部路由优先级
[AR3]ospf 1
[AR3-ospf-1]preference ase route-policy ospfpri12
AR2与AR3路由表,关于ospf外部路由次优问题解决。
<AR2>dis ip routing-table
192.168.1.0/24 O_ASE 12 1 D 10.1.12.1 GigabitEthernet0/0/0
192.168.4.0/24 O_ASE 150 1 D 10.1.12.1 GigabitEthernet0/0/0
<AR3>dis ip routing-table
192.168.1.0/24 O_ASE 12 1 D 10.1.13.1 GigabitEthernet0/0/0
192.168.4.0/24 ISIS-L2 15 74 D 10.1.34.4 GigabitEthernet0/0/1
解决环路隐患
解决逻辑:
AR2将ospf引入到isis打上tag,AR3将isis引入到ospf过滤tag。
AR3将ospf引入到isis打上tag,AR2将isis引入到ospf过滤tag。
AR2将isis引入到ospf打上tag,AR3将ospf引入到isis过滤tag。
AR3将isis引入到ospf打上tag,AR2将ospf引入到isis过滤tag。
四者相结合,需要注意先过滤tag再打上tag,不然打上tag再过滤就是笨蛋了。
AR2将ospf引入到isis先过滤tag再打上tag,AR3将isis引入到ospf先过滤tag再打上tag。
AR3将ospf引入到isis先过滤tag再打上tag,AR2将isis引入到ospf先过滤tag再打上tag。
1tag解决就是说使用一个tag进行解决环路问题,2tag则使用2个tag,4tag使用4个tag。
使用多个tag是为了让路由器对带tag的路由进行更好的管理。
使用1tag方式解决环路,对引入的路由打上tag10。
AR2
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import isis 1 route-policy 1tag
[AR2-ospf-1]isis 1
[AR2-isis-1]import ospf 1 route-policy 1tag
[AR2-isis-1]q
AR3
# 先拒绝带tag路由
[AR3]route-policy 1tag deny node 5
[AR3-route-policy]if-match tag 10
[AR3-route-policy]q
# 再对引入的路由打上tag
[AR3]route-policy 1tag permit node 10
[AR3-route-policy]app tag 10
[AR3-route-policy]q
# 应用在路由引入上
[AR3]ospf 1
[AR3-ospf-1]import isis 1 route-policy 1tag
[AR3-ospf-1]isis 1
[AR3-isis-1]import ospf 1 route-policy 1tag
[AR3-isis-1]q
关于ISIS中的Tag标记
默认情况下的ISIS设备使用的是narrow开销类型,其链路中传递ISIS报文时不会携带Tag标记信息。
AR4,查看详细路由的详细信息(由AR23传来的1.0路由)。
<AR4>display ip routing-table pro isis verbose
Destination: 192.168.1.0/24
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 74
NextHop: 10.1.34.3 Neighbour: 0.0.0.0
State: Active Adv Age: 00h04m22s
Tag: 0 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: D
Destination: 192.168.1.0/24
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 74
NextHop: 10.1.24.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h00m18s
Tag: 0 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0
TunnelID: 0x0 Flags: D
故需要手动调整ISIS路由设备为Wide开销类型。
[AR4]isis 1
[AR4-isis-1]cost-style wide
[AR2]isis 1
[AR2-isis-1]cost-style wide
[AR3]isis 1
[AR3-isis-1]cost-style wide
再次查看AR4的路由详细信息,可以看到Tag字段存在Tag标记了。
<AR4>display ip routing-table pro isis verbose
Destination: 10.1.13.0/24
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 10
NextHop: 10.1.24.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h00m03s
Tag: 10 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0
TunnelID: 0x0 Flags: D
Destination: 192.168.1.0/24
Protocol: ISIS-L2 Process ID: 1
Preference: 15 Cost: 10
NextHop: 10.1.24.2 Neighbour: 0.0.0.0
State: Active Adv Age: 00h00m03s
Tag: 10 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0
TunnelID: 0x0 Flags: D
2Tag路由策略解决:
AR2将ospf引入到isis先过滤tag再打上tag,AR3将isis引入到ospf先过滤tag再打上tag。
AR3将ospf引入到isis先过滤tag再打上tag,AR2将isis引入到ospf先过滤tag再打上tag。
使用2个tag就可以应用在引入到ospf的路由打上tag10,引入到isis中的路由使用tag20。
AR2将ospf引入到isis先过滤tag20再打上tag10,AR3将isis引入到ospf先过滤tag10再打上tag20。
AR3将ospf引入到isis先过滤tag20再打上tag10,AR2将isis引入到ospf先过滤tag10再打上tag20。
ospf引入到isis,过滤tag20主要防止由isis引入到ospf中的路由重新引入回ISIS中,isis引入到ospf过滤tag10亦是这样理解。
解决次优路径问题方式不变。
AR2将ospf引入到isis先过滤tag20再打上tag10,AR3将isis引入到ospf先过滤tag10再打上tag20。
AR3将ospf引入到isis先过滤tag20再打上tag10,AR2将isis引入到ospf先过滤tag10再打上tag20。
AR2与AR3均是相同操作
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 2tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
[AR2]route-policy 2tag permit node 10
[AR2-route-policy]app tag 20
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import isis 1 route-policy 2tag
[AR2-ospf-1]isis 1
[AR2-isis-1]import ospf 1 route-policy 1tag
[AR2-isis-1]q
4Tag路由策略解决:
4tag看似复杂,但也有规律。
其实就是对单个设备双向引入打上不同的标签。
AR2将ospf引入到isis中打上tag10,故AR3就需要在对isis引入到ospf时过滤掉tag10。
依照这种逻辑,就可以知道4个tag其实就是相互过滤与打上标签的过程。
AR2将ospf引入到isis先过滤tag30再打上tag10,AR3将isis引入到ospf先过滤tag10再打上tag30。
AR3将ospf引入到isis先过滤tag40再打上tag20,AR2将isis引入到ospf先过滤tag20再打上tag40。
AR2
# AR2将ospf引入到isis先过滤tag30再打上tag10
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 30
[AR2-route-policy]q
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
# AR2将isis引入到ospf先过滤tag20再打上tag40。
[AR2]route-policy 4tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 4tag permit node 10
[AR2-route-policy]app tag 40
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import isis 1 route-policy 4tag
[AR2-ospf-1]isis 1
[AR2-isis-1]import ospf 1 route-policy 1tag
[AR2-isis-1]q
AR3
# AR3将ospf引入到isis先过滤tag40再打上tag20
[AR3]route-policy 2tag deny node 5
[AR3-route-policy]if-match tag 40
[AR3-route-policy]q
[AR3]route-policy 4tag permit node 10
[AR3-route-policy]app tag 20
[AR3-route-policy]q
# AR3将isis引入到ospf先过滤tag10再打上tag30
[AR3]route-policy 3tag deny node 5
[AR3-route-policy]if-match tag 10
[AR3-route-policy]q
[AR3]route-policy 3tag permit node 10
[AR3-route-policy]app tag 30
[AR3-route-policy]q
# 应用在路由引入上
[AR3]ospf 1
[AR3-ospf-1]import isis 1 route-policy 3tag
[AR3-ospf-1]isis 1
[AR3-isis-1]import ospf 1 route-policy 2tag
[AR3-isis-1]q
来看一下4tag的过滤的逻辑是怎样的:
OSPF与OSPF双点双向
次优的产生与解决:
双向默认引入的外部路由其优先级与总开销都是一样的。
OSPF默认引入的外部路由类型为Type2,其总开销=ASBR到外部路由的开销,且传递过程中不会改变。
故当AR2收到AR1与AR4传来的外部路由,都认为是等价的,将形成负载均衡。
为此就出现了次优路径,这种次优路径的产生原因是开销类型导致的。
解决方法:
方法1,通过修改引入外部路由时设置其开销类型为Style1即可,AR23上引入路由时也需要设置为Style1。
方法2,通过路由策略,在ASBR上手动调整引入到其它路由协议的路由开销。因为路由优先级的修改只能作用于自身设备。
实现AR2、AR3将进程1引入进程2时,把进程1的路由开销调大为100。
这样AR23就不会使用进程1引入到进程2中的路由了。
同样的,AR23将进程2引入进程1时,也进程2的路由开销调在为100。
环路的产生与解决:
只要有路由重新引入的环境,就会存在环路风险。
解决方法则同样是通过打上Tag标记与过滤Tag标记。
1tag
关于OSPF修改开销类型的方式解决次优路由的问题,在上一章节已经提到过。
现通过路由策略修改引入到其它协议中的路由开销,控制次优路由的选举。
环境介绍
AR1、AR2、AR3为OSPF进程1的区域0中,AR2、AR3、AR4为OSPF进程2的区域0中。
AR1、AR4将环回口默认引入到OSPF中,AR2、AR3上对OSPF进程1、进程2进行双向引入。
解决次优路径(半成):
部署好上面的环境之后,观察AR2路由表,可以看到去往AR1、AR4的环回网络都是负载的。
[AR2]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 O_ASE 150 1 D 10.1.12.1 GigabitEthernet0/0/0
O_ASE 150 1 D 10.1.24.4 GigabitEthernet0/0/1
192.168.4.0/24 O_ASE 150 1 D 10.1.12.1 GigabitEthernet0/0/0
O_ASE 150 1 D 10.1.24.4 GigabitEthernet0/0/1
AR2、AR3通过路由策略修改引入路由的开销:
修改之后再次查看OSPF路由表,就能看到正常的选路了。
[AR2]route-policy-change
[AR2]route-policy ospf-cost permit node 5
[AR2-route-policy]app cost 100
[AR2-route-policy]q
[AR2]ospf 1
[AR2-ospf-1]import ospf 2 route-policy ospf-cost
[AR2-ospf-1]ospf 2
[AR2-ospf-2]import ospf 1 route-policy ospf-cost
[AR2-ospf-2]q
但是需要注意的是路由引入的时候只能应用一个路由策略,如果应用了修改路由开销策略,就不能应用打Tag策略了。
为此,就需要针对这个环境,就需要将解决次优路径的策略与解决路由重复引入的策略相结合。
解决次优与环路问题:
AR2将进程1引入到进程2先过滤tag再打上tag并修改开销为100,AR3将进程2引入到进程1先过滤tag再打上tag并修改开销为100。
AR3将进程1引入到进程2先过滤tag再打上tag并修改开销为100,AR2将进程2引入到进程1先过滤tag再打上tag并修改开销为100。
AR2与AR3相同配置。
# 先删除之前配置的半成品开销策略
[AR2]undo route-policy ospf-cost
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag,并修改开销为100。
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app cost 100
[AR2-route-policy]app tag 10
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import-route ospf 2 route-policy 1tag
[AR2-ospf-1]ospf 2
[AR2-ospf-2]import-route ospf 1 route-policy 1tag
[AR2-ospf-2]q
再次查看AR1~AR4关于环回网络的路由,都是正常的了。
<AR1>display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.4.0/24 O_ASE 150 100 D 10.1.13.3 GigabitEthernet0/0/1
O_ASE 150 100 D 10.1.12.2 GigabitEthernet0/0/0
<AR2>display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 O_ASE 150 1 D 10.1.12.1 GigabitEthernet0/0/0
192.168.4.0/24 O_ASE 150 1 D 10.1.24.4 GigabitEthernet0/0/1
<AR3>display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 O_ASE 150 100 10.1.34.4 GigabitEthernet0/0/1
192.168.4.0/24 O_ASE 150 100 10.1.13.1 GigabitEthernet0/0/0
<AR4>display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 O_ASE 150 100 D 10.1.34.3 GigabitEthernet0/0/1
O_ASE 150 100 D 10.1.24.2 GigabitEthernet0/0/0
2tag
AR2将进程1引入到进程2先过滤tag20再打上tag10并修改开销为100,AR3将进程2引入到进程1先过滤tag10再打上tag20并修改开销为100。
AR3将进程1引入到进程2先过滤tag20再打上tag10并修改开销为100,AR2将进程2引入到进程1先过滤tag10再打上tag20并修改开销为100。
AR2与AR3相同配置
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 2tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag,并修改开销为100。
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]app cost 100
[AR2-route-policy]q
[AR2]route-policy 2tag permit node 10
[AR2-route-policy]app tag 20
[AR2-route-policy]app cost 100
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import isis 2 route-policy 2tag
[AR2-ospf-2]ospf 2
[AR2-ospf-2]import ospf 1 route-policy 1tag
[AR2-ospf-2]q
4tag
AR2将进程1引入到进程2先过滤tag30再打上tag10并修改开销为100,AR3将进程2引入到进程1先过滤tag10再打上tag30并修改开销为100。
AR3将进程1引入到进程2先过滤tag40再打上tag20并修改开销为100,AR2将进程2引入到进程1先过滤tag20再打上tag40并修改开销为100。
AR2
# AR2将ospf引入到isis先过滤tag30再打上tag10,并修改开销为100。
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 30
[AR2-route-policy]q
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]app cost 100
[AR2-route-policy]q
# AR2将isis引入到ospf先过滤tag20再打上tag40,并修改开销为100。
[AR2]route-policy 4tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 4tag permit node 10
[AR2-route-policy]app tag 40
[AR2-route-policy]app cost 100
[AR2-route-policy]q
# 应用在路由引入上
[AR2]ospf 1
[AR2-ospf-1]import isis 1 route-policy 4tag
[AR2-ospf-1]isis 1
[AR2-isis-1]import ospf 1 route-policy 1tag
[AR2-isis-1]q
AR3
# AR3将ospf引入到isis先过滤tag40再打上tag20,并修改开销为100。
[AR3]route-policy 2tag deny node 5
[AR3-route-policy]if-match tag 40
[AR3-route-policy]q
[AR3]route-policy 4tag permit node 10
[AR3-route-policy]app tag 20
[AR2-route-policy]app cost 100
[AR3-route-policy]q
# AR3将isis引入到ospf先过滤tag10再打上tag30,并修改开销为100。
[AR3]route-policy 3tag deny node 5
[AR3-route-policy]if-match tag 10
[AR3-route-policy]q
[AR3]route-policy 3tag permit node 10
[AR3-route-policy]app tag 30
[AR2-route-policy]app cost 100
[AR3-route-policy]q
# 应用在路由引入上
[AR3]ospf 1
[AR3-ospf-1]import isis 1 route-policy 3tag
[AR3-ospf-1]isis 1
[AR3-isis-1]import ospf 1 route-policy 2tag
[AR3-isis-1]q
ISIS与ISIS双点双向
ISIS的相关配置
# 引入外部路由
[AR1]isis 1
[AR1-isis-1]network 49.0001.0000.0000.0001.00
[AR1-isis-1]is-level level-2
[AR1-isis-1]import dire
[AR1-isis-1]int g0/0/0
[AR1-GigabitEthernet0/0/0]isis enable
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]isis enable
[AR1-GigabitEthernet0/0/1]q
# 在ISIS中可以配置多个ISIS实例,但其Net地址SystemID部分必须一致。
[AR2]isis 1
[AR2-isis-1]network 49.0001.0000.0000.0002.00
[AR2-isis-1]isis 2
[AR2-isis-2]network 49.0002.0000.0000.0002.00
[AR2-isis-2]q
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]isis enable 1
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]isis enable 2
[AR2-GigabitEthernet0/0/1]q
[AR3]isis 1
[AR3-isis-1]network 49.0001.0000.0000.0003.00
[AR3-isis-1]isis 2
[AR3-isis-2]network 49.0002.0000.0000.0003.00
[AR3-isis-2]q
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]isis enable 1
[AR3-GigabitEthernet0/0/0]int g0/0/1
[AR3-GigabitEthernet0/0/1]isis enable 2
[AR3-GigabitEthernet0/0/1]q
# 引入外部路由
[AR4]isis 1
[AR4-isis-1]network 49.0001.0000.0000.0001.00
[AR4-isis-1]is-level level-2
[AR4-isis-1]import dire
[AR4-isis-1]int g0/0/0
[AR4-GigabitEthernet0/0/0]isis enable
[AR4-GigabitEthernet0/0/0]int g0/0/1
[AR4-GigabitEthernet0/0/1]isis enable
[AR4-GigabitEthernet0/0/1]q
观察路由表,检查是否可能存在次优路径与环路隐患:
不存在次优问题
AR2、AR3的路由表,观察不存在次优路径问题。
<AR2>display ip routing-table protocol isis
ISIS routing table status : <Active>
------------------------------------------------------------------------------
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 ISIS-L2 15 74 D 10.1.12.1 GigabitEthernet0/0/0
192.168.4.0/24 ISIS-L2 15 74 D 10.1.24.4 GigabitEthernet0/0/1
ISIS routing table status : <Inactive>
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 ISIS-L2 15 84 10.1.24.4 GigabitEthernet0/0/1
192.168.4.0/24 ISIS-L2 15 84 10.1.12.1 GigabitEthernet0/0/0
<AR3>display ip routing-table protocol isis
------------------------------------------------------------------------------
ISIS routing table status : <Active>
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 ISIS-L2 15 74 D 10.1.13.1 GigabitEthernet0/0/0
192.168.4.0/24 ISIS-L2 15 74 D 10.1.34.4 GigabitEthernet0/0/1
ISIS routing table status : <Inactive>
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 ISIS-L2 15 84 10.1.34.4 GigabitEthernet0/0/1
192.168.4.0/24 ISIS-L2 15 84 10.1.13.1 GigabitEthernet0/0/0
疑惑:为什么OSPF与OSPF会出现次优而ISIS与ISIS之间不存在次优呢?
因为在ISIS中没有外部路由的说法,当环回口引入ISIS中时其路由优先级为15,传递过程中也是15。
ISIS路由默认引入的路由开销会自动增加,所以不会存在次优路径问题。
AR3上查看ISIS的路由信息,可以看到ISIS区域1中的1.0路由说开销为10,而4.0路由为开销20。
有了开销的自动叠加,所以不会出现次优路径。
[AR3]display isis route
ISIS(1) Level-2 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
192.168.1.0/24 10 0 GE0/0/0 10.1.13.1 A/-/-/-
192.168.4.0/24 20 0 GE0/0/0 10.1.13.1 A/-/-/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
ISIS(1) Level-2 Redistribute Table
----------------------------------
Type IPV4 Destination IntCost ExtCost Tag
-------------------------------------------------------------------------------
I 192.168.4.0/24 0 0
Type: D-Direct, I-ISIS, S-Static, O-OSPF, B-BGP, R-RIP, U-UNR
ISIS(2) Level-2 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
192.168.1.0/24 20 0 GE0/0/1 10.1.34.4 A/-/-/-
192.168.4.0/24 10 0 GE0/0/1 10.1.34.4 A/-/-/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
ISIS(2) Level-2 Redistribute Table
----------------------------------
Type IPV4 Destination IntCost ExtCost Tag
-------------------------------------------------------------------------------
I 192.168.1.0/24 0 0
Type: D-Direct, I-ISIS, S-Static, O-OSPF, B-BGP, R-RIP, U-UNR
存在环路可能
只要存在路由引入,就会出现路由重复引入与环路隐患。
由于区域2中也存在有区域1的路由信息,假设区域1中的路由断开了,对于AR23来说可能会使用区域2中的区域1路由,从而造成环路产生。
1、当AR1环回口存在时
2、当AR1环回中消失之后
删除AR1的环回网络
[AR1]int lo 0
[AR1-LoopBack0]undo ip add
两次查看LSDB中关于AR3传来的LSP详细信息,可以看到之前没有出现的环回网络。
[AR1-LoopBack0]display isis lsdb verbose 0000.0000.0003.00-01
Database information for ISIS(1)
--------------------------------
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0003.00-01 0x0000001d 0x51a8 1139 77 0/0/0
SOURCE 0000.0000.0003.00
IP-External 10.1.24.0 255.255.255.0 COST: 64
IP-External 10.1.34.0 255.255.255.0 COST: 64
IP-External 192.168.4.0 255.255.255.0 COST: 64
IP-External 192.168.1.0 255.255.255.0 COST: 64
为此再次查看AR1~AR4的路由表,可以看到访问192.168.1.0的环路产生。
但产生的现象有点奇怪,不过也能证明环路的隐患存在。
AR1:
192.168.1.0/24 ISIS-L2 15 74 D 10.1.13.3 GigabitEthernet0/0/1
AR2:
192.168.1.0/24 ISIS-L2 15 84 D 10.1.12.1 GigabitEthernet0/0/0
AR3:
192.168.1.0/24 ISIS-L2 15 84 D 10.1.34.4 GigabitEthernet0/0/1
AR4
192.168.1.0/24 ISIS-L2 15 74 D 10.1.24.2 GigabitEthernet0/0/0
1tag
AR2将区域1引入到区域2先过滤tag再打上tag,AR3将区域2引入到区域1先过滤tag再打上tag。
AR3将区域1引入到区域2先过滤tag再打上tag,AR2将区域2引入到区域1先过滤tag再打上tag。
注意:
1、操作之前需要保证ISIS路由器的开销类型为Wide类型。
2、默认的Narrow开销类型,其ISIS报文中不会携带Tag标签信息。
[AR1]isis 1
[AR1-isis-1]cost-style wide
[AR2]isis 1
[AR2-isis-1]cost-style wide
[AR2-isis-1]isis 2
[AR2-isis-2]cost-style wide
[AR3]isis 1
[AR3-isis-1]cost-style wide
[AR3-isis-1]isis 2
[AR3-isis-2]cost-style wide
[AR4]isis 1
[AR4-isis-1]cost-style wide
随后进行配置1tag路由策略进行过滤路由
AR2与AR3相同操作
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag。
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
# 应用在路由引入上
[AR2]isis 1
[AR2-isis-1]import-route ospf 2 route-policy 1tag
[AR2-isis-1]isis 2
[AR2-isis-2]import-route ospf 1 route-policy 1tag
[AR2-isis-2]q
AR2与AR3完成配置之后,再次查看AR1~AR4的路由表,可以发现当192.168.1.0路由断开之后,路由表中的条目也随之消失了。
2tag
AR2将区域1引入到区域2先过滤tag20再打上tag10,AR3将区域2引入到区域1先过滤tag10再打上tag20。
AR3将区域1引入到区域2先过滤tag20再打上tag10,AR2将区域2引入到区域1先过滤tag10再打上tag20。
AR2与AR3相同操作
# 先拒绝带tag路由
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 2tag deny node 5
[AR2-route-policy]if-match tag 10
[AR2-route-policy]q
# 再对引入的路由打上tag
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
[AR2]route-policy 2tag permit node 10
[AR2-route-policy]app tag 20
[AR2-route-policy]q
# 应用在路由引入上
[AR2]isis 1
[AR2-isis-1]import isis 2 route-policy 2tag
[AR2-isis-2]isis 2
[AR2-isis-2]import isis 1 route-policy 1tag
[AR2-isis-2]q
4tag
AR2将区域1引入到区域2先过滤tag30再打上tag10,AR3将区域2引入到区域1先过滤tag10再打上tag30。
AR3将区域1引入到区域2先过滤tag40再打上tag20,AR2将区域2引入到区域1先过滤tag20再打上tag40。
AR2
# AR2将区域1引入到区域2先过滤tag30再打上tag10
[AR2]route-policy 1tag deny node 5
[AR2-route-policy]if-match tag 30
[AR2-route-policy]q
[AR2]route-policy 1tag permit node 10
[AR2-route-policy]app tag 10
[AR2-route-policy]q
# AR2将区域2引入到区域1先过滤tag20再打上tag40
[AR2]route-policy 4tag deny node 5
[AR2-route-policy]if-match tag 20
[AR2-route-policy]q
[AR2]route-policy 4tag permit node 10
[AR2-route-policy]app tag 40
[AR2-route-policy]q
# 应用在路由引入上
[AR2]isis 1
[AR2-isis-1]import isis 1 route-policy 4tag
[AR2-isis-1]isis 2
[AR2-isis-2]import ospf 1 route-policy 1tag
[AR2-isis-2]q
AR3
# AR3将区域1引入到区域2先过滤tag40再打上tag20
[AR3]route-policy 2tag deny node 5
[AR3-route-policy]if-match tag 40
[AR3-route-policy]q
[AR3]route-policy 4tag permit node 10
[AR3-route-policy]app tag 20
[AR3-route-policy]q
# AR3将区域2引入到区域1先过滤tag10再打上tag30
[AR3]route-policy 3tag deny node 5
[AR3-route-policy]if-match tag 10
[AR3-route-policy]q
[AR3]route-policy 3tag permit node 10
[AR3-route-policy]app tag 30
[AR3-route-policy]q
# 应用在路由引入上
[AR3]isis 1
[AR3-isis-1]import isis 2 route-policy 3tag
[AR3-isis-1]isis 2
[AR3-isis-1]import isis 1 route-policy 2tag
[AR3-isis-1]q