Ospf动态调整链路负载的方法

文档序号:8301552阅读:1467来源:国知局
Ospf动态调整链路负载的方法
【技术领域】
[0001 ] 本发明涉及OSPF协议技术领域,尤其是涉及一种OSPF动态调整链路负载的方法。
【背景技术】
[0002]动态路由协议的出现,极大的简化了网络配置以及减轻了网络管理员的负担,使原先出现问题需要大量人力去定位、分析、解决的网络可以在短时间内自动的完成路由收敛。众所周知,OSPF(Open Shortest Path First,开放式最短路径优先)协议是目前因特网中应用最为广泛的一种采用链路状态算法的IGP(Inter1r Gateway Protocol,内部网关协议)动态路由协议。
[0003]标准的OSPF协议中,当到达同一目的地址有多条链路时,会根据SPF(ShortestPath First,最短路径优先)算法选择COST (链路开销)值最小的链路进行传输。
[0004]但是,现有OSPF协议在选择COST值最小的链路进行传输时,并不会考虑链路负载情况。如果COST值最小的链路已经拥塞而其它能够到达目的地的链路没有流量或者流量很小,数据传输依然只选择COST值最小的链路。这就造成了链路资源的浪费。

【发明内容】

[0005]本发明的目的在于克服现有技术的缺陷,提供一种OSPF动态调整链路负载的方法,对OSPF链路选择算法进行优化,在OSPF度量值优化算法中引入负载的概念,当OSPF默认优选的链路上如果带宽占用超过一定的阈值后引导流量到另外的链路进行负载分担,以充分利用、合理调度网络资源。
[0006]为实现上述目的,本发明提出如下技术方案:一种OSPF动态调整链路负载的方法,包括:监控本地路由器或交换机接口的纵向负载变化,判断所述纵向负载变化是否超出预先设定的阈值,根据判断结果对应改变接口的COST值,根据改变后的COST值触发OSPF重新计算度量值并选择度量值最小的接口作为所述路由器或交换机的出接口。
[0007]优选地,在采样周期内,每隔一段时间采样所述本地路由器或交换机接口的负载值,监控其当前采样点和上一次采样点之间的负载变化。
[0008]优选地,在采样过程中,采用一次指数平滑法来计算各采样点的负载值。
[0009]优选地,所述一次指数平滑法的计算过程包括:
[0010]确定指数平滑法的初始值以及设置其抑制周期,所述初始值为η个采样点的采样平均值load average,其中,η为大于O小于采样周期的整数;
[0011]判断采样点的个数是否小于等于η,若是,贝Ij load(t) = load average;否则,load(t) = a*cur_load+(l-a)*load(t_l),其中,load(t)表示当前采样点的负载值,a表示平滑系数,cur_l0ad表示抑制周期内的采样平均值,load(t-l)表示上一次采样点的负载值。
[0012]优选地,根据所述抑制周期内的采样平均值CUr_load和所述上一次采样点的负载值load(t-l)的差值绝对值I cur_load-load(t_l) I,来确定所述平滑系数a。
[0013]优选地,确定所述平滑系数a的过程为:
[0014]若0< I cur_load_load(t_l) I < = 10%,则 a = 50% ;
[0015]若10%< I cur_load_load(t_l) | < = 20%,则 a = 55% ;
[0016]若20%< I cur_load_load(t_l) I < = 30%,则 a = 60% ;
[0017]若30%< I cur_load_load(t_l) I < = 40%,则 a = 65% ;
[0018]若40%< I cur_load_load(t_l) I < = 50%,则 a = 70% ;
[0019]若50%< I cur_load_load(t_l) I < = 60%,则 a = 75% ;
[0020]若60%< I cur_load-load(t_l) I,则 a = 80% ο
[0021]优选地,若监控的当前采样点和上一次采样点之间的负载变化超出预先设定的阈值,则产生一个中断,上报所述OSPF进程,并记录当前采样点的负载值。
[0022]优选地,所述度量值的计算公式为:
[0023]metric = (REF_BW/PORT_BW) * (load (t)/m);
[0024]其中,metric表示OSPF度量值,REF_BW表示基准带宽,P0RT_BW表示接口带宽,m表示负载差异变化值。
[0025]优选地,根据判断结果对应改变接口的COST值的过程包括:若所述纵向负载变化超出预先设定的阈值,则对应增大接口的COST值;若所述纵向负载变化小于预先设定的阈值,则对应减小接口的COST值。
[0026]本发明的有益效果是:
[0027]1、本发明使OSPF路由协议选择的路径可以根据链路负载进行实时的动态调整,有效的避免网络拥塞的产生,更高效的利用链路带宽。
[0028]2、本发明采用指数平滑法进行负载计算以及采用中断的方式触发OSPF进程,可以确保在充分有效利用网络资源的同时减少对网络稳定性的破坏。
【附图说明】
[0029]图1是本发明实现OSPF链路负载调整的网络不意图;
[0030]图2是本发明OSPF动态调整链路负载的算法原理示意图;
[0031]图3是本发明OSPF动态调整链路负载的方法的流程示意图;
【具体实施方式】
[0032]下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0033]如图1所示,为本发明实现OSPF链路负载调整的网络示意图,图中包括多个用户(用户A、用户B、用户C……)、路由器Rl?R5、Internet网络和服务器群。以路由器Rl举例来说,路由器Rl有多条路径可以访问服务器群,如:路由器Rl —路由器R2 —路由器R4 — Internet —路由器R5,或者路由器Rl —路由器R3 —路由器Internet —路由器R5,再或者路由器Rl —路由器R4 — Internet —路由器R5等等。但是OSPF协议只会选择一条最短路径来转发报文,假设现在选择的路径是:路由器Rl —路由器R3 — Internet —路由器R5,此时下游用户访问服务器群的流量全部通往该路径,此时容易发生拥塞。
[0034]本发明为解决这一问题,通过监控路由器或交换机接口的负载变化,动态调整链路COST值,从而动态调整OSPF的最优链路选择。具体地,结合图1?图3所示,本发明揭示的一种OSPF动态调整链路负载的方法,包括以下步骤:
[0035]步骤SI,监控本地路由器或交换机接口的纵向负载变化,判断纵向负载变化是否超出预先设定的阈值。
[0036]具体地,在采样周期内,每隔一段时间采样本地路由器或交换机接口的负载值,监控其当前采样点和上一次采样点之间的负载变化。这里的当前采样点和上一次采样点之间的负载变化即为纵向负载变化。
[0037]但是,众所周知的是,由于快速收敛和防抖动是两个相背的特性,如果要快速收敛(也就是说负载的变化很快就能反映到路由选择上来),那么就需要把负载的采样周期设置的比较短,但这就会造成抖动比较大,一个瞬间的峰值切换就会造成网络的路由重计算。如果把采样周期设置长了,那么抖动确实减小了,但是负载的变化反映到路由选择上,就会有延迟。
[0038]因此,为了确保在充分有效利用网络资源的同时减少对网络稳定性的破坏,我们不能采用低效的polling(轮询)方式(即每隔一段时间查询一次链路带宽),本发明优选采用中断方式,并使用一次指数平滑法来抑制抖动。
[0039]具体地,本发明实施例设置3分钟的加权平均作为一个采样周期,且每5s采样一次,这样总共是36个采样点。指定平滑法的初始值为30s内的总共6个点的采样平均值,且其抑制周期为15s,则采样点的负载计算公式为:
[0040]if (采样点数量小于等于6个)
[0041]load (t) = load average
[0042]else
[0043]load(t) = a*cur_load+(l_a)*load(t_l),其中,load average 表不初始值,load(t)表示当前采样点的负载值,a表示平滑系数,cur_load表示抑制周期15s内的采样平均值,load(t-l)表示上一次采样点的负载值。
[0044]平滑系数a根据抑制周期15s内的采样平均值CUr_load和上一次采样点的负载值load(t-l)的差值绝对值I cur_load-load(t_l) |来确定,具体如下:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1