论文部分内容阅读
随着P2P应用的不断发展,P2P网络用户迅速增加,Internet上充斥着大量的文件共享、流媒体、即时通信等多种类型的P2P流量。P2P技术在充分利用网络带宽给用户带来快速体验的同时也过度消耗了网络资源。各种应用流的迅速增长给路由器造成很大的负担,使得网络出现大量数据丢包和网络延迟现象,导致越来越严重的网络拥塞问题。因此,有效的识别和管理P2P流量显得尤其重要。不同类型的P2P应用有着不同的QoS(Quality of Service,服务质量)需求,这就要求流量管理可以根据各业务的特点来对网络资源进行合理的规划和分配,使网络资源得到高效利用,而准确地识别出各种类型的P2P应用是进行流量管理的前提。本文主要通过分析P2P流量特征、典型的P2P流量识别技术及网络流量管理技术,提出了基于改进二叉树SVM的P2P流量分类算法和建立在分类基础上的流量管理方案,主要工作包括:(1)介绍了P2P的产生背景、技术特点、应用领域和流量特征,总结了常用的P2P流量识别技术和流量管理中典型的队列管理、队列调度算法。(2)提出了基于改进二叉树SVM的P2P流量分类算法。该算法提出依据一种新的类间距离度量法来构造二叉树。这种新的度量方法综合考虑了样本类中心距离和类间重合度作为子分类器排列依据,减少了“错分累积”现象的发生。同时,在流量属性选择上,综合单属性选择和属性子集选择两个方面在约简属性的同时不降低分类精度。最后,实验结果表明该方法进行多分类比经典的1-v-1和1-v-r SVM具有更高的分类精度和效率。(3)从队列管理的丢包策略和队列调度的带宽分配两个方面出发,提出了P2P流量管理整体方案。在队列管理上,提出了BLRE算法,该算法将BLUE算法中的基于事件的概率调整和RED算法中缓冲区划分的思想相结合来确定丢包率,从而更好的保持队列的稳定性和对突发流及时做出反应。丢包率计算中引入了上一次数据包到达时的平均队列长度和当前平均队列长度的比值,间接的反映了源端是否对发送速率做出调整,从而使得丢包率的设定更为公平合理。在队列调度上,提出了基于平均队列长度的BAQS算法,该算法根据平均队列长度动态调整队列的带宽分配权值,使得不同应用根据当前流状况动态占用不同带宽。调整时在保证高优先级队列要求优先满足的同时也兼顾了低优先级队列的公平性。最后通过理论分析和仿真验证了该方案的有效性。