论文部分内容阅读
摘 要: 许多领域都需要进行P2P数据流量的监控与分析,比如航天、医学、网络信息安全、网络性能优化、网络计费管理等。但由于因特网的接入者越来越多、网络数据流量不断增加,对网络数据流量的监控与分析的难度也在不断增大,已不像过去的基于端口那么简单。鉴于此,提出一个P2P网络数据流量分析的算法思想。该算法主要是根据其应用分类将流量分组,提高网络数据流量分析的准确性与可靠性。
关键词: 流量分析;重要端口号;算法思想
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1210095-01
1 两种不同网络类型的数据流量
在C/S(客户机/服务器)结构中,客户机发送一些请求,服务器为每个请求做出回复。在客户机间不直接传递信息,客户机必须通过服务器把信息发送给其它客户机。这种数据是定向流动的,几乎都是从服务器到客户机。然而在P2P网络结构中每台主机同时担任服务器和客户机角色,对等主机之间可以直接进行数据交换。
2 P2P网络应用的类型
在P2P网络应用程序中,可以分为两类:一是即时通信应用,如MSN和雅虎信使。实时通信程序的主要功能是信息传递,实现1对1或者1对多式用户交流和文件转存。二是文件共享应用,如Napster。文件共享程序的主要功能是查询和文件转存。然而P2P应用程序的联系分两种:一种是中心仲裁式,另一种是纯分布式。大多数实时通信应用程序系统使用中心仲裁,在这种联系方式中,一个或多个核心服务器存在,这些服务器包含所有主机的信息并且把信息发送给请求的主机。在纯分布式中没有中心服务器,在搜索效率和文件传输上都不是很好。实际在P2P网络应用程序使用中存在这两个不同类型的混合通信。
3 P2P网络数据流量分析算法的主要思想
传统的数据流量分析主要是以端口号为基础的分析和对有效载荷的检测分析,而在P2P网络中,这种方法不太适用。比如网络流量中,HTTP通常使用的端口号是80或8080,HTTPS使用端口号443,在P2P网络数据流量中,端口号检测不是那么简单,因为它们使用的端口号超过1024,通常是动态生成的端口号。
因此设想,如果所有的P2P数据流量可以在整个流量中分离出来,然后根据其应用程序的名称分组,那么就可以对P2P网络数据流量进行高精度地分析。基于此,我们提出了一种新的数据流量分析算法。
该算法不检查每个数据包的有效载荷,只使用每个数据包的头信息。主要包括四个过程,分别是应用端口表、重要端口号选择、流量关系图和数据流量分组。算法思想首先是构建应用端口表。它是通过离线穷举搜索方法和数据包分析工具对每个对等网应用程序进行检测与分析,包含应用程序的名称、其经常使用的端口号和协议。其次是重要端口号的选择。从捕获的数据包中分析信息:源地址、目的地址、源端口、目的端口号、协议号。因为源端口和目的端口号通常超过1024,从随机生成的端口号中区分对于P2P应用程序重要的端口号。
第三步是生成流量关系图。大多数P2P应用程序具有多个支持的功能,在相同P2P流量中有可能发现它们之间的关系。对前三个过程的结果进行分析,按照对等网应用程序的名称与关系确定流量分组。分组信息用于P2P应用程序决策,从而提高分析的精确度。
4 P2P数据流量分析系统的设计
根据以上算法,我们设想了P2P网络流量分析系统,用于实时流量的监控和分析。该系统主要包括三个模块,分别是应用端口表模块、重要端口选择模块和流量关系图模块。其中,重要端口选择模块由一个数据包捕获器、一个数据流发生器和一个同步分组表组成。数据包捕获器从一个网络链接接收原始数据包,并生成数据包的头信息,分组头信息被发送到数据流发生器里。如果一个数据包是同步数据包或准同步数据包则被存储在同步分组表中。数据流发生器查找同步分组表,并从每个数据流中选择一个重要端口号。重要端口选择模块依靠网络连接环境在一个单一的系统或多重系统中实现选择。假如数据包在一个单一系统中被捕获,重要端口选择器可以在一个单一的系统中实现;如果有多个捕获器被使用,那么重要端口选择器模块应分为高、低级两层次。最后,流量关系图模块对数据进行分析,并生成流量关系图。
5 总结
本文说明了P2P网络流量的特点和现有的分析机制不适于当前网络流量分析的原因,并提出了算法思想,其与过去相比复杂而精确。利用该算法设计了一个分析系统,使用该系统可以分析大量的未知的无法用传统分析方法进行监控的数据流量。另外,该算法还可以进一步改进,特别是数据流量关系中的算法。该算法还可以应用于其他网络类型中数据流量的监控与分析,比如网络游戏和网络流媒体等数据处理业务中。
参考文献:
[1]刘芳,网络流量监测与控制,北京邮电大学出版社,2009年9月.
[2]高彦刚,实用网络流量分析技术,电子工业出版社,2009年7月.
[3]刘长恒,基于SVM的P2P数据流检测技术的研究,哈尔滨工程大学,2011年.
[4]刘文超等,P2P流量检测技术与分析,现代电子技术,2011年,22期.
关键词: 流量分析;重要端口号;算法思想
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1210095-01
1 两种不同网络类型的数据流量
在C/S(客户机/服务器)结构中,客户机发送一些请求,服务器为每个请求做出回复。在客户机间不直接传递信息,客户机必须通过服务器把信息发送给其它客户机。这种数据是定向流动的,几乎都是从服务器到客户机。然而在P2P网络结构中每台主机同时担任服务器和客户机角色,对等主机之间可以直接进行数据交换。
2 P2P网络应用的类型
在P2P网络应用程序中,可以分为两类:一是即时通信应用,如MSN和雅虎信使。实时通信程序的主要功能是信息传递,实现1对1或者1对多式用户交流和文件转存。二是文件共享应用,如Napster。文件共享程序的主要功能是查询和文件转存。然而P2P应用程序的联系分两种:一种是中心仲裁式,另一种是纯分布式。大多数实时通信应用程序系统使用中心仲裁,在这种联系方式中,一个或多个核心服务器存在,这些服务器包含所有主机的信息并且把信息发送给请求的主机。在纯分布式中没有中心服务器,在搜索效率和文件传输上都不是很好。实际在P2P网络应用程序使用中存在这两个不同类型的混合通信。
3 P2P网络数据流量分析算法的主要思想
传统的数据流量分析主要是以端口号为基础的分析和对有效载荷的检测分析,而在P2P网络中,这种方法不太适用。比如网络流量中,HTTP通常使用的端口号是80或8080,HTTPS使用端口号443,在P2P网络数据流量中,端口号检测不是那么简单,因为它们使用的端口号超过1024,通常是动态生成的端口号。
因此设想,如果所有的P2P数据流量可以在整个流量中分离出来,然后根据其应用程序的名称分组,那么就可以对P2P网络数据流量进行高精度地分析。基于此,我们提出了一种新的数据流量分析算法。
该算法不检查每个数据包的有效载荷,只使用每个数据包的头信息。主要包括四个过程,分别是应用端口表、重要端口号选择、流量关系图和数据流量分组。算法思想首先是构建应用端口表。它是通过离线穷举搜索方法和数据包分析工具对每个对等网应用程序进行检测与分析,包含应用程序的名称、其经常使用的端口号和协议。其次是重要端口号的选择。从捕获的数据包中分析信息:源地址、目的地址、源端口、目的端口号、协议号。因为源端口和目的端口号通常超过1024,从随机生成的端口号中区分对于P2P应用程序重要的端口号。
第三步是生成流量关系图。大多数P2P应用程序具有多个支持的功能,在相同P2P流量中有可能发现它们之间的关系。对前三个过程的结果进行分析,按照对等网应用程序的名称与关系确定流量分组。分组信息用于P2P应用程序决策,从而提高分析的精确度。
4 P2P数据流量分析系统的设计
根据以上算法,我们设想了P2P网络流量分析系统,用于实时流量的监控和分析。该系统主要包括三个模块,分别是应用端口表模块、重要端口选择模块和流量关系图模块。其中,重要端口选择模块由一个数据包捕获器、一个数据流发生器和一个同步分组表组成。数据包捕获器从一个网络链接接收原始数据包,并生成数据包的头信息,分组头信息被发送到数据流发生器里。如果一个数据包是同步数据包或准同步数据包则被存储在同步分组表中。数据流发生器查找同步分组表,并从每个数据流中选择一个重要端口号。重要端口选择模块依靠网络连接环境在一个单一的系统或多重系统中实现选择。假如数据包在一个单一系统中被捕获,重要端口选择器可以在一个单一的系统中实现;如果有多个捕获器被使用,那么重要端口选择器模块应分为高、低级两层次。最后,流量关系图模块对数据进行分析,并生成流量关系图。
5 总结
本文说明了P2P网络流量的特点和现有的分析机制不适于当前网络流量分析的原因,并提出了算法思想,其与过去相比复杂而精确。利用该算法设计了一个分析系统,使用该系统可以分析大量的未知的无法用传统分析方法进行监控的数据流量。另外,该算法还可以进一步改进,特别是数据流量关系中的算法。该算法还可以应用于其他网络类型中数据流量的监控与分析,比如网络游戏和网络流媒体等数据处理业务中。
参考文献:
[1]刘芳,网络流量监测与控制,北京邮电大学出版社,2009年9月.
[2]高彦刚,实用网络流量分析技术,电子工业出版社,2009年7月.
[3]刘长恒,基于SVM的P2P数据流检测技术的研究,哈尔滨工程大学,2011年.
[4]刘文超等,P2P流量检测技术与分析,现代电子技术,2011年,22期.