CN111478822A - 一种集群应用网络流量的高效过滤方法 - Google Patents
一种集群应用网络流量的高效过滤方法 Download PDFInfo
- Publication number
- CN111478822A CN111478822A CN201910140373.1A CN201910140373A CN111478822A CN 111478822 A CN111478822 A CN 111478822A CN 201910140373 A CN201910140373 A CN 201910140373A CN 111478822 A CN111478822 A CN 111478822A
- Authority
- CN
- China
- Prior art keywords
- data packet
- port
- source
- filtering
- matching
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种集群应用网络流量的高效过滤方法,包括:步骤1:针对应用连续IP和端口,设置多条匹配规则,每条匹配规则包括开始IP、结束IP、开始端口、结束端口、IP协议版本;步骤2:捕获数据包,判断该数据包是否为Tcp协议包,提取该数据包的源IP协议、源IP、源端口、目的IP、目的端口,并在多条匹配规则中过滤循环;步骤3:在第一条匹配规则中过滤,得到所需数据包,未成为所需数据包的数据包进入下一条匹配规则;步骤4:进入下一条匹配规则的数据包重复步骤3直至数据包为所需数据包后跳出过滤循环,完成过滤。
Description
技术领域
本发明涉及各种应用的网络流量包过滤,具体涉及一种集群应用网络流量的高效过滤方法。
背景技术
企业内部已经从以前的10M/100M(bps,bits per second,每秒位),进入主流的1G/10G的网络,每秒的包数从数十万个到数百万个,同时现代企业应用经常实现了集群负载均衡,通过一段连续IP的服务器,每个服务器提供一段连续的服务端口,通过负载均衡器实现应用的高性能和高可用性,对这些应用实现深度包检测(DPI,Deep PacketInspection)时,需要从每秒数十万到数百万的包中过滤出需要的流量,需要极高的过滤效率才能实现不丢包,并且准确得到所有需要的包,目前通过报文的四元(源IP、源端口、目标IP、目标端口) 或者五元(vlan ID,源IP、源端口、目标IP、目标端口)或者六元(源MAC、源IP、源端口、目标MAC、目标IP、目标端口),计算哈希值(通常为加和和位运算)作为过滤关键值,计算每一个接收的包,计算其哈希值并进行匹配,或者通过递归流分类RFC(RecursiveFlow Classification),将全部的数据包头的取值,通过规则多级取值和匹配,实现数据的分类处理,但是无论是哈希值还是RFC处理技术,其本质是索引式的数据包过滤处理,无论原始过滤规则如何定义,最终都会转拆分成精确的过滤规则,比如10.70.1.33-10.70.1.36的9081-9084,4个IP地址和4个端口最终会形成至少16条规则,这会导致实际匹配规则变多;索引式的数据包过滤处理,取决于索引算法的优劣,目前最常采用的是关键字段加和和位运算方法,这种索引算法在应用集群的连续IP和连续端口的应用场景中,会造成很大的冲突,冲突会导致索引效率大大下降,比如10.70.1.33-10.70.1.36的9081-9084,共16个规则,经过普通哈希值算法后,只能得到7个哈希值,命中之后平均也会经过2次以上的规则遍历才能确定是否精确匹配,导致性能下降;在匹配前,索引式数据包过滤需要对每一个待处理包头进行一定的运算,获取到索引值,简单的索引会造成大量冲突,复杂的索引算法会增加每个包的处理耗时,导致性能下降。
发明内容
本发明要解决的技术问题是提供一种集群应用网络流量的高效过滤方法,能够大大减少了匹配规则数量,即使大型集群应用进行过滤时匹配的匹配规则一般也不超过10个,无需对每一个数据包进行索引计算,有效提升检索性能,用以解决现有技术导致的缺陷。
为解决上述技术问题本发明提供以下的技术方案:一种集群应用网络流量的高效过滤方法,其中,包括以下步骤:
步骤1:针对应用连续IP和端口,设置多条匹配规则,每条匹配规则包括开始IP、结束IP、开始端口、结束端口、IP协议版本;
步骤2:捕获数据包,判断该数据包是否为Tcp协议包,判断结果为不是的直接过滤,判断结果为是的提取该数据包的源IP协议、源IP、源端口、目的 IP、目的端口,并在多条匹配规则中过滤循环;
步骤3:根据第一条匹配规则判断源IP协议与IP协议版本是否一致,不一致直接进入下一条匹配规则,一致时进入源IP与源端口的判断,源IP与源端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时判断目的IP、目的端口,目的IP、目的端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时进入下一条匹配规则;
步骤4:进入下一条匹配规则的数据包重复步骤3直至数据包为所需数据包后跳出过滤循环,完成过滤。
上述的一种集群应用网络流量的高效过滤方法,其中,其中IP协议版本包括IPv4、IPv6,IPv4有32位用Int表示,IPv6有128位用2个Long表示,每个Long表示64位,端口用一个16位的short表示
上述的一种集群应用网络流量的高效过滤方法,其中,第一条匹配规则可以为任意一个匹配规则。
依据上述本发明一种集群应用网络流量的高效过滤方法提供的技术方案效果是:大大减少了匹配规则数量,即使大型集群应用进行过滤时匹配的匹配规则一般也不超过10个,无需对每一个数据包进行索引计算,有效提升检索性能。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,进一步阐述本发明。
本发明的一较佳实施例是提供一种集群应用网络流量的高效过滤方法,目的是大大减少了匹配规则数量,即使大型集群应用进行过滤时匹配的匹配规则一般也不超过10个,无需对每一个数据包进行索引计算,有效提升检索性能。
一种集群应用网络流量的高效过滤方法,其中,包括以下步骤:
步骤1:针对应用连续IP和端口,设置多条匹配规则,每条匹配规则包括开始IP、结束IP、开始端口、结束端口、IP协议版本;
步骤2:捕获数据包,判断该数据包是否为Tcp协议包,判断结果为不是的直接过滤,判断结果为是的提取该数据包的源IP协议、源IP、源端口、目的 IP、目的端口,并在多条匹配规则中过滤循环;
步骤3:根据第一条匹配规则判断源IP协议与IP协议版本是否一致,不一致直接进入下一条匹配规则,一致时进入源IP与源端口的判断,源IP与源端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时判断目的IP、目的端口,目的IP、目的端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时进入下一条匹配规则;
步骤4:进入下一条匹配规则的数据包重复步骤3直至数据包为所需数据包后跳出过滤循环,完成过滤。
本实施例提供的一种集群应用网络流量的高效过滤方法,采用的其中IP协议版本包括IPv4、IPv6,IPv4有32位用Int表示,IPv6有128位用2个Long 表示,每个Long表示64位,端口用一个16位的short表示
本实施例提供的一种集群应用网络流量的高效过滤方法,采用的第一条匹配规则可以为任意一个匹配规则。
在具体使用时,按照发明提供的一种集群应用网络流量的高效过滤方法过滤的具体步骤如下:
设置好多条匹配规则后,捕获一个集群应用10.70.1.34:9082的请求 Ipv4/Tcp包,获取数据包的传输层协议为Tcp,Ip版本为4,源IP和源端口,目的IP和目的端口,其源IP和源端口为10.8.8.1:33894,其目的IP和目的端口为10.70.1.34:9082,首先判断传输层协议为Tcp协议包,随后进入多条匹配规则中进行过滤循环,进入第一条匹配规则中,IP版本为4满足,源IP不满足[开始IP,结束IP]范围,目的IP满足[开始IP,结束IP],目的端口满足[开始端口,结束端口],则该包为所需的集群应用数据包,跳出过滤循环并进入后续处理环节。
设置好多条匹配规则后,捕获一个非集群应用10.70.1.34:9087的请求 Ipv4/Tcp包,获取数据包的传输层协议为Tcp,Ip版本为4,源IP和源端口,目的IP和目的端口,其源IP和源端口为10.8.8.2:45434,其目的IP和目的端口为10.70.1.34:9087,首先判断传输层协议为Tcp协议包,随后进入多条匹配规则中进行过滤循环,进入第一条匹配规则中,IP版本为4满足,源IP不满足[开始IP,结束IP]范围,目的IP满足[开始IP,结束IP],目的端口不满足 [开始端口,结束端口],则该包不是所需的集群应用数据包,进入下一条匹配规则或直接过滤。
综上,本发明的一种集群应用网络流量的高效过滤方法,能够大大减少了匹配规则数量,即使大型集群应用进行过滤时匹配的匹配规则一般也不超过10 个,无需对每一个数据包进行索引计算,有效提升检索性能。
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。
Claims (3)
1.一种集群应用网络流量的高效过滤方法,其特征在于,包括以下步骤:
步骤1:针对应用连续IP和端口,设置多条匹配规则,每条匹配规则包括开始IP、结束IP、开始端口、结束端口、IP协议版本;
步骤2:捕获数据包,判断该数据包是否为Tcp协议包,判断结果为不是的直接过滤,判断结果为是的提取该数据包的源IP协议、源IP、源端口、目的IP、目的端口,并在多条匹配规则中过滤循环;
步骤3:根据第一条匹配规则判断源IP协议与IP协议版本是否一致,不一致直接进入下一条匹配规则,一致时进入源IP与源端口的判断,源IP与源端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时判断目的IP、目的端口,目的IP、目的端口同时满足第一条匹配规则中开始IP、结束IP、开始端口、结束端口的取值范围时跳出过滤循环,表示该数据包为所需数据包,不满足时进入下一条匹配规则;
步骤4:进入下一条匹配规则的数据包重复步骤3直至数据包为所需数据包后跳出过滤循环,完成过滤。
2.如权利要求1所述的一种集群应用网络流量的高效过滤方法,其特征在于,其中IP协议版本包括IPv4、IPv6,IPv4有32位用Int表示,IPv6有128位用2个Long表示,每个Long表示64位,端口用一个16位的short表示。
3.如权利要求2所述的一种集群应用网络流量的高效过滤方法,其特征在于,第一条匹配规则可以为任意一个匹配规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140373.1A CN111478822B (zh) | 2019-02-21 | 2019-02-21 | 一种集群应用网络流量的高效过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140373.1A CN111478822B (zh) | 2019-02-21 | 2019-02-21 | 一种集群应用网络流量的高效过滤方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111478822A true CN111478822A (zh) | 2020-07-31 |
CN111478822B CN111478822B (zh) | 2022-11-04 |
Family
ID=71743671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910140373.1A Active CN111478822B (zh) | 2019-02-21 | 2019-02-21 | 一种集群应用网络流量的高效过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478822B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
US20110264797A1 (en) * | 2010-04-23 | 2011-10-27 | Eldad Matityahu | Integrated network data collection arrangement and methods thereof |
CN108259371A (zh) * | 2016-12-28 | 2018-07-06 | 亿阳信通股份有限公司 | 一种基于流处理的网络流量数据解析方法和装置 |
-
2019
- 2019-02-21 CN CN201910140373.1A patent/CN111478822B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
US20110264797A1 (en) * | 2010-04-23 | 2011-10-27 | Eldad Matityahu | Integrated network data collection arrangement and methods thereof |
CN108259371A (zh) * | 2016-12-28 | 2018-07-06 | 亿阳信通股份有限公司 | 一种基于流处理的网络流量数据解析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111478822B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683682B (zh) | 一种基于软件定义网络的DDoS攻击检测及防御方法和系统 | |
US20180183705A1 (en) | System and method for real-time load balancing of network packets | |
US8510830B2 (en) | Method and apparatus for efficient netflow data analysis | |
US10757136B2 (en) | Botnet beaconing detection and mitigation | |
CN105591973B (zh) | 应用识别方法及装置 | |
CN104579940B (zh) | 查找访问控制列表的方法及装置 | |
CN108683686B (zh) | 一种随机子域名DDoS攻击检测方法 | |
CN109936517A (zh) | 拟态防御中的自适应动态流量分配方法 | |
US8910267B2 (en) | Method for managing connections in firewalls | |
CN1725705A (zh) | 流量攻击网络设备的报文特征的检测方法 | |
CN101645851B (zh) | 一种ip分片报文的重组方法和装置 | |
CN107465567B (zh) | 一种数据库防火墙的数据转发方法 | |
CN108173705A (zh) | 流量引流的首包识别方法、装置、设备及介质 | |
CN104579998A (zh) | 一种负载均衡处理装置 | |
CN107612937B (zh) | 一种sdn网络下对dhcp泛洪攻击的检测与防御方法 | |
CN113630394A (zh) | 一种防御ddos流量攻击检测的方法 | |
CN110071939B (zh) | 针对传统ddos防火墙syn flood防护在工业网络中的改进方法 | |
CN113810337A (zh) | 用于网络报文去重的方法、装置、以及存储介质 | |
CN111478822B (zh) | 一种集群应用网络流量的高效过滤方法 | |
CN111988421B (zh) | 基于区块链的DDoS攻击日志摘要记录方法和系统 | |
CN109802891A (zh) | 一种提高大象流流表利用率的方法及装置 | |
CN113765849B (zh) | 一种异常网络流量检测方法和装置 | |
CN105681201A (zh) | 报文的规则匹配方法和装置 | |
CN101789884A (zh) | 网络入侵检测的负载均衡方法 | |
CN109547389B (zh) | 一种码流文件重组的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221024 Address after: 200433 3rd floor, No.1 Lane 127, Guotai Road, Yangpu District, Shanghai Applicant after: Shanghai Duosan Technology Co.,Ltd. Address before: 200433 Room A239, Exhibition Hall, 1st Floor, No. 11 Guotai Road, Yangpu District, Shanghai Applicant before: Shanghai Tongwei Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right |