覆盖网络弹性路由与跨层优化
上QQ阅读APP看书,第一时间看更新

2.2 覆盖网络的分类

根据节点的性质不同,覆盖网络大致可以分为两大类:基于终端主机的覆盖网络、基于固定节点(一般是指连接到路由器的业务服务器)的覆盖网络。

(1)在基于终端主机的覆盖网络中,终端主机属于互联网体系结构中的资源子网的组成元素,是用户级可操作的实体。随着CPU和内存的性能提升,用户主机不仅仅是用户浏览和数据处理的终端,也可以作为数据转发的节点,为其他用户提供服务,这也是基于终端主机的覆盖网络产生的一个必要条件。在基于终端主机的覆盖网络中,互联网络的通信子网是一个“黑盒子”,终端节点相互连接形成Mesh或树状虚拟拓扑,而不需要改动互联网基础设施。著名的P2P文件共享系统Gunutella[20]和基于终端主机的覆盖网多播[21]都是属于这类网络。有两个问题限制了这类网络的应用:终端节点的低接入带宽和较大的“最后一公里”传输延迟[22]。此外,由于终端节点随时可能加入和离开,所以这类覆盖网络是动态变化的,不能提供非常可靠的服务。

(2)基于固定节点的覆盖网络使用一系列连接到互联网基础设施(如路由器)上的服务器来实现覆盖服务。这些服务器节点通常提供某种稳定的业务,且由第三方服务提供商(Overlay Service Provider, OSP)维护,形成了三层架构的体系结构:基础设施层、服务层和用户层。用户可以根据自己的业务需求向服务提供商购买服务,并建立相应的覆盖网络拓扑。服务提供商通过和ISP签订服务等级协议(Service Level Agreement, SLA)使覆盖服务节点之间的覆盖链路的QoS得到一定的保证,内容分发网(CDN)就属于这类覆盖网络。这类覆盖网络的优点是能够提供可靠的服务,缺点是覆盖服务节点相对固定,灵活性受到一定的影响。

根据提供服务的目的,覆盖网络可以分为寻内容、寻路和寻址3种。

(1)寻内容是服务于应用层的覆盖网络,目的是为用户提供内容查寻服务。通过集中或者分布式的路由机制实现对特定内容所在节点的查找,然后建立连接,完成内容传输,而这个节点的IP地址事先并不知道,P2P和CDN属于这类覆盖网络。其中,CDN使得用户可以从距离自己最近的边缘服务器获取相应的内容,减少数据传输时延。

(2)寻路是服务于网络层的覆盖网络,是通过覆盖路由算法建立源目的节点对间的覆盖路径,屏蔽物理网络细节,满足用户QoS需求,如实现物理链路故障的快速恢复,不改变互联网基础设施的前提下实现数据的多播服务。此外,通过寻路覆盖网络,可以根据用户的不同需求,在同一个物理拓扑上建立多个覆盖网络实现数据的传输。RON[23]、SOSR[24]和QRON[25]属于这类覆盖网络。

比较寻内容与寻路两种覆盖网络,前者本质上是内容服务器在覆盖网络中的放置问题,旨在构建覆盖网络拓扑,将处理能力强、存储容量大的内容服务器分布在网络中的不同位置,并设计合理的分布式覆盖内容查找算法,使得用户可以找到距离自己最近的内容服务器,获得所需内容;而寻路是解决覆盖网络路由的问题,其产生的背景是终端主机的计算能力和存储能力的普遍提高,使得终端主机不仅可以完成传统的简单的数据处理工作,而且可以完成原本只能由路由器实现的路由任务。从这个意义上讲,寻路是寻内容的延伸和发展。

(3)寻址是服务于MAC层的覆盖网络,常用于云计算数据中心中,实现可以跨越三层物理网络进行通信的二层逻辑网络,即将二层报文封装在IP报文内(MAC-in-IP),通过隧道机制实现跨数据中心的覆盖网络通信机制。寻址覆盖网络突破了传统二层网络中存在的物理位置受限、VLAN数据有限等阻碍,实现了虚拟机在数据中心中的动态移迁,满足了云计算要求。目前,应用寻址覆盖网络技术设计的VXLAN(Virtual eXtensible Local Network)协议已得到广泛应用。

本书的研究内容着眼于寻路覆盖网络,且在选择覆盖网络节点时,综合了主机节点和固定节点覆盖网络的优点和特性,旨在解决互联网体系结构的一些缺陷,如链路故障恢复时间长、IP多播可扩展性差,以及传统网络设备和网络协议对多路径路由支持差等问题。