BT等P2P下载原理
当前,以BitTorrent(以下简称BT)为代表的P2P下载软件流量占用了宽带接入的大量带宽,据统计已经超过了50%。这对于以太网接入等共享带宽的宽带接入方式提出了很大的挑战,大量的使接入层交换机的端口长期工作在线速状态,严重影响了用户使用正常的Web、E-mail以及视频点播等业务。因此,运营商、企业用户以及教育等行业的用户都有对这类流量进行限制的要求。本文以BT为例,介绍了控制P2P下载流量的一般及特殊方法。
BT如何进行的?
BT与传统的下载方式最大的不同在于充分发挥了Internet主机对等的特点,即每个运行TCP/IP栈的主机都可以平等地(端到端)接收或发起请访问请求。虽然随着NAT、防火墙等技术的普及,全网(Internet)端到端的时代已经远去,但是目前仍有很多主机仍然具有Interenet端到端能力,此外,即使在被防火墙隔离的园区网、企业内网中,主机间也具有端到端环境。
传统的下载方式是C/S模式,或集中模式,即各个主机分别从服务器下载文件,主机不提供下载,而服务器通常只提供下载。
而BT的下载机制是各主机既下载、又提供下载服务,而服务器只是提供关于的下载的主机和文件的目录信息,如图2所示。各主机下载时选择的内容有一定的散列特征,因此,通常参与下载的各主机中都有其他主机尚未下载的内容,从而能够为其他主机提供下载服务。在这种机制下,各主机能够同时从多个地点下载,因此下载的传输速率得以大幅度提高。
BT服务器起什么作用?
BT的服务器提供了发布的统一管理,BT客户端需要连接服务器才能得到其他的参与下载的主机节点。事实上,这也为我们限制BT流量提供了一个简单可行的手段。
BT的.torrent文件中包括了服务器的地址、文件名、目录名、文件长度等信息,BT客户端软件在分析.torrent文件之后,向服务器发出下载请求,请求的URL中包括了自身的端口信息,下载进度和状态信息等。
BT服务器使用track 程序来管理这些下载请求,得到URL后就会查找列表,找到提供相应的文件下载的主机。客户端就可以进行下载,与此同时,如果该客户端具有接受连接请求的能力,track程序会把该主机的信息也加入列表中,使其他主机能够找到该主机并进行下载。
由于P2P的客户端通常可以指定自身所用来提供下载/上传的端口,因此传统的封锁端口的方式很难奏效。
网友评论