OSPF NSSA区域默认路由发布引发的问题

一、关键术语
OSPF
NSSA METRIC 类型
 
二、设备类型和版本
设备类型 版本 备注
ZXR10 T128
与版本无关
ZXR10 T 64G
与版本无关

 
三、网络拓扑
OSPF NSSA区域默认路由发布引发的问题_第1张图片

组网介绍:
某省的 NE80 T128 都属于 OSPF 骨干区域,每个地市都有一个独立的 NSSA 区域,由该地市 NE80 T128 充当该区域的 ABR .按照规划:核心 NE80 向整个 OSPF 域下发缺省路由;各地市 ABR 向所在 NSSA 区域下发缺省路由;另外,各地市的 T 64G 由于特殊的原因也需要通告一条默认路由(需要在 ABR 失效时候给其他设备通告默认路由,做为备份,图中没有表示);
 
四、故障现象描述
运营商反映: A 市, B 市和 D 市的流量全部中断,但 C 地市的业务都没有问题;问题出现时,出现故障的地市 T128 的缺省路由都指向了本市的核心交换机 T 64G 。通过在三台 ABR 上添加默认路由指到骨干区域,故障得以恢复;经检查, C 地市之所以没有出现故障是因为 T128 上配置了静态的默认路由;
 
五、处理方法
为什么出现问题时,作为 ABR NE80 T128 ,其默认路由会指到 T 64G ?让我们先看一下做为 ABR T128 以及 T 64G 的配置是怎样的:
T 64G

router ospf 1
  router-id 222.49.10.254
  network 222.49.10.132 0.0.0 .3 area 0.0.3.28
  network 222.49.10.148 0.0.0.3 area 0.0.3.28
  network 222.49.10.152 0.0.0.3 area 0.0.3.28
  network 222.49.10.156 0.0.0.3 area 0.0.3.28
  network 222.49.10.254 0.0.0.0 area 0.0.3.28
  area 0.0.3.28 authentication message-digest
  area 0.0.3.28 nssa default-information-originate no-summary
 
//
因特殊需要发布的缺省路由
  redistribute connected
  redistribute static
注: OSPF 协议并没有规定 NSSA 内部路由器不能发布缺省路由
 
T128

T128-R1#sh run | be router ospf
Building configuration...
router ospf 1
  router-id 222.49.10.250
  network 222.49.10.128 0.0.0.3 area 0.0.0.0
  network 222.49.10.132 0.0.0.3 area 0.0.3.28
  network 222.49.10.136 0.0.0.3 area 0.0.3.28
  network 222.49.10.250 0.0.0.0 area 0.0.0.0
area 0.0.3.28 authentication message-digest
area 0.0.3.28 nssa default-information-originate no-summary
                    // 做为 ABR NSSA 内部发布的缺省路由
正常情况下, T128 会学习骨干 NE80 发布的缺省路由,而不会学习 T 64G 发布的缺省路由,那么故障发生时,最大的可能性就是 NE80 的缺省路由失效了:
在故障恢复后,我们查看 T128 database ,发现了两条默认路由的 LSA
  Type-5 AS External Link States
 
  LS age: 1493
  Options: (No TOS-capability, No DC)
  LS Type: AS External Link
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 211.98.46.230 //
经查证是核心 NE80 loopback
  LS Seq Number: 0x80007154
  Checksum: 0x1abd
  Length: 36
  Network Mask: /0
  Metric Type: 2 (Larger than any link state path)
  TOS: 0
  Metric: 1000
  Forward Address: 0.0.0.0
   
 
  Type-7 AS External Link States (Area 0.0.3.28)
 
  LS age: 968
  Options: (No TOS-capability, No Type 7/5 translation, No DC)
  LS Type: AS External Link
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 222.49.10.254
   // NSSA 内部的 T 64G
  LS Seq Number: 0x80002373
  Checksum: 0x 881a
  Length: 36
  Network Mask: /0
  Metric Type: 2 (Larger than any link state path)
  TOS: 0
  Metric: 1
  Forward Address: 0.0.0.0
   
 
从上面的结果来看,核心 NE80 所发布的默认路由 LSA 并没有丢失,那为什么在故障发生时, T128 却将默认路由指向了 T 64G 呢?经过仔细比对两条 LSA ,见上面红色标注部分:
 
核心 NE80 发布 T 64G 发布
LSA
类型 LSA 5 LSA 7
Metric Type
类型 2 类型 2
Metric 1000 1

 
发现,两个 LSA 的类型不同,那个更优先呢?经过咨询研发,答案是没有差别,优先级一样!那 Metric Type 又一样,只有 Metric 不同, T 64G 发布的默认路由的 Metric 更低;这就解释了为什么 T128 的默认路由指向了 T 64G
但另外一个问题随之而来,之前业务一切正常时候, T128 的默认为什么会指向骨干域呢?难道是核心 NE80 在故障发生时修改了配置?又或者核心 NE80 通告的默认路由 Metric 发生了变化?根据已知的信息和局方沟通,局方排查网络后,问题原来另有原因:
实际上,在之前网络一切正常的时候, T128 上面应该能看到三条 LSA ,除了上述两条之外,还有一条:
  Type-5 AS External Link States
 
  Routing Bit Set on this LSA
  LS age: 1295
  Options: (No TOS-capability, No DC)
  LS Type: AS External Link
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 211.98.46.234
   //A 地市 NE80 loopback
  LS Seq Number: 0x80000053
  Checksum: 0xd 4f 1
  Length: 36
  Network Mask: /0
  Metric Type: 1 (Comparable directly to link state metric)
  TOS: 0
  Metric: 1000
  Forward Address: 0.0.0.0
 
原来,作为 A 地市 ABR NE80 之前也一直在通告默认路由,我们不妨再将三条默认路由的 LSA 做一下比较:
 
核心 NE80 发布 T 64G 发布 A 地市 NE80 发布
LSA
类型 LSA 5 LSA 7 LSA 5
Metric Type
类型 2 类型 2 类型 1
Metric 1000 1 1000

 
经过咨询研发,由于 OSPF 外部路由引入类型 1 要比类型 2 优先,因此之前各地市的默认路由实际上是由 A 地市的 NE80 通告产生的,那为什么流量没有因为送到 A 地市 NE80 通告的默认路由而继续将数据发送到 A 地市的 NE80 呢?这是由现场的组网环境所决定的,由于其他地市 ABR 到达 A 地市 NE80 都要经过省核心 NE80 ,流量一旦到了核心 NE80 就直接走静态默认路由出去了,而不会送到宜春 NE80
当天出现故障的时候,由于宜春 NE80 发生了异常,导致其宣告的默认路由失效,因此才会导致故障的出现;可见,原先表面上看起来是正常工作的网络实际上暗藏许多问题。
目前,局方已经将 T 64G 上通告的默认路由取消, NSSA 区域内部的冗余性改由其他方式提供;
当然,也可以通过修改 T 64G 上通告默认路由的 Metric 值来规避故障(改大),但还是建议取消其通告的默认路由
 
六、故障处理总结
1
、用户业务正常不代表网络运行正常;
2
、合理的路由规划非常重要;
3
、故障出现时,第一是恢复用户业务,其次才是查找故障原因;
 
七、备注
介绍下默认路由的比较规则:
3
> ext1 5/7 >ext2 5/7
如果 ext-type 相同
metric
小的优先
如果还区分不开
nssa +p
7 型) > ase 5 型) >nssa no p 7 型)
p
NSSA LSA 上的是否翻译的选项
 
关于 ext-type (就是 metric type ), 1 型是骨干网上最经常使用的,因为他还能计算出 OSPF 区域内部的 cost 值,为路由的灵活控制和优化提供了可能;
另外,当一个 OSPF 区域有两个 ASBR 的时候,他们通告的默认路由一定要保持 ext-type 一致;

你可能感兴趣的:(默认,ccnp,ospf,NSSA区域,路由发布)