未来网络的愿景及挑战
未来网络如同水、空气一样,以“无形态”形式为全人类信息消费提供全天候的保驾护航。对最终用户而言,你可能无须感知网络在哪里,无须了解网络如何提供服务,而网络将始终如一、安全便捷地为你提供信息服务。未来网络将是一个应用驱动的网络(Application Driven Network, ADN),它具备三个关键特征:泛在化、多使命和智能化。
未来网络的愿景
●泛在化(ubiquitous):互联网已经从原来的虚拟世界渗透到物理世界,使我们的生活变得越来越便利。在可见的未来,为你提供无处不在的视频安防服务;为家里的老人和小孩提供无处不在的看护能力;每一个机器的运行情况和接收指令的情况你都知晓;可实时了解当前牲畜、土地的状况,从而进行精准的农业管理。未来网络如同生物神经将无处不在,成为人类数字化社会的基石。
●多使命(multi mission):未来的信息服务将是一个承载多种业务目标的信息服务系统[1]。对于智慧家庭而言,服务的对象主要是人,用基本的信息服务来满足人的体验;对于智慧城市,信息的服务主体由人过渡到机器,信息服务需要解决人与机器高效沟通的问题,核心问题是如何满足机器对于信息的处理需求;对于智能交通和未来工厂,信息服务的主要目标是需要满足机器的工业自动化和智能化处理的需求,对于信息服务的要求更倾向于确定性和更高的可靠性,最终满足机器的高速和高效运转的要求。在信息服务中,不同的应用就像不同的数字化的物种,将会有不同的信息服务来与之适应,这将是数字化时代网络连接的必然选择。
●智能化(intelligent):现在的网络和未来的网络在智能化和自动化方面相比,就如同20世纪90年代IBM的深蓝和21世纪Google的AlphaGo Zero[2],前者下的每一步棋是在已知棋谱的各种选项中选择一个最佳走法,而后者则可以由机器自己进行棋谱学习生成新的最佳走法。智能化、自动化的未来网络,将在效率或成本方面完全胜任全数字化信息社会对网络的需求。
未来网络的挑战
泛在化网络的扩展性带来的挑战
随着移动互联网的崛起,数十亿计的终端已经接入到了互联网,在未来更是有数千亿、数万亿级的“物”接入到网络。100~1000倍网络规模的扩大将带来前所未有的挑战。
维护管理:传统的TCP/IP网络架构中,网络管理是缺失的一个环节。网络设计的核心理念是网络依靠端的能力来进行网络状态的发现和适应。随着网络规模的急剧扩大,以前代价很小的人工操作,在未来也将难以承受;另一方面,网络中由于维护所导致的问题也将成为网络的一个新常态,甚至会对正常的网络业务产生重大影响,网络需要构筑一个新的平面来收集网络状态信息,以支撑下一代的维护与管理。
网络的效率:由于新的物联网业务不断涌现,而且新业务的服务对象不再是人,机器用户将会取代人成为最大的用户群。由于用户基数的增大,不同用户的流量模型将有很大的差异,单个用户的效率差异将会被放大和累计到全网,如何设计一个新的网络复用协议将成为新的物联网时代的重大挑战。
安全性:由于海量的终端分布在全球各地,网络对于终端的异常行为难以监控和管理,历史上已经出现了大量终端对于网络服务的拒绝服务攻击(DDoS),而在未来这样的行为可能会成为常态,给网络的安全带来全新的挑战。
多使命应用的差异化服务需求带来的挑战
未来的全数字化信息消费将呈现出多种应用并存于同一网络的现象,各类应用对网络资源的需求差异巨大,传统“资源效率优先”的建网思路已经成为满足多样化用户体验要求的障碍,而这种“一刀切”的理念,导致服务成本上升[3]。
未来网络要求各类资源面向应用虚拟化,即针对不同应用提供差异化的服务能力,进行“用户自主选择差异化服务”。以“为应用建网”的理念来构建“应用效率优先”的未来网络,本质思想是“订制化服务”,从设计原则上看将是一个重大变革。
网络智能化带来的挑战
随着网络规模的不断扩大,网络的服务质量(QoS)劣化和故障类问题将会成为网络的常态,而且发生的频率会逐年增加。采用人工智能技术对网络进行自动化管理和维护将是一个必然的趋势。目前,网络智能化存在几个核心问题:(1)网络虽然提供数字化信息服务,但是网络基础设施本身还未进行全数字化改造,许多网络数据仍是二进制的数据,语义信息由各个厂商自行定义,很难直接部署智能化技术,未来的网络需要进行重新设计。(2)现有的网络很多信息出现缺失,比如网络状态信息,这同样需要对未来网络进行重新设计[4]。这些问题对未来网络智能化方面又会带来三个挑战。
1.网络状态的感知:由于网络设计秉承分布式系统无状态的设计理念,应用无法感知到网络的变化,网络服务的保证主要靠主机来完成;在软件定义网络(SDN)化以后,网络依旧是一个开环控制系统,应用无法感知网络状态的变化。
2.应用意图的感知:现有网络缺乏应用意图的识别,只有具备了应用意图的识别,才能调动相应的资源,满足应用的需要。
3.自驱动:网络无须人工干预和人工维护。
未来网络在运营和运维上要体现出网络自管理、自优化和自动化控制的特征,以适配多样性应用和差异化服务的动态需求,这要求网络具备一系列的快速响应能力,包括实时感知网络状态的变化和应用行为的变化。这种快速响应能力需要构筑在精准掌握网络运行和应用特征实时大数据的基础上,而传统网络基于采样或周期性的性能统计根本无法满足网络自管理和自优化的要求;此外,网络还需要支持实时资源调度能力以实现自动化的应用体验保障,而当前网络的资源调度变更需要经过评估、规划和配置等长周期的人工干预,无法满足自动化网络控制的要求。
ADN架构及其核心功能
综合考虑未来网络在泛在化、多目标和智能化的需求上面临的挑战,我们提出应用体验优先的自学习网络,这也是应用驱动网络的具体实现手段。
ADN架构设计原则
大计算机抽象
信息在网络中的行为可以被抽象为一个典型的计算机信息处理过程。传统的网络设计采用“自顶向下”的过程。网络的核心使命最初是为了实现各种应用要求的信息“传递”。一代又一代的网络设计者按照自己的要求不断增加新的功能,按照“自底向上”方法来进行网络的优化,使得网络不断地演进与发展,同时也导致网络成为一个个烟囱,一个个的叠加网络。而对于网络开发者而言,如果需要增加新的功能,需要了解网络的底层细节,增加设计的难度和业务部署的周期;对于业务管理者而言,网络很难维护与管理。如果把网络看成一个大计算机,自顶向下进行网络架构的设计,无疑是一个良性发展过程。
随着网络设备和终端用户越来越多,网络业务的灵活性成为发展的瓶颈,为应对这一矛盾,Openflow和SDN被提出。SDN对网络的基本抽象本质上是一个大交换机模型[6]。同时,网络的安全能力和信息处理能力的需求也日益加剧。上述这些能力已经逾越了最原始的信息“连接”的定义。此外,为了降低内容的高频峰值访问对网络造成的冲击,提高用户的业务体验,内容分发网络(Content Delivery Network, CDN)在互联网上被大量部署,这在本质上是将网络抽象为一个大缓存[7]。
大量信息在网络中被连接、计算、存储,而且计算和存储的比重越来越大,整个网络系统已经成为了一个大计算机。我们需要应用自顶向下的方法来对网络进行重新抽象和整体设计。
从用户角度看,大计算机的抽象在设计原则上要求用户无须了解网络操作的细节;从设备角度看,网络包含存储、信息处理,是信息服务的一个整体。具体的设计原则主要有(1)多目标系统;(2)统一底层抽象,对应用屏蔽底层的细节;(3)业务可灵活隔离与复用。
按需控制
网络是一个大规模的分布式系统,并为数以万计的应用服务。由于系统的规模太大,为每一个应用考虑所有情况并进行逻辑的集中控制,复杂度太高,不可行。而让所有的应用基于分布式行为进行全分布式控制,实践证明效率非常低下。能否设计一种控制架构,高效地实现业务的按需控制?
对于需要实时响应的任务,系统可采用本地控制的方式,对于非实时控制的任务则采用集中控制的原则。网络的控制也可以按照这个原则来进行:(1)系统统筹资源,业务功能按照应用进行重构;(2)按照应用需要简化管理;(3)按照应用需要分层控制。
自学习
为了满足多样化的应用业务目标,同时保持在大规模系统中简化管理和维护的成本,网络需要具备自学习的能力。网络自学习是一种数据驱动的设计理念,无须人工设计网络路由算法和协议,网络会进行自动化、智能化的控制。网络的自学习能力分为几个层面:
1. 应用意图感知。应用可以通过显式或者隐式的方式,告诉网络需要达到的能力。不管利用哪一种方式,网络需要了解应用的意图,并把应用的意图翻译为网络的业务效用和满足该效用下的网络配置。
2. 网络状态感知。应用需要根据网络的状态来按需控制和调整网络配置,以满足应用目标。因此网络状态的感知是一个必不可少的环节。考虑到网络规模非常大,需要系统设计网络状态感知的架构,减少系统感知带来的开销。
3. 系统闭环控制。根据网络状态的反馈来推断应用的质量变化情况与应用意图的差距,不断地进行闭环系统调节,以增强学习的方式来调整网络的配置,最终满足业务的意图。
4. 终身学习。在线学习对于网络的实时性要求比较高,而且容易陷入局部最优。需要考虑离线学习的方式来总结历史经验,综合在线学习的情况来进行网络状态的调节,从而使得系统达到最优的应用效率。
ADN总体架构
ADN提供面向应用的网络可编程、按需控制和自学习能力,允许在人/机器各类信息消费场景下进行业务体验的多维定制,以达到面向应用效率的优化等。ADN架构的核心功能包括应用驱动子系统、控制子系统、可编程数据面、网络测量子系统和应用驱动的端侧子系统,见图1。
图1 ADN整体架构
应用驱动子系统:应用意图到网络需求的映射
应用驱动子系统是ADN架构智能化和自动化的使能模块,提供各类应用和应用意图对网络资源需求的关系映射,使网络各类资源可以真正地面向应用体验保障进行实时、动态调度。应用驱动子系统依据网络中各类应用的静态特征数据和动态流量数据进行大数据分析和建模,可建立起一系列应用模型,包含分门别类的应用特征,对网络的带宽、时延、存储和计算功能等需求信息。当一个已知应用的新流出现在网络中时,应用驱动子系统将实时指导各类控制器进行资源调度,以实现对该应用的按需体验保障。
多层控制子系统:不同反馈链、决策链的混合式控制系统
如何结合分布式控制的扩展性、实时性和集中控制的高效能力,是AND控制子系统需要解决的重要问题。
ADN按应用的组合分配虚拟的网络分片资源,将基于分片的资源调度与分片内的流量调度分离管理和控制,并按需要实现分片的创建与回收。在每个分片内采用分布式控制,对分片之间的资源进行整体划分和在路径规划上采用集中控制的方法,同时分片之间的资源调度受应用驱动而动态变化,以达到应用效率最优。我们把随应用变化的网络分片控制和分片资源调整称为慢控制,把分片内进行最优化应用性能的控制称为快控制,而快/慢控制的协调运作可以从人的神经系统得到启示,ADN期望做到慢控制与快控制的高度协调统一。不同分片资源间的隔离与可衡量的灵活资源分配具有潜在的商业价值,其可以广泛应用于多租户环境、多应用环境,以及多网络共用同一物理基础设施等环境。
自学习子系统:自我驱动的闭环控制
区别于传统的网络,ADN不需要提前设计网络的各种路由协议算法和控制算法,它通过应用和网络状态的感知,可自动获得应用的意图,同时,通过网络感知获得网络的动态信息,网络大脑根据网络动态信息进行分析推理获得当前网络状态。它还可预测网络下一步行为,提前调度网络资源满足应用的极致体验。见图2。
图2 自学习子系统
可编程数据平面:提供灵活、按需的网络服务
ADN数据平面为动态可配置和可编程的服务定制数据平面,可通过在数据平面配置不同的网络功能来提供差异化的网络服务。在数据平面中,除了传统的流转发表,还定义了一个业务表。业务表是一个业务描述符与转发策略的关系表。通过这个业务表可以实现业务感知和简化业务的处理。
网络测量子系统:全局网络运行和资源使用情况的监测
ADN将测量、分析、决策与控制等认知网络的概念引入到网络的顶层架构设计中,实现了可服务于多种网络管理与运营维护的自动控制循环。
在网络测量中,核心问题是解决测量成本与准确性的矛盾。ADN提出了一个网络测量系统架构,该架构将网络的各种测量行为归纳为一些基本原语,从而可以将服务于各种测量目的的算法进行抽象,为测量应用提供了一个统一的编程模型,见图3。通过此测量原语可以屏蔽不同硬件的差异,为网络状态的感知和智能化奠定一个最根本的基础。网络管理员和开发人员可以基于该抽象模型,方便地进行网络算法的设计、开发与部署。
图3 网络测量子系统
ADN的典型案例
网络配置与网络验证
随着网络规模和复杂度的提升,网络的快速配置变得越来越重要,它也是网络按需服务的一个基础,是网络的一个基本能力。文献[10]设计了一个网络协议,通过在报文中携带配置信息,由路由器和交换机直接解析报文的方式,实现了网络的快速配置和业务的按需开通。
网络配置的验证是大规模网络的另一个核心挑战。错误的网络配置可以引起一系列网络问题,随着网络规模增大,网络配置错误引起的故障比例逐年上升。为了解决网络配置错误的问题,现有的配置验证方法或直接分析配置文件,或在数据包中插入额外的字段来标记经过的路径,或直接注入探测包来检测转发规则的正确性。然而,此类方法往往只能解决单一或有限的问题,同时产生很大的管理开销或者引入额外的流量开销。
在ADN网络的配置中,除了传统网络的功能正确性外,还需要考虑性能约束。ADN的网络测量子系统提供了比特级、报文级和流级等不同粒度的采样能力。通过高度抽象的高级语言查询接口,测量子系统将对网络配置的功能、性能验证需求编译到不同平面,形成具体的网络测量要求,如需要采集信息的设备和采集的粒度等。在网络验证中,测量子系统通过对特定流的报文在特定设备上出现的时间信息进行汇总,可以得到该流在网络中的实际路径以及报文级别的延迟信息,进而完成功能和性能上的验证。如报文出现在非期望的网络设备上,则可以判定网络配置出现错误。由此可见,ADN的网络测量功能大大简化了网络验证所需的工作,同时也是ADN能力的一个重要保证。
网络自动分片
ADN支持网络根据应用的使用需求而变化,可实现自动化的流量特征感知,并基于这种感知自主地进行网络分片与资源分配,如图4所示。网络自动分片是ADN应用的一个典型案例,ADN系统可以基于测量子系统中的智能测量、位于自学习子系统中的智能决策程序和多层控制子系统来支持大量的此类实例同时运行。通过利用云计算和大数据技术,辅以应用驱动的新型商业模型创新,ADN将助力未来网络走向高度智能化与自动化。
图4 ADN实现网络面向多类应用的自动分片
ADN测量子系统根据测量分类模型定制的元数据,从网络中获得所需的结构化流量数据。应用驱动子系统根据业务流的元数据信息实现对业务流特征的分析和提取,并输出网络分类策略和分类标准;ADN自学习子系统根据业务流特征以及所获取的测量网络状态信息,将应用对网络的需求映射为对应的网络资源与服务质量。
控制子系统根据业务支持系统/运营支持系统(OSS/BSS)中的管理/商业策略和应用驱动子系统的输出,输出网络分片决定,同时实现不同应用的个性化服务。
ADN控制层采用层次控制架构,包括全局控制器和局部网络的控制器。全局控制器相当于网络的大脑,执行资源的高层分片控制功能,根据应用驱动子系统输出的业务种类、QoS以及商业策略,完成分片决策,并进行网络资源权重的计算;指示每一个资源节点的策略,包括网络中的资源节点与网络分片的映射关系,以及每个资源节点的对应资源占节点资源的权重,再将这些资源节点的策略下发到对应的物理节点。
网络分片决策信息包括分片数量和分片对应的网络带宽权重、计算资源和存储资源的权重,以及网络业务流分类到分片的映射关系。ADN会对网络分片资源构建网络级的模型化度量,基于这种度量,网络分片的权重将被表示为网络分片的资源所占据的网络资源的比率,这为管理者提供了网络级的资源统一管理与控制能力;同时,利用流式处理技术,网络分片分析模块持续对网络进行流量测量与建模,动态建立与修正网络流量模型、分类策略和分类标准,实现缤纷复杂、层出不穷的应用对网络需求的变化与网络资源的动态映射。
基于分片决策信息中的应用需求和应用意图,全局控制器给出分片的最优路由策略,从而决定分片网络的虚拟拓扑。
由于网络的分布式特性,需要网络对该目标进行快速的跟踪与反馈。通过测量子系统和分域控制器的反馈,全局控制器能够获得网络的大尺度慢变信息,例如拓扑结构、链路带宽,并根据新的信息计算与应用的需求差别,进行闭环控制,如此往复进行下去。全局控制器将网络分片拓扑和虚拟链路资源下发到局域网络控制器,局域网络控制器获得总控制器分配的片内资源后,通过对片内网络状态的感知,在基于流的粒度上实现流在片内的精细调度和控制。通过这种局部最优控制,局域网络控制器可将片内网络资源利用率维持在较高的水平,同时也保证了片内网络不拥塞。这种快/慢控制协调工作的机制,使得网络能够在精细的粒度下处理大规模的业务流,从而实现网络资源的优化配置,同时满足不同流的业务需求。在文献[8]中,我们利用此方法,在保证不同业务质量的同时取得了比较高的业务效率。
基于自学习的业务意图保证
在工业互联(Industry 4.0)中,很多应用需要网络有严格的服务质量保证,并要求尽可能地简化网络操作处理。差异化的服务质量保证能力是ADN网络的基本功能之一。
在ADN网络中,不同的应用通过应用驱动子系统获得网络服务质量目标。用户意图中对于网络服务体验的学习可以通过离线的深度学习来实现。通过离线采集和标注数据,提取网络核心特征,并获得人的模糊表达与服务质量的对应关系。主要的挑战是数据的多样性。
网络利用自学习输出的控制算法和控制参数,可以实时对网络进行控制,大幅度地减少人工对于网络的干预,从而显著降低网络的维护成本与开销。同时,通过面向应用需求的网络智能动态调整,可持续不断地满足业务的意图和服务体验,使得ADN最终成为一个体验优先的智能网络。
总结与展望
ADN架构是在“为应用建网”的理念指导下,通过应用驱动子系统、多层控制子系统、可编程数据平面、网络测量子系统以及自学习子系统之间的功能协同,提供面向应用的网络重构、资源调度和分层控制能力的新型网络架构。ADN架构允许进一步在人/机器的各类信息消费场景下进行业务体验的多维定制,以达到面向应用效率的优化。ADN必将进一步促进物理网络的智能化、自动化和开放,致力于构建一个为应用服务的自动化目标网络,并促进网络运营商的商业模式创新。
参考文献
[1] Eltoweissy M Y, Du H C, Gerla M, et al. Mission Critical Networking[J]. IEEE Journal on Selected Areas in Communications, 2010, 28(5):625-629.
[2] Silver D, Schrittwieser J, Simonyan K, et al. Mastering the game of Go without human knowledge[J]. Nature, 2017, 550(7676):354-359.
[3] Ammar M H.The Service-Infrastructure Cycle, Ossification, and the Fragmentation of the Internet[OL].(2017-12-12). arXiv:1712.04379v1.
[4] Clark D D, Partridge C, Ramming J C, et al. A knowledge plane for the internet[C]//Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications(SIGCOMM 03’). ACM Press, 2003:3-10.
[5] Clark D D. The design philosophy of the DARPA Internet Protocols[J]. SIGCOMM Computing Communication Rev.1995, 25(1):102-111.
[6] Kang N, Liu Z, Rexford J, et al. Optimizing the “One Big Switch” Abstraction in Software-Defined Networks[C]//Proceedings of the ninth ACM conference on Emerging networking experiments and technologies. ACM Press, 2013:13-24.
[7] Ramadan E, Narayanan A, Zhang Z L, et al. BIG Cache Abstraction for Cache Networks[C]//Proceedings of the International Conference on Distributed Computing Systems. IEEE CS Press, 2017:742-752.
[8] Tian C, Munir A, Liu A X, et al. Multi-tenant multi-objective bandwidth allocation in datacenters using stacked congestion control[C]//Proceedings of the IEEE Conference on Computer Communications. IEEE CS Press, 2017:1-9.
[9] Huang Q, Jin X, Lee P P C, et al. SketchVisor: Robust Network Measurement for Software Packet Processing[C]//Proceedings of SIGCOMM 2017 Conference. ACM Press, 2017.
[10] Wang Y, Lin D, Li C, et al. Application Driven Network: providing On-Demand Services for Applications[C]//Proceedings of the 2016 ACM SIGCOMM Conference. ACM Press, 2016:617-618.