百度云管家 p2p的p2p用的是什么协议

查看: 32924|回复: 10
更新:百度云管家有鬼,有图有真相。
本帖最后由 jqk000jqk 于
12:20 编辑
发现电脑网速很卡,换了浏览器都一样,电脑里没有开着迅雷、p2p视频下载软件,只有一个百度云管家在上传几个文件,而且上传速度很慢,只有5k左右,打开小红伞查看,网络上传速度120k左右,已经是满载了,因此怀疑云管家显示网速有误。于是打开魔方网管,发现百度云管家上传速度在100k以上,这样就奇怪了,如果相信云管家自身显示上传速度只有5k,从上传文件进度条来看,确实文件上传很慢。那么其余的上传带宽,被百度云管家用来上传什么文件呢?(备注:最下图的网速是小红伞s版显示的全局流量信息,百度云管家版本为4.8.2)
补充几点:
1、集中一段时间出现这种现象,一般都是从凌晨3点左右到早上7点,这段时间只要开着百度云管家,几乎无法上网。其他时间也会卡,都是一阵一阵的,没有凌晨那么集中。
2、以前的版本不会这样严重影响上网,但是以前的版本现在几乎不能用,表现在登陆后,看不到一个文件 ,被迫换了新版本。
3、本人没有开自动同步、备份功能。
4、即便云管家显示的上传速度是一段时间内的平均值,但无法解释连续几个小时带宽上传满载,自身显示上传速度都在2-15k以内。
百度云管家有鬼.jpg (64.52 KB, 下载次数: 21)
07:45 上传
一响贪欢、
嘿嘿他上传你隐私文件你绝对不会猜到
没用过这东西,可能云管家也有P2P吧。
水水更健康
你可能没开会员。百度云管家卡硬盘是老毛病了,一直没修复。
百度云管家显示的上传速度与下载速度都不是即时速度,而是一段时间的平均值。
我这边出现过管家显示下载速度10k/s实际200k/s的事情,后来验证了半天,原来是这样~
lishaoyu007
&&开了云同步了?自动备份了?
云管家有自动备份文件夹功能,在关联文件夹内放入的文件会自动上传。。。。
threatfire
对于网盘 我还是抱着很谨慎的态度 不使用任何网盘客户端&&
表示扔进沙箱里没发现此问题
从来只单文件,不常驻系统
Copyright & KaFan & All Rights Reserved.
Powered by Discuz! X3.1( 苏ICP备号 ) GMT+8,7615人阅读
这段时间在研究BT数据流如何突破防火墙的,但是最后好像有点拦截的意思,反了:(,还是把它总结一下,欢迎讨论,
BitTorrent是一种协议。用于在对等网络中,用户群和用户群之间的文件分享。并且,对于一个文件,用户群越大,下载速度就越快。协议能够减少服务端和网络环境对分享大文件的影响,由于是分布式节点互传数据,某一部分的网络拥堵或服务器宕机并不会对整个传输链路造成太大的影响。
BitTorrent协议是由程序员Bram&Cohen在2001年四月份设计的,最终版本在年确定。有很多客户端实现了协议,最常见的有、uTorrent、BitTorrent、、和。
协议组成部分
一个文件传输过程,通常需要由以下几个部分组成:
&WEB服务器&文件元信息,种子&BitTorrent&Tracker&原始下载者(发布资源者)&终端用户浏览器下载种子&终端用户下载者
种子文件结构
一个种子文件,通常是以后缀结尾。协议规定,文件本身,内容必须是编码格式,并且其中的字段结构采用编码格式。
Torrent种子文件由两部分组成:()和文件信息。
下面以一个正常的文件来分析种子文件的结构。
该种子文件的一部分如下:
d8:announce78:http://www.chinahdtv.org/announce.php?passkey=6e7a1c7cab0e00ec63aa74910:created&by13:uTorrent/204013:creation&dateie8:encoding5:UTF-84:infod5:filesld6:lengthi:pathl53:Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn.srteed6:lengthi:pathl54:Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn1.srteed6:lengthi93644e4:pathl54:Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn2.srteed6:lengthie4:pathl49:Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.mkveee4:name56:钢铁侠3.Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x26412:piece&lengthi:piecesef......:privatei1e6:source23:[hd.gg]&CNHD&&ChinaHDTVee
根据bencoding编码格式,把这段字符解码还原后,就是如下内容:
announce:http://www.chinahdtv.org/announce.php?passkey=6e7a1c7cab0e00ec63aa749
created&by:uTorrent/2040
creation&date:
encoding:UTF-8
{length:158784,path:[Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn.srt]}, {length:107117,path:[Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn1.srt]}, {length:93644,path:[Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.chn2.srt]},
{length:,path:[Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264.mkv]}],
name:钢铁侠Iron.Man.3.2013.HDSCR.ULTRA.EDiTiON.720p.x264,
piece&length:4194304,
pieces:P1,P2,P3...P1019
source:[hd.gg]&CNHD&ChinaHDTV
关于具体编码,请参考引用中的链接。从上面的结果可以看出,一个种子文件有点类似于格式的文件,包含如下组成部分:
&tracker地址,这里就是后面的&种子创建软件及其版本号,这里是软件创建的,版本号为&创建日期,这里是,这个数字显示的是从UTC&&00:00:00到到现在所经历的秒数,如果你用工具转换一下,你会发现创建的时间是&编码格式,这里是&info区,这里指定的是该种子有几个文件,文件有多长,目录结构,以及目录和文件的名字,从上面的结果,可以看出这个种子有个文件,个字幕,一个视频文件&Name字段,指定顶层目录名字&每个段的大小,协议是把一个文件分成很多个小段,然后分段下载的,这个地方就是指定每个段的大小,单位是字节,这里每个段的大小大约为&段哈希值,就是整个种子中,每个段的哈希值拼在一起,后面的那个省略号是全部段的哈希值,很长,这里用省略号代替。每个段的哈希长度是固定的,个字符,所以后面跟的那个数字20380其实是段数量*20,如果你用20380除以20,就会发现这个种子段数量为,乘上前面的段大小,这个种子大概有大小,也就是说你把这个种子下载完后,占硬盘空间&private值,这个属性主要显示这个种子是私有的,还是公有的。一般那些各大站就是私有的。私有的种子会禁掉distributed&hash&table),因为如果你的开这个功能,那就会跳过来和其他进行数据交换,在很多内站把这种行为称为作弊,会直接掉你在站上的帐号。关于的具体信息,请参考引用中的链接。&源,显示该种子的来源,这里是
注意,以上的每个属性并不是必须的,有的属性属于BitTorrent&Enhancement&Proposals&(BEPs),就是BitTorrent协议的扩展,虽然不属于正式标准的一部分,但是很多客户端都支持这种格式
通信流程与网络包结构
BitTorrent协议支持基于或网络协议进行数据传输,但是由于协议是有连接的,需要先进行握手。在进行数据传输的过程中,每个种子会占有大量的连接,从而占有大量的用户带宽。这给其他需要高实时性的应用造成很大的网络压力。
于是又支持协议用来进行数据传输,这也是当前大部分下载客户端所采用的实现方式。uTorrent&Transport&Protocol)是基于网络协议的,也就是无连接协议,采用这种协议进行数据交换,可以很容易进行带宽控制,不会造成网络拥堵。
下面主要分析中的协议,因为这个常用嘛!
UTP协议的包结构如下:(不包含)
Fig.&1&UTP包结构来自bittorrent.org)
&type:数据包类型,带负载数据包,就是通常在连接建立后,上传数据或下载数据的包;连接结束数据包,结束一个连接;数据回应包,当一个收到一个带负载数据包后,会回一个包,来表示这个包已正确接收,有点类似于的的感觉,但是这个是在包的数据段做连接控制;重置连接;开始一个连接&ver:协议版本,通常为&extension:扩展段,用于支持&connection_id:连接,同一个连接的数据包属于一个连接,一般每两个之间会开两个连接,一个用于发,一个用于收&timestamp_microseconds:包的发送时间&timestamp_difference_microseconds:对于当前连接,最近收到的包时间和当前要发送的包之间的时间间隔&wnd_size:发送方当前剩余窗口大小,用于进行速度和带宽控制。协议中每一个发出去的数据包,都要求接收方回一个包。而一个的窗口大小是指当前发送出去,但还没有收到回应的包的总大小,单位为字节。每一个都一个最大窗口值和一个窗口大小上限值。当小于最小包大小的时候,发送方会停止发送数据包,或调整每个数据包的数据负载大小&seq_nr:相对于一个连接,数据包的序列号,以一个包为计数单位&ack_nr:发送方最近接收到的包的序列号
可能说这么多,有点混乱了,下面以一个具体的包做说明。
数据包内容如下:
0000&&&78&ac&c0&55&45&4a&00&0c&86&23&b8&00&08&00&45&00
0010&&&00&30&2f&e7&00&00&66&11&a4&23&01&a4&60&2e&db&f6
0020&&&42&ea&8f&b9&cf&46&00&1c&00&00&21&00&19&a2&ec&07
0030&&&ea&27&c3&62&4a&be&00&37&f5&10&11&89&32&d4
其中是,这里不再分析。咱来看一下它的数据部分:
ec07ea27c3624abe32d4
可以看出来:
&0x2是字段,代表这是一个数据回应包&0x1是它的协议版本号&0x00是它的扩展字段&00代表该包没有扩展信息&0x19a2是该包的连接,这是一个随机数&0xec07ea27是该包的发送时间&0xc3624abe是这个包的发送方最近一次接收包到这次发生包之间的间隔,间隔这么长,表示当前网络环境不行,数据传输速度不是很快&0x是发送方的窗口大小,也就是说当前发送方还可以接收3.5MB的数据&0x1189是该数据包的序列包,也就意味着发送方在这个连接上已经发送了4489个包&0x32d4是该发送方最近接受到的包序列号
数据包的特征与识别
由于数据包是应用层协议,所以必须要通过技术,才能识别这种协议的流量。识别这种流量有两种方法:
一是检测两个之间的大流量连接。如果发现两个之间出现大量异常数据包,可以采取丢包的方式,来限制传输速率。
另外一种方法,就是运用技术,读取数据部分,如果发现大量的包的负载前几个字节是,则判断为流量,并采取相应的措施。
References
1.&http://en.wikipedia.org/wiki/BitTorrent_client
2.&http://en.wikipedia.org/wiki/BitTorrent
3.&http://www.bittorrent.org/beps/bep_0000.html
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:92962次
排名:千里之外
原创:14篇
C/C++/Java/lua/php/perl/shell
Lanzhou University
(2)(8)(1)(1)(2)

我要回帖

更多关于 百度云管家 关闭p2p 的文章

 

随机推荐