对等网络流量识别技术研究
2017-04-13苏星晔
苏星晔
【摘要】 随着对等网络流量的迅猛增长,给网络带宽造成了沉重的负担,为了对对等网络流量进行有效而合理的监控,人们对对等网络流量识别的需求越来越强烈。本文通过对对等网络流量识别的相关技术进行研究,梳理了实现对等网络流量识别的主要方式。
【关键字】 对等网络 流量 识别
一、引言
近年来,随着对等网络(Peer-to-peer,P2P)技术的不断发展,P2P流量也迅猛增长,给网络带宽造成了沉重的负担,甚至引起网络拥塞,降低了其他网络应用的性能;同时,基于P2P的恶意流量也频繁出现在互联网上,大量的非法连接加快了带宽的消耗,甚至导致拒绝服务攻击。因此,对于P2P流量监控已经逐渐成为人们研究的热点问题,而流量识别显然是其中最关键的环节:因为只有对P2P流量进行有效识别,才能对它们进行有效的控制。
二、对等网络流量识别的实现方式
2.1基于端口号的识别方式
基于端口号的识别方法是P2P流量识别领域中最早提出的一种方法,其是通过截取网络流量,识别数据流的源端口号或者目的端口号,将识别出的端口号和预设的常用P2P软件端口映射表中的端口号进行匹配,如果找到匹配项就表示该流量属于P2P流量,如果没找到匹配项就表示不是P2P流量。
这种基于端口的P2P流量识别技术,简单易行,计算开销小,不需要进行复杂的分组处理即可得出结论,在P2P应用初期十分快速、有效。
然而,随着P2P的发展,各P2P应用为了躲避流量审计和过滤等,纷纷采用随机动态端口(如用户自定义端口,端口跳跃),甚至是伪端口(如将端口设置为80、8080、443等),同时,网络中大量采用地址转换技术(NAT,Network Addresses Translation),使得基于端口检测方法的识别效率越来越低。
2.2基于应用层特征字匹配的识别方式
通过分析各类应用的协议找出各类应用自己的特征字符串生成常用P2P软件协议映射表,深度分析数据包所携带的特征字符串,与常用P2P软件协议映射表中的字符串进行匹配,来检测该数据包是否是P2P流量[1]。
这类方法需对数据包进行负载分析,所以也稱为深度数据包识别方法(DPI,Deep Packet Inspection),由于是针对应用层特征字段的,因此也称为应用签名技术或净荷检测技术。
但是,它也存在着一定的局限性,主要表现为以下几点:相关协议特征字符串的获取是通过分析数据包内容获得的,这关系到数据隐私和法律的问题,一旦遇到采用加密用户数据的手段来避免被解析和深层检测的P2P应用(如Skype,QQ,迅雷),这种方法就不再有效了;由于对P2P流量中的每个数据包均需要进行字符串识别,因此增加了P2P流量的识别时间,并且对识别系统的配置要求较高; DPI仅能够做到流级别的识别,还没有做到文件级别的识别,无法识别出P2P流传输的具体文件信息。
2.3基于传输层特征的识别方式
P2P应用作为一种充分利用客户端资源的新型应用,在传输层表现出来的流量特征相对于其它应用,如HTTP、FTP、DNS等,有许多不同的地方。基于传输层特征的识别技术就是通过检测这些流量特征来发现P2P应用。基于流量特征检测方法的理论依据是采用基于流量行为和流统计的应用识别技术,它不对网络流量进行深度报文检测,而只通过对数据包的大小分布、发送数据包的频率、上下行流量的比例关系等行为特征进行监控,属于一种统计分析识别方法。这类方法不需要任何关于应用层协议的信息。
2.4基于双重特征的识别方式
基于应用层特征字匹配的 P2P 流量识别技术进行的是特征字符串的匹配,能够识别出具体的应用类型但是无法识别未知和加密的数据流,基于传输层特征的 P2P 流量识别技术不需要解析和还原协议,能够识别未知和加密的数据流,但是无法识别出具体的应用类型,因此有人提出综合这两种技术的优点,即所谓的基于双重特征的 P2P 流量识别技术,由于两种特征分别属于应用层和传输层,也称之为跨层流量识别方法。
2.5基于机器学习的识别方式
要进行实时的流量检测就需要提取更为有效的P2P内在行为特征,随着数据挖掘技术的不断发展,机器学习中的贝叶斯分类等常用分类方法已经应用到流量识别的研究当中。
三、结束语
根据上述对实现对等网络流量识别的各种方式的分析,可以看到各方式的优缺点,具体如何选择实现方式应结合具体工作的实际情况,确保安全、精确、高效地识别对等网络流量。
参 考 文 献
[1] 李宏达,林嘉燕,P2P流量识别技术研究,软件工程师,2010年第12期:41-43.