P2P以其独特的技术优势在这几年内迅速发展,其应用不断增长。据统计,P2P应用已占ISP业务总量的60%~80%,跃然成为网络带宽较大的消费者。再加上Internet重要性的日益提高和网络结构的日益复杂,网络的安全性、可管理性及传统应用的可用性受到了挑战。人们意识到越来越有必要对P2P流量和网络行为进行深入的了解、分析,为监控与管理P2P提供技术支持。
P2P流量现状
P2P流量特点
相对于传统Internet业务流量而言,P2P业务流量表现出以下特点:高速传输;数据量大;在线时间长;上下行流量对称;业务点分布广泛;有固定的流量特征,大多数的P2P流量都有比较固定的特征,如固定的端口号或者是固定的关键字。
P2P流量的影响
随着P2P技术应用的不断扩展,特别是基于P2P系统的文件共享业务不断壮大,P2P系统本身潜在的安全问题和对资源,特别是网络带宽资源的滥用,已经受到各个网络运营商和学校网络管理者的高度重视。在教育网内部Maze应用非常广泛。仅从清华大学校园网出口的流量监控来看,Maze的流量早已超过了Web等传统的业务流量,约占整个流量的15%。如图1所示是经过网络测量说明的P2P流量的现状。P2P流量的增加也会给社会带来一定的负面影响,如版权和安全等方面。
在其他方面P2P流量的增加也会给社会带来一定的负面影响,如版权和安全等方面。
管理难点
P2P流量管理作为一个新兴的网络管理内容,其难点主要体现在以下三点。
数据采集分析
要对P2P流量进行管理必须解决在线流量检测问题。如何能够设计高效的适于硬件实现的实时算法使得线速检测和过滤成为一个非常困难的问题。同时,网络设备存储和处理能力有限,也使得我们需要关注如何让算法适应网络流量的动态变化,使能够检测到的信息较大化,过滤的效果较大化。这方面涉及到两个关键的要素:高速数据采集处理和海量数据分析处理(用于离线检测)。
P2P流量识别
对于P2P流量合理有效地识别应该包含如下内容。较早,对P2P流量的特征必须具有良好的分布和可区分性质;第二,识别P2P流量和整个P2P覆盖网络,这样才可能依此提出新的针对于P2P网络的积极防御模式和机制。
如今很多P2P协议采用动态端口,增加了P2P流量识别的难度。如何采用新的流量分析模型而不是仅仅停留在一些固定的识别方法来对P2P 流量进行更好的识别和监控,是P2P流量管理的重点也是难点。
P2P应用的快速演化
P2P应用在近两年内经历着快速变化的过程,由简单到复杂,由低级到高级。其网络结构也经历了由中心控制到全分布的变化。从流量管理和监控的角度来说,早期的P2P应用都是固定的端口号,容易检测便于管理。后来逐渐发展到动态随机端口号,一些传统的检测方法失去了作用。近期涌现的新型P2P应用越来越具有反侦察的意识,采用一些加密的手法,伪装Http协议,传输分块等来逃避识别和检测。如何针对快速演化的P2P应用,根据其不变传输特性建立相应的分析模型,提出新的理论框架是现今一个比较有挑战性的问题。
流量管理基础理论
信息论
在P2P流量管理中我们经常用到信息论来分析流量。比如利用一些分布变化情况来衡量流量的某个特征的信息量。这种方法常用来描述流量的特征。比如利用熵理论来分析流量特征的变化。
数据挖掘
在数据采集阶段我们需要对采集到的数据进行海量数据分析处理,便于离线的分析。这时候就需要用到数据挖掘方面的理论。
对于流量识别来说我们的输入是输出流量的特征向量的熵、平均流量、延迟、端口、payload等,而输出需要判断出是哪种类型的流量(如Web、FTP、P2P等)。
机器学习
机器学习是关于理解与研究学习的内在机制,建立能够通过学习自动提高自身水平的计算机程序的理论方法的学科。
在P2P流量管理中,机器学习主要结合数据挖掘的理论用于基于观测数据(样本),发现规律,预测新数据,其中有三种机器学习框架:监督学习,所有训练样本都有标记;非监督学习,所有训练样本都没有标记;强化学习,延迟标记。
管理方案介绍
为了实现P2P流量的快速识别与管理,Cisco、P-Cube Caspian、Cachelogic、Allot Packeteer、NetApp等公司纷纷推出相关产品,可以将其分为以下四类。
1.网络缓存设备:研究表明Internet中10%的热点文件消耗了90%的P2P流量,这就使得利用本地网缓存设备缓存热点文件以减少网间流量成为可能。
2.应用层流量管理设备:应用层流量管理设备通过DPI扫描分类出流的应用层协议,标识出具体的P2P业务类型,并利用三层shaping技术实施流量控制。
3.流统计状态路由器:流统计状态路由器可以在IP层通过统计流量特征的方式识别P2P流,从而可以提取出经过编译码的或者是未知的新型P2P流。
4.智能防火墙:智能防火墙可以为企业网P2P监管提供服务,它利用数字签名技术识别P2P数据,并阻断未经授权的P2P流。
Cisco NBAR技术
NBAR可以检测识别各种应用协议,包括使用静态端口的、非TCP/UDP的IP层协议、使用动态端口的、伪装其他端口的(采用深度报文检查,检查某些位置的字段,不是全部载荷都检查,又称为Application Inspection)。NBAR还支持用户定义的应用,比如使用某个端口等。这样也可以识别这些应用。
NBAR能够检测识别多种P2P协议,并且支持细粒度的检测,比如识别检测某种P2P协议中包含某个文件后缀的流,某种P2P协议中包含特定字符串的流。NBAR还包含一个包描述语言模块(Packet Description Language Module,PDLM),它使NBAR可以动态调入新的协议描述,进而加强NBAR对新协议的检测能力。
Cisco SCE 技术
该技术有两个功能,一是能够识别所有的P2P流量,并进行分类;二是提供对P2P流量的控制和管理策略,使P2P流量不会消耗过多的资源,同时不会疏远用户。
Cisco Service Control采用第七层Stateful Deep Packet Inspection技术,为了达到几个G比特的处理速度,实现了专门的硬件结构,可以维持每一个网络会话的状态,同时对每一个报文进行第七层深度检查。结果便是:根据一次P2P会话的头几条报文检测出该P2P应用,并且能把后续的报文分类到所属的P2P会话。
Cisco Service Control支持P2P识别代码的扩展和更新,以便支持新的P2P应用。有专门的编程语言Service Management Language(SML)。SML能迅速产生流量检测和控制的算法。然后编译并且下载到SCE中,立即更新。协议的改变、新协议的出现、新应用的出现以及会话识别信息都能很容易地更新。
流量管理和控制方案主要是提供一些灵活的管理策略,主要包括限制P2P总体流量、限制P2P上行流量、根据一天中其他应用的流量变化规律在不同的时间内进行不同的流量控制、一段时间内的流量定额等。这里没有生硬地阻断是因为考虑到不要疏远用户。SCE系列采用了专门的硬件加速技术,5-level ASIC芯片做报文处理,以及高速的RISC处理器。SCE 2000同时支持2M条应用连接,较大吞吐率4Gbps,并发用户达10000。
CacheLogic管理解决方案
Cachelogic P2P管理解决方案有两个部分:
Cacheswith通过先进的深度包检测技术,和第七层协议分析来完成所有流量的识别。
Cachepliance 从Cacheswitch收到P2P内容请求,存储并高效地在ISP网络内提交这些内容。
展望未来
P2P流量的监控和管理是一个不断变化发展的过程。较初的P2P流可以通过固定端口号加以识别,很快便出现了采用可变端口或是隐藏端口的分布式P2P应用软件。针对此类P2P流量,当前较有效的手段是DPI扫描,通过关键字段的辨认来识别P2P流(目前国内做的比较好的诸如聚生网管了,官方网站:www.grablan.com)。然而这种方法无法对加密的报文进行识别,可见将来P2P软件必将走向加密通信的方向。针对现在P2P 应用发展的趋势,我们提出下面几点作为P2P流量管理未来的发展方向:
1.自动抽取P2P流量的签名。
2.使用更有效的流量特征来识别P2P流量。
3.在线的P2P识别。
4.应用更高级的机器学习和数据挖掘的方法。
5.综合的P2P识别和流量管理优化服务模型。