路径还原方法、装置、设备及存储介质
文献发布时间:2024-04-18 19:58:30
技术领域
本申请涉及通信技术领域,尤其涉及一种路径还原方法、装置、设备及存储介质。
背景技术
随着云业务的发展,云业务日益成为运营商的基础业务,对骨干网的承载要求和运维要求愈发严格。当某个业务的用户体验降低时,需要快速地对该业务进行故障定界定位,故障定位过程通常为:首先将业务流经过骨干网时的路径还原出来,然后在该路径上逐段或逐个设备排查是否存在故障。如何准确地还原业务路径,便成为故障定位中的关键技术问题。
传统的业务路径还原方法,是由运维人员通过命令行的方式逐个查询网络设备上的路由信息、隧道信息,并根据查询的信息进行分析,逐段拼接出业务流经过骨干网的完整路径。上述方法存在一定缺陷:一方面是对运维人员的技能要求较高,需了解路由寻路规则、流量引入隧道等相关的业务知识;另一方面是人工查询的速度较慢、实时性差,导致路径还原可能不准确,而且在网络规模较大、网络结构较为复杂的场景下,通过人工分析还原业务路径很容易出错。
另一种业务路径还原方法是借助路由跟踪工具(tracert/traceroute)来完成的,但tracert不适用于复杂的网络情况,比如运用了多协议标签交换技术的大型网络,单纯靠tracert难以准确还原业务路径。
发明内容
本申请提供一种路径还原方法、装置、设备及存储介质,无需人工介入,SDN控制器能够自动对业务流通过骨干网时的路径进行计算还原,并且路径还原的实时性和准确性较高。
第一方面,本申请提供了一种路径还原方法,用于SDN控制器,该方法包括:获取骨干网的网络拓扑信息;获取骨干网中的网络设备上建立的MPLS-TE隧道的信息,其中,MPLS-TE隧道的信息包括MPLS-TE隧道对应的路径;确定业务流的流入节点和流出节点,骨干网包括上述流入节点和流出节点;基于骨干网的网络拓扑信息和骨干网中的网络设备上建立的MPLS-TE隧道的信息,根据目标原则还原目标路径,其中,目标路径包括所述业务流通过所述骨干网时的路径中所述流入节点和所述流出节点之间的多个节点。
也就是说,本申请的方案由SDN控制器来统一收集骨干网的网络拓扑信息以及骨干网中的网络设备上建立的MPLS-TE隧道的信息,然后SDN控制器基于上述信息以及业务流的流入节点和流出节点,根据目标原则便可以还原出业务流通过骨干网时的路径。
在上述方案中,SDN控制器将路径还原所需的相关信息统一收集了起来,可以独立地(集中式的)进行路径计算还原。此时,骨干网中的各个节点仅仅作为信息提供方(提供骨干网的网络拓扑信息、骨干网中的网络设备上建立的MPLS-TE隧道的信息等),而无需参与路径计算还原的过程,所以不会占用到骨干网中的多个节点的计算资源,从而能够减少对网络性能的影响。而且,本申请的方案由于是通过SDN控制器自动进行路径计算还原的,无需人工参与,路径还原的实时性和准确性较高,还可以降低运维人员的技能成本,节省运维人员的时间和精力,进而能够提升运维人员的运维效率。
基于第一方面,在一种可能的实施方式中,上述多个节点包括多个第一节点,多个第一节点位于部署有MPLS-TE隧道的第一区域中。
也就是说,骨干网包括部署有MPLS-TE隧道的第一区域,业务流经过骨干网时的路径(即目标路径)可能会经过该第一区域。在这种场景下,SDN控制器基于自身获取的信息,可以将目标路径中位于第一区域中的节点(即第一节点)自动计算还原出来,并且不需要骨干网中的节点参与计算,能够减少对网络性能的影响。
基于第一方面,在一种可能的实施方式中,MPLS-TE隧道的信息还包括MPLS-TE隧道的优先级;SDN控制器还可以确定业务流的优先级,然后基于骨干网的网络拓扑信息、骨干网中的网络设备上建立的MPLS-TE隧道的信息和业务流的优先级,根据目标原则还原目标路径。
也就是说,骨干网中的网络设备上建立的MPLS-TE隧道可能具有不同的优先级,不同优先级的隧道是分用于转发不同优先级的业务流的。在这种场景下,SDN控制器在骨干网的网络拓扑信息、骨干网中的网络设备上建立的MPLS-TE隧道的信息的基础上,结合业务流的优先级可以自动进行隧道选择(还原网络设备原本的隧道选择过程),然后根据选择的隧道的信息可以得到隧道对应的具体路径,从而实现目标路径的还原,路径还原的实时性和准确性较高。
基于第一方面,在一种可能的实施方式中,上述目标原则包括内部网关协议IGP的转发捷径模式以及基于所述业务流的优先级选择匹配的MPLS-TE隧道进行转发的原则。
基于第一方面,在一种可能的实施方式中,上述多个节点包括多个第二节点,多个第二节点位于第二区域中,第二区域是运行标签发布协议LDP的区域或者是IP网络区域。
基于第一方面,在一种可能的实施方式中,目标原则包括最短路径转发原则。
基于第一方面,在一种可能的实施方式中,SDN控制器通过交互界面展示所述目标路径。
也就是说,SDN控制器还原在出目标路径之后,还可以通过交互界面向运维人员直观地展示该目标路径,运维人员进而可以根据该目标路径去排查具体的故障位置。
基于第一方面,在一种可能的实施方式中,骨干网包括一个或多个自治系统,SDN控制器可以通过BGP-LS协议分别向上述一个或多个自治系统中的网络设备获取相应的自治系统的网络拓扑信息,从而得到骨干网的网络拓扑信息。
基于第一方面,在一种可能的实施方式中,SDN控制器可以通过PCEP向骨干网中的网络设备获取骨干网中的网络设备上建立的MPLS-TE隧道的信息。
也就是说,当SDN控制器需要执行目标路径还原时,可以分别通过上述两类协议实时收集骨干网的网络拓扑信息以及骨干网中的各网络设备上建立的MPLS-TE隧道的信息。由于信息收集的速度比较快、比较及时,因此本方案可以提高目标路径还原的效率和准确性。
第二方面,本申请还提供一种路径还原装置,该装置包括:获取模块,用于获取骨干网的网络拓扑信息,还用于获取骨干网中的网络设备上建立的MPLS-TE隧道的信息,其中,MPLS-TE隧道的信息包括MPLS-TE隧道对应的路径;确定模块,用于确定业务流的流入节点和流出节点,其中,骨干网包括上述流入节点和流出节点;还原模块,用于基于骨干网的网络拓扑信息和骨干网中的网络设备上建立的MPLS-TE隧道的信息,根据目标原则还原目标路径,其中,目标路径是业务流通过骨干网时的路径,包括流入节点和流出节点之间的多个节点。
上述路径还原装置还可以包括其他功能模块,路径还原装置中的各个功能模块具体用于实现第一方面中的任一实施例的方法。
第三方面,本申请提供了一种路径还原设备,包括处理器和存储器;处理器和存储器可通过总线相互连接,也可以集成在一起。该处理器用于读取存储器中存储的程序代码,以使得该设备执行上述第一方面中任一实施例的方法。
第四方面,本申请提供一种计算机可读存储介质;该计算机可读存储介质用于存储上述第一方面中的任一实施例方法的实现代码。
第五方面,本申请实施例提供了一种计算机程序(产品),该计算机程序(产品)包括程序指令,当该计算机程序产品被执行时,用于执行上述第一方面中的任一实施例的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例中提供的一种基于标签发布协议建立的标签交换路径的示意图;
图2是本申请实施例中提供的一种多协议标签交换-流量工程隧道的示意图;
图3是本申请实施例中提供的一种路径还原系统的架构示意图;
图4是本申请实施例中提供的一种骨干网划分为多个自治系统的示意图;
图5是本申请实施例中提供的一种路径还原方法的流程示意图;
图6是本申请实施例中提供的一种路径还原过程的示意图;
图7是本申请实施例中提供的又一种路径还原过程的示意图;
图8是本申请实施例中提供的不同优先级的多协议标签交换-流量工程隧道的示意图;
图9是本申请实施例中提供的一种路径还原装置的结构示意图;
图10是本申请实施例中提供的一种路径还原设备的结构示意图。
具体实施方式
在传统的业务路径还原方法中,运维人员是通过命令行的方式逐个查询骨干网中各节点相应的路由下一跳、隧道等信息,据此逐段分析拼接出业务流经过骨干网时的完整路径,对运维人员的技能要求较高。而对于被查询的各个节点来说,其需要计算出一棵以自身为根节点的最短路径树,才能查找出相应的路由下一跳以反馈给运维人员。因此,传统的路径还原方法其实是一种分布式的方法,需要骨干网中的多个节点参与路径计算还原的过程,占用了多个节点的资源进行计算查找,在一定程度上会影响骨干网的网络性能。并且,由于该方法需要人工输入命令行以逐个节点地查询相应的路由信息,所以查询的速度会比较慢、实时性差,可能会导致路径还原不准确。
比如,运维人员正通过输入命令行的方式向骨干网中的某个节点查询其路由下一跳,由于人工输入命令行查询的速度较慢,在运维人员还没有向下一个节点查询之前,网络可能突然发生了变更。当后续运维人员通过命令行方式向下一个节点进行查询时,获得的路由下一跳就有可能不同于网络变更之前的路由下一跳了,进而导致路径还原不准确。而且在网络规模较大、网络结构较为复杂的场景下,通过人工查询分析容易出现失误,也会导致路径还原的不准确。
为了降低路径还原过程对骨干网的网络性能的影响,本申请提供了一种路径还原方法、装置、设备及存储介质,将路径还原交由软件定义网络(software-definednetworking,SDN)控制器来执行,由SDN控制器集中式地进行路径计算,而不需要骨干网中的多个节点参与路径计算的过程,不会占用骨干网中的多个节点的计算资源,从而能够减少对网络性能的影响。
为了便于理解本申请实施例中的技术方案,下面先对本申请实施例中涉及的部分术语及概念进行简单介绍。
1、多协议标签交换(multiprotocol label switching,MPLS):
MPLS是一种互联网协议(internet protocol,IP)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。MPLS实际上是一种隧道技术,使用标签转发替代了传统的路由转发,利用标签引导数据高速传输,它不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。
IP报文进入MPLS网络时,MPLS入口的路由器分析IP报文的内容并且为这些IP报文添加合适的标签,所有MPLS网络中的路由器根据标签转发数据。当该IP报文离开MPLS网络时,标签由MPLS出口的路由器弹出。IP报文在MPLS网络中经过的路径称为标签交换路径(label switched path,LSP)。LSP是一个单向路径,与数据流的方向一致。对于一条LSP,一旦在入节点给报文打上标签,流量的转发就完全由标签决定了,流量对LSP的中间节点是透明的,从这个意义上来说,一条LSP可以看作是一条LSP隧道。
2、标签发布协议(label distribution protocol,LDP):
LDP是MPLS的其中一种控制协议(也可称为信令协议),负责标签的分配、标签转发信息表的建立、标签交换路径的建立、维护和拆除等工作。LDP可以根据内部网关协议(interior gateway protocol,IGP)、边界网关协议(border gateway protocol,BGP)的路由信息,通过逐跳方式建立LSP,这里不过多介绍。
例如,如图1所示,图中的5个路由器R8、R9、R10、R11和R12都运行LDP协议,R8和R12之间有一条基于LDP建立的LSP(简称LDPLSP):R8→R9→R10→R11→R12。其中,R8是该LDPLSP的入节点(ingress),R12是出节点(egress),其余路由器均为中间节点(transit),路径方向是从R8至R12。
3、多协议标签交换-流量工程(multiprotocol label switching-trafficengineering,MPLS-TE):
MPLS-TE是一种将MPLS与流量工程(trafficengineering,TE)相结合的技术,其通过建立基于一定约束条件的LSP隧道,并将流量引入到这些隧道中进行转发,使网络流量按照指定的路径进行传输,达到流量工程的目的。
MPLS-TE隧道是从隧道入节点到出节点的一条虚拟点到点连接。通常情况下,MPLS-TE隧道由一条基于约束条件建立的标签交换路径(constraint-based routed labelswitched path,CR-LSP)构成。在部署CR-LSP备份或需要将流量通过多条路径传输等情况下,需要为同一种流量建立多条CR-LSP,在这种情况下,MPLS-TE隧道由一组CR-LSP构成,并将这些LSP与一个隧道接口(是一种逻辑接口)关联起来。例如,如图2所示,图中有两条CR-LSP,分别是LSP1(R1→R2→R3→R4→R7)和LSP2(R1→R5→R6→R7)。在路由器R1和R7间建立的这两条CR-LSP对应同一个MPLS-TE隧道,这里假设其隧道接口为Tunnel 0/0/1,隧道标识为100。其中,该隧道的入节点为R1,出节点为R7,其余路由器为中间节点,隧道方向是从R1至R7,LSP1作为主路径,LSP2作为备份路径。
可选的,MPLS-TE隧道可以通过基于流量工程的资源预留协议(resourcereservation protocol-traffic engineering,RSVP-TE)来动态建立,得到的MPLS-TE隧道也可以称为RSVP-TE隧道。MPLS-TE隧道还可以由网络管理员通过手工配置的方式来建立,得到的MPLS-TE隧道可以称为静态MPLS-TE隧道,不具体限定。为了便于描述,若无特殊说明,后文主要以基于RSVP-TE协议建立的MPLS-TE隧道(即RSVP-TE隧道)为例进行介绍。
为了便于理解本申请实施例中的技术方案,下面对本申请实施例中涉及的系统架构进行介绍。
请参见图3,图3是本申请实施例中提供的一种路径还原系统的架构示意图,包括骨干网310和SDN控制器320。下面分别对骨干网310和SDN控制器320进行具体介绍:
1、骨干网310
骨干网310是构成互联网络核心连接的一个网络,通常为广域网,可以包括路由器、交换机、网关、网桥等网络设备(networkequipment,NE)(本文所述的节点与网络设备为相同概念)。骨干网310中可以运行多种协议,包括但不限于LDP协议、RSVP-TE协议、IP协议等中的一种或多种,不具体限定。
如图3所示,本申请为了便于描述,将骨干网310中部署MPLS-TE隧道的区域称为第一区域(图3以深灰色表示),第一区域属于MPLS网络区域,第一区域中的网络设备均使能MPLS-TE能力,第一区域内的网络设备间可以建立MPLS-TE隧道。
在一些可能实施例中,第一区域中的网络设备上创建的MPLS-TE隧道采用IGP的转发捷径(shortcut)模式,并且第一区域中的网络设备选择MPLS-TE隧道的方式为:基于业务流的优先级选择匹配的MPLS-TE隧道进行业务流转发,即高优先级的业务流选用高优先级的MPLS-TE隧道进行转发,低优先级的业务流选用低优先级的MPLS-TE隧道进行转发,以满足不同业务流的服务质量(qualityofservice,QoS)需求。
应理解,在shortcut模式下,隧道入节点创建的MPLS-TE隧道不会宣告给邻居,也不会作为最短路径优先(shortestpathfirst,SPF)树的一个树枝,在不改变SPF树结构的情况下,MPLS-TE隧道的入节点在本地进行IGP的SPF计算时,可以直接将其创建的MPLS-TE隧道作为抵达该MPLS-TE隧道的出节点及其下游节点的路由出接口,从而将业务流引入该MPLS-TE隧道进行转发。关于IGP的shortcut模式,本申请不过多介绍。IGP具体可以是中间系统到中间系统(intermediate system-to-intermediate system,IS-IS)路由协议或者开放式最短路径优先(open shortest path first,OSPF)协议,不具体限定。
在又一些可能的实施例中,第一区域中的网络设备上创建的MPLS-TE隧道采用转发邻接(forwarding adjacency)模式。应理解,在转发邻接模式下,MPLS-TE隧道的入节点不仅在本地的IGP路由计算时考虑其创建的MPLS-TE隧道,还会把上述MPLS-TE隧道当成一条端到端的逻辑链路宣告给邻居节点,邻居节点在执行SPF计算时会把上述MPLS-TE隧道也考虑进去,即MPLS-TE隧道将参与全局的路由计算,除了隧道入节点外的其他节点也能使用此MPLS-TE隧道。
如图3所示,本申请还将骨干网310中运行LDP协议的区域或者是骨干网310中的IP网络区域皆称为第二区域(图3以浅灰色表示),属于第二区域的各网络设备不使能MPLS-TE能力,所以第二区域内的网络设备间不会建立MPLS-TE隧道。应理解,无论第二区域具体是IP网络区域还是运行LDP协议的区域,第二区域中的网络设备本质都是基于最短路径转发原则转发业务流的,本申请不过多介绍。
需要说明的是,图3中的第一区域和第二区域的范围、位置关系等仅为示例,不构成限定。骨干网310中的第一区域和第二区域均可以有一个或多个,甚至可以没有第二区域,本申请不具体限定。
骨干网310可以连接数据中心、公有云、企业网、互联网服务提供商(internetserviceprovider,ISP)网络等等,可以承载多种业务,如家庭用户、商业用户、移动基站等业务,又或者是语音、视频通话等业务,本申请不具体限定。比如,骨干网310可以是用于承载云业务的云骨干网,提供各类云(如公有云、私有云、边缘云等)、各种本地网(如企业网、校园网等)之间数据流通的管道。
具体举例来说,如图3所示,假设骨干网310包括一个第一区域和一个第二区域。其中,第一区域运行RSVP-TE协议,第一区域中的网络设备间可以基于RSVP-TE建立MPLS-TE隧道。第二区域采用单纯的IP组网模式,即第二区域具体为IP网络区域。应理解,图3只是示例性地画出了网络设备NE2与NE4之间建立的一条MPLS-TE隧道(第一区域中还可以有其他MPLS-TE隧道),该MPLS-TE隧道用Tunnel1表示,Tunnel1对应的路径为NE2→NE3→NE4,NE2是隧道的入节点,NE3是中间节点,NE4是出节点。这里假设NE2在本地进行IGP路由计算时,将Tunnel1作为了去往数据中心B的路由出接口。
如图3所示,假设数据中心A需要传输业务流到数据中心B,数据中心A将业务流发送至骨干网310边界的NE1,即NE1是该业务流进入骨干网310的节点。NE1根据自身的路由表(是根据IGP路由计算生成的)确定NE2为去往数据中心B的下一跳设备,于是将业务流发送给NE2。接着,NE2根据其自身的路由表确定去往数据中心B的路由出接口为Tunnel1,进而将业务流引入Tunnel1进行转发(在隧道中通过标签交换方式转发该业务流)。业务流传输到Tunnel1的出节点NE4时,NE4根据自身的路由表确定NE5为去往数据中心B的下一跳设备,于是将该业务流发送至NE5。最后,NE5作为业务流流出骨干网310的节点,将该业务流发送至数据中心B。综上所述,该业务流通过骨干网310时的路径为:NE1→NE2→NE3→NE4→NE5。
需要说明的是,图3中的网络设备的名称、位置、数量、连接关系等均是示例,不构成限定。
可选的,骨干网310可以划分为一个或多个自治系统(autonomoussystem,AS)。一个自治系统是一个有权自主地决定在本系统中应采用各种路由协议的小型单位,有时也被称为是一个路由选择域(routing domain),自治系统所在区域通常也称为自治域/AS域。一个自治系统将会分配一个全局唯一的16位号码,通常把这个号码叫做自治系统号(autonomoussystemnumber,ASN),或者称为AS号。
2、SDN控制器320
SDN控制器320用于实现本申请的路径还原方法。SDN控制器320可以部署在骨干网310中的网络设备(如路由器)上,也可以部署在云环境中的物理服务器或虚拟机上,不具体限定。
具体的,SDN控制器320可以通过收集骨干网310的网络拓扑信息、骨干网310中的网络设备上建立的MPLS-TE隧道的信息,基于上述信息对业务流经过骨干网310的路径进行还原。其中,骨干网310的网络拓扑信息用于描述骨干网310的网络拓扑结构,MPLS-TE隧道的信息包括MPLS-TE隧道对应的路径,还可以包括MPLS-TE隧道的优先级等信息。
在可能的实施例中,SDN控制器320可以通过边界网关协议-链路状态(bordergateway protocol-link state,BGP-LS)协议获取骨干网310的网络拓扑信息,还可以通过路径计算单元交互协议(path computation element communication protocol,PCEP)分别获取骨干网310中的各网络设备上建立的MPLS-TE隧道的信息。
例如,如图4所示,假设骨干网310划分为3个AS域,分别表示为AS64512、AS64513和AS64514。对于每个AS域来说,SDN控制器320可以与该AS域中的一个或多个网络设备建立BGP-LS邻居关系,然后SDN控制器320便可以通过BGP-LS协议从上述一个或多个网络设备处收集该AS域内的网络拓扑信息。以AS64512为例,如图4所示,网络设备NE3位于AS64512的边界(位于某AS域边界的设备也认为是属于该AS域),SDN控制器320可以和NE3建立BGP-LS邻居关系,然后通过BGP-LS协议向NE3请求获取AS64512内的网络拓扑信息,相应的,NE3可以通过BGP-LS协议报文将自身收集到的AS64512的网络拓扑信息发送给SDN控制器320。可以理解的是,SDN控制器320分别获得每个AS域的网络拓扑信息后,便可以汇总得到整个骨干网310的网络拓扑信息。
如图4所示,在LDPoverRSVP-TE应用场景中,骨干网310中的第一区域运行RSVP-TE协议,第二区域运行LDP协议。应理解,第一区域中的各个网络设备(包括位于第一区域边界的设备)均使能RSVP-TE能力,网络设备之间可以根据需要建立RSVP-TE隧道(图中未画出各个RSVP-TE隧道对应的具体路径),但是一般不会建立跨AS域的隧道。SDN控制器320可以分别与第一区域中的各网络设备建立PCEP邻居关系,然后SDN控制器320就可以通过PCEP协议收集相应网络设备上建立的所有RSVP-TE隧道的信息。以第二区域中的NE2为例,SDN控制器320与NE2建立PCEP邻居关系,然后就可以通过PCEP协议向NE2请求获取NE2上建立的所有RSVP-TE隧道的信息,NE2通过PCEP协议报文将自身建立的所有RSVP-TE隧道的信息发送给SDN控制器320,SDN控制器320即获得以NE2为入节点的所有RSVP-TE隧道的信息。
需要说明的是,图4中的第一区域和第二区域的范围、位置关系,以及网络设备和AS域的名称、位置、数量、连接关系等均是示例,不构成限定。
基于上述内容,下面具体介绍本申请提供的路径还原方法的实施例。
请参见图5,图5是本申请实施例中提供的一种路径还原方法的流程示意图,该方法用于上述SDN控制器320,可以包括如下步骤:
S501、获取骨干网310的网络拓扑信息。
在可能的实施例中,骨干网310包括一个或多个自治系统;SDN控制器320可以通过BGP-LS协议分别向上述一个或多个自治系统中的网络设备获取相应的自治系统的网络拓扑信息,从而得到骨干网310的网络拓扑信息。关于此实施例的具体内容,请参见前文相关介绍,这里不赘述。
S502、获取骨干网310中的网络设备上建立的MPLS-TE隧道的信息,其中,MPLS-TE隧道的信息包括MPLS-TE隧道对应的路径。
在可能的实施例中,SDN控制器320可以通过PCEP向骨干网310中的网络设备获取骨干网310中的网络设备上建立的MPLS-TE隧道的信息。关于此实施例的具体内容,也请参见前文相关介绍,这里不赘述。
在可能的实施例中,MPLS-TE隧道的信息还可以包括MPLS-TE隧道的优先级。
S503、确定业务流的流入节点和流出节点,骨干网310包括上述流入节点和流出节点。
其中,上述业务流是需要进行路径还原的某业务流,不具体限定。比如,当SDN控制器320检测到有某业务流经过骨干网310时,可以自动触发针对该业务流的路径还原。或者,当某业务的用户体验减低时,运维人员可以指示SDN控制器320去还原该业务的业务流通过骨干网310时的路径,以便后续去定位具体的故障位置。
上述业务流的流入节点指的是业务流流入骨干网310的节点,即业务流是通过骨干网310中的该流入节点进入骨干网310的;上述业务流的流出节点指的是业务流流出骨干网310的节点,即业务流是通过骨干网310中的该流出节点离开骨干网310的。
关于确定业务流的流出节点和流出节点的具体方式,本申请不做限定。比如,SDN控制器320可以通过监控获得某业务流的流出节点和流出节点,或者,各种业务流的流出节点和流出节点是预先配置好的、是固定的,于是SDN控制器320可以根据预先的配置确定某业务流的流入节点和流出节点。
应理解,业务流可以对应于网络中的各种业务接口,是对网络上传输的业务数据的一种抽象,如弹性公网IP(简称EIP)、内容分发网络(content delivery network,CDN)、云硬盘(elasticvolumeservice,EVS)等的业务数据,本申请不具体限定。
在一些可能的实施例中,业务流具有一定的优先级,即业务流所对应的业务的优先级,用于衡量该业务等级的高低,各种业务的优先级可以预先进行配置。比如,业务人员将业务1、业务2和业务3的优先级依次配置为金、银、铜(3个等级)。
应理解,在不同类型的网络中一般采用不同的服务质量(quality of service,QoS)标识来标记业务流的优先级。为了实现同种业务数据在不同类型网络中的QoS处理,通常还可以配置映射表,将一种类型的QoS标记映射成另一种类型的QoS标记。
例如,在IP网络中,通常采用IP报文中的差分服务代码点(differentiatedservices code point,DSCP)字段或者IP优先级(preference)字段来标记业务流的优先级。其中,IP优先级使用3比特,可以定义8个等级;而DSCP字段使用6比特,可以定义64个等级。IP网络中的各网络设备通过查看业务流的IP报文中的IP优先级/DSCP字段,从而识别出业务流的优先级,进而采取预先设定的服务策略对该业务流进行处理。
再如,在MPLS网络中,通常采用MPLS报文中的实验比特位(experimental bits,EXP)字段来标记业务流的优先级,EXP字段具体位于MPLS标签中,使用3个比特,可以定义8个等级。于是,MPLS网络中的网络设备通过查看业务流的MPLS报文中的EXP字段,根据EXP字段的值识别出业务流的优先级,进而采取相应的策略对该业务流的报文进行处理,如采用相应优先级的MPLS-TE隧道对该业务流进行报文转发,以满足业务流的服务质量需求。
当某IP报文进入MPLS网络时,MPLS入口的网络设备为其添加上相应的MPLS标签从而得到MPLS报文,并且根据DSCP和EXP的映射关系,将IP报文中的DSCP字段的值转换为相应的EXP值并添加到MPLS标签中,于是,MPLS网络中的网络设备将基于该EXP值识别该业务流的优先级,从而选择相应的隧道进行业务流转发。
因此,在一些可能的实施例中,SDN控制器320可以通过以下方式确定业务流的优先级:首先获取业务流的IP报文中的DSCP字段或是IP优先级字段的值,然后根据预先配置的映射关系,将上述DSCP字段或是IP优先级字段的值转换为相应的EXP值,从而可以根据该EXP值确定业务流的优先级,进而可以去匹配相应优先级的MPLS-TE隧道。
在另一些可能的实施例中,网络管理员还可以在网络设备上人工将某些业务流的EXP设定为期望值,于是,SDN控制器320还可以通过获取网络设备上业务流相关的配置信息,以确定业务流的优先级。
需要说明的是,上述步骤S501、S502和S503的执行顺序不限定,可以按照步骤S501、S502、S503的先后顺序去执行,或者更改它们之间的先后顺序去执行(如S501、S503、S502,或者S503、S502、S501,等等),它们还可以并行执行。
S504、基于骨干网310的网络拓扑信息和骨干网310中的网络设备上建立的MPLS-TE隧道的信息,根据目标原则还原目标路径,其中,目标路径包括所述业务流通过所述骨干网时的路径中所述流入节点和所述流出节点之间的多个节点。
由前文对骨干网310的介绍可知,骨干网310可以包括第一区域和/或第二区域。其中,第一区域是部署MPLS-TE隧道的区域,第二区域是运行LDP协议的区域或者是IP网络区域。可以理解的是,业务流经过骨干网310时可能会穿过骨干网310中的第一区域和/或第二区域,也就是说,可能目标路径中的一部分路段(可看成是业务流通过第一区域时的路径)位于第一区域,而另一部分路段(可看成是业务流通过第二区域时的路径)位于第二区域。由于第一区域和第二区域之间的差异,因此第一区域和第二区域中的路径还原方式稍有不同,下面分别进行介绍:
(1)第一区域中的路径还原
为了便于描述,本申请实施例将业务流通过第一区域时的路径称为第一路径,第一路径包括多个第一节点,即目标路径包含第一路径,目标路径中的多个节点包括上述多个第一节点,上述多个第一节点位于部署MPLS-TE隧道的第一区域中。可以理解的是,SDN控制器320可以根据第一区域中的网络设备转发业务流所采用的原则,模拟第一区域中的网络设备上执行的与业务流转发相关的动作,即可准确还原出第一路径。
在可能的实施例中,上述目标原则包括内部网关协议IGP的转发捷径模式以及基于所述业务流的优先级选择匹配的MPLS-TE隧道进行转发的原则。关于上述原则请参见前文介绍,这里不重复。
具体来说,SDN控制器320基于骨干网310的网络拓扑信息,通过SPF算法计算出一棵以第一网络设备为根节点的最短路径树,然后根据该最短路径树便可以确定从第一网络设备至业务流的流出节点的一条路径。其中,第一网络设备是第一路径中除了所述业务流通过的MPTS-TE隧道的中间节点和该业务流流出第一区域的设备之外的网络设备。为了便于描述,将上述路径称为第二路径,第一网络设备为第二路径的起点,业务流的流出节点为第二路径的终点,第二路径包括多个第一节点。然后,SDN控制器320可以从第一网络设备与第二路径上的第一节点间建立的所有MPLS-TE隧道中,选出跨度最大MPLS-TE隧道。假设跨度最大MPLS-TE隧道只有一条,即确定第一网络设备是选择了该MPLS-TE隧道来转发该业务流,再根据该MPLS-TE隧道的信息,即可还原该业务流通过该MPLS-TE隧道时的路径,即第一路径中从第一网络设备至该MPLS-TE隧道的出节点间的路径。如果上述跨度最大的MPLS-TE隧道有多条,则需要再结合业务流的优先级从中选出一条匹配的MPLS-TE隧道(即隧道的优先级与业务流的优先级能够匹配),然后根据该MPLS-TE隧道的信息即可还原该业务流通过该MPLS-TE隧道时的具体路径。
如果上述MPLS-TE隧道的出节点并不位于第一区域的边界,不是该业务流流出第一区域的设备,则SDN控制器320针对该设备继续执行类似上面的操作,以确定该设备选择了哪个MPLS-TE隧道来转发该业务流……直至最新确定出来的MPLS-TE隧道的出节点位于第一区域的边界,是该业务流流出第一区域的设备。应理解,通过上述方式便可以逐段(逐个隧道对应的路径)还原出业务流经过第一区域时的路径,即第一路径。
(2)第二区域中的路径还原
为了便于描述,本申请实施例将业务流通过第二区域时的路径称为第三路径,第三路径包括多个第二节点,即目标路径包括第三路径,目标路径中的多个节点包括上述多个第二节点,多个第二节点位于第二区域中。可以理解的是,SDN控制器320可以根据第二区域中的网络设备转发业务流所采用的原则,模拟第二区域中的网络设备上执行的与业务流的转发相关的动作,即可准确还原出第三路径。
在可能的实施例中,上述目标原则包括最短路径转发原则。应理解,无论第二区域具体是IP网络区域还是运行LDP协议的区域,第二区域中的网络设备本质都是基于最短路径转发原则进行业务流转发的,这里不过多介绍。
具体来说,SDN控制器320基于骨干网310的网络拓扑信息,通过IGP的SPF算法计算以第三网络设备为根节点的一棵最短路径树(shortest path tree,SPT),其中,第三网络设备是第三路径中除了业务流流出第二区域的设备之外的网络设备。该最短路径树给出了第三网络设备到骨干网310中各个设备的IGP路由,根据该最短路径树便可以确定第三网络设备去往业务流的流出节点的路由下一跳,也就可以确定第三网络设备将业务流转发到了骨干网310中的哪个网络设备,即还原出第三网络设备在第三路径/目标路径中的下一跳设备。
需要说明的是,在得到第三网络设备的下一跳设备之后,如果该下一跳设备不是业务流流出第二区域的网络设备,则SDN控制器320针对该设备继续执行类似上面操作,以还原其在第三路径中的下一跳设备……直至最新还原出来的这个设备为业务流流出第二区域的网络设备。应理解,按照上述方式,SDN控制器320便可以逐跳还原出业务流通过第二区域时的路径,即第二路径。
下面结合图6至图8,通过以下两个例子对步骤S504进行具体举例说明。
例一,如图6所示,假设骨干网310只有一个AS域(不划分多个AS域),这里用AS100来表示。SDN控制器320监控到来自数据中心A的某业务流从NE1进入了骨干网310,即NE1为该业务流的流入节点,同时NE1也是该业务流进入第二区域的网络设备,最后该业务流从NE9流出了骨干网310进而传输到数据中心B,即NE9是该业务流的流出节点。假设运维人员了解到该业务流对应业务的用户体验明显降低,于是指示SDN控制器320对该业务流通过骨干网310时的路径进行还原。
由前文针对路径还原系统的介绍可知,SDN控制器320可以预先与AS100中的一个或者多个网络设备建立BGP-LS邻居关系,可以选择AS100中的任意一个或多个网络设备,不限定。与SDN控制器320建立了BGP-LS邻居关系的网络设备,便承担了通过BGP-LS协议向SDN控制器320传递AS100内的网络拓扑信息的功能。于是,当SDN控制器320需要还原上述业务流经过骨干网310的路径时,可以通过BGP-LS协议从相应的BGP-LS邻居处收集AS100内的网络拓扑信息,因为此例假设只有一个AS域,所以获得AS100内的网络拓扑信息即得到整个骨干网310的网络拓扑信息。
因为NE1是业务流的流入节点,所以SDN控制器320从NE1开始进行路径还原。如图6所示,由于NE1还是业务流进入第二区域的网络设备,因此SDN控制器320针对NE1采用第二区域中的路径还原方式:首先,基于骨干网310的网络拓扑信息并使用SPF算法计算出一棵以NE1为根节点的最短路径树;然后,根据NE1对应的最短路径树可以确定NE1去往NE9的下一跳设备为NE2,即确定NE1是将业务流转发到了NE2,从而还原出NE2是NE1在第三路径/目标路径中的下一跳设备。
如图6所示,由于NE2还是第二区域中的网络设备,并且不是业务流流出第二区域的网络设备,所以SDN控制器320针对NE2继续执行类似操作,基于骨干网310的网络拓扑信息并使用SPF算法计算出一棵以NE2为根节点的最短路径树,从而可以确定NE2去往NE9的下一跳设备为NE3,即还原出NE2在第三路径/目标路径中的下一跳设备。
如图6所示,由于NE3位于第一区域和第二区域的交界处,所以NE3是业务流流出第二区域的网络设备,同时它也是业务流进入第一区域的网络设备。SDN控制器320针对NE3不再采用第二区域中的路径还原方式,将采用第一区域中的路径还原方式进行处理。SDN控制器320基于骨干网310的网络拓扑信息,使用SPF算法计算出一棵以NE3为根节点的最短路径树。根据该最短路径树树,SDN控制器320可以得到一条从根节点NE3至NE9(业务流的流出节点)的一条路径,称为第二路径,路径具体是NE3→…→NE4→NE9(省略号表示图中未画出的一些网络设备)。然后,SDN控制器320根据PCEP协议从NE3处获得NE2上建立的所有MPLS-TE隧道的信息。SDN控制器320根据上述信息,从NE2与第二路径上的网络设备间建立的所有MPLS-TE隧道中选择跨度最大并且与该业务流的业务优先级能够匹配的隧道。假设选中的是图6中的MPLS-TE隧道1(图中未画出该隧道对应的具体路径),可以确定NE3将业务流引入了该隧道进行转发,然后由该隧道的信息即可还原出第一路径中从NE3至NE4之间的这段路径。这里假设MPLS-TE隧道1对应的具体路径为NE3(入节点)→NE10(中间节点)→NE4(出节点)。
根据上述内容,目前已经还原出了NE1→NE2→NE3→NE10→NE4这一段路径。如图6所示,由于NE4已经是业务流流出第一区域的网络设备,因此业务流在第一区域中的路径还原已完成,还原出的第一路径具体为NE3→NE10→NE4。接下来,SDN控制器320将针对NE4采用前述第二区域中的路径还原方法。SDN控制器320基于骨干网310的网络拓扑信息,使用SPF算法计算出一棵以NE4为根节点的最短路径树,根据该最短路径树可以确定NE4去往NE9的下一跳设备,即还原NE4在第三路径/目标路径中的下一跳设备。假设直接就是NE9,而NE9是业务流流出骨干网310的网络设备,至此整个路径还原过程结束。
综上所述,SDN控制器320通过计算和分析,还原出业务流通过骨干网310时的路径为(即目标路径):NE1→NE2→MPLS-TE隧道1对应的路径→NE9,也就是NE1→NE2→NE3→NE10→NE4→NE9。其中,业务流通过骨干网310中的第一区域时的路径(即第一路径)为:MPLS-TE隧道1对应的路径,即NE3→NE10→NE4(即为三个第一节点)。而业务流通过骨干网310中的第二区域时的路径(即第三路径)包括两段,一段是NE1→NE2→NE3,另一段是NE4→NE9,即有五个第二节点。可以理解的是,该业务流通过骨干网310时的路径还原出来之后,运维人员便可以对这条路径上的各网络设备进行故障排查,从而定位具体的故障位置。
例二,如图7所示,假设骨干网310划分了多个AS域,分别是AS64512、AS64513和AS64514。SDN控制器320监控到某业务流从NE1流入了骨干网310,即NE1为业务流的流入节点,最后业务流是从NE6流出了骨干网310,即NE6是该业务流的流出节点。假设SDN控制器320自动触发了针对该业务流的路径还原。
由前文的介绍可知,SDN控制器320可以分别与骨干网310中的各个AS域中的网络设备建立BGP-LS邻居关系,从而在有网络拓扑信息收集需求的时候,通过BGP-LS协议从BGP-LS邻居处获取到相应AS域内的网络拓扑信息。以AS64512为例,如图7所示,SDN控制器320与AS64512内的NE3建立了BGP-LS邻居关系,于是,SDN控制器320可以通过BGP-LS协议向NE3请求获取AS64512内的网络拓扑信息,然后NE3可以将其收集的本AS域的网络拓扑信息发给SDN控制器320。SDN控制器320与其他AS域内的网络设备建立BGP-LS邻居关系、收集AS域内的网络拓扑信息的过程类似,不过多介绍。SDN控制器320根据各AS域的网络拓扑信息,便可以汇总得到整个骨干网310的网络拓扑信息。
因为NE1是业务流的流入节点,所以SDN控制器320从NE1开始路径还原。如图7所示,由于NE1还是业务流进入第二区域的网络设备,所以SDN控制器320将针对NE1采用第二区域的路径还原方式:根据SPF算法计算NE1对应的最短路径树,根据该最短路径树可以确定NE1去往NE6的下一跳设备,即还原出NE1在第三路径/目标路径中的下一跳设备,假设是NE2。
如图7所示,NE2位于第一区域和第二区域的交界处,NE2是业务流流出第二区域的网络设备,同时也是业务流进入第一区域的网络设备。因此,SDN控制器320针对NE2采用第一区域的路径还原方式。基于骨干网310的网络拓扑信息,使用SPF算法计算NE2对应的最短路径树。根据该最短路径树,SDN控制器320可以得到从NE2至NE6的一条路径(即第二路径),假设是NE2→…→NE3→…→NE4→…→NE5→NE6(省略号表示图中未画出的某些网络设备)。然后,SDN控制器320可以根据PCEP协议从NE2处获取NE2上建立的所有MPLS-TE隧道的信息,即获得以NE2为入节点的所有MPLS-TE隧道的信息。接着,SDN控制器320从NE2和第二路径上的网络设备之间建立的所有MPLS-TE隧道中,选择跨度最大的MPLS-TE隧道并且与该业务流的优先级匹配的MPLS-TE隧道,即确定NE2是选择了哪个MPLS-TE隧道来转发该业务流,然后根据该MPLS-TE隧道的信息即可还原业务流通过该MPLS-TE隧道时的具体路径。
关于SDN控制器320如何选出跨度最大并且与业务流的优先级匹配的MPLS-TE隧道,可以有多种实现方式,下面通过方式一和方式二进行举例介绍。
方式一:SDN控制器320首先从NE2上建立的所有MPLS-TE隧道中筛选出与该业务流的优先级能够匹配的隧道,即该隧道的优先级与业务流的优先级匹配。应理解,隧道的优先级可以预先配置,与隧道的优先级属性匹配的业务流可以通过该隧道进行转发。然后,SDN控制器320从上述筛选出的MPLS-TE隧道中选出跨度最大的MPLS-TE隧道,即跨越第二路径范围最大的MPLS-TE隧道,换句话说,在上述筛选出的隧道中该MPLS-TE隧道的出节点最靠近第二路径的终点。
方式二:SDN控制器320按照与第二路径方向相反的顺序,依次检查NE2与第二路径上的各网络设备间是否建立有MPLS-TE隧道。依照上述顺序进行检查,当确定NE2与该路径上的某网络设备之间建立有多条MPLS-TE隧道时,再从中选择与业务流的优先级匹配的MPLS-TE隧道。
比如,如图7所示,按照与上述第二路径NE2→…→NE3→…→NE4→…→NE5→NE6相反的顺序,SDN控制器320先检查NE2与NE6之间是否建立有MPLS-TE隧道,发现NE2与NE6之间并没有建立MPLS-TE隧道,于是继续检查NE2和NE5之间是否建立有MPLS-TE隧道。由于NE2与NE5之间也没有建立MPLS-TE隧道,继续按照与上述路径相反的顺序依次检查NE2与第二路径上的其他设备间是否有建立MPLS-TE隧道。假设在检查到NE3之前都没有匹配到合适的MPLS-TE隧道,当SDN控制器320依次检查到NE3时,发现从NE2到NE3建立有MPLS-TE隧道。
如图8所示,假设NE2与NE3之间建立有多条MPLS-TE隧道(NE2是隧道的入节点),分别为MPLS-TE隧道1、MPLS-TE隧道7和MPLS-TE隧道8,它们的优先级依次为1、2和3。其中,高优先级的隧道用于传输高优先级的业务流,低优先级的隧道用于传输低优先级的业务流,即隧道与业务的优先级配置有映射关系。假设MPLS-TE隧道1的优先级与当前针对的业务流的优先级是能够匹配的,于是SDN控制器320确定NE2是选择了MPLS-TE隧道1来转发该业务流,然后根据MPLS-TE隧道1的信息即可还原出业务流通过MPLS-TE隧道1时的具体路径,即可还原在第一路径/目标路径中从NE2至MPLS-TE隧道1的出节点(即NE3)间的路径。
由前述内容可知,此时已经还原到了NE3。如图7所示,NE3并不处于第一区域的边界,不是业务流流出第一区域的网络设备,于是SDN控制器320针对NE3继续执行第一区域中的路径还原方式。基于骨干网310的网络拓扑信息,计算以NE3为根节点的一棵最短路径树,得到从NE3至NE6的一条路径(也称为第二路径),然后根据PCEP协议从NE3处获得NE3上建立的所有MPLS-TE隧道的信息,即以NE3为入节点的所有MPLS-TE隧道的信息。接着,从NE3和第二路径上的网络设备之间建立的所有MPLS-TE隧道中,选择跨度最大并且与该业务流的优先级匹配的MPLS-TE隧道。需要说明的是,如果在第二路径中没有选中任何MPLS-TE隧道,则直接以第二路径中位于当前设备(NE3)之后的网络设备作为其在第三路径中的下一跳设备。假设选出的是NE3至NE4之间建立的MPLS-TE隧道2,根据该隧道的信息即可还原业务流通过该隧道时的具体路径。现在还原到了NE4,SDN控制器320针对NE4的计算过程类似,不过多介绍,假设确定的隧道是从NE4至NE5的MPLS-TE隧道3。
根据上述内容,目前已经还原到了NE5。如图7所示,NE5位于第一区域和第二区域的交界处,可以确定NE5是业务流流出第一区域的网络设备,同时也是业务流重新进入第二区域的网络设备。于是,SDN控制器320将针对NE5采用第二区域中的路径还原方式,以还原NE5在第三路径/目标路径中的下一跳设备……直至路径还原到业务流流出骨干网310的网络设备(即NE6),至此整个路径还原过程结束。
综上所述,SDN控制器320通过计算和分析,还原出业务流通过骨干网310时的路径为(即目标路径):NE1→MPLS-TE隧道1对应的路径→MPLS-TE隧道2对应的路径→MPLS-TE隧道3对应的路径→NE6。其中,业务流通过骨干网310中的第一区域时的路径(即第一路径)为:MPLS-TE隧道1对应的路径→MPLS-TE隧道2对应的路径→MPLS-TE隧道3对应的路径,第一路径包括多个第一节点。而业务流通过骨干网310中的第二区域时的路径(即第三路径)包括两段,一段是NE1→NE2,另一段是NE5→NE6,即有4个第二节点。
在一些可能的实施例中,SDN控制器302可以通过交互界面展示还原出来的目标路径,运维人员可以基于该目标路径逐段或逐个设备地排查故障,从而确定骨干网310中的具体的故障位置。关于交互界面的具体形式、目标路径的具体呈现形式等,本申请不做限定。
综上所述,在本申请的实施例中,SDN控制器320将路径还原所需的相关信息统一收集了起来,可以独立地(集中式的)进行路径计算还原。此时,骨干网310中的各个节点仅仅作为信息提供方(提供骨干网310的网络拓扑信息、骨干网中310的网络设备上建立的MPLS-TE隧道的信息等),而无需参与路径计算还原的过程,所以不会占用到骨干网310中的多个节点的计算资源,从而能够减少对骨干网310的网络性能的影响。而且,本申请的方案由于是通过SDN控制器320自动进行路径计算还原的,无需人工参与,路径还原的实时性和准确性较高,还可以降低运维人员的技能成本,节省运维人员的时间精力,进而能够提升运维人员的运维效率。
请参见图9,图9是本申请实施例提供的一种路径还原装置900的结构示意图,该路径还原装置900包括获取模块901、确定模块902和还原模块903。
获取模块901用于获取骨干网310的网络拓扑信息,还用于获取骨干网310中的网络设备上建立的MPLS-TE隧道的信息,其中,MPLS-TE隧道的信息包括MPLS-TE隧道对应的路径。
确定模块902用于确定业务流的流入节点和流出节点,其中,骨干网310包括上述流入节点和流出节点。
还原模块903用于基于骨干网310的网络拓扑信息和骨干网310中的网络设备上建立的MPLS-TE隧道的信息,根据目标原则还原目标路径,其中,目标路径是业务流通过骨干网310时的路径,包括上述流入节点和流出节点之间的多个节点。
在可能的实施例中,上述多个节点包括多个第一节点,多个第一节点位于部署有MPLS-TE隧道的第一区域中。
在可能的实施例中,MPLS-TE隧道的信息还包括MPLS-TE隧道的优先级;确定模块902还用于确定业务流的优先级;还原模块903具体用于:基于骨干网310的网络拓扑信息、骨干网310中的网络设备上建立的MPLS-TE隧道的信息和业务流的优先级,根据目标原则还原目标路径。
在可能的实施例中,目标原则包括内部网关协议IGP的转发捷径模式以及基于所述业务流的优先级选择匹配的MPLS-TE隧道进行转发的原则。
在可能的实施例中,上述多个节点包括多个第二节点,所述多个第二节点位于第二区域中,第二区域是运行标签发布协议LDP的区域或者是IP网络区域。
在可能的实施例中,目标原则包括最短路径转发原则。
在可能的实施例中,路径还原装置900还包括显示模块904,显示模块904用于通过交互界面展示所述目标路径。
在可能的实施例中,骨干网310包括一个或多个自治系统,获取模块901可以通过BGP-LS协议分别向上述一个或多个自治系统中的网络设备获取相应的自治系统的网络拓扑信息,从而得到骨干网310的网络拓扑信息
在可能的实施例中,获取模块901可以通过路径计算单元交互协议PCEP向骨干网310中的网络设备获取骨干网310中的网络设备上建立的MPLS-TE隧道的信息。
上述路径还原装置900可以对应于图3中的SDN控制器320,具体用于实现图5的路径还原方法的任一实施例,请参见上文描述,这里不赘述。
需要说明的是,图9的实施例提供的路径还原装置900,仅以上述各功能模块的划分进行举例说明,在实际的应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将路径还原装置900的内部结构划分成其他不同的功能模块,以完成以上描述的全部或者部分功能。
图10是本申请实施例提供的一种路径还原设备1000的结构示意图。
路径还原设备1000包括处理器1001、存储器1002以及通信接口1003,路径还原设备1000具体用于实现图5的路径还原方法中的任一实施例。其中,处理器1001、存储器1002以及通信接口1003可以通过内部总线1004相互连接,也可通过无线传输等其他手段实现通信。本申请实施例以通过总线1004连接为例,总线1004可以是外设部件互连标准(peripheral component interconnect,PCI)总线、扩展工业标准结构(extendedindustry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)总线、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)总线等。总线1004可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1001可以由至少一个通用处理器构成,例如中央处理器(centralprocessing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器1001执行各种类型的数字存储指令,例如存储在存储器1002中的软件或者固件程序,它能使路径还原设备1000提供多种服务。
存储器1002用于存储程序代码,并由处理器1001来控制执行。存储器1002可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器1002也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1002还可以包括上述种类的组合。存储器1002可以存储有程序代码,具体可以包括用于执行图5的路径还原方法的任一实施例的程序代码,这里不再赘述。
通信接口1003可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),可以为内部接口(例如高速串行计算机扩展总线(peripheralcomponent interconnect express,PCIe)总线接口)。有线接口或无线接口用于与其他设备或模块进行通信。
上述路径还原设备1000,可以对应于图3中的SDN控制器320或者图10中的路径还原装置1000,具体用于执行图5的路径还原方法中的任一实施例。
需要说明的是,本实施例可以是通用的物理服务器实现的,例如,ARM服务器或者X86服务器,也可以是基于通用的物理服务器结合NFV技术实现的虚拟机实现的,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,本申请不作具体限定。应理解,图10所示的路径还原设备1000还可以是至少一个服务器构成的服务器集群,本申请不作具体限定。路径还原设备1000还可以是主机、笔记本电脑、台式电脑、智能手机等设备,不具体限定。
还需要说明的,图10仅仅是本申请实施例的一种可能的实现方式,在实际的应用中,路径还原设备1000还可以包括更多或更少的部件,本申请不作具体限制。关于本申请实施例中未出示或未描述的内容,可参见图5的路径还原方法的实施例中的相关阐述,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在处理器上运行时,图5的任一实施例的方法得以实现。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在处理器上运行时,图5的任一实施例的方法得以实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、ROM或RAM等。
需要说明的是,以上所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
还需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“”、“该”和“任一”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任意或所有可能组合。
- 样本存储路径生成方法、装置、计算机设备及存储介质
- 路径规划方法、装置、电子设备及存储介质
- 一种配送路径规划方法、装置及设备、存储介质
- 粮食运输路径的规划方法、用户设备、存储介质及装置
- 路径追踪方法及装置、电子设备、存储介质
- 攻击路径还原方法、装置、设备及存储介质
- 攻击路径还原方法、装置、设备及存储介质