P2P应用
没有服务器
任意端系统之间直接通信
节点阶段性接入Internet
节点可能跟换IP地址
e.g.BT协议
获取chunk
给定仁一时刻,不同的节点持有文件的不同chunk集合
节点(Alice)定期查询每个邻居所持有的chunk列表
节点发送请求,请求获取缺失性的chunk(稀缺资源优先)
发送chunk:tit-for-tar
Alice向4个邻居发送chunk:正在向其发送chunk,速率最快的4个
每30秒随机选择一个其他节点,向其发送chunk
索引技术
信息到节点位置(IP地址+端口号)的映射
文件共享e.g.电驴
利用索引动态跟踪节点所共享的文件的位置
节点需要告诉索引它拥有哪些文件
节点搜索索引,从而获知能够得到哪些文件
及时消息e.g.QQ
索引负责将用户名映射到位置
当用户开启IM应用时,需要通知索引它的位置
节点检索索引,确定用户的IP地址
集中式索引
节点加入时,通知中央服务器:IP地址+内容
用户查找服务器
用户向拥有的其他用户请求文件
缺点:
单点失效问题
性能瓶颈
版权问题
洪泛式查询:Query flooding
完全分布式架构
每个节点对它共享的文件进行索引,且只对它共享的文件进行索引
通过覆盖网络查询
查询消息通过已有的TCP链接发送
节点转发查询消息
如果查询命中,则利用反向路径发回查询节点
覆盖网络:Graph
节点X与Y之间如果有TCP链接,那么构成一个边
所有的活动节点和边构成覆盖网络
边:虚拟链路
节点一般邻居数少于10个
层次式覆盖网络
介于集中式索引和洪范式之间的查询方法(类似网络连接结构)
每个节点或者是一个超级节点,或者被分配一个超级节点
每个节点构成一个小的集中网络,超级节点之间是网状结构
超级节点负责跟踪子节点的内容
没有服务器
任意端系统之间直接通信
节点阶段性接入Internet
节点可能跟换IP地址
e.g.BT协议
获取chunk
给定仁一时刻,不同的节点持有文件的不同chunk集合
节点(Alice)定期查询每个邻居所持有的chunk列表
节点发送请求,请求获取缺失性的chunk(稀缺资源优先)
发送chunk:tit-for-tar
Alice向4个邻居发送chunk:正在向其发送chunk,速率最快的4个
每30秒随机选择一个其他节点,向其发送chunk
索引技术
信息到节点位置(IP地址+端口号)的映射
文件共享e.g.电驴
利用索引动态跟踪节点所共享的文件的位置
节点需要告诉索引它拥有哪些文件
节点搜索索引,从而获知能够得到哪些文件
及时消息e.g.QQ
索引负责将用户名映射到位置
当用户开启IM应用时,需要通知索引它的位置
节点检索索引,确定用户的IP地址
集中式索引
节点加入时,通知中央服务器:IP地址+内容
用户查找服务器
用户向拥有的其他用户请求文件
缺点:
单点失效问题
性能瓶颈
版权问题
洪泛式查询:Query flooding
完全分布式架构
每个节点对它共享的文件进行索引,且只对它共享的文件进行索引
通过覆盖网络查询
查询消息通过已有的TCP链接发送
节点转发查询消息
如果查询命中,则利用反向路径发回查询节点
覆盖网络:Graph
节点X与Y之间如果有TCP链接,那么构成一个边
所有的活动节点和边构成覆盖网络
边:虚拟链路
节点一般邻居数少于10个
层次式覆盖网络
介于集中式索引和洪范式之间的查询方法(类似网络连接结构)
每个节点或者是一个超级节点,或者被分配一个超级节点
每个节点构成一个小的集中网络,超级节点之间是网状结构
超级节点负责跟踪子节点的内容