logo好方法网

一种基于聚合链路的数据平衡传输方法、系统及存储介质


技术摘要:
本发明公开了一种基于聚合链路的数据平衡传输方法、系统及存储介质,所述方法包括:调取驱动程序,通过驱动程序分别获取聚合链路中所有子链路当前的发送数据包的流量大小;获取所有子链路中流量最大的第一子链路和流量最小的第二子链路,并将第一子链路的最大流量减去  全部
背景技术:
聚合链路是由两个交换机之间直接连接的多个子链路汇聚而成,通常支持多达8 条子链路汇聚成一条聚合链路,而且该聚合链路的带宽是所有参与汇聚端口的带宽总和, 从而在交换机之间提供了更大的通信带宽。 在多个子链路汇聚成为聚合链路时,需要指定子链路负载均衡算法的输入数据, 该输入数据是数据包的某一段数据(例如目的MAC,源MAC,目的IP,源IP)。负载均衡算法是 交换机用来平衡分配各个子链路的流量大小,避免因为分配不平衡导致一些链路上的流量 太大超过子链路的工作速率而丢包。当需要从聚合链路发送一个数据包时,负载均衡算法 根据指定的输入数据进行哈希运算得到一个数值A,将A除以聚合链路中的子链路数量N,得 到余数M;N个子链路分别编号(0,1,2,...,N-1),余数M正好对应某一个子链路的编号,将该 数据包从编号等于余数M的子链路发出去。 哈希运算特点是同样的输入数据算出来的数值总是相同,所以能够将同样特征的 数据包稳定的分配给某一条子链路发送。同理,来自不同特征的数据包的算法输入数据,算 出来的数值A1、A2也不相同;但是A1、A2除以聚合链路中的子链路数量N,得到的余数M1、M2 是可能相同的,所以这些不同特征的数据包也是会稳定的分配给同一条子链路发送出去。 由此可以看出在指定某种算法输入数据(目的MAC,源MAC,目的IP,源IP之一)的情 况下,聚合链路并不是绝对平均的分给子链路发送。例如两个端口(P1,P2)组成聚合链路, 根据输入数据包的目的IP进行哈希计算,聚合链路中的65%数据包从端口P1发送出去,聚 合链路中的35%数据包从端口P2发送出去。所以随着聚合链路中流量加大,端口P1会首先 进入满负荷,即使端口P2还比较空闲也不能继续加大流量了。 因此,现有技术还有待于改进和发展。
技术实现要素:
本发明的主要目的在于提供一种基于聚合链路的数据平衡传输方法、系统及存储 介质,旨在解决现有技术中聚合链路没有将数据包平均分配给子链路的问题。 为实现上述目的,本发明提供一种基于聚合链路的数据平衡传输方法,所述基于 聚合链路的数据平衡传输方法包括如下步骤: 调取驱动程序,通过驱动程序分别获取聚合链路中所有子链路当前的发送数据包 的流量大小; 获取所有子链路中流量最大的第一子链路和流量最小的第二子链路,并将第一子 链路的最大流量减去第二子链路的最小流量,得到流量差值; 将所述流量差值与阈值进行比较,判断所述流量差值是否大于所述阈值; 3 CN 111600803 A 说 明 书 2/5 页 当所述流量差值大于所述阈值时,重新设置哈希算法的输入数据,直到所述流量 差值小于或者等于所述阈值。 可选地,所述的基于聚合链路的数据平衡传输方法,其中,所述聚合链路中所有子 链路的工作速率相同。 可选地,所述的基于聚合链路的数据平衡传输方法,其中,当子链路的工作速率为 1000M时,所述子链路传输数据包的最大流量为1000Mbit/s。 可选地,所述的基于聚合链路的数据平衡传输方法,其中,阈值=子链路的工作带 宽*5%。 可选地,所述的基于聚合链路的数据平衡传输方法,其中,所述输入数据依次包 括:目的MAC、源MAC、目的IP和源IP。 可选地,所述的基于聚合链路的数据平衡传输方法,其中,所述当所述流量差值大 于所述阈值时,重新设置哈希算法的输入数据,直到所述流量差值小于或者等于所述阈值, 具体包括: 当所述流量差值大于子链路的工作带宽*5%时,表示流量在各个子链路上分配不 均衡,需要调整哈希算法的输入数据进行重新分配; 重新设置哈希算法的输入数据,依照目的MAC、源MAC、目的IP和源IP的顺序依次更 换输入数据,直到所述流量差值小于或者等于子链路的工作带宽*5%。 此外,为实现上述目的,本发明还提供一种基于聚合链路的数据平衡传输系统,其 中,所述基于聚合链路的数据平衡传输系统包括:两个交换机,两个交换机通过端口连接; 两个交换机之间直接连接的多个子链路汇聚成聚合链路; 所述基于聚合链路的数据平衡传输系统用于: 调取驱动程序,通过驱动程序分别获取聚合链路中所有子链路当前的发送数据包 的流量大小; 获取所有子链路中流量最大的第一子链路和流量最小的第二子链路,并将第一子 链路的最大流量减去第二子链路的最小流量,得到流量差值; 将所述流量差值与阈值进行比较,判断所述流量差值是否大于所述阈值; 当所述流量差值大于所述阈值时,重新设置哈希算法的输入数据,直到所述流量 差值小于或者等于所述阈值。 此外,为实现上述目的,本发明还提供一种存储介质,其中,所述存储介质存储有 基于聚合链路的数据平衡传输程序,所述基于聚合链路的数据平衡传输程序被处理器执行 时实现如上所述的基于聚合链路的数据平衡传输方法的步骤。 本发明通过调取驱动程序,通过驱动程序分别获取聚合链路中所有子链路当前的 发送数据包的流量大小;获取所有子链路中流量最大的第一子链路和流量最小的第二子链 路,并将第一子链路的最大流量减去第二子链路的最小流量,得到流量差值;将所述流量差 值与阈值进行比较,判断所述流量差值是否大于所述阈值;当所述流量差值大于所述阈值 时,重新设置哈希算法的输入数据,直到所述流量差值小于或者等于所述阈值。本发明通过 驱动程序获取各个子链路的流量大小,并计算最大流量和最小流量的流量差值,当流量差 值超过阈值时,就重新设置哈希算法的输入数据,直到找到一种输入数据使子链路分担的 流量大小的差值不超过阈值,使得聚合链路将数据包尽可能平均分配给子链路。 4 CN 111600803 A 说 明 书 3/5 页 附图说明 图1是本发明基于聚合链路的数据平衡传输方法的较佳实施例的流程图; 图2是本发明基于聚合链路的数据平衡传输系统的较佳实施例的原理示意图。
下载此资料需消耗2积分,
分享到:
收藏