CN110830325B - 一种自适应的网络旁路路径网流方向推测方法及系统 - Google Patents
一种自适应的网络旁路路径网流方向推测方法及系统 Download PDFInfo
- Publication number
- CN110830325B CN110830325B CN201911072918.6A CN201911072918A CN110830325B CN 110830325 B CN110830325 B CN 110830325B CN 201911072918 A CN201911072918 A CN 201911072918A CN 110830325 B CN110830325 B CN 110830325B
- Authority
- CN
- China
- Prior art keywords
- source
- port number
- network
- score
- destination
- 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.)
- Active
Links
Images
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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种自适应的网络旁路路径网流方向推测方法及系统。该方法包括:获取网包、网流列表和服务端得分表;通过标签特征对服务端口进行赋值,得到服务端口赋值;在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。本发明实施例通过将网络中的网包与网流进行匹配,并建立服务端得分表,对服务端口得分进行赋值,结合服务端口得分表进行打分来判断服务端口的类型,能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP‑端口号列表。
Description
技术领域
本发明涉及网络性能监控技术领域,尤其涉及一种自适应的网络旁路路径网流方向推测方法及系统。
背景技术
在网络运行中,大量使用流量采集分析工具,流量采集分析的目标是对网络和应用运行状况进行监控,对网流方向(客户端、服务端)的精确定位是流量分析准确的前提。但是,在镜像路径上由于链路负载均衡、镜像链路时延、镜像端口队列缓冲、镜像路径丢包等原因,网流的方向并不能简单确定。
现有的网流方向推测方法通常分为三类:1、依据网包被采集设备接收到的时间,以网流中第一个包的源IP作为客户端,目的IP作为服务端;2、依据常见服务端端口号列表,若五元组中某一侧端口号为常见端口号,则认为它是服务端;3、依据手工录入服务端IP-端口号列表确定网流方向。
而现有的方案通常使用网流中第一个包的方向作为网流客户端、服务端的方向,这种方法对于防火墙等串联设备是适用的,但对于流量分析设备等旁路并联设备通常不适用,这是因为在旁路镜像路径中,同一个网流的双方向网包被流量分型设备接收到的顺序可能是任意的,而且网流的首包可能在镜像路径中丢失。具体而言,当流量采集点包含多个互为负载均衡的链路时,对这些链路的流量进行独立的分光或镜像操作,不同链路中的流量到达流量分析设备的顺序可能由于时延、丢包导致乱序。为了弥补这种方案的不足,通常会考虑使用常见服务端口好列表对网流的方向进行矫正。但是这样的列表仅能覆盖6万个端口号中不足10%的部分,而且这些端口号也仅仅只是常见服务在IANA注册的默认端口。一方面这些服务的端口号一般都可以由用户根据自身的需求修改,另一方面对于用户自身开发的服务并不会使用这类列表中的端口。实际上,这个列表甚至能在部分场景下使得永远给出错误的网流方向,例如如果用户在实际业务中使用源端口号12001(IANA登记为IBMEnterprise Extender SNA COS Network Priority)访问了某个使用端口号30000(IANA未登记)的私有服务,此时网流的方向总会被错误地反向。为了弥补上述两种方案的不足,通常会通过手工录入服务端IP-端口号的方法对推测结果进行矫正,但这样的录入无法保证随着业务的变更自动更新。
发明内容
本发明实施例提供一种自适应的网络旁路路径网流方向推测方法及系统,用以解决现有技术中仅适用于对串联设备进行包监测来确定网流的方向,不适用于旁路并联设备网流方向确定的缺陷。
第一方面,本发明实施例提供一种自适应的网络旁路路径网流方向推测方法,包括:
获取网包、网流列表和服务端得分表;
通过标签特征对服务端口进行赋值,得到服务端口赋值;
在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;
根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
优选地,所述方法还包括:
若所述网包的五元组与所述网流列表中的任一元素对应的五元组不相等,则判定所述网包与所述任一元素不匹配;
对所述服务端得分表进行更新;
根据所述服务端口赋值,结合更新后的服务端得分表获取所述网包对应的服务端口类型。
优选地,所述获取网包、网流列表和服务端得分表,具体包括:
确定所述网包的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;
所述网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
所述服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>。
优选地,所述通过标签特征对服务端口进行赋值,得到服务端口赋值,具体包括:
通过TCP包的Flag标签对所述服务端口进行赋值;
若所述Flag标签为第一类型标签,则所述服务端口为服务端;
若所述Flag标签为第二类型标签,则所述服务端口为客户端。
优选地,所述在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配,具体包括:
在所述网流列表F中查询所述网包P;
若P的<源IP、源端口号、协议、目的IP、目的端口号>,分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>,或者P的<目的IP、目的端口号、协议、源IP、源端口号>分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
则判定所述网包P与所述网流列表F中的元素f匹配。
优选地,所述根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型,具体包括:
若P为所述TCP包,且所述Flag标签为所述第一标签,则将<源IP、源端口号>在S中的得分置为MAX,并判定P为服务端;
若P为所述TCP包,且所述Flag标签为所述第二标签,则将<源IP、源端口号>从S中删除,并判定P为客户端;
使用P中的<源IP、源端口号>在S中查询源端得分S1;
使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
若S1>S2则认为<源IP、源端口号>为服务端;
否则判定<目的IP、目的端口号>为服务端。
优选地,所述对所述服务端得分表进行更新,具体包括:
若P不是所述TCP包,或者所述Flag标签不等于所述第一标签且不等于所述第二标签,则将<源IP、源端口号>在S中的得分减少1,若<源IP、源端口号>在S中的得分减少之后小于等于0,则将<源IP、源端口号>从S中删除;
将<目的IP、目的端口号>在S中的得分增加1,若<目的IP、目的端口号>在S中的得分增加之后大于等于MAX,则将<源IP、源端口号>在S中的得分置为MAX。
第二方面,本发明实施例提供一种自适应的网络旁路路径网流方向推测系统,包括:
获取模块,用于获取网包、网流列表和服务端得分表;
赋值模块,用于通过标签特征对服务端口进行赋值,得到服务端口赋值;
第一判定模块,用于在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;
第一处理模块,用于根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
第三方面,本发明实施例提供一种电子设备,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述自适应的网络旁路路径网流方向推测方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现任一项所述自适应的网络旁路路径网流方向推测方法的步骤。
本发明实施例提供的自适应的网络旁路路径网流方向推测方法及系统,通过将网络中的网包与网流进行匹配,并建立服务端得分表,对服务端口得分进行赋值,结合服务端口得分表进行打分来判断服务端口的类型,能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP-端口号列表。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种自适应的网络旁路路径网流方向推测方法流程图;
图2为本发明实施例提供的一种自适应的网络旁路路径网流方向推测另一方法流程图;
图3为本发明实施例提供的TCP协议中三次握手过程的示意图;
图4为本发明实施例提供的服务端口得分表示意图;
图5为本发明实施例提供的一种自适应的网络旁路路径网流方向推测系统结构图;
图6为本发明实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例面向网络性能监控(Network Performance Monitoring)领域,提出了一种自适应的网络旁路流量网流方向推测方法,用于网络流量分析的场景中精准确定网流的客户端、服务端方向。
图1为本发明实施例提供的一种自适应的网络旁路路径网流方向推测方法流程图,如图1所示,包括:
S1,获取网包、网流列表和服务端得分表;
S2,通过标签特征对服务端口进行赋值,得到服务端口赋值;
S3,在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;
S4,根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
具体地,步骤S1中,首先获取到网络中的网包信息,分析工具已经维护的网流列表,以及分析工具已经维护的服务端;
步骤S2中,通过网络中标准协议标签的特征值来对各服务端口进行赋值,进而得到服务端口赋值;
步骤S3中,在获取的网流列表中查询网包的五元组信息,若网包五元组信息和网流列表中的某一元素对应的五元组相等,则认为网包和该元素是匹配的;
步骤S4中,然后根据服务端口赋值,并结合服务端得分表进行端口打分,判定网包对应的具体服务端口类型,来确定网络的流向。
本发明实施例通过将网络中的网包与网流进行匹配,并建立服务端得分表,对服务端口得分进行赋值,结合服务端口得分表进行打分来判断服务端口的类型,能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP-端口号列表。
基于上述实施例,图2为本发明实施例提供的一种自适应的网络旁路路径网流方向推测另一方法流程图,如图2所示,包括:
T1,获取网包、网流列表和服务端得分表;
T2,通过标签特征对服务端口进行赋值,得到服务端口赋值;
T3,若所述网包的五元组与所述网流列表中的任一元素对应的五元组不相等,则判定所述网包与所述任一元素不匹配;
T4,对所述服务端得分表进行更新;
T5,根据所述服务端口赋值,结合更新后的服务端得分表获取所述网包对应的服务端口类型。
具体地,步骤T1和T2和前述实施例的步骤S1和S2相同;
步骤T3中,若网包五元组信息和网流列表中的某一元素对应的五元组不相等,则认为网包和该元素是不匹配的;
步骤T4中,进一步对服务端得分表进行更新,得到新的服务端得分表;
步骤T5中,根据服务端口赋值,并结合新的服务端得分表进行端口打分,判定网包对应的具体服务端口类型,来确定网络的流向。
本发明实施例通过一旦获取到网包与网流列表中的元素存在不匹配的情形,便对服务端得分表进行更新,使用网包是否是首包的信息对得分表进行更新,对于首包中的源端得分减一,对于首包中的目的端得分加一。最终源端和目的端通过比较得分高低确定哪一侧是服务端,这样的设定可以对UDP服务变更进行自适应,而且能容忍TCP流量中SYN+ACK或SYN包丢包的情况。
基于上述任一实施例,所述获取网包、网流列表和服务端得分表,具体包括:
确定所述网包的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;
所述网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
所述服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>。
具体地,对流量分析工具接收到的某个特定网包,进行如下设置:
设网包中的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;
设分析工具已经维护的网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
设分析工具已经维护的服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>。
本发明实施例通过对网包、网流列表和服务端得分表进行了具体的定义,便于进行各特征向量的比对,以便进行是否匹配的判断,提供了较为直观的比对参考。
基于上述任一实施例,所述通过标签特征对服务端口进行赋值,得到服务端口赋值,具体包括:
通过TCP包的Flag标签对所述服务端口进行赋值;
若所述Flag标签为第一类型标签,则所述服务端口为服务端;
若所述Flag标签为第二类型标签,则所述服务端口为客户端。
具体地,网络中传输常用的TCP/IP协议中,采用三次握手机制,如图3所示:
第一次握手:建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers);
第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
完成三次握手后,客户端与服务端开始传送数据。
此处,本发明实施例所采用的第一类型标签为SYN+ACK,第二类型标签为SYN。通过TCP包的特殊Flag对服务端口进行赋值,判定历史上发送过SYN+ACK的IP、端口号肯定是服务端,反之发送过SYN的IP、端口号则肯定是客户端。由于一个<IP、端口号>只能有一个角色,因此这样的设定可以对TCP服务变更进行自适应。
本发明实施例通过采用网络中常用的TCP协议对应的标签对服务端口进行赋值,具有很强的通用性和识别特征,能快速对端口的类型进行有效识别。
基于上述任一实施例,所述在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配,具体包括:
在所述网流列表F中查询所述网包P;
若P的<源IP、源端口号、协议、目的IP、目的端口号>,分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>,或者P的<目的IP、目的端口号、协议、源IP、源端口号>分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
则判定所述网包P与所述网流列表F中的元素f匹配。
优选地,所述根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型,具体包括:
若P为所述TCP包,且所述Flag标签为所述第一标签,则将<源IP、源端口号>在S中的得分置为MAX,并判定P为服务端;
若P为所述TCP包,且所述Flag标签为所述第二标签,则将<源IP、源端口号>从S中删除,并判定P为客户端;
使用P中的<源IP、源端口号>在S中查询源端得分S1;
使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
若S1>S2则认为<源IP、源端口号>为服务端;
否则判定<目的IP、目的端口号>为服务端。
具体地,若P与某个f匹配,则依次执行如下步骤:
a)若P是TCP包且TCP Flag等于SYN+ACK,则将<源IP、源端口号>在S中的得分置为MAX,认为它此时一定是服务端;
b)若P是TCP包且TCP Flag等于SYN,则将<源IP、源端口号>从S中删除,认为它此时一定是客户端;
c)使用P中的<源IP、源端口号>在S中查询源端得分S1;
d)使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
e)若S1>S2则认为<源IP、源端口号>为服务端;
f)否则认为<目的IP、目的端口号>为服务端。
本发明实施例通过在确定网包与网流列表中的元素存在匹配的关系后,采用已经建立的服务端得分表,进行服务端口类型的判定,有效实现了自适应调整,以及不依赖于固定的常用服务端口号列表和不依赖手工录入服务端IP-端口号列表。
基于上述任一实施例,所述对所述服务端得分表进行更新,具体包括:
若P不是所述TCP包,或者所述Flag标签不等于所述第一标签且不等于所述第二标签,则将<源IP、源端口号>在S中的得分减少1,若<源IP、源端口号>在S中的得分减少之后小于等于0,则将<源IP、源端口号>从S中删除;
将<目的IP、目的端口号>在S中的得分增加1,若<目的IP、目的端口号>在S中的得分增加之后大于等于MAX,则将<源IP、源端口号>在S中的得分置为MAX。
具体地,若P不与任意的f匹配,则依次执行如下步骤:
a)若P是TCP包且TCP Flag等于SYN+ACK,则将<源IP、源端口号>在S中的得分置为MAX,认为它此时一定是服务端;
b)若P是TCP包且TCP Flag等于SYN,则将<源IP、源端口号>从S中删除,认为它此时一定是客户端;
c)若P不是TCP包或者TCP Flag不等于SYN且不等于SYN+ACK,则将<源IP、源端口号>在S中的得分减少1(若减少之后小于等于0则将其从S中删除),并将<目的IP、目的端口号>在S中的得分增加1(若增加之后大于等于MAX则将其置为MAX),服务端得分表可参见图4;
d)使用P中的<源IP、源端口号>在S中查询源端得分S1;
e)使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
f)若S1>S2则认为<源IP、源端口号>为服务端;
g)否则认为<目的IP、目的端口号>为服务端。
本发明实施例通过在确定网包与网流列表中的元素不存在匹配的关系后,实时对服务端得分表进行更新,并根据更新后的服务端得分表进行服务端口类型的判定,实现了能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP-端口号列表。
图5为本发明实施例提供的一种自适应的网络旁路路径网流方向推测系统结构图,如图5所示,包括:获取模块51、赋值模块52、第一判定模块53和第一处理模块54;其中:
获取模块51用于获取网包、网流列表和服务端得分表;赋值模块52用于通过标签特征对服务端口进行赋值,得到服务端口赋值;第一判定模块53用于在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;第一处理模块54用于根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
本发明实施例提供的系统用于执行上述对应的方法,其具体的实施方式与方法的实施方式一致,涉及的算法流程与对应的方法算法流程相同,此处不再赘述。
本发明实施例通过将网络中的网包与网流进行匹配,并建立服务端得分表,对服务端口得分进行赋值,结合服务端口得分表进行打分来判断服务端口的类型,能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP-端口号列表。
基于上述实施例,该系统还包括:第二判定模块55、更新模块56和第二处理模块57;其中:
第二判定模块55用于若所述网包的五元组与所述网流列表中的任一元素对应的五元组不相等,则判定所述网包与所述任一元素不匹配;更新模块56用于对所述服务端得分表进行更新;第二处理模块57用于根据所述服务端口赋值,结合更新后的服务端得分表获取所述网包对应的服务端口类型。
本发明实施例通过一旦获取到网包与网流列表中的元素存在不匹配的情形,便对服务端得分表进行更新,使用网包是否是首包的信息对得分表进行更新,对于首包中的源端得分减一,对于首包中的目的端得分加一。最终源端和目的端通过比较得分高低确定哪一侧是服务端,这样的设定可以对UDP服务变更进行自适应,而且能容忍TCP流量中SYN+ACK或SYN包丢包的情况。
基于上述任一实施例,所述获取模块51包括:网包获取子模块511、网流列表获取子模块512和服务端得分表获取子模块513;其中:
网包获取子模块511用于确定所述网包的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;网流列表获取子模块512用于所述网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;服务端得分表获取子模块513用于所述服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>。
本发明实施例通过对网包、网流列表和服务端得分表进行了具体的定义,便于进行各特征向量的比对,以便进行是否匹配的判断,提供了较为直观的比对参考。
基于上述任一实施例,所述赋值模块52包括:标签获取子模块521、第一赋值子模块522和第二赋值子模块523;其中:
标签获取子模块521用于通过TCP包的Flag标签对所述服务端口进行赋值;第一赋值子模块522用于若所述Flag标签为第一类型标签,则所述服务端口为服务端;第二赋值子模块523用于若所述Flag标签为第二类型标签,则所述服务端口为客户端。
本发明实施例通过采用网络中常用的TCP协议对应的标签对服务端口进行赋值,具有很强的通用性和识别特征,能快速对端口的类型进行有效识别。
基于上述任一实施例,第一判定模块53包括:查询子模块531、匹配子模块532和第一判定子模块533;其中:
查询子模块531用于在所述网流列表F中查询所述网包P;匹配子模块532用于若P的<源IP、源端口号、协议、目的IP、目的端口号>,分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>,或者P的<目的IP、目的端口号、协议、源IP、源端口号>分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;第一判定子模块533用于判定所述网包P与所述网流列表F中的元素f匹配。
基于上述任一实施例,第一处理模块54具体用于:
若P为所述TCP包,且所述Flag标签为所述第一标签,则将<源IP、源端口号>在S中的得分置为MAX,并判定P为服务端;
若P为所述TCP包,且所述Flag标签为所述第二标签,则将<源IP、源端口号>从S中删除,并判定P为客户端;
使用P中的<源IP、源端口号>在S中查询源端得分S1;
使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
若S1>S2则认为<源IP、源端口号>为服务端;
否则判定<目的IP、目的端口号>为服务端。
本发明实施例通过在确定网包与网流列表中的元素存在匹配的关系后,采用已经建立的服务端得分表,进行服务端口类型的判定,有效实现了自适应调整,以及不依赖于固定的常用服务端口号列表和不依赖手工录入服务端IP-端口号列表。
基于上述任一实施例,更新模块56具体用于:
若P不是所述TCP包,或者所述Flag标签不等于所述第一标签且不等于所述第二标签,则将<源IP、源端口号>在S中的得分减少1,若<源IP、源端口号>在S中的得分减少之后小于等于0,则将<源IP、源端口号>从S中删除;
将<目的IP、目的端口号>在S中的得分增加1,若<目的IP、目的端口号>在S中的得分增加之后大于等于MAX,则将<源IP、源端口号>在S中的得分置为MAX。
本发明实施例通过在确定网包与网流列表中的元素不存在匹配的关系后,实时对服务端得分表进行更新,并根据更新后的服务端得分表进行服务端口类型的判定,实现了能容忍镜像路径中的时延、丢包,无需利用常用服务端口号列表,无需手工指定服务端IP-端口号列表。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:获取网包、网流列表和服务端得分表;通过标签特征对服务端口进行赋值,得到服务端口赋值;在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取网包、网流列表和服务端得分表;通过标签特征对服务端口进行赋值,得到服务端口赋值;在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种自适应的网络旁路路径网流方向推测方法,其特征在于,包括:
获取网包、网流列表和服务端得分表;
通过标签特征对服务端口进行赋值,得到服务端口赋值;
在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;
根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型;
所述获取网包、网流列表和服务端得分表,具体包括:
确定所述网包的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;
所述网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
所述服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>;
所述服务端得分表用于基于源IP、源端口号查询源端的得分;
所述通过标签特征对服务端口进行赋值,得到服务端口赋值,具体包括:
通过TCP包的Flag标签对所述服务端口进行赋值;
若所述Flag标签为第一类型标签,则所述服务端口为服务端;
若所述Flag标签为第二类型标签,则所述服务端口为客户端;
第一类型标签为SYN+ACK,第二类型标签为SYN;
所述根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型,具体包括:
若P为所述TCP包,且所述Flag标签为所述第一类型标签,则将<源IP、源端口号>在S中的得分置为MAX,并判定P为服务端;
若P为所述TCP包,且所述Flag标签为所述第二类型标签,则将<源IP、源端口号>从S中删除,并判定P为客户端;
使用P中的<源IP、源端口号>在S中查询源端得分S1;
使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
若S1>S2则认为<源IP、源端口号>为服务端;
否则判定<目的IP、目的端口号>为服务端;
若P不是所述TCP包,或者所述Flag标签不等于所述第一类型标签且不等于所述第二类型标签,则将<源IP、源端口号>在S中的得分减少1,若<源IP、源端口号>在S中的得分减少之后小于等于0,则将<源IP、源端口号>从S中删除;
将<目的IP、目的端口号>在S中的得分增加1,若<目的IP、目的端口号>在S中的得分增加之后大于等于MAX,则将<源IP、源端口号>在S中的得分置为MAX。
2.根据权利要求1所述的自适应的网络旁路路径网流方向推测方法,其特征在于,所述方法还包括:
若所述网包的五元组与所述网流列表中的任一元素对应的五元组不相等,则判定所述网包与所述任一元素不匹配;
对所述服务端得分表进行更新;
根据所述服务端口赋值,结合更新后的服务端得分表获取所述网包对应的服务端口类型。
3.根据权利要求1所述的自适应的网络旁路路径网流方向推测方法,其特征在于,所述在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配,具体包括:
在所述网流列表F中查询所述网包P;
若P的<源IP、源端口号、协议、目的IP、目的端口号>,分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>,或者P的<目的IP、目的端口号、协议、源IP、源端口号>分别等于f的<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
则判定所述网包P与所述网流列表F中的元素f匹配。
4.一种自适应的网络旁路路径网流方向推测系统,其特征在于,包括:
获取模块,用于获取网包、网流列表和服务端得分表;
赋值模块,用于通过标签特征对服务端口进行赋值,得到服务端口赋值;
第一判定模块,用于在所述网流列表中查询所述网包的五元组,若所述网包的五元组与所述网流列表中的任一元素对应的五元组相等,则判定所述网包与所述任一元素匹配;
第一处理模块,用于根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型;
所述获取网包、网流列表和服务端得分表,具体包括:
确定所述网包的五元组信息为P=<源IP、源端口号、协议、目的IP、目的端口号>;
所述网流列表为F,F中每个元素为五元组f=<客户端IP、客户端端口号、协议、服务端IP、服务端端口号>;
所述服务端得分表为S,S中每个元素为三元组s=<IP、端口号、得分>;
所述服务端得分表用于基于源IP、源端口号查询源端的得分;
所述通过标签特征对服务端口进行赋值,得到服务端口赋值,具体包括:
通过TCP包的Flag标签对所述服务端口进行赋值;
若所述Flag标签为第一类型标签,则所述服务端口为服务端;
若所述Flag标签为第二类型标签,则所述服务端口为客户端;
第一类型标签为SYN+ACK,第二类型标签为SYN;
所述根据所述服务端口赋值,结合所述服务端得分表获取所述网包对应的服务端口类型,具体包括:
若P为所述TCP包,且所述Flag标签为所述第一类型标签,则将<源IP、源端口号>在S中的得分置为MAX,并判定P为服务端;
若P为所述TCP包,且所述Flag标签为所述第二类型标签,则将<源IP、源端口号>从S中删除,并判定P为客户端;
使用P中的<源IP、源端口号>在S中查询源端得分S1;
使用P中的<目的IP、目的端口号>在S中查询目的端得分S2;
若S1>S2则认为<源IP、源端口号>为服务端;
否则判定<目的IP、目的端口号>为服务端;
若P不是所述TCP包,或者所述Flag标签不等于所述第一类型标签且不等于所述第二类型标签,则将<源IP、源端口号>在S中的得分减少1,若<源IP、源端口号>在S中的得分减少之后小于等于0,则将<源IP、源端口号>从S中删除;
将<目的IP、目的端口号>在S中的得分增加1,若<目的IP、目的端口号>在S中的得分增加之后大于等于MAX,则将<源IP、源端口号>在S中的得分置为MAX。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述自适应的网络旁路路径网流方向推测方法的步骤。
6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述自适应的网络旁路路径网流方向推测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072918.6A CN110830325B (zh) | 2019-11-05 | 2019-11-05 | 一种自适应的网络旁路路径网流方向推测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072918.6A CN110830325B (zh) | 2019-11-05 | 2019-11-05 | 一种自适应的网络旁路路径网流方向推测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830325A CN110830325A (zh) | 2020-02-21 |
CN110830325B true CN110830325B (zh) | 2021-05-14 |
Family
ID=69552669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911072918.6A Active CN110830325B (zh) | 2019-11-05 | 2019-11-05 | 一种自适应的网络旁路路径网流方向推测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830325B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024765B (zh) * | 2021-11-15 | 2022-07-22 | 北京智维盈讯网络科技有限公司 | 基于旁路流量与防火墙配置相结合的防火墙策略收敛方法 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1322073A1 (en) * | 2001-12-22 | 2003-06-25 | 3Com Corporation | Communication system with ring topology and automatic reconfiguration in case of a failure |
CN101075992A (zh) * | 2006-05-17 | 2007-11-21 | 卓望数码技术(深圳)有限公司 | Ip多业务交换方法及ip多业务交换系统 |
US7546089B2 (en) * | 2004-12-23 | 2009-06-09 | Triquint Semiconductor, Inc. | Switchable directional coupler for use with RF devices |
CN102281293A (zh) * | 2011-08-01 | 2011-12-14 | 中兴通讯股份有限公司 | 传输控制协议类型会话媒体流的传输方法及系统 |
CN102638374A (zh) * | 2012-04-27 | 2012-08-15 | 烽火通信科技股份有限公司 | 基于远程登录协议维护光传输网络的方法 |
CN103067394A (zh) * | 2013-02-07 | 2013-04-24 | 北京网康科技有限公司 | 一种基于单向数据包的tcp连接建立方法及装置 |
CN104113553A (zh) * | 2014-07-29 | 2014-10-22 | 网神信息技术(北京)股份有限公司 | 端口状态识别方法、装置和系统 |
CN104333533A (zh) * | 2014-09-12 | 2015-02-04 | 北京华电天益信息科技有限公司 | 一种用于工业控制系统网络的数据包零拷贝获取方法 |
CN104349220A (zh) * | 2014-11-25 | 2015-02-11 | 复旦大学 | 一种用于智能电视终端的服务质量监测系统 |
CN105007175A (zh) * | 2015-06-03 | 2015-10-28 | 北京云杉世纪网络科技有限公司 | 一种基于openflow的流深度关联分析方法及系统 |
CN106254433A (zh) * | 2016-07-28 | 2016-12-21 | 杭州迪普科技有限公司 | 一种建立tcp通信连接的方法及装置 |
CN107204923A (zh) * | 2017-05-24 | 2017-09-26 | 全讯汇聚网络科技(北京)有限公司 | 一种协议分流方法、系统及路由器 |
CN107508721A (zh) * | 2017-08-01 | 2017-12-22 | 南京云利来软件科技有限公司 | 一种基于元数据的数据采集方法 |
CN107645398A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种诊断网络性能和故障的方法和装置 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN107995226A (zh) * | 2017-12-27 | 2018-05-04 | 山东华软金盾软件股份有限公司 | 一种基于被动流量的设备指纹识别方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750158B2 (en) * | 2006-08-22 | 2014-06-10 | Centurylink Intellectual Property Llc | System and method for differentiated billing |
US10110417B1 (en) * | 2012-07-06 | 2018-10-23 | Cradlepoint, Inc. | Private networks overlaid on cloud infrastructure |
CN103023655B (zh) * | 2012-12-13 | 2016-06-29 | 曙光云计算技术有限公司 | 网络安全系统 |
CN103139014B (zh) * | 2013-01-28 | 2016-08-10 | 深信服网络科技(深圳)有限公司 | 基于旁路的网络质量评测方法及装置 |
CA2840735A1 (en) * | 2013-02-04 | 2014-08-04 | Huawei Technologies Co., Ltd. | Feature extraction apparatus, and network traffic identification method, apparatus, and system |
CN105701100B (zh) * | 2014-11-26 | 2019-07-12 | 上海高研明鉴信息技术有限公司 | 互联网信息转发过程自动记录方法、装置及系统 |
CN106713852B (zh) * | 2016-12-08 | 2020-11-13 | 南京邮电大学 | 一种多平台无线车载监控系统 |
CN107547240B (zh) * | 2017-05-11 | 2021-02-26 | 新华三云计算技术有限公司 | 一种链路检测方法和装置 |
CN109039773B (zh) * | 2018-09-06 | 2019-08-09 | 掌阅科技股份有限公司 | 网络通信监控方法、电子设备、存储介质 |
-
2019
- 2019-11-05 CN CN201911072918.6A patent/CN110830325B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1322073A1 (en) * | 2001-12-22 | 2003-06-25 | 3Com Corporation | Communication system with ring topology and automatic reconfiguration in case of a failure |
US7546089B2 (en) * | 2004-12-23 | 2009-06-09 | Triquint Semiconductor, Inc. | Switchable directional coupler for use with RF devices |
CN101075992A (zh) * | 2006-05-17 | 2007-11-21 | 卓望数码技术(深圳)有限公司 | Ip多业务交换方法及ip多业务交换系统 |
CN102281293A (zh) * | 2011-08-01 | 2011-12-14 | 中兴通讯股份有限公司 | 传输控制协议类型会话媒体流的传输方法及系统 |
CN102638374A (zh) * | 2012-04-27 | 2012-08-15 | 烽火通信科技股份有限公司 | 基于远程登录协议维护光传输网络的方法 |
CN103067394A (zh) * | 2013-02-07 | 2013-04-24 | 北京网康科技有限公司 | 一种基于单向数据包的tcp连接建立方法及装置 |
CN104113553A (zh) * | 2014-07-29 | 2014-10-22 | 网神信息技术(北京)股份有限公司 | 端口状态识别方法、装置和系统 |
CN104333533A (zh) * | 2014-09-12 | 2015-02-04 | 北京华电天益信息科技有限公司 | 一种用于工业控制系统网络的数据包零拷贝获取方法 |
CN104349220A (zh) * | 2014-11-25 | 2015-02-11 | 复旦大学 | 一种用于智能电视终端的服务质量监测系统 |
CN105007175A (zh) * | 2015-06-03 | 2015-10-28 | 北京云杉世纪网络科技有限公司 | 一种基于openflow的流深度关联分析方法及系统 |
CN107645398A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种诊断网络性能和故障的方法和装置 |
CN106254433A (zh) * | 2016-07-28 | 2016-12-21 | 杭州迪普科技有限公司 | 一种建立tcp通信连接的方法及装置 |
CN107204923A (zh) * | 2017-05-24 | 2017-09-26 | 全讯汇聚网络科技(北京)有限公司 | 一种协议分流方法、系统及路由器 |
CN107508721A (zh) * | 2017-08-01 | 2017-12-22 | 南京云利来软件科技有限公司 | 一种基于元数据的数据采集方法 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN107995226A (zh) * | 2017-12-27 | 2018-05-04 | 山东华软金盾软件股份有限公司 | 一种基于被动流量的设备指纹识别方法 |
Non-Patent Citations (1)
Title |
---|
网络流量识别分析系统的设计与实现;王程;《中国优秀硕士学位论文全文数据库信息科技辑》;20150315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110830325A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3229407B1 (en) | Application signature generation and distribution | |
US10091090B2 (en) | Packet forwarding in software defined networking | |
US11082308B2 (en) | Multi-path aware tracing and probing functionality at service topology layer | |
US9800491B1 (en) | Application based packet forwarding | |
US9444743B2 (en) | Network system, switch and connected terminal detection method | |
US10084713B2 (en) | Protocol type identification method and apparatus | |
US8874789B1 (en) | Application based routing arrangements and method thereof | |
US8910267B2 (en) | Method for managing connections in firewalls | |
US20130294449A1 (en) | Efficient application recognition in network traffic | |
US20170041242A1 (en) | Network system, communication analysis method and analysis apparatus | |
US9590905B2 (en) | Control apparatus and a communication method, apparatus, and system to perform path control of a network | |
EP3562109B1 (en) | Method for identifying multiple packets, method for identifying data packet, and traffic guiding method | |
US20210306282A1 (en) | Establishment of Fast Forwarding Table | |
CN111314236A (zh) | 报文转发方法及装置 | |
CN110830325B (zh) | 一种自适应的网络旁路路径网流方向推测方法及系统 | |
EP3534575B1 (en) | Method for identifying single packet, and traffic guiding method | |
CN107645570A (zh) | 客户端上线方法及装置 | |
JP5941887B2 (ja) | エッジルータ切替方法及びシステム及びエッジルータ及び冗長管理装置 | |
US9847927B2 (en) | Information processing device, method, and medium | |
CN112822221A (zh) | 一种服务器的选择方法、装置、设备及介质 | |
US9942823B2 (en) | Communication terminal, communication method, and communication program | |
US11265372B2 (en) | Identification of a protocol of a data stream | |
JP5902264B2 (ja) | 通信制御装置、通信制御システム、通信制御方法、および通信制御プログラム | |
US10735349B2 (en) | Non-transitory computer-readable storage medium, packet control method, and packet control device | |
CN112600748B (zh) | 面向vpn隧道的多链路聚合方法、系统及存储介质 |
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 |