请问我们现在有哪些P2P的协议?
请问:1、 我们现在有哪些P2P的协议(如BT,eDomkey等)?
2、各有哪些具体实现(好象BT就有好几种实现),像UUSee、PPStream、PPLive是基于同一种协议还是不同的协议?
想得到一个比较全一点的答案,在网上找的好象没有一个综述性的东西?
先谢啦!!!
[[i] 本帖最后由 lyd 于 2008-1-3 14:50 编辑 [/i]] 可以抓包研究一下,eDomkey 是开放源代码的,研究更方便一些,呵呵。 先谢了!
现在P2P的应用确实比较多,而我想知道有哪些P2P的协议和建立在些协议基础上的应用。
而单位把一些应用给封了(如,BT),根本取不到数据。 我理解是p2p是一种模型,一种传输模式
而具体的p2p协议有BT, edonkey以及由此发展而来的emule,gnutella,这些公开的协议,和不公开的私有的协议如pplive skype;
基于公开协议开发的软件,例如基于BT的bittorrent bitcomet等;
基于非公开协议开发的软件,像pplive skype等软件;
总的来说,模式,协议,应用三个概念是有区别的
[[i] 本帖最后由 horise 于 2008-4-30 14:04 编辑 [/i]] 了了 horise 说得很清楚了,我再补充点我知道的[color=gray](后面括号里是运行模式)[/color]:
绝大多数BT软件: 使用BT协议(需要Tracker)+DHT协议(分布式哈希表)
eMule:基于eDonkey(对原协议稍有改进)+KAD(和DHT类似,不用服务器)
另外一些P2P软件如基于 Gnutella(洪泛式,不需要中心服务器),Kazza(Skype作者以前的作品,网络结构上和Skype相似,也有超级节点概念)...
PPLive、UUSee等协议没有公开(从PPLive行为上来看,他的网络也是有超级节点存在的)。
[color=blue]所以分析P2P协议不如从P2P的模式上来看[/color],P2P模式总的来说也就几种:
1. 依赖于中心服务器的P2P网络(BT的Tracker和eMule的Server都算中心服务器)
2. 基于分布式哈希表的P2P网络(KAD与DHT等,目前比较流行)
3. 由超级节点和若干普通节点组成的P2P网络(如典型的Kazza)
4. 复合行P2P网络...(如PPLive就是同时使用1.3的P2P网络)
[color=red]ps: 以上纯属个人理解,完全不具有参考价值[/color]:L
[[i] 本帖最后由 grsgrs 于 2008-6-1 10:06 编辑 [/i]]
页:
[1]