OSPF支持Hub-And-Spoke组网技术白皮书

OSPF支持Hub-And-Spoke组网技术白皮书

词:OSPFHub-And-Spoke

  要:Hub-And-Spoke组网是一种典型的网络扁平化组网方案。本文描述了为了使OSPF协议能够更好地支持Hub-And-Spoke组网,H3COSPF协议进行的一系列优化

缩略语:

缩略语

英文全名

中文解释

DD

Database Description

数据库描述报文

LSR

Link State Request Packet

链路状态请求报文

LSU

Link State Update Packet

链路状态更新报文

LSAck

Link State Acknowledgment Packet

链路状态确认报文

LSA

Link State Advertisement

链路状态通告

LSDB

Link State Database

链路状态数据库

OSPF

Open Shortest Path First

开放最短路径优先

 



概述

1.1  产生背景

1.1.1  Hub-And-Spoke组网简介

目前部分行业的组网应用开始出现网络扁平化趋势,Hub-And-Spoke组网就是一种典型的扁平化组网方式。

图1 Hub-And-Spoke组网示意图

和传统的“核心层+汇聚层+接入层”组网相比,Hub-And-Spoke组网省略了汇聚层,核心层设备(Hub设备)直接和多个接入层设备(Spoke设备)相连,如1所示。这样可以减少中间层网络设备数量,简化网络管理和方便网络维护。

另外,此组网还具有高扩展性的特点,在今后网络规模扩大时只需要把核心层下移作为汇聚层,同时增加新的核心层设备即可实现完整的三层体系结构,原有的网络配置可以最大限度得到保留,实现网络平滑扩容。

1.1.2  OSPFHub-And-Spoke组网中的问题和对策

Hub-And-Spoke这种组网中使用OSPF协议进行路由时,通常将Hub设备与所有Spoke设备规划在同一个OSPF区域内,让Hub设备与所有Spoke设备之间维持OSPF邻居关系。此时,Hub设备邻居数量众多,会出现下面的问题:

l              如何保证邻居关系能够稳定维持

能够建立并维持稳定的OSPF邻居关系,这是协议工作的基础。如果Hub设备Hello报文接收和处理不及时,则在Spoke设备上会有邻居超时,需要重新建立邻居关系。

l              如何保证网络稳定所需时间尽量短

Hub设备邻居数量众多,网络收敛达到稳定需要时间比较长。这就要求Hub设备能够用尽量短的时间建立数量众多的邻居,并把变化的路由信息尽快通告给所有的邻居。

l              如何保证不影响其它业务的开展

Hub设备在支持大量OSPF邻居的情况下,还需要运行一些其它业务,比如其它路由协议等,不能因为OSPF消耗大量系统资源而影响其它业务的运行。

针对上面的问题,H3COSPF进行了优化,使之可以有效支持Hub-And-Spoke组网:

l              优先接收和处理Hello报文

l              限制并发建立邻居数目

l              保证报文平缓发送

l              控制LSA的生成

l              控制进行SPF计算的时间间隔

1.2  技术优点

l              大幅度提高了OSPF支持的邻居数目,并提高了邻居建立以及LSDB同步的效率,合理使用系统资源。

l              只需要在Hub设备进行配置,实现简单、方便维护。

技术实现

2.1  概念介绍

l              Hub设备:是Hub-And-Spoke组网中的中心设备,与数量众多的Spoke设备相连。除了支持OSPF基本功能保证网络层互通外,需要进行针对Hub-And-Spoke组网的处理。

l              Spoke设备:是Hub-And-Spoke组网中的边缘设备,与用户网络相连。只需要支持OSPF基本功能保证网络层互通

2.2  技术细节

2.2.1  优先接收和处理Hello报文

设备配置了OSPF优先接收和处理Hello报文功能后,会优先接收Hello报文,这样就避免了同其它报文竞争系统资源,不受其它类型OSPF协议报文和其它协议(比如BGPIS-IS等)报文的影响。OSPF协议也会优先处理Hello报文,使得Hello报文能够得到最大限度的及时处理,优先维持邻居关系。

2.2.2  限制并发建立邻居数目

邻居建立过程中,处于ExchangeLoading状态的邻居需要交互DDLSRLSULSAck等大量报文,如果并发建立的邻居数很多,这时交互报文数量非常多,而系统资源是有限的,会导致大量报文被丢弃或不能及时处理。

H3COSPF协议进行优化,对处于ExchangeLoading状态的邻居数目进行限制。如果总数超过限制值,则不再允许新邻居状态向上进入到这两个状态,暂时将这些邻居状态停留在Exstart。当总数恢复到限制值以下时,才继续允许邻居进入这两个状态。这样可以减少交互报文数量、减少丢失及重传报文数,使得邻居快速地分批达到Full状态,建立一批稳定一批。

2.2.3  保证报文平缓发送

Hub-And-Spoke组网中,每个Spoke设备的链路状态信息都要借助Hub设备通告给其它Spoke设备。此外,Hub设备的链路状态信息也要通告给所有Spoke设备,当Spoke设备很多时,由于邻居状态改变、定期刷新LSA或者路由震荡引起的Hub设备需要发送的报文量非常大,并且这些报文是并发发送,远远超过系统的处理能力,影响邻居建立的数量和效率,另外还会影响到其它业务的运行。

为了解决上面的问题,H3C实现了报文平缓发送功能,通过配置来降低每个接口LSU报文的发送速率,从而减轻对系统资源的消耗,避免一些无谓的重传,提高邻居建立的数量和效率,并使得多业务可以顺利开展。

2.2.4  控制LSA的生成

OSPFRouter LSA用来描述设备在区域内的接口、邻居等信息,每个区域只能有一个,它的长度与接口、邻居的个数成正比。当接口、邻居很多时生成的Router LSA长度很大。当每个邻居状态到Full时,都会引起Router LSA改变,就需要向每个邻居发送。而且这个LSA是随着邻居建立不断变化的,直到最终邻居状态全部达到Full才稳定下来。如果不加以限制,大量的处理时间被用来向邻居发送属于中间过程的Router LSA,浪费了系统资源,影响邻居建立的数量和效率。

通过命令行配置,系统就可以根据网络拓扑变化的频繁程度自动调节LSA生成时间间隔。LSA生成时间间隔在指定的最小时间间隔和最大时间间隔之间变化,变化的规律为“惩罚增量”按照二的幂次递增,即随着LSA反复生成的次数增多,其生成间隔就会越大,直到到达“最大间隔”为止。当时间间隔连续三次达到最大,则下一次的时间间隔又会被重置为最小时间间隔,开始新一轮的惩罚抑制功能。在Hub-And-Spoke组网中,当Hub设备和Spoke设备开始建立邻居时,LSA生成的次数不断增多,这个时候LSA生成时间间隔会逐步变大,这样可以减少邻居建立过程中的报文数量;当邻居都已成功建立达到稳定后,LSA生成的次数比较稳定,LSA的生成时间间隔就会保持在最小时间间隔,使路由信息的交互更快捷。

2.2.5  控制进行SPF计算的时间间隔

LSDB发生改变时,需要通过SPF算法重新计算最短路径。对于Hub-And-Spoke这种有大量邻居的组网情况,如果频繁进行SPF计算,将会占用大量系统资源,Hub设备将不能及时处理Spoke设备发送的大量报文,从而使大量报文超时需要重传,而重传报文还是得不到及时处理会被丢弃,从而不得不依靠新一轮的重传。

通过命令行配置,系统就可以根据网络拓扑变化的频繁程度自动调节SPF计算的时间间隔。SPF计算的时间间隔在指定的最小时间间隔和最大时间间隔之间变化,变化的规律为“惩罚增量”按照二的幂次递增,即随着SPF计算次数不断增多,其计算间隔就会越大,直到到达“最大间隔”为止。当时间间隔连续三次达到最大,则下一次的时间间隔又会被重置为最小时间间隔,开始新一轮的惩罚抑制功能。在Hub-And-Spoke组网中,当SPF计算的次数不断增多时(比如Hub设备和众多Spoke设备开始建立邻居关系),SPF计算的时间间隔会逐步变大,这样可以使Hub设备能够及时处理Spoke设备发送的报文;当网络趋于稳定后,SPF计算的时间间隔就会保持在最小时间间隔,一旦LSDB发生变化立刻进行SPF计算,更新路由信息。

相关资料

3.1  相关协议和标准

l              RFC 2328OSPF Version 2

l              RFC 4222Prioritized Treatment of Specific OSPF Version 2 Packets and Congestion Avoidance

3.2  相关文献

OSPF支持Hub-And-Spoke组网典型配置举例

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright ©2009 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

 

联系我们