互联网相对抵制根本性的变革。过去的15年在部署新服务方面提供了无数“错误的开始”。例如,尽管差异化服务、IP组播和安全路由协议在协议标准化过程中提供了实实在在的价值并取得了显著进展,但它们尚未得到大规模部署。部署这些服务的一个主要障碍是需要协调:部署该服务的互联网服务提供商(ISP)在其他领域效仿之前不会获得什么好处。例如,一个部署了安全路由协议(如安全路由协议)的网络服务提供商会产生巨大的成本,但仍然无法防止虚假路由声明,除非其他网络服务提供商也部署了安全路由协议。
互联网服务提供商面临巨大压力,需要提供“增值”服务,以满足客户需求和互联网连接日益商品化的需求。建设一个覆盖全球的网络需要要么“自己建设”,要么依靠其他互联网服务提供商提供连接;互联网服务提供商自然会采用后一种方法来控制成本。不幸的是,由于单一的互联网服务提供商很少控制整个路径,新的服务要么只部署在小岛屿上,要么完全消失。一些难以提供盈利服务的互联网服务提供商被迫采取敲诈性措施,例如降低某些服务的质量,同时为其他服务提供商提供“更好的服务”(尽管不是更好的端到端服务),正在进行的“网络中立”辩论就是证明。
研究人员还面临压力,要求他们通过解释新协议如何一次部署到一个网络来证明他们在联合网络环境中的工作,但强调增量可部署性并不一定导致最佳架构。事实上,专注于增量部署可能会导致解决方案,其中路径上的每一步都有意义,但最终状态是错误的。相反,我们认为,对互联网架构的实质性改进可能需要根本的改变,而这种改变不是可逐步部署的。不幸的是,不可增量部署的想法通常被归入纸质设计库中,这些设计要么永远不会再出现,要么在极少数情况下,只有在危机迫在眉睫时才作为“权宜之计”来修补(就像IPv4中地址耗尽时的IPv6一样)。
我们认为,将基础设施提供商(部署和维护网络设备的提供商)与服务提供商(部署网络协议并提供端到端服务的提供商)脱钩是打破这一僵局的关键。我们建议Cabo(“并发架构比单一架构更好”),它利用虚拟化,允许服务提供商在不同基础架构提供商拥有的设备上同时运行多个端到端服务。Cabo将网络虚拟化扩展到目前支持共享实验设施的用途之外,例如PlanetLab [2]和GENI [6]。支持虚拟网络本身应该是一种架构,而不是仅仅作为选择单一“成功”架构的评估平台。Cabo的设计采用多元主义哲学[1]主张一个灵活和可扩展的系统,支持多种同步网络架构。我们进一步采取多元化的方法,重构互联网的经济,让服务提供商与一个或多个基础设施提供商建立业务关系,以构建提供端到端服务的虚拟网络。
服务提供商与基础设施提供商脱钩符合互联网商业化带来的商业模式,一些互联网服务提供商已经在推动服务与基础设施脱钩的趋势。在商业互联网的早期,出现了“运营商酒店”,通过将许多不同的互联网服务提供商的物理设备放置在同一个建筑中,降低了互联网服务提供商之间的互联成本。托管分摊了维护物理占地面积的高固定成本(例如,机架、电源、备用发电机、交换机、光纤、“手和眼”支持等)。)通过在互联网服务提供商之间共享资本和运营支出。就像连接提供商共享基础设施(如备用发电机)一样,Cabo允许服务提供商共享物理网络基础设施。现在,一些公司开始将服务与基础设施分开,以提供更好的服务或降低成本。西班牙互联网服务提供商FON为私人家庭部署的现有无线接入点充当第三方经纪人[4]。国联利用其他各方部署的物理基础设施代理互联网接入。分组结构通过允许这些交换机的互联网服务提供商共享对同一交换机的访问来分摊单个城市的交换机间连接成本[5]。Cabo进一步推进了这一理念,允许服务提供商提供广泛的端到端服务和网络架构,而不仅仅是互联网接入或单个交换机端口。
“横向分层”互联网是否会出现,取决于许多重要的经济问题[2]。然而,我们关注的是实现Cabo必须克服的许多技术障碍。(正如我们在第2.2节中所描述的,即使一个ISP为了在同一个网络基础设施上并行运行多个体系结构而部署了Cabo,Cabo的许多优势也是可以实现的。)我们在第2.3节中描述的这些技术挑战包括发现可用的物理基础架构,将虚拟网络映射到底层网络拓扑,以及计算和调配资源。
[2] 将基础设施提供商与服务提供商分开在其他行业中具有优先地位。例如,航空业有机场(基础设施提供商),为特定的航空公司(服务提供商)分配特定的登机口或航站楼。商业飞机的租赁是另一个例子。在美国,航空公司(服务提供商)从金融服务公司(基础设施提供商)租赁飞机。类似地,购物中心通常由不同的公司(基础设施提供商)所有,而不是租赁商店空间的商业连锁店(服务提供商)
在本节中,我们将对Cabo及其相关的优势和挑战进行概述。
Cabo将传统互联网服务提供商的概念分为两个不同的实体:基础设施提供商和服务提供商。基础设施提供商拥有并维护形成基础设施网络的网络设备(例如,路由器和链路)。服务提供商与一个或多个基础设施提供商就访问这些路由器和链路资源的共享建立协议。Cabo通过将物理节点(即路由器)或链路细分为许多虚拟节点和虚拟链路来促进物理资源的共享。虚拟节点控制底层节点资源的子集,保证与运行在同一台机器上的其他虚拟节点隔离。类似地,虚拟链路由通过基础设施网络的路径形成,并且包括沿着该路径的一部分资源。Cabo可以使用调度程序来仲裁对共享资源(如CPU、内存和带宽)的访问,从而保证这些链路上的带宽或延迟属性。
虚拟网络由属于同一服务提供商的虚拟节点和链路组成。例如,在图1中,服务提供商1具有虚拟网络,该虚拟网络使用属于基础设施提供商1和3的物理资源来提供终端主机A和B之间的端到端服务。终端主机可以通过到一个基础设施提供商的物理连接来运行连接到不同虚拟网络的虚拟机,这些虚拟机可能由不同的服务提供商运行。服务提供商可以在其虚拟组件上安装软件(例如,定制的路由协议),甚至可以对硬件进行编程(例如,在网络处理器上实现的定制的分组转发算法)。单个服务提供商可能拥有多个针对特定服务或拓扑而定制的虚拟网络。例如,一个虚拟网络可以运行内部网关协议(IGP),如OSPF和传统的最长前缀匹配分组转发,而另一个虚拟网络可以支持基于平面地址的源路由。
一个服务提供商可以通过虚拟组件的“嵌套”向另一个服务提供商提供服务。也就是说,一个虚拟节点甚至可能被细分为多个虚拟节点,并且虚拟链路本身包括多个虚拟链路。例如,一家服务提供商可能提供端到端连接(类似于今天的互联网服务提供商),并将该连接出售给另一家提供其他端到端服务的服务提供商。此外,基础架构提供商可能会提供虚拟组件基本支持之外的一些服务。例如,为了减少其他服务提供商需要管理的节点数量,基础设施提供商可能会运行自己的虚拟网络,在其边缘路由器对之间建立虚拟链路。
在本小节中,我们将举例说明Cabo的优势,包括易于部署的端到端网络服务、运行定制路由协议的能力以及更好的可问责性。
End-to-end network services.“网络中立”辩论中的一些参与者主张分级互联网,即互联网服务提供商向边缘网络和内容提供商(如谷歌)提供“更好”的服务,后者直接向这些互联网服务提供商支付更多的钱。这种“增强的服务”是虚伪的:分层的互联网本质上不能提供更好的服务,因为没有单一的互联网服务提供商控制任何给定的端到端路径(例如,在家庭用户和谷歌之间)。在Cabo,服务提供商可以通过公开对端到端路径的控制来增加真正的价值。在Cabo,基础设施提供商可以通过运行更高效、更强健的网络来获得竞争优势,而服务提供商则通过在公共物理基础设施上运行不同的端到端服务来脱颖而出。
Customized protocols.Cabo允许服务提供商在相同的物理基础设施上构建具有显著不同特征的虚拟网络。例如,一个服务提供商可能以完全可到达性为代价来部署提供强安全保证(例如,通过使用安全路由协议和自认证地址)的虚拟网络,而另一个服务提供商提供全局可到达性和更大的匿名性(例如,通过使用具有依赖于主机当前位置的临时IP地址的传统路由协议)。类似地,一个服务提供商可以执行传统的IP路由和转发,而另一个服务提供商允许终端主机在相对较小的虚拟网络上执行源路由,该虚拟网络由跨越基础设施中多跳的虚拟链路组成。如今部署源路由非常困难,因为大多数互联网服务提供商都禁用了这一功能;在Cabo,服务提供商可以决定在其虚拟网络上提供源路由,而不必与其他互联网服务提供商协调。
Co-location for expanded network presence.在当今的互联网中,需要全球足迹的组织必须在各种不同的位置部署物理基础设施;部署在新的远程设施中的每台路由器都会产生相对较高的固定成本。如今,这些组织可以与提供虚拟专用网络(VPN)服务的ISP签约,尽管在每个位置找到一个设施齐全的ISP可能很困难。相比之下,Cabo允许该企业(或其服务提供商)在由不同地区的基础设施提供商管理的设备上实例化虚拟节点和链路,从而允许该组织运行自己的虚拟网络,而不会产生部署和管理自己的物理设备的成本。
Testing and deploying new protocols.当今的路由器软件通常在部署前在测试实验室进行评估。模拟生产网络的大型实验室配置非常昂贵,将测试局限于简单的拓扑和流量模式可能无法让操作员准确了解新软件在“野外”的运行情况。在Cabo,新的路由器软件(包括新的实验服务)可以在同一基础设施上的独立虚拟网络上进行评估;这个虚拟网络最初只能承载测试流量,或者支持愿意作为早期采用者的用户。此外,将网络从一种协议迁移到另一种协议可能会非常困难。在Cabo,可以在自己的虚拟网络中部署一个新协议,随后将数据流量从旧的虚拟网络切换到新的虚拟网络。
Protection against misconfiguration.Cabo在不同的网络组件和服务之间提供隔离,可以防止错误配置和错误。网络协议通常配置错误,容易出现实现错误。添加新服务、提供新客户或重新平衡流量都需要运营商调用某些配置命令或安装新软件;这些行为可能会导致不稳定或暂时的服务中断。Cabo允许将可能交互的服务划分到不同的虚拟网络中,从而防止与一个网络服务相关的配置错误或软件错误干扰其他网络服务。
Accountability at every layer.每一层都有责任。在当前的互联网中,单个互联网服务提供商从物理基础设施一直到应用程序管理其网络,但是该互联网服务提供商通常不具有对整个端到端路径的权限。当出现性能或安全问题时,ISP必须启动查找故障源(通常是不同的ISP)并协调诊断和修复问题的艰巨过程。这个过程本身就很困难,因为监控和缓解都需要跨一个或多个管理边界的协调。另一方面,Cabo允许每个实体对其管理的层拥有完整的端到端控制。例如,当虚拟组件的行为不符合预期时,服务提供商可以直接求助于管理设备的基础设施提供商(以及直接的业务关系)
意识到Cabo带来了许多挑战,我们正在探索我们正在进行的工作。首先,尽管Cabo允许虚拟网络运行定制协议,但我们必须证明底层设备能够以足够高的速度提供这种灵活性。近年来,主要路由器供应商已开始支持虚拟路由器,以简化网络设计、降低资本支出并降低托管障碍[9]。为了更好地支持新的协议和转发算法,Cabo还可以利用可编程路由器[7,13],它可以被多方同时使用。传统的数据包和CPU调度技术可以确保在相同基础设施上运行的虚拟网络之间的适当隔离。
我们必须探索管理多个专用虚拟网络是否比管理一个大型通用网络更简单。特别是,Cabo必须支持供应和嵌入,以便为指定虚拟拓扑、流量需求矩阵、可用性要求或这些标准的某种组合的服务提供商分配适当的虚拟网络。当物理组件出现故障时,Cabo还引入了许多管理技巧。首先,当出现故障或其他中断时,Cabo底层必须通知虚拟网络组件。其次,它必须考虑每个物理和虚拟组件的性能,以便服务提供商能够确定底层物理基础架构中虚拟网络的性能或可靠性问题的原因。这种问责方式比现在的情况更简单,在今天的情况下,许多跳远的ISP可能会中断端到端的性能,而不对流量的发送者或接收者进行任何直接问责。
在Cabo,服务提供商与一个或多个基础设施提供商协作创建虚拟网络,这应该比现在跨互联网服务提供商协作部署新协议和服务更容易。这种协调可以通过允许服务提供商请求虚拟组件的信令协议来实现;基础设施提供商可以应用准入控制和嵌入算法来满足这些请求。请求新的虚拟网络需要服务提供商与基础设施提供商进行通信。为了解决这种循环,我们相信Cabo最终会有一些提供全球可达性的虚拟网络,就像今天的互联网一样,它提供完全的连通性,尽管网络本身并不提供任何这样的保证。
今天的互联网提供了几个重构连接以创建新服务的例子。Equinix和Internap允许边缘网络在相对较短的时间范围内改变上游提供商,但这些服务只能控制通往目的地的路径上的第一个ISP相反,Cabo提供了对整个端到端路径的控制。其他系统允许主机请求具有某些属性的覆盖路径([8]),而不在转发节点中提供可编程性。内容分发网络和带宽代理还通过创建从源到目的地(或内容)的路径来扩展基本连接。Cabo通过将虚拟链接的构造作为一阶原语来提供这种功能。
Cabo必须允许许多虚拟网络在相同的物理基础设施上运行。Cabo类似于“小交换机”,它允许使用物理ATM交换机的子行为和标准化的交换机控制接口,根据一组特定的属性来构建虚拟网络[14]。这种架构依赖于交换机的公共接口设计,但不允许定制路由软件或转发引擎直接在交换机上运行。今天的第3层虚拟专用网[10]也提供类似于Cabo的虚拟化功能。然而,这些虚拟专用网并不(本身)提供资源隔离,它们不跨越多个互联网服务提供商,并且它们既不提供对物理路由器的访问,也不提供在这些路由器上运行定制路由软件的能力。
一些研究基础设施使用虚拟化来支持多个同时进行的实验。PlanetLab [2]支持网络服务器的虚拟化,但不支持完整的网络。GENI [6]和VINI [3]专注于网络虚拟化和可编程性,目标是支持实验,而不是充当架构本身。此外,Cabo必须将自己的通信引导至网络元素,而不是依赖传统互联网。
在支持可编程路由器方面,Cabo类似于主动网络。以前对主动网络的研究主要集中在移动代码问题(以及由此产生的语言和安全问题)和为最终用户提供控制方面([12)。相比之下,Cabo为服务提供商(而不是用户)提供了他们自己的虚拟网络,在虚拟节点上有一个相当通用的编程环境。事实上,服务提供商可以在Cabo的虚拟网络中运行主动网络架构。
尽管我们正集中精力解决与Cabo的技术问题,但我们认识到,Cabo要求对互联网的运行进行根本性的改变,这可能会阻碍部署。例如,基础设施提供商必须向服务提供商提供对其基础设施的访问。我们注意到,Cabo并不阻止单一实体同时充当基础设施提供商和服务提供商,Cabo甚至可以为单一互联网服务提供商提供好处。如今,有限的合作已经与激励措施相兼容,例如通过在其他互联网服务提供商租赁虚拟路由器来建立地理足迹。
在寻找单一的“正确的”未来互联网架构时,Cabo提出,正确的未来网络架构不是由寻址、路由和转发范例的集合组成的最终状态,而是允许这些功能随着通信网络需求的变化而发展的平台。事实上,知识产权的设计者着眼于通用性,认识到他们无法预测什么样的网络应用程序最终会在网络上运行。通信技术的持续快速发展和预测未来需求的巨大困难表明,体系结构本身应该足够通用,能够支持我们今天无法想象的网络协议、服务和体系结构。