BT网络流量监控与带宽管理的研究毕业论文 下载本文

等体(即peer)上。这样就不会因为一个点瘫痪,而不能提供服务。另外,不同于传统的C/S通信,遇到某一特定热门的服务的路线会发生阻塞,P2P通信借助于一系列的网络路线从而消除了网络阻塞。P2P以最小的代价实现了高可靠性服务,同时最大限度地利用了连接到P2P网络上的每个对等体所提供的资源。C/S主要以代价不斐的带宽和设备来提供一个健壮的解决方案;而P2P结构只需要将对网络和资源的要求分布到整个P2P网络上就可以提供相同程度的健壮性。目前包括Intel在内的一些公司已经正在使用P2P来减少在公司内部分发文档和文件的费用。同时也正是由于P2P网络的冗余性,使得服务请求没有确定性。比如说:一个请求通过不同的通信路线到达不同的对等体以获取相同的资源,其响应的结果可能不同,有的可能立即有了响应,有的可能那个根本就不会有响应,这是因为保存有资源的对等体可能随时断线。但我们可以把一些热门的资源分布在多个对等体上,从而克服这个缺点。

以下列出P2P模型和C/S模型几个参数的比较。

表1-1 P2P模型与C/S模型的比较

比较参数 数据发布 数据接收 数据互动性 数据及时性 数据安全性 数据更新 数据质量 数据成本

P2P 好 中 好 好 差 好 中 好

C/S 差 好 差 差 好 差 好 差

1.8 P2P行业现状与展望

作为改变现有Internet应用模式的主要技术之一,P2P是目前新一代互联网技术研究的热点。P2P被美国《财富》杂志称为改变因特网发展的四大新技术之一,甚至被认为是无线宽带互联网的未来技术。 P2P技术不仅为个人用户提供了前所未有的自由和便利,同时也试图有效地整合互联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络。P2P技术的发展以及P2P与网格技术的结合,将影响整个计算机网络的概念和人们的信息获取模式,真正实现“网络就是计算机,计算机就是网络”的梦想。

P2P技术在最近几年获得了高速的发展,也出现了较多应用,但截至目前,

P2P中仍有很多的关键技术问题并没有得到解决,其中最典型的就是带宽吞噬、网络可扩展性差和路由效率低下等问题。这导致P2P至少在目前的技术水平而言只能是一种小范围不可靠的应用或是满足特定任务需求的专门应用。并且,作为一种潜在的商业应用,如何在P2P网络中有效地保护知识产权以及如何设计盈利模式将会面临更为严格的考验。

未来的网络将呈现大规模分布式、全球性计算和全球性存储的特征,从长远的趋势来看,对于访问和传输服务的需求必将远远大于对于计算功能的需要。尽管P2P技术现在还不成熟,但是迄今为止,至少在理论上P2P仍是最有吸引力的个人通信技术。尤其是P2P与网格技术的结合将是分布式计算技术最有吸引力的发展趋势,虽然现在还没有成熟的方案,但随着分布式系统经典问题的解决以及优化的资源动态分配和资源恢复技术的成熟,P2P与网格技术必将结合起来以影响整个计算机网络的概念和人们的信息获取模式。

2. BT原理

2.1 BT简介

BT是当前P2P文件共享技术中最热门的应用之一,其“我为人人,人人为我”的口号体现了互联网络的初衷。本章针对BT技术展开,对其网络和协议细节加以阐述。

BT(Bit-Torrent),是一个多点下载的源码公开的P2P软件,其创始人是Bram Cohen。至今为止,BT已开发出多种客户端。虽然开发客户端所使用的编程语言和具体算法不尽相同,但是遵从的都是BT协议。

BT的特点是“下载人数越多,下载速度越快”。每个用户在下载的同时,也在为其它用户提供上传。我们知道,传统的下载是C/S模式,即文件由服务器端传送到客户端,例如FTP,HTTP,PUB等等。这样做的问题是,随着用户的增多,对带宽的要求也随之增多。用户过多就会造成瓶颈,甚至使服务器不堪重负而瘫痪,这样就给用户造成了诸多的不便。所以很多的服务器都对用户有人数或下载速度上的限制。但BT不同,BT用的是一种传销的方式来达到共享的目的。

2.2 BT中的概念解释

一个BT文件分布系统由下列实体组成: 一个普通的web服务器 、一个静态的“元信息”文件、 一个跟踪(Tracker)服务器、 终端用户的web浏览器、 终端下载者。

Tracker:服务器结点,它只起资源定位的作用(并不存放资源本身),为Client提供Seed及其它Clients的位置,因此负载比较低。Client和Tracker进行通信后,可以获得一个下载用户的名单,从而连到其它的Clients上下载他们已有的分片。

Client: 客户结点,客户既是下载者(Downloader),又在下载的同时提供上传。

Seed: 提供完整资源文件的人。

Hash: 是指用一小段数据来标识容量很大的一段数据,以验证它的完整性。在BT的下载中,hash主要来验证文件的完整性,并且hash还可以作为不同文件判别的标志。

Announce:指发布.torrent文件。

.torrent:种子文件格式,BT以此格式记录共享文件信息。.torrent文件包含了要共享的文件的信息,包括文件名、大小、文件的散列信息和一个指向tracker的url。

一般来讲,发布.torrent文件的人就是想把自己的资源共享给别人的人,即是一个种子。任意一个Client成功执行下载的条件是:至少有一个下载者拥有完整的资源文件(即至少有一个种子)。发布.torrent的人首先要成为下载者才能启动某个资源文件的BT进程。

2.3 BT工作原理

BT服务器是通过一种传销的方式来实现文件共享的,它的工作原理如图2.1所示。

举个例子来说吧,例如BT服务器将一个文件分成了N个部分,有甲、乙、丙、丁四位用户同时下载,那么BT并不会完全从服务器下载这个文件的所有部分,而是根据实际情况有选择地从其他用户的机器中下载已下载完成的部分。例如甲已经下载了第1部分,乙已经下载了第2部分,那么丙就会从甲的机器中下载第1部分,从乙的机器中下载第2部分,当然甲、乙、丁三位用户也在同时从丙的机器中下载相应的部分,这就大大减轻了BT服务器的负荷,也同时加快了各用户的下载速度,也就是说每台参加下载的计算机既从其他用户的计算机上下载文件,同时自身也向其他用户提供下载,因此参与下载的用户数量越多,下载速度也越高。[2]