1 / 35

P2P 基础知识简介

P2P 基础知识简介. 李振华 在读博士 北京大学计算机系网络所 P2P 组 Homepage: net.pku.edu.cn/~p2p. 提纲. 1 P2P 是什么? 2 P2P 历史(工业界) 3 P2P 历史(学术界) 4 国内科研情况 5 AmazingStore 系统简介 6 基础实验平台简介 7 上机作业. 1 P2P 是什么?. 网上众说纷纭 …… 我们的看法: 1 、一种思想 2 、一种工具 3 、一类应用. 1.1 一种思想. 计算机网络  因特网 Internet 网络的基础结构:

Download Presentation

P2P 基础知识简介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. P2P基础知识简介 李振华 在读博士 北京大学计算机系网络所P2P组 Homepage: net.pku.edu.cn/~p2p

  2. 提纲 • 1 P2P是什么? • 2 P2P历史(工业界) • 3 P2P历史(学术界) • 4 国内科研情况 • 5 AmazingStore系统简介 • 6 基础实验平台简介 • 7 上机作业

  3. 1 P2P是什么? 网上众说纷纭…… 我们的看法: • 1、一种思想 • 2、一种工具 • 3、一类应用

  4. 1.1 一种思想 • 计算机网络  因特网 Internet • 网络的基础结构: 1、集中式:C/S = Client/Server -- 好:管理简单,控制有效 -- 坏:Server瓶颈 2、分布式:Distributed -- 好:无瓶颈,资源充分利用 -- 坏:管理松散,难于控制  P2P = 分布式的极端 (since 1956年) 自由 平等 互联

  5. 1.2 一种工具 • Peer-to-Peer • 一切网络皆可P2P化!But……

  6. 1.3 一类应用 • 文件共享 • 媒体播放 • 数据存储 • 分布计算等

  7. 2 P2P的历史(工业界) • 2.1 溯源:Napster -- 1999年,18岁的美国学生Shawn Fanning -- 宿舍开发,朋友共享mp3 -- 半年5000万用户! -- 2001年,版权纠纷,被迫关闭 1999-2009,P2P十年……

  8. Napster运行原理

  9. 2.2 Gnutella • 2000年3月,Nullsoft公司 • Justin Frankel& Tom Pepper: Winamp发明人 • 版权问题上线一个半小时关闭 • 无结构P2P系统代表 • 其思想和代码被多出复制、改写、继承

  10. Gnutella运行原理、洪泛问题

  11. 2.3 KaZaa/Skype, eDonkey/eMule • 2009年7月,KaZaa • Niklas & Friis • 300万在线用户! • Niklas继续创办Skype • 2000年,eDonkey • 2002年,Merkur改良eDonkey eMule • 国内VeryCD 层次化无结构P2P系统

  12. 2.4 BT • 2002年10月 • Bram Cohen穷困潦倒……  企业家Gilmore资助生活费  • 2003年BitTorrent流行  Bram Cohen依然穷困潦倒   2003年末找到工作!

  13. 2.5 PPLive, PPS, UUSee • 2003年,中国 • PPLive:姚欣(华中科大本科) • PPStream:张洪禹(哈尔滨师大本科)+ 雷量(成都一程序员) • UUSee:李竹(清华本科)+ 刘怀宇(清华硕士)

  14. 2.6 迅雷,QQ旋风 • 迅雷 • 2003年,深圳 • 邹胜龙(硅谷海归)+ 程浩(硅谷海归) • 中国最大的互联网资源聚合平台 • QQ旋风 • 2007年,上海 • 腾讯研究院 • No.2互联网资源聚合平台

  15. Relaxation 1 • “出名要趁早啊,来得太晚的话,快乐也不那么痛快。” ——张爱玲 房子、车子、妻子、孩子、…… 互联网是造就青年英雄的园地!

  16. 3 P2P历史(学术界) • 3.1 O’reilly的P2P峰会 -- 2000年8月,O’reilly组织P2P峰会 -- 澄清P2P的理念,消除P2P恐惧 -- 2001年,O’reilly出版最早的P2P专著

  17. 3.2 四大结构化模型 • 2001年,SIGCOMM(网络通信顶尖会议) -- Chord: Ion Stoica等(Berkeley、MIT) -- CAN: Ratnasamy等(Berkeley、AT&T) • 2001年,其它两个模型 -- Pastry: Rowstron等(微软、Rice) -- Tapestry: 赵燕斌等(Berkeley) • 结构化P2P系统 = DHT(Distributed Hash Table)

  18. Chord前传:环形数组/链表 • 环形数组路由? -- 二分查找 -- O(logN)跳 • 环形链表路由? -- 二分查找 NO! • 如何O(logN)? -- 带弦环 = 路由表(网络)

  19. Chord介绍 1 • Chord:最简单、最精确 • 拓扑结构:带弦环 • 功能: -- 节点/数据对象 映射到 拓扑网络中 • 映射方法: -- 节点ID = Hash(IP, port) -- 数据ID = Hash(Value) -- 节点按ID顺时针排列 -- 节点后继 vs 对象后继 匿名、 虚节点

  20. Chord介绍 2 • 路由表(finger table) -- 指数距离:1、2、4、8、…、2^m -- m项,m为节点ID比特数

  21. Chord介绍 3 • 路由: -- 二分查找,由远及近 -- 定位节点/数据对象平均路由跳数 O(logN) -- 思考题1:为什么是O(logN)而不是O(m)? -- 思考题2:平均跳数是(logN)/2,为什么?

  22. DHT • DHT(分布式散列表)

  23. 3.3 常数度结构化模型 • 常数度:每个节点有常数条边 • Viceroy:蝴蝶结构 • Koorde:Chord + 德布罗意图 • Cycloid:3维CCC

  24. 3.4 结构化P2P的特点 • 1、节点度为常数或O(logN) • 2、数据对象存放位置确定(hash) • 3、定位对象的路由跳数为O(logN) • 4、结构严格,维护开销大 迄今为止,除Kademlia模型在BT、eMule中辅助使用外,没有实用的结构化P2P模型  但是,结构化P2P的思想被用在服务器集群、云计算等领域,取得了不错的效果 

  25. 3.5 专著

  26. 4 国内科研情况 • 北京大学网络所 -- Maze共享、AmazingStore存储 • 华中科大网格实验室 -- AnySee视频直播 • 清华大学高性能所、多媒体所 -- Granary存储、GridMedia视频直播

  27. Relaxation 2 • P2P科研领域目前的境况: -- 美国学者——引领、挖坑 -- 中国学者——跟踪、灌水 为什么?——找祖宗、2000年 怎么办?——没办法 “牢骚太盛防肠断, 欲望太强睡不着。”

  28. 5 AmazingStore系统简介 • P2P共享 + P2P存储 • 教育网 • 网址:amazingstore.grids.cn • 兼容Maze资源 • 开发小组: 代亚非 教授,苏冰/周模/丁嵩/ 董嵬/肖锋/陈驰/曲直 • 在线用户突破800 • 优良的P2P科研试验平台

  29. 5.1 AmazingStore 6大功能 1、热门资源推荐 2、所有资源搜索 3、对等节点浏览 4、经典资源收藏 5、P2P网络硬盘 6、开发中……

  30. 基础实验平台简介 • 1、最好的平台:自己搭建系统 -- 自由修改,数据齐全,适合研究 • 2、较好的平台:利用现有系统 -- 如QQ旋风、AmazingStore等 • 3、公认的平台:PlanetLab P2P研究者居家必备之良药! (北大已加入)

  31. 基础实验平台简介2 • 4、凑合的平台:自己写代码模拟 -- 灵活方便,简单易行,但不具有说服力 • 5、最不好的平台:用他人写的模拟器 -- 手到擒来,但自由度太小,极易受他人置疑 -- MIT: p2psim, Trento: PeerSim, GaTech: GnutellaSim, 3LS

  32. 基础实验平台简介3 • 推荐实验方式:4、自己写代码模拟 -- Java或C#,面向对象实现,单线程 -- 1个Monitor对象 + N个Node对象 -- Monitor对象记录所有运行数据 -- Node对象属性:物理地址,ID,路由表,邻居表等 -- Node对象方法:定位对象、传递路由消息等 -- 网络拓扑结构:GT-ITM、BRITE拓扑发生器、真实数据 -- 权宜之计,发不了一流论文!

  33. 上机作业 • 使用任意实验方式模拟Chord网络(单机) -- 算法伪代码均在Chord原始论文中 -- 节点IP、port及数据对象Value随机生成 -- 节点/数据对象ID产生可使用任意Hash函数(SHA、MD5在Java、C#类库中有) -- 节点顺序加入,不考虑并行 -- 路由表构造(Table 1)、路由算法实现(Figure 4)参照原始论文 -- 仅处理节点加入(Figure 6),不处理节点退出、意外 -- 需要处理节点加入时数据对象的移交(Figure 6)

  34. 上机作业(续) -- 网络拓扑结构可随机产生(使用拓扑发生器更好) -- 不考虑网络环境,RPC(远程过程调用)可实现为直接的函数调用 -- 统计每个节点存储的数据对象个数,将其分布作图,与原始论文作对照,分析原因 -- 随机选取节点查找随机数据对象,记录路由跳数的分布并作图,与原始论文作对照,分析原因

  35. 结尾 • 感谢大家的耐心和支持! • P2P领域问题多多欢迎加入! • 祝大家学习进步、安心快乐!

More Related