CN106375105B - 一种确定路径故障的方法、控制器、交换机和*** - Google Patents
一种确定路径故障的方法、控制器、交换机和*** Download PDFInfo
- Publication number
- CN106375105B CN106375105B CN201510443925.8A CN201510443925A CN106375105B CN 106375105 B CN106375105 B CN 106375105B CN 201510443925 A CN201510443925 A CN 201510443925A CN 106375105 B CN106375105 B CN 106375105B
- Authority
- CN
- China
- Prior art keywords
- path
- interchanger
- label
- flow entry
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Abstract
本发明公开了一种确定路径故障的方法、控制器、交换机和***,控制器通过对待探测路径上包含的各个交换机预置流表项,指示交换机在收到故障追踪报文后上报其所在路径的路径标签,控制器将对应收到的该路径标签的交换机信息,与预先确定的对应该路径标签的待探测路径包含的各交换机信息进行比对,根据比对结果确定待探测路径是否出现故障,其中,控制器只需向待探测路径上的起始交换机下发一个故障追踪报文即可完成至少一条路径的探测,提高了路径探测的效率;并且整个过程交换机只需在控制器的控制下完成报文转发和信息上报等数据层的功能,符合SDN中控制面板与转发面分离的特性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种确定路径故障的方法、控制器、交换机和***。
背景技术
软件定义网络(英文:Software Defined Network,简称:SDN)掀起了一场网络领域的革命,它凭借控制与转发分离的理念,将控制层面收缩至控制器,便于全局监控和管理数据中心网络设备。随着SDN各种关键技术的不断研究、探讨和成熟,SDN也逐渐被运营商/云服务提供商作为管理数据中心网络的优选方案。
OpenFlow协议是SDN中控制器控制转发面设备的一种网络通信协议,实现了数据层和控制层的分离。OpenFlow网络由OpenFlow交换机和控制器(英文:Controller)通过OpenFlow通道(英文:OpenFlow Channel)组成,其中控制器是控制中心,根据用户的配置或者动态运行的协议生成流表(英文:Flow Table)发送到OpenFlow交换机。控制器上可能运行实验程序,或者第三方开发的软件等等。OpenFlow交换机接收控制器设置的流表,并根据流表进行报文处理,向控制器上报OpenFlow交换机的状态和事件。流表是OpenFlow交换机进行转发策略控制的核心数据结构,包括匹配域(英文:Match)、计数器(英文:Counter)和行动域(英文:Action)。
但控制器和OpenFlow交换机均无法获知报文的实际传输情况,从而无法确定报文的转发路径是否故障。为了解决这个问题,可以将传统的多协议标签交换(英文:Multi-Protocol Label Switching,简称:MPLS)中的标签交换路径(英文:Label-Switched Path,简称:LSP)路径追踪(英文:TraceRoute)方案应用到SDN中,对报文的转发路径进行追踪。
MPLS LSP路径追踪方案由LSP上的源端节点(如一条转发路径上的起始交换机或路由器)发送生存时间(英文:Time To Live,简称:TTL)步进为1的MPLS Echo Request报文,让LSP沿途节点在依次收到TTL超时的Echo Request报文时,返回携带当前节点的下游信息(包括当前节点的下一跳地址和出标签等信息)的MPLS Echo Reply报文给源端节点,从而令源端节点可以获取到LSP上的每一个节点的信息,以及确定LSP是否发生故障。
例如,在图1中,R1、R2、R3和R4构成一条LSP,R1为该LSP上的起始路由器,当在R1上执行针对R4的LSP路径追踪时,R1依次向R2、R3和R4发送TTL为1、2和3的MPLS Echo Request报文,并根据R2、R3和R4是否返回MPLS Echo Reply报文确定该LSP是否发生故障。
虽然在SDN场景中使用MPLS中的LSP路径追踪方案可以探测报文的实际转发路径是否故障,但也存在以下问题:
第一,随着转发路径上交换机数量的增加,转发路径上的起始交换机需要发送的MPLS Echo Request报文的数量也将增加,导致了追踪效率的下降。
第二,SDN中OpenFlow交换机只用于数据层的转发,但MPLS中的LSP路径追踪方案需要OpenFlow交换机完成MPLS Echo报文的初始化等控制层的功能,不符合SDN中控制面与转发面分离的特性。
发明内容
本发明实施例提供一种确定路径故障的方法、控制器、交换机和***,用以解决随着转发路径上交换机数量的增加导致追踪效率下降,以及MPLS的LSP路径追踪方案不符合SDN的控制面与转发面的分离特性的问题。
第一方面,本发明实施例提供了一种确定路径故障的方法,包括:
控制器确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;
所述控制器根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
所述控制器接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;
所述控制器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;
若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
结合第一方面,在第一方面的第一种可能的实现方式中,所述控制器分别向所述待探测路径上的各个交换机下发流表项,包括:
所述控制器向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
所述控制器向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
所述控制器向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
结合第一方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述控制器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述方法还包括:
所述控制器向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
结合第一方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述控制器分别向所述待探测路径上的各个交换机下发流表项之前,还包括:
所述控制器设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或
所述控制器设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
第二方面,本发明实施例提供了一种确定路径故障的方法,包括:
交换机接收控制器下发的流表项;
所述交换机为控制器确定的待探测路径上的任意一个交换机,所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
所述交换机在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
结合第二方面,在第二方面的第一种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第二方面、第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述交换机接收故障追踪报文,包括:
所述交换机接收所述控制器发送的故障追踪报文;
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述交换机接收故障追踪报文,包括:
所述交换机接收在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
结合第二方面和第二方面的第一种至第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述交换机确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述交换机确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述交换机确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述交换机确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配。
结合第二方面和第二方面的第一种至第四种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述方法还包括:
所述交换机在确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或
所述交换机根据所述控制器在所述流表项中设置的存活时长T1,在接收到所述流表项后经过T1时长删除所述流表项;或
所述交换机根据所述控制器在所述流表项中设置的存活时长T2,在接收到所述故障追踪报文后经过T2时长删除所述流表项。
第三方面,本发明实施例提供了一种控制器,包括:
分配单元,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;
发送单元,用于根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
接收单元,用于接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签;
存储单元,用于将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;
比对单元,用于将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
结合第三方面,在第三方面的第一种可能的实现方式中,所述发送单元具体用于:
向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第三方面、第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
结合第三方面和第三方面的第一种至第三种可能的实现方式中的任意一种,在第三方面的第四种可能的实现方式中,在所述比对单元将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述发送单元还用于:
向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
结合第三方面和第三方面的第一种至第三种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,所述控制器还包括:
设置单元,用于在所述发送单元分别向所述待探测路径上的各个交换机下发流表项之前,设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或,设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
第四方面,本发明实施例提供了一种交换机,所述交换机为控制器确定的待探测路径上的任意一个交换机,所述交换机包括:
接收单元,用于接收控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
确定单元,用于在所述接收单元接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
结合第四方面,在第四方面的第一种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示、以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第四方面、第四方面的第一种或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述接收单元接收故障追踪报文,包括:
所述接收单元接收所述控制器发送的故障追踪报文;
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述接收单元接收故障追踪报文,包括:
所述接收单元接收在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
结合第四方面和第四方面的第一种至第四种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述确定单元确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述确定单元确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述确定单元确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述确定单元确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配。
结合第四方面和第四方面的第一种至第四种可能的实现方式中的任意一种,在第四方面的第六种可能的实现方式中,所述交换机还包括:
删除单元,用于在所述确定单元确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T1,在所述接收单元接收到所述流表项后经过T1时长删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T2,在所述接收单元接收到所述故障追踪报文后经过T2时长删除所述流表项。
第五方面,本发明实施例提供了一种控制器,包括:
处理器,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;
收发器,用于根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;以及接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签;
存储器,用于将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;
所述处理器还用于,将所述存储器存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
结合第五方面,在第五方面的第一种可能的实现方式中,所述收发器具体用于:
向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述第一流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第五方面、第五方面的第一种或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
结合第五方面和第五方面的第一种至第三种可能的实现方式中的任意一种,在第五方面的第四种可能的实现方式中,在所述处理器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述收发器还用于:
向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
结合第五方面和第五方面的第一种至第三种可能的实现方式中的任意一种,在第五方面的第五种可能的实现方式中,所述处理器还用于:
在所述收发器分别向所述待探测路径上的各个交换机下发流表项之前,设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或,设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
第六方面,本发明实施例提供了一种交换机,所述交换机为控制器确定的待探测路径上的任意一个交换机,所述交换机包括:
收发器,用于接收控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
处理器,用于在所述收发器接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示,指示所述收发器将所述路径标签上报给所述控制器。
结合第六方面,在第六方面的第一种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
结合第六方面、第六方面的第一种或第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
结合第六方面的第三种可能的实现方式,在第六方面的第四种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述收发器接收故障追踪报文,包括:
所述收发器接收所述控制器发送的故障追踪报文;
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述收发器接收故障追踪报文,包括:
所述收发器接收在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
结合第六方面和第六方面的第一种至第四种可能的实现方式中的任意一种,在第五方面的第五种可能的实现方式中,
若所述交换机为所述待探测路径上的起始交换机,则所述处理器确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述处理器确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述处理器确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述处理器确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配。
结合第六方面和第六方面的第一种至第四种可能的实现方式中的任意一种,在第六方面的第六种可能的实现方式中,所述处理器还用于:
在确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T1,在所述收发器接收到所述流表项后经过T1时长删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T2,在所述收发器接收到所述故障追踪报文后经过T2时长删除所述流表项。
第七方面,本发明实施例提供了一种确定路径故障的***,包括:
控制器,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障;
交换机,为所述控制器确定的待探测路径上的任意一个交换机,用于接收所述控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
利用本发明实施例提供的方案,控制器通过对待探测路径上包含的各个交换机预置流表项,指示交换机在收到故障追踪报文后上报其所在路径的路径标签,控制器将对应收到的该路径标签的交换机信息,与预先确定的对应该路径标签的待探测路径包含的各交换机信息进行比对,根据比对结果确定待探测路径是否出现故障,其中,控制器只需下发一个故障追踪报文即可完成至少一条路径的探测,提高了路径探测的效率;并且整个过程交换机只需在控制器的控制下完成报文转发和信息上报等数据层的功能,符合SDN中控制面板与转发面分离的特性。
附图说明
图1为现有技术下LSP路径追踪过程的示例图;
图2为本发明实施例提供的一种控制器侧确定路径故障的方法流程图;
图3为本发明实施例提供的一种SDN的场景示意图;
图4为本发明实施例提供的一种交换机侧确定路径故障的方法流程图;
图5为本发明实施例提供的一种控制器的结构示意图;
图6为本发明实施例提供的一种交换机的结构示意图;
图7为本发明实施例提供的另一种控制器的结构示意图;
图8为本发明实施例提供的另一种交换机的结构示意图。
具体实施方式
本发明实施例提供了一种确定路径故障的方法、控制器、交换机和***,控制器通过对待探测路径上包含的各个交换机预置流表项,指示交换机在收到故障追踪报文后上报其所在路径的路径标签,控制器将对应收到的该路径标签的交换机信息,与预先确定的对应该路径标签的待探测路径包含的各交换机信息进行比对,根据比对结果确定待探测路径是否出现故障,其中,控制器只需下发一个故障追踪报文即可完成至少一条路径的探测,提高了路径探测的效率;并且整个过程交换机只需在控制器的控制下完成报文转发和信息上报等数据层的功能,符合SDN中控制面板与转发面分离的特性。
这里需要指出的是,本发明中所说的交换机指的是OpenFlow交换机,支持OpenFlow协议。
下面结合说明书附图和各实施例对本发明技术方案进行说明。
参阅图2所示,本发明一实施例提供了一种控制器侧确定路径故障的方法,其流程如下:
步骤201:控制器确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签。
其中,交换机对应的交换机信息,可以是交换机的互联网协议(英文:InternetProtocol,简称:IP)地址和媒体接入控制(英文:Medium Access Control,简称:MAC)地址,也可以是能唯一标识所述交换机的名字或字符等,如S1,或一段十六进制的字符串等。所述路径标签可以是能唯一标识所述待探测路径的名字或字符等,例如,可以将交换机1→交换机2→交换机3这条路径的路径标签定义为P1。
如图3所示,交换机S1~S7通过OpenFlow协议连接到控制器上后,控制器可以通过OpenFlow协议收集各交换机的端口信息(如各交换机通过哪个端口与下一个交换机相连)和整体网络的拓扑结构。若控制器需要探测S1和S7之间的路径是否故障,可以根据网络的拓扑结构采用相关的算法,如开放式最短路径优先(英文:Open Shortest Path First,简称:OSPF)算法,进行从S1到S7所有可达路径的筛选,假设筛选到的可达路径包含的各交换机的信息如下:
路径1:S1→S2→S4→S5→S7;
路径2:S1→S3→S4→S6→S7;
则控制器可以为路径1分配唯一的路径标签P1,为路径2分配唯一的路径标签P2。
步骤202:所述控制器根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域。
可选的,所述控制器可以向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
以及,所述控制器可以向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示。
以及,所述控制器可以向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
其中,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器在步骤202之后,通过OpenFlow协议的Send-packet消息下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
本发明实施例采用了在故障追踪报文的报文头中添加MPLS标签的方式,这样在故障追踪报文从起始交换机传输到终止交换机的整个转发过程中,只在起始交换机需要分析故障追踪报文的IP报文头,除起始交换机和终止交换机之外的各中间交换机可以仅根据故障追踪报文的MPLS标签进行报文转发,从而节约了对故障追踪报文的处理时间,提高了故障追踪报文的转发效率。
可选的,所述第一流表项的行动域中包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以有以下两种指示方式:
第一种指示方式:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示。
其中,所述交换机标签为各交换机在通过OpenFlow协议连接到控制器上后,控制器分配给各交换机的。若交换机支持对多层标签报文的处理,控制器可以指示交换机将待探测路径上的交换机的交换机标签与对应的路径标签成对封装在故障追踪报文的MPLS标签中。
例如,在图3中,控制器下发给路径P1和路径P2上的各交换机的流表项可以如下表1所示:
表1流表项示例
表1中,L1~L7表征交换机S1~S7分别对应的交换机标签。下面以S1、S2为例,对表1所示的流表项的含义解释如下:
表1中,S1的流表项的匹配域“dl_src=S1,dl_dst=S7”,表示与其匹配的报文的源IP地址和源MAC地址为S1的IP地址和MAC地址,目的IP地址和目的MAC地址为S7的IP地址和MAC地址。S1的流表项的行动域中的“table0,push_mpls:L7,P1,L7,P1,L5,P1,L4,P1,output:Controller,output:1”指令,表示在table 0中,在与匹配域匹配的报文的报文头中添加MPLS标签,将L7,P1,L7,P1,L5,P1,L4,P1依次压入MPLS标签中,然后将添加了MPLS标签的报文上报给控制器,以及将该报文从S1的端口1发到下一个交换机S2(控制器事先知道S1通过端口1连接S2);“push_mpls:L7,P2,L7,P2,L6,P2,L4,P2,output:Controller,output:2”指令,表示将L7,P2,L7,P2,L6,P2,L4,P2依次压入报文的MPLS标签中,然后将该报文上报给控制器,以及将该报文从S1的端口2发到下一个交换机S3。其中,MPLS标签是一种栈,遵从先入后出的顺序。
需要说明的是,在“table 0,push_mpls:L7,P1,L7,P1,L5,P1,L4,P1,output:Controller,output:1”指令后还可以包括多个“pop_mpls”指令,用于将压入该报文的MPLS标签中的对应P1的交换机标签和路径标签删除,然后再通过“push_mpls:L7,P2,L7,P2,L6,P2,L4,P2,output:Controller,output:2”指令将对应P2的交换机标签和路径标签压入报文的MPLS标签中。
表1中,S2的流表项的匹配域“mpls=P1”,表示与其匹配的报文的MPLS标签(即MPLS标签的最外层标签)为P1。S2的流表项的行动域中的“table0,output:Controller,pop_mpls,goto:table1”指令,表示在table 0中,将与匹配域匹配的报文通过OpenFlow协议的Packet-in消息上报给控制器,然后弹出外层的MPLS标签(即P1),并将处理后的报文转到table 1继续处理;“table1,mpls=L4,pop_mpls,output:1”,表示在table 1中,删除MPLS标签为L4的报文外层的MPLS标签(即L4),并将处理后的报文从交换机S2的端口1发到下一个交换机S4。
第二种指示方式:
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
例如,在图3中,控制器下发给路径P1和路径P2上的各交换机的流表项也可以如下表2所示:
表2流表项示例
下面以S1、S2为例,对表2所示的流表项的含义解释如下:
表2中,S1的流表项的匹配域“dl_src=S1,dl_dst=S7”,表示与其匹配的报文的源IP地址和源MAC地址为S1的IP地址和MAC地址,目的IP地址和目的MAC地址为S7的IP地址和MAC地址。S1的流表项的行动域中的“table0,push_mpls:P1,output:Controller,output:1”指令,表示在table 0中,在与该匹配域匹配的报文的报文头中添加MPLS标签,并将P1压入MPLS标签中,然后将添加了MPLS标签的报文上报给控制器,以及将该报文从S1的端口1发到下一个交换机S2;“pop_mpls,push_mpls:P2,output:Controller,output:2”指令,表示将该报文中压入MPLS标签的P1删除,并将P2压入该报文的MPLS标签,然后将该报文上报给控制器,以及将该报文从S1的端口2发到下一个交换机S2。
表2中,S2的流表项的匹配域“mpls=P1”,表示与其匹配的报文的MPLS标签为P1。S2的流表项的行动域中的“table 0,output:Controller,output:1”指令,表示在table0中,将与匹配域匹配的报文通过OpenFlow协议的Packet-in消息上报给控制器,然后将该报文从交换机S2的端口1发到下一个交换机S4。
第二种指示方式适用于不支持处理多层标签报文的交换机。
需要说明的是,控制器在指示各交换机上报所述路径标签时,除了令各交换机直接上报将路径标签作为MPLS标签的故障追踪报文之外,也可以令各交换机直接上报所述路径标签。
从表1和表2可知,控制器发给S1的是一个故障追踪报文,但S1会根据其所在的两条路径包含的交换机信息,对该故障追踪报文进行不同的封装,进而产生两个故障追踪报文用于后续的路径探测。因此,本发明实施例中,控制器只需下发一个故障追踪报文即可完成至少一条路径的探测。
步骤203:所述控制器接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储。
其中,只有正常接收到故障追踪报文的交换机,才会根据流表项的指示上报路径标签给控制器。例如,在图3中,若交换机S1与S2之间的转发路径正常,S2接收到S1发送的故障追踪报文后,便将路径标签P1通过Packet-in消息上报给控制器,控制器从Packet-in消息中获知该消息的发送方为S2,进而可以确定S1与S2之间的转发路径正常工作。若S1与S2之间的转发路径故障,后续的交换机,包括S2、S4、S5和S7均不会接收到故障追踪报文,也就不会将路径标签P1上报给控制器。
由于在各交换机上除了用于转发故障追踪报文的流表外,还存在着用于转发普通报文的其它流表,本发明实施例通过将路径标签作为用于转发故障追踪报文流表的匹配域和故障追踪报文的MPLS标签,一方面可以避免对交换机上已有流表的影响,另一方面可以避免对普通报文的干扰。此外,通过路径标签区分故障追踪报文,避免了故障追踪报文之间的干扰,使得控制器可以同时探测多条转发路径。
实际应用中,所述控制器可以设置一超时时长,比如30秒,控制器可以在下发故障追踪报文后启动计时器,在该超时时长内接收交换机上报的路径标签,超过该超时时长则执行步骤204。
步骤204:所述控制器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
例如,在图3中,若路径P1上的全部交换机均发送Packet-in消息给控制器,则控制器记录的故障追踪报文的实际转发路径为:
P1:S1→S2→S4→S5→S7;
这与控制器事先根据网络拓扑结构和相关算法确定的P1理论上应包括的交换机的交换机信息完全一致,因此控制器可以确定P1正常,由此也验证了P1的控制面与转发面的一致性。
又例如,在图3中,若控制器未收到路径P2上的交换机S7上报的Packet-in消息,则控制器所记录的故障追踪报文的实际转发路径为:
P2:S1→S3→S4→S6;
由于这与控制器事先确定的P2理论上应包括的交换机的交换机信息不一致,因此控制器可以确定P2故障,并且该故障发生在最后一个发送Packet-in消息的交换机和与该交换机连接的下一个交换机之间,即S6与S7之间,这也说明了P2的控制面与转发面不一致。
可选的,为了保证节省各交换机的存储空间,在路径追踪结束后,控制器还可以对预下发的用于探测路径是否故障的流表项进行回收,回收时可以结合以下两种回收方式,也可以采用其中的任一种回收方式:
第一种回收方式:
所述控制器向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
第二种回收方式:
所述控制器设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项。或者,所述控制器设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
参阅图4所示,本发明另一实施例还提供了一种交换机侧确定路径故障的方法,其流程如下:
步骤401:交换机接收控制器下发的流表项;所述交换机为控制器确定的待探测路径上的任意一个交换机,所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
其中,所述流表项的行动域中包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以是将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示,具体的流表项示例可以参见表1中交换机S1对应的流表项。或者,可以是将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示,具体的流表项示例可以参见表2中交换机S1对应的流表项。
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示,具体的流表项示例可以参见表1或表2中交换机S2~S6对应的流表项。
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,具体的流表项示例可以参见表1或表2中交换机S7对应的流表项。
步骤402:所述交换机在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
其中,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
若所述交换机为所述待探测路径上的起始交换机,则所述交换机接收故障追踪报文,则所述交换机接收到的是所述控制器发送的故障追踪报文。例如,在图3中,在路径P1上,S1为起始交换机,S1接收到的是控制器发送的故障追踪报文。
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述交换机接收到的是在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。例如,在图3中,在路径P1上,S2为待探测路径上的中间交换机,S2接收到的是S1转发的故障追踪报文,S7为终止交换机,S7接收到的是S5转发的故障追踪报文。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述交换机通过比较所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域,来确定二者是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述交换机通过比较所述故障追踪报文中的MPLS标签与所述流表项的匹配域,来确定二者匹配。
可选的,所述交换机在确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,还可以根据所述控制器的指示删除所述流表项;或者,可以根据所述控制器在所述流表项中设置的存活时长T1,在接收到所述流表项后经过T1时长删除所述流表项;或者,可以根据所述控制器在所述流表项中设置的存活时长T2,在接收到所述故障追踪报文后经过T2时长删除所述流表项。
参阅图5所示,本发明实施例提供了一种控制器,用于实现本发明图2所示的一种确定路径故障的方法,所述控制器包括:
分配单元501,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签。
发送单元502,用于根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域。
接收单元503,用于接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签。
存储单元504,用于将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储。
比对单元505,用于将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
可选的,所述发送单元502具体用于:向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;以及,向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;以及,向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
可选的,所述第一流表项的行动域包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以是将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或者,也可以是将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
可选的,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
可选的,在所述比对单元505将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述发送单元502还用于:向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
可选的,所述控制器还可以包括:
设置单元506,用于在所述发送单元502分别向所述待探测路径上的各个交换机下发流表项之前,设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或,设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
参阅图6所示,本发明实施例提供了一种交换机,用于实现本发明图4所示的一种确定路径故障的方法,所述交换机为控制器确定的待探测路径上的任意一个交换机,所述交换机包括:
接收单元601,用于接收控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域。
确定单元602,用于在所述接收单元601接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示。若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
可选的,所述流表项的行动域包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以是将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或者,也可以是将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
可选的,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述接收单元601接收的是所述控制器发送的故障追踪报文。若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述接收单元601接收的是在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述确定单元602通过确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域是否匹配,来确定所述故障追踪报文与所述流表项的匹配域是否匹配。若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述确定单元602通过确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配,来确定所述故障追踪报文与所述流表项的匹配域是否匹配。
可选的,所述交换机还可以包括:
删除单元603,用于在所述确定单元602确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T1,在所述接收单元601接收到所述流表项后经过T1时长删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T2,在所述接收单元601接收到所述故障追踪报文后经过T2时长删除所述流表项。
参阅图7所示,本发明实施例还提供了一种控制器,所述控制器包括:
处理器701,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签。
收发器702,用于根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;以及接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签。
存储器703,用于将所述收发器702接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储。
所述处理器701还用于,将所述存储器703存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
可选的,所述收发器702具体用于:向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;以及,向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;以及,向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
可选的,所述第一流表项的行动域包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以是将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或者,也可以是将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
可选的,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
可选的,在所述处理器701将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述收发器702还用于:向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
可选的,所述处理器701还用于,在所述收发器702分别向所述待探测路径上的各个交换机下发流表项之前,设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或,设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
进一步地,所述存储器703还可以存储有所述处理器701或所述收发器702运行时所需的程序或代码。
参阅图8所示,本发明实施例还提供了一种交换机,所述交换机为控制器确定的待探测路径上的任意一个交换机,所述交换机包括:
收发器801,用于接收控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域。
处理器802,用于在所述收发器801接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示,指示所述收发器801将所述路径标签上报给所述控制器。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示。若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
可选的,所述流表项的行动域包括的将所述路径标签封装在故障追踪报文的MPLS标签中的指示,可以是将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或者,也可以是将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
可选的,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述收发器801接收的是所述控制器发送的故障追踪报文。若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述收发器801接收的是在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
可选的,若所述交换机为所述待探测路径上的起始交换机,则所述处理器802通过确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源MAC地址和目的MAC地址与所述流表项的匹配域是否匹配,来确定所述故障追踪报文与所述流表项的匹配域是否匹配。若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述处理器802通过确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配,来确定所述故障追踪报文与所述流表项的匹配域是否匹配。
可选的,所述处理器802还用于,在确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T1,在所述收发器801接收到所述流表项后经过T1时长删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T2,在所述收发器801接收到所述故障追踪报文后经过T2时长删除所述流表项。
进一步地,所述交换机通常还可包括用于对所述收发器801或所述处理器802运行时所需的程序或代码等进行存储的存储器803。
此外,本发明实施例还提供了一种确定路径故障的***,该***包括:
控制器,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
交换机,为所述控制器确定的待探测路径上的任意一个交换机,用于接收所述控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
综上所述,采用本发明实施例提供的技术方案,控制器通过一条故障追踪报文就可以完成对至少一条路径的探测,极大地提高了路径探测的效率;并且通过将路径标签作为故障追踪报文的MPLS标签,以标识不同的路径,一方面可以避免对交换机上已有流表的影响,另一方面还可以避免不同的故障追踪报文之间的干扰,使得控制器可以同时探测多条转发路径。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (27)
1.一种确定路径故障的方法,其特征在于,包括:
控制器确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;
所述控制器根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
所述控制器接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;
所述控制器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;
若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
2.如权利要求1所述的方法,其特征在于,所述控制器分别向所述待探测路径上的各个交换机下发流表项,包括:
所述控制器向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的多协议标签交换MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及在所述故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
所述控制器向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
所述控制器向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
3.如权利要求2所述的方法,其特征在于,所述第一流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述控制器将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述方法还包括:
所述控制器向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述控制器分别向所述待探测路径上的各个交换机下发流表项之前,还包括:
所述控制器设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或
所述控制器设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
7.一种确定路径故障的方法,其特征在于,包括:
交换机接收控制器下发的流表项;
所述交换机为控制器确定的待探测路径上的任意一个交换机,所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
所述交换机在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
8.如权利要求7所述的方法,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的多协议标签交换MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及在所述故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
9.如权利要求8所述的方法,其特征在于,所述流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
10.如权利要求7-9中任一项所述的方法,其特征在于,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
11.如权利要求10所述的方法,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述交换机接收故障追踪报文,包括:
所述交换机接收所述控制器发送的故障追踪报文;
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述交换机接收故障追踪报文,包括:
所述交换机接收在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
12.如权利要求7-9中任一项所述的方法,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述交换机确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述交换机确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源媒体接入控制MAC地址和目的MAC地址与所述流表项的匹配域是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述交换机确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述交换机确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配。
13.如权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:
所述交换机在确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或
所述交换机根据所述控制器在所述流表项中设置的存活时长T1,在接收到所述流表项后经过T1时长删除所述流表项;或
所述交换机根据所述控制器在所述流表项中设置的存活时长T2,在接收到所述故障追踪报文后经过T2时长删除所述流表项。
14.一种控制器,其特征在于,包括:
分配单元,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;
发送单元,用于根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
接收单元,用于接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签;
存储单元,用于将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;
比对单元,用于将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障。
15.如权利要求14所述的控制器,其特征在于,所述发送单元具体用于:
向所述待探测路径上的起始交换机下发第一流表项,所述第一流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述第一流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的多协议标签交换MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及在所述故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
向所述待探测路径上除起始交换机和终止交换机之外的每个中间交换机下发第二流表项,所述第二流表项的匹配域包括所述路径标签,所述第二流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
向所述待探测路径上的终止交换机下发第三流表项,所述第三流表项的匹配域包括所述路径标签,所述第三流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
16.如权利要求15所述的控制器,其特征在于,所述第一流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述第一流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述第一流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
17.如权利要求14-16中任一项所述的控制器,其特征在于,所述故障追踪报文是所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,并由所述控制器下发给所述起始交换机,以便于所述起始交换机通过所述待探测路径将故障追踪报文传输给所述终止交换机。
18.如权利要求14-16中任一项所述的控制器,其特征在于,在所述比对单元将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对之后,所述发送单元还用于:
向所述待探测路径上的各个交换机发送用于指示删除所述流表项的指令。
19.如权利要求14-16中任一项所述的控制器,其特征在于,所述控制器还包括:
设置单元,用于在所述发送单元分别向所述待探测路径上的各个交换机下发流表项之前,设置所述流表项的存活时长为T1,指示所述待探测路径上的各个交换机在接收到所述流表项后经过T1时长删除所述流表项;或,设置所述流表项的存活时长为T2,指示所述所述待探测路径上的各个交换机在接收到所述追踪报文后经过T2时长删除所述流表项。
20.一种交换机,其特征在于,所述交换机为控制器确定的待探测路径上的任意一个交换机,所述交换机包括:
接收单元,用于接收控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;
确定单元,用于在所述接收单元接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
21.如权利要求20所述的交换机,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述流表项的匹配域包括所述待探测路径上的起始交换机和终止交换机的交换机信息,所述流表项的行动域包括所述路径标签,将所述路径标签封装在故障追踪报文的多协议标签交换MPLS标签中的指示,将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述起始交换机相连的下一个交换机的指示,以及在所述故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示;
若所述交换机为所述待探测路径上除起始交换机和终止交换机之外的中间交换机时,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示,以及将封装有所述路径标签的故障追踪报文发送给在所述待探测路径上与所述中间交换机相连的下一个交换机的指示;
若所述交换机为所述待探测路径上的终止交换机,则所述流表项的匹配域包括所述路径标签,所述流表项的行动域包括用于指示在封装有所述路径标签的故障追踪报文与匹配域匹配时,将封装有所述路径标签的故障追踪报文上报给所述控制器的指示。
22.如权利要求21所述的交换机,其特征在于,所述流表项的行动域包括将所述路径标签封装在故障追踪报文的MPLS标签中的指示,包括:
所述流表项的行动域包括将所述路径标签与所述待探测路径上的交换机对应的交换机标签,一起封装在故障追踪报文的MPLS标签中的指示;或
所述流表项的行动域包括将所述路径标签单独封装在故障追踪报文的MPLS标签中的指示。
23.如权利要求20-22中任一项所述的交换机,其特征在于,所述故障追踪报文为所述控制器根据所述待探测路径上的起始交换机和终止交换机的交换机信息构造的,用于探测所述待探测路径的传输状态。
24.如权利要求23所述的交换机,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述接收单元接收故障追踪报文,包括:
所述接收单元接收所述控制器发送的故障追踪报文;
若所述交换机为所述待探测路径上的除起始交换机之外的中间交换机或终止交换机,则所述接收单元接收故障追踪报文,包括:
所述接收单元接收在所述待探测路径上与所述交换机相连的上一个交换机发送的故障追踪报文。
25.如权利要求20-22中任一项所述的交换机,其特征在于,还包括:
若所述交换机为所述待探测路径上的起始交换机,则所述确定单元确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述确定单元确定所述故障追踪报文的源互联网协议IP地址、目的IP地址、源媒体接入控制MAC地址和目的MAC地址与所述流表项的匹配域是否匹配;
若所述交换机为所述待探测路径上除起始交换机之外的中间交换机或终止交换机,则所述确定单元确定所述故障追踪报文与所述流表项的匹配域是否匹配,包括:
所述确定单元确定所述故障追踪报文中的MPLS标签与所述流表项的匹配域是否匹配。
26.如权利要求20-22中任一项所述的交换机,其特征在于,所述交换机还包括:
删除单元,用于在所述确定单元确定是否将自身的交换机信息和所述路径标签上报给所述控制器之后,根据所述控制器的指示删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T1,在所述接收单元接收到所述流表项后经过T1时长删除所述流表项;或,根据所述控制器在所述流表项中设置的存活时长T2,在所述接收单元接收到所述故障追踪报文后经过T2时长删除所述流表项。
27.一种确定路径故障的***,其特征在于,包括:
控制器,用于确定待探测路径上包含的各个交换机的交换机信息,并为所述待探测路径分配用于标识所述待探测路径的路径标签;根据确定的各个交换机信息,分别向所述待探测路径上的各个交换机下发流表项,所述流表项包含所述路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;接收所述待探测路径上的交换机在处理流经自身的故障追踪报文时、按照接收的流表项上报的所述路径标签,并将接收的所述路径标签与上报所述路径标签的交换机的交换机信息对应存储;将存储的对应于所述路径标签的交换机信息与确定的各个交换机信息进行比对;若比对结果一致,则确定所述待探测路径正常,否则确定所述待探测路径出现故障;
交换机,为所述控制器确定的待探测路径上的任意一个交换机,用于接收所述控制器下发的流表项;所述流表项包含所述控制器为待探测路径分配的路径标签、用于匹配故障追踪报文的匹配域和用于指示在故障追踪报文与匹配域匹配时将所述路径标签上报给所述控制器的行动域;在接收到故障追踪报文时,根据所述故障追踪报文与所述流表项的匹配域是否匹配的结果,确定是否按照所述流表项的行动域的指示将所述路径标签上报给所述控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510443925.8A CN106375105B (zh) | 2015-07-24 | 2015-07-24 | 一种确定路径故障的方法、控制器、交换机和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510443925.8A CN106375105B (zh) | 2015-07-24 | 2015-07-24 | 一种确定路径故障的方法、控制器、交换机和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375105A CN106375105A (zh) | 2017-02-01 |
CN106375105B true CN106375105B (zh) | 2019-10-25 |
Family
ID=57880942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510443925.8A Active CN106375105B (zh) | 2015-07-24 | 2015-07-24 | 一种确定路径故障的方法、控制器、交换机和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106375105B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276800A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种用于云数据中心的网络流量追踪方法及装置 |
CN109728931B (zh) * | 2017-10-31 | 2021-06-15 | 华为技术有限公司 | 网络的故障定界方法、装置以及计算机存储介质 |
CN111385120B (zh) * | 2018-12-29 | 2021-10-26 | 华为技术有限公司 | 一种确定转发故障位置的方法和设备 |
CN111835641B (zh) * | 2019-04-16 | 2023-02-03 | 北京华为数字技术有限公司 | 故障检测方法、服务器以及采集设备 |
CN112311580B (zh) * | 2019-08-01 | 2022-03-11 | 华为技术有限公司 | 报文传输路径确定方法、装置及***、计算机存储介质 |
CN111682986B (zh) * | 2020-06-08 | 2023-11-07 | 平安科技(深圳)有限公司 | 全量链路质量探测方法、装置、计算机设备及存储介质 |
CN111817965B (zh) * | 2020-09-10 | 2020-12-22 | 鹏城实验室 | 报文轨迹跟踪方法、***及计算机可读存储介质 |
CN113824609A (zh) * | 2021-08-16 | 2021-12-21 | 紫光云(南京)数字技术有限公司 | 一种sdn控制器雷达探测方法 |
CN117354197B (zh) * | 2023-12-06 | 2024-02-27 | 广州医科大学附属第五医院(广州再生医学与健康广东省实验室附属医院) | 一种虚拟网络断点检测方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039167A (zh) * | 2007-03-08 | 2007-09-19 | 华为技术有限公司 | 一种多播网络***和检测多播网络链路缺陷的方法 |
CN103401726A (zh) * | 2013-07-19 | 2013-11-20 | 华为技术有限公司 | 网络路径探测方法及装置、*** |
CN103828310A (zh) * | 2013-11-29 | 2014-05-28 | 华为技术有限公司 | 一种链路发现的方法、***及设备 |
CN104601394A (zh) * | 2014-11-26 | 2015-05-06 | 华为技术有限公司 | 一种业务链连通性检测的方法、装置及*** |
CN104780095A (zh) * | 2015-04-30 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种sdn网络中的路径探测方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9013985B2 (en) * | 2012-10-19 | 2015-04-21 | Cisco Technology, Inc. | Protection of a bidirectional label switched path |
-
2015
- 2015-07-24 CN CN201510443925.8A patent/CN106375105B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039167A (zh) * | 2007-03-08 | 2007-09-19 | 华为技术有限公司 | 一种多播网络***和检测多播网络链路缺陷的方法 |
CN103401726A (zh) * | 2013-07-19 | 2013-11-20 | 华为技术有限公司 | 网络路径探测方法及装置、*** |
CN103828310A (zh) * | 2013-11-29 | 2014-05-28 | 华为技术有限公司 | 一种链路发现的方法、***及设备 |
CN104601394A (zh) * | 2014-11-26 | 2015-05-06 | 华为技术有限公司 | 一种业务链连通性检测的方法、装置及*** |
CN104780095A (zh) * | 2015-04-30 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种sdn网络中的路径探测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106375105A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375105B (zh) | 一种确定路径故障的方法、控制器、交换机和*** | |
CN106656801B (zh) | 业务流的转发路径的重定向方法、装置和业务流转发*** | |
US10148517B2 (en) | Systems and methods for topology discovery and application in a border gateway protocol based data center | |
CN103748835B (zh) | 标签交换路径的动态更新 | |
CN101124785B (zh) | 用于网络可达性检测的***和方法 | |
CN100596107C (zh) | 报文转发方法以及自治***边界路由器 | |
CN107040462A (zh) | 路由方法和中间路由器 | |
CN105052090A (zh) | 无缝分段路由 | |
CN107147508A (zh) | 故障检测方法及装置 | |
CN107547383A (zh) | 路径检测方法及装置 | |
CN105610710A (zh) | 交换结构***上部署的标准协议验证机制的方法和装置 | |
CN105210336A (zh) | 用于ldp/sr互操作性的分段路由映射服务器 | |
CN102301663A (zh) | 一种报文处理方法及相关设备 | |
CN106936655A (zh) | 链路检测方法、装置及网络设备、控制器 | |
CN105308904B (zh) | 一种oam报文处理方法、网络设备和网络*** | |
CN104660469B (zh) | 一种二层网络的连通性检测方法及相关设备 | |
CN103841017B (zh) | 环网保护中标签自动分配的方法及设备 | |
CN103634423B (zh) | 一种基于三层接口的mpls‑tp配置方法及装置 | |
CN103269315B (zh) | 标签分配方法、装置、***和网络设备 | |
CN105337865B (zh) | 一种建立转发表项的方法、装置和*** | |
CN103840976B (zh) | 通信方法、光设备和网络设备 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN103746914B (zh) | 建立私网标签与原始vrf对应关系的方法、装置及*** | |
CN101621477A (zh) | 一种一对多端口镜像的方法和装置 | |
CN109587059A (zh) | Sr-be内层隧道标签的配置方法、设备及通信*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |