论文部分内容阅读
摘要:随着Bit Torrent系统的广泛使用,Bit Torrent引起了学术界的极大关注。已有的研究工作主要集中于Bit Torrent测量、建模和算法等方面。本文通过对BT系统的阻塞算法的分析研究,指出存在的问题,为提高阻塞算法研究提供依据。
关键词:阻塞算法;P2P;Bit Torrent;
中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01
Blocking Algorithm Analysis of BT System Based on P2P Technology
Bo Wenyan
(1.Inner Mongolia University of Technology,Hohhot010051,China;
2.Shanxi Datong University,Datong037000,China)
Abstract:With the widespread use,Bit Torrent has aroused great concern to academics.These researches have mainly focused on the measuring,modeling and algorithms of the Bit Torrent.This paper analyzes the blocking algorithm of the BT system,points out its problems,and provides the basis for the improvement of the blocking algorithm.
Keywords:Blocking algorithm;P2P;Bit Torrent
對等网(P2P:Peer-to-Peer)因其良好的可扩展性和健壮性成为Internet中最重要的系统之一。Bit Torrent(简称BT)是P2P技术在文件共享分发中的典型应用。BT系统中文件被分割成一定大小的文件块(piece),如何使得每一个Peer能够获得满意的下载速率,又能够为其他Peer提供良好的上传服务是P2P技术中一个重要的问题。
一、阻塞机制的概念
节点间建立连接后,进行内容分发的过程中,一个节点可能会同时收到来自它多个节点的要求下载文件分片的请求。如果本节点同时满足所有这些请求,向所有这些节点发送文件,就可能会造成本节点性能下降以及网络拥塞。为了避免这种情况,对部分节点的请求进行阻塞(Choke)。
首先考虑两个节点(设为A和B)间能够进行内容传输的条件。一般来说A向B送文件片断,需要满足两个条件:(1)B对该文件片断感兴趣(Interested);(2)A同意向B发送该文件片断,也就是说A不阻塞(Choke)B。把这两个条件看成AB连接的两个状态,为了表示这两个状态,在程序中引入两个状态变量:Choked,该状态为真时,表示A阻塞了B。Interested,该状态为真时,表示B对A的文件片断感兴趣。在节点A收到B的文件片断请求报文时,通过检查这两个状态,来决定是否向B传送文件了。
二、BT系统的阻塞算法
具体的阻塞算法有三种:
(一)TFT阻塞算法
节点以回报的方式,选择当前向自己上传文件速度最快的一定数量(默认为4个)的节点作为自己的服务对象。这样可以有效防止只下载而不上传的节点,并且有效的激励节点参与上传服务,从而最大化自己的下载带宽。这个决策结果以10秒为周期进行更新。
(二)乐观阻塞算法
从所有向自己发出申请的节点里面随机选择一个为其提供上传服务,不管对方当前是否为自己服务,周期为TFT阻塞算法的三倍30秒。采用这种算法一是为了发现是否具有更适合的交换对象;二是为了向新加入节点提供最初文件块的下载。
(三)种子阻塞算法
由于种子节点(已经下载完成的节点)不再需要下载,所以不能够以下载速度作为节点选择的依据。这时决定因素是连接节点从它这里获得的下载速度,即它只为下载速度最快的那些(默认为5个)节点服务,以便最大化上传带宽,加快文件的分发。
三、BT系统阻塞算法中存在的问题分析
依据TFT阻塞算法,连接双方都是在对方为自己提供服务的前提下才会为对方提供服务。这种“先取后予”的方法必然导致以下问题。
问题一:BT系统中“第一块”问题,即节点需要很长时间才能够获取到最初几块文件块。由于新加入节点没有任何资源可与别人交换,依据TFT算法是没有可能获得下载的,只能依靠种子或是其它节点乐观阻塞算法才有机会获得服务。而种子和乐观算法数量很少,所以数据来源很少。
问题二:当两个新连接节点彼此向对方发出申请后,需要长时间的等待才能够开始之间的文件下载。乐观阻塞算法执行周期长且服务数量仅有一个,所以需要长时间的等待。BT系统极强的动态性,连接节点的退出导致连接过少或是中途退出一段时间后返回系统,节点都会增加新的连接;此时文件块的互补性很强,进而彼此会向对方申请文件块,新连接节点彼此向对方申请文件块的情况也并不显见。
问题三:节点在“最后块”时期的上传连接过少。BT系统中,一直存在着“最后块”的问题,需要长时间的资源寻找和下载。在这段很长的时间里,节点虽然有着绝大部分资源,但由于自己当前只从极个别节点下载,所以依据TFT算法只可能为这些极个别的节点服务,从而导致上传连接数量很少,以至没有平均快速的分发资源。
四、结束语
本文首先介绍了基于P2P技术的BT系统中阻塞算法的原理和作用,然后对阻塞算法中存在的几个问题进行了详细描述,为针对问题提出新的阻塞算法提供理论依据。
参考文献:
[1]汪燕,柳斌.Bit Torrent协议分析及控制策略.实验技术与管理,2006,1(23):54-56
[2]王坯.Bit Torrent下载技术研究.科技广场,2005,2(2):26-27
[3]孔彬,徐良贤.Bit Torrent原理分析及改进.计算机工程,2004,s1(30):257-259
[4]王冠英.Bit Torrent系统中可扩展性的研究:[浙江大学硕士学位论文].杭州:浙江大学,2005
关键词:阻塞算法;P2P;Bit Torrent;
中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01
Blocking Algorithm Analysis of BT System Based on P2P Technology
Bo Wenyan
(1.Inner Mongolia University of Technology,Hohhot010051,China;
2.Shanxi Datong University,Datong037000,China)
Abstract:With the widespread use,Bit Torrent has aroused great concern to academics.These researches have mainly focused on the measuring,modeling and algorithms of the Bit Torrent.This paper analyzes the blocking algorithm of the BT system,points out its problems,and provides the basis for the improvement of the blocking algorithm.
Keywords:Blocking algorithm;P2P;Bit Torrent
對等网(P2P:Peer-to-Peer)因其良好的可扩展性和健壮性成为Internet中最重要的系统之一。Bit Torrent(简称BT)是P2P技术在文件共享分发中的典型应用。BT系统中文件被分割成一定大小的文件块(piece),如何使得每一个Peer能够获得满意的下载速率,又能够为其他Peer提供良好的上传服务是P2P技术中一个重要的问题。
一、阻塞机制的概念
节点间建立连接后,进行内容分发的过程中,一个节点可能会同时收到来自它多个节点的要求下载文件分片的请求。如果本节点同时满足所有这些请求,向所有这些节点发送文件,就可能会造成本节点性能下降以及网络拥塞。为了避免这种情况,对部分节点的请求进行阻塞(Choke)。
首先考虑两个节点(设为A和B)间能够进行内容传输的条件。一般来说A向B送文件片断,需要满足两个条件:(1)B对该文件片断感兴趣(Interested);(2)A同意向B发送该文件片断,也就是说A不阻塞(Choke)B。把这两个条件看成AB连接的两个状态,为了表示这两个状态,在程序中引入两个状态变量:Choked,该状态为真时,表示A阻塞了B。Interested,该状态为真时,表示B对A的文件片断感兴趣。在节点A收到B的文件片断请求报文时,通过检查这两个状态,来决定是否向B传送文件了。
二、BT系统的阻塞算法
具体的阻塞算法有三种:
(一)TFT阻塞算法
节点以回报的方式,选择当前向自己上传文件速度最快的一定数量(默认为4个)的节点作为自己的服务对象。这样可以有效防止只下载而不上传的节点,并且有效的激励节点参与上传服务,从而最大化自己的下载带宽。这个决策结果以10秒为周期进行更新。
(二)乐观阻塞算法
从所有向自己发出申请的节点里面随机选择一个为其提供上传服务,不管对方当前是否为自己服务,周期为TFT阻塞算法的三倍30秒。采用这种算法一是为了发现是否具有更适合的交换对象;二是为了向新加入节点提供最初文件块的下载。
(三)种子阻塞算法
由于种子节点(已经下载完成的节点)不再需要下载,所以不能够以下载速度作为节点选择的依据。这时决定因素是连接节点从它这里获得的下载速度,即它只为下载速度最快的那些(默认为5个)节点服务,以便最大化上传带宽,加快文件的分发。
三、BT系统阻塞算法中存在的问题分析
依据TFT阻塞算法,连接双方都是在对方为自己提供服务的前提下才会为对方提供服务。这种“先取后予”的方法必然导致以下问题。
问题一:BT系统中“第一块”问题,即节点需要很长时间才能够获取到最初几块文件块。由于新加入节点没有任何资源可与别人交换,依据TFT算法是没有可能获得下载的,只能依靠种子或是其它节点乐观阻塞算法才有机会获得服务。而种子和乐观算法数量很少,所以数据来源很少。
问题二:当两个新连接节点彼此向对方发出申请后,需要长时间的等待才能够开始之间的文件下载。乐观阻塞算法执行周期长且服务数量仅有一个,所以需要长时间的等待。BT系统极强的动态性,连接节点的退出导致连接过少或是中途退出一段时间后返回系统,节点都会增加新的连接;此时文件块的互补性很强,进而彼此会向对方申请文件块,新连接节点彼此向对方申请文件块的情况也并不显见。
问题三:节点在“最后块”时期的上传连接过少。BT系统中,一直存在着“最后块”的问题,需要长时间的资源寻找和下载。在这段很长的时间里,节点虽然有着绝大部分资源,但由于自己当前只从极个别节点下载,所以依据TFT算法只可能为这些极个别的节点服务,从而导致上传连接数量很少,以至没有平均快速的分发资源。
四、结束语
本文首先介绍了基于P2P技术的BT系统中阻塞算法的原理和作用,然后对阻塞算法中存在的几个问题进行了详细描述,为针对问题提出新的阻塞算法提供理论依据。
参考文献:
[1]汪燕,柳斌.Bit Torrent协议分析及控制策略.实验技术与管理,2006,1(23):54-56
[2]王坯.Bit Torrent下载技术研究.科技广场,2005,2(2):26-27
[3]孔彬,徐良贤.Bit Torrent原理分析及改进.计算机工程,2004,s1(30):257-259
[4]王冠英.Bit Torrent系统中可扩展性的研究:[浙江大学硕士学位论文].杭州:浙江大学,2005