QQ:574461795
您当前的位置:首页 > 理工学 > 计算机 > 正文

覆盖网络发展现状分析

摘  要  随着因特网发展的日趋完善,出现了很多所谓的“覆盖网络”(Overlay Networks),它们的形式多种多样,功能也不尽相同。本文综述了覆盖网络的现状,并对因特网上目前最流行的三种覆盖网络分别进行介绍。    关键词  覆盖网络;内容传送;弹性 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结点”,并不是特殊的路由器硬件,第2.2节已经阐述覆盖网络的特点之一就是不对下层的因特网基础设施进行改变,RON结点是分布在因特网上的一些有组织的主机,这些主机上运行专门的RON软件,实现的功能在某种意义上与路由器相同,但应区别这两者。    RON结点在现有因特网之上构建一个虚拟的网络,这个网络的任意两个结点之间都会维护一条由下层因特网链路构成的路径,称为“虚链接”(virtual link)。它们之间会定期或不定期通过发送探测包和监测来了解当前的网络状态。比如,有一个N个结点构成的RON系统,每一个结点都会及时探测最新的到其余N-1个结点的虚链接的状态,这个状态包括三个方面的内容,延迟、分组丢失率和链路吞吐量。结点将得到的最新的虚链接的状态信息保存在本地的一个性能数据库中,并以此作为路由选择的重要依据。    使用RON转发数据的应用程序称为“RON客户”(RON Client),RON的主要设计目标就是为客户程序提供更加可靠的路由机制。RON客户通过一种叫做“管道”(conduit)的接口与RON结点进行交互,如图1所示。通过管道接收分组的第一个结点被称为“入点”(entry node),相应地,分组经过的最后一个结点称为“出点”(exit node)。图1 RON体系结构图2  RON的路由表    当第一个分组到达入点后,入点将用其特有的路由选择方式查找转发表(稍后将介绍)为其选择下一跳路由,即下一个RON结点——如果不需路由则直接交给接收程序,与传统路由转发机制相似——下一个结点继续与第一个结点相同的工作,直到到达出点。在转发的时候入点为该分组封装一个RON包头,其中包含“流标识”字段。入点在转发了第一个分组之后,后续到达的属于同一个客户的分组将被标上相同的流标识,不再查找转发表,直接按第一个分组所走的路径转发,后续的RON结点也一样。除非探测到路径中某条虚链接发生重大问题,不再适合传输该类型的分组,相应的结点才重新查找转发表从另一条虚链接转发。因为链路状态信息的获取十分及时,所以一旦发生故障结点可以迅速改变转发路径,这是传统的BGP协议无法做到的。分组转发的机制是这样的,图3为RON的路由表结构。RON结点分三步完成一个完整的查找过程,第一步查找该分组的路由策略的类型,第二步针对分组的特点选择不同的路径因子,第三步才是查找分组的下一跳。可以看出,查找路由表是比较复杂的工作,因此只有在第一个分组到达或链路状态发生重大变化时才查找路由表。图3  CDN的构架示意图3.2内容传送网络(CDN)3.2.1 介绍    内容传送是当前比较热门的话题之一,而且占用Internet带宽的很大一部分。对于因特网内容提供者(Internet Content Provider)来说,如果采用传统的中央网站式的内容传送,会有主干网带宽浪费及使用者下载内容时间过长等问题。CDN是这样一种覆盖网络,它将内容和服务动态地缓存在分布在因特网各处的结点上,用户不需集中访问原始的服务器,而只需访问物理上或逻辑上“较近”的服务器的镜像,这样可以大大缩短延迟,同时减少主干网的带宽消耗。3.2.2  CDN的构架    从技术角度讲,CDN由许多分布在因特网上的缓存服务器组成,这些缓存服务器向用户提供内容和服务,其上缓存ICP发布的服务和内容。最重要的问题是如何在覆盖网络中进行用户请求的重定向以实现负载平衡。当接收到一个用户请求时,如何为其选择一个合适的缓存服务器取决于多个因素,主要包括:网络上的距离(主要是由路由选择决定)、物理上的距离、响应时间、服务器负载等。用户访问的基本流程如下:    1)  用户在自己的浏览器中输入要访问的网站的域名;    2)  浏览器向本地DNS请求对该域名的解析;    3)  本地DNS将请求发到网站的主DNS,主DNS再将域名解析请求转发到重定向DNS;    4)  重定向DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果IP地址发给用户;    5)  用户向给定的CDN节点请求相应网站的内容;    6)  CDN节点中的服务器负责响应用户的请求提供所需的内容。    目前较为常见的商业性CDN网络有Akamai、Digital Island等。最大的商业CDN Akamai 自己宣称,其占用Web流量的15%。CDN正日益受到内容提供者和用户的青睐,市场前景较为广阔。3.3 应用层组播3.3.1组播介绍    Deering 很早就提出了IP组播体系结构,设

相关内容推荐