目 录
前 言 1
第一章 绪 论 2
1.1 研究背景及意义 2
1.2 BitTorrent概述 3
1.3 本文的主要工作及创新点 5
1.4 本文的组织结构 5
第二章 P2P流量检测识别技术 7
2.1 P2P流量识别的难点 7
2.2 研究现状分析 7
2.2.1 基于端口的检测技术 7
2.2.2 深度数据包检测技术 8
2.2.3 基于传输层特征的检测技术 9
2.3 本章小结 10
第三章 BitTorrent明文流量识别方法 11
3.1 BitTorrent协议及其应用层签名 11
3.1.1 Peer wire协议 11
3.1.2 TCP-Tracker协议 12
3.1.3 UDP-Tracker协议 13
3.1.4 DHT协议 15
3.2 BT流量检测识别软件Porpoise 16
3.3 实验与分析 18
3.3.1 Vuze哑客户端 18
3.3.2 网络拓扑与实验环境 18
3.3.3 Trace数据集 19
3.3.4 指标定义 20
3.3.5 实验数据分析 20
3.4 本章小结 21
第四章 基于MSE协议特征的BT加密流量识别方法 22
4.1 P2P加密流量检测识别技术 22
4.2 MSE协议 22
4.2.1 MSE协议握手过程 23
4.2.2 MSE协议特征 23
4.3 BT加密流量识别方法 24
4.4 实验与分析 25
4.4.1 网络拓扑与实验环境 25
4.4.2 Trace数据集 25
4.4.3 实验数据分析 26
4.5 本章小结 27
第五章 基于节点列表的BT流量预识别方法 28
5.1 节点信息来源 28
5.1.1 Tracker服务器 28
5.1.2 DHT网络 28
5.2 BT流量预识别 29
5.2.1 预识别表的建立 29
5.2.2 预识别过程 29
5.3 实验与分析 30
5.3.1 Trace数据集 30
5.3.2 M1+M3 vs. M1 30
5.3.3 M2+M3 vs. M2 32
5.4 本章小结 34
第六章 总结与展望 36
6.1 本文总结 36
6.2 后续工作展望 36
参考文献 38
致 谢 40
摘 要
近年来,P2P(Peer-to-Peer)系统在内容共享、协同计算、即时通信、流媒体等领域获得了广泛应用。据统计,截至2009年,在全球不同国家和地区,P2P流量已经占据了ISP业务总量的43%~70%不等,消耗了大部分网络带宽,使网络性能降低,服务质量下降,导致传统的Web、Email等关键应用受到影响。另一方面,P2P应用带来了知识产权和安全问题。因此,如何实现对P2P流量的有效识别和管理是当前亟需解决的问题。
BitTorrent是一种重要且具有代表性的P2P应用。据统计,2009年,BT流量已经占据全部P2P流量的30%~81%不等。因此,本文主要以BT为研究对象,分析了现有的各种P2P流量检测识别技术,对比各种检测识别技术的优缺点,深入分析了BT协议和源码,并对传统的BT流量检测识别技术进行改进,除了采用串匹配方法对BT明文流量进行识别外,还提出了利用BT加密协议特征,对BT加密流量进行有效识别的方法,以及基于节点列表的BT流量识别方法。将上述方法的检测结果与BT哑客户端Vuze所收集的真实BT流量信息进行对比,结果表明,本文所提出的两种方法都能有效识别BT流量。尤其是基于节点列表的BT流量识别方法,在提高识别准确性和降低开销方面,都有明显的优势。
关键词:对等网络;流量识别;消息流加密;预识别
前 言
P2P(Peer-to-Peer,对等网络)是目前计算机网络领域的研究热点。P2P系统基于分布式模型,能极大地提高网络中信息、带宽和计算资源的利用率,为大规模数据交换提供了一种充分使用网络资源的方法。由于在数据分发、容错等方面,与传统的C/S模型相比有明显的优势,近年来,P2P系统在内容共享、协同计算、即时通信、流媒体等领域获得了广泛应用。由于大部分P2P应用对带宽是一种侵占式的占用,造成网络拥塞,甚至影响到传统的Web、Email等应用。因此,网络运营商、内容提供商及校园网都有对P2P流量进行管理的强烈要求。而要实现对P2P流量的管理,首先要解决的问题是实现对P2P流量的检测。
按照技术发展历程,P2P流量检测技术分为基于端口的检测技术、深度数据包检测技术(DPI,Deep Packet Inspection)和基于流量特征的检测技术。但由于部分P2P协议不公开,对数据流进行加密等原因,很难有通用的检测技术对其进行有效检测。上述各种检测技术均有其适用的场合和网络环境。目前最为成熟的P2P流量检测技术仍为DPI技术,但存在无法识别未知P2P协议或加密流量的问题。基于传输层特征的检测技术虽能检测加密流量,但无法达到实时性的要求,且准确率相比DPI技术较低。
本文主要以BitTorrent(简称BT)协议为研究对象,分析现有的各种P2P流量检测识别技术,对比各种检测识别技术的优缺点。在深入分析BT协议和源码的基础上,实现了对BT流量的有效识别,并进行了实验验证。本文完成的主要工作及创新点有:
(1)利用BT协议的特征字符串,通过串匹配方法对BT明文流量进行识别。
(2)分析了BT加密协议——MSE(Message Stream Encryption,消息流加密)协议的特征,并基于此进行BT加密流量的识别。
(3)通过捕获BT节点获取的节点列表,有效实现对BT流量的预识别。
(4)利用BT哑客户端——Vuze,收集真实的BT流量信息,以此作为标准的对比数据。通过充分的实验数据分析,验证了本文所提出的第(2)和第(3)种方法的正确性。尤其是第(3)种方法在提高准确性和降低开销方法,都有明显的优势。