一种动态计算链路聚合组切换路径所需延迟的方法及装置与流程

文档序号:20839137发布日期:2020-05-22 17:16阅读:569来源:国知局
一种动态计算链路聚合组切换路径所需延迟的方法及装置与流程

本发明涉及交换机链路聚合组切换路径领域,具体涉及一种动态计算链路聚合组切换路径所需延迟的方法及装置。



背景技术:

链路聚合(portchannel),指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口间的负载平衡,交换机根据用户配置的端口分担策略决定网络封包从哪个成员端口发送到对端的交换机。如图1所示,设定四个端口加入链路聚合后,该链路聚合的带宽就可上升至400gb。

如图2所示,当聚合链路的对象为不同的交换机时,进行路径切换时有很大的机会产生封包时序错误,因为不同路径的延迟不同导致封包抵达目的地主机的顺序异常,以图2来说原先网络流跑在上面的longdelaypath,假设进行路径切换到下面的shortdelaypath时,原先排在后面的封包就会因跑在较低延迟的路径上而比之前的封包更早抵达目的地。当封包没有依照发送顺序抵达目的地时就会产生封包重排序,重排序会让整体的网络效能下降,原因是上层的协议会认为中间没收到的封包遗失了,进而触发重传机制,使效能下降。

目前现有技术为解决上述问题的做法是在交换机上切换路径时给予一个较大的固定延迟后才继续进行封包传递,具体步骤为:

1)找出要切换的路径目的(通过负载平衡算法找出要切换到哪条路径上);

2)根据芯片配置的参数进行延迟,通常会配置一个较大的值确保封包重排序不会发生。

现有技术固定的延迟值无法适应各种不同的网络情况,延迟过小封包重排序依旧会发生,延迟过大则目的主机太久未收到下一个封包导致超时重传,因此固定的延迟值不是这个问题的最佳解。



技术实现要素:

为解决上述问题,本发明提供一种动态计算链路聚合组切换路径所需延迟的方法及装置,用动态调配方法计算出所需的延迟值后,根据不同的路径给出合理的延迟值,避免现有技术产生的问题。

本发明的技术方案是:一种动态计算链路聚合组切换路径所需延迟的方法,包括以下步骤:

定时获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,并将所有路径延迟时间进行保存;

当交换机在不同链路组成员上切换封包流时,查找相应路径延迟时间,根据所查找路径延迟时间设定所需延迟。

进一步地,所述获得各个交换机通过各自的不同链路组成员达到其他交换机所需延迟时间,具体包括:

对每个源交换机,取得其上的所有链路组成员;

对源交换机设定特定路径及配置,使探测封包送往不同的链路组成员;

获取目的交换机返回的打上时间标记的探测封包;

根据探测封包上的时间标记计算从源交换机通过不同链路组成员达到目的交换机所需延迟时间。

进一步地,当交换机在不同链路组成员上切换封包流时所设定的所需延迟为所查找到的相应路径延迟时间添加阈值缓冲。

进一步地,所添加阈值缓冲为相应路径延迟时间的10%~20%。

本发明的技术方案还包括一种动态计算链路聚合组切换路径所需延迟的装置,包括,

中央控制单元:定时获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,并将所有路径延迟时间进行保存;

交换机:在不同链路组成员上切换封包流时,查找相应路径延迟时间,根据所查找路径延迟时间设定所需延迟。

进一步地,所述中央控制单元包括路径延迟获取模块和路径延迟保存模块;

所述路径延迟获取模块完成定时向各个交换机发起路径延迟查找,获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间;

所述路径延迟保存模块完成将所有路径延迟时间进行保存。

进一步地,所述路径延迟获取模块定时向各个交换机发起路径延迟查找,获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,具体包括:

对每个源交换机,取得其上的所有链路组成员;

对源交换机设定特定路径及配置,使探测封包送往不同的链路组成员;

获取目的交换机返回的打上时间标记的探测封包;

根据探测封包上的时间标记计算从源交换机通过不同链路组成员达到目的交换机所需延迟时间。

进一步地,交换机包括路径延迟配置模块和探测封包响应模块;

所述路径延迟配置模块完成在不同链路组成员上切换封包流时,向中央控制单元发出查询请求,查找相应路径延迟时间,并根据所查找路径延迟时间设定所需延迟;

所述探测封包响应模块完成发送探测封包到指定的交换机,拦截探测封包并打上时间标记后回报至中央控制单元。

进一步地,交换机在不同链路组成员上切换封包流时所设定的所需延迟为所查找到的相应路径延迟时间添加阈值缓冲。

进一步地,所添加阈值缓冲为相应路径延迟时间的10%~20%。

本发明提供的动态计算链路聚合组切换路径所需延迟的方法及装置,将交换机上的路径延迟定时提交到中央控制单元,交换机再由中央控制单元取得路径延迟信息,每次进行路径切换时,参阅路径延迟信息给予合理的延迟值。本方案改善了旧有技术中链路聚合组路径切换采用固定延迟造成的封包重排列问题,采用的是根据当时环境实际探测取得的路径延迟误差,所以不会有封包重排列问题,进而网络传输效能不会因为路径切换导致大幅下降。

附图说明

图1是使用portchannel后,逻辑端口的带宽变大示意图。

图2是路径切换延迟示意图。

图3是具体实施方式一架构示意图。

图4是具体实施方式二方法流程示意图。

图5是具体实施方式二信息传递示意图一。

图6是具体实施方式二信息传递示意图二。

具体实施方式

下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。

实施方式一

如图3所示,本实施方式提供一种动态计算链路聚合组切换路径所需延迟的装置,包括中央控制单元和交换机。

中央控制单元(controller):定时向各个交换机发起路径延迟查找,获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,并将所有路径延迟时间进行保存。

交换机(switch):在不同链路组成员上切换封包流时,向中央控制单元查找相应路径延迟时间,根据所查找路径延迟时间设定所需延迟。

对于中央控制单元,包括路径延迟获取模块和路径延迟保存模块,其中:

路径延迟获取模块:完成定时向各个交换机发起路径延迟查找,获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间;

路径延迟保存模块:完成将所有路径延迟时间进行保存。

路径延迟获取模块获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,具体包括:

对每个源交换机,取得其上的所有链路组成员;

对源交换机设定特定路径及配置,使探测封包送往不同的链路组成员;

获取目的交换机返回的打上时间标记的探测封包;

根据探测封包上的时间标记计算从源交换机通过不同链路组成员达到目的交换机所需延迟时间。

对于交换机,包括路径延迟配置模块和探测封包响应模块,其中:

路径延迟配置模块:完成在不同链路组成员上切换封包流时,向中央控制单元发出查询请求,查找相应路径延迟时间,并根据所查找路径延迟时间设定所需延迟;

探测封包响应模块:完成发送探测封包到指定的交换机,拦截探测封包并打上时间标记后回报至中央控制单元。

需要说明的是,交换机向中央控制单元发出查询请求,由路径延迟获取模块响应该请求,从数据库调取相关信息。即路径延迟获取模块整合所有交换机上链路组的路经延迟信息,响应交换机提出的路径咨询。另外,交换机的路径延迟配置模块还同时根据负载平衡算法,结合路径延迟时间决定网络流的切换及配置所需的延迟。

交换机在不同链路组成员上切换封包流时所设定的所需延迟为所查找到的相应路径延迟时间添加阈值缓冲,以进一步确保不会发生封包重排列。所添加阈值缓冲可以为相应路径延迟时间的10%~20%。

另外,

本装置工作过程为:每隔一段时间,中央控制单元会发起一次的路径延迟查找,对于每个源交换机,取得其上的链路组成员,并对交换机设定特定路由及配置,使探测封包会送往不同的链路组成员,并在目的交换机上捕捉该探测封包并打上时间标记后送往中央控制单元,中央控制单元在取得这些封包后就能计算出从源交换机通过不同的链路组成员到达目的交换机所需时间,并将这些信息输入数据库中储存,当交换机需要把封包流切换到不同的链路组成员上时,就可以参考两条路径上的延迟信息来设定所需的延迟。

实施例二

如图4所示,结合图5所示信息传递示意图,本实施方式提供一种动态计算链路聚合组切换路径所需延迟的方法,包括以下步骤:

定时获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,并将所有路径延迟时间进行保存;

当交换机在不同链路组成员上切换封包流时,查找相应路径延迟时间,根据所查找路径延迟时间设定所需延迟。

具体地,由中央控制单元定时向各个交换机发起路径延迟查找,获得各个交换机通过各自的不同链路组成员达到其他交换机所需路径延迟时间,并将所有路径延迟时间进行保存;

当交换机在不同链路组成员上切换封包流时,交换机向中央控制单元查找相应路径延迟时间,根据所查找路径延迟时间设定所需延迟。

其中中央控制单元获得各个交换机通过各自的不同链路组成员达到其他交换机所需延迟时间,具体包括:

对每个源交换机,取得其上的所有链路组成员;

对源交换机设定特定路径及配置,使探测封包送往不同的链路组成员;

获取目的交换机返回的打上时间标记的探测封包;

根据探测封包上的时间标记计算从源交换机通过不同链路组成员达到目的交换机所需延迟时间。

上述步骤中,当交换机在不同链路组成员上切换封包流时所设定的所需延迟为所查找到的相应路径延迟时间添加阈值缓冲。所添加阈值缓冲为相应路径延迟时间的10%~20%。

为进一步对本发明方案进行说明,提供一具体实施例,如图6所示为该具体实施例信息传递示意图:中央控制单元取得交换机列表后,假设有交换机abc三台,一开始会先读取本次要分析的交换机a上一共有多少链路组,假设交换机a上有3个端口(端口一,端口二,端口三)被放入链路组中,那中央控制单元就会尝试规划一条路径交换机a端口一->交换机b,并将取得的延迟信息纪录如表一供交换机查询,假设交换机a想将一条跑在交换机a到交换机c的封包流从端口一切换到端口二,那查表后得知必须添加至少50ms的延迟才不会发生封包重排列,实作上会再添加10%~20%的阀值缓冲,所以会再延迟60ms后才将封包流转到端口二上。

表一路径延迟数据库内容

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1