算力网络可编程服务路由策略的分析与探讨
2022-10-27易昕昕马贺荣曹畅唐雄燕
易昕昕,马贺荣,曹畅,唐雄燕
1.中国联合网络通信有限公司研究院,北京 100048
2.山东港口烟台港股份有限公司矿石码头分公司,信息网络中心,山东 烟台 264000
引言
随着各行各业智能化程度的不断提升,产业数字化、数字产业化已逐渐走向深入,这背后是算力的不断提升在提供保障。同时,在5G、AI、云计算和大数据等新技术的催化下,产生了海量数据交易、AI 模型训练等新场景需求,这也将催生更加丰富和复杂的信息数据。为了应对数字经济发展的这些变化,算力网络应运而生[1-2]。
算力网络是指在计算能力不断泛在化发展的基础上,通过网络手段将计算、存储等基础资源在云-边-端之间进行有效调配的方式,以此提升业务服务质量和用户的服务体验。算力网络基于无处不在的网络连接,将动态分布的计算与存储资源互联,通过网络、存储、算力等多维度资源的统一协同调度,使海量的应用能够按需、实时调用泛在分布的计算资源,实现连接和算力在网络的全局优化,提供一致的用户体验[3-4]。
1 算力网络可编程服务
SDN 技术最初核心思想是基于Openflow 的转发与控制分离,随着技术不断演进,业界也在扩展SDN 的内涵。目前,Openflow 虽然仍是转控分离的核心所在,但已不再是必备条件,因此,网络可编程能力慢慢地成为衡量SDN 架构的重要标准之一[5]。算力网络的最终目标是为了使算力成为像水、电一样,可“一点接入,即取即用”的社会级服务[6],从网络的角度来说,提供灵活、按需、实时的一体化协同编排调度能力是必不可少的[7]。
随着算力网络的不断发展,基于多级异构算力资源的分布情况,网络需要引入网络编程的能力,来实现服务的一体化编排与调度,为用户提供一致性的云网融合服务[8]。网络编程的概念源于计算机编程,将网络功能指令化,即将业务需求翻译成有序的指令列表,由沿途的网络节点去执行,可在任何时间重新编排任意数据包的传输路径,提高网络的灵活性,实现网络可编程。
算力网络的可编程服务是基于算力服务度量、算力服务标识等算力一体化的能力,再结合算力的计算类型、服务类型、资源占用情况等因素,来实现算力服务选择、网络路由等网络层面的可编程、可控制能力,以此面向用户提供最优的业务服务。算力网络可编程服务关键在于选择哪个算力服务、如何到达该服务,以及这两者如何协同计算实现最优。本文将基于算力网络基本架构详解可编程服务路由策略的几种实现机制,详细分析各自特点及适用场景,并探讨在未来算力网络的持续发展中应重点考虑哪些技术问题。
2 可编程服务路由策略
业界对于算力网络架构设计基本一致,中国联通基于CUBE-Net3.0 网络顶层架构,将算力网络架构设计为服务提供层、网络控制层、算力管理层、服务编排层,以及算力资源和网络转发层[9],中国移动的算力网络体系架构分为算网运营、算网大脑、算网底座三层[10],中国电信则提出服务提供层、管理编排层、网络控制层、资源层的架构分层方案[11]。在这些架构设计中,一般将算网一体管控、算网一体编排等智能化能力作为编排管控层面,计算资源、网络设备等基础设施作为算网基础设施层。
本文秉持这一架构设计理念,在分析算力网络可编程服务体系时也遵循这一架构思想,从编排管控层与算网基础设施层的角色分工来阐述算力网络可编程服务在路由策略方面的几种实现机制。算力网络可编程服务路由策略关键内容包括算力信息通告、算力服务选择及算力路由决策三个部分。
(1)算力信息通告。算力信息通告是指将网络中算力节点的相关信息和状态等进行扩散与同步,使得相应的网元或者管控系统能够感知算力节点。在传统网络场景中,信息通告的内容是网络信息,方式是通过BGP 等协议进行发布,在算力网络场景中,算力信息通告的具体实现方式还没有完全统一且标准化的路线。
(2)算力服务选择。算力服务选择是在传统网络引入算力服务概念后,在算力网络路由策略实现机制中最为关键、最为核心的部分,其目的是综合考虑算力服务状态、网络状态及用户需求等多因素,选择由哪个具体的算力资源来为用户提供最终服务。算力服务选择需要基于算力信息通告,在获知了网络中算力节点的信息及状态后才能进行相应的算力服务选择。
(3)算力路由决策。算力路由决策是指在明确了目的地址后流量转发路径的计算,在传统网络场景中基于SDN 控制器进行网络路径计算来实现业务意图驱动,构建网络可编程服务能力。在算力网络场景中,算力路由决策和上述算力服务选择是有机结合的。
结合算力网络的基本架构,算力网络可编程服务路由策略的设计方案可以根据上述内容来进行技术路线划分。比如算力信息通告是分布式协议扩展还是北向接口集中上报,以及算力服务选择和算力路由决策是在集中管控层完成还是交由网元设备完成,或是集中管控层和网元设备协同完成。本文将从这一角度给出三种实现机制示例,从实现流程、特点及适用场景等方面进行详细分析与探讨。
2.1 集中式路由策略
算力网络可编程服务路由策略集中式方式由集中编排管控层实现智能决策能力,网络中的算力节点信息上报给编排管控层,由编排管控层完成算力服务选择及算力路由决策。集中式实现方式中编排管控层除了集中的路由控制外,还应包括算力度量、算力感知、服务标识等算力服务管理能力[12-13]。算网基础设施层的网元设备、算力服务资源则只需根据编排管控层的决策执行流量转发行为。
集中式可编程服务方式在具体应用时又可以基于场景分为三种方式:
(1)整个网络域由一套统一的编排管控层实现集中编排调度,所有算力服务及网络信息都上报到该统一编排管控层,完成可编程服务编排之后,将指令下放到底层。
(2)根据网络域的区域划分设置分域管控系统,再在分域管控系统上层设置统一的编排管控层实现端到端的编排调度。每个网络域内的算力服务和网络信息上报给该域内管控系统,经由域内管控系统进行数据处理后再上报给统一编排管控层,最上层统一编排管控层只关心各个网络域之间的编排调度等,由域内管控系统完成各自域内的可编程管理。
(3)基于网络域和云池分别设置网络管控系统和云管控系统,再在上层设置统一的编排管控层实现云网一体的端到端的编排调度。网络管控系统负责网络信息的收集与管理,云管控系统负责云池内算力服务的算力度量、感知及管理,最上层统一编排管控层实现跨云网的编排调度。
这三种方式虽然在具体实现上是基于不同应用场景的不同编排管控架构,但其本质都是在基础设施层之上设置独立的管控体系,无论这一管控体系是一套或是分域设置,或是分云网设置,都是统一集中式的,管控体系都需要基于全局信息进行端到端的编排调度,基础设施层的网元设备只需要执行上层系统的决策,完成流量转发,不参与任何可编程服务的管控。
本文基于算力网络可编程服务的应用场景,从算网信息通告、服务编排及业务流量转发三个部分给出实现流程示意:
(1)算力服务及网络信息通告:
图1 集中式的三种架构Fig.1 Three architectures of centralized
①编排管控层对算力服务的度量值、状态信息、资源类型、服务类型、网络位置等相关信息进行采集(采集既可以是算力服务主动上报,也可以是上层系统按需拉取)。
②编排管控层对网络相关信息进行采集,包括网元设备、端口、链路等静态信息,以及带宽利用率、时延、丢包等动态信息。
③编排管控层基于算力服务和网络信息绘制全局网络拓扑。
(2)服务编排流程:
①用户在上层系统输入业务服务需求,比如需要何种类型的业务服务,需要何种网络SLA 保障等。
②编排管控层根据用户业务需求、算力服务状态以及网络信息等选取合适的算力服务,并计算得到面向该业务请求的网络转发路径。
③编排管控层将包含算力服务节点的网络转发路径下发至用户接入网关。
(3)业务流量转发流程:
算网基础设施层的网元节点及服务资源根据上层决策的路径进行流量转发,直至流量到达用户所需的算力服务进行请求处理。
传统网络场景实现网络可编程是基于SDN 控制器进行路径计算,网络设备按序完成流量转发,这属于应用较为广泛的集中式管控方式,在传统网络SDN 架构基础上,算力网络的算力路由采用集中式的方式,即将所有的感知、编排、管控能力集中在上层进行,上层系统承担算网大脑的角色,对于算力和网络进行精细化的编排和调度,面向用户提供算网业务服务。目前来看,集中式路由策略从标准化、设备能力等方面都较为成熟。
集中式的方式需要上层系统掌握全网详细信息,对于编排管控层的智能计算、存储都有一定的要求;同时,当网络或算力服务发生变化,或者当用户需求或接入位置发生变化时,需要编排管控层收集相应数据,完成重新计算编排后再下发至网络头节点,这一流程所需的时延在类似于智能驾驶等业务场景中,会极大的影响业务体验,甚至影响业务安全。因此,笔者认为集中式方式不适用于时延敏感型业务,更适用于传统网络中安全防护等对传输时延要求不高的应用场景。
2.2 分布式路由策略
随着网络设备动态计算、智能控制等能力的不断演进,分布式技术路线也在逐渐成熟,算力网络可编程服务路由策略也可以从分布式的角度进行设计,即由网元设备完成算力感知、算力度量、算力服务选择、算力路由决策等能力,这一设计方案中,将可编程服务能力下沉至算网基础设施层,由网络节点基于在网计算能力指导流量转发。
分布式可编程服务的服务编排是随着用户业务流量转发动态完成的,因此其实现流程可分为算网信息通告及业务流量转发两个部分,如图2 所示。
(1)算力服务及网络信息通告:
①算力云池网关节点完成对池内算力服务信息的采集,包括算力服务的度量值、状态信息、资源类型、服务类型、网络位置等。
②算力云池网关节点将算力服务的相关算力信息发布到网络中,同时应携带池内算力服务的路由寻址方式。
③网络节点将各个算力服务的状态及路由在全网进行扩散和同步,同时通告如链路带宽、时延等网络SLA 信息。
④网络节点在本地生成各个算力服务的路由表项,该表项应包含每一个算力服务的算力状态、网络状态及路由信息等。
(2)业务流量转发流程:
①用户业务流量进入网络头节点,发起对于某类算力服务及网络SLA 要求的业务请求。
②根据用户的服务请求,网络设备基于本地算力服务路由表项进行算力服务选择及路径计算,综合考虑算力服务和网络状态与业务需求的匹配情况,以及算力负载等实时状态。
③后续网元节点及算力云池网关均可基于本节点收集的网络和算力服务信息进行路径规划和计算,重新编排指导流量转发路径。
④最终用户业务流量到达目的算力服务进行请求处理。
如用户需求是一系列服务的编排组合,那么到达下一个算力服务的流程参照③、④步骤依序执行。
分布式方式是在网络和计算融合的大趋势下,基于在网计算、网络智能内生等能力创新提出的,分布式可编程服务需要电信运营商网络设备的分布式可编程能力为基础,结合网络和云池对于现有控制协议的扩展和支持,在基础设施层实现算力度量、算力感知、服务标识、路由决策等可编程服务能力,由网元设备基于这些能力综合考虑用户需求、网络和算力服务资源实时状况,进行业务流量的编排与调度。
分布式可编程服务实现方式将算力服务与网络灵活联动,实现快速的服务感知与路由调度,适用于时延敏感型服务场景。典型的应用场景如车联网的自动驾驶。具体的,行驶中的车辆自动驾驶能力依赖的算力服务资源部署在某一个云资源池,当车辆从一个区域快速行驶到另一个区域,车辆新的位置再基于原有网络路径到达原有算力服务资源很可能已不再是最优算力节点及最优转发路径,此时网络节点则可根据车辆位置及网络和算力状态实时计算,将该车辆的自动驾驶服务调度到最优算力服务节点并计算最优路径。这样基于网络设备的分布式能力实现快速路由收敛,满足如自动驾驶、在线游戏等时延敏感型场景应用的需求。
算力网络可编程服务分布式路由策略的代表技术方案是CFN(Computing First Network,计算优先网络)[14],CFN 协议通过将算力服务状况和网络状态作为路由信息分布式地发布和扩散到网络各个节点,由CFN 网络设备将用户业务流量调度到最合适的算力服务节点,可实现用户体验最优、计算资源利用率最优、网络效率最优的目的[15]。CFN 协议延续了传统分布式路由协议的设计思路,但目前来看基于CFN 实现算力网络可编程服务路由策略仍存在一定难度。一方面,分布式方式中网络设备需要具备算力感知、标识、服务编排、流量引导等多种智慧能力,对设备能力要求非常高;另一方面,网络控制协议的扩展和标准化工作也尚未完善,距离真正落地应用还存在较大差距;其次,分布式方案将服务标识、路径计算等决策权交由网络中分散的设备节点,将导致业务流量被篡改、被攻击的危险性提高。
2.3 混合式路由策略
集中式的方式优势在于全局的统一管控和减少网络设备的资源消耗,分布式的方式优势在于路径重计算的时延小,业务路径调整灵活高效,可以结合两种方式根据网络规模、区域划分等具体情况,将集中和分布进行协同实现,面向用户提供端到端的算网一体业务服务。
业界目前也有多种含义的算力网络混合式路由策略,本文所描述的混合式是将算力路由决策功能基于全局集中、区域分布的思路进行方案设计。在这一实现机制中,编排管控层的管控范围是某些网络关键节点(比如区域边界节点或云池服务网关节点),这些关键节点基于自身的分布式路由能力,实现区域内的自主选路等,总体架构设计见图3。
图3 混合式的总体架构Fig.3 Overall architecture of hybrid
为了更方便更直观的说明混合式路由策略的具体实现机制,本方案基于SRv6 协议从算网信息通告、服务编排及业务流量转发几个部分进行阐述。
(1)算力服务及网络信息通告流程如图4:
图4 混合式的算网信息通告流程Fig.4 Computing and network information notification process of Hybrid
①算力云池服务网关节点完成对算力服务信息的采集。
②编排管控层完成对算力服务信息的采集。
③算力云池网关节点将承载着算力服务状态信息通告给网络关键节点,例如图中算力云池网关通过BGP 等网络协议将算力服务状态信息通告给关键节点R5。
④算力服务状态信息在网络的关键节点间进行扩散和同步,如图中R0,R5 和算力云池网关之间进行算力服务信息的发布和同步。
⑤编排管控层完成对网络信息的采集,包括网元设备、端口、链路等静态信息,以及带宽利用率、时延、丢包等动态信息。
⑥网络关键节点基于算力服务信息及网络信息生成本地路由表项。如表1 所示,以R0 设备为例,网络设备的本地路由表项包括算力服务目的地址,以及对应的算力服务信息及网络信息。
表1 混合式网络设备生成的本地路由表项Table 1 Local routing table entries generated by hybrid network devices
(2)服务编排流程:
①编排管控层根据用户业务需求,结合网络状态和算力服务状态进行协同路由计算,选取合适的算力服务,此处协同路由计算方法可根据部署需求进行策略设置,如选择算力节点负载最低的节点,或者选择网络转发路径时延最小的算力节点,或者设置算力负载和网络时延的权重比例得到的最优节点。如业务需求是多个算力服务,则得出一组算力服务节点的集合。本例中结合算力服务状态及网络状态等,编排管控层选择了SF2 节点为该用户提供服务。
②编排管控层基于算力服务节点或节点集合,以及网络拓扑等信息进行关键路径计算。本例中基于SF2 的选定计算得到的关键路径是(R5,SF2,R8)。
③编排管控层将关键路径下发至用户接入网关。
(3)业务流量转发流程,如图5:
图5 混合式的业务流量转发流程Fig.5 Service traffic forwarding process of hybrid
①头节点R0 将上层系统下发的关键路径进行压栈。
②R0 基于本地路由表项计算到达R5 的详细路径为(R1,R4,R5),并将其添加到路径序列组,本域内节点按这一序列组进行流量转发。
③同理,当流量达到R5,则R5 设备基于本地路由表项计算达到SF2 的详细路径为(R6,SF2),本域内再基于这一详细路径进行流量转发。
④用户业务流量到达算力服务节点SF2 进行请求处理,处理完成后到达终点设备。
可以看到,在服务编排及流量转发的过程中,编排管控层完成了全局集中的关键路径决策,网元设备完成了区域内的详细路径决策,通过这种混合协同的方式,既可以满足算力网络跨域端到端的一体化管控,又可以实现快速路径计算和调优的能力。
混合式方式综合了集中式和分布式的优点,可面向一些时延敏感且应用性强的业务场景进行应用部署,同时可基于网络规模按需设置区域范围来灵活实现混合的维度。例如运营商网络架构分为全国骨干网和各省城域网等多层级多区域网络,则可以将各省城域网作为区域内分布式部署范围,城域网内选定某一关键节点作为该区域的分布式计算节点,上层系统负责编排骨干网路径及到达某省关键节点的路径,由该省关键节点进行省内路由计算及流量调度。以此降低上层系统的管控压力,并实现区域内快速路由的能力。
上述混合式路由策略的设计方案中,是由基础设施层的关键节点完成分布式路径计算,而算力服务选择还是由编排管控层完成。而混合式其实细分了多种技术路线,比如可以将算力服务选择也下沉到网元节点或算力云池网关来实现,即编排管控层不选定具体的算力服务节点,由网元设备基于业务需求和算网信息及状态进行服务节点选择,再将流量导入合适的网络路径中。因此,本文只是给出了混合式方案的一种实现机制,根据不同的服务需求及思路还可以设计更多更为丰富的混合式方案。
3 存在的挑战
算力网络可编程的实现可以有效提升网络控制的粒度,快速灵活地编排调度网络能力和算力服务资源,灵活建立满足不同需求的业务路径;同时可以有效提升算网资源的利用率,基于对算网资源状态的实时感知,将流量调度到合适的节点,以实现最大效能。因此发展可编程服务是算力网络的有效推动技术手段。
但其中也存在一些挑战:
(1)异构算力与网络的统一标识和统一寻址
算力网络的各个领域如承载网、云计算等在其发展演进中形成了相对独立的技术架构和协议体系,要实现算力网络可编程服务的一体化编排与调度,需要实现各个域的协议和技术底座的统一,如算力域内,存在多级(云/边/端等)、异构(CPU/GPU 等)算力之间的统一度量和标识问题;算力域和网络域之间,则存在路由协议的统一问题,否则无法实现算网一体的端到端的服务寻址。
(2)分布式可编程能力的安全机制
前文提到在分布式可编程方式中,是由路由节点分布式的实现服务标识和路由决策等,虽然本文给出的混合协同方式可有效限制分布式决策的范围,但仍然需要一部分底层设备来实现其管控权,因此流量劫持、服务标识篡改等安全问题依旧存在。随着算力网络可编程服务的不断发展和应用,如何在可编程服务架构中设置合理有效的安全机制,将是未来研究的重点之一。
(3)算力服务对于IPv6+技术的支持
算力网络以网络为核心,实现算力服务的一体化编排和调度,在这个过程中,网络层面基于IPv6+,尤其是SRv6 技术在不断发展其可编程能力,但是算力网络的可编程服务需要算力服务的协同供给,目前来看,业界成熟的算力服务或应用能支持SRv6 的非常少,这极大地限制了算网统一寻址和一体化编排调度,只能采用代理等方式进行过渡。因此,算力网络可编程服务需要产业界,尤其是服务供应商来共同推进发展。
4 结束语
算力网络可编程服务前景广阔,也将是算力网络发展的关键方向之一,本文从可编程服务内涵,算力网络可编程路由的几大模块入手,分析和设计了三种面向不同场景的实现机制。集中式可编程服务路由策略是较为主流、实现较易的一种方式,随着网元设备能力不断提升,分布式方案也在不断探索中,而将两种方式结合进行协同实现的混合式方案,可以适用于不同的应用场景、算力网络规模等,通过取长补短来提供一种灵活有效的机制。算力网络可编程服务路由策略的具体实现机制仍有非常广泛的研究探索空间,后续随着商业场景的逐步明确、技术体系标准的不断推进,将进一步深入开展算力网络可编程服务路由策略及其应用方案的研究和落地。
致谢
本文得到了中国联通研究院何涛高级工程师的帮助,同时也得到了中国联通研究院王海军专家的指导,谨致谢意!
利益冲突声明
所有作者声明不存在利益冲突关系。