BitTorrentBT下载原理分析:cc云服务器

時間:2024-01-13 12:50:38 作者:cc云服务器 熱度:cc云服务器
cc云服务器描述::

BT是一种互联网上新兴的P2P传输协议,全名叫BitTorrent,中文全称:比特流 ,最初的创建者是布拉姆·科恩,现在则独立发展成一个有宽泛开发者群体的开放式传输协议。BT全名为BitTorrent,其创始人为布拉姆·科恩,BT下载是目前互联网最热点的利用之一。BT下载通过一个P2P下载软件(点对点下载软件)来实现,战胜了传统下载方式的局限性,具有下载的人越多,文件下载速度就越快的特色。因此,吸引着众多的网民采用,其优点是不需要资源发布者拥有高功能服务器就能赶快有效地把发布的资源传向其他的BT客户软件采用者,而且大多数的BT软件都是免费的。

BT全名为BitTorrent,是一个p2p软件,你在下载donload的同时,也在为其他用户提供上传upload,由于大家是“互相辅助”,所以不会跟着用户数的增加而降低下载速度。

下面是一般用ftp,等分享流程:

下面是用BitTorrent分享的流程:

其实跟ED也十分类似,ED跟BT差异的场所有

ED:Emule Donload,电驴下载,一种速度快、效率高、但又十分伤硬盘的网络点对点下载工具。

ED--要连上一个固定server BT--没有固定server,只要分享者制作出该分享档案的torrent档宣布出来便可

ED--分享的人越多速度越快? BT--种子seed越多速度越快

ED--世界性的分享 BT--团体性的分享(可做到速度保证)

ED--知道在分享者的user name 速度 BT--没显示采用者分享者名字

比起其它的P2P软件,BT有个奇特的场所,它存在一个中间的WEB服务器,就是我们在发布的时所填写的announce。 该服务器提供了发布的统一控制,不像其它P2P软件那样到处去找哪些非常不不乱的个人服务器,相对起来让人安心的多。

该WEB服务器更大的作用是内网用户可以做 Send(下面会说明原理),这是其它软件无法做到的,但不好的场所是announce当机的时候就无法下载了。要知道P2P下载关键是要人气要高,announce停一下就搞到人气全没有了。

一、torrent 的作用

大家都知道我们要用BT下载 ,就要先下载一个torrent文件,这个文件究竟有甚么呢:

首先是 announce 纪录了发布服务器的位置,让BT知道是那个WEB服务器发布的,然后是一些文件信息,文件名,目录名,长度等等,最后是片断长度,和片断的 Sha1 校验码,(BT为了事现续传和文件校验,就把文件分成若干个片断),大家可以用写字板打看torrent文件看看,就是知道个大概,后面的乱码是片断 Sha1 校验码。

开端-续传的实现 sha校验

BT 打开一个 torrent文件后,先要你抉择文件保留那里。然后判断文件不存在的话就建立新文件,存在的话就用 Sha1 校验码去校验文件---过错的就是还没下载的,这样就可以实现续传了,但128位校验,想不慢都不行

得到 peer

现在知道要下载甚么了,到那里下载呢?这就要寻找有谁提供上传了,这里BT是通过WEB服务器来实现的,首先BT会通过解析 torrent 来得到下面一串网址

btfans3322org6969announce?info_hash=CDgD419AD969D9303DBE4FFXAC65D04317Opeer_=000000000000000000000000A3EE09BeB90dport=6882uploadED=0donloadED=0left=19171922event=startED

BTfans3322org6969announce 是发布服务器的地址

info_hash 是torrent文件中的 info 部门的Sha校验码,WEB通过它在发布列表找到对应的纪录

peer_ 是自身的标识,它是12个0和当前时间+全球的唯一标识码(GU)的Sha校验的前八位,共20位

port 你提供上传的 port

IP 你的ip地址,没有的话服务器会自己找到

uploadED donloadED 你上传和下载了多少,服务器可以用它来做流量解析

left 你还要下载多少个字节

event 状态,通知服务器你是预备开端下载,还是停止,还是下载完成了

以上这个操纵默认 5 分钟做一次,或由服务器设定

二、服务器会做甚么

服务器中有个一个 track 程序来控制这些请愿,得到这一串代码后就会用 info_hash 来查找列表,找到你就可以下载,找不到就对不起啦。接着它会反连(NatCheck)你的 IP 和 Port这样就可以知道你是内网用户还是共网用户(假如你是内网用户,它是连不通的,由于它会连到你的服务器上,你的服务器当然没有这个端口啦),然后服务器返回现在正在下载这个文件的所有公网用户的IP和port,就像是:d8intervali1800e5eersld2ip14xxxxxxxxxxx7eer2000180531904b7e3abdd74orti6881eeee

interval 1800 是通知 BT 隔多少秒来查询一次这里是 30 分钟 (有点过分了),最后假如你是公网用户它会把你提交的 IP 和 Port 放到info_hash 对应的列表中,这样其它人就可以找到你

三、下载

得到这些 peer IP后,BT就可以找到对应的IP下载了,BT会到所有的peer去寻找自己要下载的东西,不是一定要到seed下载。BT每找到一个peer就和建立一个Socket来下载,所以下载的人越多,速度就越快。

内网用户可以做Send的原理

上面说到服务器只会返回公网的ip的,那内网用户怎么可以做Send呢,这是由于BT是一个主动连接的软件(即使你已经下载完了,也不也会主动连接他人)下面是一个仿真流程:

1 内网用户开端做 seed,

2 服务器收到请愿,因为是第一个所以也没有peer返回

3 公网用户提交请愿,因为seed是内网用户所以也没有peer返回,等待下载,但服务器会把它的IP放到列表中

4 内网途经 interval 时间距离后,再向服务器放出请愿,得到上面得公网IP

5 得到公网IP后,内网立刻进行连接

6 公网用户建立连接,数据开端传输 (留心现在是公网用户做服务器,内网用户做客户端,是不是有点怪)

7 其它内网用户去上面公网用户下载数据

所以,内网用户做 seed 一定要有公网用户得介入,否则其它内网用户无法下载。假如全体是内网用户,那个所有连接都不会成立,当然这是对照极端的场合。

以上可见,内网用户不能和内网用户连接,其它用户无法从服务器查到你,所以无法主动连接你,你只能每隔30分钟从服务器找到公网用户一个个进行连接。

因为中国许多用户的是内网用户(我从服务器上查回来的peer还没试过过份10个的),所以内网用户用BT的确要比公网用户要慢许多

四、迅雷下载原理解析:

迅雷的任务原理据称为”多资源超线程专业基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合”。实际上还是传统的下载专业,只不过这种下载专业综合利用HTTP、FTP传输协议将文件的文件进行分块、分片下载;而且还可以将文件等分,然后去差异地址下载;并且在这些传统下载的过程中穿插P2P专业,也就是一种新的盗链专业。总体来说,迅雷的下载展示以下特色:

1、多点下载。收集网上的所有下载地址以便多点下载。其他软件如网际快车不会收集在下载地址里涵盖了用户名和密码的下载地址,但迅雷一样收集,然后供其他人采用。这就就是“盗链”,即盗用别人的链接。

2、采用相似BT的P2P下载专业。迅雷启动后,会在系统背后启动两个线程Thunder。exe和Issue。exe,在线程里可以看得到。这两个线程,就是要像BT那样,共享本地硬盘上的文件,让其它迅雷用户下载。

3、收集用户提供的资源。例如当有一个用户在一个电影网站上,得到一个下载地址(A),然后用迅雷下载,这个下载地址就会被发到迅雷的服务器上;另一个场所又有一个用户在另一个网站高下载同一部电影,迅雷的服务器又得到另一个下载地址(B)。

4、迅雷服务器就会把雷同文件的下载地址(A,B)集合在一起,形成一个资源,而那两个用迅雷下载这两个电影的用户也算上,就会有四个下载点。当又有用户在别的场所预备下载雷同的电影的时候,迅雷就会在数据库里对照,找出雷同的资源(其它下载点也就是原先收集到的),提供应那个预备下载的用户下载,这个用户就会同时有多个下载点来下载而到达速度的飞升。

例当有一个用户在一个电影网站上,得到一个下载地址(A),然后用迅雷下载,这个下载地址就会收集到迅雷的服务器上。

在地球的另一个场所又有一个用户在另一个网站高下载同一部电影,而得到另一个下载地址(B),就又会给迅雷服务器收集。然后迅雷服务器就会把雷同文件的下载地址(A,B)集合在一起,形成一个资源。那两个用迅雷下载这两个电影的用户也算上。就会有四个下载点了。而又有用户在别的场所预备下载雷同的电影的时候,迅雷就会在数据库里对照,找出雷同的资源(其它下载点,也就是上面收集到的),提供应那个预备下载的用户下载,那这个用户就会同时有多个下载点来下载,而到达速度的提升。而这个用户当然也不可能只是享受高速的下载,他同时也会上传了他下载的那部份数据(BT原理)。

所以,当一个用户用迅雷下载时,就会连上迅雷服务器,查找资源,假如是热点的文件,迅雷就能返回大批的下载点,供这个用户下载。从而到达下载速度的提升。

五、BT下载原理

BT是目前最热点的下载方式之一,它的全称为“BitTorrent”简称“BT”,中文全称“比特流”,但许多朋友将它戏称为“变态下载”,这又是什么原因呢?

就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上,它的任务原理如图1所示。因此假如同一时刻下载的用户数目太多,势必阴碍到所有用户的下载速度,假如某些用户采用了多线程下载,那对带宽的阴碍就更严重了,因此几乎所有的下载服务器都有用户数目和最上下载速度等方面的限制。

很显著,因为上述的原因,即使你采用的是宽带网,通常也很难到达运营商答应的最上下载速度,这里面虽然有网络的原因,但与服务器的限制也不无关系。正因如此,BT下载方式显露之后,很快就成为了下载迷们的最爱。

BT服务器是通过一种传销的方式来实现文件共享的。举个范例来说吧,例如BT服务器将一个文件分成了N个部门,有甲、乙、丙、丁四位用户同时下载,那么BT并不会彻底从服务器下载这个文件的所有部门,而是依据实际场合有抉择地从其他用户的机器中下载已下载完成的部门。例如甲已经下载了第1部门,乙已经下载了第2部门,那么丙就会从甲的机器中下载第1部门,从乙的机器中下载第2部门,当然甲、乙、丁三位用户也在同时从丙的机器中下载相应的部门,这就大大减轻了BT服务器的负荷,也同时加快了丙的下载速度,也就是说每台加入下载的计算机既从其他用户的计算机高下载文件,同时自身也向其他用户提供下载,因此介入下载的用户数目越多,下载速度也越高。

站長聲明:以上關於【BitTorrentBT下载原理分析-cc云服务器】的內容是由各互聯網用戶貢獻並自行上傳的,我們新聞網站並不擁有所有權的故也不會承擔相關法律責任。如您發現具有涉嫌版權及其它版權的內容,歡迎發送至:1@qq.com 進行相關的舉報,本站人員會在2~3個工作日內親自聯繫您,一經查實我們將立刻刪除相關的涉嫌侵權內容。