《WIN高级编程10P2P应用开发技术.pdf》由会员分享,可在线阅读,更多相关《WIN高级编程10P2P应用开发技术.pdf(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 1第第第第10101010章章章章 P2PP2PP2PP2P应用开发技术应用开发技术应用开发技术应用开发技术 10.1 P2P10.1 P2P10.1 P2P10.1 P2P基本知识基本知识基本知识基本知识 1 1 1 10 0 0 0.1.1 Peer To Peer.1.1 Peer To Peer.1.1 Peer To Peer.1.1 Peer To Peer 架构架构架构架构10.1.2 P2P10.1.2 P2P10.1.2 P2P10.1.2 P2P实现原理实现原理实现原理实现原理 10.2 10.2 10.2 10.2 对等名称解析协议(对等名称解析协议(对等名称解析协议
2、(对等名称解析协议(PNRPPNRPPNRPPNRP)10.2.1 10.2.1 10.2.1 10.2.1 环境要求环境要求环境要求环境要求10.2.2 10.2.2 10.2.2 10.2.2 对等方名称和对等方名称和对等方名称和对等方名称和PNRP ID PNRP ID PNRP ID PNRP ID 10.2.3 10.2.3 10.2.3 10.2.3 群群群群10.2.4 PNRP10.2.4 PNRP10.2.4 PNRP10.2.4 PNRP名称注册与解析名称注册与解析名称注册与解析名称注册与解析10.3 10.3 10.3 10.3 PeertoPeerPeertoPeerP
3、eertoPeerPeertoPeer 名称空间名称空间名称空间名称空间10.4 P2P10.4 P2P10.4 P2P10.4 P2P视频聊天系统视频聊天系统视频聊天系统视频聊天系统2 2本章重点本章重点本章重点本章重点本章教学目的本章教学目的本章教学目的本章教学目的学习学习学习学习P2PP2PP2PP2P架构的特点,掌握架构的特点,掌握架构的特点,掌握架构的特点,掌握PeerToPeerPeerToPeerPeerToPeerPeerToPeer命名空间中命名空间中命名空间中命名空间中基本类的使用方法基本类的使用方法基本类的使用方法基本类的使用方法本章教学要求本章教学要求本章教学要求本章教
4、学要求(1 1 1 1)掌握)掌握)掌握)掌握P2PP2PP2PP2P架构同架构同架构同架构同C/SC/SC/SC/S架构相比的优缺点架构相比的优缺点架构相比的优缺点架构相比的优缺点(2 2 2 2)掌握)掌握)掌握)掌握P2PP2PP2PP2P架构的设计模式及特点架构的设计模式及特点架构的设计模式及特点架构的设计模式及特点(3 3 3 3)了解)了解)了解)了解PNRPPNRPPNRPPNRP的基本知识的基本知识的基本知识的基本知识(4 4 4 4)掌握利用)掌握利用)掌握利用)掌握利用PeerToPeerPeerToPeerPeerToPeerPeerToPeer命名空间中的类完成名称命名
5、空间中的类完成名称命名空间中的类完成名称命名空间中的类完成名称注册及解析的方法注册及解析的方法注册及解析的方法注册及解析的方法教学难点和重点教学难点和重点教学难点和重点教学难点和重点 P2PP2PP2PP2P架构的设计模式及特点、利用架构的设计模式及特点、利用架构的设计模式及特点、利用架构的设计模式及特点、利用PeerToPeerPeerToPeerPeerToPeerPeerToPeer命名命名命名命名空间中的类完成名称注册及解析的方法。空间中的类完成名称注册及解析的方法。空间中的类完成名称注册及解析的方法。空间中的类完成名称注册及解析的方法。3 310.1 P2P10.1 P2P10.1
6、P2P10.1 P2P基本知识基本知识基本知识基本知识1998199819981998年年年年美国东北美国东北美国东北美国东北波士顿大学波士顿大学波士顿大学波士顿大学的的的的一年级新生一年级新生一年级新生一年级新生、18181818岁的岁的岁的岁的肖恩肖恩肖恩肖恩 范宁范宁范宁范宁为了能够解决他的室友的一个问题为了能够解决他的室友的一个问题为了能够解决他的室友的一个问题为了能够解决他的室友的一个问题如何在如何在如何在如何在网上找到音乐而编写的一个简单的程序网上找到音乐而编写的一个简单的程序网上找到音乐而编写的一个简单的程序网上找到音乐而编写的一个简单的程序 1999199919991999年年
7、年年1 1 1 1月月月月肖恩肖恩肖恩肖恩 范宁开始了范宁开始了范宁开始了范宁开始了NapsterNapsterNapsterNapster程序程序程序程序的服务的服务的服务的服务1999199919991999年年年年5 5 5 5月月月月NapsterNapsterNapsterNapster公司公司公司公司宣告成立,注册人数一度高达宣告成立,注册人数一度高达宣告成立,注册人数一度高达宣告成立,注册人数一度高达8000800080008000万万万万4 4P2PP2PP2PP2P基本知识基本知识基本知识基本知识1999199919991999年年年年12121212月月月月全球五大唱片公司
8、全球五大唱片公司全球五大唱片公司全球五大唱片公司BMGBMGBMGBMG、环球环球环球环球、索尼索尼索尼索尼、华纳华纳华纳华纳和和和和E E E EMIMIMIMI以及以及以及以及美国唱片协会(美国唱片协会(美国唱片协会(美国唱片协会(RIAARIAARIAARIAA)联合联合联合联合起诉起诉起诉起诉NapsteNapsteNapsteNapster r r r,指其涉及,指其涉及,指其涉及,指其涉及侵权歌曲数百万首侵权歌曲数百万首侵权歌曲数百万首侵权歌曲数百万首,要求每支盗版歌,要求每支盗版歌,要求每支盗版歌,要求每支盗版歌曲赔偿曲赔偿曲赔偿曲赔偿10101010万美元。万美元。万美元。万美
9、元。2000200020002000年年年年2 2 2 2月月月月法院法院法院法院判定判定判定判定NapsterNapsterNapsterNapster败诉败诉败诉败诉。2002200220022002年年年年6 6 6 6月月月月NapsterNapsterNapsterNapster宣告破产宣告破产宣告破产宣告破产。2003200320032003年:皈依的年:皈依的年:皈依的年:皈依的NapsterNapsterNapsterNapster 2.02.02.02.0和新一代的和新一代的和新一代的和新一代的BTBTBTBT5 5P2PP2PP2PP2P基本知识基本知识基本知识基本知识 C
10、/SC/SC/SC/S框架框架框架框架在传统的在传统的在传统的在传统的“客户机客户机客户机客户机/服务器服务器服务器服务器”即即即即C/SC/SC/SC/S架构架构架构架构的应用系统中,的应用系统中,的应用系统中,的应用系统中,客户机与服务器有明确的分界客户机与服务器有明确的分界客户机与服务器有明确的分界客户机与服务器有明确的分界。通常所有客户机软件。通常所有客户机软件。通常所有客户机软件。通常所有客户机软件都向服务器发出都向服务器发出都向服务器发出都向服务器发出请求请求请求请求,服务器则负责存放共享资源并,服务器则负责存放共享资源并,服务器则负责存放共享资源并,服务器则负责存放共享资源并对客
11、户机的请求做出对客户机的请求做出对客户机的请求做出对客户机的请求做出响应响应响应响应。显然,在这个架构下,客。显然,在这个架构下,客。显然,在这个架构下,客。显然,在这个架构下,客户机越多,服务器的压力越大。户机越多,服务器的压力越大。户机越多,服务器的压力越大。户机越多,服务器的压力越大。6 6P2PP2PP2PP2P基本知识基本知识基本知识基本知识P2PP2PP2PP2P是是是是Peer-to-PeerPeer-to-PeerPeer-to-PeerPeer-to-Peer的缩写,也叫的缩写,也叫的缩写,也叫的缩写,也叫对等互联对等互联对等互联对等互联或或或或点对点点对点点对点点对点技术技
12、术技术技术使用使用使用使用P2PP2PP2PP2P技术实现的每个计算机节点技术实现的每个计算机节点技术实现的每个计算机节点技术实现的每个计算机节点既是客户既是客户既是客户既是客户机,也是服务器机,也是服务器机,也是服务器机,也是服务器。安装了相同安装了相同安装了相同安装了相同P2PP2PP2PP2P软件的计算机之间软件的计算机之间软件的计算机之间软件的计算机之间可以直接进行可以直接进行可以直接进行可以直接进行数据通信,而不需要依赖于专门的服务器。数据通信,而不需要依赖于专门的服务器。数据通信,而不需要依赖于专门的服务器。数据通信,而不需要依赖于专门的服务器。7 710.1.1 Peer To
13、Peer 10.1.1 Peer To Peer 10.1.1 Peer To Peer 10.1.1 Peer To Peer 架构架构架构架构C/SC/SC/SC/S模式应用系统具有以下缺点:模式应用系统具有以下缺点:模式应用系统具有以下缺点:模式应用系统具有以下缺点:当大量用户访问时,当大量用户访问时,当大量用户访问时,当大量用户访问时,服务器常常会出现能力不足服务器常常会出现能力不足服务器常常会出现能力不足服务器常常会出现能力不足或网络堵塞的现象。或网络堵塞的现象。或网络堵塞的现象。或网络堵塞的现象。系统的稳健性和服务器关联十分紧密系统的稳健性和服务器关联十分紧密系统的稳健性和服务器关
14、联十分紧密系统的稳健性和服务器关联十分紧密P2PP2PP2PP2P是是是是Peer-to-PeerPeer-to-PeerPeer-to-PeerPeer-to-Peer的缩写的缩写的缩写的缩写,也叫,也叫,也叫,也叫对等互联对等互联对等互联对等互联或或或或点对点点对点点对点点对点技术技术技术技术。可以让一台计算机与另一台计算机直接交换数可以让一台计算机与另一台计算机直接交换数可以让一台计算机与另一台计算机直接交换数可以让一台计算机与另一台计算机直接交换数据据据据,通过,通过,通过,通过InternetInternetInternetInternet直接使用对方的文件,而不必像传直接使用对方的
15、文件,而不必像传直接使用对方的文件,而不必像传直接使用对方的文件,而不必像传统统统统C/SC/SC/SC/S模式全部通过服务器处理模式全部通过服务器处理模式全部通过服务器处理模式全部通过服务器处理8 8Peer To Peer Peer To Peer Peer To Peer Peer To Peer 架构架构架构架构 P2PP2PP2PP2P框架特点框架特点框架特点框架特点对等模式对等模式对等模式对等模式 使用使用使用使用P2PP2PP2PP2P技术实现的每个计算机节点技术实现的每个计算机节点技术实现的每个计算机节点技术实现的每个计算机节点既是客户端既是客户端既是客户端既是客户端,也是服也
16、是服也是服也是服 务器务器务器务器,其功能的提供,其功能的提供,其功能的提供,其功能的提供是对等的是对等的是对等的是对等的,分布式网络存储结构分布式网络存储结构分布式网络存储结构分布式网络存储结构P2PP2PP2PP2P技术另一个重要特点在于技术另一个重要特点在于技术另一个重要特点在于技术另一个重要特点在于“分散分散分散分散”。网络中所有的计。网络中所有的计。网络中所有的计。网络中所有的计算、存储和网络连接能力都分布在非集中式网络的算、存储和网络连接能力都分布在非集中式网络的算、存储和网络连接能力都分布在非集中式网络的算、存储和网络连接能力都分布在非集中式网络的“对对对对等伙伴等伙伴等伙伴等伙
17、伴”上。上。上。上。P2PP2PP2PP2P设计模式设计模式设计模式设计模式混合型混合型混合型混合型P2PP2PP2PP2P架构架构架构架构,即,即,即,即单纯型单纯型单纯型单纯型和和和和专用服务器专用服务器专用服务器专用服务器相结合的架构。相结合的架构。相结合的架构。相结合的架构。单纯型单纯型单纯型单纯型P2PP2PP2PP2P架构架构架构架构,没有专用的服务器。,没有专用的服务器。,没有专用的服务器。,没有专用的服务器。9 9Peer To Peer Peer To Peer Peer To Peer Peer To Peer 架构架构架构架构混合型混合型混合型混合型P2PP2PP2PP2
18、P架构架构架构架构 将将将将P2PP2PP2PP2P和客户和客户和客户和客户/服务器模式服务器模式服务器模式服务器模式相结合相结合相结合相结合,此时的,此时的,此时的,此时的中央服务中央服务中央服务中央服务器器器器仅起到促成各节点仅起到促成各节点仅起到促成各节点仅起到促成各节点协调协调协调协调和扩展的功能和扩展的功能和扩展的功能和扩展的功能。安装了安装了安装了安装了P2PP2PP2PP2P软件的各个计软件的各个计软件的各个计软件的各个计算机开始全部和索引服务算机开始全部和索引服务算机开始全部和索引服务算机开始全部和索引服务器连接器连接器连接器连接,以便,以便,以便,以便告知自己监告知自己监告知
19、自己监告知自己监听的听的听的听的IPIPIPIP地址和端口地址和端口地址和端口地址和端口,然后,然后,然后,然后再通过索引服务器再通过索引服务器再通过索引服务器再通过索引服务器告知其告知其告知其告知其他与自己连接的计算机,他与自己连接的计算机,他与自己连接的计算机,他与自己连接的计算机,每一台计算机的连接和断每一台计算机的连接和断每一台计算机的连接和断每一台计算机的连接和断开连接都通过服务器通知开连接都通过服务器通知开连接都通过服务器通知开连接都通过服务器通知网络上有联系的计算机。网络上有联系的计算机。网络上有联系的计算机。网络上有联系的计算机。1010Peer To Peer Peer To
20、 Peer Peer To Peer Peer To Peer 架构架构架构架构混合型混合型混合型混合型P2PP2PP2PP2P架构架构架构架构优点:优点:优点:优点:实现了文件查询与文件传输的分离实现了文件查询与文件传输的分离实现了文件查询与文件传输的分离实现了文件查询与文件传输的分离,有效,有效,有效,有效地节省了中央服务器的带宽消耗,减少了系统的文地节省了中央服务器的带宽消耗,减少了系统的文地节省了中央服务器的带宽消耗,减少了系统的文地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。件传输延时。件传输延时。件传输延时。缺点:缺点:缺点:缺点:增加了对服务器的依赖性增加了对服务器的依
21、赖性增加了对服务器的依赖性增加了对服务器的依赖性,中央服务器的,中央服务器的,中央服务器的,中央服务器的瘫痪容易导致整个网络的崩馈;中央服务器的存在瘫痪容易导致整个网络的崩馈;中央服务器的存在瘫痪容易导致整个网络的崩馈;中央服务器的存在瘫痪容易导致整个网络的崩馈;中央服务器的存在引起共享资源在版权问题上的纠纷。引起共享资源在版权问题上的纠纷。引起共享资源在版权问题上的纠纷。引起共享资源在版权问题上的纠纷。举例:举例:举例:举例:NapSterNapSterNapSterNapSter1111Peer To Peer Peer To Peer Peer To Peer Peer To Peer
22、架构架构架构架构I have X!I have X!I have X!I have X!PublishPublishPublishPublishinsert(Xinsert(Xinsert(Xinsert(X,1.2.3.4)1.2.3.4)1.2.3.4)1.2.3.4).1.2.3.41.2.3.41.2.3.41.2.3.4混合型混合型P2PP2P架构架构 混合型混合型混合型混合型P2PP2PP2PP2P举例举例举例举例1212Peer To Peer Peer To Peer Peer To Peer Peer To Peer 架构架构架构架构Where is file A?Where
23、 is file A?Where is file A?Where is file A?QueryQueryQueryQueryReplyReplyReplyReplysearch(Asearch(Asearch(Asearch(A)-4.3.2.1-4.3.2.1-4.3.2.1-4.3.2.1FetchFetchFetchFetch4.3.2.14.3.2.14.3.2.14.3.2.1 混合型混合型混合型混合型P2PP2PP2PP2P举例(续)举例(续)举例(续)举例(续)1313Peer To Peer Peer To Peer Peer To Peer Peer To Peer 架构架
24、构架构架构 混合型混合型混合型混合型P2PP2PP2PP2P举例(续)举例(续)举例(续)举例(续)X.X.X.X发布自身信息我 有 资 源AX.X.X.X1.查 询谁 有 文 件B?3.回 应2.查 询 文 件B所 在 位 置文 件B4.请 求5.文 件B1414Peer To Peer Peer To Peer Peer To Peer Peer To Peer 架构架构架构架构 单纯型单纯型单纯型单纯型P2PP2PP2PP2P架构架构架构架构没有中央服务器,没有中央服务器,没有中央服务器,没有中央服务器,各个节点之间直各个节点之间直各个节点之间直各个节点之间直接交互信息接交互信息接交互信
25、息接交互信息。优点优点优点优点:使用方便使用方便使用方便使用方便,任何一台计算机,任何一台计算机,任何一台计算机,任何一台计算机只要安装了同只要安装了同只要安装了同只要安装了同一个一个一个一个P2PP2PP2PP2P应用软件应用软件应用软件应用软件,就可以和其他安装这个软件的,就可以和其他安装这个软件的,就可以和其他安装这个软件的,就可以和其他安装这个软件的计算机直接通信。计算机直接通信。计算机直接通信。计算机直接通信。难点:难点:难点:难点:由于单纯型由于单纯型由于单纯型由于单纯型P2PP2PP2PP2P架构没有中央服务器参与架构没有中央服务器参与架构没有中央服务器参与架构没有中央服务器参与
26、协调,协调,协调,协调,如何在庞大的互联网中找到拥有资源的计算如何在庞大的互联网中找到拥有资源的计算如何在庞大的互联网中找到拥有资源的计算如何在庞大的互联网中找到拥有资源的计算机节点机节点机节点机节点。一台计算机要和另一台计算机连接,必须要知道一台计算机要和另一台计算机连接,必须要知道一台计算机要和另一台计算机连接,必须要知道一台计算机要和另一台计算机连接,必须要知道对方的对方的对方的对方的IPIPIPIP地址和监听端口地址和监听端口地址和监听端口地址和监听端口,否则就无法向对方发送,否则就无法向对方发送,否则就无法向对方发送,否则就无法向对方发送信息。信息。信息。信息。1515Peer To
27、 Peer Peer To Peer Peer To Peer Peer To Peer 架构架构架构架构3 3 3 3常见常见常见常见P2PP2PP2PP2P应用应用应用应用(1 1 1 1)即时通信系统即时通信系统即时通信系统即时通信系统 OICQOICQOICQOICQ,ICQ,MSNICQ,MSNICQ,MSNICQ,MSN(2 2 2 2)文件下载文件下载文件下载文件下载 BitTorrentBitTorrentBitTorrentBitTorrent,迅雷迅雷ThunderThunderThunderThunder,eMuleeMuleeMuleeMule电驴,电驴,电驴,电驴,酷
28、狗酷狗(KuGooKuGooKuGooKuGoo),),),),Napster Napster Napster Napster(3 3 3 3)流媒体播放流媒体播放流媒体播放流媒体播放 PPLIVEPPLIVEPPLIVEPPLIVE(4 4 4 4)分布式计算分布式计算分布式计算分布式计算161610.1.2 P2P10.1.2 P2P10.1.2 P2P10.1.2 P2P实现原理实现原理实现原理实现原理在所有的在所有的在所有的在所有的P2PP2PP2PP2P应用中,应用中,应用中,应用中,对等方必须能够彼此发现对对等方必须能够彼此发现对对等方必须能够彼此发现对对等方必须能够彼此发现对方方
29、方方,一旦能够找到提供,一旦能够找到提供,一旦能够找到提供,一旦能够找到提供P2PP2PP2PP2P服务的计算机节点,就可服务的计算机节点,就可服务的计算机节点,就可服务的计算机节点,就可以直接与它通信。以直接与它通信。以直接与它通信。以直接与它通信。P2PP2PP2PP2P应用程序由应用程序由应用程序由应用程序由发现发现发现发现、连接连接连接连接和和和和通信通信通信通信三个阶段组成。三个阶段组成。三个阶段组成。三个阶段组成。发现阶段发现阶段发现阶段发现阶段负责动态定位对等方的网络位置负责动态定位对等方的网络位置负责动态定位对等方的网络位置负责动态定位对等方的网络位置连接阶段连接阶段连接阶段连
30、接阶段负责在对等方之间建立网络连接负责在对等方之间建立网络连接负责在对等方之间建立网络连接负责在对等方之间建立网络连接通信阶段通信阶段通信阶段通信阶段则负责在对等方之间来回传输数据。则负责在对等方之间来回传输数据。则负责在对等方之间来回传输数据。则负责在对等方之间来回传输数据。1717P2PP2PP2PP2P实现原理实现原理实现原理实现原理如何在单纯如何在单纯如何在单纯如何在单纯P2PP2PP2PP2P模式下发现对等点?模式下发现对等点?模式下发现对等点?模式下发现对等点?手工加入?手工加入?手工加入?手工加入?NO!NO!NO!NO!利用利用利用利用C/SC/SC/SC/S模式的旧有方式?模
31、式的旧有方式?模式的旧有方式?模式的旧有方式?NO!NO!NO!NO!微软在微软在微软在微软在.NET Framework 3.5.NET Framework 3.5.NET Framework 3.5.NET Framework 3.5中支持的中支持的中支持的中支持的对等名称解对等名称解对等名称解对等名称解析协议析协议析协议析协议(Peer Name Resolution Protocol)(Peer Name Resolution Protocol)(Peer Name Resolution Protocol)(Peer Name Resolution Protocol)简称简称简称简称P
32、 P P PNRPNRPNRPNRP,不仅有助于发现不仅有助于发现不仅有助于发现不仅有助于发现,还可以通过无服务器的还可以通过无服务器的还可以通过无服务器的还可以通过无服务器的解析功能将任何资源解析为一组解析功能将任何资源解析为一组解析功能将任何资源解析为一组解析功能将任何资源解析为一组IPIPIPIP地址和端口号地址和端口号地址和端口号地址和端口号,是在是在是在是在WindowsWindowsWindowsWindows平台下完成发现功能的首选协议平台下完成发现功能的首选协议平台下完成发现功能的首选协议平台下完成发现功能的首选协议连接和通信连接和通信连接和通信连接和通信完成对等节点定位和资源
33、搜索之后,就完成对等节点定位和资源搜索之后,就完成对等节点定位和资源搜索之后,就完成对等节点定位和资源搜索之后,就可以根据可以根据可以根据可以根据需要选用需要选用需要选用需要选用TCPTCPTCPTCP、UDPUDPUDPUDP或者其他协议完成消息传输或者其他协议完成消息传输或者其他协议完成消息传输或者其他协议完成消息传输。181810.2 10.2 10.2 10.2 对等名称解析协议(对等名称解析协议(对等名称解析协议(对等名称解析协议(PNRPPNRPPNRPPNRP)根据需要采用根据需要采用根据需要采用根据需要采用TCP,UDPTCP,UDPTCP,UDPTCP,UDP或者其他协议实现
34、一个基于或者其他协议实现一个基于或者其他协议实现一个基于或者其他协议实现一个基于P P P P2P2P2P2P框架的程序。框架的程序。框架的程序。框架的程序。如果程序运行在如果程序运行在如果程序运行在如果程序运行在WindowsWindowsWindowsWindows操作系统之上操作系统之上操作系统之上操作系统之上,则可以考,则可以考,则可以考,则可以考虑虑虑虑采用采用采用采用利用利用利用利用对等名称解析协议即对等名称解析协议即对等名称解析协议即对等名称解析协议即PNRPPNRPPNRPPNRP协议协议协议协议来实现。来实现。来实现。来实现。PNRPPNRPPNRPPNRP协议协议协议协议是
35、是是是由微软设计的由微软设计的由微软设计的由微软设计的基于基于基于基于IPV6IPV6IPV6IPV6的点对点协议的点对点协议的点对点协议的点对点协议,它它它它能够进行动态名称发布和解析能够进行动态名称发布和解析能够进行动态名称发布和解析能够进行动态名称发布和解析。即让所有的对等点。即让所有的对等点。即让所有的对等点。即让所有的对等点在没有服务器支持的情况下发现彼此。在没有服务器支持的情况下发现彼此。在没有服务器支持的情况下发现彼此。在没有服务器支持的情况下发现彼此。PNRP PNRP PNRP PNRP 承担两项承担两项承担两项承担两项核心任务:核心任务:核心任务:核心任务:发布发布发布发布
36、供其他对等点解析的对等名供其他对等点解析的对等名供其他对等点解析的对等名供其他对等点解析的对等名解析解析解析解析另一个对等点发布的对等名另一个对等点发布的对等名另一个对等点发布的对等名另一个对等点发布的对等名191910.2.1 环境要求环境要求环境要求环境要求微软在微软在微软在微软在2001200120012001年某次年某次年某次年某次P2PP2PP2PP2P会议中首次提出了会议中首次提出了会议中首次提出了会议中首次提出了PNRPPNRPPNRPPNRP协协协协议议议议,并在,并在,并在,并在2003200320032003年将年将年将年将PNRP 1.0PNRP 1.0PNRP 1.0P
37、NRP 1.0版本包含在版本包含在版本包含在版本包含在Windows XWindows XWindows XWindows XP Service Pack 2(SP2)P Service Pack 2(SP2)P Service Pack 2(SP2)P Service Pack 2(SP2)中中中中。目前,目前,目前,目前,PNRPPNRPPNRPPNRP最高版本为最高版本为最高版本为最高版本为2.12.12.12.1版版版版,该版本已经包含在,该版本已经包含在,该版本已经包含在,该版本已经包含在Windows Vista SP1Windows Vista SP1Windows Vista
38、SP1Windows Vista SP1Windows Server 2008Windows Server 2008Windows Server 2008Windows Server 2008Windows XP SP3Windows XP SP3Windows XP SP3Windows XP SP3PNRP PNRP PNRP PNRP 补丁补丁补丁补丁 for XP SP2for XP SP2for XP SP2for XP SP2 http:/ XP SP3Windows XP SP3Windows XP SP3Windows XP SP3后,使用后,使用后,使用后,使用PNRPPNR
39、PPNRPPNRP协协协协议,议,议,议,请执行如下操作:请执行如下操作:请执行如下操作:请执行如下操作:1 1 1 1依次单击依次单击依次单击依次单击“开始开始开始开始”、“控制面板控制面板控制面板控制面板”和和和和“添加或删除程添加或删除程添加或删除程添加或删除程序序序序”。2 2 2 2单击单击单击单击“添加添加添加添加/删除删除删除删除 Windows Windows Windows Windows 组件组件组件组件”。3 3 3 3在在在在“组件组件组件组件”中,单击中,单击中,单击中,单击“网络服务网络服务网络服务网络服务”(但不要选中对应(但不要选中对应(但不要选中对应(但不要选
40、中对应的复选框),然后单击的复选框),然后单击的复选框),然后单击的复选框),然后单击“详细信息详细信息详细信息详细信息”。4 4 4 4选定选定选定选定“点对点点对点点对点点对点”复选框复选框复选框复选框,然后单击,然后单击,然后单击,然后单击“确定确定确定确定”。5 5 5 5单击单击单击单击“下一步下一步下一步下一步”,然后按照向导的指示进行操作,然后按照向导的指示进行操作,然后按照向导的指示进行操作,然后按照向导的指示进行操作2121环境要求环境要求环境要求环境要求2222环境要求环境要求环境要求环境要求2323环境要求环境要求环境要求环境要求1 1 1 1在开始在开始在开始在开始-运
41、行中,运行中,运行中,运行中,输入输入输入输入cmdcmdcmdcmd进行命令行方式进行命令行方式进行命令行方式进行命令行方式。2 2 2 2输入输入输入输入netshnetshnetshnetsh进入进入进入进入netshnetshnetshnetsh 上下文上下文上下文上下文。netshnetshnetshnetsh是是是是Windows 2000/XP/Windows 2000/XP/Windows 2000/XP/Windows 2000/XP/2003200320032003操作系统自身提供的操作系统自身提供的操作系统自身提供的操作系统自身提供的命令行脚本实用工具命令行脚本实用工具命
42、令行脚本实用工具命令行脚本实用工具,它,它,它,它允许用户允许用户允许用户允许用户在本地或远程显示或修改当前正在运行的计算机的网络配置在本地或远程显示或修改当前正在运行的计算机的网络配置在本地或远程显示或修改当前正在运行的计算机的网络配置在本地或远程显示或修改当前正在运行的计算机的网络配置。3 3 3 3如图如图如图如图11-611-611-611-6所示,在安装点对点网络服务之后,此时输入所示,在安装点对点网络服务之后,此时输入所示,在安装点对点网络服务之后,此时输入所示,在安装点对点网络服务之后,此时输入p2p p2p p2p p2p pnrppnrppnrppnrp可进入可进入可进入可进
43、入netshnetshnetshnetsh p2p p2p p2p p2p pnrppnrppnrppnrp 上下文中。上下文中。上下文中。上下文中。242410.2.2 10.2.2 10.2.2 10.2.2 对等方名称和对等方名称和对等方名称和对等方名称和PNRP IDPNRP IDPNRP IDPNRP ID 应用程序等都可以注册为一个对等方名称。可以通过应用程序等都可以注册为一个对等方名称。可以通过PNRPPNRP协协议将对等方名称解析为地址和端口号。议将对等方名称解析为地址和端口号。对等名对等名格式格式格式格式:Authority.ClassiferAuthority.Classi
44、ferAuthority.ClassiferAuthority.Classifer AuthorityAuthorityAuthorityAuthority节节节节安全安全安全安全:Authority=Authority=Authority=Authority=基于基于基于基于Peer NamePeer NamePeer NamePeer Name的的的的SHA1SHA1SHA1SHA1算法算法算法算法 HashHashHashHash值值值值例如例如例如例如:259ef61ae2a6703fed18544a268204adba477735.S259ef61ae2a6703fed18544a2
45、68204adba477735.S259ef61ae2a6703fed18544a268204adba477735.S259ef61ae2a6703fed18544a268204adba477735.Sonnyonnyonnyonny不安全不安全不安全不安全:Authority=0 Authority=0 Authority=0 Authority=0 例如:例如:例如:例如:0 0 0 0.Sonny.Sonny.Sonny.Sonny ClassifierClassifierClassifierClassifier节节节节ClassifierClassifierClassifierClas
46、sifier节是则是节是则是节是则是节是则是用户定义的字符串用户定义的字符串用户定义的字符串用户定义的字符串,用于标识应用程序,用于标识应用程序,用于标识应用程序,用于标识应用程序的字符串,可以是的字符串,可以是的字符串,可以是的字符串,可以是最大长度可为最大长度可为最大长度可为最大长度可为 150 150 150 150 字符字符字符字符。2525对等方名称和对等方名称和对等方名称和对等方名称和PNRP IDPNRP IDPNRP IDPNRP ID PNRP IDPNRP IDPNRP IDPNRP ID:是:是:是:是根据对等名称生成的长度为根据对等名称生成的长度为根据对等名称生成的长度
47、为根据对等名称生成的长度为256256256256位数字位数字位数字位数字,由,由,由,由P2PIP2PIP2PIP2PID D D D与与与与服务地址信息服务地址信息服务地址信息服务地址信息两部分构成两部分构成两部分构成两部分构成.1)P2P ID 1)P2P ID 1)P2P ID 1)P2P ID 转换自对等方名称的转换自对等方名称的转换自对等方名称的转换自对等方名称的128128128128位数字标识符。位数字标识符。位数字标识符。位数字标识符。2)2)2)2)服务位置服务位置服务位置服务位置 任何节点都可以注册一个名称相同的不安全名称,任何节点都可以注册一个名称相同的不安全名称,任何
48、节点都可以注册一个名称相同的不安全名称,任何节点都可以注册一个名称相同的不安全名称,PNRPPNRPPNRPPNRP规规规规定每个定每个定每个定每个PNRP IDPNRP IDPNRP IDPNRP ID中都生成一个中都生成一个中都生成一个中都生成一个128128128128位的数字来区分相同群中位的数字来区分相同群中位的数字来区分相同群中位的数字来区分相同群中P2P2P2P2P IDP IDP IDP ID相同的不同实例相同的不同实例相同的不同实例相同的不同实例。服 务 位 置(1 2 8位)authority.classfierP2P ID(128位)PNRP ID262610.2.3 1
49、0.2.3 10.2.3 10.2.3 群群群群 在某个网络范围内的在某个网络范围内的对等点的对等点的集合集合 对等点对等点可以属于多个群可以属于多个群 全局群全局群和和本地本地-链接群链接群2727群群群群 Global Global Global Global 互联网互联网互联网互联网上的所有对等点上的所有对等点上的所有对等点上的所有对等点Link LocalLink LocalLink LocalLink Local本地子网本地子网本地子网本地子网的所有的所有的所有的所有对等点对等点对等点对等点28281)1)1)1)群的群的群的群的4 4 4 4种状态种状态种状态种状态虚拟虚拟虚拟虚拟
50、尚未初始化成功,长时间未使用尚未初始化成功,长时间未使用正在同步正在同步正在同步正在同步正在初始化正在初始化单独单独单独单独初始化成功,但是群中只有自己没有其他对等点初始化成功,但是群中只有自己没有其他对等点活动活动活动活动初始化成功,并且群中有多个对等点初始化成功,并且群中有多个对等点29292 2 2 2)查看本机群信息)查看本机群信息)查看本机群信息)查看本机群信息1 1 1 1在开始在开始在开始在开始-运行中,输入运行中,输入运行中,输入运行中,输入cmdcmdcmdcmd,进入命令行方式。,进入命令行方式。,进入命令行方式。,进入命令行方式。2 2 2 2输入输入输入输入netshn