C#网络应用编程 第2版 教学课件 PPT 作者 马骏 第10章 P2P应用开发技术

上传人:E**** 文档编号:89346926 上传时间:2019-05-23 格式:PPT 页数:54 大小:1.59MB
返回 下载 相关 举报
C#网络应用编程 第2版  教学课件 PPT 作者 马骏 第10章 P2P应用开发技术_第1页
第1页 / 共54页
C#网络应用编程 第2版  教学课件 PPT 作者 马骏 第10章 P2P应用开发技术_第2页
第2页 / 共54页
C#网络应用编程 第2版  教学课件 PPT 作者 马骏 第10章 P2P应用开发技术_第3页
第3页 / 共54页
C#网络应用编程 第2版  教学课件 PPT 作者 马骏 第10章 P2P应用开发技术_第4页
第4页 / 共54页
C#网络应用编程 第2版  教学课件 PPT 作者 马骏 第10章 P2P应用开发技术_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《C#网络应用编程 第2版 教学课件 PPT 作者 马骏 第10章 P2P应用开发技术》由会员分享,可在线阅读,更多相关《C#网络应用编程 第2版 教学课件 PPT 作者 马骏 第10章 P2P应用开发技术(54页珍藏版)》请在金锄头文库上搜索。

1、第10章 P2P应用开发技术,10.1 P2P基本知识 10.1.1 Peer To Peer 架构 10.1.2 P2P实现原理 10.2 对等名称解析协议(PNRP) 10.2.1 环境要求 10.2.2 对等方名称和PNRP ID 10.2.3 群 10.2.4 PNRP名称注册与解析 10.3 PeertoPeer 名称空间 10.4 P2P视频聊天系统,本章重点,本章教学目的 学习P2P架构的特点,掌握PeerToPeer命名空间中基本类的使用方法 本章教学要求 (1)掌握P2P架构同C/S架构相比的优缺点 (2)掌握P2P架构的设计模式及特点 (3)了解PNRP的基本知识 (4)掌

2、握利用PeerToPeer命名空间中的类完成名称注册及解析的方法 教学难点和重点 P2P架构的设计模式及特点、利用PeerToPeer命名空间中的类完成名称注册及解析的方法。,10.1 P2P基本知识,1998年 美国东北波士顿大学的一年级新生、18岁的肖恩 范宁为了能够解决他的室友的一个问题如何在网上找到音乐而编写的一个简单的程序 1999年1月 肖恩 范宁开始了Napster程序的服务 1999年5月 Napster公司宣告成立,注册人数一度高达8000万 1999年12月 全球五大唱片公司BMG、环球、索尼、华纳和EMI以及美国唱片协会(RIAA)联合起诉起诉Napster,指其涉及侵权

3、歌曲数百万首,要求每支盗版歌曲赔偿10万美元。 2000年2月 法院判定Napster败诉。 2002年6月 Napster宣告破产。 2003年:皈依的Napster 2.0和新一代的BT,10.1 P2P基本知识,C/S框架 在传统的“客户机/服务器”即C/S架构的应用系统中,客户机与服务器有明确的分界。通常所有客户机软件都向服务器发出请求,服务器则负责存放共享资源并对客户机的请求做出响应。显然,在这个架构下,客户机越多,服务器的压力越大。,10.1 P2P基本知识,P2P是Peer-to-Peer的缩写,也叫对等互联或点对点技术 使用P2P技术实现的每个计算机节点既是客户机,也是服务器。

4、 安装了相同P2P软件的计算机之间可以直接进行数据通信,而不需要依赖于专门的服务器。,10.1.1 Peer To Peer 架构,C/S模式应用系统具有以下缺点: 当大量用户访问时,服务器常常会出现能力不足或网络堵塞的现象。 系统的稳健性和服务器关联十分紧密 P2P是Peer-to-Peer的缩写,也叫对等互联或点对点技术。可以让一台计算机与另一台计算机直接交换数据,通过Internet直接使用对方的文件,而不必像传统C/S模式全部通过服务器处理,10.1.1 Peer To Peer 架构,P2P框架特点 对等模式 使用P2P技术实现的每个计算机节点既是客户端,也是服 务器,其功能的提供是

5、对等的, 分布式网络存储结构 P2P技术另一个重要特点在于“分散”。网络中所有的计 算、存储和网络连接能力都分布在非集中式网络的“对 等伙伴”上。 P2P设计模式 混合型P2P架构,即单纯型和专用服务器相结合的架构。 单纯型P2P架构,没有专用的服务器。,10.1.1 Peer To Peer 架构,混合型P2P架构 将P2P和客户/服务器模式相结合,此时的中央服务器仅起到促成各节点协调和扩展的功能。 安装了P2P软件的各个计算机开始全部和索引服务器连接,以便告知自己监听的IP地址和端口,然后再通过索引服务器告知其他与自己连接的计算机,每一台计算机的连接和断开连接都通过服务器通知网络上有联系的

6、计算机。,10.1.1 Peer To Peer 架构,混合型P2P架构 优点:实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。 缺点:增加了对服务器的依赖性,中央服务器的瘫痪容易导致整个网络的崩馈;中央服务器的存在引起共享资源在版权问题上的纠纷。 举例: NapSter,10.1.1 Peer To Peer 架构,I have X!,insert(X, 1.2.3.4) .,1.2.3.4,混合型P2P架构,混合型P2P举例,10.1.1 Peer To Peer 架构,Where is file A?,search(A) 4.3.2.1,4.3

7、.2.1,混合型P2P举例(续),10.1.1 Peer To Peer 架构,混合型P2P举例(续),10.1.1 Peer To Peer 架构,单纯型P2P架构没有中央服务器,各个节点之间直接交互信息。 优点:使用方便,任何一台计算机只要安装了同一个P2P应用软件,就可以和其他安装这个软件的计算机直接通信。 难点:由于单纯型P2P架构没有中央服务器参与协调,如何在庞大的互联网中找到拥有资源的计算机节点。 一台计算机要和另一台计算机连接,必须要知道对方的IP地址和监听端口,否则就无法向对方发送信息。,10.1.1 Peer To Peer 架构,3常见P2P应用 (1)即时通信系统 OIC

8、Q,ICQ, MSN (2)文件下载 BitTorrent,迅雷Thunder, eMule电驴,酷狗(KuGoo) Napster (3)流媒体播放 PPLIVE (4)分布式计算,10.1.2 P2P实现原理,在所有的P2P应用中,对等方必须能够彼此发现对方,一旦能够找到提供P2P服务的计算机节点,就可以直接与它通信。 P2P应用程序由发现、连接和通信三个阶段组成。 发现阶段负责动态定位对等方的网络位置 连接阶段负责在对等方之间建立网络连接 通信阶段则负责在对等方之间来回传输数据。,10.1.2 P2P实现原理,如何在单纯P2P模式下发现对等点? 手工加入? NO! 利用C/S模式的旧有方

9、式? NO! 微软在.NET Framework 3.5中支持的对等名称解析协议(Peer Name Resolution Protocol)简称PNRP,不仅有助于发现,还可以通过无服务器的解析功能将任何资源解析为一组IP地址和端口号,是在Windows平台下完成发现功能的首选协议 连接和通信 完成对等节点定位和资源搜索之后,就可以根据需要选用TCP、UDP或者其他协议完成消息传输。,第10章 P2P应用开发技术,10.1 P2P基本知识 10.1.1 Peer To Peer 架构 10.1.2 P2P实现原理 10.2 对等名称解析协议(PNRP) 10.2.1 环境要求 10.2.2

10、对等方名称和PNRP ID 10.2.3 群 10.2.4 PNRP名称注册与解析 10.3 PeertoPeer 名称空间 10.4 P2P视频聊天系统,10.2 对等名称解析协议(PNRP),根据需要采用TCP,UDP或者其他协议实现一个基于P2P框架的程序。 如果程序运行在Windows操作系统之上,则可以考虑采用利用对等名称解析协议即PNRP协议来实现。 PNRP协议是由微软设计的基于IPV6的点对点协议,它能够进行动态名称发布和解析。即让所有的对等点在没有服务器支持的情况下发现彼此。 PNRP 承担两项核心任务: 发布供其他对等点解析的对等名 解析另一个对等点发布的对等名,10.2.

11、1 环境要求,微软在2001年某次P2P会议中首次提出了PNRP协议,并在2003年将PNRP 1.0版本包含在Windows XP Service Pack 2 (SP2)中。 目前,PNRP最高版本为2.1版,该版本已经包含在 Windows Vista SP1 Windows Server 2008 Windows XP SP3 PNRP 补丁 for XP SP2 http:/ 环境要求,如需在安装完Windows XP SP3后,使用PNRP协议,请执行如下操作: 1依次单击“开始”、“控制面板”和“添加或删除程序”。 2单击“添加/删除 Windows 组件”。 3在“组件”中,单

12、击“网络服务”(但不要选中对应的复选框),然后单击“详细信息”。 4选定“点对点”复选框,然后单击“确定”。 5单击“下一步”,然后按照向导的指示进行操作,10.2.1 环境要求,10.2.1 环境要求,10.2.1 环境要求,1在开始-运行中,输入cmd进行命令行方式。 2输入netsh进入netsh上下文。netsh是Windows 2000/XP/2003操作系统自身提供的命令行脚本实用工具,它允许用户在本地或远程显示或修改当前正在运行的计算机的网络配置。 3如图11-6所示,在安装点对点网络服务之后,此时输入p2p pnrp可进入netsh p2p pnrp上下文中。,10.2.2 对

13、等方名称和PNRP ID,应用程序等都可以注册为一个对等方名称。可以通过PNRP协议将对等方名称解析为地址和端口号。 格式:Authority.Classifer Authority节 安全 Authority = 基于Peer Name的SHA1算法 Hash值 例如: 259ef61ae2a6703fed18544a268204adba477735.Sonny 不安全 Authority =0 例如: 0.Sonny Classifier节 Classifier节是则是用户定义的字符串,用于标识应用程序的字符串,可以是最大长度可为 150 字符。,10.2.2 对等方名称和PNRP ID,

14、PNRP ID:是根据对等名称生成的长度为256位数字,由P2PID与服务地址信息两部分构成. P2P ID 转换自对等方名称的128位数字标识符。 服务位置 任何节点都可以注册一个名称相同的不安全名称,PNRP规定每个PNRP ID中都生成一个128位的数字来区分相同群中P2P ID相同的不同实例。,10.2.3 群,在某个网络范围内的对等点的集合 对等点可以属于多个群 全局群和本地-链接群,10.2.3 群,Global 互联网上的所有对等点,Link Local 本地子网的所有对等点,10.2.3 群,虚拟,尚未初始化成功,正在同步,正在初始化,单独,初始化成功,但是群中只有自己没有其他

15、对等点,活动,初始化成功,并且群中有多个对等点,10.2.3 群,1在开始-运行中,输入cmd,进入命令行方式。 2输入netsh,单击回车,进入netsh上下文。 3输入p2p pnrp cloud ,进入netsh p2p pnrp cloud 上下文。 4show list命令:查看当前计算机所有群的名称及作用范围。 5、show names命令:,10.2.4 PNRP名称注册与解析,名称解析过程,In Cache?,寻找对等点,No,Ask Closest Peer,In Cache?,Yes,Send to Requesting Peer,No,Closer Peer?,No,So

16、rry,Yes,Ask This One,Ask Suggested,In Cache?,Ask Next Closest Peer,In Cache?,10.2.4 PNRP名称注册与解析,200,800,450,500,350,10.2.4 PNRP名称注册与解析,名称注册: 格式:add registration peerName cloud comment 参数说明: peername PNRP名称。 cloud 可选参数,PNRP名称所属群,如不指定则注册到所有可用群中。 comment 可选参数,说明信息。 举例: add registration 0.testPeerName Global_ myComment,10.2.4 PNRP名称注册与解析,名称解析: 名称解析是发现注册到群中的其他对等点,但是并不能够发现它自身。因此,我们

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号