Gnutella协议的相关介绍(Peercast实现P2P传输所使用的协议)

Peercast实现P2P的相关传输功能所使用的是一个开放式的协议,Gnutella。下面是一些关于Gnutella协议的介绍。

Gnutella是一个开放式的协议,完全分布式,没有中心服务器。每个结点既是客户端,也是服务端,称为servents。  

协议定义:
Ping:激活发现客户机
Pong:回应Ping
Query:网络检索机制
QueryHit:回应Query
Push:一个用于允许防火墙中的客户端向网络提供基于文件的数据文件的机制

两种结点定位模型:多播模型和网络模型

查询机制:flooding

传统的Guntella网络采用泛洪式(flooding)的查询机制。其查询机制如下:

(1) Guntella网络上的任一台主机,在需要查询资源时,先根据查询的内容形成一个Query消息。
(2)    查询源主机将该Query消息发送给网络上与其直接相连的其它主机。
(3)    收到该Query消息的主机搜索自身的资源,如果有与查询消息相匹配的资源,则形成一个QueryHit消息,按照Query消息来时的路径发送给源查询主机。Guntella协议与划分技术的 P2P网络模型的设计与实现
(4)  收到Query消息的主机将该消息转发给除发送该消息的主机以外的其它主机。
(5)  重复3、4步骤。

控制机制:
1.TTL
2.消息标识符
3.路径标识符

缺陷:

缺陷:
1. 泛洪大量消耗带宽
2. TTL设置使得Gnutella只能在小范围内使用
3. 安全性机制无法保证

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值