CN101977162B - 一种高速网络的负载均衡方法 - Google Patents

一种高速网络的负载均衡方法 Download PDF

Info

Publication number
CN101977162B
CN101977162B CN2010105722275A CN201010572227A CN101977162B CN 101977162 B CN101977162 B CN 101977162B CN 2010105722275 A CN2010105722275 A CN 2010105722275A CN 201010572227 A CN201010572227 A CN 201010572227A CN 101977162 B CN101977162 B CN 101977162B
Authority
CN
China
Prior art keywords
queue
waiting time
full
data
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010105722275A
Other languages
English (en)
Other versions
CN101977162A (zh
Inventor
张超
杨瀚程
李庆
刘晓斌
朱姝
张小倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NINGBO CHENGDIAN TAIKE ELECTRONIC INFORMATION TECHNOLOGY DEVELOPMENT Co Ltd
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2010105722275A priority Critical patent/CN101977162B/zh
Publication of CN101977162A publication Critical patent/CN101977162A/zh
Application granted granted Critical
Publication of CN101977162B publication Critical patent/CN101977162B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种高速网络的负载均衡方法。本发明针对现有的负载均衡方法均衡度不高的问题,提出了一种高速网络的负载均衡方法,包括如下步骤:IP数据包首部信息提取,哈希运算,队列分发及存储管理,多态并行分类及调度。本发明的负载均衡方法利用了静态均衡与动态自适应均衡相结合的动态自适应哈希均衡策略,使得本方法可以有效利用当前流量负载情况,进而使得高速数据流可以均衡分配到多个低速网络接口上,提高各个子通道相互间的均衡度。

Description

一种高速网络的负载均衡方法
技术领域
本发明属于负载均衡技术领域,尤其涉及一种高速网络的负载均衡方法。
背景技术
为了提高网络的安全性,一些安全监测设备用来对用户流量进行实时监测,可随着网络速度的不断提高,业务量和数据流量的不断增长,使单一的服务器根本无法承担,此时如果对设备进行硬件升级,将造成资源浪费且投入成本较高,针对这种情况,一些负载均衡的方法应运而生。
负载均衡的方法是一种廉价、有效、透明的方法,可以扩展现有网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。负载均衡的主要原理是:高速网络的数据流送至负载均衡器,负载均衡器根据某种方法将高速数据流均衡分配到多台低速的服务器上,实现对高速网络的流量均衡和监控。所以在负载均衡器中负载均衡方法至关重要。
目前的负载均衡方法主要有静态均衡和动态均衡,静态均衡方法主要有:哈希均衡算法(哈希运算)、静态优先权调度算法、轮询调度算法、权重轮询调度算法,动态均衡方法主要有:最少连接数均衡算法和最快响应时间均衡算法。评价一种负载均衡方法优劣的一个重要指标就是均衡度L,即各个服务器间的带宽利用率偏差,其计算公式为:                                                
Figure 98797DEST_PATH_IMAGE001
,其中flow1flow2为两个通道的当前流量值,flow为两个通道的平均理想流量值。以上各种负载均衡方法在对各个服务器分配数据流量时,都没有考虑各个服务器的当前流量负载情况,所以存在各个服务器间的均衡度不高的问题。
发明内容
本发明的目的是为了解决现有的负载均衡方法均衡度不高的问题,提出了一种高速网络的负载均衡方法。
为了实现上述目的,本发明的技术方案是:一种高速网络的负载均衡方法,具体包括如下步骤:
S1. IP数据包首部信息提取,包括提取源IP地址、目的IP地址、源端口号、目的端口号;
S2. 哈希运算,对提取的IP首部信息进行哈希运算,将哈希运算的结果对4求模取余数,根据求模得出的值来分配IP数据包的指示信息到相应的存储队列中;
S3. 队列分发及存储管理,包括队列的写操作管理和读操作管理;
S4. 多态并行分类及调度,该过程根据各个队列反馈的空、满状态信息和端口流量指示信息,通过控制两次轮询操作之间的时间间隔,采用最小流量优先和满队列优先的策略轮询各个队列,从各个队列中轮询读出相应的IP分组的指示信息,根据指示信息从数据缓存器中读出相应的数据分组,转发到相应的目的端口上。具体包括如下步骤:
S41. 每次转发完一个数据分组时,保存端口流量信息并询问各个队列;
S42. 首先判断是否存在满队列,如果存在,再判断是否存在多个满队列,如果只有一个满队列,就计算其相应的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,转发该满队列的数据分组到相应的目的端口上;如果存在多个满队列,根据这几个满队列统计的已发送数据流量值,选中满队列中端口流量值最小的队列,计算其轮询等待时间,启动等待时间计时器,到达轮询等待时间时转发该队列的数据分组到相应的目的端口上,另外,如果多个满队列中有两个以上的队列的数据流量值相等,且它们的流量值最小,则转发端口号最小的满队列的数据分组到相应的目的端口上;如果不存在满队列,选中所有队列中的非空队列;
S43. 比较各个非空队列已发送的数据流量值,判断非空队列中是否只有一个队列的流量值最小,如果是,就计算该队列的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,就直接转发该队列对应的数据分组到相应的目的端口上;否则,选中端口号最小的队列,计算其轮询等待时间,启动等待时间计时器,达到轮询等待时间时,转发该队列对应的数据分组到相应的目的端口上。
步骤S2中,所述的哈希运算为IPSX哈希算法。
本发明的有益效果:本发明利用将静态均衡与动态自适应均衡相结合的动态自适应哈希均衡策略,提出了一种前端利用静态哈希均衡算法和后端利用多态并行分类及调度算法的高速网络负载均衡方法,该方法利用了当前流量负载情况,使得高速数据流可以均衡分配到多个低速网络接口上,提高各个子通道相互间的均衡度。
附图说明
图1是本发明的高速网络负载均衡方法的逻辑框图。 
图2是本发明的高速网络负载均衡方法的流程图。
图3是本发明的多态并行分类及调度算法的流程图。
具体实施方式
下面结合附图,给出本发明的具体实施例。需要说明的是:实施例中的参数并不影响本发明的一般性。
以双通道2.5G(OC-48接口、VC-4-16C级联技术)的高速数据网络,将双通道2.5G数据流均衡到8个千兆以太网(GBE,GigaBit Ethernet)接口上为例,假设实现该方法的***称为均衡器。
本发明的具体设计思想是:采用将静态均衡与动态自适应均衡相结合的动态自适应哈希(HBDC,Hash Balancing and Dynamic Compensation)均衡策略,即是均衡器前端采用哈希均衡算法将高速数据流映射到各个队列中,各个队列存储的是网际协议(IP,Internet Protocol)数据的指示信息,IP数据部分缓存在一个数据缓存器中,实现长期的统计流量均衡;均衡器后端采用多态并行分类及调度算法,根据流量最小优先和满队列优先的原则轮询各个队列,从队列中读出IP数据的指示信息,再从数据缓存器中取出相应的IP数据,根据端口指示信息将IP数据流分配到相应的GBE端口上,实现高速网络瞬时的流量均衡。
具体如图1所示:首先提取出IP数据包的首部信息,对其首部信息进行哈希运算,同时将IP数据存储到一个数据缓存器中,根据哈希运算结果将双通道2.5G高速IP数据的长度及其在缓存器中的存储首地址等指示信息分配到8个队列中,保证了报文的先后顺序和流的相关性,实现对双通道2.5G数据流的长期静态均衡;后端采用多态并行分类及调度算法,根据流量最小优先的原则实现对8个队列的轮询调度,轮询读出各个队列中的IP数据的指示信息,根据指示信息读出数据缓存器中对应的IP数据,并发送到相应的GBE端口上,在GBE端口上对IP数据及其指示信息进行分类重组,实现流量的瞬时动态均衡。其中每个队列对应一个GBE端口。根据多态并行分类及调度返回的指针信息及8个队列的空满状态信息控制对8个队列的写操作。
下面结合图2、图3对高速网络负载均衡过程作进一步说明,具体包括如下步骤:
S1. IP数据包首部信息提取,针对每个2.5G高速数据通道,提取源IP地址、目的IP地址、源端口号、目的端口号;
S2. 哈希运算。对提取出IP数据包的首部信息进行哈希运算,将哈希运算的结果对4求模取余数,根据求模得出的值来分配IP数据包的指示信息到相应的存储队列中。
当上述哈希运算为IPSX哈希算法时,所达到的性能最优。由于IPSX哈希算法为本领域的现有公知技术,因此在这里不再作详细描述。
S3. 队列分发及存储管理。该过程包括两个方面:队列的写操作管理和读操作管理。如图2所示,写操作的实施过程是:根据各个队列反馈的状态信息和哈希运算结果来产生相应队列的写使能,如:当哈希运算结果为0且0队列还未写满时就产生队列0的写使能,向队列0写入相应的IP数据的指示信息;同理,产生其它7个队列的写使能,向各个队列写入相应的IP数据的指示信息。读操作的实施过程主要根据后面的多态并行分类及调度来完成。
S4. 多态并行分类及调度。该过程根据各个队列反馈的空满状态信息,通过控制两次轮询操作之间的时间间隔,采用最小流量优先的策略轮询各个队列,从各个队列中轮询读出相应的IP分组的指示信息,根据指示信息从数据缓存器中读出相应的数据分组,转发到相应的GBE端口上。如图3所示,具体包括如下步骤:
S41. 每次转发完一个数据分组时,存储端口流量信息并询问8个队列;
S42. 首先判断是否存在满队列,如果存在,再判断是否存在多个满队列,如果只有一个满队列,就计算其相应的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,进行相应的读操作,转发该满队列的数据分组到相应的GBE端口上;如果存在多个满队列,根据这几个满队列统计的已发送数据流量值,选中满队列中端口流量值最小的队列,计算其轮询等待时间,启动等待时间计时器,到达轮询等待时间时,进行相应的读操作,转发该队列的数据分组到相应的GBE端口上;另外,如果多个满队列中有两个以上的队列的数据流量值相等,且它们的流量值最小,进行相应的读操作,转发端口号最小的满队列的数据分组到相应的GBE端口上;如不存在满队列,在非空队列中选出端口流量最小的队列,进行相应的读操作,转发该队列的数据分组到相应的GBE端口上;
S43. 比较各个非空队列已发送的数据流量值,判断非空队列中是否只有一个队列的流量值最小,如果是,就计算该队列的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,就直接转发该队列对应的数据分组到相应的GBE端口上;否则,选中端口号最小的队列,计算其轮询等待时间,启动等待时间计时器,达到轮询等待时间时,转发该队列对应的数据分组到相应的GBE端口上。
需要说明的是:本实施例中8个队列共用一个流量统计时间计时器,如图3所示,当开始发送某一队列中的数据分组时,就判断其流量统计时间是否超过了***预先设定的单位时间,如果流量统计时间超过了单位时间,则记录下各个队列的流量累加器中的数据流量值,然后清空各个流量累加器,同时流量统计时间计时器清零,重新开始计时;如果流量统计时间没有超过单位时间,则累积相应队列的流量值。连续统计8个单位统计时间内的流量值,求平均作为单位统计时间内的各出端口的流量值port[i]_flow,则各端口速率值为:
其中i = 0、1、2、3、4、5、6、7,分别代表端口0、端口1、端口2、端口3、端口4、端口5、端口6、端口7。TIME为设置的统计时间计数器。
则轮询等待时间计算公式如下:
Figure 828987DEST_PATH_IMAGE002
其中,t为多态并行分类及调度启动等待时间,delta为出端口速率,u为平滑系数,len_s为已发送的数据分组长度,len_n为发送的下一数据分组长度。
采用本发明所述的方法后,一个负载均衡器可以将双通道2.5G数据流均衡分配到8个GBE端口上,且使各个GBE端口间的长期统计均衡度和瞬时均衡度都优于12%(12%为均衡度指标),使负载流量更均衡。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。 

Claims (2)

1.一种高速网络的负载均衡方法,包括如下步骤:
S1.IP数据包首部信息提取,包括提取源IP地址、目的IP地址、源端口号、目的端口号;
S2.哈希运算,对提取的IP首部信息进行哈希运算,将哈希运算的结果对4求模取余数,根据求模得出的值来分配IP数据包的指示信息到相应的存储队列中;
S3.队列分发及存储管理,包括队列的写操作管理和读操作管理;
S4.多态并行分类及调度,该过程根据各个队列反馈的空、满状态信息和端口流量指示信息,通过控制两次轮询操作之间的时间间隔,采用最小流量优先和满队列优先的策略轮询各个队列,从各个队列中轮询读出相应的IP分组的指示信息,根据指示信息从数据缓存器中读出相应的数据分组,转发到相应的目的端口上;
具体包括如下步骤:
S41.每次转发完一个数据分组时,保存端口流量信息并询问各个队列;
S42.首先判断是否存在满队列,如果存在,再判断是否存在多个满队列,如果只有一个满队列,就计算其相应的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,转发该满队列的数据分组到相应的目的端口上;如果存在多个满队列,根据这几个满队列统计的已发送数据流量值,选中满队列中端口流量值最小的队列,计算其轮询等待时间,启动等待时间计时器,到达轮询等待时间时转发该队列的数据分组到相应的目的端口上,另外,如果多个满队列中有两个以上的队列的数据流量值相等,且它们的流量值最小,则转发端口号最小的满队列的数据分组到相应的目的端口上;如果不存在满队列,选中所有队列中的非空队列;
S43.比较各个非空队列已发送的数据流量值,判断非空队列中是否只有一个队列的流量值最小,如果是,就计算该队列的轮询等待时间,启动等待时间计时器,到达轮询等待时间时,就直接转发该队列对应的数据分组到相应的目的端口上;否则,选中端口号最小的队列,计算其轮询等待时间,启动等待时间计时器,达到轮询等待时间时,转发该队列对应的数据分组到相应的目的端口上。
2.根据权利要求1所述的方法,其特征在于,步骤S2中所述的哈希运算为IPSX哈希算法。
CN2010105722275A 2010-12-03 2010-12-03 一种高速网络的负载均衡方法 Expired - Fee Related CN101977162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105722275A CN101977162B (zh) 2010-12-03 2010-12-03 一种高速网络的负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105722275A CN101977162B (zh) 2010-12-03 2010-12-03 一种高速网络的负载均衡方法

Publications (2)

Publication Number Publication Date
CN101977162A CN101977162A (zh) 2011-02-16
CN101977162B true CN101977162B (zh) 2012-01-18

Family

ID=43577009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105722275A Expired - Fee Related CN101977162B (zh) 2010-12-03 2010-12-03 一种高速网络的负载均衡方法

Country Status (1)

Country Link
CN (1) CN101977162B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491021A (zh) * 2013-10-12 2014-01-01 华为技术有限公司 流量负载分担方法和装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447636A (zh) * 2012-01-06 2012-05-09 中兴通讯股份有限公司 一种数据中心通讯设备的负载分担方法和装置
US8705366B2 (en) * 2012-01-23 2014-04-22 Cisco Technology, Inc. Dynamic load balancing without packet reordering
CN102629219B (zh) * 2012-02-27 2015-09-23 北京大学 并行计算框架中的Reduce端自适应负载均衡方法
CN102957628A (zh) * 2012-12-12 2013-03-06 福建星网锐捷网络有限公司 报文聚合方法、装置和接入设备
CN103139093B (zh) * 2013-02-22 2016-01-27 桂林电子科技大学 基于fpga的高速网络数据流负载均衡调度方法
CN103220226B (zh) * 2013-05-02 2016-04-20 百度在线网络技术(北京)有限公司 数据中心间透明实时流量压缩方法和***
CN104683255B (zh) * 2013-11-29 2018-02-13 华为技术有限公司 物理端口的均衡负载分担方法、装置和链路聚合***
CN103685321B (zh) * 2013-12-31 2016-09-14 北京神州绿盟信息安全科技股份有限公司 数据包转发和安全防护检测***、负载均衡方法及装置
CN104811415B (zh) * 2014-01-23 2018-07-24 杭州迪普科技股份有限公司 分布式扫描***负载均衡方法及装置
CN105516012B (zh) * 2014-12-16 2019-07-26 北京安天网络安全技术有限公司 对超大网络流量处理的负载均衡方法及***
CN105813139B (zh) * 2014-12-30 2019-03-15 苏州简约纳电子有限公司 Lte***中上行多个数据承载的数据缓存区域的动态管理***及方法
DE102015222112A1 (de) * 2015-11-10 2017-05-11 Volkswagen Aktiengesellschaft Ethernet-Bus, Steuergerät und Verfahren zum Aufwecken eines Steuergeräts eines Ethernet-Busses
CN107770227A (zh) * 2016-08-22 2018-03-06 北京京东尚科信息技术有限公司 服务请求的分发处理方法和装置
CN106648905A (zh) * 2017-01-12 2017-05-10 南京南瑞集团公司 一种电力大数据分布控制***及其构建方法
CN107749828A (zh) * 2017-10-09 2018-03-02 厦门市美亚柏科信息股份有限公司 Ip数据包分发采集方法、装置、终端设备及存储介质
CN107786471B (zh) * 2017-10-23 2021-03-16 深圳市风云实业有限公司 多fpga芯片间数据处理方法及转换装置
CN109684102B (zh) * 2018-12-14 2023-06-09 广州市百果园信息技术有限公司 直播答题的处理方法、装置、计算机可读存储介质及终端
CN110838986B (zh) * 2019-07-29 2022-02-22 迈普通信技术股份有限公司 一种lacp负载均衡的方法、设备及***
CN112995245B (zh) * 2019-12-12 2023-04-18 郑州芯兰德网络科技有限公司 一种基于fpga的可配置负载均衡***与方法
CN111597038B (zh) * 2020-01-08 2023-07-14 中国空气动力研究与发展中心计算空气动力研究所 一种超级计算机i/o转发结点轮询映射方法
CN113965946A (zh) * 2021-09-30 2022-01-21 广州市玄武无线科技股份有限公司 一种智能路由分配5g消息渠道的方法及***
CN117544686B (zh) * 2024-01-09 2024-03-29 广州大一互联网络科技有限公司 一种数据中心服务器智能调度方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937557A (zh) * 2006-09-05 2007-03-28 华为技术有限公司 结构化对等网络***及其负载查询、转移及资源查找方法
CN101753610A (zh) * 2008-12-19 2010-06-23 华为技术有限公司 分布式网络构造方法、装置和***以及任务处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366092B2 (en) * 2003-10-14 2008-04-29 Broadcom Corporation Hash and route hardware with parallel routing scheme

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937557A (zh) * 2006-09-05 2007-03-28 华为技术有限公司 结构化对等网络***及其负载查询、转移及资源查找方法
CN101753610A (zh) * 2008-12-19 2010-06-23 华为技术有限公司 分布式网络构造方法、装置和***以及任务处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491021A (zh) * 2013-10-12 2014-01-01 华为技术有限公司 流量负载分担方法和装置

Also Published As

Publication number Publication date
CN101977162A (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
CN101977162B (zh) 一种高速网络的负载均衡方法
US20200195587A1 (en) Methods and apparatus for flow control associated with a switch fabric
CN107948103B (zh) 一种基于预测的交换机pfc控制方法及控制***
US20080101233A1 (en) Method and apparatus for load balancing internet traffic
US20220303217A1 (en) Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device
CN108243116B (zh) 一种流量控制方法及交换设备
CN102035719B (zh) 一种报文处理方法和装置
CN103139093B (zh) 基于fpga的高速网络数据流负载均衡调度方法
EP2208322B1 (en) A grid router
US20120127860A1 (en) Dynamic Flow Redistribution for Head of Line Blocking Avoidance
CN103023806B (zh) 共享缓存式以太网交换机的缓存资源控制方法及装置
US10419370B2 (en) Hierarchical packet buffer system
CN113064738B (zh) 基于概要数据的主动队列管理方法
TWI476601B (zh) 交換機和交換機中的組播流量讀取方法
US7342936B2 (en) Method of performing deficit round-robin scheduling and structure for implementing same
CN111224888A (zh) 发送报文的方法及报文转发设备
WO2019061302A1 (zh) 对报文进行处理方法及装置
US8549193B2 (en) Data transmission method, device and system
Gao et al. DemePro: DEcouple packet Marking from Enqueuing for multiple services with PROactive congestion control
Lin et al. Two-stage fair queuing using budget round-robin
Escudero-Sahuquillo et al. FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing
US10084709B1 (en) Methods and apparatus for scheduling transmission of data in a network
Cao et al. Efficient buffering and scheduling for a single-chip crosspoint-queued switch
CN109450823B (zh) 一种基于聚合式交叉节点的网络大容量交换装置
CN201869206U (zh) 流媒体服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NINGBO CHENGDIAN TAIKE ELECTRONIC INFORMATION TECH

Free format text: FORMER OWNER: ELECTRON SCIENCE + TECHNOLOGY UNIV.

Effective date: 20120110

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 611731 CHENGDU, SICHUAN PROVINCE TO: 315040 NINGBO, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20120110

Address after: 999, Lane 315040, sailing Road, hi tech Zone, Ningbo, Zhejiang, Ningbo B5-704

Patentee after: Ningbo Chengdian Taike Electronic Information Technology Development Co., Ltd.

Address before: 611731 Chengdu province high tech Zone (West) West source Avenue, No. 2006

Patentee before: University of Electronic Science and Technology of China

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120118

Termination date: 20141203

EXPY Termination of patent right or utility model