- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下BT种子解析模块
Linux下BT种子解析模块
概要介绍
BT协议的介绍
BitTorrent是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已经下载的数据。而在FTP,HTTP协议中,每个下载者从FTP,或HTTP服务器处下载自己所需要的文件,各个下载者之间没有交互。当非常多的用户同时访问和下载服务器上的文件时,由于服务器的处理能力以及带宽限制,下载速度会急剧下降,有的用户根本访问不了服务器。BT协议与FTP协议不同,它的特点是下载的人越多下载的速度越快,其原因在于每个下载者将已下载的数据提供给其他下载者下载,它充分利用了用户的上载带宽。
而Web服务器上保存着种子文件,下载者使用网络浏览器从Web服务器上下载种子文件。种子文件,又成为元原文件或者metafile,它保存了共享文件的一些信息,如共享文档的文件名,文件大小,Tracker服务器的地址。种子文件通常很小,一般1G大小的共享文件,其种子文件不足100KB,种子文件以torrent为后缀。BT客户端下载一个共享文件的开始过程,往就是客户端首先解析种子文件,获取待下载文件的一些信息,其中包括Tracker服务器的地址,然后根据得到的地址连接Tracker服务器,获得peer端信息,最后再在peer之间传送消息和数据。
共享文件在逻辑上被划分为大小相同的块,成为piece,每个piece的大小通常称为256K。对于共享文件,文件的第1字节到第256K字节为第一个piece,第256K+1字节到512K字节被称为第二个piece,依此类推。种子文件中包含有每个piece的hash值。BT协议规定使用Sha1算法对每个piece生成20字节的hash值,作为每个piece的指纹。
B编码的介绍
种子文件和Tracker的返回信息都是经过B编码的,要解析和处理种子文件以及Tracker的返回值,首先要熟悉B编码的规则。B编码中有4中类型:字符串,整型,列表和字典。字符串的编码格式为:字符串的长度:字符串,其中括号中的内容为必须的,例如有一个字符串spam,则经过B编码后为4:spam。
整型的编码格式为:i十进制的整型e,则B编码中的整数是以i作为起始符,以e作为终结符。例如,整数3,经过B编码后为i3e。
列表的编码格式为:l任何合法的类型e,列表以l为起始符,以e为终结符,中间可以为任何合法的经过B编码的类型。例如,列表l4:spam4:eggse表示两个字符串,一个是spam,另一个是eggs。
字典的编码格式为:d关键字值e,字典以d为起始符,以e为终结符,关键字是一个经过B编码的字符串,值可以是任何合法的B编码类型,在d和e之间可以出现多个关键字和值对。例如,d4:spaml3:aaa3:bbbee,它是一个字典,该字典的关键字是spam,值是一个列表,列表中有两个字符串aaa和bbb。
BT种子结构的介绍
种子文件包含了提供共享的文件的一些信息,它以.torrent为后缀名,种子文件也被称为元信息文件或metafile,它是经过B编码的。种子文件事实上就是一个B编码的字典,它包含有以下关键字: 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:同单文件结构中相同???????
您可能关注的文档
- 上海植物园花园.doc
- 丽江市定向事业单位2014常考热点.doc
- 1-8让生命之花绽放.ppt
- 东华理工大学期末考试操作系统复习资料.doc
- 2010年节能降耗工作总结(新).doc
- Basis数据库相关的常用程序.docx
- 氨的物理性质 试教.ppt
- 当归适合人群.doc
- 荷山中学2013届理综选择题专题训练五.doc
- 我对绿道德认识.doc
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
最近下载
- JB-T7752-2005_滚动轴承密封深沟球轴承技术条件.pdf VIP
- 装配式混凝土结构部品部件吊装监理实施细则(标准化格式文本).doc VIP
- 萧山区地图杭州市萧山区乡镇街道地图高清矢量可填充编辑地图PPT模板.pptx
- 全国初中物理竞赛试题专项(力)精编(2024版)(附答案).pdf VIP
- 人教版七年级数学上册试题 第6章 几何图形初步 章节检测卷 (含详解).docx VIP
- 装配式混凝土结构施工监理实施细则(标准化格式).doc VIP
- 绿色智能船舶制造基地项目可行性研究报告.pptx VIP
- 船舶制造基地可行性研究报告.doc VIP
- 第八节 伏安法测电动势内阻-2024-2025学年高二上学期物理专项训练.pdf VIP
- 节能分部工程监理研究细则.doc VIP
文档评论(0)