摘要
Abstract
第一章前言
1.1研究背景
1.2研究目标
1.3文章结构
1.4本文的创新处
第二章Peer-to-Peer介绍
2.1 Peer-to-Peer的概念
2.2 Peer-to-Peer的发展历史
2.3 Peer-to-Peer的思想是互联网的本质
2.4 Peer-to-Peer的模型
2.4.1中央服务器模型
2.4.2非中央服务器模型
2.5 Peer-to-Peer的应用
2.5.1对等计算
2.5.2协同工作
2.5.3搜索引擎
2.5.4文件交换
2.6 Peer-to-Peer的困境
2.6.1版权问题
2.6.2管理困难
2.6.3垃圾信息
2.6.4吞噬网络带宽
2.6.5慈善病毒
2.6.6标准之争
第三章Gnutella介绍
3.1 Gnutella的发展历史
3.2 Gnutella节点的结构框架
3.2.1 Gnutella节点的结构
3.2.2 Gnutella节点的连接处理器
3.2.3 Gnutella节点的协调进程
3.2.4 Gnutella节点的下载进程
3.2.5 Gnutella节点的上载进程
3.3 Gnutella协议规范(V0.4)
3.3.1协议定义
3.3.2消息头部结构描述
3.3.3 Ping消息主体结构描述
3.3.4 Pong消息主体结构描述
3.3.5 Query消息主体结构描述
3.3.6 QueryHit消息主体结构描述
3.3.7 QueryHit消息中Result字段的结构描述
3.3.8 Push消息主体结构描述
3.3.9消息的路由规则
第四章Gnutella在网络负载方面的问题
4.1网络过载问题
4.1.1带宽障碍的出现
4.1.2网络过载问题的原因分析
4.2过多消息问题
4.2.1 Ping消息过多的问题
4.2.2 Push消息过多的问题
第五章对Gnutella协议的改进
5.1规定节点的最大连接数
5.2对Ping消息规则的改进
5.3对Push消息规则的改进
5.4对消息结构的调整
5.4.1对消息头部结构的调整
5.4.2对Pong消息主体结构的调整
5.5改进后的协议规范
5.5.1改进后的消息头部结构描述
5.5.2改进后的Ping消息主体结构描述
5.5.3改进后的Pong消息主体结构描述
5.5.4改进后的Query消息主体结构描述
5.5.5改进后的QueryHit消息主体结构描述
5.5.6改进后的QueryHit消息中Result字段的结构描述
5.5.7改进后的Push消息主体结构描述
第六章模拟与分析
6.1实验设计
6.2模拟结果比较
6.2.1 Ping消息负载比较
6.2.2 Pong消息负载比较
6.2.3 Query消息负载比较
6.2.4 QueryHit消息负载比较
6.2.5 Push消息负载比较
6.2.6网络负载总量比较
6.2.6 Modem接入负载比较
6.2.7 Cable/DSL接入负载比较
6.2.8 T1线路接入负载比较
6.2.9T3线路接入负载比较
6.3模拟结果分析
第七章总结与展望
[参考文献]
致谢
[附:实验数据]
声明
复旦大学;