多个区域 0 存在,R1、R2、R3、R4都是 ABR,从 ABR 接收到的3类LSA接收但不计算,导致 R2 上的 10 网段R3上计算不出来路由。 多个区域1不需要做虚链路,不会有影响
不连接区域 0,设备不能作为 ABR,不能产生 3 类 LSA,实现不了区域间通信 没有区域0,设备不能作为 ABR,不能产生 3 类 LSA,实现不了区域间通信
在 area1 下 R11 和 R12 建立 vlink,解决 R12 去往 R11 的次优路径
在同一区域下的两个边界路由器上配置 配置Vlink-peer命令时,指定对端邻居的 Router ID 不在特殊区域下配置 vlink 不能够跨区域配置(因为不在同一区域,不能通过1类LSA和2类LSA计算出3类LSA,无法得知设备的拓扑位置) Router ID 建议手工配置,OSPF 协议重启后,自动选举的 router id 可能会失效。 不建议长期使用虚连接,Vlink 一般作为过渡技术使用/提供一种冗余技术。
如图所示:在R2和R4之间建立一条Vlink。R5上有一个Loopback接口,地址为5.5.5.5/32,宣告进了区域2。 R4作为区域2中的ABR(R2和R4之间的Vlink建立起来后,R4就成为了一台ABR),会产生关于5.5.5.5网段的三类LSA,并向区域1与区域0(Vlink)泛洪。 此时区域1中的关于5.5.5.5网段的这条三类LSA会传递给R3,R3在区域1中传递给R2。 区域0中的关于5.5.5.5网段的这条三类LSA会通过Vlink传递给R2(Vlink使用单播传递LSA),R2经过区域0传递给R1,R1经过区域0传递给R3(注意R2并不能直接把这条三类LSA传递给R3,因为R2与R3之间的链路在区域1中)。 R3作为Area 0和Area 1的ABR,会将Area 0中关于5.5.5.5的三类LSA再传回给Area 1。 此时分析下R3的情况,R3能收到两条关于5.5.5.5网段的二类LSA (1)由R4产生,在区域0中由R4--R2--R1--R3传递过来且Metric为1 (2)由R4产生,在区域1中由R4--R3传递过来且Metric为1 从非骨干区域收到的三类LSA,ABR能接收但不会计算路由,R3虽然能收到两条关于5.5.5.5网段的三类LSA,但是能使用的只有第一条,即从区域0传递过来的这条三类LSA 此时R3要访问5.5.5.5,会先把数据包转发给R1,R1转发给R2,R2知道去往5.5.5.5的数据包是要转发给R4的,但R2去往R4只能经过区域1传递给R3,此时产生了R3--R2--R1--R3的环路 总结:在华为设备上此环路的解决办法为修改Vlink的邻居建立路由器,在R3与R4之间配置Vlink就可以避免环路。