本申请实施例涉及通信技术领域,尤其涉及一种SR-BE内层隧道标签的配置方法、设备及通信系统。
背景技术:
业务数据在网络中传输时,通常从源节点设备出发,经过若干个中间节点设备以及相邻中间节点设备之间的链路组成的路径,传输到宿节点设备,宿节点设备再将业务数据传输到目标设备。为了保证传输路径中宿节点设备发生故障时,业务数据仍然能够到达目标设备,可配置两个或多个宿节点设备与目标设备连接,同时配置源节点设备到每个宿节点设备的传输路径,得到两条或多条传输路径。这种配置方式即为宿节点设备的多归保护。
段路由(Segment Routing,SR)隧道技术中的基于内部网管协议的段路由(Interior Gateway Protocol-based segments,IGP-based segments)隧道技术,也可称为段路由-尽力转发(Segment Routing Best Effort,SR-BE)隧道技术,能够简化部署多归保护的方案。因此,基于SR-BE隧道技术配置的网络保护方案的日益广泛。SR-BE隧道技术是未来重要的隧道承载技术,在基于SR-BE隧道的多归保护场景中,如何配置SR-BE隧道的内层隧道标签,以确保多归保护生效,成为亟待解决的技术问题。
技术实现要素:
本申请实施例提供了一种SR-BE内层隧道标签的配置方法、设备及通信系统,以解决现有配置方法由于不同宿节点设备的内层隧道标签不同,造成多归保护无法生效的问题。
本申请实施例的技术方案,在基于SR-BE隧道的网络的场景下实施,该网络包括第一网络侧边缘(Provider Edge,PE)设备,N个第二PE设备,第一客户侧边缘(Customer Edge,CE)设备,第二CE设备。所述第一CE设备与所述第一PE设备连接,所述第二CE设备多归连接所述N个第二PE设备。所述第一CE设备与所述第二CE设备属于同一个虚拟专用网络(Virtual Private Network,VPN)。所述第一PE设备为源节点设备,所述N个第二PE设备为N个宿节点设备。所述N个宿节点设备占用同一任播(Anycast)标签。所述Anycast标签用作所述SR-BE隧道的外层隧道标签。所述Anycast标签是第一多协议标签交换(Multi-Protocol Label Switching,MPLS)标签集中的标签。所述第一MPLS标签集中包括的任一标签被至少一个所述宿节点设备占用,N为大于等于2的整数。
第一方面,本申请实施例提供了一种SR-BE内层隧道标签的配置方法,该方法包括,
网络管理设备获取所述N个第二PE设备当前未占用的MPLS标签,得到第二MPLS标签集,所述第二MPLS标签集与所述第一MPLS标签集没有交集。
所述网络管理设备从所述第二MPLS标签集中选择一个MPLS标签作为公共内层标签;其中,所述公共内层标签是所述N个第二PE设备共用的标签,所述公共内层标签用作所述SR-BE隧道的内层隧道标签。
所述网络管理设备向所述N个第二PE设备分别发送携带有所述公共内层标签的指示信息,用于指示所述N个第二PE设备占用所述公共内层标签。
所述网络管理设备将所述公共内层标签发送至所述第一PE设备。
在该方法中,由网络管理设备为网络中的N个第二PE设备配置隧道标签。网络管理设备可以获取每个第二PE设备当前未占用的MPLS标签,进而,N个第二PE设备分别向网络管理设备分配未占用的MPLS标签,而网络管理设备可以从未占用的MPLS标签中选择一个MPLS标签作为公共内层标签。或者,遍历维护在网络管理设备中的每个MPLS标签的使用状态,从中选择出未被占用的MPLS标签。进一步的,再从未被占用的MPLS标签中选择一个MPLS标签作为公共内层标签,其中,公共内层标签是N个第二PE设备共同使用的内层标签。然后,网络管理设备配置管理协议通道,并通过该管理协议通道将公共内层标签发送给N个第二PE设备。并且,将公共内层标签发送给第一PE设备。
采用本实现方式,由网络管理设备为各个第二PE设备配置相同的内层隧道标签,使得业务数据在倒换传输路径之后,数据报文中内层隧道标签与倒换后第二PE设备的内层隧道标签能够匹配成功,从而保证业务数据的顺利传输,保证多归保护的有效性。此外,网络管理设备从第二PE设备未使用的MPLS标签中选择公共内层标签,实现简单,无须做复杂部署。
一种可选的设计中,所述公共内层标签是标记交换路径(Label Switching Path,LSP)标签,伪线(Pseudo-Wire,PW)隧道标签,或者虚拟专用网络(Virtual Private Network,VPN)私网标签。
当N个第二PE设备共用一个内层隧道标签时,从执行逻辑的角度讲,N个第二PE设备就是一条业务传输路径。例如,当公共内层标签是VPN私网标签时,N个第二PE设备共用一个VPN私网标签,从逻辑上讲,N个第二PE设备连接同一个VPN。
由此可见,由于N个第二PE设备共用一个内层隧道标签时,从执行逻辑的角度讲,N个第二PE设备就是一条业务传输路径,所以,业务传输数据无论通过哪个第二PE设备传输数据,均在同一条传输路径上,所以能够保证多归保护的有效性。
第二方面,本申请实施例还提供了一种SR-BE内层隧道标签的配置方法,该方法包括:
所述第二PE设备接收网络管理设备发送的指示信息;所述指示信息中携带公共内层标签,所述公共内层标签是所述N个第二PE设备共用的标签,所述公共内层标签用作所述SR-BE隧道的内层隧道标签;所述公共内层标签是所述网络管理设备从第二MPLS标签集中选择的一个MPLS标签,其中,所述第二MPLS标签集为所述N个第二PE设备当前未占用的MPLS标签的集合,所述第二MPLS标签集与所述第一MPLS标签集没有交集;
所述第二PE设备按照所述指示信息的指示占用所述公共内层隧道标签。
本方法以第二PE设备为执行主体,与第一方面的实现方法相对应的,N个第二PE设备分别通过各自与网络管理设备建立的管理协议通道,接收公共内层标签,并分别将该公共内层标签作为内层标签占用。具体的,每个第二PE设备中可以维护有一张以MPLS标签为索引的线性表,而该线性表中,每个表项对应设置有该MPLS标签的使用状态、标签属性和占用对象等项目,其中,使用状态对应的参数可以表示该标签是否被占用,标签属性对应的参数可以表示该标签被作为什么占用,占用对象对应的参数可以是占用该标签的设备标识。因此,本实施例中,N个第二PE设备中的任意第二PE设备,可以通过将该标签的使用状态参数修改为占用对应的参数,将该标签的标签属性修改为内层隧道标签,并将自己的设备标识添加到占用对象一栏,完成对公共内层标签的占用。其中,公共内层标签的具体获取方式,详见第一方面的描述。
采用本实现方式,能够将N个第二PE设备强制绑定成为一条业务传输路径,从而使得N个第二PE设备均能够与数据报文的内层隧道标签匹配成功,进而,使得业务数据能够顺利传输,保证多归保护的有效性。
第三方面,本申请实施例还提供了一种SR-BE内层隧道标签的配置方法,该方法包括:
所述第一PE设备接收网络管理设备发送的公共内层标签;其中,所述公共内层标签是所述N个第二PE设备共用的标签,所述公共内层标签用作所述SR-BE隧道的内层隧道标签;所述公共内层标签是所述网络管理设备从所述N个第二PE设备当前未占用的第二MPLS标签集中选择的一个MPLS标签,所述第二MPLS标签集与所述第一MPLS标签集没有交集;
所述第一PE设备根据所述公共内层标签配置所述SR-BE隧道。
本方法以第一PE设备为执行主体,与第一方面的实现方法相对应的,第一PE设备通过与网络管理设备建立的管理协议通道,接收网络管理设备发送的公共内层标签,进而,可以根据公共内层标签建立隧道。其中,公共内层标签的具体获取方式,详见第一方面的描述。
第四方面,本申请实施例还提供了一种SR-BE隧道标签的配置装置,该装置设置在网络管理设备中,包括用于执行第一方面及第一方面各实现方式的中方法步骤的模块。
第五方面,本申请实施例还提供了一种SR-BE隧道标签的配置装置,该装置设置在N个第二PE设备中的每个第二PE设备中,包括用于执行第二方面及第二方面各实现方式的中方法步骤的模块。
第六方面,本申请实施例还提供了一种SR-BE隧道标签的配置装置,该装置设置在第一PE设备中,包括用于执行第三方面及第三方面各实现方式的中方法步骤的模块。
第七方面,本申请实施例提供了一种网络管理设备,包括收发器,处理器以及存储器。其中,收发器、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面,或第一方面的任意一种可能的设计中的方法。
第八方面,本申请实施例提供了一种PE设备,包括收发器,处理器以及存储器。其中,收发器、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面的方法。
第九方面,本申请实施例还提供了一种PE设备,包括收发器,处理器以及存储器。其中,收发器、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第三方面的方法。
第十方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面、第二方面、第三方面或第一方面任意可能的设计中的方法。
第十一方面,本申请提供了一种通信系统,包括第七方面的网络设备,以及第八方面和第九方面的PE设备。
为了确保SR-BE隧道的多归保护方案生效,本申请实施例的技术方案,网络管理设备获取每个宿节点设备未占用的MPLS标签,并从未占用的MPLS标签中选择一个作为所有宿节点设备共用的内层隧道标签,从而使得网络中所有宿节点设备的内层隧道标签全部相同,即使业务数据报文在传输中途倒换路径,当传输到倒换后的宿节点设备时,业务数据报文的内层隧道标签依然能够与该该倒换后的宿节点设备的内层隧道标签匹配正确,从而能够顺利传输,进而确保多归保护有效性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的SR-BE双归保护网络的传输路径示意图;
图2是本申请实施例提供的基于SR-BE隧道的标签封装结构示意图
图3是本申请实施例提供的本方案的实施场景示意图;
图4是本申请实施例提供的SR-BE内层隧道标签的配置方法的信令交互示意图;
图5是本申请实施例基于图3提供的一种标签栈封装结构示意图;
图6是本申请实施例提供的SR-BE内层隧道标签的一种可选配置方法的信令交互示意图;
图7是本申请实施例提供的网络管理设备的虚拟装置结构示意图;
图8是本申请实施例提供的网络管理设备的实体装置结构示意图
图9是本申请实施例提供的第二PE设备的虚拟装置结构示意图;
图10是本申请实施例提供的第二PE设备的实体装置结构示意图;
图11是本申请实施例提供的第一PE设备的虚拟装置结构示意图;
图12是本申请实施例提供的第一PE设备的实体装置结构示意图;
具体实施方式
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
除非有相反的说明,本申请实施例提及“第一”以及“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
下面结合图1和图2对本申请实施例所涉及的SR-BE多归保护场景以及SR-BE隧道的标签封装结构进行示例性介绍。本领域技术人员可以理解,图1中仅以双归场景进行示例性介绍,不应理解为对本申请的限制。
图1是SR-BE双归保护网络的传输路径图,CE1可以通过两条传输路径将业务数据传输到CE2,其中,宿节点设备PE2和宿节点设备PE3均连接目标设备CE2。源节点设备PE1经中间节点设备P1和宿节点设备PE2形成一条路径,源节点设备PE1经中间节点设备P2和宿节点设备PE3形成另一条路径。假设业务数据的默认传输路径是,从源节点设备PE1经中间节点设备P1到达宿节点设备PE2。但是,若宿节点设备PE2的入口故障,那么,当业务数据传输到中间节点设备P1时,由中间节点设备P1转发到中间节点设备P2,并经中间节点设备P2传输到宿节点设备PE3。
将SR技术应用于图1所示的传统的双归保护场景中,可以有效的简化隧道技术,并且仅通过对源节点的报文进行标签操作即可任意控制业务路径,实现流量调优,并且SR可以基于例如支持拓扑独立无循环交替的快速重路由(Topology Independent Loop-free Alternate Fast Re-route,TI-LFA)做到本地节点任意保护,提高了报文传输的可靠性。
通常,SR隧道技术,是基于内部网关协议(Interior Gateway Protocol,IGP)扩展实现的一种MPLS技术。其中,Segment实质上是MPLS标签,Routing表示路由,而MPLS标签是对应路由的一个片段标识,因此定义为Segment of Routing,简称为Segment Routing(SR)。SR的实施模式包括但不限于段路由流量工程(Segment Routing Traffic Engineering,SR-TE)模式和SR-BE模式等。
基于SR-BE隧道的网络,通过设置外层隧道标签和内层隧道标签来标记业务转发路径。SR-BE隧道的外层隧道标签配置为Anycast标签时,Anycast标签用于标识一组(多个)节点的IGP路由的MPLS标签。参考图1,PE2和PE3在逻辑上作为一个节点组,Anycast标签lable F用于标识到达该节点组的IGP路由的MPLS标签,即在源节点PE1处,对报文进行Anycast标签操作即可以控制到达包括宿节点PE2和PE3的节点组的报文转发路径。当报文到达宿节点PE2或PE3后,外层隧道标签被剥离,宿节点设备匹配数据报文的内层隧道标签,当匹配正确时,通过内层隧道标签指导业务转发。例如,当内层隧道标签是虚拟专用网络(Virtual Private Network,VPN)标签(也可以称之为VPN私网标签)时,宿节点根据该VPN标签的指示,将报文转发到该VPN标签所标识的VPN。有鉴于此,在基于SR-BE隧道技术配置多归保护时,可以简化掉与中间路径和路径切换相关的配置,仅配置指示源节点设备到宿节点设备的外层隧道标签以及指示宿节点设备业务转发的内层隧道标签即可,因此,基于SR-BE技术配置多归保护被广泛使用。
然后,在现有的基于SR-BE隧道技术中,内层隧道标签配置要求是,由下游节点设备向上游节点设备扩散内层隧道标签,且宿节点设备的内层隧道标签由宿节点设备自身配置,因此,多归保护网络中的各个宿节点设备所配置的内层隧道标签相互之间均不相同。结合图1,即,宿节点设备PE2和PE3所配置的内层隧道标签不同,而业务数据的数据报文传输时,默认的传输路径是宿节点设备PE2所在的路径,所以,数据报文的内层隧道标签是宿节点设备PE2的内层隧道标签,而当宿节点设备PE2的入口故障时,传输业务需要倒换到宿节点设备PE3所在的路径上。由于倒换传输业务时不修改内层隧道标签,因此,数据报文的内层隧道标签和宿节点设备PE3的内层隧道标签不匹配,从而导致宿节点设备PE3无法继续传输业务数据,进而造成多归保护无法生效。
具体的,参见图2,图2是本申请实施例提供的基于SR-BE隧道的标签封装结构图,其中,外层隧道标签是Anycast标签,结合图1所示的双归保护路径,Anycast标签是将宿节点设备PE2和宿节点设备PE3绑定,并虚拟成为一个集群,进而,为该集群分配的一个公共外层隧道标签。具体的,Anycast标签基于IGP分配至宿节点设备PE2和PE3,然后,宿节点设备PE2向中间节点设备P1通告该Anycast标签,宿节点设备PE3向中间节点设备P2通告该Anycast标签,直到源节点设备PE1,而源节点设备PE1根据Anycast标签,可以计算数据报文在传输网络中的最短传输路径,例如,源节点设备PE1、中间节点设备P1和宿节点设备PE2形成的路径。
在配置内层隧道标签时,宿节点设备PE2和宿节点设备PE3分别从自己的MPLS标签中,选择一个MPLS标签作为自己的内层隧道标签,并分别将自己的内层隧道标签通告给源节点设备PE1。源节点设备PE1接收到宿节点设备PE2和宿节点设备PE3的内层隧道标签后,由于所确定的转发路径的宿节点设备是PE2,当数据报文传输到宿节点设备PE2时,宿节点设备PE2需要按照内层隧道标签指示的业务路径继续传输业务数据,因此,将PE2的内层隧道标签压入标签栈,得到图2所示的基于SR-BE隧道的标签封装结构图。
基于图2所示的标签封装结构,当源节点设备PE1传输数据报文时,按照所确定的最短传输路径所指示的下一跳节点设备,将数据报文传输到中间节点设备P1,中间节点设备P1接收到数据报文后,将标签栈的外层隧道标签剥离,并压入与该中间节点设备P1的外层隧道标签,本实施场景中,P1的外层隧道标签同样是Anycast标签。然后,根据后压入的Anycast标签的指示,能够获知下一跳节点设备是宿节点设备PE2,从而可以检测宿节点设备PE2的入口是否故障,当宿节点设备PE2的入口故障时,中间节点设备P1重新计算最短传输路径,得知从中间节点设备P2将数据报文传输到宿节点设备PE3为最短传输路径,然后,将传输接口修改为传输到中间节点设备P2的接口,并通过中间节点设备P2将数据报文传输到宿节点设备PE3。当然,中间节点设备P2接收到数据报文之后,将标签栈中与P1对应的Anycast标签剥离,并压入与P2对应的Anycast标签。宿节点设备PE3接收到数据报文之后,将标签栈的Anycast标签剥离,读取内层隧道标签,并与自己所设置的内层隧道标签相匹配。
由于内层隧道标签所指示的是宿节点设备传输数据报文的一条业务传输路径,宿节点设备PE3匹配所读取内层隧道标签与自己所设置的内层隧道标签,实质上是确定所读取的内层隧道标签对应的业务传输路径,与自己所设置的业务传输路径是否相同,如果两条传输路径相同,则可以进入该传输路径继续传输业务数据。而由于宿节点设备PE3所读取的内层隧道标签是宿节点设备PE2设置的内层隧道标签,即,PE2所设置的业务传输路径,与宿节点设备PE3所设置的业务传输路径不匹配,所以,宿节点设备PE3根本无法继续传输业务数据。由此可见,现有的内层隧道标签生成方法将会导致多归保护失效,有鉴于此,本领域技术人员提出了本申请实施例的技术方案。
下面结合附图,对本申请实施例进行描述。
本申请方案应用于SR-BE隧道的网络中,其中,SR-BE隧道的网络包括第一PE设备,N个第二PE设备,第一CE设备和第二CE设备,具体的,第一CE设备与第一PE设备连接,第二CE设备多归连接N个第二PE设备,第一CE设备与第二CE设备属于同一个VPN,第一PE设备为源节点设备,N个第二PE设备为N个宿节点设备,并且,N个第二PE设备的外层隧道标签是同一个Anycast标签。所述Anycast标签用作所述SR-BE隧道的外层隧道标签,所述Anycast标签是第一多协议标签交换MPLS标签集中的标签,所述第一MPLS标签集中包括的任一标签被至少一个所述宿节点设备占用,其中,N为大于等于2的整数。下面结合图3至图6,对本申请实施例所提供的方法进行具体描述。
参见图3,图3是本申请实施例提供的本方案的实施场景图。本申请所述的第一PE设备,例如可以是图3所示的PE30,第一CE设备例如可以是图3所示的CE31,N个第二PE设备例如可以是图3所示的PE31,PE32至PE3N,第二CE设备例如可以是图3所示的CE32。本申请实施例中,CE31将业务数据发送到CE32。本申请中所述的网络管理设备例如可以是网管或者SDN控制器,或者其它专用的能够起到集中式管理或者控制的设备。PE30是网络的源节点设备,N个第二PE设备PE31至PE3N是网络的N个宿节点设备,并且,配置同一个Anycast标签。节点设备P31至节点设备P3N是网络的中间节点设备,第一CE设备CE31与第一PE设备PE30连接,第二CE设备CE32与N个第二PE设备PE31至PE3N多归连接。本申请实施例在执行时,由网络管理设备向第二PE设备PE31至PE3N配置一个相同的内层隧道标签,从而即使业务数据报文在传输中途倒换路径,也能够顺利传输,进而能够确保多归保护有效性。
其中,结合图3所示的实施场景可知,本方案在执行时,网络管理设备与网络中每个第二PE设备之间的数据交互基本相同,为了便于描述,下面以N个第二PE设备中一个第二PE设备为例,对本方案的执行过程进行描述。
参见图4,图4是本申请实施例提供的SR-BE内层隧道标签的配置方法的信令交互图。本实施例提供了一种方法500,包括:
S501,网络管理设备获取第二PE设备当前未占用的MPLS标签,得到第二MPLS标签
集,所述第一MPLS标签集和所述第二MPLS标签集没有交集。
S502,网络管理设备从第二MPLS标签集中选择一个MPLS标签作为公共内层标签。
S503,网络管理设备向第二PE设备发送指示信息。
S504,第二PE设备响应指示信息占用公共内层标签。
S505,网络管理设备将公共内层标签发送至网络的第一PE设备。
S506,第一PE设备根据公共内层标签配置隧道。
其中,本申请实施例中,公共内层标签指的是网络设备的N个第二PE设备共用的标签,并且该公共内层标签用作SR-BE隧道的内层隧道标签,而作为公共内层标签的MPLS标签可以是LSP标签,PW隧道标签或者VPN私网标签。当N个第二PE设备共用一个内层隧道标签时,从执行逻辑的角度讲,N个第二PE设备就是一条业务传输路径。例如,当公共内层标签是VPN私网标签时,N个第二PE设备共用一个VPN私网标签,用于标识同一个VPN,从逻辑上讲,N个第二PE设备连接同一个VPN。
需要指出的是,每个PE设备中可以维护有一张以MPLS标签为索引的线性表,而该线性表中,每个表项对应设置有该MPLS标签的使用状态、标签属性和占用对象等项目,其中,使用状态对应的参数可以表示该标签是否被占用,标签属性对应的参数可以表示该标签被作为什么占用,占用对象对应的参数可以是占用该标签的设备标识。基于此,当作为公共内层标签的MPLS标签被占用时,可以将该标签的使用状态参数修改为占用对应的参数,将该标签的标签属性修改为内层隧道标签,将该标签对应是占用对象添加为N个第二PE设备的设备标识。具体的,由于MPLS标签的结构和内容是本领域较为成熟的技术,本申请实施例此处不再详述。
通常,每个第二PE设备均配置有多个MPLS标签,而基于MPLS标签的特性,该多个MPLS标签中哪个MPLS标签已经被占用,哪个MPLS标签当前未被占用,均可通过读取相应MPLS标签的使用状态获知。然而,由于每个第二PE设备的MPLS标签可以维护在相应宿设备中,也可以维护在网络管理设备中,因此,本实施例中,网络管理设备从第二PE设备当前未占用的MPLS标签集中确定公共内层标签,可以包括但不限于以下两种实施方式。
方式一:当MPLS标签维护在第二PE设备中时,网络管理设备可以向N个第二PE设备发送获取请求,以获取每个第二PE设备当前未占用的MPLS标签,进而,N个第二PE设备分别向网络管理设备分配未占用的MPLS标签,而网络管理设备可以从未占用的MPLS标签中选择一个MPLS标签作为公共内层标签。
方式二:当MPLS标签维护在网络管理设备中时,网络管理设备可以遍历每个MPLS标签的使用状态,从中选择出未被占用的MPLS标签,进一步的,再从未被占用的MPLS标签中选择一个MPLS标签作为公共内层标签。
需要指出的是,第二PE设备当前未占用的MPLS标签可以有多个,此时,网络管理设备可以从中随机选择一个MPLS标签作为公共内层标签,本申请实施例对此不做限制。
例如,结合图3,假设图3中N个第二PE设备的MPLS标签具体是VPN私网标签,第二PE设备PE31中维护有VPN私网标签VPN1,VPN私网标签VPN2和VPN私网标签VPN3,而第二PE设备PE31已经占用了VPN私网标签VPN1和VPN私网标签VPN3。第二PE设备PE32中维护有VPN私网标签VPN4,VPN私网标签VPN5和VPN私网标签VPN6,而第二PE设备PE32已经占用了VPN私网标签VPN4,依此类推,得到第二PE设备PE3N中维护有VPN私网标签VPN10,VPN私网标签VPN11和VPN私网标签VPN12,而第二PE设备PE3N已经占用了VPN私网标签VPN12。那么,网络管理设备可以向第二PE设备PE31、PE32直到第二PE设备PE3N发送获取未占用的VPN私网标签的请求,第二PE设备PE31响应该请求将VPN私网标签VPN2分配到网络管理设备,第二PE设备PE32响应该请求将VPN私网标签VPN5和VPN私网标签VPN6分配到网络管理设备,第二PE设备PE3N响应该请求将VPN私网标签VPN10和VPN私网标签VPN11分配到网络管理设备,网络管理设备从VPN私网标签VPN2、VPN私网标签VPN5、VPN私网标签VPN6、VPN私网标签VPN10和VPN私网标签VPN11中随机选择一个VPN私网标签作为公共内层隧道标签,例如,VPN私网标签VPN6,然后,配置第二PE设备PE31至第二PE设备PE3N占用VPN私网标签VPN6。
需要说明的是,本实施例中,网络管理设备确定公共内层标签之后,可以生成指示信息,并将该公共内层标签携带在该指示信息中,发送到N个第二PE设备。具体的,本实施例中,网络管理设备可以分别通过N个管理协议通道与N个第二PE设备进行通信,分别通过所述N个管理协议通道向N个第二PE设备发送指示信息。其中,所述管理协议通道可以是基于,例如,开放流(OpenFlow)协议、路径计算元素协议(Path Computation Element Protocol,PCEP)或者网络配置(Network Configuration,NetConf)协议所添加的扩展命令。具体的,例如可以基于OpenFlow新定义一个私有类型-长度-值(type,length,value,TLV),在PCEP消息中新增一个对象或者在NetConf中新增命令字,以携带所述指示信息。在将指示信息发送到N个第二PE设备之后,网络管理设备将公共内层标签发送给第一PE设备,以指示第一PE设备建立SR-BE隧道。
由此可见,本方案由网络管理设备为各个第二PE设备配置相同的内层隧道标签,使得业务数据在倒换传输路径之后,数据报文中内层隧道标签与倒换后第二PE设备的内层隧道标签能够匹配成功,从而保证业务数据的顺利传输,保证多归保护的有效性。此外,网络管理设备从第二PE设备未使用的MPLS标签中选择公共内层标签,实现简单,无须做复杂部署。
下面结合实例对本方案的执行过程进行描述。
再次参见图3,以第二PE设备PE31至第二PE设备PE3N的Anycast标签均是1001,网络管理设备是SDN控制器,采用基于Openflow协议的控制通道为例进行介绍,参见图6,本实施例的内层隧道标签配置方法600,包括:
S601,SDN控制器从第二PE设备PE31至第二PE设备PE3N当前未占用的VPN私网标签中选择一个VPN私网标签作为第二PE设备PE31至第二PE设备PE3N的公共内层隧道标签,例如VPN私网标签1030。
S602,SDN控制器向N个第二PE设备发送N个消息1,每个消息1中携带所述确定的公共内层隧道标签。
所述消息1例如可以是扩展的开放消息。通过在开放消息中新定义一个类型长度值TLV字段,将所述确定的公共内层隧道标签分别发送至第二PE设备PE31至第二PE设备PE3N。所述TLV字段中的类型T字段,用于指示该TLV字段携带的是SR-BE隧道的公共内层隧道标签,并指示每个第二PE设备占用该公共内层隧道标签;所述TLV字段中的长度L字段用于标识V字段中所携带的信息的长度;所述TLV字段中的值V字段用于携带所述公共内层隧道标签。
S603,N个第二PE设备分别占用上述确定的公共内层隧道标签,例如VPN私网标签1030。
具体的,第二PE设备PE31至第二PE设备PE3N,分别通过在线性表中将VPN私网标签1030的使用状态参数修改为被占用,将其标签属性标记为私网标签,将占用对象标记为第二PE设备PE31至第二PE设备PE3N的设备标识,表示该VPN标签已经被第二PE设备PE31至第二PE设备PE3N作为私网标签占用。
S604,SDN控制器将该公共内层隧道标签发送至第一PE设备,例如PE30。
具体的,SDN控制器可以将VPN私网标签1030以通告的方式发送至第一PE设备PE30。
第一PE设备PE30接收VPN私网标签1030之后,可以根据Anycast标签1001的标示,计算一条最短传输路径,其中,最短传输路径是转发节点设备数量最少的路径,例如,路径301。进而,第一PE设备PE30根据路径301的外层隧道标签,Anycast标签1001,以及路径301的宿节点设备PE31的内层隧道标签,VPN私网标签1030,配置标签栈,得到图5所示的标签栈封装结构图。
例如,本实施例将第一CE设备CE31的业务数据传输到第一CE设备CE32,当第一CE设备CE31将业务数据发送到第一PE设备PE30后,第一PE设备PE30将图5所示的标签栈和第一CE设备CE31的业务数据配置形成数据报文,通过路径301传输该数据报文。
具体的,PE30按照路径301将数据报文传输到中间节点设备P31,P31剥离PE30压入的Anycast标签1001,并压入P31对应的Anycast标签1001,进而,根据P31对应的1001的指示,能够得知自己的下一跳节点是第二PE设备PE31,从而能够在传输前检测第二PE设备PE31的入口是否故障,若第二PE设备PE31的入口正常运行,中间节点设备P31则将数据报文传输到第二CE设备PE31;若第二PE设备PE31的入口故障,则触发TI-LFA保护倒换机制,即,中间节点设备P31重新计算一条最短传输路径,并切换到重新确定的最短传输路径上继续传输数据报文。例如,中间节点设备P31确定的最短路径为路径302,那么,中间节点设备P31将数据报文传输到路径302的中间节点设备P32,P32剥离P31对应的Anycast标签1001,压入P32对应的1001,再继续传输数据报文到第二PE设备PE32,最后,将数据报文传输到第二CE设备CE32。
当数据报文传输到第二PE设备PE31或者第二PE设备PE32之后,剥离外层隧道标签Anycast标签1001,并读取内层隧道标签VPN私网标签1030。由于第二PE设备PE31至第二PE设备PE3N的VPNS私网标签均是1030,所以,相当于第二PE设备PE31至第二PE设备PE3N连接到了一个VPN,即,第二PE设备PE31至第二PE设备PE3N根据VPNS私网标签1030均能够进入自己的业务传输路径。因此,数据报文由第二PE设备PE31至第二PE设备PE3N中的任一第二PE设备传输,私网标签均能够匹配成功,进而,进入相应的传输路径继续传输。
当然,图5和图6对应的实施例仅为本申请的一个可选实施例,在图5和图6基础上的任何扩展和变形方案,均属于本申请实施例的保护范畴。
综合上述,本申请实施例的SR-BE内层隧道标签的配置方法,由网络管理设备从未占用的MPLS标签中选择一个作为所有第二PE设备的内层隧道标签,从而能够在不增加部署复杂性的情况下,部署多归保护网络,而且,将所有第二PE设备的内层隧道标签设置为相同,能够保证数据报文的内层隧道标签与任意第二PE设备的内层隧道标签匹配正确,从而能够顺利传输,确保多归保护有效性。
图7是本申请实施例提供的一种网络管理设备700的示意图。该网络管理设备700可以应用于图3所示的场景中,用于执行图4所对应的方法。如图7所示,该网络管理设备700包括处理模块701和收发模块702。该收发模块702具体可以用于执行上述方法500中所述网络设备执行的各种信息收发;该处理模块701具体用于执行上述方法500中所述网络设备除了信息收发之外的其它处理。
例如,该处理模块701可以用于获取所述N个第二PE设备当前未占用的多协议标签交换MPLS标签,得到MPLS标签集,并从所述MPLS标签集中选择一个MPLS标签作为公共内层标签。该收发模块702可以用于向所述N个第二PE设备分别发送携带有所述公共内层标签的第一指示信息指示信息。
具体内容以参考方法500中相关部分的描述,此处不再赘述。
应理解,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发模块702可以由收发器实现,处理模块701可以由处理器实现。如图8所示,网络管理设备700可以包括处理器801、收发器802和存储器803。其中,存储器803可以用于存储网络管理设备700出厂时预装的程序/代码,也可以存储用于处理器801执行时的代码等。
应理解,根据本申请实施例的网络管理设备700可对应于根据本申请实施例的方法500中的网络设备,其中收发器802用于执行方法500中所述网络设备执行的各种信息收发,处理器801用于执行方法500中所述网络设备除了信息收发以外的其它处理。在此不再赘述。
相应的,图9是本申请实施例提供的一种PE设备900的示意图。该PE设备900可以作为第二PE设备应用于图3所示的场景中,用于执行图4所对应的方法。如图9所示,该PE设备900包括处理模块901和收发模块902。该收发模块902具体可以用于执行上述方法500中所述第二PE设备执行的各种信息收发;该处理模块901具体用于执行上述方法500中所述第二PE设备除了信息收发之外的其它处理。
例如,该收发模块902可以用于接收网络管理设备发送的指示信息;所述指示信息中携带公共内层标签。该处理模块901可以用于按照所述指示信息的指示占用所述公共内层隧道标签。
具体内容以参考方法500中相关部分的描述,此处不再赘述。
应理解,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发模块902可以由收发器实现,处理模块901可以由处理器实现。如图10所示,PE设备900可以包括处理器1001、收发器1002和存储器1003。其中,存储器1003可以用于存储PE设备900出厂时预装的程序/代码,也可以存储用于处理器1001执行时的代码等。
应理解,根据本申请实施例的PE设备900可对应于根据本申请实施例的方法500中的第二PE设备,其中收发器1002用于执行方法500中所述第二PE设备执行的各种信息收发,处理器1001用于执行方法500中所述第二PE设备除了信息收发以外的其它处理。在此不再赘述。
相应的,图11是本申请实施例提供的一种PE设备1100的示意图。该PE设备1100可以作为第一PE设备应用于图3所示的场景中,用于执行图4所对应的方法。如图11所示,该PE设备1100包括处理模块1101和收发模块1102。该收发模块1102具体可以用于执行上述方法500中所述第一PE设备执行的各种信息收发;该处理模块1101具体用于执行上述方法500中所述第一PE设备除了信息收发之外的其它处理。
例如,该收发模块1102可以用于接收网络管理设备通告的公共内层标签。该处理模块1101可以用于根据所述公共内层标签配置隧道。
具体内容以参考方法500中相关部分的描述,此处不再赘述。
应理解,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发模块1102可以由收发器实现,处理模块1101可以由处理器实现。如图12所示,PE设备1100可以包括处理器1201、收发器1202和存储器1203。其中,存储器1203可以用于存储PE设备1100出厂时预装的程序/代码,也可以存储用于处理器1201执行时的代码等。
应理解,根据本申请实施例的PE设备1100可对应于根据本申请实施例的方法500中的第一PE设备,其中收发器1202用于执行方法500中所述第一PE设备执行的各种信息收发,处理器1201用于执行方法500中所述第一PE设备除了信息收发以外的其它处理。在此不再赘述。
本申请实施例提供了一种的通信系统。该通信系统包括网络管理设备、第一PE设备和N个第二PE设备。其中,网络管理设备可以是图7或者图8对应的实施例所提供的网络管理设备,第一PE设备可以是图11或图12对应的实施例所提供的第一PE设备,所述第二PE设备可以是图9或者图10对应的实施例所提供的第二PE设备。所述通信系统用于执行图4和图6对应的实施例中的方法500或方法600。
具体实现中,对应网络管理设备、第一PE设备和第二PE设备,本申请实施例还分别提供一种计算机存储介质,其中,设置在任意设备中计算机存储介质可存储有程序,该程序执行时,可实施包括图3至图6提供的SR-BE内层隧道标签的配置方法的各实施例中的部分或全部步骤。任意设备中的存储介质均可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请实施例中,收发器可以是有线收发器,无线收发器或其组合。有线收发器例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线收发器例如可以为无线局域网收发器,蜂窝网络收发器或其组合。处理器可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:appl ication-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard di sk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。
图8、图10以及图12中还可以包括总线接口,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器提供用于在传输介质上与各种其他设备通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。
本领域技术任何还可以了解到本申请实施例列出的各种说明性逻辑块(illustrative logical block)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于UE中。可选地,处理器和存储媒介也可以设置于UE中的不同的部件中。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。