张雪松 薄雯
摘 要:基于IPv6网络BT数据流识别与统计系统应用于下一代互联网的网络关键节点上,可实现对IPv6流量的实时监测与分析,对于掌握IPv6网络的实时运行状态具有至关重要的作用。实现有效控制IPv6网络环境下的BT应用流量,要首先掌握IPv6网络中BT数据流行为特征,这也需要网络包捕获系统能够捕获分析高层的P2P协议。文章对此进行了分析。
关键词:Linux内核;互联网协议第6版;比特数据流;下一代互联网
至今,移动通信技术已经发展到5代,5G是为了满足智能终端的快速普及和移动互联网的高速发展,为满足未来万物互联的应用需求而产生的。由于物联网、工业互联网等领域的快速发展,原来的互联网通信协议第4版(Internet Protocol version 4,IPv4)已无法满足海量的5G设备,需要新一代的互联网协议第6版(Internet Protocol version 6,IPv6)来支持[1],IPv6在设计之初就充分考虑了移动设备的需求,還考虑了网络侧和应用侧的需求,可以保证物联网的安全性、可靠性和服务质量。但IPv4网络中各类应用带来带宽管理的难题必然会也延伸到IPv6网络中。基于IPv6网络的比特流(Bit Torrent,BT)数据流量识别统计系统应用于下一代互联网的网络关键节点上,可实现对IPv6网络中BT流量的实时监测与分析,对于掌握IPv6网络的实时运行状态具有至关重要的作用。
1 系统总体设计方案
在Linux系统下运用libpcap函数捕获数据包,根据传输控制协议/互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)对数据包解析,再通过BM算法匹配BT协议的中的特征值,从而来实现对BT协议的识别,进行识别的同时提取数据包的五元组来作为BT流的唯一标识,建立新的记录,并插入到由五元组对应的哈希表相应的节点中[2]。之后获取到的所有相同五元组的数据包都更新到该数据流中,最终形成BT数据流信息的记录表。
1.1 系统架构
BT数据流识别与统计系统由3个模块构成:(1)数据包解析模块。(2)BT识别模块。(3)统计分析模块。系统架构如图1所示。
1.2 数据识别过程
利用Libpcap函数库中的函数捕获数据包,然后对该数据包进行解包处理,获取到应用层的数据。之后将该数据交给应用层BT识别模块进行解析,BT识别模块通过调用BM匹配算法识别是否为BT数据包。最后将该数据包信息交给统计分析模块进行统计分析。
2 BT流量识别统计系统设计
2.1 数据包解析模块
在linux系统下,运用网络捕获数据包函数-Libpcap,将原始数据包内容复制给数据包解析模块。IPv6数据包解析工作开始由链路层进行解析,再到网络层和传输层,最后到应用层完成整个解析过程,以上便是根据TCP/IP协议栈[3]中数据包的分层封装原理执行的。按照原始网络数据包各层协议的头部定义以及数据实际载荷内容,分层逐个Bit的进行数据包的解析工作[4-5]。分别截取各协议层的头部数据流,分析各头部字段内容,通过每层协议中的类型字段值来确定上层的协议类型,根据头部字段来触发相应的分层解析模块,并对特殊内容进行处理。
链路层判断网络层协议类型基于TYPE字段信息,当且仅当其值等于0x86dd(IPv6协议),链路层解析模块才会触发IP层解析模块,其结构如图2所示。
IP层解析工作根据其头部的协议类型,提取protocol字段,根据不同的协议类型,触发TCP或UDP解析模块,其结构如图3所示,同时提取源和目的IP,作为会话跟踪的重依据。
传输层解析是针对TCP,UDP协议进行提取源端口、目的端口、首部长度和标识字段的值,其结构如图4所示。为查询、插入、更新HASH表提供重要依据,并触发应用层解析模块。
2.2 识别模块
本模块是BT流量统计分析系统的核心模块,通过传输层解析的数据作为识别模块的输入,首先,查找该五元组对应的会话在HASH表中是否存在,若不存在则调用匹配模块标识为“BT”或“other”,若存在则先判断该会话流类型是否为“BT流”,若为“BT流”则直接更新该会话信息;若为“other”则调用匹配模块,匹配成功则更新会话类型和信息,匹配失败则只更新会话信息。其次,通过以上的第二步可实现会话跟踪,尽管数据不具备特征码,也能实现识别[6],其中匹配模块主要应用BM模式匹配算法来实现。
2.3 统计分析模块
本系统的统计分析模块,是通过维护一张HASH表,统计记录所有捕获到的传输会话信息,本模块由程序设定的定时器触发,当测量时间到达初始设定的时间后,统计分析模块将对哈希表[7]中的所有数据节点信息进行遍历读取并输出。
3 结语
本文对IPv6下P2P技术的发展和研究现状进行了阐述,结合BT数据包特征和工作原理,提出了BitTorrent流量分析统计技术,即特征码匹配技术和会话跟踪技术,并提出了解决方案。
由于客观因素,测试规模与实际使用有差距,而且测试时间并不够长。BT数据流识别与统计系统有待继续改进和完善,还有可以扩展的空间。
[参考文献]
[1]李淼,杨家海,王会.IPv6过渡技术分析与评述[J].广西大学学报(自然科学版),2011(S1):55-56.
[2]巫喜红,凌捷.BM模式匹配算法剖析[J].计算机工程与设计,2007(1):29-31.
[3]CHUANXIONG G,SHAOREN Z.Analysis and evaluation of the TCP/IP protocol stack[C].Beijing:International Conference on Communication Technology Proceedings,2000.
[4]小高知宏,叶明.TCP/IP数据包分析程序篇[M].北京:科学出版社,2003.
[5]刘朝辉,张磊,白宗元,等.一种基于IP报文五元组过滤策略的系统和方法.中国:CN 102387160A[P].2012.
[6]李明伟,张大方,曾彬,等.基于有效载荷分析的BT流量识别技术[J].计算机应用,2007(9):2230-2232.
[7]马如林,蒋华,张庆霞.一种哈希表快速查找的改进方法[J].计算机工程与科学,2008(9):66-68.