CN104660636B - 点对点应用识别处理方法和装置 - Google Patents
点对点应用识别处理方法和装置 Download PDFInfo
- Publication number
- CN104660636B CN104660636B CN201310589293.7A CN201310589293A CN104660636B CN 104660636 B CN104660636 B CN 104660636B CN 201310589293 A CN201310589293 A CN 201310589293A CN 104660636 B CN104660636 B CN 104660636B
- Authority
- CN
- China
- Prior art keywords
- message
- feature
- preset
- identified
- session stage
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种点对点应用识别处理方法和装置,该方法包括:获取第一待识别数据报文;根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。本发明实施例中,从第一待识别数据报文中,进一步地筛选出第二待识别数据报文,减少了报文特征对比的工作量,提高了识别效率,且无需依赖报文内容,不需要对报文进行深度分析,就可以准确识别出P2P应用。
Description
技术领域
本发明涉及通信技术,尤其涉及一种点对点应用识别处理方法和装置。
背景技术
随着点对点(Peer To Peer,简称P2P)技术的发展,P2P技术已经应用于互联网的各个方面。其中,P2P技术主要应用于文件和其它内容共享、计算和存储能力共享、协同处理与服务共享平台、即时通信、安全的P2P通讯与信息共享等。特别地,随着视频流媒体的发展,P2P凭借其优异的可扩展性以及低成本、易部署的优势,成为解决大规模流媒体应用最重要的技术途径之一。
当前,P2P流量识别技术成为P2P流量控制应用的关键技术。现有技术中,基于端口的识别技术,主要针对早期的P2P应用多采用固定传输控制协议(Transmission ControlProtocol,简称TCP)端口的特点进行识别。
但是,当前的P2P技术采用用户数据包协议(User Datagram Protocol,简称UDP)承载,节点间通信时采用的UDP端口是动态变化的,采用现有技术无法识别出具体的P2P应用。
发明内容
本发明实施例提供一种点对点应用识别处理方法和装置,用于解决节点间通信采用动态变化的端口时,不能准确识别P2P应用的问题。
本发明实施例第一方面提供一种点对点应用识别处理方法,包括:
获取第一待识别数据报文;
根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;
根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;
根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
结合第一方面,在第一方面的第一种可能的实施方式中,所述获取第一待识别数据报文,包括:
接收网络流量中的数据报文;
根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
结合第一方面,在第一方面的第二种可能的实施方式中,所述根据所述第二待识别数据报文中的握手阶段报文的特征确定所述业务流量为P2P流量,包括:
将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量,包括:
将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征匹配成功之后,还包括:
若接收到与所述第一握手报文相同的报文,则在接收到与所述第一握手报文不同的第二握手报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
结合第一方面,在第一方面的第五种可能的实施方式中,所述根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型,包括:
将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型,包括:
将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。
结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与至少一个第一预设的会话阶段报文的特征匹配成功之后,还包括:
若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
结合第一方面,在第一方面的第八种可能的实施方式中,所述方法还包括:
向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
本发明实施例第二方面提供一种点对点应用识别处理装置,包括:
获取模块,用于获取第一待识别数据报文;
过滤模块,用于根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;
识别模块,用于根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
结合第二方面,在第二方面的第一种可能的实施方式中,所述获取模块,具体用于接收网络流量中的数据报文;根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
结合第二方面,在第二方面的第二种可能的实施方式中,所述识别模块,具体用于将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
结合第二方面的第二种可能的实施方式中,在第二方面的第三种可能的实施方式中,所述识别模块,具体用于将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
结合第二方面的第三种可能的实施方式中,在第二方面的第四种可能的实施方式中,所述识别模块,还用于在所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征匹配成功之后,若接收到与所述第一握手报文相同的报文,则在接收到与所述第一握手报文不同的第二握手报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
结合第二方面,在第二方面的第五种可能的实施方式中,所述识别模块具体用于将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述识别模块,具体用于将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。
结合第二方面的第六种可能的实施方式,在第二方面的第七种可能的实施方式中,所述识别模块,还用于在所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征匹配成功之后,若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
结合第二方面,在第二方面的第五种可能的实施方式中,所述装置还包括:策略控制模块,用于向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
本发明实施例中,从第一待识别数据报文中,进一步地筛选出第二待识别数据报文,减少了报文特征对比的工作量,然后,通过第二待识别数据报文中的握手阶段报文的特征确定P2P流量,在进一步地根据第二待识别数据报文中的会话阶段报文的特征识别出P2P应用类型,这样无需对整个数据流进行分析,极大的提高了效率,可以适用于高速网络。而且也适用于报文被加密的P2P应用的识别,本发明实施例中,无需依赖报文内容,不需要对报文进行深度分析,避免了法律风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的点对点应用识别处理方法实施例一的流程示意图;
图2为本发明提供的点对点应用识别处理方法实施例二的特征存储方式示意图;
图3为本发明提供的点对点应用识别处理方法实施例三的特征存储方式示意图;
图4为本发明提供的点对点应用识别处理方法实施例四的特征存储方式示意图;
图5为本发明提供的点对点应用识别处理装置实施例一的结构示意图;
图6为本发明提供的点对点应用识别处理装置实施例二的结构示意图。具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,报文长度单位都为“字节”。
图1为本发明提供的点对点应用识别处理方法实施例一的流程示意图,如图1所示,该方法包括:
S101、获取第一待识别数据报文。
网络中,业务建立和执行的不同阶段中会多次交互不同的报文,不同P2P应用可能采用不同的承载协议,例如:UDP、TCP等,根据实际采用的承载协议获取相关的数据报文。例如,采用的是UDP承载协议,那么获取UDP报文作为第一待识别数据报文,因为其它非UDP报文所对应的应用一定不是P2P应用。然后再进一步进行识别。
S102、根据预设的端口过滤库,从上述第一待识别报文中筛选出第二待识别数据报文,其中该端口过滤库中包括已知应用的端口号。
为了降低工作量,对获取的第一待识别数据报文进行筛选。具体地,可以预先建立一个端口过滤库,将一些已知应用的报文端口号信息存在里面,然后将获取的第一待识别数据报文的端口号信息与端口过滤库中的端口号进行匹配,如果该第一待识别数据报文的端口号信息在端口过滤库中匹配上,说明该数据报文对应的应用已知,那么将该第一待识别数据报文剔除,剩余的第一待识别数据报文对应的应用是未知的,将剩余的第一待识别数据报文作为第二待识别数据报文,进一步进行识别。
S103、根据上述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量。
如果确定业务流量为P2P流量,则进行S104,否则确定为非P2P流量,结束流程。
S104、根据上述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
P2P应用类型是报文具体对应的应用,例如搜狐视频、优酷视频等。
本发明实施例中,从第一待识别数据报文中,进一步地筛选出第二待识别数据报文,减少了报文特征对比的工作量,然后,通过第二待识别数据报文中的握手阶段报文的特征确定P2P流量,在进一步地根据第二待识别数据报文中的会话阶段报文的特征识别出P2P应用类型,这样无需对整个数据流进行分析,极大的提高了效率,可以适用于高速网络。而且也适用于报文被加密的P2P应用的识别,本发明实施例中,无需依赖报文内容,不需要对报文进行深度分析,避免了法律风险。
进一步地,上述获取第一待识别报文,具体为,先接收网络流量中的数据报文,根据网络流量中的数据报文的IP层协议号,从这些网络流量中的数据报文中筛选出所述第一待识别数据报文。即本发明实施例中,会对整个网络流量进行监控,对交互的数据报文进行筛选。实际监控过程中,可以采用完整五元组{源IP,源端口,目的IP,目的端口,协议}或者部分五元组(即包含源IP,源端口,目的IP,目的端口,协议中任意组合)来唯一标示一条业务流。假设一个P2P会话发起节点的IP和端口分别为IP1和Port1,响应节点为IP2和Port2,那么流{IP1,Port1,IP2,Port2}的方向为请求方向,{IP2,Port2,IP1,Port1}的方向为响应方向,监控过程中会同时考虑两个方向。
上述根据第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量,具体为,将握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
预设的握手阶段报文的特征可以包括下述组合:报文顺序号、报文长度、报文方向、是否可选报文标记、是否匹配标记等信息。
可以预先建立一个握手阶段报文的特征库,将P2P流量对应的握手阶段报文的特征预先进行存储,然后将获取的握手阶段报文的特征与预存的握手阶段报文的特征依次进行匹配,具体地可以按照接收报文的顺序依次对应匹配,如果匹配成功,那么对应的业务流量为P2P流量。举例说明,对于一些P2P应用,一般同一业务流量中,握手阶段包括两次交互共4条报文,也有一些情况下会交互5条报文,预存握手阶段报文的特征、以及进行匹配的方法有多种:
方式1:以原始方式存储握手阶段报文的特征,以表1为例进行说明,表1为以原始方式存储握手阶段报文的特征的特征库:
表1
顺序号 | 长度(单位:字节) | 方向 | 可选标记 | 匹配标记 |
1 | 110 | 0 | 0 | 0 |
2 | 270 | 1 | 0 | 0 |
3 | 350 | 0 | 0 | 0 |
4 | 270 | 1 | 1 | 0 |
5 | 142 | 1 | 0 | 1 |
表1中,长度列的数据表示的是相应数据报文的字节长度。方向列中,用“0”表示从会话发起节点到会话响应节点的方向,即请求方向;用“1”表示相反的响应方向。可选标记列中,用“0”表示必选消息,即这类消息必须出现在报文序列中;用“1”表示可选消息,即这类消息可以不出现在报文序列中。匹配标记列中,用“0”表示未匹配,用“1”表示已匹配。在表1所示特征库中进行报文匹配时,如果遇到报文长度不匹配,则认为报文匹配失败,确定对应的业务流量不是P2P流量。如果按照顺序从第1个报文开始匹配,第1个报文长度与特征库中一致,且匹配标记为“0”,则以下一个顺序号的记录内容作为下一报文匹配的对象,直到遇到匹配标记为“1”的记录,则表示完成匹配且匹配成功,对应的业务流量为P2P流量。
图2为本发明提供的点对点应用识别处理方法实施例二的特征存储方式示意图,在前述实施例的基础上,更具体地,上述将握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量,可以是:将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定对应的业务流量为P2P流量。具体实现过程中,可以是依次按照接收握手阶段报文的顺序,与预设握手阶段报文特征库中对应顺序号的特征进行匹配。例如,将第一个接收到的握手阶段报文作为第一握手阶段报文,将该第一握手阶段报文的特征与预设握手阶段报文特征库中顺序号为1的特征进行匹配。
更具体地,在上述实施例的基础上,方式2:将原始方式存储握手阶段报文的特征(以表1为例)转换后的简化状态机方式。如图2所示,每个圆圈中的数字代表状态顺序号,每个状态之间箭头上为迁移条件,例如“110/0”,迁移条件中“/”符号前的部分(例如110)标识报文长度,“/”符号后的部分(例如0)表示方向。需要说明的是,图2中,出于简化目的,没有画出表示匹配失败的状态6以及从状态1-4迁移到该状态的迁移条件,即对于1-4每个状态,可以认为在长度或方向不匹配时直接迁移到状态6,表示匹配失败。
握手阶段报文如果在其中一个状态匹配失败,则不再进一步匹配,状态0例外,举例说明:在状态0时如果匹配失败,则取下一个报文继续和状态0进行匹配,如果匹配成功,则迁移到状态1进行匹配,如果在状态1匹配失败,则确定对应的业务流不是P2P流量。从状态0开始,如果待识别报文的长度和方向在一个状态和迁移条件中的相应值匹配成功,就迁移到下一个状态进行匹配,如果待识别报文能够一直按顺序迁移到最后一个状态,以图2为例,迁移到状态5,且都匹配成功,则确定对应的业务流量为P2P流量。特别地,由于第4条消息是可选地,所以状态3根据实际匹配情况可以直接迁移到状态5,或者,先迁移到状态4再到状态5,如图2所示,如果在状态3匹配到“270/1”则迁移到状态4,如果匹配到“142/1”则迁移到状态5。
图3为本发明提供的点对点应用识别处理方法实施例三的特征存储方式示意图,具体实现过程中发现,在网络服务质量(Quality of Service,简称QoS)状况较差时,经常会发现某条消息丢失后会进行一次或多次重传,这种情况下如果仅采用前述方法,有可能会出现漏判。例如,状态0的时候匹配到报文长度为110,请求方向为0的报文,则迁移到状态1,但是,如果该报文进行了重传,再次接收到报文长度为110,请求方向为0的报文,则会确定对应的业务流量不是P2P流量而放弃后续匹配过程。在图2实施例的基础上,可扩展的,上述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,匹配成功之后,若接收到与上述第一握手阶段报文相同的报文,则在接收到与上述第一握手阶段报文不同的第二握手阶段报文后,将第二握手阶段的报文的特征与第二预设的握手阶段报文的特征进行匹配。即在遇到报文长度和方向均与刚刚比较过的迁移条件一致的情况,则不发生状态迁移而是保持现有状态,参照图3,例如,状态0的时候匹配到报文长度为110,请求方向为0的报文,则迁移到状态1,如果在状态1时又接收到报文长度为110,请求方向为0的报文,则保持在状态1,不迁移也不放弃匹配,等待下一个报文的输入,直到下一个报文与之前比较过的报文不同,进行匹配,看是否能与报文长度为270,请求方向为1匹配成功。
进一步地,上述根据第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型,具体为:将上述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
与握手阶段报文的特征类似,预设的会话阶段报文的特征可以包括下述组合:报文顺序号、报文长度、报文方向、是否可选报文标记、匹配业务标记等信息。具体地,不同的P2P应用在会话阶段交互的前几个报文的长度会有所区别。同样,与握手阶段报文的特征类似,预存会话阶段报文的特征、以及进行匹配的方法有多种,以原始方式存储会话阶段报文的特征为例进行说明。假设表2为以原始方式存储会话阶段报文的特征的特征库:
表2
顺序号 | 长度(单位:字节) | 方向 | 可选标记 | 业务标记 |
1 | 174 | 0 | 0 | 00 |
1 | 110 | 0 | 0 | 00 |
2 | 62 | 1 | 1 | 00 |
3 | 62 | 1 | 1 | 00 |
4 | 478 | 1 | 0 | 01 |
4 | 366 | 1 | 0 | 10 |
4 | 894 | 1 | 0 | 10 |
4 | 206 | 1 | 0 | 11 |
4 | 750 | 1 | 0 | 11 |
4 | 782 | 1 | 0 | 11 |
长度列的数据表示的是相应数据报文的字节长度。方向列中,用“0”表示从会话发起节点到会话响应节点的方向,即请求方向;用“1”表示相反的响应方向。可选标记列中,用“0”表示必选消息,用“1”表示可选消息。业务标记列用来区分具体的P2P应用,例如:“00”表示未匹配,“01”表示爱奇艺,“10”表示搜狐视频,“11”表示优酷视频。需要说明的是,会话阶段报文可能有多条记录使用相同的顺序号,比较时,需要和相同顺序号的多条记录同时比较,最终遇到业务标记为非“00”的即表示对应的业务流量是某一特定P2P应用的流量。
上述将上述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型,可以为将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。需要说明的是,按照接收会话阶段报文的顺序,依次进行比较,如果预设会话阶段特征库中存在多个相同顺序号的特征,那么接收到的会话阶段报文与这些相同顺序号的特征都要进行比较。例如,第一个接收到的会话阶段报文作为第一会话阶段报文与预设会话阶段特征库中顺序号为1的所有会话阶段报文的特征进行比较,与其中一个匹配成功后,下一个接收到的会话阶段报文与预设会话阶段特征库中顺序号为2的所有会话阶段报文的特征进行比较,依次类推。
图4为本发明提供的点对点应用识别处理方法实施例四的特征存储方式示意图,在前述实施例的基础上,如果将原始方式存储握手阶段报文的特征(以表2为例)转换为简化状态机方式。如图4所示,每个圆圈中的数字代表状态顺序号,每个状态之间箭头上为迁移条件,例如“110/0”,迁移条件中“/”符号前的部分(例如110)标识报文长度,“/”符号后的部分(例如0)表示方向。需要说明的是,出于简化目的,没有画出表示匹配失败的状态8以及从状态1-4迁移到该状态的迁移条件,即对于1-4每个状态,可以认为长度或方向不匹配时直接迁移到状态8,表示匹配失败。例如:在状态1如果遇到数据报文的长度和状态1所有迁移条件中的报文长度均不一致时,就迁移到状态8。一个会话阶段报文如果在其中一个状态匹配失败,则不再进一步匹配,状态0例外,举例说明:第一会话阶段报文在状态0时匹配失败,则取下一个报文继续和状态0进行匹配,如果匹配成功,则迁移到状态1进行匹配,如果在状态1匹配失败,则不再进一步匹配。以图4为例,该第一会话阶段报文的如果是长度为174,、方向为0,则迁移到状态1;该第一会话阶段报文的如果是长度为110、方向为0,则迁移到状态2。对于迁移到状态1的,如果匹配上“62/1”则迁移到状态3,或者如果匹配上“478/1”则迁移到状态5,如果匹配上“266/1”、“750/1”、“782/1”的其中一个则迁移到状态6,再进一步根据对应的业务标记确定对应的P2P应用类型,例如,状态6中有一个标识“11”标识对应的应用为优酷。但如果最终迁移到状态8,则认为对应的应用不是预设的P2P应用,当然这种情况下可能是新的P2P应用,随着网络的不断发展可以随时对会话阶段特征库进行更新。对于迁移到状态2的,与迁移到状态1的执行过程和原理类似,如果匹配上“62/1”则迁移到状态4,或者如果匹配上“366/1”、“894/1”的其中一个则迁移到状态7,再进一步根据对应的业务标记确定对应的P2P应用类型。
与握手阶段报文类似的,在QoS状况较差时,经常会发现某条消息丢失后会进行一次或多次重传,这种情况下如果仅采用前述方法,有可能会出现漏判。同样,可扩展的,在将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,与至少一个第一预设的会话阶段报文的特征匹配成功之后,若接收到与上述第一会话阶段报文相同的报文,则在接收到与上述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与上述第二预设的会话阶段报文的特征进行匹配。参照图4,第一会话阶段报文在状态0匹配到“174/0”后迁移到状态1,此时如果再次接收到会话阶段报文仍然长度为174,方向为0,那么保持在状态1等待,不结束匹配,直到下一个会话阶段报文与第一会话阶段报文不同时,再继续匹配。具体实现原理与握手阶段报文的匹配类似,在此不再赘述。
更进一步地,还可以向对应的网络设备发送控制策略,以使该网络设备根据该控制策略对应用流量执行相应的动作。具体地,可以是根据上述数据报文的匹配情况向对应的网络设备发送控制测量,例如:在识别出准确的P2P应用后,从流量策略库中选择对应的控制策略发送给网络设备。该控制策略中可以包括完整五元组{源IP,源端口,目的IP,目的端口,协议}或者部分五元组来标识业务流量,并且还包括动作标识,例如:丢弃、限速、统计、设置流的优先级、本地缓存等,以使网络设备根据动作标识来完成相应的动作。
实际实现过程中,根据控制策略的动作,前述识别过程也可以调整,例如控制策略中的动作是对所有P2P流量进行限速,那么只需要根据握手阶段报文识别出P2P流量即可,而不用再进一步根据会话阶段报文去精确识别P2P应用类型。这种情况下,在识别出P2P流量后向网络设备发送控制策略。
图5为本发明提供的点对点应用识别处理装置实施例一的结构示意图,该装置可以集成在网络设备内置的业务单板上,也可以集成在旁挂网络设备的服务器上。如图5所示,该装置包括:获取模块501、过滤模块502和识别模块503,其中:
获取模块501,用于获取第一待识别数据报文。过滤模块502,用于根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号。识别模块503,用于根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
进一步地,上述获取模块501,具体用于接收网络流量中的数据报文;根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
识别模块503,具体用于将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
更具体地,识别模块503,将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
识别模块503,还可以用于在所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征匹配成功之后,若接收到与所述第一握手报文相同的报文,则在接收到与所述第一握手报文不同的第二握手报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
更进一步地,识别模块503,具体用于将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
识别模块503,具体用于将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。
识别模块503,还用于在所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征匹配成功之后,若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
图6为本发明提供的点对点应用识别处理装置实施例二的结构示意图,如图6所示,在图5的基础上,上述装置还可以包括:策略控制模块504,用于向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
上述装置用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。
本发明实施例还提供一种点对点应用识别处理装置,包括:存储器和处理器,其中,存储器用于存储指令信息。处理器与该存储器连接,用于运行存储器中的指令信息,具体可以执行前述方法实施例。其中:
处理器,用于获取第一待识别数据报文;根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
进一步地,处理器,具体用于接收网络流量中的数据报文;根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
处理器,具体用于将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
更具体地,处理器,将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
处理器,还用于在所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征匹配成功之后,若接收到与所述第一握手报文相同的报文,则在接收到与所述第一握手报文不同的第二握手报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
处理器,具体用于将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
更具体地,处理器,将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。处理器,还用于在所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征匹配成功之后,若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
更进一步地,处理器,还用于向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种点对点P2P应用识别处理方法,其特征在于,包括:
根据P2P应用采用的承载协议的类型,获取第一待识别数据报文;
根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;所述第二待识别数据报文的报文端口号与所述端口过滤库中的报文端口号不匹配;
根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;
根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
2.根据权利要求1所述的方法,其特征在于,所述获取第一待识别数据报文,包括:
接收网络流量中的数据报文;
根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第二待识别数据报文中的握手阶段报文的特征确定所述业务流量为P2P流量,包括:
将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
4.根据权利要求3所述的方法,其特征在于,所述将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量,包括:
将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
5.根据权利要求4所述的方法,其特征在于,所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功之后,还包括:
若接收到与所述第一握手阶段报文相同的报文,则在接收到与所述第一握手阶段报文不同的第二握手阶段报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型,包括:
将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
7.根据权利要求6所述的方法,其特征在于,所述将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型,包括:
将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。
8.根据权利要求7所述的方法,其特征在于,所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与至少一个第一预设的会话阶段报文的特征匹配成功之后,还包括:
若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
9.根据权利要求1所述的方法,其特征在于,还包括:
向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
10.一种点对点P2P应用识别处理装置,其特征在于,包括:
获取模块,用于根据P2P应用采用的承载协议的类型,获取第一待识别数据报文;
过滤模块,用于根据预设的端口过滤库,从所述第一待识别数据报文中筛选出第二待识别数据报文,其中,所述端口过滤库中包括已知应用的报文端口号;所述第二待识别数据报文的报文端口号与所述端口过滤库中的报文端口号不匹配;
识别模块,用于根据所述第二待识别数据报文中的握手阶段报文的特征确定对应的业务流量为P2P流量;根据所述第二待识别数据报文中的会话阶段报文的特征识别出对应的P2P应用类型。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,具体用于接收网络流量中的数据报文;根据所述网络流量中的数据报文的因特网协议IP层协议号,从所述网络流量中的数据报文中筛选出所述第一待识别数据报文。
12.根据权利要求10所述的装置,其特征在于,所述识别模块,具体用于将所述握手阶段报文的特征与预设的握手阶段报文的特征进行匹配,若匹配成功,则确定对应的业务流量为P2P流量。
13.根据权利要求12所述的装置,其特征在于,所述识别模块,具体用于将第一握手阶段报文的特征与第一预设的握手阶段报文的特征进行匹配,若匹配成功,则将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配,直到所有握手阶段报文的特征与对应预设的握手阶段报文的特征匹配成功,则确定所述业务流量为P2P流量。
14.根据权利要求13所述的装置,其特征在于,所述识别模块,还用于在所述将第一握手阶段报文的特征与第一预设的握手阶段报文的特征匹配成功之后,若接收到与所述第一握手报文相同的报文,则在接收到与所述第一握手报文不同的第二握手报文后,将第二握手阶段报文的特征与第二预设的握手阶段报文的特征进行匹配。
15.根据权利要求10所述的装置,其特征在于,所述识别模块,具体用于将所述第二待识别数据报文中的会话阶段报文的特征与预设的会话阶段报文的特征进行匹配,根据匹配结果确定对应的P2P应用类型。
16.根据权利要求15所述的装置,其特征在于,所述识别模块,具体用于将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征进行匹配,若与所述至少一个第一预设的会话阶段报文的特征匹配成功,则将第二会话阶段报文的特征与至少一个第二预设的会话阶段报文的特征进行匹配,直到所有会话阶段报文的特征匹配结束,根据匹配结果确定对应的P2P应用。
17.根据权利要求16所述的装置,其特征在于,所述识别模块,还用于在所述将第一会话阶段报文的特征与至少一个第一预设的会话阶段报文的特征匹配成功之后,若接收到与所述第一会话阶段报文相同的报文,则在接收到与所述第一会话阶段报文不同的第二会话阶段报文后,将第二会话阶段报文的特征与所述第二预设的会话阶段报文的特征进行匹配。
18.根据权利要求10所述的装置,其特征在于,还包括:
策略控制模块,用于向对应的网络设备发送控制策略,以使所述网络设备根据所述控制策略对应用流量执行相应的动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310589293.7A CN104660636B (zh) | 2013-11-20 | 2013-11-20 | 点对点应用识别处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310589293.7A CN104660636B (zh) | 2013-11-20 | 2013-11-20 | 点对点应用识别处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660636A CN104660636A (zh) | 2015-05-27 |
CN104660636B true CN104660636B (zh) | 2018-06-26 |
Family
ID=53251336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310589293.7A Active CN104660636B (zh) | 2013-11-20 | 2013-11-20 | 点对点应用识别处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660636B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529953B (zh) * | 2015-09-15 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种对业务属性进行风险识别的方法及装置 |
CN114884738A (zh) | 2017-11-17 | 2022-08-09 | 华为技术有限公司 | 一种识别加密数据流的方法及装置 |
CN108259488A (zh) * | 2018-01-11 | 2018-07-06 | 网宿科技股份有限公司 | 一种识别报文的协议类型的方法和装置 |
CN115618342B (zh) * | 2022-12-19 | 2023-03-28 | 深圳昂楷科技有限公司 | 访问数据库工具名的识别方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852297A (zh) * | 2005-11-11 | 2006-10-25 | 华为技术有限公司 | 网络数据流识别系统及方法 |
CN102082699A (zh) * | 2009-11-27 | 2011-06-01 | 上海博达数据通信有限公司 | 一种基于主动检测方式的p2p协议识别方法 |
CN102404396A (zh) * | 2011-11-14 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | P2p流量识别方法、装置、设备和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005202589A (ja) * | 2004-01-14 | 2005-07-28 | Kddi Corp | P2pネットワークのトラヒック制御システム |
TW200826571A (en) * | 2006-12-08 | 2008-06-16 | Univ Nat Chiao Tung | Identification and management system and method applicable to a point-to-point gateway |
CN101383829B (zh) * | 2008-10-17 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种流识别方法及带宽管理设备 |
US20130013583A1 (en) * | 2011-05-30 | 2013-01-10 | Lei Yu | Online video tracking and identifying method and system |
CN102368775B (zh) * | 2011-11-09 | 2015-05-27 | 电子科技大学 | 基于ip过滤的跨层p2p流量识别方法 |
-
2013
- 2013-11-20 CN CN201310589293.7A patent/CN104660636B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852297A (zh) * | 2005-11-11 | 2006-10-25 | 华为技术有限公司 | 网络数据流识别系统及方法 |
CN102082699A (zh) * | 2009-11-27 | 2011-06-01 | 上海博达数据通信有限公司 | 一种基于主动检测方式的p2p协议识别方法 |
CN102404396A (zh) * | 2011-11-14 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | P2p流量识别方法、装置、设备和系统 |
Non-Patent Citations (1)
Title |
---|
《P2P 业务流量识别、分析和控制研究》;李君;《计算机工程》;20060630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104660636A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660636B (zh) | 点对点应用识别处理方法和装置 | |
US8396962B2 (en) | Game grammar-based packet capture and analysis apparatus and method for conducting game test | |
US8463860B1 (en) | Scenario based scale testing | |
US8547974B1 (en) | Generating communication protocol test cases based on network traffic | |
JP4782827B2 (ja) | 高速ネットワークのトラフィック分析 | |
CN104391868B (zh) | 动态页面静态化的装置和方法 | |
CN102075404A (zh) | 一种报文检测方法及装置 | |
CN100505745C (zh) | iSCSI的服务质量 | |
CN106850568B (zh) | 多通道协议的会话老化方法及装置 | |
KR20130079124A (ko) | 백-투-백 사용자 에이전트(b2bua) 환경에서의 sip 전환 | |
CN106911811A (zh) | 一种基于ftp文件高效传输的方法 | |
JP2016528630A (ja) | アプリケーションアウェアネットワーク管理 | |
CN107172177A (zh) | 一种信息推荐方法及装置 | |
CN104994022B (zh) | 一种报文传输的方法和业务板 | |
US20080080525A1 (en) | Method and system for implementing a stateless back to back user agent | |
US20060212569A1 (en) | Dynamic discovery and reporting of one or more application program topologies in a single or networked distributed computing environment | |
Laštovička et al. | Using TLS fingerprints for OS identification in encrypted traffic | |
CN107770034A (zh) | 一种消息处理方法及装置 | |
CN104184723B (zh) | 一种应用程序识别方法、装置和网络设备 | |
CN108134824A (zh) | 一种旅行产品运行日志记录方法及系统 | |
CN108156424A (zh) | 组播组端口管理方法、装置及视频管理服务器 | |
CN104219257B (zh) | 一种网页实时通信方法、系统及服务器和客户端 | |
CN106506400A (zh) | 一种数据流识别方法及出口设备 | |
CN109391650A (zh) | 一种建立会话的方法及装置 | |
CN103347195B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |