覆盖网络
覆盖网络(英語:)是一种建立在另一网络之上的计算机网络。覆盖网络中的节点可以被认为是通过虚拟或逻辑链接相连,其中每个链接对应一条路径(Path)。节点之间也可能通过下层网络中的多个物理连接实现相连。 例如对等网络或客户-服务器应用这类分布式系统都可视为覆盖网络,因为它们的节点都运行在因特网之上。 因特网自身最初也是作为一个电话网络之上的覆盖网络构建,而当今(藉由VoIP的引入),电话网络正越来越变成一个建立在因特网之上的覆盖网络。
覆盖网络的用途
在电信领域
在电信领域中能够使用覆盖网络要归功于电信网络中所提供的数字电路交换设备和 光纤传输介质。[1] 电信传输网和IP网络(二者合并构造了更广泛的因特网)都至少覆盖在一个光纤层、一个传输层和一个IP层或电路交换层(就PSTN而言)之上。
企业私有网络最初是在电信网络(如帧中继和异步传输模式的分组交换)的基础设施之上的覆盖网络。不过自2001~2002年起,企业私有网络开始从这些(现在被视为遗产)基础设施上迁移到基于IP的多协议标签交换(MPLS)网络和虚拟私有网络(VPN)。
从物理的角度看,覆盖网络相当复杂(参见图1),因为其中组合了多种多样、由不同实体(商业公司、大学、政府等)负责操作和建立的逻辑层,同时这类网络鼓励关注点分离,从而随着时间的推移,可以逐渐累积范围更广的服务(从宽带互联网接入,IP语音或 IPTV以及有竞争力的电信维等),而这些服务不太可能由某个单一的电信运营商来提供。[2]
因特网上的应用
如今的因特网已成为更多的覆盖网络的基础;构造这些覆盖网络的目的是为了支持将消息路由到目的地不由IP地址指定的位置。例如,分布式哈希表可以将消息路由到具有特定的逻辑地址的节点,而这个节点的IP地址是事先未知的。
覆盖网络也被建议作为一种改进因特网路由的方法,例如通过服务质量担保以实现高质量的流媒体服务。较早期的建议,例如IntServ,DiffServ和IP多播都没有被广泛接受,主要是因为它们要求修改网络中的所有路由器。此外,覆盖网络可以增量部署在运行覆盖协议软件的终端主机商,不需要ISP进行配合。覆盖网络无法控制在下层网络中两个覆盖节点间如何路由数据包,但它可以控制,例如,消息在到达目的节点之前需要经过的覆盖节点序列。
例如, Akamai Technologies所管理的一个覆盖网络能够提供可靠、高效的内容传递(一种多播技术)。 学术研究方向包括终端系统的多播和为组播提供超播(Overcast);为弹性路由所提出的RON(弹性覆盖网络) 以及为改进服务质量所提出的OverQoS等等。
弹性(Resilience)
弹性覆盖网络(RON)是一种允许分布式因特网应用来检测和恢复中断或干扰的架构。 目前的广域路由协议至少需要几分钟才能中断或干扰中恢复,这可以通过应用层的覆盖技术得以改进。RON节点监视彼此之间的因特网路径,并确定是否直接通过互联网或其他RON节点来重新路由数据包,进而优化了应用程序特定的指标。[3]
弹性覆盖网络的概念设计相对简单。RON节点部署在因特网上的不同位置。这些节点构造成一种应用层的覆盖网络,负责协助数据包路由。每个RON节点监视彼此之间的因特网路径质量,并使用这些信息准确、自动地从数据包中选择路径,进而缩短了从较差的服务质量进行恢复所需要的时间。
多播
覆盖多播(Overlay Multicast)也被称为终端系统多播 或对等多播。在高度分部的节点之间实现高带宽多源多播是一个很多应用(如音视频会议、多方游戏以及内容分发等)的一个关键能力。 在过去十年间,一些研究项目探讨了使用多播作为一种高效、可扩展的机制来支持这类组内通信应用 多播技术使得数据接收方集合的大小与每个节点上需要保存的状态信息数量无关,并且潜在地避免了网络中的冗余通信。
作为网络层多播协议的最佳实践,IP组播的部署很有限,这就导致人们对替代方案产生相当大的兴趣。这类替代方案可以仅使用终端系统,在应用层实现。 在覆盖多播或终端系统多播方案中,参与的各方将自己组织成一个覆盖拓扑结构以便数据传递。拓扑结构中的每个边对应下层互联网中两个终端系统或对等方之间的一条单播路径。所有与多播有关的功能都在对等方实现,而不是在路由器实现。多播协议的目标是建造和维护一个高效的覆盖网络完成数据传输。
缺点
- 传播数据的速度较慢。
- 较长的延迟。
- 在某些点会出现重复分组。
覆盖网络协议列表
基于TCP/IP的覆盖网络协议包括:
- 分布式哈希表 (DHTs),如KAD网络和其他基于Kademlia算法的其它协议。
- JXTA
- XMPP:基于一个端点的Jabber ID(例如:nodeId_or_userId@domainId\resourceId)执行消息路由,而不是通过IP地址执行路由
- 许多对等(P2P)协议,包括 Gnutella, Gnutella2, Freenet, I2P和Tor等。
- PUCC
- Solipsis:一个法国电信系统,用于提供大型共享虚拟世界
- HyParView:一种非常稳定的、非结构化的覆盖网络,用于广播八卦
基于UDP/IP的覆盖网络协议包括:
- 实时传媒流协议(Real Time Media Flow Protocol) - Adobe Flash
参考
- 黑暗網路(Darknet)
- 网状网络(Mesh Network)
- Peercasting
- 虚拟私人网络(VPN)
外部链接
- List of overlay network implementations, July2003 (页面存档备份,存于)
- Resilient Overlay Networks (页面存档备份,存于)
- Overcast: reliable multicasting with an overlay network (页面存档备份,存于)
- OverQoS: An overlay based architecture for enhancing Internet QoS (页面存档备份,存于)
- HyParView: a membership protocol for reliable gossip-based broadcast. João Leitão, José Pereira and Luís Rodrigues(页面存档备份,存于). Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2007
- RFC 3170
(页面存档备份,存于) - Multicast over TCP/IP HOWTO (页面存档备份,存于)
- Nemo - Resilient Overlay Multicast
- FatNemo - Emulating FatTrees for Overlay Multisource/Multicast
- End System Multicast
- IRTF Scalable Adaptive Multicast Research Group (页面存档备份,存于) 关于覆盖多播和应用层多播的参考文献 (页面存档备份,存于)
参考文献
- . [2017-05-23]. (原始内容存档于2012-10-02).
- Fransman, Martin.
- David Andersen , Hari Balakrishnan , Frans Kaashoek , Robert Morris. . Proceedings of the eighteenth ACM symposium on Operating systems principles. December 2001: 131–145. doi:10.1145/502034.502048.