IRF之分布式弹性路由( 三 )


下文图5中以RIP协议为例对华为3Com的方案进行了简要说明,图5中Unit1和Unit2组成了一个Fabric,这个Fabric从Unit1和Unit2分别收到了RIP协议报文,并且Unit1和Unit2都向外界发送了RIP协议报文,但是只有Unit1的报文被成功发送出去,而Unit2的RIP协议报文被Fabric系统在内部抑制,从而对于外界设备来说,整个Fabric只发出一份路由协议报文来 。
图5 Fabric收发路由协议报文示意图
静态路由协议的热备份
静态路由协议的热备份相对比较简单,因为所有静态路由都是通过配置产生的,只要实现上文所说的把Fabric作为一台设备进行配置的功能,即用户配置的任何一条命令都会在所有Unit上同时执行,那么每一个Unit根据配置命令产生的静态路由也是完全一致的 。
RIP路由协议的热备份
RIP路由协议是目前各种路由协议中相对比较简单的协议,它没有复杂的协议状态机,只是根据RIP协议报文来互相交互路由信息,因此只要让Fabric中的每一台Unit处理的RIP协议报文完全一致就可以保证每一台Unit上生成的RIP路由完全一致 。
要实现这个功能,就必须要保证Fabric中的每一台Unit在相同的时间,以相同的时序收到完全相同的协议报文,并且处理该协议报文的所有前提条件(例如接口状态等)都是完全一致的 。采取的办法是在所有Unit各种协议状态完全一致的情况下,任意一个Unit收到外界传来的RIP协议报文就马上同步给其它所有Unit,让Fabric中的所有Unit上同时能处理到同样的RIP协议报文,从而保证每个Unit生成RIP路由的一致性 。
OSPF路由协议的热备份
OSPF是目前网络上应用最广的路由协议之一,同时也是最复杂的路由协议之一 。它包含Down、Loopback、Waiting、Point-to-point、DR Other、Backup、DR等七个接口状态以及Down、Attempt、Init、2-Way、ExStart、Exchange、Loading、Full等八个邻居状态,另外还包括Router-LSAs、Network-LSAs、Summary-LSAs (IP network)、Summary-LSAs (ASBR)、AS-external-LSAs、type-7 LSA(NSSA)等各种类型的LSA以及HELLO(Hello Packets)、DD(DatabaseDescription Packets)、LSR(Link State Request Packets)、LSU(Link State Update Packet)、LSAck(Link State Acknowledgment Packet)等五大类协议报文,最要害的是OSPF的各种接口状态、邻居状态以及相关报文处理都是环环相扣的关系,它们之间互相作用互相推进并互相限制,任何状态以及相关时序的混乱都会导致OSPF邻居无法成功建立,网络无法及时得到收敛 。所以要使得Fabric中各个Unit上各种OSPF路由信息保持完全一致、各种OSPF协议状态保持完全同步是一个非常复杂且庞大的工程 。
华为3Com凭借多年深厚的技术积累以及相应开发团队的不断努力,终于攻克了上文提到的难题,在业界首次成功完成了OSPF协议热备份的开发工作,并且经受住了反复测试以及实验局的考验,在功能和性能上都取得了非常好的效果 。
采用华为3Com的这种技术后可以轻松切换工作设备、并且整个切换过程快速、平滑,不会引起OSPF邻居关系的重建和路由振荡 。因此可以说是首次在业界实现了切换工作设备时不中断路由协议、不中断业务的真正协议热备份 。
华为3Com这次自主研发并具有独立知识产权的OSPF协议热备份技术主要由以下几个要害技术点组成:
1、OSPF IRF的协议报文处理以及FLOOD过程
上文“作为一台设备运行路由协议”一节中已经描述了在Fabric中各个Unit上的路由协议报文的发送过程,即采取的办法是从所有Unit中选出一个Unit来发送路由协议报文,其它Unit发送的路由协议报文都将被抑制,这样做的目的是使得整个Fabric只发出一份路由协议报文来,对于外界设备来说,就像只有一台设备在运行路由协议一样 。

推荐阅读