|
1 引言
近年来人们不断对因特网提出新的需求,例如多播、点对点文件共享以及保护隐私等。这些促使了因特网的进一步发展,为了更好地满足这些要求,覆盖网络应运而生。本文主要介绍了三种应用较为普遍的覆盖网络:路由覆盖网络、内容传送网络和应用层组播。文章安排如下:第2节介绍覆盖网络的定义和覆盖网络出现的原因,第3节简述三种常见的覆盖网络,并举例说明。
2 覆盖网络的含义
因特网的体系结构是一种分层的结构,其最上一层是应用层,它利用传输层提供的服务完成相应的应用功能,如Web浏览、电子邮件服务、FTP服务等。但这种传统的结构已经不能很好地满足越来越复杂的应用需求。例如,多媒体应用的发展迫切要求网络能够支持组播功能,而目前的因特网尚不能完全支持组播。因此,有人提出在应用层实现组播,具体做法是参加组播的计算机自己构成一个覆盖网络,然后在应用层维护组播树的结构并由应用结点参与进行组播转发。
覆盖网络的基本含义就是在现有的因特网上构建一个完全位于应用层的网络系统。覆盖网络服务不是由因特网服务提供商(Internet Service Provider)提供的,而是由一种新型的服务提供商提供。它存在于因特网基础设施和应用程序之间,利用ISP提供的服务来向其用户提供更加优化的服务。可以认为,覆盖网络是分布在因特网上的一组提供服务的主机的集合,它们为一个或多个应用程序提供下层的基础设施,在某种程度上转发和处理应用程序的数据,所采用的方式与目前因特网上的不同;由第三方运营和管理,不是当前因特网体系结构的一部分。
3 常见的覆盖网络
3.1 路由覆盖网络
路由覆盖网络的作用是为了控制或改善网络上数据传送的路径,在一个路由覆盖网络中,通信双方的端结点并不改变,改变的是其分组可能经过的路由。我们知道,因特网由很多个自治系统(Autonomous System)组成,每个自治系统由一个ISP维护,分组在一个自治系统内部的路径由管理该自治系统的ISP决定,受多个因素影响,其中包括自治系统的内部结构和传送分组所需的开销。每个ISP与其相连结的ISP一般都会有商业上的协定,这些协定决定了分组从哪一条路径传送到下一个自治系统的开销最小。自治系统之间运行边界网关协议(Border Gateway Protocol),BGP允许每个ISP设定关于接收、转发分组的控制策略,然后通过分布式计算来确定一条从源结点到目的结点的“最佳”的路径。
但是由于每一个ISP侧重的目标不一致,比如有的ISP考虑传送分组的开销,有的关注可用带宽和传输延迟,还有的希望尽量合理地使用下层物理链路以减小拥塞出现的几率。因此,这种所谓的“最佳”路径对于用户来说很大程度上并不是最佳的。因特网本身的路由机制,完全由ISP决定,端用户和应用程序无法参与,这种路由机制对于端用户和应用程序来说是不精确的,它仅反映了ISP对开销和运行效率的考虑,而不顾用户和应用程序的真正需求。下一节我们将要介绍的是针对这种现状而提出的,旨在改善路由选择,并与应用程序紧密联系的一种覆盖网络——弹性覆盖网络(RON)。
3.1.1 弹性覆盖网络介绍
弹性覆盖网络是一种分布式覆盖网络体系结构,分布于因特网上的RON结点可以仅用数秒的时间检测到链路的失效和周期性的性能恶化,并快速恢复,而目前的因特网BGP协议则需数分钟。RON结点自动监测连接它们的下层因特网链路的质量,使用收集到的信息并结合该应用程序对哪一路径因子(如延迟、分组丢失率、链路吞吐量等)更敏感来决定某一应用程序的分组是直接由因特网链路转发还是经由另一RON结点,这样可以更加优化应用程序的路由选择。
3.1.2 RON的功能实现
首先要明确一个概念,所谓“RON结点” |