APP下载

基于流量和payload双重特征识别P2P流量

2015-12-22卢慧李华吴承勇

中国教育网络 2015年7期
关键词:网络流量双重数据包

文/卢慧李华吴承勇

基于流量和payload双重特征识别P2P流量

文/卢慧1,2李华1,2吴承勇1,2

随着Internet的飞速发展,网络应用层出不穷,除了传统的Web、FTP、Email外,出现了高清晰音视频传输和交流,电影、游戏、音乐下载等数据流量剧增的各种P2P应用。P2P共享软件以其独特的优势为用户提供更为快捷的资源共享方式,因此受到广大用户的喜爱,但随着其用户数量的急剧增加,也给校园网络带宽带来了巨大的压力,并对校园网络流量产生了根本影响。

1.校园网络出口的上行流量远大于下行流量:对于传统的网络应用,校园网络出口流量必然是下行大于上行。对于P2P应用,由于该网络中逻辑相邻节点的地理位置可能相隔甚远,而参与P2P网络的节点数量又非常大,这就直接导致在校园网网络出口的上行流量明显大于下行流量,尤其是外网流量,因用户访问教育网外网站较多,使得上行流量远大于下行流量。

2.流量内容发生改变:随着P2P应用的普及,校园网络出口流量的内容也发生了一系列改变。比如传统网络应用所占比例减少,P2P应用明显增加;80端口的流量明显高于其他端口,其次是P2P软件的常见端口(4662、16881、8000、8080),其他使用较频繁端口的流量在总流量中所占比例很小,但剩余端口的流量和占TCP总流量较大比例,这是近年来大量P2P软件使用动态端口造成的;流量中主要是1400字节以上的大包,其次是通常用于TCP同步的40字节、48字节的小包,其他长度包长的流量分布较散。

3.网络流量不可预知性:为提高数据交换效率,P2P软件在启动时会建立大量的连接,使得网络流量突然增加,并在相当长的一段时间内维持较大的网络流量。然而在P2P网络中,不同节点对病毒的抵御能力是不同的,某个感染病毒节点会通过内部共享和通信机制将病毒扩散给其邻节点,甚至可以在短时间内造成网络拥塞甚至瘫痪。

因此,随着P2P应用的迅速普及,如何对校园网络流量进行有效地管理,阻止突发流量对网络带宽的过多消耗,防止路由器队列延迟、抖动和丢包,已成为校园网络管理者研究的重要课题。

基于流量和payload双重特征识别P2P流量的方法

目前P2P流量的识别方法很多,典型的有IP地址识、端口匹配、流统计特性法、基于会话的分类、TCP/UDP IP Pair法、(IP,Port)Pair法、双向识别、拓扑特性识别、应用协议分析、业务特性识别、深层数据包检测技术。可以把如上的P2P流量识别技术归结为两类:深层数据包检测(DPI)技术和深度流行为检测(DFI)识别技术,它们存在明显的优缺点,表1对它们进行了比较。

本文在现有P2P流量识别技术的基础上设计了一种基于流量和payload双重特征识别P2P流量的方法。

识别流程

在识别流量的过程中,首先获得一个待检测报文,然后用端口匹配法过滤掉使用常用端口的流量,接着使用流量特征匹配确认该报文是否符合P2P流量特征,如果符合,再进行payload匹配以判断其应用类型。识别流程如图1所示。

本文基于payload特征的识别采用参考文献的方法,这里不再赘述。下面详细介绍基于流量特征(flow_match())的识别方法。

确定流量特征

1.流量特征分析

在校园网络中,P2P主机S既是服务器又是客户机,表现出如下特征:

既有大量流入的连接,又有大量流出的连接。

图1 P2P流量识别流程

表1 P2P流量识别技术比较

上行流量与下行流量大体对称。

根据以上特性可以做如下统计:

(1)统计在某段时间内S连入连接与连出连接之比,并与使用传统网络应用的主机的经验观测值(本文经验观测值为3)作比较,即公式1,就可以判断主机S是否参与P2P。其中Sin表示主机S的连入连接,Sout表示主机S的连出连接,为观测值。

(2)统计某个连接上的上行流量和下行流量之比,即公式2,当这个比值在一定范围内时,就认为这个连接是P2P连接。其中Tup表示某个连接上的上行流量,Tdown表示某个连接上的下行流量,θ为观测值。

(3)统计主机S上所有上行流量与下行流量之比,即公式3,当这个比值在某个范围之间,则判定该主机参与P2P。其中表示主机S上所有上行流量,表示主机S上所有下行流量,为观测值。

图2 实验拓扑

表2 识别方案比较

2.实现方法

观测某主机一段时间内连入连接和连出连接之比,找出可能参与P2P的主机;在这些可疑主机的每个端口上观测上行与下行流量之比,若该端口上下行流量对称,则该端口是该主机的P2P端口,该端口上的所有连接都是P2P连接,其连接对端主机也参与P2P,且该连接是P2P连接。

验证与分析

1.验证目的:验证基于流量和payload双重特征识别P2P流量的方法的识别能力。

2.验证环境:原型系统采用的操作系统环境是Linux2.4.20-8,使用Netfilter作为截获数据包的平台,采用LibPcap捕获数据包,使用C语言作为开发语言。

实验拓扑如图2所示,在一个小的局域网内,有3台可以进行P2P的Window客户端,1台Linux主机作为服务器,并为局域网提供NAT,流量识别程序部署在Linux主机上。

3.验证方法:分别用DPI法和本文提出的双重特征识别方法进行流量识别,并列表比较。

方案一:用本文提出基于流量和payload双重特征识别方法

方案二:用DPI方法

192.168.0.2进行BT下载、skype聊天;192.168.0.3主机打游戏、电驴下载和skype通话;192.168.0.4上网、电驴下载、FTP下载。

Skype流量采用加密技术,没有净荷特征,在本实验过程中,只有电驴、BT、Skype三种P2P业务,所以在对BT、电驴分类后,剩下的流量即可归结为Skype流。

两个方案分别运行五分钟,手动记录数据,统计结果见表2。并通过重复多次实验均可得到同样的结果。

4.分析与结论

通过对表2进行分析可知:方案一和方案二都可以识别出已知协议的P2P流量(比如BT和电驴),方案一还可以识别出一些加密的没有净荷特征的P2P流(如Skype流),而方案二不能识别加密流。

本文使用其他P2P软件,通过多次实验对两种方案进行比较,均可得到同样的结果。

所以,本文提出的基于流量和payload双重特征的方法可以识别某些新型加密的P2P应用。

本文提出了一种基于流量和payload双重特征识别P2P流量的方法,该方法可以识别未知和加密的P2P流量,文章通过实验验证了它的可行性。下一步计划运用于校园网中,真正帮助校园网络有效管理、利用P2P应用,在保证关键应用的基础上让用户体验P2P带来的乐趣,使校园网络以较高性能运转。

(作者单位:1为内蒙古大学计算机学院,2为内蒙古大学网络信息中心)

猜你喜欢

网络流量双重数据包
基于双重预防机制创新化工企业管理模式
基于多元高斯分布的网络流量异常识别方法
大数据驱动和分析的舰船通信网络流量智能估计
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
化解“双重目标”之困
分析师关注对财务重述的双重作用
分析师关注对财务重述的双重作用
C#串口高效可靠的接收方案设计
AVB网络流量整形帧模型端到端延迟计算