CN101741691A - 网络流量负载平衡的处理方法 - Google Patents
网络流量负载平衡的处理方法 Download PDFInfo
- Publication number
- CN101741691A CN101741691A CN200810172747A CN200810172747A CN101741691A CN 101741691 A CN101741691 A CN 101741691A CN 200810172747 A CN200810172747 A CN 200810172747A CN 200810172747 A CN200810172747 A CN 200810172747A CN 101741691 A CN101741691 A CN 101741691A
- Authority
- CN
- China
- Prior art keywords
- packet
- formation
- line communication
- processing method
- load balance
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络流量负载平衡的处理方法,均衡网络设备中各数据包处理线程的连线通讯的负载。处理方法包括以下步骤:执行多个数据包处理线程,对每个线程指派一个队列用来保存所接收的数据包,线程从队列中读取数据包进行处理;判断队列中的数据包的数量是否符合流量门槛值;若是某一队列中的数据包的数量符合工作门槛值时,网络设备在不影响连线通讯的完整性的原则下将新的数据包分配至其他队列,除了可以保留连线通讯的完整性外,亦保证这些数据包处理线程的负荷一致。
Description
技术领域
一种网络的数据包处理方法,特别有关于一种网络流量负载平衡的处理方法。
背景技术
随着网际网络的日益成熟,网络的传输技术也日渐更新。所以许多网络设备中更加入了负载平衡的功能。网络传输的负载平衡主要是针对网络设备在接收到大流量的数据包,网络设备会指派相应的队列以储存数据包,并通过相应的线程进程处理。借以避免单一处理线程的局限性,通过多个线程同时完成数据包的处理任务;并通过保证连线通信完成性的功能来保证数据包处理的正确性。
但是公知的负载平衡仍有其缺点存在。请参考图1所示,其为公知技术的负载平衡的结构示意图。在网络设备中虽然设置有多个线程及其队列。但是网络设备在接收不同来源端的数据包时,会将数据包随机的指派一个队列来存放。如此的设计会导致网络设备在对同一连线通讯(session)的数据包或同一群组已切割的数据包产生以下问题。因为同一连线通讯的数据包与同一群组的已切割数据包需要将所有的数据包接收完成后才能进行相应的处理。若是将同一连线通讯的数据包存放至不同的队列中时,这样网络设备需要从每一个队列中撷取。因此,对于处理数据包的效率会大大的降低。若是网络设备遭遇到分布式拒绝服务攻击(Distributed Denial of Service,DDoS)的攻击时,网络设备更无法处理其他来源端的数据包。
发明内容
鉴于以上的问题,本发明所要解决的技术问题在于提供一种路流量负载平衡的处理方法,用以均衡网络设备中各线程的连线通讯的负载。
为实现上述目的,本发明所公开的一种网络流量负载平衡的处理方法包括以下步骤:执行多个线程(threads),每一线程用以处理连线通讯(sessions)的数据包,并对每一线程指派队列(queue),其中该队列用以存放数据包;设定工作门槛值;判断队列中的数据包的数量是否符合工作门槛值;若队列中的数据包的数量符合工作门槛值时,则服务器端根据连线通讯的传输属性,将队列中的数据包转发至其他队列中存放。
根据本发明所提供的数据包的负载平衡的处理方法,用以降低单一队列中涌入大量的数据包的情形。除了可以保留连线通讯的完整性外,亦可以保证高流量时的数据包处理稳定性。
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为公知技术的负载平衡的结构示意图;
图2为本发明的结构示意图;
图3A为本发明的工作流程示意图;
图3B为建立连线通讯查找表的流程示意图;
图3C为建立数据包切割查找表的流程示意图;
图3D为判断数据包的存放流程示意图;
图4为本发明的工作结构示意图;
图5A为连线通讯查找表的记录格式示意图;
图5B为数据包切割查找表的记录格式示意图。
其中,附图标记
210第一网络
211来源端
220网络设备
221处理单元
222储存单元
223连线通讯查找表
224数据包切割查找表
230第二网络
231目的端
具体实施方式
本发明应用于具有数据包交换的网络设备,举例来说网络设备可以是入侵检测系统(Intrusion Detection Systems,IDS)、防火墙(Firewall)、入侵防御系统(Intrusion Prevention System,IPS),但不局限于上述网络设备。请参考图2所示,其为本发明的结构示意图。在图2中交换器分别连接了第一网络与第二网络。在图2的左方分别代表第一网络210,且第一网络中更包括有多个来源端211。在图2的右方分别代表第二网络230,且第二网络中亦包括有多个目的端231。在本发明所述的网络设备220中更包括有:处理单元221、储存单元222、连线通讯查找表223与数据包切割查找表224。储存单元222用以存放连线通讯查找表223与数据包切割查找表224。处理单元221根据连线通讯查找表223,用以检测当前所接收的数据包是否属于同一连线通讯。处理单元221根据数据包切割查找表224,用以检测当前所接收的数据包是否为被切割的同一群组的数据包。
请参考图3A所示,其为本发明的工作流程示意图。本发明在接收来自不同来源端211的数据包后,网络设备会根据以下处理步骤再将数据包进行相应的服务处理,例如入侵检测处理、病毒检测处理等。首先,执行多个线程(步骤S320),并对每一线程指派队列。其中队列用以存放数据包,每一线程用以处理连线通讯的数据包。
在建立连线通讯与执行线程后,服务器端会根据所接收到的数据包分别建立连线通讯查找表223与数据包切割查找表224。请另外参考图3B所示,其为建立连线通讯查找表的流程示意图。建立连线通讯查找表更包括以下步骤:建立连线通讯查找表(步骤S3211),用以记录每一个数据包的传输属性。其中,传输属性包括有:传输属性为来源地址、目的地址、来源传输端口、目的传输端口、传输协议、连线通讯的编号或数据包切割识别码。根据连线通讯查找表,检查当前所接收的数据包是否为新的连线通讯(步骤S3212)。若数据包为新的连线通讯的数据包时,则指派一个线程与其所属的队列用以存放数据包(步骤S3213)。若数据包属于已存在的连线通讯的数据包,则将此一数据包转发至处理此连线通讯的相应线程与其队列(步骤S3214)。
请另外参考图3C所示,其为建立数据包切割查找表的流程示意图。建立数据包切割查找表更包括以下步骤:建立数据包切割查找表(步骤S3221)。因为一个数据包可以承载的数据量是有其限制的。为了符合数据包的数据量,所以来源端211会预先将欲传送的数据进行切割。并逐一的将已切割的数据填入每一个数据包中。为能清楚说明同一个数据的这些数据包,在此更进一步的将其定义为具有相同群组的数据包。根据数据包切割查找表,查找各队列中是否存在具有相同的数据包切割识别码的数据包(步骤S3222)。若在队列中存在有相同群组的数据包时,则将数据包存放至队列中(步骤S3223)。接收相同群组的数据包后,再对数据包进行重组,并将其输出为已重组数据包(步骤S3224)。
延续步骤S320,设定工作门槛值(步骤S330),用以判断队列是否可以再存放当前所接收的数据包。工作门槛值的设定是根据队列中数据包的数量与队列的最大容置量的相对比例。举例来说,若队列可以容置100个数据包。而该队列当前已接收到70个数据包时,在此定义该队列的容置量为70/100=70%。假设前述队列的工作门槛值为60%时,则此一队列已超过所设定的工作门槛值。设定循环时间(步骤S340),其用以决定网络设备间隔多久时间后再对各队列进行检查数据包的数量。判断队列中的数据包的数量是否符合工作门槛值(步骤S350)。
若队列中的数据包的数量未达到工作门槛值时,则网络设备依据预设程序将数据包发送至相应的队列(步骤S360)。若队列中的数据包的数量达到工作门槛值时,则网络设备根据预设程序与连线通讯的传输属性,将队列中的数据包转发至其他队列中存放(步骤S370)。在本实施例中预设程序根据下式1选取出欲转发的队列:
Q_num=(src_IP&0×FF)+(dst_IP&0×FF)%n+1 (式1)
其中,Q_num为欲转发的目的队列的标号;scr_IP为来源端的IP地址;dst_IP为目的端的IP地址;n为队列的数量。
在进行步骤S360后更包括有以下步骤,请另外参考图3D所示:判断欲转发的队列的数据包的数量是否达到工作门槛值(步骤S371)。若欲转发的该队列中的数据包数量已达到工作门槛值时,则从其余的队列中选择一个具有最少数据包的数量的队列(步骤S372)。通过查找连线通讯查找表和数据包切割查找表,判定该数据包是否属于一个未作记录的新连线通讯(步骤S373)。如果这个数据包属于现有的连线通讯,那么将数据包转发至连线通讯查找表中记录的队列(步骤S374)。如果这个数据包属于一个新的连线通讯,将数据包分配至上述所选出具有最少数据包的队列(步骤S375),同时在连线通讯查找表中增加这个连线通讯的记录。最后,在经过循环时间后,网络设备选择具有最多数据包数量的队列,并对后续所接收到的数据包执行步骤S350。
为清楚说明本发明的工作过程,以下述例子作为说明。请参考图4所示,其为本发明的工作结构示意图。在此假设工作门槛值为70%,且在网络设备中建立了6个连线通讯及其队列(分别为第一队列、第二队列、第三队列、第四队列、第五队列与第六队列)。网络设备220分别接获来源端的数据包,其中来源端211的相关为src_ip:218.30.108.184,src_port:80。并将所接收到的数据包传送至目的端231,其中目的端231的相关数据为dst_ip:10.190.50.39,dst_port:2048。当网络设备220开始接收数据包后,网络设备220会根据式1的计算结果,得到此一数据包将转发至相应的队列中存放。请参考下式2:
((218.30.108.184)&0xFF+(10.190.50.39)&0xFF)%6+1=2 (式2)
在经过循环时间后,网络设备中各队列的数据包的容置量如下表1所述:
队列编号 | 1 | 2 | 3 | 4 | 5 | 6 |
容置量 | 80% | 65% | 65% | 50% | 40% | 20% |
表1.各队列的数据包的容置量
观察表1后,可以得知第一队列的容置量以超过工作门槛值。因此,网络设备220在接收到新的数据包(在此将其定义为第一数据包)时,网络设备220会选择其他队列用以存放第一数据包。假设第一数据包的来源端为src_ip:223.40.106.183,src_port:80;其目的端为dst_ip:10.190.50.39,dst_port:3000。
若是第一数据包为新的连线通讯时,则网络设备220根据式1计算第一数据包所要存放的队列。请参考下式3的计算:
((223.40.106.183)&0xFF+(10.190.50.39)&0xFF)%6+1=1 (式3)
根据式3的计算结果,得到第一数据包欲存放至第一队列。但是第一队列已超过工作门槛值,因此网络设备220从其他队列中选择一个最少容置量的队列。从表1中可以得知第六队列为目前最少容置量的队列,因此网络设备220会将第一数据包存放至第六队列。并且,网络设备220会记录第一数据包的相关记录至连线通讯查找表223中。为方便说明以下述记录格式作为本实施例的连线通讯查找表223的记录格式。请参考图5A所示,其为连线通讯查找表的记录格式示意图。
若网络设备220接收到第二数据包与第三数据包,且第二数据包与第三数据包具有同一群组的切割辨识码。在根据第一数据包的环境前提下,网络设备220会将第二数据包与第三数据包存放至第六队列中。网络设备220会根据第二数据包与第三数据包,将其记录至数据包切割查找表224中。假设切割辨识码为”1234567”,则在数据包切割表中则记录为如图5B所示。网络设备220在根据连线通讯查找表223与数据包切割查找表224,用以检查所接收的数据包所欲存放的队列。
根据本发明所提供的数据包的负载平衡的处理方法,用以降低单一队列中涌入大量的数据包的情形。除了可以保留连线通讯的完整性外,亦可以保证高流量时的数据包处理稳定性。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种网络流量负载平衡的处理方法,均衡网络设备中多个数据包处理线程的一连线通讯的负载,其特征在于,该处理方法包括以下方法:
执行多个线程,每一该线程用以接收该连线通讯并对每一该线程指派一队列,该队列用以储存所述数据包;
设定一工作门槛值;
判断该队列中的该数据包的数量是否达到该工作门槛值;以及
若该队列中的该数据包的数量符合该工作门槛值时,则该网络设备根据该连线通讯的一传输属性,将该队列中的所述数据包转发至其他所述队列。
2.根据权利要求1所述的网络流量负载平衡的处理方法,其特征在于,在执行所述线程后还包括以下步骤:
建立一连线通讯查找表,用以记录每一该数据包的所述传输属性;
根据该连线通讯查找表,检查当前所接收的该数据包是否为新的该连线通讯;以及
若该数据包为新的该连线通讯的该数据包时,则指派该线程与其该队列用以存放所述数据包。
3.根据权利要求1所述的网络流量负载平衡的处理方法,其特征在于,在执行所述线程后还包括以下步骤:
建立一数据包切割查找表;
根据该数据包切割查找表,查找各该队列中是否存在具有相同的一数据包切割识别码的所述数据包;以及
若在该队列中存在有相同群组的所述数据包时,则将该数据包存放至该队列中。
4.根据权利要求3所述的网络流量负载平衡的处理方法,其特征在于,在将该数据包存放至该队列后还包括以下步骤:
在完成所述数据包的接收后,对所述数据包进行重组,将其输出为一已重组数据包。
5.根据权利要求1所述的网络流量负载平衡的处理方法,其特征在于,转发至其他该队列根据下式所决定:
Q_num=(src_IP&0×FF)+(dst_IP&0×FF)%n+1
其中,Q_num为被转发至该队列的标号;scr_IP为来源端的IP地址;dst_IP为目的端的IP地址;n为队列的数量。
6.根据权利要求5所述的网络流量负载平衡的处理方法,其特征在于,取得欲转发的该队列后还包括以下步骤:
若欲转发的该队列中的所述数据包数量已达到该工作门槛值时,则从其余的所述队列中选择一个具有最少所述数据包的数量的该队列;以及
将该数据包转发至上述所选出具有最少所述数据包的该队列。
7.根据权利要求1所述的网络流量负载平衡的处理方法,其特征在于,转发至其他该队列后还包括以下步骤:
设定一循环时间;
在经过该循环时间后,选择具有最多数据包数量的该队列;以及
判断该队列中的该数据包的数量是否符合该工作门槛值。
8.根据权利要求1所述的网络流量负载平衡的处理方法,其特征在于,所述传输属性为来源地址、目的地址、来源传输端口、目的传输端口、传输协议、该连线通讯的编号、数据包切割识别码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810172747A CN101741691A (zh) | 2008-11-11 | 2008-11-11 | 网络流量负载平衡的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810172747A CN101741691A (zh) | 2008-11-11 | 2008-11-11 | 网络流量负载平衡的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101741691A true CN101741691A (zh) | 2010-06-16 |
Family
ID=42464611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810172747A Pending CN101741691A (zh) | 2008-11-11 | 2008-11-11 | 网络流量负载平衡的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741691A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075427A (zh) * | 2011-01-18 | 2011-05-25 | 中兴通讯股份有限公司 | 基于安全联盟的IPSec报文处理方法及装置 |
WO2013007002A1 (en) * | 2011-07-08 | 2013-01-17 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for load balancing |
CN106155862A (zh) * | 2016-07-25 | 2016-11-23 | 张升泽 | 电子芯片内的电流计算方法及系统 |
CN106227639A (zh) * | 2016-07-25 | 2016-12-14 | 张升泽 | 多核芯片电压计算方法及系统 |
CN112269392A (zh) * | 2020-09-16 | 2021-01-26 | 广西电网有限责任公司电力科学研究院 | 一种无人机集群控制的地面工作站系统及其控制方法 |
-
2008
- 2008-11-11 CN CN200810172747A patent/CN101741691A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075427A (zh) * | 2011-01-18 | 2011-05-25 | 中兴通讯股份有限公司 | 基于安全联盟的IPSec报文处理方法及装置 |
WO2012097614A1 (zh) * | 2011-01-18 | 2012-07-26 | 中兴通讯股份有限公司 | 基于安全联盟的IPSec报文处理方法及装置 |
WO2013007002A1 (en) * | 2011-07-08 | 2013-01-17 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for load balancing |
US9225651B2 (en) | 2011-07-08 | 2015-12-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for load balancing |
CN106155862A (zh) * | 2016-07-25 | 2016-11-23 | 张升泽 | 电子芯片内的电流计算方法及系统 |
CN106227639A (zh) * | 2016-07-25 | 2016-12-14 | 张升泽 | 多核芯片电压计算方法及系统 |
CN112269392A (zh) * | 2020-09-16 | 2021-01-26 | 广西电网有限责任公司电力科学研究院 | 一种无人机集群控制的地面工作站系统及其控制方法 |
CN112269392B (zh) * | 2020-09-16 | 2023-08-22 | 广西电网有限责任公司电力科学研究院 | 一种无人机集群控制的地面工作站系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104734964B (zh) | 报文处理方法、节点及系统 | |
CN105745870B (zh) | 从用于检测大流的串行多级过滤器去除头部过滤器以便清除流以实现延长操作 | |
CN104283806B (zh) | 业务链处理方法和设备 | |
CN101573927B (zh) | 网络系统中的路径最大传输单元发现 | |
CN101594304B (zh) | 防止堆叠系统产生环路的方法和堆叠系统中的成员设备 | |
CN105634956B (zh) | 一种报文转发方法、装置和系统 | |
CN100413290C (zh) | 设置边界网关协议路由选择通知功能的方法 | |
CN103929368B (zh) | 多业务单元负载均衡方法及装置 | |
CN104660565A (zh) | 恶意攻击的检测方法和装置 | |
CN102377640B (zh) | 一种报文处理装置和报文处理方法、及预处理器 | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN105556916B (zh) | 网络流的信息统计方法和装置 | |
CN102783097A (zh) | 分组转发系统、控制设备、转发设备以及用于准备处理规则的程序和方法 | |
CN101325554B (zh) | 一种路由创建方法、转发芯片及三层交换机 | |
EP3907939A1 (en) | Traffic scheduling method and system | |
CN101741691A (zh) | 网络流量负载平衡的处理方法 | |
CN103607351A (zh) | 一种芯片转发表项生成方法及设备 | |
CN107947994B (zh) | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 | |
CN113422731A (zh) | 一种负载均衡输出方法、装置、汇聚分流设备和介质 | |
CN105991444A (zh) | 业务处理的方法和装置 | |
CN105308904A (zh) | 一种oam报文处理方法、网络设备和网络系统 | |
CN106341338A (zh) | 一种报文的转发方法及装置 | |
CN107547430A (zh) | 一种报文发送方法及装置 | |
CN101115010A (zh) | 扩展安全系统的方法、安全系统及安全处理设备 | |
CN107483341A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100616 |