BT格式是什么

BT格式是什么,第1张

BT种子文件使用了一种叫bencoding的编码方法来保存数据。 bencoding现有四种类型的数据:srings(字符串),integers(整数),lists(列表),dictionaries(字典) 编码规则如下: strings(字符串)编码为:<字符串长度>:<字符串>例如: 4:test 表示为字符串"test" 4:例子 表示为字铅弊符串“例子” 字符串长度单位为字节 没开姿判始或结束标记 integers(整数)编码为:i<整数>e 开始标记i,结束标记为e 例如: i1234e 表示为整数1234 i-1234e 表示为整数-1234 整数没有大小限制 i0e 表示为整数0 i-0e 为非法 以0开头的为非法如: i01234e 为非法 lists(列表)编码为:l<bencoding编码类型>e 开始标记为l,结束标记为e 列表里可以包含任何bencoding编码类型,包括整数,字符串,列表,字典。 例如: l4:test5abcdee 表示为二个字符串["test","abcde"] dictionaries(字典)编码为d<bencoding字符串><bencoding编码类型>e 开始标记为d,结束标记为e 关键字必须为bencoding字符串 值可以为任何bencoding编码类型 例如: d3:agei20ee 表示为{"age"=20} d4:path3:C:\8:filename8:test.txte 表示为{"path"="C:\","filename"="test.txt"} 具体文件结构如下: 全部内容必须都为bencoding编码类型。 整个文件为一个字典结构,包含如下关键字 announce:tracker服务器的URL(字符串) announce-list(可选):备用tracker服务器列表(列表) creation date(可选):种子创建的时间,Unix标准时间格式,从1970 1月1日 00:00:00到创建时间的秒数(整数) comment(可选):备注(字符串) created by(可选):创建人或创建程序的信息(字符串) info:一个字典结构,包含文件的主要信息,为分二种情况:单文件结构或多文件结构 单文件结构如下: length:文件长度,单位字节(整数) md5sum(可选):长32个字符的文件的MD5校验和,BT不使用这个值,只是为了兼容一些程序所保留!(字符串) name:文件名(字符串) piece length:每个块的大小,单位字节(整数) pieces:每个块的20个字节的SHA1 Hash的值(二进制格式) 多文件结构如下槐册族: files:一个字典结构length:文件长度,单位字节(整数)md5sum(可选):同单文件结构中相同path:文件的路径和名字,是一个列表结构,如\test\test.txt 列表为l4:test8test.txte name:最上层的目录名字(字符串) piece length:同单文件结构中相同 pieces:同单文件结构中相同 实例: 用记事本打开一个.torrent可以看来类似如下内容 d8:announce35: http://www.manfen.net:7802/announce13:creation datei1076675108e4:infod6:lengthi17799e4:name62:MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent12:piece lengthi32768e6:pieces20:?W ?躐?緕排T酆ee 很容易看出 announce= http://www.manfen.net:7802/announce creation date=1076675108秒(02/13/04 20:25:08) 文件名=MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent 文件大小=17799字节 文件块大小=32768字节

BT文件后缀名是是.torrent。

BT原理普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协码禅议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体唯早的内容协议和扩展协议,并在不断扩充中。

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。

扩展资料

BT方式优点:

与传统下载不同,迟山尘用BT下载反而是用户越多,下载越快,这是因为BT用的是一种传销的方式来达到共享的。BT首先在上传端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分。

这样甲的BT就会根据情况到乙的电脑上去下载乙已经下载好的M部分,乙的BT就会根据情况到甲的电脑上去下载甲已经下载好的N部分,这样就不但减轻了服务器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。

比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑连上去下载就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在下载的同时也在上传。

参考资料来源:百度百科-BT文件

BitTorrent(简称BT)是一个文件分发协议,它通过URL识别内容并且和氏嫌网络无缝结合。它对比HTTP/FTP协议,MMS/RTSP流媒体协议等下载方式的优势在于,一个文件的下载者们下载的同时也在不断互相上传数据,使文件源(可以是服务器源也可以是个人源,一般特指第一个做种者或种子的第一发布者)可以在增加很有限的负载之情况下支持大量下载者同时下载,所以BT等P2P传输方式也有”下载的人越多,下载的速度越快“这种说法。

下载原理1

BT原理普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的.torrent文件,歼闭手然后使用BT客户端软件进行下载。

下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

下载原理2

下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,种子也会越态塌来越多,下载速度就越快。

而有些人下载完成后关掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人由于未下载完必须提供给他人数据,速度慢的人有更多机会得到数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12201636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存