第1章 绪论
1.1 覆盖网络产生的背景
1.1.1 互联网的设计缺陷
互联网的普及和发展改变了人们的生活和生产方式。随着宽带、无线、移动通信等通信技术的发展,互联网应用类型和应用领域进一步拓展,网络规模和用户数量呈膨胀趋势。根据《2016中国互联网发展状况最新统计报告》,截至2015年12月,中国网民规模达6.88亿,互联网普及率为50.3%;预计2020年网民规模将达到11亿,互联网普及率将达到85%。互联网规模和用户数量持续增加的同时,互联网应用更加丰富,逐渐被应用到金融、商贸、公共服务、社会管理、新闻出版、广播影视等经济社会生活的各个领域,为经济、政治和社会文化等方面都带来了极大的变化,也直接影响了整个社会的信息化过程。此外,互联网应用形式层出不穷:社交网络(Facebook和新浪微博)、搜索引擎(Google和百度)、电商平台(阿里巴巴和京东商城);新型应用不断涌现,如物联网、云计算、大数据分析等。2015年3月,在第十二届全国人民代表大会第三次会议上,李克强总理提出了“互联网+”行动计划,这更为国内互联网行业注入新的发展动力。
随着互联网规模及应用的增加,原先主要面向科学研究设计的TCP/IP体系架构已经难以满足社会经济发展的需求,暴露出各种各样的弊端,无论服务质量、路由故障恢复、可扩展性和可管理性,还是商业模式都存在问题,严重影响了互联网的进一步发展,具体表现如下。
1.服务质量难以保障
互联网服务质量(Quality of Service, QoS)问题由来已久,新型应用对QoS(如时延、带宽的要求)的要求越来越高,这与互联网采用“端到端”的层次化体系结构设计思想存在一定的矛盾。现有互联网从功能上划分为通信子网和资源子网。通信子网采用无连接的数据传输方式,提供“尽力而为”的服务。资源子网(即端系统本身)对服务质量的影响较大。这导致在传输过程中,端系统无法对传输节点进行合理的管控,服务质量难以保障。虽然在IP层设计了IntServ(Integrated Services)[1]、DiffSev(Different Services)[2]和MPLS(Multiple Protocols Label Switching)[3]机制,但这需要传输路径上的大量网络元素(如路由器)协同配合,不仅需要通信子网的节点支持这一服务,同时增加了互联网的复杂性,影响了传输的效率。
2.路由优化与故障恢复效率低下
现有互联网体系结构采用“漏斗”模型,通过IP协议将业务与承载分离,达到快速传输数据的能力。然而,根据OSPF和BGP协议原理,当物理链路出现故障时,OSPF和BGP需要重新计算路由,由于其收敛速度慢,导致故障链路恢复时间长,需要花几十秒,甚至数分钟时间[4][5]。在此期间,可能存在数据包的丢失问题[6]。另一方面,由于各ISP之间的商业化运营,AS(Autonomous System)间的路由协议BGP的路由策略在很大程度上反映了ISP之间的商业利益关系,AS间数据包的传输并非完全遵循最短路径协议[7],这使得路由优化变得复杂。
3.可扩展性差
这里的可扩展性指的是互联网传送能力的可扩展性和路由器容量的可扩展性。随着网络规模的不断增加和域间路由的日益复杂,互联网主干部分BGP路由表急剧膨胀,这增加了路由计算和维护的代价。虽然IPv6以128位的地址空间弥补IPv4空间不足的问题,但IPv6仍采用现行的路由机制,路由表极度膨胀导致路由更新代价大幅增加的问题严重影响互联网的可扩展性。另一方面,虽然无类域间路由CIDR和网络地址转换NAT技术的使用扩展了网络地址空间,但这些措施导致子网数目增多以及带宽资源利用率不平衡等问题,造成路由过于集中,并进一步引发网络拥塞,使得数据传输效率下降。
1.1.2 下一代互联网设计思路
针对上述问题,目前对互联网的改进主要有“改良式”“革命式”和“整合式”三种思路。
1.“改良式”思路
“改良式”即演进式(Incremental)思想,其特点可以形象地比喻成“打补丁”,具体来说是针对IP在路由效率、QoS保障、移动性支持、地址空间等方面存在的问题,分别进行优化改进。主要研究计划包括美国的NGI、Internet2,欧盟的Ambient和GTRN,日本的APAN,中国的CNGI等。总的来说,演进式方案通过“打补丁”的方法,对现有互联网体系结构以及网络运行体制进行相应的修改与增补,如图1-1所示。例如,为高效路由而设计的多协议标签交换协议(Multi-Protocol Label Switching, MPLS),为IP地址不足而设计的IPv6,为解决用户移动性而提出的Mobile IP,为解决QoS问题设计的DiffServ和RSVP,为安全性设计的IPSec等。上述方法都是对现有的IP协议进行相应的修补与增改,属于烟囱式、拼盘式设计和改进,既进一步加剧了网络本身的复杂性,也使得网络的全局优化更加艰难,不足以支持互联网的进一步发展,没有改变互联网的协议、组网结构缺乏反馈和自适应的本质。虽然十多年前IPv6被选择作为下一代互联网(NGI)协议,但目前的IPv6继续沿用了IPv4的体系架构,难以给互联网的发展带来革命性的影响。因此,这种演进式和向后兼容的设计理念只能对TCP/IP进行“头痛医头、脚痛医脚”的局部优化,难以在互联网上得到全面有效的利用,更无法从根本上解决互联网面临的问题,且增加了IP层的复杂性,违背TCP/IP协议设计初衷。
图1-1 演进式“改良”路线
2.“革命式”思路
“革命式”思想,即“从零开始”(Clean-Slate)[8]研究并设计下一代互联网,也称为“后IP时代”互联网。该路线就是要彻底摒弃原有TCP/IP的束缚,采取推倒重来的方法重新设计未来互联网。通过对体系架构及相关网络运行、管理机制的重新设计,把互联网打造为集“计算”“通信”以及“存储”为一体的未来信息服务平台,彻底解决可扩展性、安全性等问题。摆脱传统设计理念的束缚,以跨学科的思想及科学研究与工程创新相结合的方法开展下一代互联网(即未来互联网,Future Internet)的研究,可以满足社会经济等多维度的需求,构建全新的具有强鲁棒性、高自适应性、支持移动性、安全和可控可管的下一代互联网体系,推动互联网经济的健康可持续发展。
对于“革命式”路线的研究,国外已启动多个项目,主要包括美国的全球网络创新环境(Global Environment for Network Innovations, GENI)、未来互联网设计(Future Internet Design, FIND)、未来互联网科学基础(Scientific Foundations for Internet's Next Generation, SING)等;欧盟的未来互联网研究与试验(Future Internet Research and Experimentation, FIRE);日本的未来网络架构设计(Architecture Design Project for New Generation Network, ADPNGN)。
在这方面,我国政府及相关科研机构也进行了大量研究,并得到了相关政策和资金的支持,如国家自然科学基金、国家重点基础研究发展(“973”)计划、国家高技术研究发展(“863”)计划、国家科技支撑计划、中国下一代互联网(CNGI)项目等。近年来,“973”计划支持的有关未来网络体系结构的项目有一体化可信网络与普适服务体系基础研究(2007CB307100)、可测可控可管的IP网络的基础研究(2007CB310700)、新一代互联网体系结构和协议基础研究(2009CB320500)、面向服务的未来互联网体系结构与机制研究(2012CB315800)、可重构信息通信基础网络体系研究(2012CB315900)、智慧协同网络理论基础研究(2013CB329100)等。其中,由中国工程院刘韵洁院士担任首席科学家的“面向服务的未来互联网体系结构与机制研究”项目,提出全新的面向服务的未来互联网体系结构SOFIA,以服务标识为核心进行路由,是一种支持“革命式”思路的未来互联网体系结构;由北京交通大学张宏科教授负责的“智慧协同网络理论基础研究”创建了全新的智慧协同网络“三层、两域”体系架构的理论与机制,研究解决资源的动态适配、智慧映射机理和网络复杂行为的博弈决策理论等科学问题。
经过多年的研究,“革命式”研究已取得了一些研究成果,其中最具有代表性的是施乐公司的帕洛阿托研究中心(PARC)的Van Jacobson等人提出的内容中心网络CCN(Content Centric Networking)以及由美国GENI项目资助的斯坦福大学Clean Slate研究组[8]提出的软件定义网络SDN(Software Defined Network)[9][10]。
CCN来源于2010年美国NSF资助的4个未来互联网体系结构(Future Internet Architecture, FIA)研究项目[11]之一的“命名数据网络”(Named Data Networking, NDN)[12]。CCN也属于信息中心网络(Information Centric Networking, ICN)范畴[13][14],即以内容为中心,而不是以传统互联网的IP为中心,如图1-2所示。CCN保持沙漏模型,通过对内容进行命名标识,以命名标识识别内容,取代传统互联网以IP地址识别主机的方式。CCN网络弱化位置信息,用户请求的内容与位置无关,采用名字路由,通过路由器来缓存内容,从而使数据传输更快,并能提高内容的检索效率。
图1-2 内容中心网络(CCN)模型
SDN的设计理念是将网络的控制平面与数据转发平面进行分离,并实现可编程化控制。SDN的典型架构共分三层,如图1-3所示,最上层为应用层,包括各种不同的业务和应用;中间为控制层,属于控制平面,主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最底层为基础设施层,属于数据平面,负责基于流表的数据处理、转发和状态收集。其中控制平面与数据平面之间的接口,称为控制数据平面接口,即南向接口,主要功能是流表的下发以及拓扑数据收集等,其核心技术是OpenFlow[15][16]。而应用层与控制层之间的接口服务于用户,是北向接口,目前没有统一的标准。
图1-3 软件定义网络体系架构
现有网络中,用于决策和管理的控制平面与负责数据转发的数据平面紧耦合在每个网络设备中(如路由器、交换机)。而在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责控制的操作系统将提炼为独立的网络操作系统,负责对不同业务特性进行适配。网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。总结起来,SDN本质上具有“控制和转发分离”“资源的集中管理与控制”和“通用硬件及软件可编程”三大特点。
虽然“革命式”思想超前,提出了对互联网现有的体系结构进行重新设计,但是,由于现在基于IP互联网的广泛部署,采用“革命式”的方案对互联网进行彻底革新还需要一个漫长的过程。
3.“整合式”思路
“整合式”思路是一种介于“改良式”和“革命式”之间的折中方案,即对于现有互联网需要迫切解决的各种问题,寻求一个系统性、大范围、整体性的修补。“整合式”线路采用覆盖网改造现有互联网。覆盖网也称为层叠网,或叠加网络,其本意是指建立在另一个网络上的网络。在互联网领域,覆盖网是指叠加在互联网IP层之上,应用层之下增加一个“中间层”,为上层业务和应用提供针对性的服务,如图1-4所示。覆盖网络不需要大规模改变现有网络架构就能提供更为可靠、容错性更好的服务;也不抵制用户的创新,只对已有的应用和业务进行适当管理和控制,是对现有互联网体系架构的“系统性”修补。使用覆盖网络技术,即使网络层出错误,如链路断裂或拥塞,应用系统也可以凭借覆盖网络快速找到替代路由,并且可以根据应用服务对QoS的不同要求寻找相应的最优路径。
图1-4 覆盖网络体系结构