随着P2P网络的飞速发展,P2P网络技术已经成为当今IT技术领域研究与应用的热点。本书通过基础理论篇与C++开发案例篇两个部分的讲解,使读者对P2P网络技术有全面的理解。 基础理论篇对P2P网络的定义、典型的网络拓扑结构、应用与研究现状以及当今5种主流的P2P系统分别进行了介绍;通过与传统的搜索技术相比较,分析了P2P搜索技术的原理;对P2P技术所涉及的安全问题逐一进行了分析;对P2P应用的相关技术进行了深入剖析。 C++开发案例篇介绍了P2P应用开发的两个平台,然后针对5个具体的P2P系统进行了详细的系统介绍和源码分析,包括P2P文件共享系统、P2P即时通信系统、P2P流媒体系统和P2P视频点播系统。 本书可供广大从事P2P网络技术工作的研发人员和工程技术人员阅读参考,也可作为高等院校通信类、网络类、信息类、计算机类、电子类等专业高年级本科生和研究生学习P2P技术的书籍。 基础理论篇 1 第1章 P2P基本概念 3 1.1 P2P网络的定义 3 1.2 P2P网络结构 4 1.2.1 集中式P2P网络 4 1.2.2 完全分布式非结构化P2P网络 5 1.2.3 完全分布式结构化P2P网络 6 1.2.4 混合式P2P网络 7 1.2.5 P2P网络和传统网络的对比 8 1.3 P2P网络的应用 9 1.4 P2P的发展 11 1.4.1 起步 11 1.4.2 发展 11 1.4.3 高峰 11 1.5 P2P技术国内外研究现状 12 1.5.1 国外相关研究 12 1.5.2 国内研究现状 12 1.6 本章总结 13 1.7 练习题 13 第2章 主流P2P系统 15 2.1 文件共享类系统 15 2.1.1 Napster 15 2.1.2 Gnutella 17 2.1.3 BitTorrent 19 2.1.4 eMule 20 2.1.5 Maze 22 2.2 即时通信类系统 24 2.2.1 Skype 24 2.2.2 QQ 26 2.2.3 GTalk 27 2.3 流媒体类系统 28 2.3.1 AnySee 28 2.3.2 PPLive 29 2.4 共享存储类系统 30 2.4.1 OceanStore 30 2.4.2 Granary 32 2.5 对等计算类系统 34 2.6 本章总结 35 2.7 练习题 35 第3章 P2P网络的基础——搜索和路由算法 36 3.1 传统搜索技术 36 3.2 P2P搜索技术的发展 37 3.3 DHT网络(结构化P2P网络)的搜索技术 39 3.3.1 DHT路由原理 39 3.3.2 Chord 40 3.3.3 Pastry 44 3.3.4 CAN 46 3.3.5 Tapestry 48 3.3.6 Kademlia 50 3.3.7 小结 53 3.4 非结构化P2P网络的搜索技术 53 3.4.1 Flooding 54 3.4.2 Modified-BFS 55 3.4.3 Iterative Deepening 55 3.4.4 Random Walk 56 3.4.5 Query Routing 57 3.4.6 Gnutella2 59 3.4.7 移动Agent 59 3.4.8 小结 60 3.5 小世界(Small World)模型 61 3.5.1 小世界模型概述 61 3.5.2 聚类分布(CD)算法 62 3.5.3 小世界网络的研究现状 66 3.6 P2P搜索技术研究的挑战 66 3.7 本章总结 67 3.8 练习题 67 第4章 P2P应用与安全 69 4.1 P2P应用面临的安全问题 69 4.1.1 P2P应用引发的版权问题 69 4.1.2 P2P应用对现有网络应用的威胁 71 4.1.3 P2P网络病毒与蠕虫 71 4.1.4 结构化P2P网络的隐患 72 4.2 P2P应用与安全技术 76 4.2.1 P2P应用中的密码学技术 76 4.2.2 P2P应用中的网络安全技术 78 4.2.3 利用P2P网络解决安全问题 82 4.3 P2P实例系统--Skype的安全性分析 88 4.3.1 Skype简介 89 4.3.2 Skype安全机制分析 93 4.3.3 Skype流量识别 96 4.4 本章总结 98 4.5 练习题 98 第5章 P2P应用的相关技术 100 5.1 P2P与网络穿越 100 5.1.1 NAT网络概念 100
2021-11-18 16:58:05 53.95MB P2P C++ 网络编程
1
java基于TCP网络编程简单聊天窗口(包含登录,注册,客户端和服务端图形界面和数据库 储存注册信息) 适合新手当作业或学习
2021-11-18 14:03:52 2.22MB TPC java ui 网络编程
socket通信, 多线程编程, 信号量 线程锁
2021-11-18 08:50:24 1.18MB unix 网络 编程 socket
1
1)设计程序,分别构建通信的两端:服务器端和客户端应用程序,套接字类型为面向连接的Socket,自己构建双方的应答模式,实现双方的数据的发送和接收(S发给C,C发给S)。 2)服务端程序能响应单个或任意多个客户端连接请求;服务端能向单个客户发送消息,支持群发消息给所有客户端; 3)通信的双方具备异常响应功能,包括对方异常退出的处理。如果客户端退出,服务器有响应;反之亦然。
2021-11-16 16:56:44 105KB C# socket 网络编程
1
C++ TCP网络编程,包括服务器和客户端,运行的时候找到debug下的TCP_Server.exe先双击运行,后双击运行TCP_Clinet.exe
2021-11-16 13:14:29 36.74MB TCP网络编程
1
开源Telnet蜜罐Honeypot
2021-11-15 14:43:08 9KB Python开发-网络编程
1
windows 网络编程第二版 里面包含实例!
2021-11-15 10:29:45 2.26MB windows 网络编程第二版|C++|WINDOWS
1
MFC SOCKET 端口 网络编程 socket端口扫描,MFC网络编程实现
2021-11-15 09:30:38 35KB MFC SOCKET 端口 网络编程
1
UNIX网络编程第二版 卷2 进程间通信 书还算比较清晰,并且有书签,看起来方便
2021-11-13 16:45:45 42.03MB UNIX
1
基于服务器-客户端的学生信息管理系统,实现学生的选课,老师的成绩录入,管理员对人员信息的管理 2010/7--2010/8 :基于C/S架构的学生选课系统 开发环境:x86计算机,Linux 开发工具:vi ,gcc ,gdb 项目描述: 1. 整个工程分为客户端和服务器端,通过TCP/IP协议通信,使用多文件编译并使用条件编译语句防止重复包含头文件 2. 老师和学生的信息使用单链表保存,服务器端关闭后保存至硬盘的文本文件中 3. 使用socket实现客户端和服务器端的通信,服务器端采用多线程技术实现多用户同时登陆 4. 服务端采用互斥锁进行数据的保护及用户的互斥访问
2021-11-12 20:35:15 34KB linux c语言 网络编程 系统编程
1