BT下载时为什么会上传?怎样解决?

来自:品购    更新日期:早些时候
为什么用BT下载东西时总是要上传?能不能不让它传?它上传影响下载速度么?上传又是什么意思?~

1,为什么用BT下载东西时总是要上传?
BT其实是多媒体资源的网上共享。它是一个平台,让所有拥有该资源的人在这个平台上共同分享。举个例子,BT平台上有一部电影《伤城》,是因为有人把这整个影片放上BT平台,让其他人去down。如果所有人都down一个资源,那么就会很慢。所以down的同时要上传,上传即是把你所down的那些部分分享给其他人去down,其他人又把自己以down的部分给另外的人去down。这样,千万个人down的同时,又千万个人上传,那么这个资源就很难枯竭了,而且下载速度很快!

2,它上传影响下载速度么?
用BT时候,在BT界面点击以下你下载的东东,再点击一下左下角的“用户列表”,可以看到其他人在“上传给你的下载”和“下载你的上传”。那些用户的上传总和就是你那个下载项目的下载总和;那些用户的下载总和就是你那个下载项目的上传总和所以,如果你降低你的上传的话,很可能会让“上传给你的下载”的用户数量减少,同时由于你的给他们的上传少了,他们给你的下载也会少的。所以理论上说允许上传越多,下载权限越大,所以下载速度约快。为什么有时候很少的上传却有很大的下载呢?这是因为某些人下载到了100%而没有关他的上传,就是俗称的“做种”。“做种”很快因为他不要你的上传,而给你下载。

比起其它的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的确要比公网用户要慢很多。

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

你把选项里的上传速度里面的无限制改成一定数字,(我这个大概是47左右)你上传多的话你就可以连接多点用户,但是太多你又下载不了,所以在种子多的情况你限制在40左右,少的情况就好像楼上那样限制就好了

又是个只想下载不想上传的吸血鬼……


BT下载时为什么会上传?怎样解决?视频

相关评论:
  • 17746935083为什么用BT下载完成后,一直是上传中??
    包转瑾这是正常现象,BT也是本着人人为我,我为人人的原则!当你下载文件时,一方面在利用别人的资源,一方面也在贡献自己的资源。不管有没有下载完,都在上传该文件已有的信息(只要有人需要)。所以用BT下载完成后,还一直是上传的状态中。

  • 17746935083我用BT下东西时,为什么会有上传呢?
    包转瑾得到 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...

  • 17746935083关于BT下载时的上传是什么意思?
    包转瑾就是你在下载的时候也把你已下载的部分当作资源让别人下载,所以用BT的人越多速度越快,因为你也成为了资源,资源不就多了吗?但这样你的硬盘可就吃不消了,因为上传也要读硬盘

  • 17746935083BT下载的种子为什么会边下载边上传...?
    包转瑾下载是指你下到自己电脑上的数据,上传是指你上传给别人的数据 如果把下载当成是你对网络资源的一种索取的话,那么上传就是你对别人的贡献了 哪能只求索取,不贡献的呢?所以应该在下载的同时要上传了

  • 17746935083下载任务时同时进行下载和上传,上传是干什么的?BT任务上传流量巨大...
    包转瑾实际上每个用户在下载的同时,也在作为源在上传(别人从你的电脑上拿那个文件的某个部分)。这种情况有效地利用了上行的带宽,也避免了传统的FTP大家都挤到服务器上下载同一个文件的瓶颈。而加入下载的人越多,实际上传的人也多,其他用户下载得就越快,BT的优势就在这里体现出来。

  • 17746935083bt种子是下载的同时自动上传安全吗
    包转瑾安全。bt种子是一个文件分发协议,它通过URL识别内容并且和网络无缝结合,在下载的同时自动上传是非常安全的。BitTorrent协议,简称BT,是用在对等网络中文件分享的网络协议程序。

  • 17746935083BT下载上传是什么意思?
    包转瑾BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快。 而有些人下载完成后关掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容...

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

  • 17746935083用迅雷下载BT或者就是下载普通文件的时候, 会上传自己的其他文件吗?
    包转瑾不会自动上传,BT下载就是你用种子下载后把你下载的上传,从而方便别人下载,上传只对你用某个种子下载完的某个视频作用,并且可以人为停止,如果你想传你自己的其他文件供别人下载那么前提是你必须是迅雷会员,而且要达到一定等级。就这些了

  • 17746935083BT下载完毕后为什么还会有一段上传过程?
    包转瑾你下载的就是别人那样上传给你你才能下载的,bt属于P2P类的下载,就是客户端对客户端的,并不像迅雷那样是以个服务器有资源,然后大家都是从那个服务器上下载,bt就是同时在下载的人彼此上传给对方的。你如果下载了不关bt,那就是给别人在下载那个文件的人作贡献。

  • 相关主题精彩

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

    Copyright © 喜物网