BT协议具体分析.doc

BT协议具体分析.doc

ID:50811448

大小:849.50 KB

页数:14页

时间:2020-03-14

BT协议具体分析.doc_第1页
BT协议具体分析.doc_第2页
BT协议具体分析.doc_第3页
BT协议具体分析.doc_第4页
BT协议具体分析.doc_第5页
资源描述:

《BT协议具体分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BT协议分析支持BT协议的P2P应用程序很多,如BitBuddy、FlashBT、BitComet和BitSpirit等,这里以应用程序BT为例来分析BT协议。本文中的BT,如其后没有“协议”两字,表示的是BT应用程序。   BT由如下几部分组成:.torrent文件、种子提供站点、目录服务器和内容发布者/下载者。.torrent文件是一个文本文件,包含了tracker信息和文件信息两部分。tracker信息主要是BT下载中需要用到的tracker服务器的地址和针对tracker服务器的设置;文件信息是指将目标文件计算处理后再根据BT协议的B编码规则网编码后得到的信息。BT的主要原理是

2、把提供下载的文件虚拟分成大小相等的块,块大小必须为2Kbyte的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中,所以.torrent文件就是被下载文件的“索引”。种子提供站点也就是.torrent文件的提供站点,为下载者提供.torrent文件下载服务。目录服务器记录被下载的文件的索引信息及下载该文件的用户的信息(主要是IP地址及端口号)。早期的BT协议只支持tracker(种子发布站)服务器,这种目录服务器是集中式目录与分布式查询的混合型;在BT协议的升级版本中,增加了对DHT(分布式Hash表)网络的支持,该网络

3、中目录服务器是分布式的。本文的讨论只涉及tracker服务器。内容发布者/下载者是BT网络的主体,最终的下载由它们完成。构成BT网络的这几部分的相互关系如图1所示。   图1 BT覆盖网络的结构根据BT的工作原理,为了分析BT协议的交互过程,本文重点关注本地BT客户机的运行过程。图2显示了BT协议的测试环境,其中BT客户机的IP地址是10.10.80.120,使用Wireshark俘获BT协议分组的交互过程,Wireshark版本号为1.4.1。它们与因特网相连,BT服务器位于因特网,BT版本号为1.24。BT协议的测试环境   BT协议主要包括3个部分:.torrent文件的格式(现

4、已加密,对非支持BT协议的软件透明)、trackerHTTP/HTTPS协议和Bittorrent协议。其中trackerHTTP/HTTPS协议是BT客户机与tracker服务器之间的通信协议,Bittorrent协议是BT客户机之间的通信协议。下面介绍一下trackerHTTP/HTTPS协议。 BT客户机依次向.torrent中的tracker服务器发送连接请求,以获得正在下载该文件的对等方列表(主要是IP地址和监听端口)。如果连接成功获得列表,就关闭连接,尝试与列表中的对等方建立连接;如果不成功,尝试下一个tracker服务器。由下图知本次测试环境第一次向服务器tracker地

5、址为204.152.198.236发出请求,结果没有找到,BT客户机与BT服务器的交互过程下图所示。    BT客户机与BT服务器的交互过程 分析这些分组,易知分组197、198、199是建立TCP连接的三次握手。BT客户机通过200号分组向tracker服务器发出获取对等方列表的请求,202、203(重复)号是对分组为应答。204是对203号分组的应答,205-218号分组是双方互相关闭TCP连接并复位的过程。下面重点分析200号分组。 200号分组中的HTTP部分内容如图所示,使用*号代替空格以便于分析。图200号分组中的HTTP部分内容(没有找到)最后,10.10.80.120以

6、迭代的方式(用随机网络的路由算法)向地址为123.110.87.2的服务器发出请求,经过2090、2501、2502建立了TCP连接,如:BT客户机与BT服务器的交互过程,第一个握手分组2504(带Options12字节)如下所示:带Options选项的不带Options选项的其中一些成分的含义如下:●SHA1Hashofinfodictionary:.torrent文件中的文件夹得FQDN下的绝对路径的Shal值。tracker服务器通过它在发布列表中找到对应的记录。●peer_id:BT客户机的惟一性标志,在客户机启动时产生,共20bit。在BTV1.0中没有规定产生peer_id

7、的算法,只要求能够保证惟一性即可。虽然该机器上有这一个文件,但由于种种原因,它获得不了其资源,于是就有了分组4116,BitTorrentcontinuationdata的回应。然后,再有了分组4119,continuationdata的回应。然后10.10.80.120再次向175.180.186.26请求资源分组5956,发出handshark-TCP-Retransmission请求,继续寻找资源。这个5647分组也是continuati

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。