关键词:
版权声明:本文为博主原创文章,未经博主允许不得转载。
BitTorrent协议。
BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。
下面是一般用ftp,http等分享流程:
下面是用BitTorrent分享的流程:
其实跟ED也十分相似,ED跟BT不同的地方有:
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 来得到下面一串网址
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协议分析—1.0协议
简述BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer。 缺点1.资源的安全性2.资源的实效性(没有上传者则BT也将失效)3.版权协议分析对BT协议(1.0)的分析主要包含4个... 查看详情
bt种子文件文件结构分析(转)
...0%以上接触互联网的人都知道bt是什么东西,任何一个用bt下载的人都知道这样一个概念,种子。bt种子就是记录了p2p对等网络中tracker,nodes,files等信息,也就是说,这个种子告诉你,你要下载什么,到哪里下载。bt种子文件有自己... 查看详情
torrent文件是啥
...,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置。文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原... 查看详情
bt下载是怎么回事?怎样下载?
...使用技巧(转载自疯狂影视论坛)一.BT介绍二.多种BT软件下载三.BT下载图解手册四.BT问题疑难解答五.BT名词解释+出错代码解释+BT设置六.BT下载减少硬盘损失的方法!七.电影BT下到99%的解决办法八.教你如何逼别人做种子九.解决ISP... 查看详情
关于bt下载的问题
...,不只如何把BT站的电影和游戏变成想要的东东,最好的下载软件有哪些怎么把种子变成电影啊,您最好说的详细些,3Q3QBT实际上是BitTorrent的缩写。bt下载的人越多,bt种子就越多,下载速度也越快。而BitTorrent的意思就是pnp下载... 查看详情
bt种子
...入生成的.torrent文件,通过这些信息其他用户就可以进行下载,如果你是种子制作者你要在线,否则这个种子是无法下载的,但是当有其他用户通过你的种子下载了,那么这些已经下载完了的用户在线,其他用户也能下载2. ... 查看详情
p2p技术简介(包括bt软件的分析)(转)
...解释了P2P技术的实现,以及BT网络中应用P2P技术所设计的原理,并列举BT软件的一些专业名词的定义。由于论文发表的比较早,2005年时还没有DHT技术。http://files.cnblogs.com/files/EasonJim/P2P%E6%8A%80%E6%9C%AF%E7%AE%80%E4%BB%8B.pdf原文出处:上... 查看详情
迅雷bt种子怎么制作?
...技术A我们都希望种子多一点,那么就要从自己做起。在下载完的时候,不要关闭BT窗口,就自动成为种子。或者在别人需要的时候,打开“.torrent”文件,按照下载的步骤,做一遍,当然不是重新下载,BT就会分析原来已经下载... 查看详情
什么是“bt下载”呀?
BT之新手下载完全教程教程一:BT介绍bt全名为BitTorrent,是一个p2p(点对点)下载软件,你在下载(download)的同时,也在为其他用户提供上传(upload),因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。总的... 查看详情
bt下载是怎么一回事?怎么使用?
现在很多多下载网站都是BT下载,我想了解!BT之新手下载完全教程教程一:BT介绍bt全名为BitTorrent,是一个p2p(点对点)下载软件,你在下载(download)的同时,也在为其他用户提供上传(upload),因为大家是“互相帮助”,所以不会... 查看详情
bt限制上传速率下载慢问题
我是10M光纤,外网,下载相同的一个东西,把BitComet上传速率设成100K,下载最快也只能到300K最后,一般都在100多K,上传速率设得越高下载就越快,我把上传设成无限时候下载有时可以达到2000K,但是上传也有1500K,机器卡得不行,硬盘还狂读... 查看详情
bt下载软件bitcomet里边的tracker是啥意思,有啥功用?
...er是干什么用的在里边的设置里有个添加tracker地址,在我下载电影的论坛里也提供了相应的tracker地址请问我应该怎么利用对我有什么好处,请详细说明参考技术Atracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下... 查看详情
bt下载方式是怎样的方式?
1、点击下载下面的BT软件:下载:http://www.bitcomet.com/doc/download-zh.htm2、BitComet安装双击,按提示释放出来就可以了。安装完,不要运行这个软件。左键点击你想下载的东西,弹出一个页面,点击上面的“点击这里下载”,如果遇... 查看详情
bt介绍
...包含Tracker信息和文件信息两部分。Tracker信息:主要是BT下载中需要用到的Tracke 查看详情
大神们用啥看bt种子的啊
1、点击下载下面的BT软件:下载:http://www.bitcomet.com/doc/download-zh.htm2、BitComet安装双击,按提示释放出来就可以了。安装完,不要运行这个软件。左键点击你想下载的东西,弹出一个页面,点击上面的“点击这里下载”,如果遇... 查看详情
下载速度很慢是啥原因?
不管是BT还是迅雷电驴我的下载速度都很慢宽带是电信2M的笔记本是赛扬1.51.25G内存下载速度一般不会超过100Kb/s好点的时候就110-130之间肯定不是资源的问题因为下什么东西都是这速度这是什么原因可以解决么没有共享宽带我家里... 查看详情
《大型网站技术架构:核心原理与案例分析》pdf下载
《大型网站技术架构:核心原理与案例分析》【PDF】下载链接:https://u253469.pipipan.com/fs/253469-230062557 内容简介本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原... 查看详情
种子搜索是啥
...什么意思?谢谢种子即BT种子种子是一个形象的比喻。BT下载的原理从某种意义上说就像春天种下一粒种子,到了秋天就会收获万粒稻菽一样的滚雪球般的越来越大。于是人们就把发出下载文件的人叫做种子。而种子文件就是记... 查看详情