P2P应用系统 - 上海交通大学P2P研究与开发网

Download Report

Transcript P2P应用系统 - 上海交通大学P2P研究与开发网

P2P:A Disruptive Technology
and Thought
邹福泰
[email protected]
2010.9.19
1
引言
十一年前,P2P刚诞生时,曾被视为一种颠
覆性技术,将深刻改变互联网,如同WEB技
术的出现一样。如今,P2P不仅影响了互联
网的体系架构以及流量分布,也正开始改
变人和计算机在互联网上交互的方式。
2
大纲
A
P2P概述
B
P2P技术挑战
C
C
P2P研究历程
D
P2P应用系统
E
P2P展望
3
What is P2P?
P2P:Peer to Peer对等网络
peer指网络结点在
行为上是自由的——任意加入、退出,不受其它
结点限制,匿名
功能上是平等的——不管实际能力的差异
连接上是互联的——直接/间接,任两结点可建
立逻辑链接,对应物理网上的一条IP路径
充分利用网络带宽、节点资源,提高工作
效率
4
Spirit & Thought
Peer to Peer: 对等 自由 泛在
对等网络是新兴的一种技术,但更多的是
一种新思想,有着改变整个互联网基础的
潜能的思想。 P2P给互联网的分布、共享
精神带来了无限的遐想,在应用领域和学
术界获得了广泛的重视,被称为“改变
Internet的新一代网络技术”。
5
Understand P2P
Peers
Client
Server
实线表示物理连接,虚线表示逻辑连接
6
从计算模式的发展史来理解P2P的必然性
主机终端计算模式
C/S计算模式
B/S计算模式
P2P计算模式
7
主机终端计算模式
终端
主机端
计算模式支点
8
随着时间的发展…
主机端
终端
计算模式支点
9
C/S计算模式
服务器端
客户机端
计算模式支点
10
异构性问题出现
服务器端
客户机端
计算模式支点
11
为了解决异构性的问题…B/S
服务器端
客户机端
计算模式支点
12
随着Internet的迅猛发展…
服务器端
客户机端
计算模式支点
13
如何利用终端的资源…
客户机端
服务器端
计算模式支点
14
星星之火,可以燎原
1999年Internet上第一个应用Napster,半
年发展了5000万用户
其后涌现Gnutella, KaZaA, BitTorrent,
eDonkey/eMule, Skype
发展的原因:
充分利用资源:带宽、CPU、存储等
引发了互联网新的应用机会
学术界重视内在的创新性
15
Napster创始人Shawn Fanning
 80后,1980.11
 1999,大一下,18岁时发布了
Napster( Boston's
Northeastern University). The
system was launched in early
1999. Later he appeared on
the cover of Wired magazine
and rose to fame. Soon after,
however, Napster was the
target of several music
industry-backed lawsuits,
which ultimately ended up
causing the cessation of the
service.
 Meet the Napster Time
Magazine 2000.Oct.2
16
P2P change the World
P2P represented
~65% of Internet
Traffic at end 2006
1999: Napster, first widely used p2papplication
17
大纲
A
P2P概述
B
P2P技术挑战
C
C
P2P研究历程
D
P2P应用系统
E
P2P展望
18
P2P:重叠在physical network的叠加网
P2P网络实质上指TCP/IP模型(四层模型)中
应用层的工作方式,包括结点工作模式与
计算模式等
不同类型P2P网络几乎同时出现,无明确界
定,大致分类
混合式P2P网络:C/S、P2P模式的混合
无结构P2P网络:分布/松散的结构
结构化P2P网络:准确、严格的结构
19
技术挑战
路由体系的构建
定位技术的创新
动态性的克服
安全性的挑战
A
E
P2P覆盖网
B
C
D
如:覆盖网上AE
实际上:ACDE
A
E
底层物理网
B
C
D
20
大纲
A
P2P概述
B
P2P技术挑战
C
C
P2P研究历程
D
P2P应用系统
E
P2P展望
21
P2P研究概述
 P2P网络的核心机制,是在应用层建立逻辑上的
覆盖网络(overlay network),屏蔽下三层的工作
细节
设计和实现P2P网络应解决的基本问题
 路由和定位、查询和搜索、动态结点算法、容错性
 P2P网络的增强机制
数据复制、缓存、分片;负载均衡;拓扑一致性;匿名、
声誉、信任、安全性
 Google scholar:212,000 results for p2p
keyword
22
P2P研究历程
第一阶段:1999~2000,初步探索
1999年,18岁的Shawn Fanning发布Napster软
件,立刻风行,为Hybrid P2P体系的代表,因版
权问题2001年关闭网站
2000年,第一个无结构P2P网络Gnutella,与
Napster目标同为交换文件
几乎同时“自由、安全、匿名”的Freenet目标
是信息共享平台
KaZaA(无结构)引入超结点,开发结点异构性
(结点能力差异)
eDonkey:文件分块、同一文件可并行下载,网
络结构类似KaZaA
23
第二阶段:2001~2003,基础研究
2001年,产生结构化structured P2P体系
IEEE成立P2P专业会议,ACM发表经典论
文
P2P经典模型及应用体系:Chord, CAN,
Tapestry, Pastry, CFS, OceanStore, PAST
学术团体及技术组织成立或完善了专门的
P2P研究组,MIT, U.C. Berkeley,
Microsoft/Rice Univ., Stanford
24
2002年,P2P专业会议IPTPS及其它如
SIGCOMM等网络通信、分布式系统领域的
重要会议关注P2P
2002年10月BitTorrent推出,2003年世界范
围流行(尤其是在中国)。它的快速文件分发
下载的特性引起网络多媒体文档下载的一个
浪潮。
Skype,全球第一家P2P即时通信公司,
P2P商业价值
Microsoft也加入研究
25
DHT: Distributed Hash Table
P2P覆盖网
对等结点
nodeID
对象
objectID
分布式散列表DHT
底层物理网
结点
IP, Port
 网络拓扑结构严格
星形、随机图、双层、
带弦环、超立方体、多
维空间、de Bruijn图、
蝴蝶、CCC、跳表结构
 结点和数据对象位置
确定
分布式散列表将结点、
数据对象映射到覆盖网
对象
Key, ...
26
第三阶段:2004~2010,深入研究
P2P网络的主要问题已解决,核心机制、整
体架构已形成,在重大问题形成共识的基
础上,追求更细节、更高效、更实用,试
图整合不同的P2P应用系统(类似web推出
后的应用)
P2P Churn
P2P Security
P2P wireless
P2P Cloud
27
2009年与P2P相关的论文研究课题
*来源于<P2P十年何去何从>,2010中国计算机学会通讯第1期 ,李振华
28
大纲
A
P2P概述
B
P2P技术挑战
C
C
P2P研究历程
D
P2P应用系统
E
P2P展望
29
P2P系统的优势
一、提高网络工作效率
 对比C/S,结点间的协作效率更高。
二、充分利用网络带宽
 P2P不通过服务器进行信息交换,无服务器瓶颈,无单点
失效,充分利用网络带宽,如BT下载多个文件,可接近
实际最大带宽,HTTP及FTP很少有这样的效果
三、开发了每个网络结点的潜力
 结点资源:计算能力及存储容量
 P2P使内容“位于中心”转变为“位于边缘”,计算模式
由“服务器集中计算”“分布式协同计算”
四、具有高可扩展性(scalability)
五、具有良好的容错性
30
各种应用系统
文件共享:BitTorrent,eMule,Maze,
Kugoo
多媒体传输:Skype(语音),PPLive(视
频),TvAnts,AnySee
实时通信:QQ、MSN Messenger、Skype,
都支持C/S、P2P模式
协同工作:Groove虚拟办公室
分布式数据存取:广域、海量,CFS、
PAST、OceanStore、Granary
31
分布式计算:GPU,Gnutella全球处理单元,
计算任务由对等结点而非服务器分配,
SETI@Home,U.C. Berkeley搜索外星文
明
P2P搜索引擎:第三代搜索引擎技术,离实
用有差距
P2P即可是简单的,又可是复杂的体系
TinyP2P—15行代码的P2P软件
JXTA—开放式P2P开发平台
32
TinyP2P


键入下面命令将程序运行在服务器模式: python tinyp2p.py password server hostname portnum [otherurl]
键入下面命令将程序运行在客户端模式: python tinyp2p.py password client serverurl pattern
33
JXTA Architecture
34
P2P应用系统取得巨大的成功
BT
PPLive
PPStream
UUSee
迅雷
QQ旋风
35
BT
2002年10月发布
专注于技术
下载速度达到了前所未有的程度
技术思想:slice+track
36
Skype
 2003 Niklas Zennström
和 Janus Friis 合力打造
(2001Kazza)
 2010年6月30日,Skype月
平均免费用户数为1.24亿,
付费用户数为810万
 IPO进行中
 技术思想:NAT穿透+路
径优选
37
PPLive, PPS, UUSee
技术思想:直播时的时隙分享
2003年,中国
 PPLive:姚欣(华中科大本科)
 PPStream:张洪禹(哈尔滨师大本科)+ 雷量(成都一程序员)
 UUSee:李竹(清华本科)+ 刘怀宇(清华硕士)
38
迅雷,QQ旋风
技术思想:成为内容提供商
 迅雷
 2003年,深圳
 邹胜龙(硅谷海归)+
程浩(硅谷海归)
 中国最大的互联网资
源聚合平台
 QQ旋风
 2007年,上海
 腾讯研究院
 No.2互联网资源聚合
平台
39
大纲
A
P2P概述
B
P2P技术挑战
C
C
P2P研究历程
D
P2P应用系统
E
P2P展望
40
进一步的思索
 应用系统:P2P Wireless Communication, P2P
Game,,Virtual Reality, P2P Pub/Sub
 研究进展:
云计算、物联网结合
安全攻防:
 P2P流量引发ISP问题:ISP-Friendly P2P
 P2P Botnet:逃避当前绝大多数检测软件
 P2P Privacy: BT的泄密
 P2P Trust: Social Network
 P2P Pollution: Kazza的教训
41
Any Questions?
42