选择区域语言: EN CN HK

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

手册下载

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。

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

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

1.1.1  Hub-And-Spoke组网简介

目前部分行业的组网应用开始出现网络扁平化趋势,Hub-And-Spoke组网就是一种典型的扁平化组网方式。和传统的“核心层+汇聚层+接入层”组网相比,Hub-And-Spoke组网省略了汇聚层,核心层设备(Hub设备)直接和多个接入层设备(Spoke设备)相连,如1所示。这样可以减少中间层网络设备数量,简化网络管理和方便网络维护。

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

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

 

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

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

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

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

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

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

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

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

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

·     优先接收和处理Hello报文

·     限制并发建立邻居数目

·     保证报文平缓发送

·     控制LSA的生成

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

1.2  技术优点

OSPF支持Hub-And-Spke组网技术具有如下优势:

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

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

技术实现

2.1  概念介绍

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

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

2.2  技术细节

2.2.1  优先接收和处理Hello报文

OSPF创建独立线程优先接收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计算,更新路由信息。

参考文献

·     RFC 2328OSPF Version 2

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