我用BT下东西时,为什么会有上传呢?

来自:    更新日期:早些时候
BT下载时为什么会上传?怎样解决?~

你是在使用迅雷么?若果是的话,就选择设置(一个齿轮形状的标准,在菜单栏)然后选择基本设置,接着选择常规设置。在下方模式设置里选择自定义模式,把上传最大速度限制为10。这样就不会上传很快。
关于上传,这是迅雷加速的一种方式。靠网友上传拉动部分人的下载速度。这只是部分原因,其余的我就爱莫能助了。

1.BitTorrent(简称BT)是一个文件分发协议,它通过URL识别内容并且和网络无缝结合。它对比HTTP/FTP协议,MMS/RTSP流媒体协议等下载方式的优势在于,一个文件的下载者们下载的同时也在不断互相上传数据,使文件源(可以是服务器源也可以是个人源,一般特指第一个做种者或种子的第一发布者)可以在增加很有限的负载之情况下支持大量下载者同时下载,所以BT等P2P传输方式也有“下载的人越多,下载的速度越快”这种说法。BT正式的名称叫“Bit-Torrent”(被国内网友昵称为“变态下载”),是一种多点共享协议软件,由美国加州一名叫Bram Cohen的程序员开发出来。
BitTorrent专门为大容量文件的共享而设计,它采用了一种有点像传销的工作方式。
BT首先在上传者端把一个文件分成了很多部分,用户甲随机下载了其中的一些部分,而用户乙则随机下载了另外一些部分。
这样甲的BT就会根据情况(根据与不同电脑之间的网络连接速度自动选择最快的一端)到乙的电脑上去拿乙已经下载好的部分,同样乙的BT就会根据情况到甲的电脑上去拿甲已经下载好的部分,这样不但减轻了服务器端的负荷,也加快了双方的下载速度。
实际上每个用户在下载的同时,也在作为源在上传(别人从你的电脑上拿那个文件的某个部分)。这种情况有效地利用了上行的带宽,也避免了传统的FTP大家都挤到服务器上下载同一个文件的瓶颈。而加入下载的人越多,实际上传的人也多,其他用户下载得就越快,BT的优势就在这里体现出来。
和通常的FTP、HTTP下载不同,使用BT下载不需要指定服务器,虽然在BT里面还是有服务器的概念,但下载的人并不需要关心服务器在哪里。只有发布原始共享文件的人才需要了解。
提供BT的服务器称为Tracker,把文件用BT发布出来的人需要知道该使用哪个服务器来为要发布的文件提供Tracker。由于不指定服务器,BitTorrent采用BT文件来确定下载源。BT文件后缀名为torrent,容量很小,通常是几十K的样子,这个文件里面存放了对应的发布文件的描述信息、该使用哪个Tracker(记录下载用户信息的服务器)、文件的校验信息等。BT客户端通过处理BT文件来找到下载源和进行相关的下载操作。
BT把提供完整文件档案的人称为种子(SEED),正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的,只要有一个种子,就可以放心地下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快。
如果发现种子数为0,那么就不要去尝试了。通常来说,至少有一个种子,当下载的人多了起来,通常做种子的人也会随之增加,下载速度也就越快。当你下载完成后,如没有选择关闭,其他人就可以从你这里继续下载。
正是由于BT下载这种方式传输的内容并不保存在服务器上,这种方式就常常被用来传播非法数据(盗版甚至病毒),直接导致了2009年12月“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 来得到下面一串网址
http://btfans.3322.org:6969/announce?info_hash=%CDg%D4%19%AD%96%9D%93%03%DB%E4%FFXA%C6%5D%043%17O&peer_id=%00%00%00%00%00%00%00%00%00%00%00%00%A3E%E0%9BeB%90d&port=6882&uploadED=0&downloadED=0&left=19171922&event=startED

http://BTfans.3322.org:6969/announce 是发布服务器的地址

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

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

port 你提供上传的 port

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

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

left 你还要下载多少个字节

event 状态,告诉服务器你是准备开始下载,还是停止,还是下载完成了

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

服务器会做甚么

服务器中有个一个 track 程序来管理这些请求,得到这一串代码后就会用 info_hash 来查找列表,找到你就可以下载,找不到就对不起啦。接着它会反连(NatCheck)你的 IP 和 Port这样就可以知道你是内网用户还是共网用户(如果你是内网用户,它是连不通的,因为它会连到你的服务器上,你的服务器当然没有这个端口啦),然后服务器返回现在正在下载这个文件的所有公网用户的IP和port,就像是:d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eerid20:00180531904b7e3abdd74orti6881eeee
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的确要比公网用户要慢很多。

你下载的时候你也成为种子供别人下载的!


我用BT下东西时,为什么会有上传呢?视频

相关评论:
  • 18465576752我是新手大家见笑了,有个问题想请教,下载东西时,老是听说:“种子”什麽...
    黎帜蝶是bt下载用的 有了种子就可以用bt工具下在影响的东西 BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N各部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样...

  • 18465576752为什么我用BT下载,会显示需时99:99:99呢?
    黎帜蝶那是因为没有种子,或者有种子,但是下载的流量相当小,所以时间显示为无限长,就是99:99:99。这种情况下要是无人补种的话,你是下载不了的。还是换种子吧。

  • 18465576752我开了BT(BITCOMET)下载东西时,网速都被拉走了.
    黎帜蝶楼上说的很对,虽然我也经常开BT把上传改为0,哈哈,因为所有的BT下载软件都差不多,下载占用的网络资源远远比上传少,ADSL决定了的。不对称性点对点协议。

  • 18465576752为什么我每次下载BT种子都是存到了临时文件夹?
    黎帜蝶临时文件夹 :打开ie ---点工具---internet选项--设置。就能看到了。你每次在文件的时候,都会出一个小对话框,就是下载的那个界面。你在那个界面上点击:下载后不不关闭此窗口。然后他会问你保存还是打开文件。你保存另存就可以了~~

  • 18465576752我用BT下完东西后,没有及时删除任务~是不是它会一直作为种子上传啊...
    黎帜蝶不是的,你不停止任务时,才会上传,停止任务后,即使不删除,它也不会再上传了。上传费不费流量就要看你设置的上传最大限制了。那么它会以最大速率上传,也就是利用全部带宽上传。

  • 18465576752我用BT、迅雷下载时,有时会在99%左右时跳回90%左右接着下载,如此反复...
    黎帜蝶3、 文件下载完成前会有一个校验过程,如果校验失败就需要重新下载,但这时不适合回退进度,所以就会出现持续99%的状态。.此问题可以从以下几方面解决:1.如果长时间没速度只显示99%,建议更换其他下载链接或重新下载此BT种子文件时,把无用的文件(如一些TXT文本、FTP或HTTP网址文件)去除掉勾选不进行...

  • 18465576752BT下载的原理是什么?如果我限制了上传速度,会不会影响上传速度?_百度...
    黎帜蝶最近在用迅雷BT下载时发现迅雷也会上传,不知道这上传会不会占网速,很想限制上传速度.但迅雷提示限制上传速度会影响下载速度,不知道是不是真的?... 最近在用迅雷BT下载时发现迅雷也会上传,不知道这上传会不会占网速,很想限制上传速度.但迅雷提示限制上传速度会影响下载速度,不知道是不是真的? 展开  我来...

  • 18465576752我用迅雷下BT的时候弹了个AVP.EXE什么的防火墙的什么的.
    黎帜蝶这是卡巴斯基的防火墙,你应该安装了卡巴斯基安全套件 你可以到卡巴斯基里面设置一下

  • 18465576752为什么我用BT下载东西怎么老是找不到种子的来源,有时又太慢,头急,急需...
    黎帜蝶BitTorrent 下载工具软件可以说是一个最新概念 P2P 的下载工具、它采用了多点对多点的原理,一般简称 BT(BitTorrent) 也就是大家所说的变态下载。该软件相当的特殊,一般我们下载档案或软件,大都由 HTTP 站点或FTP 站台下载,若同时间下载人数多时,基于该服务器频宽的因素,速度会减慢许多,而该软件却...

  • 18465576752我用BT下载任务的时候,玩游戏为什么会很卡,怎么才能解决?
    黎帜蝶BT下载任务的时候,首先需要与大量用户建立连接,这样才可以进行点对点通信,这样就会占用电脑的连接,用户越多,玩网络游戏也越卡 另外,BT下载任务的时候,BT会对硬盘不断的读写,这对硬盘的缓存要求很高,老式的硬盘只有2M的缓存,下BT是单机游戏也会很卡,而且一起运行的时候还会降低BT的读帧准确度,...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网