OSPF over Demand Circuit实现细节

Section I. OSPF over Demand Circuit实现原理
 
在demand circuit链路上的OSPF包:
  • hello包,只在链路初始化时发送,用于同步LSDB,在LSDB同步完成后,hello包再也不发送。
  • LSA洪泛,只在同步LSDB时发送,在完成后没有进一步的同期更新(30分钟refresh timer),除非有LSA的变动并产生一个新的LSA实例。
 
由于LSA不能周期性的更新,那LSA就有可能到达MaxAge(1小时,3600秒),因此在Circuit链路上必须去避免,实现方式是:
在Age字段的最高位为DoNotAge位,咱们能够置位这个bit,当它存在于LSDB中时就不会逐渐增长了,但其在LSA洪泛过程当中仍是会根据InfTransDelay而不断增长的。
 
为了使所有OSPF节点可以识别这个DoNotAge位的capability,就要在咱们的Hello/DD/LSA的Options字段中置位DC位(Demand Circuit)。这样两个OSPF节点在创建Adjacency时就会协商这个capability,若是area中有一个节点不能支持此特性,则DC位必须被清除,那咱们的DoNotAge位也就不生效了。
若是同一area中的任意一个节点的LSDB中的LSA的DC Options位被清除了,则路由器清除LSDB中全部的DoNotAge的LSA,LSA发送源必须发送一个新的DoNotAge清除的LSA。
 
注:推荐将demand circuit配置于一个stub/nssa area,从而避免ABR或ASBR产生带有type3/4/5/7的LSA。
 

Section II. demand circuit链路问题

1>由于没有hello在demand circuit链路上进行neighbors的监控,若是有一端down掉了,对端也不知道。
解决方案:
neighbor probing:在有数据发送使demand circuit打开时,OSPF发送更新,并等待ACK确认,若是对端down掉了,则这时能够探测到此问题。
2>当两端节点都是正常的,可是link是不通的,由于没有hello交互,因此不能发现这种问题。
解决方案:
presumption of reachability:OSPF老是假定link是UP的,即便link在数据传输时不通了,OSPF会认为link的负载过大,直接将数据包丢弃,而不会认为link是down的,进而使OSPF邻居关系down掉。

注:ospf over demand circuit总不是一个好的解决方案,推荐在链路两端使用静态或是默认的路由。
 
 
Section III. flood reduction(洪泛抑制)

尽管ospf over demand circuit是一个很差的解决方案,但能够有一些措施使实现结果不会太坏,那就是flood reduction。
使用这个技术后,hello包如其它连接同样正常的周期性发送,可是LSA被标记DoNotAge位,这样LSA就不会周期刷新,除非:
LSA Options字段改变。
收到一个新的age字段为MaxAge的LSA。
LSA头中的length字段变化。
LSA的内容变动。
配置接口的flood reduction:
Router(config-if)# ip ospf flood-reduction
相关文章
相关标签/搜索