CN101789884A - 网络入侵检测的负载均衡方法 - Google Patents
网络入侵检测的负载均衡方法 Download PDFInfo
- Publication number
- CN101789884A CN101789884A CN200910008506A CN200910008506A CN101789884A CN 101789884 A CN101789884 A CN 101789884A CN 200910008506 A CN200910008506 A CN 200910008506A CN 200910008506 A CN200910008506 A CN 200910008506A CN 101789884 A CN101789884 A CN 101789884A
- Authority
- CN
- China
- Prior art keywords
- protocol
- chain
- data package
- data packets
- categorical data
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络入侵检测的负载均衡方法,该方法包括以下步骤:接收来自客户端的多笔数据封包,数据封包至少包括有协议类型与协议属性;在接收端加载至少一入侵检测程序对每一入侵检测程序设置相应的请求队列,其系用以存放数据封包;将数据封包通过分流程序,其系根据协议类型将数据封包分类为链向类型数据封包与非链向类型数据封包;分别将链向类型数据封包通过第一分配程序,非链向类型数据封包通过第二分配程序,其系根据协议属性分配至相应的请求队列;对每一请求队列中的数据封包进行相应的入侵检测程序。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种网络入侵检测的负载均衡方法。
背景技术
入侵检测(Intrusion Detection)是对入侵行为的发觉。它通过对计算机网络或者计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或者系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测系统(Intrusion Detection System,IDS)是进行入侵检测的软件和硬件的组合。一般来说,入侵检测系统可分为主机型和网络型。主机入侵检测系统往往以系统日志、应用程序日志等作为数据源。网络入侵检测系统(Network IntrusionDetection System,NIDS)的数据源则是网络上的数据封包。
网络入侵检测系统通常放置在比较重要的网段内或者网络边缘,不停地监视网络中的各种数据封包。网络安全设备的处理速度一直是影响网络性能的一大瓶颈,虽然网络入侵检测系统通常以并联方式接入网络,但如果检测速度跟不上网络数据的传输速度,那么网络入侵检测系统就会漏掉其中的部分数据封包,从而导致漏报而影响系统的准确性和有效性。网络入侵检测系统截获网络中的每一个数据封包,并且需要花费大量的时间和系统资源来分析、匹配其中是否具有某种攻击的特征。因此,如何提高网络入侵检测系统整体的吞吐处理能力,成为该系统在不断发展的网络环境中应用的关键问题。
专利公开号为CN1561032A的中国专利申请公开了一种入侵检测的多线程负载均衡方法,其采用以应用协议为标准的分配方法来实现负载均衡。如图1所示,抓包引擎根据负载均衡的处理策略将不同协议类型的数据封包分别放入不同的处理队列,然后使用多线程的入侵检测系统来分别处理。
从图1可以看出,该专利申请将HTTP、TELNET、FTP等应用协议分配给不同的线程去处理,以达到负载均衡的目的。但这样的负载均衡算法在实际的网络环境中并不能达到令人满意的程度。
在实际的网络环境中,各种应用协议的流量所占的比例并不是均衡的。网络服务控制系统方案提供商Ellacoya网络公司通过分析北美的100万名宽带用户,发现HTTP在所有网络流量中占到约46%的比例。P2P(多数是UDP的各种应用流量)排名第二位,在所有网络流量中占到37%的比例。此外,新闻组占到9%的比例,非HTTP视频流占到3%的比例,网络游戏占到2%的比例,VoIP占到1%的比例。
因此,如果按照应用协议进行划分,那么处理HTTP协议的线程要处理总流量的46%,各个P2P的处理线程总共处理37%。依次类推,处理网络游戏的线程则只处理2%,而其它,如TELNET等的处理进程处理的则更少。这种负载均衡方式显然不够理想。
发明内容
为了解决上述现有技术中所存在的问题或缺陷,本发明的目的之一在于提供一种网络入侵检测的负载均衡方法。
本发明公开了一种网络入侵检测的负载均衡方法,接收端对所接收到的数据封包进行负载处理,所述方法包括以下步骤:
接收来自一客户端的多笔数据封包,该数据封包至少包括有一协议类型与一协议属性;
在一接收端加载至少一入侵检测程序;
对每一该入侵检测程序设置相应的一请求队列,其用以存放该些数据封包;
将该些数据封包通过一分流程序,其根据该协议类型将该些数据封包分类为一链向类型数据封包与一非链向类型数据封包;
将该些链向类型数据封包通过一第一分配程序,其根据该协议属性分配至相应的该请求队列;
将该非链向类型数据封包通过一第二分配程序,其根据该协议属性分配至相应的该请求队列;以及
对每一该请求队列中的该些数据封包进行相应的该入侵检测程序。
所述该协议类型包括有一传输控制协议、一串流传输控制协议、一用户数据报协议、一因特网消息控制协议、一因特网管理协议或一地址解析协议。
所述该分流程序更包括以下步骤:
将该些数据封包为该传输控制协议、该串流传输控制协议与该用户数据报协议分类为该链向类型数据封包;以及
将该些数据封包为该因特网消息控制协议、该因特网管理协议与该地址解析协议分类为该非链向类型数据封包。
所述该协议属性包括有一来源地址、一来源端口号、一目的地址或一目的端口号。
所述该第一分配程序更包括以下步骤:
解析该些链向类型数据封包的该协议属性;
根据该协议类型、该来源地址、该来源端口号、该目的地址与该目的端口号将该链向类型数据封包通过一哈希算法,用以产生该链向类型数据封包的一队列卷标;以及
根据该队列卷标将该链向类型数据封包分配至相应编号的该请求队列。
所述该第二分配程序更包括以下步骤:
解析该些非链向类型数据封包的该协议属性;
根据该协议类型、该来源地址与该目的地址将该非链向类型数据封包通过一哈希算法,用以产生该非链向类型数据封包的一队列卷标;以及
根据该队列卷标将将该非链向类型数据封包分配至相应的该请求队列。
综上所述,与现有技术相比,本发明能够令负载均衡具有足够的离散度,从而充分发挥多进程/多线程的能力,使系统资源更有效地用来进行入侵检测的处理。
附图说明
图1为现有技术的入侵检测的多线程负载均衡方法的示意图;
图2为本发明的网络入侵检测的架构示意图;
图3为本发明的网络入侵检测的负载均衡方法的步骤流程图;
图4为步骤S340中分流程序的详细运作步骤示意图;
图5为第一分配程序的运作流程示意图;
图6为第二分配程序的运作流程示意图;
图7为本发明的请求队列的分发架构示意图。
具体实施方式
本发明仍然采用多进程/多线程架构来处理数据封包队列,然而本发明能够让负载均衡具有足够的离散度,从而充分发挥多进程/多线程的能力,使系统资源更有效地用来进行入侵检测的处理。
请参考图2所示,其为本发明的网络入侵检测的架构示意图。如图2所示,为本发明的负载均衡策略并不仅仅依据数据封包的高级协议类型,而是通过提取相应的数据(tuples),然后通过这些可以标识数据封包单体的数据来进行分流。
并请配合参考图3本发明的负载均衡策略依据如下原则:
步骤S310:接收来自客户端的多笔数据封包,数据封包至少包括有协议类型与协议属性;
步骤S320:在接收端加载至少一入侵检测程序;
步骤S330:对每一入侵检测程序设置相应的请求队列,用以存放数据封包;
步骤S340:将数据封包通过分流程序,其根据协议类型将数据封包分类为链向类型数据封包与非链向类型数据封包;
步骤S350:将链向类型数据封包通过第一分配程序,其根据协议属性分配至相应的请求队列;
步骤S360:将非链向类型数据封包通过第二分配程序,其根据协议属性分配至相应的请求队列;以及
步骤S370:对每一请求队列中的数据封包进行相应的入侵检测程序。
其中,数据封包的协议类型包括有传输控制协议(TCP)、串流传输控制协议(SCTP)、用户数据报协议(UDP)、因特网消息控制协议(ICMP)、因特网管理协议(IGMP)与地址解析协议(ARP)。而数据封包的协议属性包括有一来源地址(source IP)、一来源端口号(source port)、一目的地址(destination IP)与一目的端口号(destination port)。
请另外参考图4所示,其为步骤S340中分流程序的详细运作步骤:
步骤S341:将数据封包为传输控制协议、串流传输控制协议与用户数据报协议分类为链向类型数据封包;以及
步骤S342:将数据封包为因特网消息控制协议、因特网管理协议与地址解析协议分类为非链向类型数据封包。
接收端在完成对数据封包的分流程序处理后,接收端分别对链向类型数据封包执行第一分配程序、对非链向类型数据封包执行第二分配程序。为清楚说明第一分配程序与第二分配程序,还请配合参考图5与图6,其分别为第一分配程序与第二分配程序的运作流程示意图。在第一分配程序包括以下步骤:
步骤S351:解析链向类型数据封包的协议属性;
步骤S352:根据协议类型、来源地址、来源端口号、目的地址与目的端口号将链向类型数据封包通过哈希(Hash)算法,用以产生链向类型数据封包的队列卷标;以及
步骤S353:根据队列卷标将链向类型数据封包分配至相应编号的请求队列。
另外,在第二分配程序包括以下步骤:
步骤S361:解析非链向类型数据封包的协议属性;
步骤S362:根据协议类型、来源地址与目的地址将非链向类型数据封包通过哈希算法,用以产生非链向类型数据封包的队列卷标;以及
步骤S363:根据队列卷标将非链向类型数据封包分配至相应的请求队列。
最后,将已编号后的数据封包发送至相应编号的请求队列,并由每一请求队列所连接的入侵检测程序进行相应的处理。请参考图7所示,其为本发明的请求队列的分发架构示意图。
为能更加清楚的说明本发明的运作过程,以下述例子来说明本发明的具体实态样。
(具体实施范例)
首先,根据网络入侵检测系统提供的处理进程数目来创建相同数目的请求队列。在此,假设通过Q_NUM来表示请求队列的个数,在此假设请求队列的个数为4个,所以Q_NUM=4。这4个请求队列分别被指派编号为Q1、Q2、Q3和Q4。
假设收到两个不同的数据封包,分别是Packet A和Packet B。
Packet A的结构如下所示:
MAC header | IP header | TCP header | Data:: |
Packet B的结构如下所示:
MAC header | IP header | ICMP header | Data:: |
针对Packet A,从IP header中获取如下信息:
Protocol=0x06(TCP)
Srcip=0x 0ABE3C3D(10.190.60.61)
Dstip=0x DA1E6CB8(218.30.108.184)
从TCP header中获取出如下信息:
Srcport=0x 0CA3(3235)
Dstport=0x 0050(80)
针对Packet B,从IP header中获取如下信息:
Protocol=0x01(ICMP)
Srcip=0x 0ABE3CD1(10.190.60.209)
Dstip=0x 0ABE3C3E(10.190.60.62)
首先,将Packet A和Packet B通过分流程序进行处理。针对Packet A而言,由于Protocol=0x06(TCP),所以Packet A为链向类型数据封包。针对Packet B而言,由于Protocol=0x01(ICMP),所以Packet B为非链向类型数据封包。接着,接收端会将Packet A通过第一分配程序;另外,接收端会将Packet B通过第二分配程序。
将Packet A通过第一分配程序进行如下处理:
u_int Fulltuplehash(Protocol,Srcip,Dstip,Srcport,Dstport)
{
u_16bit pro=Protocol&0x00FF;
u_16bit sip_h=(Srcip>>16)&0Xffff
u_16bit sip_l=(Srcip)&0Xffff
u_16bit dip_h=(Dstip>>16)&0Xffff
u_16bit dip_l=(Dstip)&0Xffff
u_16bit hash=pro;
hash^=(hash<<3)|(hash>>13)|sip_h;
hash^=(hash<<3)|(hash>>13)|sip_l;
hash^=(hash<<3)|(hash>>13)|dip_h;
hash^=(hash<<3)|(hash>>13)|dip_l;
hash^=(hash<<3)|(hash>>13)|Srcport;
hash^=(hash<<3)|(hash>>13)|Dstport;
hash_id=hash%Q_NUM
return hash_id+1;
}
Q_ID_A=Fulltuplehash(Protocol,Srcip,Dstip,Srcport,Dstport)
=3
将Packet B通过第二分配程序进行如下处理:
u_int Halftuplehash(Protocol,Srcip,Dstip)
{
u_16bit pro=Protocol&0x00FF;
u_16bit sip_h=(Srcip>>16)&0Xffff
u_16bit sip_l=(Srcip)&0Xffff
u_16bit dip_h=(Dstip>>16)&0Xffff
u_16bit dip_l=(Dstip)&0Xffff
u_16bit hash=pro;
hash^=(hash<<3)|(hash>>13)|sip_h;
hash^=(hash<<3)|(hash>>13)|sip_l;
hash^=(hash<<3)|(hash>>13)|dip_h;
hash^=(hash<<3)|(hash>>13)|dip_l;
hash_id=hash%Q_NUM
return hash_id+1;
}
Q_ID_B=Halftuplehash(Protocol,Srcip,Dstip)=4
因为Q_ID_A=3,则将Packet A数据封包存入请求队列Q3,以便由网络入侵检测系统的相应处理进程来处理。因为Q_ID_B=4,则将Packet B数据封包存入请求队列Q4,以便由网络入侵检测系统的相应处理进程来处理。
Claims (6)
1.一种网络入侵检测的负载均衡方法,其特征在于接收端对所接收到的数据封包进行负载处理,所述方法包括以下步骤:
接收来自一客户端的多笔数据封包,该数据封包至少包括有一协议类型与一协议属性;
在一接收端加载至少一入侵检测程序;
对每一该入侵检测程序设置相应的一请求队列,其用以存放该些数据封包;
将该些数据封包通过一分流程序,其根据该协议类型将该些数据封包分类为一链向类型数据封包与一非链向类型数据封包;
将该些链向类型数据封包通过一第一分配程序,其根据该协议属性分配至相应的该请求队列;
将该非链向类型数据封包通过一第二分配程序,其根据该协议属性分配至相应的该请求队列;以及
对每一该请求队列中的该些数据封包进行相应的该入侵检测程序。
2.如权利要求1所述的方法,其特征在于,所述该协议类型包括有一传输控制协议、一串流传输控制协议、一用户数据报协议、一因特网消息控制协议、一因特网管理协议或一地址解析协议。
3.如权利要求2所述的方法,其特征在于,所述该分流程序更包括以下步骤:
将该些数据封包为该传输控制协议、该串流传输控制协议与该用户数据报协议分类为该链向类型数据封包;以及
将该些数据封包为该因特网消息控制协议、该因特网管理协议与该地址解析协议分类为该非链向类型数据封包。
4.如权利要求1所述的方法,其特征在于,所述该协议属性包括有一来源地址、一来源端口号、一目的地址或一目的端口号。
5.如权利要求4所述的方法,其特征在于,所述该第一分配程序更包括以下步骤:
解析该些链向类型数据封包的该协议属性;
根据该协议类型、该来源地址、该来源端口号、该目的地址与该目的端口号将该链向类型数据封包通过一哈希算法,用以产生该链向类型数据封包的一队列卷标;以及
根据该队列卷标将该链向类型数据封包分配至相应编号的该请求队列。
6.如权利要求4所述的方法,其特征在于,所述该第二分配程序更包括以下步骤:
解析该些非链向类型数据封包的该协议属性;
根据该协议类型、该来源地址与该目的地址将该非链向类型数据封包通过一哈希算法,用以产生该非链向类型数据封包的一队列卷标;以及
根据该队列卷标将将该非链向类型数据封包分配至相应的该请求队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100085066A CN101789884B (zh) | 2009-01-23 | 2009-01-23 | 网络入侵检测的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100085066A CN101789884B (zh) | 2009-01-23 | 2009-01-23 | 网络入侵检测的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789884A true CN101789884A (zh) | 2010-07-28 |
CN101789884B CN101789884B (zh) | 2012-03-28 |
Family
ID=42532949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100085066A Expired - Fee Related CN101789884B (zh) | 2009-01-23 | 2009-01-23 | 网络入侵检测的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789884B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202771A (zh) * | 2014-09-03 | 2014-12-10 | 武汉虹信技术服务有限责任公司 | Lte核心网络接口大流量数据的负载均衡方法 |
CN107508757A (zh) * | 2017-08-15 | 2017-12-22 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
CN107968791A (zh) * | 2017-12-15 | 2018-04-27 | 杭州迪普科技股份有限公司 | 一种攻击报文的检测方法及装置 |
CN115150198A (zh) * | 2022-09-01 | 2022-10-04 | 国汽智控(北京)科技有限公司 | 车载入侵检测系统、方法、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1252555C (zh) * | 2003-12-19 | 2006-04-19 | 华中科技大学 | 基于分布式数据挖掘的协同入侵检测系统 |
CN1287570C (zh) * | 2004-03-25 | 2006-11-29 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
-
2009
- 2009-01-23 CN CN2009100085066A patent/CN101789884B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202771A (zh) * | 2014-09-03 | 2014-12-10 | 武汉虹信技术服务有限责任公司 | Lte核心网络接口大流量数据的负载均衡方法 |
CN107508757A (zh) * | 2017-08-15 | 2017-12-22 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
CN107508757B (zh) * | 2017-08-15 | 2021-11-19 | 网宿科技股份有限公司 | 多进程负载均衡方法及装置 |
CN107968791A (zh) * | 2017-12-15 | 2018-04-27 | 杭州迪普科技股份有限公司 | 一种攻击报文的检测方法及装置 |
CN107968791B (zh) * | 2017-12-15 | 2021-08-24 | 杭州迪普科技股份有限公司 | 一种攻击报文的检测方法及装置 |
CN115150198A (zh) * | 2022-09-01 | 2022-10-04 | 国汽智控(北京)科技有限公司 | 车载入侵检测系统、方法、电子设备及存储介质 |
CN115150198B (zh) * | 2022-09-01 | 2022-11-08 | 国汽智控(北京)科技有限公司 | 车载入侵检测系统、方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101789884B (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101795230B (zh) | 一种网络流量还原方法 | |
US20130160122A1 (en) | Two-stage intrusion detection system for high-speed packet processing using network processor and method thereof | |
Tammaro et al. | Exploiting packet‐sampling measurements for traffic characterization and classification | |
US20070248084A1 (en) | Symmetric connection detection | |
KR101221045B1 (ko) | 패킷 처리 방법 및 이를 이용한 toe 장치 | |
CN103139315A (zh) | 一种适用于家庭网关的应用层协议解析方法 | |
US11627157B2 (en) | Method and system for detecting and mitigating a denial of service attack | |
US10063444B2 (en) | Network traffic capture analysis | |
CN101789884B (zh) | 网络入侵检测的负载均衡方法 | |
Xing et al. | Research on the defense against ARP spoofing attacks based on Winpcap | |
Iglesias et al. | Pattern discovery in internet background radiation | |
US20100246592A1 (en) | Load balancing method for network intrusion detection | |
CN101854366B (zh) | 一种对等网络流量识别的方法及装置 | |
CN104660592A (zh) | 一种基于安全套接层协议特征的负载分发方法 | |
Johnson et al. | Monitoring regular expressions on out-of-order streams | |
Garsva et al. | Packet size distribution tendencies in computer network flows | |
Shen et al. | On detection accuracy of L7-filter and OpenDPI | |
CN113765849A (zh) | 一种异常网络流量检测方法和装置 | |
Erlacher et al. | High performance intrusion detection using HTTP-based payload aggregation | |
Djalaliev et al. | Sentinel: hardware-accelerated mitigation of bot-based DDoS attacks | |
Li et al. | MP-ROOM: Optimal matching on multiple PDUs for fine-grained traffic identification | |
Limmer et al. | Dialog-based payload aggregation for intrusion detection | |
Trabelsi et al. | IDS performance enhancement technique based on dynamic traffic awareness histograms | |
Gong et al. | Deep packet/flow analysis using gpus | |
Chen et al. | Pbc: A novel method for identifying qq traffic |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20220123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |