CN114257494A - 一种实现业务路径检测的方法、设备和系统 - Google Patents
一种实现业务路径检测的方法、设备和系统 Download PDFInfo
- Publication number
- CN114257494A CN114257494A CN202011375770.6A CN202011375770A CN114257494A CN 114257494 A CN114257494 A CN 114257494A CN 202011375770 A CN202011375770 A CN 202011375770A CN 114257494 A CN114257494 A CN 114257494A
- Authority
- CN
- China
- Prior art keywords
- indication
- packet
- service
- header
- field
- 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.)
- Pending
Links
Images
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/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种实现业务路径检测的方法、设备和系统,该方法应用于SRv6网络,包括:第一网络设备基于IPv6生成并向第二网络设备发送第一报文,第一报文包括第一指示和业务的标识信息,第一指示用于指示该第一报文为检测报文;第二网络设备在接收到该第一报文后,根据该第一指示和业务的标识信息对承载该业务的路径进行检测。发送方通过在检测报文中添加第一指示和业务的标识信息,使得接收方能够确定出所接收的是检测报文并感知到相应的运行业务,从而基于检测报文对承载该业务的路径的连通性或质量等进行检测,以实现细粒度的业务级路径检测,并为业务级的路径切换提供了判断依据。
Description
本申请要求于2020年09月21日提交中国国家知识产权局、申请号为202010992436.9、申请名称为“一种在SRv6场景下实现故障检测的方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种实现业务路径检测的方法、设备和系统。
背景技术
在基于第六版互联网协议的分段路由(segment routing over internetprotocol version 6,SRv6)的网络中,目前能够实现隧道级的故障检测,例如,用户侧PE设备检测到该用户侧运营商边缘(provider edge,PE)设备到网络侧PE设备之间的隧道故障,则,由用户侧PE设备实现隧道级的切换以确保经过该隧道上原来承载的业务的正常运行。但是,该隧道级的故障检测粒度较粗,一旦该故障是由某个业务导致的,而该隧道上承载的其他业务能够正常运行,那么,该故障检测方式无法精确检测出业务级的故障,导致用户侧PE设备会对该隧道上承载的所有业务均进行切换,即,该隧道上正常运行的业务也会被误切换,由此浪费了网络资源。
基于此,亟待在该场景下提供一种业务级的路径检测方法,实现更细粒度、更精确的路径检测,从而保证对业务实现准确的切换。
发明内容
本申请实施例提供了一种实现业务路径检测的方法、设备和系统,网络设备通过发出携带指示的检测报文,使得该报文的接收方网络设备通过该指示能够准确的区分检测报文和业务报文,确保接收方网络设备能够有效的实现业务级的故障检测,从而为网络中业务的正常运行提供了保障。
本申请中所提供的下述方法、装置、设备和系统,能够应用于SRv6网络中。
第一方面,本申请实施例提供了一种实现业务路径检测的方法,该方法应用于第一网络设备,该方法例如可以包括:第一网络设备基于第六版互联网协议(internetprotocol version 6,IPv6)生成并向第二网络设备发送第一报文,该第一报文包括第一指示和业务的标识信息,其中,第一指示用于指示该第一报文为检测报文;所述第一网络设备向第二网络设备发送所述第一报文,以指示接收所述第一报文的所述第二网络设备根据所述第一指示和所述业务的标识信息对所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个路径进行检测。其中,第二网络设备对承载所述业务的路径进行的检测可以是针对路径状态的检测,如路径故障检测或路径质量检测等。可见,通过该方法,发送方网络设备在发送的检测报文中添加第一指示和业务的标识信息,使得接收方网络设备能够精确的确定出所接收的报文是检测报文并感知相应的业务信息,从而基于检测报文对承载待该业务的待检测路径进行连通性或质量等方面的检测,克服了目前只能完成网络设备之间较粗粒度的隧道级的检测,从而导致无法满足需求和浪费网络资源的问题,实现了更细粒度、更精确的业务级的检测,为业务级的路径切换提供了准确的依据,从而为网络中业务的正常和高效运行提供了保障。
其中,待检测路径可以是第一网络设备和第二网络设备之间用于承载业务的路径以及第二网络设备和接入侧网络设备之间用于承载该业务的路径中的至少一个。具体检测哪段路径以及检测的具体内容可以根据检测报文中携带的检测信息确定。当待检测的路径同时包括第一网络设备和第二网络设备之间用于承载业务的路径以及第二网络设备和接入侧网络设备之间用于承载该业务的路径时,也可以认为该待检测的路径为第一网络设备和接入侧网络设备之间的路径范围。针对所述待检测的路径的检测内容可以包括路径上的接口、链路或设备等对象的状态,如故障状态,也可以包括路径传输数据的质量状态,如从丢包、时延、误码或抖动等方面进行的统计或分析等。第二网络设备可以将上述检测内容发送至第一网络设备以使得第一网络设备确定检测结果,也可以在本地根据上述检测内容获取检测结果。
其中,业务的标识信息可以携带在第一报文的第一IPv6头或第一IPv6扩展头中。业务的标识信息例如可以是第二网络设备对应的虚拟专用网段标识(virtual privatenetwork segment identifier,VPN SID)。
其中,第一指示可以携带于第一报文的第一IPv6头或第一IPv6扩展头中。下面对第一报文携带第一指示的各种可能的实现方式进行示例性说明。
在一种可能的实现方式中,该第一报文可以包括第一IPv6头,那么,该第一指示携带于第一IPv6头中的下一个头(next header)字段,该实现方式可以适用于SRv6的尽力而为(best effort,BE)场景。或者,第一报文也可以包括第一IPv6扩展头,那么,该第一指示携带于第一IPv6扩展头的第一分段路由扩展头(segment routing header,SRH)中的nextheader字段,该实现方式可以适用于SRv6策略(policy)场景。例如,第一报文中承载第一指示的next header字段的取值为137,指示该第一报文为检测报文。
该实现方式下,第一报文中的第一IPv6扩展头还可以包括保留标签(alertlabel)和控制字(control word),该保留标签和控制字用于指示该第一报文的载荷(payload)中的检测信息,该检测信息用于指示第二网络设备根据检测信息对业务的路径进行检测。其中,alert label和控制字用于指示检测信息,可以是基于alert label和控制字的取值确定后面携带的内容为检测信息,或者,也可以基于alert label和控制字的取值确定后面携带的内容为检测信息且能够确定检测信息的类型,例如,alert label=13和控制字,可以确定后面携带的内容为检测信息且检测信息的类型为双向转发检测(bidirectional forwarding detection,BFD)信息。
在另一种可能的实现方式中,第一报文可以包括第一IPv6头,那么,第一指示携带于第一IPv6头的第一目的地址(destination address,DA)字段中的变量(args)字段,该实现方式可以适用于SRv6 BE场景。或者,该第一报文可以包括第一IPv6扩展头,该第一指示携带于第一IPv6扩展头的第一SRH的第一DA字段中的args字段,该实现方式可以适用于SRv6 policy场景。例如,第一报文中承载第一指示的DA字段的args的取值不等于0(如args取值等于3),指示该第一报文为检测报文。
在又一种可能的实现方式中,该第一报文可以包括第一IPv6扩展头,该第一指示可以携带于第一IPv6扩展头的SRH中的标志(flags)字段。例如,第一报文中承载第一指示的flags字段的取值不等于0(如取值等于1),指示该第一报文为检测报文。
在再一种可能的实现方式中,该第一报文可以包括第一IPv6扩展头,该第一指示可以携带于所述第一IPv6扩展头的逐跳(hop by hop,HBH)选项头中的类型长度值(typelength Value,TLV)字段,或者,也可以携带于第一IPv6扩展头的目的地址选项头(destination option header,DOH)中的TLV字段。例如,第一报文中的HBH选项头字段中包括承载第一指示的TLV字段,指示该第一报文为检测报文;又例如,第一报文中的DOH字段中包括承载第一指示的TLV字段,指示该第一报文为检测报文。
在一些可能的实现方式中,该方法还可以包括:第一网络设备向第二网络设备发送第二报文,该第二报文为用于承载所述业务的业务报文,该第二报文不包括第一指示。这样,第二网络设备接收到第一报文和第二报文后,能够基于报文中携带的指示,确定报文是检测报文还是业务报文,从而基于具体的报文类型执行相应的处理。
作为一个示例,第二报文不包括第一指示,可以是指第二报文中不包括用于承载第一指示的字段,例如,假设第一报文中的HBH选项头字段中包括承载第一指示的TLV字段,那么,第二报文的HBH选项头中不包括该用于承载第一指示的TLV字段;又例如,假设第一报文中的DOH字段中包括承载第一指示的TLV字段,那么,第二报文的DOH字段中不包括该用于承载第一指示的TLV字段。
作为另一个示例,第二报文不包括第一指示,也可以指第二报文包括承载第一指示的字段,但是,该字段在第一报文和第二报文中的取值不同,用于承载不同的指示,该字段在第一报文中的取值用于承载第一指示,第一指示用于指示第一报文为检测报文,该字段在第二报文中的取值用于承载第二指示,第二指示用于指示第二报文为业务报文。一种情况下,假设第二报文包括第二IPv6头,第二指示携带于所述第二IPv6头中的next header字段,第一指示为所述第一IPv6头中的next header字段的第一值,那么,第二指示可以为第二IPv6头中的next header字段的第二值(第一值不等于第二值)。或者,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的第二SRH中的next header字段,第一指示为第一IPv6扩展头的第一SRH中的next header字段的第一值,那么,第二指示可以为第二SRH中的next header字段的第二值。例如,第一报文中承载第一指示的next header字段的取值为137,指示该第一报文为检测报文;第二报文中承载第二指示的next header字段的取值为143,指示该第二报文为业务报文。另一种情况下,假设第二报文包括第二IPv6头,第二指示携带于第二IPv6头的第二DA字段中的args字段,第一指示为第一IPv6头的第一DA字段中的args字段的第三值,那么,第二指示可以为第二DA字段中的args字段的第四值(第三值不等于第四值)。或者,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的第二SRH中的第二DA字段的args字段,第一指示为第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,那么,第二指示可以为第二SRH中的第二DA字段中的args字段的第四值。例如,第一报文中承载第一指示的DA字段中的args字段的取值为3,指示该第一报文为检测报文;第二报文中承载第二指示的DA字段中的args字段的取值为0,指示该第二报文为业务报文。又一种情况下,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的SRH中的flags字段,第一指示为第一IPv6扩展头的SRH中的标志flags字段的第五值,那么,第二指示可以为所述第二IPv6扩展头的SRH中的标志flags字段的第六值(第五值不等于第六值)。
第一网络设备向第二网络设备发送的第一报文中携带的第一指示和业务的标识信息,在第一报文发送阶段的目的在于使得第二网络设备能够根据该第一指示和业务的标识信息对承载所述业务的路径进行检测,但并不对第二网络设备是否确实接收到第一报文进行限制。
作为一个示例,当第一网络设备到第二网络设备之间的链路或设备存在故障以及第二网络设备故障时,第二网络设备可能无法接收到第一报文,从而,第一网络设备在预设时长内接收不到第二网络设备发送的响应报文,可以确定承载该业务的路径故障。在该示例中,由于第一网络设备和第二网络设备之间的转发路径状态在第一报文发送阶段的不可预期性,导致在包括本示例列举的故障场景在内的一些可能情形下,第二网络设备实际无法正常接收到第一报文,但这并不影响第一网络设备在第一报文发送阶段的目的在于,使得第二网络设备能够根据第一指示和业务的标识信息对承载该业务的路径进行检测。
作为另一个示例,假设第二网络设备接收到第一报文,那么,第二网络设备能够感知并检测的内容可以包括:第二网络设备用于连接路径上的接入侧网络设备的链路或接口是否存在故障。在其他可能的情形中,第二网络设备还能够通过某些方式确定与其连接的接入侧网络是否存在故障,例如,与其直接或间接连接的接入侧网络设备、接入侧网络中的链路或端口是否存在故障。这里提及的接入侧在一些情形下也可称为用户侧。该示例下,一种情况下,第二网络设备可以在确定第二网络设备连接接入侧网络设备的接口或链路故障的情形下,选择不对第一报文进行响应,那么,第一网络设备在预设时长内接收不到第二网络设备发送的响应报文,可以确定第一网络设备和接入侧网络设备之间承载所述业务的路径故障。另一种情况下,第二网络设备可以选择生成并向第一网络设备发送第一报文对应的响应,那么,第一网络设备接收到第二网络设备发送的响应报文时,可以基于响应报文中携带的链路状态信息或接口状态信息确定承载业务的路径是否存在故障,例如,确定第二网络设备和接入侧网络设备之间用于承载所述业务的路径存在故障。
作为再一个示例,假设第二网络设备接收到第一报文,第二网络设备还可以对用于承载所述业务的路径的路径质量进行检测,例如,对第一网络设备和第二网络设备之间的路径上的丢包、时延等质量数据进行检测。在一种情形中,在第二网络设备发送至第一网络设备的响应报文中携带相应的质量反馈数据,该质量反馈数据可以包括第二网络设备反馈的质量数据和/或由第二网络设备向第一网络设备发送响应报文的路径上由多个中间设备在该响应报文中添加的质量反馈数据,以使得第一网络设备确定单向或双向路径质量检测结果。在另一种情形中,第二网络设备也可以直接根据检测获得的质量数据确定单向路径质量检测结果。
在一些可能的实现方式中,如果第一网络设备确定承载所述业务的路径存在故障或路径质量不满足要求,则,该方法还可以包括:第一网络设备将用于承载所述业务的路径切换为包括第一网络设备到第三网络设备的路径,切换后第三网络设备承载所述业务。这样,通过业务级的故障检测,能够精确的检测到出现故障的是承载哪个业务的路径,从而对承载该业务的路径进行切换,而无需由于执行隧道级切换而将隧道上承载的所有业务的转发路径均进行切换,一定程度上节约了网络资源。
第二方面,本申请实施例还提供了一种实现业务路径检测的方法,该方法应用于第二网络设备,该方法例如可以包括:第二网络设备接收第一网络设备发送的第一报文,该第一报文中包括第一指示和业务的标识信息,该第一指示用于指示该第一报文为检测报文;那么,第二网络设备即可根据第一指示和业务的标识信息对第一网络设备和第二网络设备之间承载所述业务的路径以及第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个进行检测。可见,通过该方法,发送方网络设备在发送的检测报文中添加第一指示和业务的标识信息,使得接收方网络设备能够精确的确定出所接收的报文是检测报文并感知到对应的业务,从而基于检测报文对承载业务的路径进行连通性或质量的检测,克服了目前相关技术中由于只支持网络设备之间隧道级的检测,粒度较粗无法满足需求和浪费网络资源的问题,实现了更细粒度、更精确的业务级的检测,为业务级的切换提供了准确的依据,从而为网络中业务的正常运行提供了保障。
其中,业务的标识信息可以携带在第一报文的第一IPv6头或第一IPv6扩展头中。业务的标识信息例如可以是第二网络设备对应的VPN SID。
其中,第一指示可以携带于第一报文的第一IPv6头或第一IPv6扩展头中。下面对第一报文携带第一指示的各种可能的实现方式进行示例性说明。
在一种可能的实现方式中,该第一报文可以包括第一IPv6头,那么,该第一指示携带于第一IPv6头中的next header字段,该实现方式可以适用于SRv6 BE场景。或者,第一报文也可以包括第一IPv6扩展头,那么,该第一指示携带于第一IPv6扩展头的第一SRH中的next header字段,该实现方式可以适用于SRv6 policy场景。
该实现方式下,第一报文中的第一IPv6扩展头还可以包括alert label和控制字,该保留标签和控制字用于指示该第一报文的payload中的检测信息,该检测信息用于指示第二网络设备根据检测信息对业务的路径进行检测。其中,alert label和控制字用于指示检测信息,可以是基于alert label和控制字的取值确定后面携带的内容为检测信息,或者,也可以基于alert label和控制字的取值确定后面携带的内容为检测信息且能够确定检测信息的类型,例如,alert label=13和控制字,可以确定后面携带的内容为检测信息且检测信息的类型为BFD信息。
在另一种可能的实现方式中,第一报文可以包括第一IPv6头,那么,第一指示携带于第一IPv6头的第一DA字段中的args字段,该实现方式可以适用于SRv6 BE场景。或者,该第一报文可以包括第一IPv6扩展头,该第一指示携带于第一IPv6扩展头的第一SRH的第一DA字段中的args字段,该实现方式可以适用于SRv6 policy场景。
在又一种可能的实现方式中,该第一报文可以包括第一IPv6扩展头,该第一指示可以携带于第一IPv6扩展头的SRH中的flags字段。
在再一种可能的实现方式中,该第一报文可以包括第一IPv6扩展头,该第一指示可以携带于所述第一IPv6扩展头的HBH选项头中的TLV字段,或者,也可以携带于第一IPv6扩展头的DOH中的TLV字段。
在一些可能的实现方式中,该方法还可以包括:第二网络设备接收第一网络设备发送的第二报文,该第二报文为用于承载所述业务的业务报文,该第二报文不包括第一指示。这样,第二网络设备接收到第一报文和第二报文后,能够基于报文中携带的指示,确定报文是检测报文还是业务报文,从而基于具体的报文类型执行相应的处理,使得实现业务级的检测成为可能。
其中,第二报文不包括第一指示,可以指第二报文中不包括用于承载第一指示的字段,或者,也可以指第二报文中包括用于承载第一指示的字段,但是该字段在第二报文中的取值和第一报文中的取值不同,分别用于承载不同的指示,该字段在第一报文中的取值用于承载第一指示,第一指示用于指示第一报文为检测报文,该字段在第二报文中的取值用于承载第二指示,第二指示用于指示第二报文为业务报文。一种情况下,假设第二报文包括第二IPv6头,第二指示携带于所述第二IPv6头中的next header字段,第一指示为所述第一IPv6头中的next header字段的第一值,那么,第二指示可以为第二IPv6头中的nextheader字段的第二值(第一值不等于第二值)。或者,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的第二SRH中的next header字段,第一指示为第一IPv6扩展头的第一SRH中的next header字段的第一值,那么,第二指示可以为第二SRH中的nextheader字段的第二值。另一种情况下,假设第二报文包括第二IPv6头,第二指示携带于第二IPv6头的第二DA字段中的args字段,第一指示为第一IPv6头的第一DA字段中的args字段的第三值,那么,第二指示可以为第二DA字段中的args字段的第四值(第三值不等于第四值)。或者,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的第二SRH中的第二DA字段的args字段,第一指示为第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,那么,第二指示可以为第二SRH中的第二DA字段中的args字段的第四值。又一种情况下,假设第二报文包括第二IPv6扩展头,第二指示携带于第二IPv6扩展头的SRH中的flags字段,第一指示为第一IPv6扩展头的SRH中的标志flags字段的第五值,那么,第二指示可以为所述第二IPv6扩展头的SRH中的标志flags字段的第六值(第五值不等于第六值)。
在一种可能的实现方式中,第二网络设备可以根据接收到第一报文,对用于承载所述业务的路径的路径状态进行检测,所述路径状态例如可以是路径故障状态或路径质量状态等。作为一个示例,假设第二网络设备接收到第一报文,那么,第二网络设备可以根据所述第一指示和所述业务的标识信息,对所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径进行检测,或者通过某种方式对接入侧网络中的路径进行检测,如对接入侧网络中的网络设备所连接的链路,或者包括的接口等进行检测。在该示例下,一种情况下,第二网络设备可以选择不对第一报文进行响应,那么,第一网络设备在预设时长内接收不到第二网络设备发送的响应报文,可以确定承载业务的路径故障,例如,第一网络设备确定第一网络设备和接入侧网络设备之间用于承载所述业务的路径存在故障。另一种情况下,第二网络设备可以选择生成并向第一网络设备发送第一报文对应的响应,那么,第一网络设备接收到第二网络设备发送的响应报文时,可以基于响应报文中携带的链路状态信息或接口状态信息确定承载业务的路径是否存在故障。例如,第一网络设备可以根据该响应报文,确定第二网络设备和接入侧网络设备之间用于承载所述业务的路径存在故障。
作为另一个示例,第二网络设备还可以根据接收到第一报文,对用于承载所述业务的路径的路径质量进行检测,例如,对第一网络设备和第二网络设备之间的路径上的丢包、时延等质量数据进行检测。在一种情形中,第二网络设备可以在发送至第一网络设备的响应报文中携带相应的质量反馈数据,以使得第一网络设备确定双向路径质量检测结果。在另一种情形中,第二网络设备也可以直接根据检测获得的质量数据确定单向路径质量检测结果。
在一些可能的实现方式中,该方法中第二网络设备根据所述第一指示和所述业务的标识信息对承载所述业务的路径进行检测,例如可以包括:第二网络设备确定第一报文为检测报文,且确定本地支持根据第一指示进行检测,则,按照本地检测策略对承载所述业务的路径进行检测。其中,按照本地故障检测策略,可以指将该第一报文发送到对应的检测进程中,在对应的检测进程进行故障检测,例如,假设第一报文为BFD检测报文,那么,第二网络设备确定本地支持该BFD检测报文时,将该BFD检测报文中业务相关内容和检测信息发送到本地BFD进程中,从而利用该BFD进程进行对应的故障检测。其中,本地支持根据第一指示进行检测,可以指网络设备本地配置使能了该第一指示所指示的检测功能。需要说明的是,将第一报文发送到对应的检测进程中,例如可以是将第一报文中隧道信息(如第一报文中的SRH)去除之后剩余的业务相关内容和检测信息发送到对应的检测进程。
在上述第一方面和第二方面提供的方法中,第一网络设备可以为承载所述业务的入口PE设备,第二网络设备可以为承载所述业务的出口PE设备。或者,第一网络设备也可以是其他能够在网络中发起上述第一方面和第二方面所描述的检测方法的其他类型的网络设备,而第二网络设备则可以是能够响应于接收的检测报文并执行相应路径检测的其他可能类型的设备。
在上述第一方面和第二方面提供的方法中,第一网络设备和第二网络设备之间承载的业务,可以是二层虚拟专用网(layer 2virtual private network,L2VPN)业务,L2VPN例如可以包括传统VPN技术或以太虚拟专用网(ethernet virtual private network,EVPN)技术承载的业务。无论是传统VPN业务还是EVPN业务,均可以采用虚拟租用线路(virtual leased line,VLL)业务模型或虚拟专用局域网业务(virtual private LANservice,VPLS)业务模型进行网络布署。
在上述第一方面和第二方面提供的方法中,第一报文可以为BFD报文,或者,也可以为操作管理和维护(operation administration and maintenance,OAM)报文。根据第一报文类型的不同能够实现不同的业务路径检测功能,例如,业务路径故障检测或业务路径质量检测,其中业务路径质量检测可以针对时延、丢包或抖动等指标进行检测。
对于第一报文是BFD报文的情况,根据上述方法不仅可以实现对第一网络设备和第二网络设备之间承载该业务的路径的连通性的检测,还能够实现对第二网络设备和接入侧网络设备之间承载该业务的路径的连通性的检测,从而让第一网络设备能够获知用于承载该业务的、从第一网络设备直至接入侧网络设备之间路径的连通性,而不仅是第一网络设备和第二网络设备之间的隧道路径连通性,由此达到业务级连通性检测的效果。
对于第一报文是OAM报文的情况,根据上述方法检测的路径状态,可以包括路径的连通性以及路径的质量。在一种可能的情形中,OAM报文实现路径质量检测可以包括:第一网络设备向第二网络设备发送OAM报文,告知第一网络设备已发送数据的统计信息(如发送的数据包数量、时间戳等),第二网络设备可以根据OAM报文中携带的业务标识信息确定待检测的业务,并针对该待检测业务获取接收到的对应接收数据的统计结果,并通过对该统计信息的处理,得到承载该待检测业务的路径对应的路径质量检测结果。可选地,第二网络设备还可以生成并向第一网络设备发送携带该检测结果的OAM报文,以向第一网络设备通告该待检测业务的路径质量。或者,在另一种可能的情形中,OAM报文实现路径质量检测可以包括:第一网络设备向第二网络设备发送OAM报文,告知第一网络设备已发送数据的统计信息,第二网络设备可以根据OAM报文中携带的业务标识信息确定待检测的业务,并获取对应于该待检测业务的接收数据的统计结果,并将该统计结果携带在生成的OAM报文中发送给第一网络设备,以指示第一网络设备对所接收OAM报文中的统计结果进行处理并获得承载该待检测业务的路径的检测结果,从而确定承载该待检测业务的路径质量。此外,OAM报文作为检测报文,一方面能够实现对第一网络设备和第二网络设备之间承载该业务的路径的路径质量的检测,另一方面也能够实现对承载该业务的路径的连通性检测。
第三方面,本申请实施例还提供了一种实现业务路径检测的装置,该装置应用于第一网络设备,该装置应用于支持基于SRv6的网络中。该装置可以包括:生成单元和发送单元。其中,生成单元,用于基于第六版互联网协议IPv6生成第一报文,所述第一报文包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文。发送单元,用于向第二网络设备发送所述第一报文,以指示接收所述第一报文的所述第二网络设备根据所述第一指示和所述业务的标识信息对第一网络设备和第二网络设备之间承载所述业务的路径以及第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个进行检测。
其中,业务的标识信息可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中其中,第一指示可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
作为一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。其中,所述第一报文的所述第一IPv6扩展头还包括保留标签和控制字,所述保留标签和控制字用于指示所述第一报文的载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对所述业务的路径进行检测。
作为另一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
作为又一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
作为再一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
在一些可能的实现方式中,所述发送单元,还用于向所述第二网络设备发送第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。其中,所述第二报文还可以包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
其中,所述第二指示与所述第一指示不同,可以包括:所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的next header字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的next header字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
在一些可能的实现方式中,该装置还可以包括确定单元。该确定单元,用于在预设时长未接收到所述第二网络设备对所述第一报文的响应报文,则,确定所述第一网络设备和所述接入侧网络设备之间用于承载所述业务的路径存在故障。
在一些可能的实现方式中,该装置还可以包括接收单元和确定单元。其中,接收单元,用于接收所述第二网络设备对所述第一报文的响应报文;确定单元,用于根据所述响应报文,确定所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径的路径状态。
在一些可能的实现方式中,该装置还可以包括切换单元。该切换单元,用于根据在预设时长未接收到所述第二网络设备对所述第一报文的响应报文确定所述用于承载所述业务的路径存在故障时,或,根据所述路径状态确定所述用于承载所述业务的路径存在故障或不满足路径质量要求时,将用于承载所述业务的路径切换为包括所述第一网络设备到第三网络设备的路径,切换后所述第三网络设备承载所述业务。
该第三方面提供的实现业务路径检测的装置用于执行上述第一方面提及的相关操作,其具体实现方式以及达到的效果,均可以参见上述第一方面的相关描述,在此不再赘述。
第四方面,本申请实施例还提供了一种实现业务路径检测的装置,该装置应用于第二网络设备,该装置应用于支持基于SRv6的网络中。该装置可以包括:接收单元和检测单元。其中,接收单元,用于接收第一网络设备发送的第一报文,所述第一报文中包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文。检测单元,用于根据所述第一指示和所述业务的标识信息对第一网络设备和第二网络设备之间承载所述业务的路径以及第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个进行检测。
其中,业务的标识信息可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中其中,第一指示可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
作为一个示例,所述第一报文包括第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,所述第一报文包括第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。其中,所述第一报文的所述第一IPv6扩展头还包括保留标签、控制字,所述保留标签和控制字用于指示所述第一报文的有效载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对承载所述业务的路径进行检测。
作为另一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
作为又一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
作为再一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
在一些可能的实现方式中,所述接收单元,还用于接收所述第一网络设备发送的第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。其中,所述第二报文还可以包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
其中,所述第二指示与所述第一指示不同,可以包括:所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的next header字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的next header字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
在一些可能的实现方式中,该装置还可以包括发送单元。该发送单元,用于向所述第一网络设备发送响应报文,以使得所述第一网络设备根据所述响应报文确定所述第二网络设备和接入侧网络设备之间承载所述业务的路径存在故障。其中,所述第二网络设备发送的所述响应报文可以包括所述第二网络设备的接口状态信息,所述接口状态信息用于指示所述第一网络设备确定所述第二网络设备和接入侧网络设备之间承载所述业务的路径存在故障。
在一些可能的实现方式中,所述检测单元,具体可以用于:确定所述第一报文为检测报文,且确定本地支持根据所述第一指示进行检测,则,按照本地检测策略对承载所述业务的路径进行检测。
该第四方面提供的实现业务路径检测的装置用于执行上述第二方面提及的相关操作,其具体实现方式以及达到的效果,均可以参见上述第二面的相关描述,在此不再赘述。
在上述第三方面和第四方面提供的装置中,应用于第一网络设备的实现业务路径检测的装置可以为承载所述业务的入口PE设备,应用于第二网络设备的实现业务路径检测的装置可以为承载所述业务的出口PE设备。
在上述第三方面和第四方面提供的装置中,实现业务路径检测的装置之间承载的业务,可以是L2VPN业务,L2VPN例如可以包括传统VPN技术或EVPN技术承载的业务。无论是传统VPN业务还是EVPN业务,均可以采用VLL业务模型或VPLS业务模型进行网络布署。
在上述第三方面和第四方面提供的装置中,第一报文可以为BFD报文,或者,也可以为OAM报文。
第五方面,本申请还提供了一种网络设备,所述网络设备包括:处理器,用于使得该网络设备实现上述第一方面或第二方面提供的所述方法。该网络设备还可以包括存储器,存储器与处理器耦合,处理器执行存储器中存储的指令时,可以使得该网络设备实现上述第一方面或第二方面提供的方法。该网络设备还可以包括通信接口,通信接口用于该网络设备与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。本申请中存储器中的指令可以预先存储,也可以使用该网络设备时从互联网下载后存储,本申请对于存储器中指令的来源不进行具体限定。
第六方面,本申请还提供了一种网络系统,所述网络系统包括第一网络设备和第二网络设备,其中:所述第一网络设备,用于执行上述第一方面提供的所述方法;所述第二网络设备,用于执行上述第二方面提供的所述方法。
第七方面,本申请提供了一种芯片,包括处理器和接口电路;接口电路,用于接收指令并传输至处理器;处理器,用于执行如第一方面或第二方面提供的所述方法对应的指令。
第八方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码或指令,当其在计算机上运行时,使得所述计算机执行以上第一方面或第二方面提供的所述方法。
第九方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以上第一方面或第二方面提供的所述方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种网络系统10的结构示意图;
图2为本申请实施例中一种实现业务路径检测的方法100的流程图;
图3a为本申请实施例中一种报文1的格式示意图;
图3b为本申请实施例中另一种报文1的格式示意图;
图3c为本申请实施例中与图3a对应的报文2的格式示意图;
图3d为本申请实施例中与图3b对应的报文2的格式示意图;
图4a为本申请实施例中一种报文1的格式示意图;
图4b为本申请实施例中另一种报文1的格式示意图;
图4c为本申请实施例中与图4a对应的报文2的格式示意图;
图4d为本申请实施例中与图4b对应的报文2的格式示意图;
图5a为本申请实施例中一种报文1的格式示意图;
图5b为本申请实施例中与图5a对应的报文2的格式示意图;
图6a为本申请实施例中一种报文1的格式示意图;
图6b为本申请实施例中另一种报文1的格式示意图;
图6c为本申请实施例中与图6a对应的报文2的格式示意图;
图6d为本申请实施例中与图6b对应的报文2的格式示意图;
图7为本申请实施例中一种实现业务路径检测的装置700的结构示意图;
图8为本申请实施例中一种实现业务路径检测的装置800的结构示意图;
图9为本申请实施例中一种网络设备900的结构示意图;
图10为本申请实施例中一种网络设备1000的结构示意图;
图11为本申请实施例中一种网络系统1100的结构示意图。
具体实施方式
目前,在SRv6的网络中,仅能够进行隧道级的故障检测,从而,也仅能够在检测到隧道存在故障时进行隧道级的切换。例如,在图1所示的网络系统10中,可以包括PE设备11、PE设备12、PE设备13、用户侧边缘(customer edge,CE)设备21、CE设备22、运营商(provider,P)设备31、P设备32和P设备33,其中,PE设备11连接CE设备21,PE设备11通过P设备31连接PE设备12,PE设备11分别通过P设备32和P设备33连接PE设备13,PE设备12和PE设备13连接CE设备22。假设PE设备11和PE设备12之间具有隧道1,PE设备11和PE设备13之间具有隧道2,隧道1上承载有业务1和业务2,PE设备11能够通过隧道检测报文,检测到隧道1发生故障,从而,将隧道1上承载的业务1和业务2都切换到隧道2上,即,切换后业务1和业务2的流量均通过PE设备13发送到CE设备22。
但是,该隧道级的故障检测粒度太粗,一旦该故障是由某个业务导致的,而该隧道上承载的其他业务能够正常运行,那么,该故障检测方式无法精确检测出发生路径故障的业务,也无法针对发生故障的业务的转发路径进行精确的切换,而只能进行隧道级的路径切换,由此导致用户侧PE设备会对该隧道上承载的所有业务均进行路径切换,即,该隧道上正常运行的业务的承载路径也会被切换,浪费网络资源。而且,在其他路径检测的场景下,也需要对路径质量进行业务级的检测,以了解承载业务的路径的路径质量,从而提供更加优质的业务服务。
基于此,本申请实施例提供了一种实现业务路径检测的方法,第一网络设备能够基于第六版互联网协议(internet protocol version 6,IPv6)生成并向第二网络设备发送包括第一指示和业务的标识信息的第一报文,该第一指示用于指示第一报文为检测报文,业务的标识信息用于指示所述业务;这样,接收到该第一报文的第二网络设备即可根据第一报文中的第一指示确定第一报文为检测报文,并根据第一报文中所述业务的标识信息确定对承载所述业务的路径进行检测,例如,对承载业务的路径进行故障检测和/或质量检测。可见,通过本申请实施例提供的方法,发送方网络设备在发送的检测报文中添加指示和业务的标识信息,使得接收方网络设备能够精确的确定出所接收的报文是检测报文并感知到对应的业务,从而基于检测报文对承载该业务的路径进行检测,克服了目前只能实现网络设备之间隧道级的检测,粒度较粗无法满足需求和浪费网络资源的问题,也满足了对路径质量进行业务级的检测需求,实现了更细粒度、更精确的业务级的路径检测,为业务级的路径切换提供了准确的依据,从而为网络中业务的正常运行提供了保障。
仍然以图1所示的网络系统10为例,本申请实施例提供的路径检测过程例如可以包括:S11,PE设备11基于IPv6生成报文41,该报文41包括指示51和业务1的标识信息,指示51用于指示该报文41为检测报文,业务1的标识信息可以用于识别业务1,那么,该报文41用于指示接收方设备对承载业务1的路径进行检测;S12,PE设备11经过P设备31向PE设备12发送该报文41;S13,PE设备12接收到报文41后,可以基于指示51确定所接收的是检测报文,并且,根据报文41中的业务1的标识信息对承载该业务1的路径进行检测;此时,一种情况下,可以执行下述S14a~S15a,另一种情况下,可以执行下述S14b~S15b。S14a,PE设备12确定承载该业务1的路径存在故障,则,不对该报文41作出响应;S15a,PE设备11在预设时长(如1秒)未接收到报文41的响应报文,则,确定PE设备11到CE设备22之间承载业务1的路径存在故障。S14b,PE设备12确定承载该业务1的路径状态,并向PE设备11发送报文41的响应报文,该响应报文中可以包括所确定的承载该业务1的路径状态,其中,该路径状态可以包括PE设备12和接入侧网络设备(如CE设备22)之间承载业务1的路径的路径质量和/或路径连通性,该路径状态还可以包括PE设备11和PE设备12之间承载业务1的路径的路径质量和/或路径连通性;S15b,PE设备11根据响应报文,则,确定PE设备11到CE设备22之间承载业务1的路径的路径状态。接着,还可以执行下述S16,即,PE设备11在根据S15a确定PE设备11到CE设备22之间承载业务1的路径存在故障时,或在根据S51b确定路径状态指示PE设备11到CE设备22之间承载业务1的路径存在故障或PE设备11到CE设备22之间承载业务1的路径不满足路径质量要求时,将业务1切换到包括PE设备13的路径上,切换后业务1通过PE设备13承载,业务2仍然通过PE设备12承载。这样,实现了更加精细化的路径检测和切换,使得资源的利用更加合理。
在一种情形下,如果PE设备11和PE设备12之间承载业务的路径可达,PE设备12可以接收到PE设备11发送的检测报文,则,PE设备12即可将获取到的承载业务1的路径的路径状态携带在响应报文中发送给PE设备11。其中,响应报文中携带的路径状态,可以包括PE设备12获得的PE设备12和接入侧网络设备(如CE设备22)之间的路径质量或路径连通性相关信息,这样,PE设备11即可基于该响应报文感知到从PE设备12到接入侧网络设备之间承载业务1的路径范围是否存在故障或路径质量是否满足要求。在另一种情形下,当PE设备11到PE设备12之间的链路或设备存在故障以及PE设备12故障时,PE设备12可能无法接收到报文41,从而,PE设备11根据在预设时长内接收不到PE设备12发送的响应报文,可以确定PE设备11和CE设备22之间承载业务1的路径故障。在另一种情形下,PE设备12在确定PE设备11和PE设备12之间承载业务1的路径存在故障时,也可以通过某条备用路径主动向PE设备11发送报文,告知PE设备11承载业务1的路径存在故障,或告知PE设备11承载业务1的路径质量不满足要求,或告知PE设备11承载业务1的路径上的有关接口、设备或链路的状态,以使得PE设备11根据从PE设备12接收的状态信息确定承载业务的路径是否存在故障或不满足路径质量要求。
在图1所示的网络系统10中,PE设备之间可以直接连接;PE设备之间也可以通过一个或多个转发设备间接连接,其中,转发设备包括但不限于P设备。
需要说明的是,本申请实施例中的网络设备可以指能够承载业务的路由器、交换机、转发器、防火墙等设备。
需要说明的是,本申请各实施例提供的方法,可以应用于SRv6的网络中,或者其他需要的应用场景,如支持IPv6协议运行的其他衍生网络。
需要说明的是,本申请中各实施例中提及的业务,可以是二层虚拟专用网(layer2virtual private network,L2VPN)业务,L2VPN例如可以包括传统VPN技术或以太虚拟专用网(ethernet virtual private network,EVPN)技术承载的业务。L2VPN中,无论是传统VPN业务还是EVPN业务,均可以采用虚拟租用线路(virtual leased line,VLL)业务模型或虚拟专用局域网业务(virtual private LAN service,VPLS)业务模型进行网络布署。其中,VLL用于支持点到点的业务,VPLS用于支持点到多点的业务或多点到多点的业务。以图1所示的网络系统10为例,如果图1所示的网络系统10为传统VPN网络,那么,无论是VLL业务模型还是VPLS业务模型,PE设备11和PE设备12之间的连接、以及PE设备11和PE设备13之间的连接均可以称为伪线(pseudo wire,PW);如果图1所示的网络系统10为EVPN网络,那么,对于VLL业务模型,PE设备11和PE设备12之间的连接、以及PE设备11和PE设备13之间的连接均可以称为虚拟专用线路业务(virtual private wire service,VPWS)邻居。传统VPN和EVPN网络承载的业务类型可以相同,其中,EVPN网络能够通过边界网关协议(bordergateway protocol,BGP)实现,而传统VPN网络能够通过标签分发协议(labeldistribution protocol,LDP)、BGP等多种协议中的至少一种协议实现。
需要说明的是,本申请各实施例中提及的检测报文,可以用于对承载业务的路径的连通性或承载业务的路径的质量(如该路径上的时延、丢包等指标)进行检测。检测报文例如可以是双向转发检测(bidirectional forwarding detection,BFD)报文或者操作管理和维护(operation administration and maintenance,OAM)报文。对于检测报文为BFD报文的情况,本申请实施例提供的方法例如可以支持静态BFD检测、动态BFD检测或无缝双向转发检测(seamless bidirectional forwarding detection,SBFD)检测。检测到承载业务的路径状态,可以指该路径的连通性或路径质量。对于检测报文为OAM报文的情况,本申请实施例提供的方法例如可以支持连通性故障管理(connectivity fault management,CFM)检测、Y.1731检测。检测报文的具体类型以及支持的检测类型不影响本申请实施例的实施。
为便于理解本申请实施例提供的网络故障检测方法,下面将结合附图对该方法进行说明。
图2为本申请实施例提供的一种实现业务路径检测的方法100的流程示意图。该方法100可以应用于包括第一网络设备和第二网络设备的网络场景中。作为一种示例,第一网络设备可以为承载待检测的目标业务的隧道入口PE设备,第二网络设备可以是承载该目标业务的隧道出口PE设备。为了方便理解,以图1示出的网络系统10的结构为例,通过PE设备11和PE设备12之间的交互进行描述,待检测的目标业务为PE设备11和PE设备12上承载的业务1。具体实现时,该方法100例如可以包括下述S101~S104:
S101,PE设备11基于IPv6生成报文41,该报文41包括指示51和业务1的标识信息,所述指示51用于指示报文41为检测报文。
具体实现时,在SRv6网络中,PE设备11可以通过IPv6封装检测报文,得到报文41,该报文41也可以称为基于IPv6封装的检测报文。例如,假设检测报文为BFD报文,那么,S101中的报文41可以称为基于IPv6封装的BFD报文,封装之前的BFD报文对应封装之后报文41中的检测信息。
其中,业务1的标识信息,可以携带在报文41的IPv6头1中,也可以携带在IPv6扩展头1’中,用于标识该业务1。例如,业务1的标识信息可以是PE设备12为标识业务而分配的VPN SID。
其中,指示51可以携带在报文41的IPv6头1中,或者,指示51也可以携带在IPv6扩展头1’中。下面对指示51在各种情况下携带在报文41中的位置进行示例性说明。
作为一个示例,对于SRv6的尽力而为(best effort,BE)场景,指示51可以携带在IPv6头1的下一个头(next header)字段中,例如,报文41中IPv6头1的next header字段=137,用于指示该报文41为检测报文。该示例下,报文41还可以包括IPv6扩展头1’,该IPv6扩展头1’中可以包括保留标签(alert label)和控制字,其中,alert label和控制字用于指示报文41的有效载荷(payload)部分携带有检测信息,该检测信息用于指示PE设备12根据该检测信息对承载业务1的路径进行故障检测或质量检测。其中,alert label和控制字用于指示检测信息,可以是基于alert label和控制字的取值确定后面携带的内容为检测信息,或者,也可以基于alert label和控制字的取值确定后面携带的内容为检测信息且能够确定检测信息的类型,例如,alert label=13和控制字,可以确定后面携带的内容为检测信息且检测信息的类型为BFD信息。此外,指示51也可以认为携带在IPv6头1的next header字段以及IPv6扩展头1’中的alert label和控制字中,IPv6头1的next header字段、IPv6扩展头1’中的alert label和该IPv6扩展头1’中的控制字三者共同指示该报文41为检测报文。报文41的格式示意图参见图3a所示,该报文41可以包括IPv6头1和IPv6扩展头1’,其中,IPv6头1中可以包括源地址(source address,SA)字段、目的地址(destination address,DA)字段和next header字段,SA字段的取值为PE设备11的地址,例如等于PE设备11的环回(loopback)地址1::1,DA字段的取值为PE设备12的VPN段标识(segment identifier,SID),例如等于PE设备12的End.DX2 A3::1500:0,next header字段的取值可以为137;IPv6扩展头1’中可以包括alert label和控制字,该报文41的payload中可以包括互联网协议(internet protocol,IP)、用户数据报协议(user datagram protocol,UDP)和检测信息,其中,alert label=13,检测信息为BFD信息。
作为另一个示例,对于SRv6的策略(policy)场景,指示51可以携带在IPv6扩展头1的分段路由扩展头(segment routing header,SRH)中的next header字段中,例如,报文41中IPv6扩展头1’的next header字段=137,用于指示该报文41为检测报文。该示例下,该IPv6扩展头1’中还可以包括alert label和控制字和检测信息,其中,alert label和控制字用于指示报文41的payload中的检测信息,该检测信息用于指示PE设备12根据该检测信息对承载业务1的路径进行故障检测。此外,指示51也可以认为携带在IPv6扩展头1’中SRH中的next header字段、alert label和控制字中,三者共同指示该报文41为检测报文。报文41的格式示意图参见图3b所示,该报文41可以包括IPv6头1和IPv6扩展头1’,其中,IPv6头1中可以包括SA字段和DA字段;IPv6扩展头1’可以包括next header字段、alert label和控制字,该报文41的payload中可以包括IP、UDP和检测信息,其中,next header字段的=137,alert label=13,检测信息为BFD信息。
作为又一个示例,对于SRv6 BE场景,指示51可以携带在IPv6头1的DA字段中,例如可以携带在IPv6头1的DA字段的变量(args)中,如,报文41中IPv6头1的DA字段的args=3,用于指示该报文41为检测报文。该示例下,报文41的payload中可以包括检测信息。报文41的格式示意图参见图4a所示,该报文41可以包括IPv6头1和payload,其中,IPv6头1中可以包括SA字段和DA字段,SA字段的取值为PE设备11的地址,例如等于PE设备11的loopback地址1::1,DA字段的取值为PE设备12的VPN SID,示例性地为End.DX2 A3::1500:3(即DA字段中args=3);payload中包括检测信息,其中,检测信息可以为BFD信息。在其他可能的方式中,该VPN SID中args也可以设置为其他取值,如其他非0的正整数。
作为另一个示例,对于SRv6 policy场景,指示51可以携带在IPv6扩展头1’的SRH中的DA字段中,例如可以携带在IPv6扩展头1’的DA字段的args中,例如,报文41中IPv6扩展头1’的DA字段中args=3,用于指示该报文41为检测报文。该示例下,报文41的payload中可以包括检测信息。报文41的格式示意图参见图4b所示,该报文41可以包括IPv6头1、IPv6扩展头1’和payload,其中,IPv6头1中可以包括SA字段和DA字段,SA字段的取值为PE设备11的地址,例如等于PE设备11的loopback地址1::1,DA字段的取值为PE设备12的VPN SID,例如等于PE设备12的End.DX2 A3::1500:3;IPv6扩展头1’可以包括SRH,payload中可以包括IP、UDP和检测信息,其中,SRH中DA字段的args=3,检测信息可以为BFD信息。
作为再一个示例,指示51可以携带在IPv6扩展头1’的SRH中的标志(flags)字段中,例如,报文41中IPv6扩展头1’的的SRH中的某个flag=1,用于指示该报文41为检测报文,承载指示51的flag可以是未被定义的flags字段中的任意一个比特位,或者,也可以复用flags中已被占用的O-flag标志位。该示例下,报文41的payload中可以包括检测信息。报文41的格式示意图参见图5a所示,该报文41可以包括IPv6头1、IPv6扩展头1’和payload,其中,IPv6头1中可以包括SA字段和DA字段;IPv6扩展头1’中可以包括SRH,payload中可以包括IP、UDP和检测信息,其中,SRH的flags中的某个比特位的取值可以为1,检测信息可以为BFD信息。
作为又一个示例,一种情况下,指示51可以携带在IPv6扩展头1’的逐跳(hop byhop,HBH)选项头中的类型长度值(type length value,TLV)字段中,IPv6扩展头1’中的HBH选项头中包括该TLV字段,用于指示该报文41为检测报文。该报文41的payload中可以包括检测信息。报文41的格式示意图参见图6a所示,该报文41可以包括IPv6头1、IPv6扩展头1’和payload,其中,IPv6头1中可以包括SA字段和DA字段;IPv6扩展头1’可以包括HBH选项头,payload中可以包括IP、UDP和检测信息,其中,HBH选项头中包括TLV字段,检测信息可以为BFD信息。另一种情况下,指示51也可以携带在IPv6扩展头1’的目的地址选项头(destination option header,DOH)中的TLV字段中,IPv6扩展头1’中的DOH中包括该TLV字段,用于指示该报文41为检测报文。该报文41的payload中可以包括检测信息。报文41的格式示意图参见图6b所示,该报文41可以包括IPv6头1、IPv6扩展头1’和payload,其中,IPv6头1中可以包括SA字段和DA字段;IPv6扩展头1’可以包括DOH,payload中可以包括IP、UDP和检测信息,其中,DOH中包括TLV字段,检测信息可以为BFD信息。
上述各示例中,以报文41为BFD报文为例进行说明。如果报文41为OAM报文,则,携带指示51以及业务1的标识信息的方式可以参见上述各示例的实现,此时报文41的payload中的检测信息可以是OAM信息,该OAM信息例如可以包括PE设备11向PE设备12发送数据包的数量、时间戳等。
需要说明的是,上述各种报文41中携带指示51的方式,均是示例性的,也可以采用其他可能的任何方式在报文41中携带指示51。
S102,PE设备11向PE设备12发送报文41。
在一些可能的实现方式中,如果PE设备11向PE设备12发送报文41的链路或经过的设备故障导致无法成功将该报文41发送给PE设备12,则,PE设备12不能接收到PE设备11发送的报文41,从而,PE设备11在预设时长内接收不到PE设备12发送的响应报文,可以确定PE设备11和CE设备22之间承载业务1的路径故障。其中,PE设备12不能成功接收到报文41对应的故障内容可以包括:PE设备11和P设备31之间的链路故障、P设备31和PE设备12之间的链路故障、P设备31故障或PE设备12故障。
在另一些可能的实现方式中,PE设备12能够成功接收到报文41,即,该方法100中在S102之后还包括S103~S104,则,可以基于该方法100实现检测。相关实现方式参见下述描述。
S103,PE设备12接收PE设备11发送的报文41。
具体实现时,在存在对承载业务1的路径进行检测的需求时,可以执行S102和S103以实施对应的检测;或者,也可以周期性的对承载业务的路径进行检测,即,每个周期执行S102~S103以实施对应的检测,其中,检测周期可以根据实际需求进行灵活设置。
S104,PE设备12根据指示51和业务1的标识信息对PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个进行检测。
具体实现时,PE设备12接收到报文41后,可以根据该报文41中的指示51和业务1的标识信息对承载业务1的路径进行检测,一方面,PE设备12可以对PE设备11和PE设备12之间用于承载业务1的路径进行检测,例如,检测PE设备12和P设备31之间的链路是否故障,又例如,检测PE设备12上用于连接P设备31的接口是否故障;另一方面,PE设备12也可以对该PE设备12和接入侧网络设备(如CE设备22)之间用于承载业务1的路径进行检测,例如,检测PE设备12和CE设备22之间的链路是否故障,又例如,检测PE设备12上用于连接CE设备22的接口是否故障。
如果PE设备12检测到承载业务1的路径不存在故障或路径质量满足要求,则,可以向PE设备11回复响应报文,该响应报文用于告知PE设备11承载业务1的路径正常。
如果PE设备12检测到承载业务1的路径存在故障或路径质量不满足要求,则,PE设备12可以不对该报文41作出响应,或者,PE设备12也可以向PE设备11发送用于通告故障或路径质量不满足要求的响应报文。
作为一个示例,PE设备12在确定承载业务1的路径存在故障或路径质量不满足要求时,例如,PE设备12感知到本地用于连接CE设备22的接口故障、PE设备12连接CE设备22的链路故障、PE设备12连接PE设备11的路径质量不满足要求(如时延超过预设的时延阈值)时,在S104之后,该方法还可以包括:PE设备12向PE设备11发送响应报文;PE设备11接收到该响应报文后,即可根据响应报文确定PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个路径的路径状态,该路径状态包括对应路径的连通性和/或路径质量。其中,该响应报文中可以包括但不限于:PE设备12的本地的状态信息、PE设备12和接入侧网络设备之间链路的状态信息以及PE设备12连接接入侧网络设备的接口的状态信息。此外,该响应报文中还可以包括:PE设备12和PE设备11之间路径的状态信息以及PE设备12连接网络侧网络设备的接口的状态信息。PE设备11可以基于响应报文确定承载业务1的路径质量以及路径连通性此外。PE设备11也可以根据响应报文更精确的确定承载业务1的路径上各路径段的状态,如链路质量或者具体故障位置等,例如,可以确定:PE设备12和P设备31之间的链路状态、PE设备12和CE设备22之间的链路状态、PE设备12用于连接P设备31的接口状态或者PE设备12用于连接CE设备22的接口状态。
需要说明的是,在一种可能的情形中,如果PE设备12整机故障,则,无法再向PE设备11发送响应报文;在其他可能的情形中,即使PE设备12确定存在与其关联的路径故障,仍可以通过响应报文告知PE设备11故障的存在,例如,假设故障存在于PE设备11和PE设备12之间承载该业务1的路径上,那么,PE设备12可以选择其他可达的路径向PE设备11发送该响应报文,以告知PE设备11用于承载业务1的路径故障。
作为另一个示例,PE设备12在确定承载业务1的路径存在故障或路径质量不满足要求时,PE设备12可以不发送响应报文,具体可以包括但不限于:检测机制确定存在故障时不发送响应报文,或者,由于PE设备12和P设备31之间的链路故障或PE设备12用于连接P设备31的接口故障等原因导致无法发送响应报文。PE设备11中可以设置预设时长(如1秒),该预设时长可以是PE设备11预先设置的发出检测报文后等待接收响应报文的最长允许时间。那么,当PE设备11从发送报文41开始经过预设时长,仍然未接收到PE设备12发来的针对报文41的响应报文,则PE设备11可以确定PE设备11和CE设备22之间承载业务1的路径存在故障或路径质量不满足要求。其中,承载业务1的路径存在故障的情况可以包括但不限于:PE设备12故障、P设备31故障、CE设备22故障、PE设备11到P设备31之间的链路故障、P设备31到PE设备12之间的链路、PE设备12到CE设备22之间的链路故障、PE设备11到P设备31之间的接口故障、P设备31到PE设备12之间的接口故障、PE设备12到CE设备22之间的接口故障、与PE设备12连接的用户侧网络中存在设备、链路或接口故障。
在一种可能的实现方式中,如果报文41为BFD报文,则,PE设备11向PE设备12发送该BFD报文,不仅可以感知到PE设备11和PE设备12之间承载该业务1的路径是否存故障,还能够基于BFD报文中的业务1的标识信息感知到PE设备12和接入侧网络设备(如CE设备22)之间承载该业务1的路径是否存在故障,这样,PE设备11即可通过该BFD报文,感知到承载该业务1的整个路径的连通性,达到业务级连通性检测的效果。
在另一种可能的实现方式中,如果报文41为OAM报文,则,PE设备11向PE设备12发送该OAM报文,可以实现对承载业务1的路径的连通性以及路径质量的检测。以检测路径质量为例,一种情况下,OAM报文实现路径质量检测的过程例如可以包括:PE设备11向PE设备12发送OAM报文,告知PE设备11已发送业务数据包的统计信息(如发送的数据包数量、时间戳等信息),PE设备12可以根据OAM报文中携带的VPN SID确定待检测的VPN对应的业务1,从而对自身获取的本设备中与该待检测业务1对应的接收数据包的统计结果和所接收OAM报文中的统计信息进行处理,得到承载该待检测业务1的路径对应的质量检测结果;接着,PE设备12可以生成并向PE设备11发送携带该检测结果的OAM响应报文,以指示PE设备11从所接收的该OAM响应报文中获得承载该待检测业务1的路径的质量检测结果,确定承载该待检测业务的路径质量。另一种情况下,OAM报文实现路径质量检测的过程例如也可以包括:PE设备11向PE设备12发送OAM报文,告知PE设备12已发送的业务数据包的统计信息,PE设备12可以根据OAM报文中携带的VPN SID确定待检测的VPN对应的业务1,并将PE设备12获取的与该待检测业务1对应的已接收数据包的统计结果携带在用于响应的OAM报文中发送给PE设备11,以使得PE设备11根据接收的响应OAM报文进行处理,获得承载该待检测业务1的路径的质量检测结果,从而确定承载该待检测业务1的路径质量。以上的两种情形以单向检测为例,在其他可能的情形中,PE设备11和PE设备12也可以对承载业务的路径进行双向检测,如PE设备11向PE设备12发送OAM报文,告知PE设备11已发送业务数据包的统计信息,并接收PE设备12发送的响应报文,该响应报文可以用于指示PE设备11对该业务的双向路径数据包进行统计,该响应报文还可以携带返程路径上针对该业务的数据包进行统计的统计信息。PE设备11可以根据该响应报文确定针对该业务的数据包的双向路径质量检测结果。如此,OAM报文作为检测报文,PE设备11接收到的响应报文中可以包括下述三者中的至少一个:承载业务1的路径的连通性检测结果(即,PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个是否存在故障),承载业务1的路径的路径质量检测结果(即,PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个的路径质量是否满足要求),以及承载业务1的路径的路径质量的统计结果(即,PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个的路径质量参数,可以由PE设备11对路径质量参数进行处理获得路径质量是否满足要求的路径质量检测结果),其中对于路径质量检测可以指针对单向路径进行质量检测,也可以是指针对双向路径进行质量检测。
在一些可能的实现方式中,S104例如可以包括:PE设备12确定报文41为检测报文,且确定本地支持根据指示51进行检测,则,按照本地故障检测策略对承载业务1的路径进行故障检测。其中,按照本地故障检测策略,可以指将该报文41发送到对应的检测进程中,在对应的检测进程进行故障检测。例如,假设报文41为BFD检测报文,那么,PE设备12确定本地支持BFD检测时,将该BFD检测报文中业务相关内容和检测信息发送到本地BFD进程中,以在BFD进程进行对应的故障检测。又例如,假设报文41为OAM检测报文,那么,PE设备12确定本地支持OAM检测时,将该OAM检测报文中业务相关内容和检测信息发送到本地OAM实例中,以在OAM实例进行对应的检测。
其中,本地支持根据指示51进行检测,可以指PE设备本地配置使能了该指示51所指示检测的相应检测功能。其中,该业务1例如可以是传统VPN业务1或EVPN业务1。在一种可能的情形中,如果检测报文中包括指示隧道信息的SRH,则,发送到检测进程中的内容可以为检测报文剥掉SRH之后的内容。
作为一个示例,如果报文41如上图5a所示,则,PE设备12可以在确定报文41的DA字段与本地的VPN SID匹配之后,根据报文41的指示51确定报文41为检测报文,确定PE设备12本地支持根据指示51进行检测,且该PE设备12为能够感知业务1的设备(如:PE设备12是出口PE设备),则,将该报文41中业务相关内容和检测信息发送到对应的检测进程中,在对应的检测进程进行故障检测。
作为另一个示例,如果报文41如上图6a所示,则,PE设备12可以在确定报文41的IPv6扩展头1’的HBH选项头中存在承载指示51的TLV字段,根据报文41的指示51确定报文41为检测报文,确定本地支持根据指示51进行检测,且PE设备12为能够感知业务1的设备时,将该报文41中业务相关内容和检测信息发送到对应的检测进程中,在对应的检测进程进行故障检测。
作为又一个示例,如果报文41如上图6b所示,则,PE设备12可以在确定报文41的DA字段与本地的VPN SID匹配之后,确定报文41的IPv6扩展头1’的DOH中存在承载指示51的TLV字段,根据报文41的指示51确定报文41为检测报文,确定本地支持根据指示51进行检测,且PE设备12为能够感知业务1的设备,则,将该报文41中业务相关内容和检测信息发送到对应的检测进程中,在对应的检测进程进行故障检测。
在一些可能的实现方式中,PE设备11还可以向PE设备12发送业务1对应的业务报文,例如,该方法100还可以包括:S105,PE设备11向PE设备12发送报文42,该报文42为用于承载业务1的业务报文,该报文42不包括指示51。
一种情况下,报文2不包括承载指示51的字段,例如,报文41通过IPv6扩展头1’的HBH选项头中的TLV字段承载指示51,则,对应的报文42如图6b所示,HBH选项头中不包括对应的TLV字段。又例如,报文41通过IPv6扩展头1’的DOH中的TLV字段承载指示51,则,对应的报文42如图6d所示,DOH中不包括对应的TLV字段。
另一种情况下,报文42包括承载指示51的字段,该字段在报文42中承载指示52,该指示52用于指示报文42为业务报文,指示52与指示51不同。作为一个示例,报文42包括IPv6头2,指示52携带于IPv6头2中的next header字段,指示51为IPv6头1中的next header字段的第一值,那么,指示52为IPv6头2中的next header字段的第二值,第一值和第二值不相同。例如,报文41中IPv6头1中next header字段=137,对应报文42如图3c所示,报文42中IPv6头2中next header字段=143。作为另一个示例,报文42包括IPv6扩展头2’,指示52携带于IPv6扩展头2’的SRH中的next header字段,指示51为IPv6扩展头1’的SRH中的nextheader字段的第一值,那么,指示52为IPv6扩展头2’的SRH中的next header字段的第二值,第一值和第二值不相同。例如,报文41中IPv6扩展头1’中SRH的next header字段=137,对应报文42如图3d所示,报文42中IPv6扩展头2’中SRH的next header字段=143。在以上图3c和图3d的示例中,以next header字段在报文42中的取值均为143作为举例,在实际应用中,图3c和图3d中报文42的next header字段的取值也可以不同。作为又一个示例,报文42包括IPv6头2,指示52携带于IPv6头2的DA字段中的args字段,指示51为IPv6头1中的DA字段的args的第三值,那么,指示52为IPv6头2中的DA字段的args的第四值,第三值和第四值不相同。例如,报文41中IPv6头1中DA字段的args字段=3,对应报文42如图4c所示,报文42中IPv6头2中DA字段的args字段=0。作为再一个示例,报文42包括IPv6扩展头2’,指示52携带于IPv6扩展头2’的SRH中的DA字段的args字段,指示51为IPv6扩展头1’的SRH中的DA字段的args字段的第三值,那么,指示52为IPv6扩展头2’的SRH中的DA字段的args字段的第四值,第三值和第四值不相同。例如,报文41中IPv6扩展头1’中SRH的DA字段的args字段=3,对应报文42如图4d所示,报文42中IPv6扩展头2’中SRH的DA字段的args字段=0。在以上图4c和图4d的示例中,以DA字段在报文42中的取值均为0作为举例,在实际应用中,图4c和图4d中报文42的args字段的取值也可以不同。作为又一个示例,报文42包括IPv6扩展头2’,指示52携带于IPv6扩展头2’的SRH中的flag字段,指示51为IPv6扩展头1’的SRH中的flag字段的第五值,那么,指示52为IPv6扩展头2’的SRH中的flag字段的第六值,第五值和第六值不相同。例如,报文41中IPv6扩展头1’中SRH的flag字段=1,对应报文42如图5b所示,报文42中IPv6扩展头2’中SRH的flag字段=0。
如此,对于接收方PE设备12,能够通过对所接收报文的解析,识别到所接收的报文是检测报文还是业务报文,从而执行相应的处理。例如,PE设备12通过对所接收报文41的解析获得指示51,基于指示51确定报文41为检测报文,从而执行上述S104;又例如,PE设备12通过对报文42的解析,确定不包括指示51的报文42为业务报文,从而按照业务报文的处理规则对该业务报文进行转发等相应的操作。
在一些可能的实现方式中,在PE设备11确定PE设备11和PE设备12之间承载业务1的路径以及PE设备12和CE设备22之间承载业务1的路径中的至少一个路径存在故障之后,为了保证业务的正常运行,PE设备11还可以将用于承载所述业务1的路径切换为包括PE设备11到PE设备13的路径,切换后PE设备13承载该业务1。切换之前,业务1对应的业务报文依据经过PE设备11、P设备31、PE设备12到达CE设备22,切换之后,业务1对应的业务报文依据经过PE设备11、P设备32、P设备33、PE设备13到达CE设备22,但是,无论是切换之前还是切换之后,业务2对应的业务报文均依次经过PE设备11、P设备31、PE设备12到达CE设备22,这样,克服了隧道级故障检测中,发现故障之后将隧道上所有的业务(包括业务1和业务2)均进行切换,切换后业务1和业务2均经过PE设备11、P设备31、PE设备12到达CE设备22,浪费网络资源的问题,提高了业务控制的精度。
可见,通过本申请实施例提供的方法100,发送方网络设备在发送的检测报文中添加指示和业务的标识信息,使得接收方网络设备能够精确的区分出所接收的报文是检测报文还是业务报文,当接收方网络设备确定接收到的报文是检测报文时,即可基于检测报文中的业务的标识信息确定待检测业务,进而对承载该待检测业务的路径进行检测,以实现更细粒度、更精确的业务级的故障检测,为业务级的切换提供了准确的依据,从而为网络中业务的正常运行提供了保障。
基于上述方法实施例,本申请实施例提供了一种实现业务路径检测的装置,下面将结合附图对该装置进行说明。
图7为本申请实施例提供的一种实现业务路径检测的装置700的结构示意图,该装置700应用于第一网络设备,例如可以执行图1所示实施例中PE设备11的功能。该装置700可以包括:生成单元701和发送单元702。
其中,生成单元701,用于基于第六版互联网协议IPv6生成第一报文,所述第一报文包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文。
当装置700应用于图1所示的PE设备11时,生成单元701生成第一报文的具体实现可以参见图2所述实施例中S101。
发送单元702,用于向第二网络设备发送所述第一报文,以使得接收所述第一报文的所述第二网络设备根据所述第一指示和所述业务的标识信息对第一网络设备和第二网络设备之间承载所述业务的路径以及第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个进行检测。
当装置700应用于图1所示的PE设备11时,发送单元702发送第一报文的具体实现可以参见图2所述实施例中S102。
其中,业务的标识信息可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中其中,第一指示可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
作为一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。其中,所述第一报文的所述第一IPv6扩展头还包括保留标签、控制字,所述保留标签和控制字用于指示所述第一报文的有效载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对所述业务的路径进行检测。
作为另一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
作为又一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
作为再一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
在一些可能的实现方式中,所述发送单元702,还用于向所述第二网络设备发送第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。
当装置700应用于图1所示的PE设备11时,发送单元702发送第二报文的具体实现可以参见图2所述实施例中S105。
其中,所述第二报文还可以包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
其中,所述第二指示与所述第一指示不同,可以包括:所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的next header字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的next header字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
在一些可能的实现方式中,该装置700还可以包括确定单元。该确定单元,用于在预设时长未接收到所述第二网络设备对所述第一报文的响应报文,则,确定所述第一网络设备和所述接入侧网络设备之间用于承载所述业务的路径存在故障。
在一些可能的实现方式中,该装置700还可以包括接收单元和确定单元。其中,接收单元,用于接收所述第二网络设备对所述第一报文的响应报文;确定单元,用于根据所述响应报文,确定所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个路径的路径状态。其中,路径状态包括路径连通性和路径质量中的至少一个
在一些可能的实现方式中,该装置700还可以包括切换单元。该切换单元,用于根据在预设时长未接收到所述第二网络设备对所述第一报文的响应报文确定所述用于承载所述业务的路径存在故障,或,根据所述路径状态确定所述用于承载所述业务的路径存在故障或不满足路径质量要求时,将用于承载所述业务的路径切换为包括所述第一网络设备到第三网络设备的路径,切换后所述第三网络设备承载所述业务。
关于实现业务路径检测的装置700具体可执行的功能和实现,可以参见图2所示实施例中关于PE设备11的相应描述,此处不再赘述。
此外,本申请实施例还提供了一种实现业务路径检测的装置800,如图8所示,该装置800应用于第二网络设备,例如可以执行图1所示实施例中PE设备12的功能。该装置800可以包括:接收单元801和检测单元802。
其中,接收单元801,用于接收第一网络设备发送的第一报文,所述第一报文中包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文。
当装置800应用于图1所示的PE设备12时,接收单元801接收第一报文的具体实现可以参见图2所述实施例中S103。
检测单元802,用于根据所述第一指示和所述业务的标识信息对第一网络设备和第二网络设备之间承载所述业务的路径以及第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个进行检测。
当装置800应用于图1所示的PE设备12时,检测单元802对承载业务的路径的检测的具体实现可以参见图2所述实施例中S104。
其中,业务的标识信息可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中其中,第一指示可以携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
作为一个示例,所述第一报文包括第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,所述第一报文包括第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。其中,所述第一报文的所述第一IPv6扩展头还包括保留标签、控制字,所述保留标签和控制字用于指示所述第一报文的有效载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对承载所述业务的路径进行检测。
作为另一个示例,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
作为又一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
作为再一个示例,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
在一些可能的实现方式中,所述接收单元801,还用于接收所述第一网络设备发送的第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。当装置800应用于图1所示的PE设备12时,接收单元801接收第二报文的具体实现可以参见图2所述实施例中S105。
其中,所述第二报文还可以包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
其中,所述第二指示与所述第一指示不同,可以包括:所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的next header字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的next header字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
在一些可能的实现方式中,该装置800还可以包括发送单元。该发送单元,用于向所述第一网络设备发送响应报文,以指示所述第一网络设备根据所述响应报文确定所述第一网络设备和所述第二网络设备之间承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间承载所述业务的路径中的至少一个路径状态,其中,路径状态包括路径连通性和路径质量中的至少一个。其中,所述第二网络设备发送的所述响应报文包括所述第二网络设备的接口状态信息,所述接口状态信息用于指示所述第一网络设备确定所述第二网络设备和接入侧网络设备之间承载所述业务的路径是否存在故障或路径质量好坏。
在一些可能的实现方式中,所述检测单元802,具体可以用于:确定所述第一报文为检测报文,且确定本地支持根据所述第一指示进行检测,则,按照本地检测策略对承载所述业务的路径进行检测。
关于实现业务路径检测的装置800具体可执行的功能和实现,可以参见图2所示实施例中关于PE设备12的相应描述,此处不再赘述。
上述实现业务路径检测的装置700可以为承载所述业务的入口PE设备,实现业务路径检测的装置800可以为承载所述业务的出口PE设备。
上述实现业务路径检测的装置700和实现业务路径检测的装置800之间承载的业务,可以是L2VPN业务,L2VPN例如可以包括传统VPN技术或EVPN技术承载的业务。无论是传统VPN业务还是EVPN业务,均可以采用VLL业务模型或VPLS业务模型。
上述实现业务路径检测的装置700和实现业务路径检测的装置800中,第一报文可以为BFD报文,或者,也可以为OAM报文。
图9为本申请实施例提供的一种网络设备900的结构示意图,该网络设备900例如可以是图1所示实施例中的任意一个PE设备,或者也可以是图7或图8所示实施例中的实现业务路径检测的装置的设备实现。
请参阅图9所示,网络设备900包括:处理器910、通信接口920和存储器930。其中网络设备900中的处理器910的数量可以一个或多个,图9中以一个处理器为例。本申请实施例中,处理器910、通信接口920和存储器930可通过总线系统或其它方式连接,其中,图9中以通过总线系统940连接为例。
处理器910可以是CPU、NP、或者CPU和NP的组合。处理器910还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
当网络设备900包括第一网络设备时,处理器910可以执行上述方法实施例中生成包括第一指示和业务的标识信息的第一报文,向第二网络设备发送第一报文等的相关功能。当网络设备900为第二网络设备时,处理器910可以执行上述方法实施例中从第一网络设备接收包括第一指示和业务的标识信息的第一报文,根据第一指示和业务的标识信息对承载业务的路径进行检测等的相关功能。
通信接口920用于接收和发送报文,具体地,通信接口920可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口920的个数可以为一个或多个。作为一种可能的实现,通信接口920可以用于实现图7示出的发送单元702或图8示出的接收单元801的功能。
存储器930可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器930也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器930还可以包括上述种类的存储器的组合。存储器930例如可以存储前文提及的业务的标识信息。
可选地,存储器930存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器910可以读取存储器930中的程序,实现本申请实施例提供的实现业务路径检测的方法。作为一种可能的实现,存储器930中可以存储诸如用于实现图7示出的生成单元701或图8示出的检测单元802功能的程序代码。
其中,存储器930可以为网络设备900中的存储器件,也可以为独立于网络设备900的存储装置。
总线系统940可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统940可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图10是本申请实施例提供的另一种网络设备1000的结构示意图,网络设备1000可以配置为前述图1所示实施例中的任意一个PE设备,或者也可以是图7或图8所示实施例中的实现业务路径检测的装置的设备实现。
网络设备1000包括:主控板1010和接口板1030。
主控板1010也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1010对网络设备1000中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1010包括:中央处理器1011和存储器1012。
接口板1030也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板1030用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1030包括:中央处理器1031、网络处理器1032、转发表项存储器1034和物理接口卡(ph8sical interface card,PIC)1033。
接口板1030上的中央处理器1031用于对接口板1030进行控制管理并与主控板1010上的中央处理器1011进行通信。
网络处理器1032用于实现报文的转发处理。网络处理器832的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1033用于实现物理层的对接功能,原始的流量由此进入接口板1030,以及处理后的报文从该物理接口卡1033发出。物理接口卡1033包括至少一个物理接口,物理接口也称物理口。物理接口卡1033也可称为子卡,可安装在接口板1030上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1032处理。在一些实施例中,接口板1030的中央处理器831也可执行网络处理器1032的功能,比如基于通用CPU实现软件转发,从而物理接口卡1033中不需要网络处理器1032。
可选地,网络设备1000包括多个接口板,例如网络设备1000还包括接口板1040,接口板1040包括:中央处理器1041、网络处理器1042、转发表项存储器1044和物理接口卡1043。
可选地,网络设备1000还包括交换网板1020。交换网板1020也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板1030的情况下,交换网板1020用于完成各接口板之间的数据交换。例如,接口板1030和接口板1040之间可以通过交换网板820通信。
主控板1010和接口板1030耦合。例如。主控板1010、接口板1030和接口板1040,以及交换网板1020之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1010和接口板1030之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1010和接口板1030之间通过IPC通道进行通信。
在逻辑上,网络设备1000包括控制面和转发面,控制面包括主控板1010和中央处理器1031,转发面包括执行转发的各个组件,比如转发表项存储器1034、物理接口卡1033和网络处理器1032。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1032基于控制面下发的转发表对物理接口卡1033收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1034中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备1000被配置为第一网络设备时,中央处理器1011可以生成包括第一指示和业务的标识信息的第一报文。网络处理器1032可以触发物理接口卡1033向第二网络设备发送所述第一报文。
如果网络设备1000被配置为第二网络设备,中央处理器1011可以从第一网络设备接收包括第一指示和业务的标识信息的第一报文,根据第一指示和业务的标识信息对承载业务的路径进行检测。网络处理器1032可以触发物理接口卡1033向第一网络设备发送响应报文。
应理解,实现业务路径检测的装置700中的发送单元702等可以相当于网络设备1000中的物理接口卡1033或物理接口卡1043;实现业务路径检测的装置700中的生成单元701等可以相当于网络设备1000中的中央处理器1011或中央处理器1031。实现业务路径检测的装置800中的接收单元801等可以相当于网络设备1000中的物理接口卡1033或物理接口卡1043;实现业务路径检测的装置800中的检测单元802等可以相当于网络设备1000中的中央处理器1011或中央处理器1031。
应理解,本申请实施例中接口板1040上的操作与接口板1030的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备1000可对应于上述各个方法实施例中的任意一个节点,该网络设备1000中的主控板1010、接口板1030和/或接口板1040可以实现上述各个方法实施例中的任意一个节点所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景。
在一些可能的实施例中,上述各节点可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为各节点。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现各节点。各节点为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的各节点,此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中各节点的任意功能,此处不再赘述。
本申请实施例还提供了一种网络系统1100,如图11所示。该网络系统1100可以包括第一网络设备1101和第二网络设备1102。其中,第一网络设备1101可以是图1所示的PE设备11、图7所示的实现业务路径检测的装置700、图9所示的被配置为第一网络设备的网络设备900或者图10所示的被配置为第一网络设备的网络设备1000;第二网络设备1102可以是图1所示的PE设备12、图8所示的实现业务路径检测的装置800、图9所示的被配置为第二网络设备的网络设备900或者图10所示的被配置为第二网络设备的网络设备1000。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图7示出的实现业务路径检测的装置700的一种具体实现形式,可以用于执行上述方法;又例如可以是图8示出的实现业务路径检测的装置800的一种具体实现形式,可以用于执行上述方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的实现业务路径检测的方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的实现业务路径检测的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (39)
1.一种实现业务路径检测的方法,其特征在于,所述方法应用于支持基于第六版互联网协议的分段路由SRv6的网络中,所述方法包括:
第一网络设备基于第六版互联网协议IPv6生成第一报文,所述第一报文包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文;
所述第一网络设备向第二网络设备发送所述第一报文,以指示接收所述第一报文的所述第二网络设备根据所述第一指示和所述业务的标识信息对所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个进行检测。
2.根据权利要求1所述的方法,其特征在于,所述第一指示携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
3.根据权利要求2所述的方法,其特征在于,
所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,
所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。
4.根据权利要求3所述的方法,其特征在于,所述第一报文的所述第一IPv6扩展头还包括保留标签和控制字,所述保留标签和控制字用于指示所述第一报文的载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对所述业务的路径进行检测。
5.根据权利要求2所述的方法,其特征在于,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,
所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
6.根据权利要求2所述的方法,其特征在于,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
7.根据权利要求2所述的方法,其特征在于,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备向所述第二网络设备发送第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。
9.根据权利要求8所述的方法,其特征在于,所述第二报文还包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
10.根据权利要求9所述的方法,其特征在于,所述第二指示与所述第一指示不同,包括:
所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的nextheader字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的nextheader字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,
所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备在预设时长未接收到所述第二网络设备对所述第一报文的响应报文,则,所述第一网络设备确定所述第一网络设备和所述接入侧网络设备之间用于承载所述业务的路径存在故障。
12.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备接收所述第二网络设备对所述第一报文的响应报文;
所述第一网络设备根据所述响应报文,确定所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径的路径状态。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
所述第一网络设备根据在预设时长未接收到所述第二网络设备对所述第一报文的响应报文确定所述用于承载所述业务的路径存在故障,或,根据所述路径状态确定所述用于承载所述业务的路径存在故障或不满足路径质量要求时,将用于承载所述业务的路径切换为包括所述第一网络设备到第三网络设备的路径,切换后所述第三网络设备承载所述业务。
14.一种实现业务路径检测的方法,其特征在于,所述方法应用于支持基于第六版互联网协议的分段路由SRv6的网络中,所述方法包括:
第二网络设备接收第一网络设备发送的第一报文,所述第一报文中包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文;
所述第二网络设备根据所述第一指示和所述业务的标识信息对所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个进行检测。
15.根据权利要求14所述的方法,其特征在于,所述第一指示携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
16.根据权利要求15所述的方法,其特征在于,
所述第一报文包括第一IPv6头,所述第一指示携带于所述第一IPv6头中的下一个头next header字段;或者,
所述第一报文包括第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一分段路由扩展头SRH中的next header字段。
17.根据权利要求16所述的方法,其特征在于,所述第一报文的所述第一IPv6扩展头还包括保留标签和控制字,所述保留标签和控制字用于指示所述第一报文的载荷payload中的检测信息,所述检测信息用于指示所述第二网络设备根据所述检测信息对承载所述业务的路径进行检测。
18.根据权利要求15所述的方法,其特征在于,所述第一报文包括所述第一IPv6头,所述第一指示携带于所述第一IPv6头的第一目的地址DA字段中的变量args字段;或者,
所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的第一SRH的第一DA字段中的args字段。
19.根据权利要求15所述的方法,其特征在于,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的SRH中的标志flags字段。
20.根据权利要求15所述的方法,其特征在于,所述第一报文包括所述第一IPv6扩展头,所述第一指示携带于所述第一IPv6扩展头的逐跳HBH选项头中的类型长度值TLV字段,或者携带于所述第一IPv6扩展头的目的地址选项头DOH中的TLV字段。
21.根据权利要求15-20任一项所述的方法,其特征在于,所述方法还包括:
所述第二网络设备接收所述第一网络设备发送的第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。
22.根据权利要求21所述的方法,其特征在于,所述第二报文还包括第二指示,所述第二指示用于指示所述第二报文为业务报文,所述第二指示与所述第一指示不同。
23.根据权利要求22所述的方法,其特征在于,所述第二指示与所述第一指示不同,包括:
所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头中的nextheader字段,所述第一指示为所述第一IPv6头中的next header字段的第一值,所述第二指示为所述第二IPv6头中的next header字段的第二值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的next header字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的nextheader字段的第一值,所述第二指示为所述第二SRH中的next header字段的第二值;或者,
所述第二报文包括第二IPv6头,所述第二指示携带于所述第二IPv6头的第二DA字段中的args字段,所述第一指示为所述第一IPv6头的第一DA字段中的args字段的第三值,所述第二指示为所述第二DA字段中的args字段的第四值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的第二SRH中的第二DA字段的args字段,所述第一指示为所述第一IPv6扩展头的第一SRH中的第一DA字段的args字段的第三值,所述第二指示为所述第二SRH中的所述第二DA字段中的args字段的第四值;或者,
所述第二报文包括第二IPv6扩展头,所述第二指示携带于所述第二IPv6扩展头的SRH中的flags字段,所述第一指示为所述第一IPv6扩展头的SRH中的标志flags字段的第五值,所述第二指示为所述第二IPv6扩展头的SRH中的标志flags字段的第六值。
24.根据权利要求14-23任一项所述的方法,其特征在于,所述方法还包括:
所述第二网络设备向所述第一网络设备发送响应报文,以指示所述第一网络设备根据所述响应报文确定所述第一网络设备和第二网络设备之间用于承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个的路径状态。
25.根据权利要求24所述的方法,其特征在于,所述路径状态包括路径连通性和路径质量中的至少一个。
26.根据权利要求14-25任一项所述的方法,其特征在于,所述第二网络设备根据所述第一指示和所述业务的标识信息对所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个进行检测,包括:
所述第二网络设备确定所述第一报文为检测报文,且确定本地支持根据所述第一指示进行检测,则,按照本地检测策略对承载所述业务的路径进行检测。
27.根据权利要求1-26任一项所述的方法,其特征在于,所述第一网络设备为承载所述业务的入口运营商边缘PE设备,所述第二网络设备为承载所述业务的出口PE设备。
28.根据权利要求1-27任一项所述的方法,其特征在于,所述第一网络设备和所述第二网络设备之间布署虚拟租用线路VLL或虚拟专用局域网业务VPLS。
29.根据权利要求1-28任一项所述的方法,其特征在于,所述第一报文为双向转发检测BFD报文,或者,所述第一报文为操作管理和维护OAM报文。
30.根据权利要求1-29任一项所述的方法,其特征在于,所述业务的标识信息为虚拟专用网段标识VPN SID,所述业务的类型为传统虚拟专用网VPN业务或以太虚拟专用网EVPN业务。
31.一种网络系统,其特征在于,所述网络系统应用于支持基于第六版互联网协议的分段路由SRv6的网络中,所述网络系统包括第一网络设备和第二网络设备,其中:
所述第一网络设备,用于基于第六版互联网协议IPv6生成第一报文,并向所述第二网络设备发送所述第一报文,所述第一报文包括第一指示和业务的标识信息,所述第一指示用于指示所述第一报文为检测报文;
所述第二网络设备,用于接收所述第一网络设备发送的第一报文,并根据所述第一指示和所述业务的标识信息对所述第一网络设备和所述第二网络设备之间用于承载所述业务的路径,以及所述第二网络设备和接入侧网络设备之间用于承载所述业务的路径中的至少一个进行检测。
32.根据权利要求31所述的网络系统,其特征在于,所述第一指示携带于所述第一报文的第一IPv6头或第一IPv6扩展头中。
33.根据权利要求31或32所述的网络系统,其特征在于,
所述第一网络设备,还用于向所述第二网络设备发送第二报文,所述第二报文为用于承载所述业务的业务报文,所述第二报文不包括所述第一指示。
34.根据权利要求31-33任一项所述的网络系统,其特征在于,所述第一网络设备和所述第二网络设备之间布署虚拟租用线路VLL或虚拟专用局域网业务VPLS。
35.根据权利要求31-34任一项所述的网络系统,其特征在于,所述第一报文为双向转发检测BFD报文,或者,所述第一报文为操作管理和维护OAM报文。
36.一种网络设备,其特征在于,包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器通信的处理器,所述处理器用于执行所述计算机可读指令,使得所述网络设备执行权利要求1-13、27-30任一项所述的方法。
37.一种网络设备,其特征在于,包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器通信的处理器,所述处理器用于执行所述计算机可读指令,使得所述网络设备执行权利要求14-30任一项所述的方法。
38.一种计算机可读存储介质,其特征在于,包括程序或指令,当其被处理器执行时实现如权利要求1-30任一项所述的方法。
39.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-30任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21868602.0A EP4210286A4 (en) | 2020-09-21 | 2021-09-14 | METHOD, DEVICE AND SYSTEM FOR IMPLEMENTING SERVICE PATH DETECTION |
PCT/CN2021/118135 WO2022057779A1 (zh) | 2020-09-21 | 2021-09-14 | 一种实现业务路径检测的方法、设备和系统 |
JP2023518238A JP2023541706A (ja) | 2020-09-21 | 2021-09-14 | サービスパス検出を実施する方法、デバイス、及びシステム |
US18/186,631 US20230261979A1 (en) | 2020-09-21 | 2023-03-20 | Method, Device, and System for Implementing Service Path Detection |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020109924369 | 2020-09-21 | ||
CN202010992436 | 2020-09-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257494A true CN114257494A (zh) | 2022-03-29 |
Family
ID=80789523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011375770.6A Pending CN114257494A (zh) | 2020-09-21 | 2020-11-30 | 一种实现业务路径检测的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257494A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023240438A1 (zh) * | 2022-06-14 | 2023-12-21 | 新华三技术有限公司 | 报文处理 |
WO2024000139A1 (zh) * | 2022-06-28 | 2024-01-04 | 新华三技术有限公司 | 报文转发 |
-
2020
- 2020-11-30 CN CN202011375770.6A patent/CN114257494A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023240438A1 (zh) * | 2022-06-14 | 2023-12-21 | 新华三技术有限公司 | 报文处理 |
WO2024000139A1 (zh) * | 2022-06-28 | 2024-01-04 | 新华三技术有限公司 | 报文转发 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337157B (zh) | 一种网络中传输报文的方法和节点 | |
EP4102785A1 (en) | Message processing method and apparatus, and network device and storage medium | |
CN113411834A (zh) | 报文处理方法、装置、设备及存储介质 | |
CN113395735B (zh) | 一种报文传输方法、装置和网络设备 | |
CN114257494A (zh) | 一种实现业务路径检测的方法、设备和系统 | |
CN114760244B (zh) | 一种传输绑定段标识bsid的方法、装置和网络设备 | |
CN113872843B (zh) | 一种路由生成方法、路由处理方法及装置 | |
CN110545240B (zh) | 基于分布式聚合系统的标签转发表的建立及报文转发方法 | |
CN116346716A (zh) | 报文处理方法及装置、通信系统 | |
WO2022057779A1 (zh) | 一种实现业务路径检测的方法、设备和系统 | |
CN115914087A (zh) | 报文转发方法、装置、设备、系统及存储介质 | |
CN114258109A (zh) | 一种路由信息传输方法及装置 | |
US20230388177A1 (en) | Fault detection method, network device, and system | |
WO2023213216A1 (zh) | 一种报文处理的方法及相关设备 | |
CN114629834B (zh) | 通信方法及装置 | |
WO2023040783A1 (zh) | 获取能力、发送能力信息的方法、装置、系统及存储介质 | |
WO2024021976A1 (zh) | 一种报文处理的方法及相关设备 | |
EP4254881A1 (en) | Routing transmission method and apparatus | |
EP4210290A1 (en) | Packet transmission method and apparatus | |
CN114915518A (zh) | 一种报文传输方法、系统及设备 | |
CN115801552A (zh) | 保护倒换方法及网络设备 | |
CN117061406A (zh) | 一种报文处理的方法及相关设备 | |
CN115277525A (zh) | 处理报文的方法、装置、系统及存储介质 | |
CN117955814A (zh) | 一种报文处理方法及相关设备 | |
CN114157531A (zh) | 传输虚拟专用网的段标识vpn sid的方法、装置和网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |