CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > WinSystem子站 > 技巧

利用Vista和WCF中强大P2P通信功能

作者: Justin Smith,  出处:微软, 责任编辑: 韩博颖, 
2008-05-23 11:02
  Windows Vista 中的 P2P 开发是一个极其广泛的主题。因此,我不会去尝试完成这样一个不可能的任务,而是会介绍 Windows Vista 中一些不同的 P2P 技术。

  网格中的节点基本上都使用现有的常用传输方式进行通信。与所有的现代操作系统一样,Windows Vista 利用 TCP/IPUDP 进行网络通信。如果 TCP/IP 是全连接网格所选的传输方式,那么由 N 个节点组成的全连接网格中的每个节点都必须创建或接收 N-1 个套接字。随着 N 值的增加,此模型显然变得不可行。例如,如果假定一个 N=1000 的情况,那么每个节点都将需要保持 999 个套接字,这简直就行不通。

  要解决可伸缩性和 WAN 连接性的问题,您必须诉诸于部分连接的网格,如图 2 中所示。顾名思义,部分连接网格中的节点只与网格中的其他少量节点相连。就 P2P 来说,这些相邻的节点被称作邻居。通常来说,部分连接网格对每个节点的资源需求更少,从而大幅提高了网格的可伸缩性。从理论上讲,部分连接网格的规模可以扩大到包括全球所有计算机上的所有应用程序。

  部分连接网格

  图 2 部分连接网格

  加入网格 节点加入网格的方式取决于所使用的网格技术,但通常来讲,预期节点必须用网格名来解析网格中已有的一个或多个节点的物理地址。如果您假设一个部分连接网格,网格名的解析结果就是网格中可用物理地址的一个子集。在接收到网格中一个或多个物理节点的物理地址后,预期节点必须立即连接到这些地址中的一个、部分或全部地址。连接到网格之后,新添加的节点必须立即让自己准备好响应来自其他预期节点的后续的网格名解析请求。

  网格名解析是一个复杂的主题。这种复杂性在很大程度上是因为,在许多情况下,网格名解析要依赖于一个或更多的其他网格。为清楚说明问题,请想一下美国邮政局使用的网格。再具体点说,假定我需要向我的朋友 Rusty 邮寄一个包裹。要邮寄这个包裹,我可能需要去一个邮局。如果我不知道距离我最近的邮局地点,我会到 Internet 上查找最近邮局的地址。从抽象意义上说,要“连接”到美国邮政局的网格需要我先访问所有网格中最大的网格(即 Internet)才能解析最近的节点的地址。换言之,您可以使用一个网格去解析包含在另一个网格中的地址。我将在本文的 PNRP 部分详细讨论这个概念。

  与其他节点通信 一旦节点连接到某网格,它就可以通过以下两种方式之一与其他节点进行通信:网格扩散(也称多方消息传送),或定向消息传送。顾名思义,网格扩散是试图将消息发送到网格中的所有节点。一般而言,网格中的某节点可通过将消息发送到它的所有邻居而将消息传播到其他所有节点。在接收到消息后,初始发送节点的邻居负责将该消息转发给它的邻居,以此类推。相比之下,定向消息传送指的是试图将消息直接发送到网格中的某特定节点。在部分连接网格中,初始发送节点可能未与目标接收节点相连。如果真是这样,则初始发送节点必须将消息发送给它的一个或多个邻居。其中某个邻居可能会与目标接收节点相连。如果是这样,该邻居就会将消息转发给目标接收节点。如果不是这样,则该邻居会推测它的哪个邻居自身可能会与目标接收节点相连。

  网格很少处于静态。在多数 P2P 应用程序中,节点可能会频繁加入和离开网格,可能是由于网络连接变动引起,也可能是由于在使用即时消息传送应用程序时,用户启动和终止应用程序引起。除了网格中的自然变动之外,多数网格技术都具备一些维护自身的机制。通常而言,网格维护的目标就是修复或调整网格以使其更高效或更稳健地运行。要注意到每个网格技术实现网格维护的方式都不同,这一点很重要。

?8?? 9 1 2 3 4 5 6 7 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i