CN116566889A - 一种随流检测的方法、通信装置及系统 - Google Patents
一种随流检测的方法、通信装置及系统 Download PDFInfo
- Publication number
- CN116566889A CN116566889A CN202210103363.2A CN202210103363A CN116566889A CN 116566889 A CN116566889 A CN 116566889A CN 202210103363 A CN202210103363 A CN 202210103363A CN 116566889 A CN116566889 A CN 116566889A
- Authority
- CN
- China
- Prior art keywords
- message
- node
- loop
- loop detection
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 221
- 238000004891 communication Methods 0.000 title claims abstract description 61
- 238000001514 detection method Methods 0.000 claims abstract description 1023
- 238000012545 processing Methods 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 14
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 68
- 238000010586 diagram Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 32
- 230000032258 transport Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 16
- 239000000975 dye Substances 0.000 description 11
- 238000004043 dyeing Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 5
- 238000011065 in-situ storage Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/18—Loop-free operations
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种随流检测的方法、通信装置及系统,第一节点获取业务流中的第一报文,并随着业务流向第二节点发送第一报文。第一报文是业务流中的环路检测报文,包括第一环路检测信息。第二节点接收第一报文,并基于第一报文包括的第一环路检测信息,进行环路检测。第二节点基于环路检测的结果能够确定传输业务流的路径是否包括环路。本申请实施例提供的随流检测方法,能够针对传输业务流的路径进行环路检测。
Description
技术领域
本申请涉及通信领域,特别是涉及一种随流检测的方法、通信装置及系统。
背景技术
网络包括多个相互连接的网络节点。在网络节点配置错误、网络节点运行故障或者网络发生故障时,网络中可能出现环路。网络中的环路会导致网络节点对报文进行重复发送,造成网络资源浪费甚至网络瘫痪。
目前,通常采用环路检测协议对网络中的环路进行检测。但是,受限于环路检测协议的适用范围,可能并不能对网络中的所有路径进行检测。在利用网络传输业务流时,仍然可能由于业务路径包括环路,出现不能正常传输业务流的情况。
发明内容
本申请提供了一种随流检测的方法、通信装置及系统,能够检测传输业务流的路径是否包括环路。
第一方面,本申请提供一种随流检测的方法,该方法应用于第一节点。第一节点是传输业务流的路径中的头节点,或者是传输业务流的路径中的中间节点。第一节点获取需要进行环路检测的业务流中的第一报文。第一报文包括流标识ID和第一环路检测信息。流ID标识该业务流。第一环路检测信息包括第一指示信息。第一指示信息指示第一报文为环路检测报文。第一节点向第二节点发送第一报文。其中,第二节点是传输业务流的路径包括的节点。第一节点随着业务流发送第一报文,使得传输业务流的第二节点能够基于第一报文进行环路检测。如此,能够实现针对传输业务流的路径进行环路检测。
在一种可能的实现方式中,第一指示信息还指示获取第一报文的第二节点进行环路检测。
在一种可能的实现方式中,第二节点为传输业务流的路径的尾节点,或者为传输业务流的路径的中间节点。
在一种可能的实现方式中,第一报文包括经过的节点的节点信息。具体的,第一环路检测信息包括第一节点的节点信息。
在一种可能的实现方式中,第一报文是第一节点基于第二报文得到的。第一节点先从第三节点接收第二报文,再根据第二报文得到第一报文。其中,第二报文属于该需要环路检测的业务流。第二报文包括所述流ID。
作为一种示例,第二报文是非环路检测报文。第一节点对第二报文进行染色,得到第一报文。其中,染色是指对报文进行特征标记,染色后得到的第一报文是环路检测报文。
作为另一种示例,第二报文是环路检测报文。第二报文还包括第二环路检测信息。第二环路检测信息包括第二指示信息和第二报文经过的节点的节点信息。第二指示信息指示第二报文为环路检测报文。在一种可能的实现方式中,第二指示信息指示第一节点基于第二报文进行环路检测。第二报文经过第三节点。第二环路检测信息包括第三节点的节点信息。在第一节点生成的第一报文中,第一环路检测信息包括第三节点的节点信息以及第一节点的节点信息。
在一种可能的实现方式中,第二报文是环路检测报文。第一报文基于第二报文进行环路检测。如果确定第二报文包括的第二环路检测信息不包括第一节点的节点,则说明第二报文没有经过第一节点,第一节点确定第二报文经过的路径不包括环路。
在一种可能的实现方式中,传输业务流的路径包括多个路径段。每个路径段包括多个节点。不同的路径段中节点的节点信息,会携带在不同的环路检测报文中。环路检测报文能够携带的节点的节点信息的数量,由环路检测报文包括的携带的节点的节点信息的字段长度决定。
第一报文的第一环路检测信息还包括第一路径段序号。第一路径段序号用于标识第一报文经过的第一路径段。第一路径段经过第一节点。
在一种可能的实现方式中,第一报文在获取第一报文之前,还能够获取业务流中其它的环路检测报文,比如第三报文。第三报文无法进一步写入第一节点的节点信息。第三报文包括流ID和第三环路检测信息。第三环路检测信息包括第三指示信息、第二路径段序号以及第二路径段上所有节点的节点信息。其中,第三指示信息指示第三报文是环路检测报文。在一种可能的实现方式中,第三指示信息还指示第一报文基于第三报文进行环路检测。第二路径段序号用于标识第三报文经过的第二路径段。
第一节点向第二节点发送第三报文,以便第二节点基于第三报文进行环路检测。
在一种可能的实现方式中,第一节点先基于第三报文进行环路检测,并在确定第二路径段不包括环路后,再向第二节点发送第三报文。具体的,第一节点判断第三报文的第三环路检测信息是否包括第一节点的节点信息。如果第三环路检测信息不包括第一节点的节点信息,则第一节点确定第二路径段不包括环路。在通过环路检测后,第一节点向第二节点发送第三报文,以便第二节点基于第三报文进行环路检测。
作为一种示例,第一路径段和第二路径段为邻接的路径段。作为另一种示例,第一路径段和第二路径段为非邻接的路径段。
在一种可能的实现方式中,第一环路检测信息还包括第一检测周期标识。第一检测周期标识标识第一随流检测周期。第一随流检测周期是第一报文生成的时间所属的检测周期。第一节点获取第一报文的时间所属的随流检测周期为第二随流检测周期。第一随流检测周期早于或者等于第二随流检测周期。这说明,第一节点获取第一报文的时间没有属于晚于第一随流检测周期,在网络中传输第一报文的时间较短,传输第一报文的路径不包括环路。
在一种可能的实现方式中,第一节点生成第一报文的节点。第一节点在第一时间从第三节点接收第四报文,并根据第四报文得到第一报文。其中,第一时间位于目标时间窗口内。目标时间窗口是第一节点的随流检测周期内的一个预设时间段。目标时间窗口的结束时间早于随流检测周期的结束时间。第一节点对在目标时间窗口内接收到的第四报文进行染色,能够避免由于在随流检测周期末尾获取的报文进行染色,导致报文在正常路径传输的过程中,时间超出第一检测周期,造成节点对于环路检测的误判。
在一种可能的实现方式中,目标时间窗口的起始时间等于或者晚于随流检测周期的起始时间。在目标时间窗口的起始时间晚于随流检测周期的起始时间时,能够减少节点之间时间同步的误差导致出现第二随流检测周期早于第一随流检测周期的情况。
在一种可能的实现方式中,第一环路检测信息还包括精度。精度指示随流检测周期的持续时长。
在一种可能的实现方式中,第一环路检测信息还包括目标时间窗口。作为一种示例,第一环路检测信息包括目标时间窗口的起始时间和结束时间。作为另一种示例,第一环路检测信息包括目标时间窗口的起始时间,以及目标时间窗口在随流检测周期所占的百分比。
在一种可能的实现方式中,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
第二方面,本申请提供一种随流检测的方法,该方法应用于第二节点。第二节点是传输业务流的路径的尾节点,或者是传输业务流的路径的中间节点。在本申请提供的随流检测方法中,第二节点接收业务流中的,由第一节点发送的第一报文。第一报文是环路检测报文。第一报文包括流标识ID和第一环路检测信息。流ID标识第一报文所属的业务流。第一环路检测信息包括第一指示信息。第一指示信息指示第一报文为环路检测报文。第二节点基于第一报文包括的第一环路检测信息,进行环路检测。第一报文是随着业务流传输的。第二节点基于第一报文进行环路检测,能够确定传输业务流的路径是否包括环路,实现针对传输业务流的路径的环路检测。
在一种可能的实现方式中,第二节点在获取到第一报文后,基于第一报文进行环路检测。在另一种可能的实现方式中,第一报文包括的第一指示信息还指示第二节点进行环路检测。第二节点基于第一指示信息基于第一报文进行环路检测。
在一种可能的实现方式中,第一环路检测信息还包括所述第一报文经过的节点的节点信息。第二节点能够基于第一环路检测信息中是否包括第二节点的节点信息,来判断传输业务流的路径是否包括环路。
在一种可能的实现方式中,如果第一环路检测信息包括第二节点的节点信息,则说明第一报文经过第二节点,第二节点确定第一报文经过的路径包括环路。如果第一环路检测信息不包括第二节点的节点信息,则说明第一报文未经过第二节点,第二节点确定第一报文经过的路径不包括环路。
在一种可能的实现方式中,第一环路检测信息包括第一路径段内的节点的节点信息。第一环路检测信息还包括第一路径段序号。第一路径段序号用于标识第一报文经过的第一路径段。
在一种可能的实现方式中,第二节点在接收第一报文之前,还获取业务流中的第三报文。第三报文是环路检测报文。第三报文包括流ID和第二环路检测信息。第二环路检测信息包括第二指示信息、第二路径段序号以及第二路径段上所有节点的节点信息。其中,第二指示信息指示第三报文为环路检测报文。第二路径段序号用于标识第三报文经过的第二路径段。第二节点基于第二环路检测信息,对第二路径段进行环路检测。
作为一种示例,第一路径段和第二路径段为邻接的路径段。作为另一种示例,第一路径段和第二路径段为非邻接的路径段。
在一种可能的实现方式中,第一环路检测信息还包括第一检测周期标识。第一检测周期标识标识第一随流检测周期。第一随流检测周期是第一报文生成的时间所属的随流检测周期。第二节点获取第一报文的随流检测周期为第二随流检测周期。第二节点能够通过比较第一随流检测周期和第二随流检测周期的早晚,判断传输业务流的路径是否包括环路。如果第二随流检测周期早于或者等于第一随流检测周期,则第二节点确定第一报文经过的路径不包括环路。如果第二随流检测周期晚于第一随流检测周期,则说明第一报文可能在传输业务流的路径的环路中长时间传输,则第二节点确定第一报文经过的路径包括环路。
在一种可能的实现方式中,第一环路检测信息还包括精度。精度指示随流检测周期的持续时长。在第二节点基于第一环路检测信息进行环路检测之前,第二节点需要确定第一环路检测信息包括的精度和业务流对应的精度相同。其中,第二节点预先保存业务流对应的精度。第二节点通过匹配第一环路检测信息包括的精度和业务流对应的精度,能够验证第一报文包括的第一环路检测信息是否存在问题。在第一环路检测信息包括的精度和业务流对应的精度相同的情况下,第二节点利用第一环路检测信息进行环路检测。
在一种可能的实现方式中,第一环路检测信息还包括目标时间窗口。在第二节点基于第一环路检测信息进行环路检测之前,第二节点需要确定第一环路检测信息包括的目标时间窗口和业务流对应的目标时间窗口相同。其中,第二节点预先保存业务流对应的目标时间窗口。第二节点通过匹配第一环路检测信息包括的目标时间窗口和业务流对应的目标时间窗口,能够验证第一报文包括的第一环路检测信息是否存在问题。在第一环路检测信息包括的目标时间窗口和业务流对应的目标时间窗口相同的情况下,第二节点利用第一环路检测信息进行环路检测。
在一种可能的实现方式中,在第二节点确定第一报文经过的路径包括环路后,第二节点向控制管理设备发送环路告警。
在一种可能的实现方式中,在第二节点确定第一报文经过的路径包括环路后,第二节点丢弃第一报文。如此能够避免第一报文在环路中持续传输,浪费网络资源。
在一种可能的实现方式中,第一报文为第4版互联网协议IPv4报文。第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中于,第一报文为第6版互联网协议IPv6报文。第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,第一报文为基于互联网协议第六版本的段路由SRv6报文。第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,第一报文包括随流检测报文头。随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
第三方面,本申请提供一种用于随流检测的通信装置,该通信装置应用于第一节点中。该通信装置包括处理单元和收发单元。
其中,处理单元,用于获取业务流中的第一报文,所述第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文。收发单元,用于向第二节点发送所述第一报文。
在一种可能的实现方式中,所述第一环路检测信息包括所述第一节点的节点信息。
在一种可能的实现方式中,所述处理单元,用于获取业务流中的第一报文,包括:
所述处理单元,用于从第三节点接收第二报文,根据第二报文,得到所述第一报文,其中,所述第二报文包括所述流ID。
在一种可能的实现方式中,所述第二报文还包括第二环路检测信息,所述第二环路检测信息包括第二指示信息和所述第二报文经过的节点的节点信息,所述第二指示信息指示所述第二报文为环路检测报文,所述第二报文经过的节点的节点信息包括所述第三节点的节点信息,所述第一环路检测信息还包括所述第三节点的节点信息。
在一种可能的实现方式中,所述处理单元,还用于响应于确定所述第二环路检测信息不包括所述第一节点的节点信息,确定所述第二报文经过的路径不包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段,所述第一路径段经过所述第一节点。
在一种可能的实现方式中,在所述第一节点获取业务流中的第一报文之前,所述处理单元,还用于获取所述业务流的第三报文,向所述第二节点发送所述第三报文,其中,所述第三报文包括所述流ID和第三环路检测信息,所述第三环路检测信息包括第三指示信息,所述第三指示信息指示所述第三报文为环路检测报文,所述第三环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第三环路检测信息包括所述第二路径段上的所有节点的节点信息。
在一种可能的实现方式中,在所述第一节点向所述第二节点发送所述第三报文之前,所述处理单元,还用于响应于确定所述第三环路检测信息不包括所述第一节点的节点信息,确定所述第二路径段不包括环路。
在一种可能的实现方式中,所述第一路径段和所述第二路径段为邻接的路径段。
在一种可能的实现方式中,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期,其中,所述第一随流检测周期早于或等于第二随流检测周期,所述第二随流检测周期为所述第一节点获取所述第一报文的时间所属的随流检测周期。
在一种可能的实现方式中,所述处理单元,用于获取业务流中的第一报文,包括:
在第一时间,从第三节点接收第四报文,根据所述第四报文,得到所述第一报文,其中,所述第一时间位于目标时间窗口内,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段,所述目标时间窗口的结束时间早于所述随流检测周期的结束时间。
在一种可能的实现方式中,所述目标时间窗口的起始时间等于或晚于所述随流检测检测周期的起始时间。
在一种可能的实现方式中,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长。
在一种可能的实现方式中,所述第一环路检测信息还包括所述目标时间窗口。
在一种可能的实现方式中,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
第四方面,本申请提供一种用于随流检测的通信装置,该通信装置应用于第二节点中。该通信装置包括处理单元和收发单元。
其中,收发单元,用于接收由第一节点发送的业务流中的第一报文,所述第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文;
处理单元,用于基于所述第一环路检测信息,进行环路检测。
在一种可能的实现方式中,所述第一环路检测信息还包括所述第一报文经过的节点的节点信息。
在一种可能的实现方式中,所述处理单元,用于基于所述第一环路检测信息,进行环路检测,包括:
所述处理单元,用于响应于确定所述第一环路检测信息包括所述第二节点的节点信息,确定所述第一报文经过的路径包括环路;
或,
响应于确定所述第一环路检测信息不包括所述第二节点的节点信息,确定所述第一报文经过的路径不包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段。
在一种可能的实现方式中,在所述第二节点接收由第一节点发送的业务流中的第一报文之前,所述收发单元,还用于获取所述业务流中的第三报文,所述第三报文包括所述流ID和第二环路检测信息,所述第二环路检测信息包括第二指示信息,所述第二指示信息指示所述第三报文为环路检测报文,所述第二环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第二环路检测信息还包括所述第二路径段上的所有节点的节点信息;
所述处理单元,还用于基于所述第二环路检测信息,对所述第二路径段进行环路检测。
在一种可能的实现方式中,所述第一路径段和所述第二路径段为邻接的路径段。
在一种可能的实现方式中,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期;
所述处理单元,用于基于所述第一环路检测信息,进行环路检测,包括:
所述处理单元,用于响应于确定所述第二随流检测周期早于或等于第一随流检测周期,确定所述第一报文经过的路径不包括环路,所述第二随流检测周期为所述第二节点获取所述第一报文的时间所属的随流检测周期;
或,
响应于所述第二随流检测周期晚于所述第一随流检测周期,确定所述第一报文经过的路径包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长;
在所述第二节点基于所述第一环路检测信息,进行环路检测之前,所述处理单元,还用于确定所述精度与所述业务流对应的精度相同。
在一种可能的实现方式中,所述第一环路检测信息还包括目标时间窗口,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段;
在所述第二节点基于所述第一环路检测信息,进行环路检测之前,所述处理单元,还用于确定所述目标时间窗口与所述业务流对应的时间窗口相同。
在一种可能的实现方式中,所述收发单元,还用于响应于确定所述第一报文经过的路径包括环路,向控制管理设备发送环路告警。
在一种可能的实现方式中,所述处理单元,还用于响应于确定所述第一报文经过的路径包括环路,丢弃所述第一报文。
在一种可能的实现方式中,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
本申请所提及的通信装置(例如上文中第三方面或第四方面所述的通信装置),可以是交换机、路由器等网络设备,也可以是网络设备上的一部分组件,例如是网络设备上的单板,线卡,还可以是网络设备上的一个功能模块,还可以是用于实现本申请方法的芯片,本申请不做具体限定。装置之间例如可以但不限于通过以太网线或光缆直接连接。当所述通信装置为芯片时,所述芯片可以包括接口电路和处理器,所述接口电路用于实现收发操作,所述处理器实现收发操作以外的处理操作。本申请中,收发操作包括接收操作和/或发送操作。第五方面,本申请提供一种网络系统,该网络系统包括第一节点和第二节点。
其中,第一节点用于获取业务流中的第一报文,向第二节点发送所述第一报文。所述第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文。
第二节点,用于接收第一报文。
在一种可能的实现方式中,所述第一环路检测信息包括所述第一节点的节点信息。
在一种可能的实现方式中,所述第一节点,用于获取业务流中的第一报文,包括:
所述第一节点,用于从第三节点接收第二报文,根据第二报文,得到所述第一报文。其中,所述第二报文包括所述流ID;
在一种可能的实现方式中,所述第二报文还包括第二环路检测信息,所述第二环路检测信息包括第二指示信息和所述第二报文经过的节点的节点信息,所述第二指示信息指示所述第二报文为环路检测报文,所述第二报文经过的节点的节点信息包括所述第三节点的节点信息,所述第一环路检测信息还包括所述第三节点的节点信息。
在一种可能的实现方式中,所述第一节点,还用于响应于确定所述第二环路检测信息不包括所述第一节点的节点信息,确定所述第二报文经过的路径不包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段,所述第一路径段经过所述第一节点。
在一种可能的实现方式中,在获取业务流中的第一报文之前,所述第一节点,还用于获取所述业务流的第三报文,向所述第二节点发送所述第三报文。所述第三报文包括所述流ID和第三环路检测信息,所述第三环路检测信息包括第三指示信息,所述第三指示信息指示所述第三报文为环路检测报文,所述第三环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第三环路检测信息包括所述第二路径段上的所有节点的节点信息。
在一种可能的实现方式中,在向所述第二节点发送所述第三报文之前,所述第一节点,还用于响应于确定所述第三环路检测信息不包括所述第一节点的节点信息,确定所述第二路径段不包括环路。
在一种可能的实现方式中,所述第一路径段和所述第二路径段为邻接的路径段。
在一种可能的实现方式中,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期,其中,所述第一随流检测周期早于或等于第二随流检测周期,所述第二随流检测周期为所述第一节点获取所述第一报文的时间所属的随流检测周期。
在一种可能的实现方式中,所述第一节点,用于获取业务流中的第一报文,包括:
所述第一节点,用于在在第一时间,从第三节点接收第四报文,根据所述第四报文,得到所述第一报文。其中,所述第一时间位于目标时间窗口内,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段,所述目标时间窗口的结束时间早于所述随流检测周期的结束时间。
在一种可能的实现方式中,所述目标时间窗口的起始时间等于或晚于所述随流检测周期的起始时间。
在一种可能的实现方式中,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长。
在一种可能的实现方式中,所述第一环路检测信息还包括所述目标时间窗口。
在一种可能的实现方式中,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
第六方面,本申请提供一种网络系统,该网络系统包括第一节点和第二节点。
第一节点,用于向第二节点发送第一报文。第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文。
第二节点,用于接收由第一节点发送的业务流中的第一报文,基于所述第一环路检测信息,进行环路检测。
在一种可能的实现方式中,所述第一环路检测信息还包括所述第一报文经过的节点的节点信息。
在一种可能的实现方式中,所述第二节点,用于基于所述第一环路检测信息,进行环路检测,包括:
第二节点,用于响应于确定所述第一环路检测信息包括所述第二节点的节点信息,确定所述第一报文经过的路径包括环路;
或,
响应于确定所述第一环路检测信息不包括所述第二节点的节点信息,确定所述第一报文经过的路径不包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段。
在一种可能的实现方式中,在接收由第一节点发送的业务流中的第一报文之前,所述第二节点,还用于获取所述业务流中的第三报文,基于所述第二环路检测信息,对所述第二路径段进行环路检测。其中,所述第三报文包括所述流ID和第二环路检测信息,所述第二环路检测信息包括第二指示信息,所述第二指示信息指示所述第三报文为环路检测报文,所述第二环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第二环路检测信息还包括所述第二路径段上的所有节点的节点信息。
在一种可能的实现方式中,所述第一路径段和所述第二路径段为邻接的路径段。
在一种可能的实现方式中,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期。
所述第二节点,用于基于所述第一环路检测信息,进行环路检测,包括:
所述第二节点,用于响应于确定所述第二随流检测周期早于或等于第一随流检测周期,确定所述第一报文经过的路径不包括环路,所述第二随流检测周期为所述第二节点获取所述第一报文的时间所属的随流检测周期;
或,
响应于所述第二随流检测周期晚于所述第一随流检测周期,确定所述第一报文经过的路径包括环路。
在一种可能的实现方式中,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长;
在基于所述第一环路检测信息,进行环路检测之前,所述第二节点,还用于确定所述精度与所述业务流对应的精度相同。
在一种可能的实现方式中,所述第一环路检测信息还包括目标时间窗口,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段;
在基于所述第一环路检测信息,进行环路检测之前,所述第二节点,还用于确定所述目标时间窗口与所述业务流对应的时间窗口相同。
在一种可能的实现方式中,第二节点,还用于响应于确定所述第一报文经过的路径包括环路,向控制管理设备发送环路告警。
在一种可能的实现方式中,第二节点,还用于响应于确定所述第一报文经过的路径包括环路,丢弃所述第一报文。
在一种可能的实现方式中,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
在一种可能的实现方式中,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
在一种可能的实现方式中,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
在一种可能的实现方式中,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
在一种可能的实现方式中,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头
第七方面,本申请提供一种通信装置,该通信装置包括处理器和存储器,存储器用于存储指令或程序代码,处理器用于从存储器中调用并运行指令或程序代码,并执行第一方面、第一方面的任意一种可能的实现方式中的方法或者第二方面或第二方面的任意一种可能的实现方式中的方法。
第八方面,本申请提供一种网络系统,网络系统包括如第三方面或者第四方面所述的通信装置。
第九方面,本申请提供一种计算机可读存储介质,包括指令,当其在处理器上执行时,执行如第一方面或第一方面的任意一些可能的实现方式中的随流检测方法,或者如第二方面或第二方面的任意一种可能的实现方式中的随流检测方法。
第十方面,本申请提供一种计算机程序产品,包括程序,当所述程序在处理器上执行时,执行如第一方面或第一方面的任意一些可能的实现方式中的随流检测方法,或者如第二方面或第二方面的任意一种可能的实现方式中的随流检测方法。
第十一方面,本申请提供一种芯片,包括接口电路和处理器,所述接口电路和所述处理器连接,所述处理器使得所述芯片执行如第一方面或第一方面的任意一些可能的实现方式中的随流检测方法,或者如第二方面或第二方面的任意一种可能的实现方式中的随流检测方法。
附图说明
图1为本申请实施例提供的一种网络架构示意图;
图2为本申请实施例提供的多种环路的示意图;
图3a为本申请实施例提供的一种传输业务流的路径的示意图;
图3b为本申请实施例提供的另一种传输业务流的路径的示意图;
图4为本申请实施例提供的一种随流检测的方法的信令交互图;
图5为本申请实施例提供的一种网络架构的示意图;
图6a为本申请实施例提供的一种报文的格式的示意图;
图6b为本申请实施例提供的一种报文的格式的示意图;
图6c为本申请实施例提供的一种报文的格式的示意图;
图6d为本申请实施例提供的一种报文的格式的示意图;
图6e为本申请实施例提供的一种报文的格式的示意图;
图7为本申请实施例提供的一种随流检测的方法的信令交互图;
图8为本申请实施例提供的一种网络架构示意图;
图9a为本申请实施例提供的一种报文的格式的示意图;
图9b为本申请实施例提供的一种报文的格式的示意图;
图9c为本申请实施例提供的一种报文的格式的示意图;
图9d为本申请实施例提供的一种报文的格式的示意图;
图9e为本申请实施例提供的一种报文的格式的示意图;
图10为本申请实施例提供的一种随流检测的方法的信令交互图;
图11为本申请实施例提供的一种网络架构示意图;
图12a为本申请实施例提供的一种报文的格式的示意图;
图12b为本申请实施例提供的一种报文的格式的示意图;
图12c为本申请实施例提供的一种报文的格式的示意图;
图12d为本申请实施例提供的一种报文的格式的示意图;
图12e为本申请实施例提供的一种报文的格式的示意图;
图13为本申请实施例提供的一种随流检测方法的流程示意图;
图14为本申请实施例提供的一种随流检测方法的流程示意图;
图15为本申请实施例提供的通信装置的结构示意图;
图16为本申请实施例提供的通信装置的结构示意图;
图17为本申请实施例提供的网络系统的结构示意图;
图18为本申请实施例提供的通信装置的结构示意图;
图19为本申请实施例提供的通信装置的结构示意图。
具体实施方式
在网络出现异常,或者是网络节点出现异常时,网络中可能出现环路。参见图1所示,该图为本申请实施例提供的一种网络架构示意图。其中,网络包括自治域1和自治域2。自治域1包括3个运营商边缘(provider edge,PE)设备以及1个运营商(Provider,P)设备。自治域1包括PE1-PE3,以及P1。PE1与P1连接,P1与分别与PE2和PE3连接,PE2与PE3连接。PE1与用户边缘(customer edge,CE)1连接。自治域2包括三个PE设备,以及一个P设备,分别为PE4-PE6以及P2。PE4分别与PE5和P2连接,PE5与P2连接,P2与PE6连接。PE6与CE2连接。此外,自治域1中的PE2和PE3为跨域设备,自治域2中的PE4和PE5为跨域设备。PE2与PE4连接,PE3与PE5连接。
环路可能出现在网络中的各种位置。参见图2所示,该图为本申请实施例提供的环路的示意图。
在一种可能的情况中,PE2中与P1连接的端口可能发生故障,导致P1和PE2构成环路1。
在另一种可能的情况中,可能由两个以上的网络节点形成环路。例如,自治域1中的P1、PE2以及PE3能够形成环路2。又例如,PE2、PE3、PE4以及PE5这四个跨域设备之间可能形成环路3。还例如,属于自治域1的P1、PE2、PE3,以及属于自治域2的PE4、PE5和P2能够形成环路4。
在当网络中出现环路时,报文可能会在环路中持续传输,无法正常地传输至目的节点。目前主要的防环技术均具有一定的适用范围。
比如,基于单播逆向路径(unicast reverse path forwarding,URPF)技术,网络节点能够检测报文的来源端口是否与出接口一致。如果报文的来源端口与出接口一致,网络节点确定该端口出现环路。而URPF技术只能适用于端口形成环路的情况,比如图2中的环路1。基于URPF技术显然不能检测出图2中的环路2、环路3和环路4。
此外,基于环路检测协议能够对网络中的部分环路进行检测。但是,部分环路检测协议适用于相同类型的业务、相同类型的网络或者相同类型的网络节点内。其中,相同类型的网络节点具体可以是支持相同协议的网络节点。比如,相同类型的网络节点是相同型号的网络节点。或者是由同一厂家生产的支持相同协议的网络节点。
例如,P1、PE2和PE3为是由A厂家生产的网络节点,PE4、PE5和P2是由B厂家生产的网络节点。A厂家生产的P1、PE2和PE3能够支持的协议相同。B厂家生产的PE4、PE5和P2能够支持的协议相同。但P1、PE2和PE3,与PE4、PE5和P2能够支持的协议不同。如果采用适用于相同类型的网络节点的环路检测协议,不能检测出包括两种不同类型的网络节点的环路3和环路4。
并且,基于环路检测协议进行环路检测时,通常是根据环路检测协议传输环路检测报文进行检测。进行环路检测的路径可能不能覆盖网络中的全部转发路径,导致网络中可能存在未检测出的环路。在传输业务流时,可能还会出现环路导致的不能正常传输的问题。
基于上述描述可知,目前的环路检测技术受限于适用的范围,难以完全检测网络中存在的环路。这会导致传输业务流的路径中可能包括环路,影响业务流的正常传输。
针对上述问题,本申请实施例提供一种随流检测的方法。第一节点获取业务流中的第一报文,并随着业务流向第二节点发送第一报文。第一报文是业务流中的环路检测报文。第一报文包括第一环路检测信息。第二节点接收第一报文,并基于第一报文包括的第一环路检测信息,进行环路检测。第二节点基于环路检测的结果能够确定传输业务流的路径是否包括环路。本申请实施例提供的随流检测方法,能够针对传输业务流的路径进行环路检测。
本申请实施例提供的随流检测方法能够应用于图1所示的网络架构。其中,PE1至PE6、P1以及P2为具有转发功能的网络节点,比如:路由器(router)或交换机(switch)等设备。需要说明的是,图1所示的网络架构仅是一种示例。本申请实施例提供的随流检测方法能够应用于可能包括环路的网络中,不限于图1所示的包括多个自治域的网络。比如,本申请实施例提供的随流检测方法,还能够应用于包括一个自治域的网络。下面以图1所示的网络架构为例,对本申请实施例提供的随流检测方法进行介绍。
本申请实施例提供的随流检测方法是针对传输业务流的路径进行环路检测的。
在一种可能的实现方式中,网络节点能够基于业务流的流特征,确定所要进行随流检测的业务流以及生成业务流的流标识(identity,ID)。其中,确定的随流检测的业务流也称为业务流实例。业务流实例是网络节点进行随流检测的对象。
其中,业务流的流特征可以是网络节点预先根据业务信息获取的。业务流的流特征可以是业务流包括的报文的源地址、目的地址、网络类型、协议类型以及端口号等信息。比如,业务流的流特征为源媒体接入控制(media access control,MAC)地址、目的MAC地址以及虚拟局域网(virtual local area network,VLAN)。其中,源MAC地址是业务流所包括的报文的源MAC地址。目的MAC地址是业务流包括的报文的目的MAC地址。VLAN是传输该业务流的网络。又比如,业务流的流特征为源互联网协议(internet protocol,IP)地址、目的IP地址、端口号以及协议号。其中,源IP地址是业务流所包括的报文的源IP地址。目的IP地址是业务流包括的报文的目的IP地址。端口号用于标识业务流的服务类型。协议号用于标识传输层使用的协议。
流ID标识业务流。每个业务流具有唯一对应的流ID。在一种可能的实现方式中,流ID可以是网络节点基于算法生成的。
在确定对业务流进行随流检测后,网络节点生成环路检测报文,并随流传输环路检测报文。接收到环路检测报文的网络节点能够根据环路检测报文进行环路检测。
需要说明的是,本申请实施例提供的随流检测方法包括空间维度的随流检测方法和时间维度的随流检测方法。
其中,空间维度的随流检测方法的原理是,根据传输环路检测报文的节点是否重复来确定是否出现环路。当传输环路检测报文的节点重复,则传输业务流的路径包括环路。当传输环路检测报文的节点未出现重复,则传输业务流的路径不包括环路。
时间维度的随流检测方法的原理是,根据传输环路检测报文的时长是否超过正常传输业务流中的报文的时长,来确定是否出现环路。当传输环路检测报文的时长超过未有环路的情况下传输业务流中报文的时长,则说明环路检测报文可能在环路中持续传输,传输业务流的路径可能包括环路。当传输环路检测报文的时长未超过未有环路的情况下传输业务流中报文的时长,则传输业务流的路径不包括环路。
对于不同维度的随流检测方法,环路检测报文不同,环路检测的过程也会不同。作为一种示例,参见图3a所示,传输业务流的路径1例如可以是PE1→P1→PE2→PE3→P1。其中,P1→PE2→PE3→P1构成环路。作为另一种示例,参见图3b所示,传输业务流的路径2例如可以是PE1→P1→PE2→PE3→PE4→PE5→P2→PE6。路径2是不包括环路的路径。
下面以场景一和场景二为例,分别对采用空间维度的随流检测方法对路径1和路径2进行检测的过程,以及时间维度的随流检测方法对路径1和路径2进行检测的过程进行说明。
场景一:空间维度的随流检测方法。
下面先对采用空间维度的随流检测方法对路径1进行检测的过程进行说明。
下面结合图4和图5对本申请实施例提供的一种随流检测的方法400进行介绍。其中,图4为方法400的信令交互图,图5为本申请实施例提供的一种网络架构的示意图。方法400具体包括S401-S417。
S401:PE1获取业务流中的报文1。
PE1是网络中传输业务流的路径的头节点。
如图5所示PE1获取由CE1发送的业务流。在确定对该业务流进行随流检测后,从业务流中获取报文1。S402:PE1根据报文1得到报文2。
PE1对报文1进行染色,得到报文2。其中,染色是指封装报文,对报文进行特征标记的过程。得到的报文2是环路检测报文。
具体的,PE1基于业务流的流ID以及PE1的节点信息对报文1进行封装,得到报文2。报文2包括流ID和环路检测信息。其中,流ID标识业务流。环路检测信息包括指示信息和PE1的节点信息。指示信息指示报文2是环路检测报文。PE1的节点信息标识PE1。PE1的节点信息可以是预先分配的。作为一种示例,PE1的节点信息可以是PE1的节点ID。例如,PE1的节点信息为A1。报文2中携带PE1的节点信息的字段包括A1。作为另一种示例,本申请实施例中,各节点的节点信息是节点的IP地址。例如,PE1的节点信息是PE1的IP地址。
在一种可能的实现方式中,PE1可以将流ID和环路检测信息封装入报文1的保留字段或者扩展字段中,得到报文2。作为一些示例,本申请实施例提供报文2为第4版互联网协议(internet protocol version 4,IPv4)报文的格式、第6版互联网协议(internetprotocol version 6,IPv6)报文的格式或者基于第六版互联网协议的分段路由(segmentrouting over internet protocol version 6,SRv6)报文的格式,具体请参见下文。
在另一种可能的实现方式中,PE1可以基于报文1,封装随流检测报文头,得到报文2。随流检测报文头例如为随流信息遥测(in-situ flow information telemetry,iFIT)报文头,或者带内操作管理维护(in-situ operation administration and maintenance,iOAM)报文头。作为一些示例,本申请实施例提供报文2包括iFIT报文头的格式或者包括iOAM报文头的格式,具体请参见下文。
S403:PE1向P1发送报文2。
PE1基于业务流的传输路径,向P1发送报文2。
S404:P1获取业务流中的报文2。
P1获取由PE1发送的报文2。P1基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。P1在获取报文2后,基于报文2包括的指示信息,能够确定报文2是环路检测报文。
S405:P1根据报文2包括的环路检测信息,进行环路检测。
报文2包括的环路检测信息包括报文2经过的节点的节点信息。报文2中包括的环路检测信息包括PE1的节点信息,不包括P1的节点信息。P1确定报文2经过的路径不包括环路。
S406:P1根据报文2得到报文3。
P1将P1的节点信息封装入报文2,得到报文3。报文3包括流ID和环路检测信息。环路检测信息包括指示信息、PE1的节点信息以及P1的节点信息。需要说明的是,为了表示环路检测报文经过节点的顺序,可以按照一定的顺序将P1的节点信息封装入报文2,得到报文3。比如,在PE1的节点信息之后继续写入P1的节点信息。具体的,例如,P1的节点信息为B1。报文3中携带报文3经过的节点的节点信息的字段包括A1和B1。
S407:P1向PE2发送报文3。
P1基于业务流的传输路径,向PE2发送报文3。
S408:PE2获取业务流中的报文3。
PE2获取由P1发送的报文3。PE2基于报文3包括的流ID,能够确定报文3是属于该业务流的报文。PE2在获取报文3后,基于报文3包括的指示信息,能够确定报文3是环路检测报文。
S409:PE2根据报文3包括的环路检测信息,进行环路检测。
报文3包括的环路检测信息包括报文3经过的节点的节点信息。报文3中包括的环路检测信息包括PE1的节点信息和P1的节点信息,不包括PE2的节点信息。PE2确定报文3经过的路径不包括环路。
S410:PE2根据报文3得到报文4。
PE2将PE2的节点信息封装入报文3,得到报文4。报文4包括流ID和环路检测信息。环路检测信息包括指示信息、PE1的节点信息、P1的节点信息以及PE2的节点信息。例如,PE2的节点信息为C1。报文4中携带报文4经过的节点的节点信息的字段包括A1、B1和C1。
S411:PE2向PE3发送报文4。
PE2基于业务流的传输路径,向PE3发送报文4。
S412:PE3获取业务流中的报文4。
PE3获取由PE2发送的报文4。PE3基于报文4包括的流ID,能够确定报文4是属于该业务流的报文。PE3在获取报文4后,基于报文4包括的指示信息,能够确定报文4是环路检测报文。
S413:PE3根据报文4包括的环路检测信息,进行环路检测。
报文4包括的环路检测信息包括报文4经过的节点的节点信息。报文4中包括的环路检测信息包括PE1的节点信息、P1的节点信息以及PE2的节点信息,不包括PE3的节点信息。PE3确定报文4经过的路径不包括环路。
S414:PE3根据报文4得到报文5。
PE3将PE3的节点信息封装入报文4,得到报文5。报文5包括流ID和环路检测信息。环路检测信息包括指示信息、PE1的节点信息、P1的节点信息、PE2的节点信息以及PE3的节点信息。例如,PE3的节点信息为D1。报文5中携带报文5经过的节点的节点信息的字段所包括的数据为00 00 00A1 B1 C1 D1。
S415:PE3向P1发送报文5。
在路径1中,P1、PE2和PE3构成环路。PE3基于业务流的传输路径向P1发送报文5。
S416:P1获取业务流中的报文5。
P1获取由PE3发送的报文5。P1基于报文5包括的流ID,能够确定报文5是属于该业务流的报文。P1在获取报文5后,基于报文5包括的指示信息,能够确定报文5是环路检测报文。
S417:P1根据报文5包括的环路检测信息,进行环路检测。
报文5包括的环路检测信息包括报文5经过的节点的节点信息。报文5中包括的环路检测信息包括PE1的节点信息、P1的节点信息、PE2的节点信息以及PE3的节点信息,包括P1的节点信息。P1确定报文5经过的路径,也就是传输业务流的路径包括环路。
以上述报文5携带报文5经过的节点的节点信息的字段所包括的数据为00 0000A1 B1C1 D1为例,P1确定报文5包括的节点信息包括B1。P1确定报文5经过的路径,也就是传输业务流的路径包括环路。
在P1检测确定环路后,P1能够采取环路处理策略。
例如,P1能够向控制管理设备发送环路告警。控制管理设备基于获取的环路告警,能够确定传输业务流的路径包括环路。在一些可能的情况下,P1能够从报文5包括的环路检测信息中确定构成环路的节点。P1向控制管理设备发送的环路告警包括构成环路的节点的节点信息。
具体的,P1能够根据环路检测信息包括的P1的节点信息和排序在最后一位的节点信息之间的节点信息,确定构成环路的节点。比如,P1能够根据环路检测信息包括的P1的节点信息和PE3的节点信息之间的节点信息,确定P1、PE2和PE3构成环路。
又例如,P1能够丢弃业务流,或者按照一定的百分比丢弃业务流中的报文,防止在环路中持续传输报文,占用网络资源。在一种可能的实现方式中,P1基于报文5确定传输业务流的路径报文环路。P1丢弃报文5,防止报文5在环路中传输。
下面对本方法400提供的可能的报文2的格式进行介绍。
第一种:报文2是IPv4报文。
参见图6a所示,该图为本申请实施例提供的一种报文的格式的示意图。其中,报文2包括选项(option)类型长度值(type length value,TLV)字段。Option TLV字段包括流ID和环路检测信息。
一种具体的实现方式中,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段以及路径(path)字段。
其中,type字段用于指示该Option TLV的类型为环路检测类型。flow ID字段包括流标识。length字段用于指示该Option TLV的总长度。
loop字段用于携带指示信息。指示信息指示该报文为环路检测报文。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文;当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
在一种具体的实现方式中,在loop字段指示该报文是环路检测报文时,path字段包括节点的节点信息。length字段指示Option TLV字段包含path字段的总长度。在loop字段指示报文不是环路检测报文时,path字段不包括节点的节点信息。length字段指示不包含path字段的Option TLV字段的总长度。
第二种:报文2是IPv6报文。
参见图6b所示,该图为本申请实施例提供的一种报文2的格式的示意图。其中,报文2包括扩展头(Extension Header)。Extension Header包括流ID和环路检测信息。
在一种可能的实现方式中,Extension Header包括TLV字段。该TLV字段包括type字段、length字段、loop字段、flow ID字段以及path字段。
具体的,Extension Header的下一报文头字段包括type字段。Extension Header的报头扩展长度字段包括length字段。Extension Header的扩展报文数据字段包括loop字段、flow ID字段以及path字段。
其中,type字段指示该扩展报文头类型为环路检测类型。length字段指示该扩展报文头的总长度。flow ID字段包括流ID。
loop字段用于承载指示信息。指示信息指示该报文为环路检测报文。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文;当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
一种具体的实现方式中,在loop字段指示该报文是环路检测报文时,path字段包括节点的节点信息。length字段指示Option TLV字段包含path字段的总长度。在loop字段指示报文不是环路检测报文时,path字段不包括节点的节点信息。length字段指示不包含path字段的Option TLV字段的总长度。
第三种:报文2是SRv6报文。
参见图6c所示,该图为本申请实施例提供的一种报文2的格式的示意图。其中,报文包括分段路由头(Segment Routing Header,SRH)。SRH包括流ID和环路检测信息。在一种可能的实现方式中,SRH包括Option TLV字段。具体的,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段以及路径(path)字段。
其中,type字段用于指示该Option TLV的类型为环路检测类型。length字段用于指示该Option TLV的总长度。flow ID字段包括流标识。
loop字段用于承载指示信息。指示信息指示该报文为环路检测报文。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文;当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
一种具体的实现方式中,在loop字段指示该报文是环路检测报文时,path字段包括节点的节点信息。length字段指示Option TLV字段包含path字段的总长度。在loop字段指示报文不是环路检测报文时,path字段不包括节点的节点信息。length字段指示不包含path字段的Option TLV字段的总长度。
第四种:报文2包括iFIT报文头。
参见图6d所示,该图为本申请实施例提供的一种iFIT报文头的格式的示意图。iFIT报文头包括流ID和环路检测信息。
iFIT报文头包括预留(reserved,R)字段、跟踪类型(Trace type)字段、长度(length,Len)字段以及扩展比特(bit)位。R字段携带指示信息。Trace type字段中的一个bit位用于指示检测模式。检测模式包括逐跳检测模式或者端到端检测模式。端到端检测模式统计端到端传输报文的丢包以及时延等信息。逐跳检测模式统计端到端传输报文的丢包和时延,以及每跳之间传输报文的丢包和时延。
Len字段指示iFIT报文头包括的扩展-bit0到扩展-bitN的字节总长度。N为扩展bit位的最大位数。例如,图6d中所示的Len字段为6。N的取值为5。扩展-bit4和扩展-bit5承载path字段。path字段包括报文经过的节点的节点信息。需要说明的是,通过调整Len字段的具体数值,能够调整path字段所占的字节长度。
第五种:报文2包括iOAM报文头。
参见图6e所示,该图为本申请实施例提供的一种iOAM报文头的格式的示意图。iOAM报文头包括流ID和环路检测信息。具体的,iOAM报文头包括流指令标识(flowinstruction indicator,FII)字段、流指令头(flow instruction header,FIH)以及流指令扩展头(flow instruction extension header,FIEH)字段。FIH字段包括预留(reserved,R)字段。R字段包括指示信息,是环路检测报文的识别字段。FIEH字段包括Len字段。Len字段指示后续字节的功能。FIEH字段包括路径字段。路径字段包括报文经过的节点的节点信息。
此外,iOAM报文头FIH字段包括头类型指令(header type indicator,HTI)字段。HTI字段。HTI字段的取值能够指示检测模式。检测模式包括逐跳检测模式或者端到端检测模式。端到端检测模式统计端到端传输报文的丢包以及时延等信息。逐跳检测模式统计端到端传输报文的丢包和时延,以及每跳之间传输报文的丢包和时延。
在一些可能的情况下,环路检测报文中携带报文经过的节点的节点信息的字段长度有限,难以携带完整的报文经过的节点的节点信息。在一种可能的实现方式中,在当前传输的环路检测报文不能携带节点的节点信息时,节点封装得到另外的环路检测报文,用于携带后续的环路检测报文经过的节点的节点信息。
下面结合图7和图8对本申请实施例提供的随流检测方法700进行介绍。参见图7所示,该图为本申请实施例提供的一种随流检测的方法700的信令交互图,具体包括S701-S720。
S701:PE1获取业务流中的报文1。
PE1是网络中传输业务流的路径的头节点。
如图8所示,PE1获取由CE1发送的业务流。在确定对该业务流进行随流检测后,从业务流中获取报文1。
S702:PE1根据报文1得到报文2。
具体的,PE1基于业务流的流ID以及PE1的节点信息对报文1进行封装,得到报文2。报文2包括流ID和环路检测信息。
在一些情况下,报文2中预留的携带节点的节点信息的字段长度有限,存在无法写入报文经过的全部节点的节点信息的情况。这样可能会造成部分节点的节点信息的遗漏,无法记录报文经过的全部节点。
在一些可能的实现方式中,业务流中包括多个环路检测报文。每个环路检测报文包括报文经过的一部分节点的节点信息。如此,进行环路检测的节点能够根据多个环路检测报文确定业务流的传输路径中的全部的节点,并基于全部的节点进行环路检测。
对应的,报文2包括的环路检测信息还包括路径段序号。路径段序号用于标识报文2经过的路径段。此外,路径段序号还能够标识标识路径段的排序顺序。进行环路检测的节点能够根据多个路径段序号之间的顺序,对路径段序号标识的路径段进行排序,得到传输业务流的路径。路径段序号的排序方式可以预先配置。比如,路径段序号数值较大的排序位置在后。在本申请实施例中,报文2包括的路径段序号例如可以为01。
在一种可能的实现方式中,PE1可以将流ID和环路检测信息封装入报文1的保留字段或者扩展字段中,得到报文2。在本方法700中,环路检测信息包括路径段号字段和分段路径字段。其中,路径段序号字段包括路径段序号。分段路径字段包括报文经过的路径段中节点的节点信息。
在一种可能的实现方式中,PE1可以将流ID和环路检测信息封装入报文1的保留字段或者扩展字段中,得到报文2。作为一些示例,本申请实施例提供报文2为第4版互联网协议(internet protocol version 4,IPv4)报文的格式、第6版互联网协议(internetprotocol version 6,IPv6)报文的格式或者基于第六版互联网协议的分段路由(segmentrouting over internet protocol version 6,SRv6)报文的格式。
在另一种可能的实现方式中,PE1可以基于报文1,封装随流检测报文头,得到报文2。随流检测报文头例如为随流信息遥测(in-situ flow information telemetry,iFIT)报文头,或者带内操作管理维护(in-situ operation administration and maintenance,iOAM)报文头。
下面对报文2的一些可能的报文格式进行介绍。
第一种:报文2为IPv4报文。
参见图9a所示,该图为本申请实施例提供的IPv4报文的格式的示意图。其中,报文包括选项(option)类型长度值(type length value,TLV)字段。Option TLV字段包括流ID和环路检测信息。在一种具体的实现方式中,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段、路径段号字段和分段路径字段。除路径段号字段和分段路径字段以外,图9a所示的报文包括的字段与上述图6a所示的报文包括的字段类似,具体请参照上述描述,在此不再赘述。
第二种:报文2为IPv6报文。
参见图9b所示,该图为本申请实施例提供的IPv6报文的格式的示意图。报文包括扩展头(Extension Header)。Extension Header包括流ID和环路检测信息。在一种可能的实现方式中,Extension Header包括TLV字段。该TLV字段包括type字段、length字段、loop字段、flow ID字段、路径段号字段和分段路径字段。除路径段号字段和分段路径字段以外,图9b所示的报文包括的字段与上述图6b所示的报文包括的字段类似,具体请参照上述描述,在此不再赘述。
第三种:报文2为SRv6报文。
参见图9c所示,该图为本申请实施例提供的SRv6报文的格式的示意图。报文包括分段路由头(Segment Routing Header,SRH)。SRH包括流ID和环路检测信息。在一种可能的实现方式中,SRH包括Option TLV字段。具体的,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段、路径段号字段和分段路径字段。除路径段号字段和分段路径字段以外,图9c所示的报文包括的字段与上述图6c所示的报文包括的字段类似,具体请参照上述描述,在此不再赘述。
第四种:报文2包括iFIT报文头。
参见图9d所示,该图为本申请实施例提供的iFIT报文头的格式的示意图。FIT报文头包括流ID和环路检测信息。
在一种具体的实现方式中,iFIT报文头包括预留(reserved,R)字段、跟踪类型(Trace type)字段、长度(length,Len)字段以及扩展比特(bit)位。Len字段指示iFIT报文头包括的扩展-bit0到扩展-bitN的字节总长度。扩展比特位包括路径段号字段和分段路径字段。例如,图9d中所示的Len字段为6。N为5。扩展-bit4承载路径段号字段和分段路径字段。扩展-bit5承载分段路径字段。
除路径段号字段和分段路径字段以外,图9d所示的iFIT报文头包括的字段与上述图6d所示的iFIT报文头包括的字段类似,具体请参照上述描述,在此不再赘述。
第五种:报文2包括iOAM报文头。
参见图9e所示,该图为本申请实施例提供的一种iOAM报文头的格式的示意图。iOAM报文头包括流ID和环路检测信息。具体的,iOAM报文头包括流指令标识(flowinstruction indicator,FII)字段、流指令头(flow instruction header,FIH)以及流指令扩展头(flow instruction extension header,FIEH)字段。FIH字段包括预留(reserved,R)字段。R字段包括指示信息,是环路检测报文的识别字段。FIEH字段包括Len字段。Len字段指示后续字节的功能。FIEH字段包括路径段号字段和分段路径字段。除路径段号字段和分段路径字段以外,图9e所示的iOAM报文头包括的字段与上述图6e所示的iOAM报文头包括的字段类似,具体请参照上述描述,在此不再赘述。
S703:PE1向P1发送报文2。
S704:P1获取业务流中的报文2。
S705:P1根据报文2包括的环路检测信息,进行环路检测。
S706:P1根据报文2得到报文3。
S707:P1向PE2发送报文3。
S708:PE2获取业务流中的报文3。
S709:PE2根据报文3包括的环路检测信息,进行环路检测。
在方法700中,S703-S709与上述方法400中的S403-S409类似,具体请参见上述有关S403-S409的描述,在此不再赘述。
需要说明的是,在本方法700中,报文2以及报文3包括的环路检测信息还包括路径段序号01。
S710:PE2向PE3发送报文3。
在一些情况下,报文3中预留的携带节点的节点信息的字段已存满,无法写入PE2的节点信息。PE2向PE3发送报文3。
S711:PE2获取业务流中的报文4。
需要说明的是,在PE2获取报文4,对报文4进行封装之前,还需要确定业务流中不存在包括其他路径段中节点的节点信息的环路检测报文。其他路径段是指除路径段序号01标识的路径段以外的路径段。
具体的,在完成环路检测之前,PE1会间隔一定时间后重新执行上述S701-S703,对应的P1会重新执行S704-S707,PE2会重新执行S708-S710。PE2会重新获取到报文3。
在一种可能的实现方式中,PE2获取的多个环路检测报文所包括的环路检测信息均只包括路径段序号01、PE1的节点信息以及P1的节点信息。也就是说,PE2仅获取到多个报文3,未获取到其他环路检测报文。其中,多个环路检测报文至少为两个环路检测报文。PE2能够确定业务流中不存在包括其它环路检测信息的环路检测报文。PE2需要重新染色业务报文,得到包括PE2的节点信息的环路检测报文。
在另一种可能的实现方式中,PE2获取的多个环路检测报文所包括的路径段序号最大为01。也就是说,PE2仅获取到多个报文3,未获取到其他环路检测报文,也不存在标识其他路径段的路径段序号。其中,多个环路检测报文至少为两个环路检测报文。PE2能够确定业务流中不存在包括其它环路检测信息的环路检测报文。PE2需要重新染色业务报文,得到包括PE2的节点信息的环路检测报文。
PE2从业务流中获取报文4。报文4包括的流ID标识报文4属于该业务流。报文4是未进行染色的报文。报文4是业务报文,并非是环路检测报文。报文4是在报文3之后传输的报文。
在一种可能的实现方式,PE2在确定报文3无法写入PE2的节点信息后,在预设的时间段内获取报文4,并对报文4进行染色。预设的时间段是预先配置的。预设的时间段小于正常完成端到端传输业务流中报文的传输时长。
S712:PE2根据报文4得到报文5。
PE2对报文4进行染色,得到报文5。
具体的,PE2基于业务流的流ID、PE2的节点信息以及报文3包括的路径段序号对报文4进行封装,得到报文5。报文5包括流ID和环路检测信息。其中,流ID标识业务流。环路检测信息包括指示信息、PE2的节点信息以及路径段序号。指示信息指示报文5是环路检测报文。PE2的节点信息标识PE2。报文5包括的路径段序号用于标识报文5经过的路径段。并且,报文5包括的路径段序号的排序在报文3包括的路径段序号之后。以上述报文3包括的路径段序号为01为例,报文5包括的路径段序号为02。报文5包括的路径段序号是01加1得到的。
S713:PE2向PE3发送报文5。
PE2基于业务流的传输路径,向PE3发送报文5。
S714:PE3获取业务流中的报文3和报文5。
P1获取由PE2发送的报文3和报文5。需要说明的是,PE2发送报文5的时间晚于发送报文3的时间。对应的,PE3获取报文5的时间可能晚于获取报文3的时间。
P1基于报文3包括的流ID和报文5包括的流ID,能够确定报文3和报文5是属于该业务流的报文。PE3基于报文3包括的指示信息,能够确定报文3是环路检测报文。类似的,PE3基于报文5包括的指示信息,能够确定报文5是环路检测报文。
S715:PE3根据报文3包括的环路检测信息,以及报文5包括的环路检测信息,进行环路检测。
作为示例,本申请实施例提供两种PE3基于报文3和报文5进行环路检测的具体实现方式。
方式一:PE3分别基于报文3和报文5进行环路检测。
具体的,PE3先基于报文3进行环路检测。报文3包括的环路检测信息包括PE1的节点信息以及P1的节点信息。PE3确定报文3包括的环路检测信息不包括PE3的节点信息,确定报文3经过的路径段不包括环路。
PE3再基于报文5进行环路检测。报文5包括的环路检测信息包括PE2的节点信息。PE3确定报文5包括的环路检测信息不包括PE3的节点信息,确定报文5经过的路径段不包括环路。
方式二:PE3先对报文3包括的环路检测信息和报文5包括的环路检测信息进行处理,得到全部的环路检测信息,再基于全部的环路检测信息进行环路检测。
PE3获取报文3包括的环路检测信息中的01以及PE1的节点信息和P1的节点信息。PE3获取报文5包括的环路检测信息中的02以及PE2的节点信息。PE3根据01的排序顺序早于02的排序顺序,确定业务流的报文先经过包括PE1和P1的路径段。再经过包括PE2的路径段。PE3确定的传输业务流的路径为PE1→P1→PE2。传输业务流的路径对应的环路检测信息包括PE1的节点信息、P1的节点信息以及PE2的节点信息。PE3确定完整的环路检测信息不包括PE3的节点信息,确定传输业务流的路径不包括环路。
需要说明的是,在方式二中,PE3需要确定是否获取全部的环路检测信息。具体的,PE3能够基于环路检测报文中包括节点信息的字段是否填满,确定是否后续具有其他的环路检测报文。比如,PE3在获取到报文3后,能够确定报文3中包括节点信息的字段已填满,业务流可能包括由其他网络节点重新染色得到的环路检测报文。PE3继续获取业务流中的报文,并识别业务流中的报文是否为环路检测报文。PE3在获取到报文5后,根据报文5包括的环路检测信息中的指示信息,确定报文5是环路检测报文。并且,PE3能够确定报文5中包括节点信息的字段未填满,业务流中不存在包括其它环路检测信息的环路检测报文。PE3基于报文3和报文5得到全部的环路检测信息。
S716:PE3向P1发送报文3。
PE3基于业务流的传输路径向P1发送报文3。需要说明的是,在采用上述方式一时,PE3在基于报文3确定不存在环路后,向P1发送报文3。在采用上述方式二时,PE3在获取报文3后,可以保存报文3包括的环路检测信息,向P1发送报文3。在PE3获取报文5后,再进行环路检测。
S717:PE3根据报文5得到报文6
PE3将PE3的节点信息封装入报文5,得到报文6。报文6包括流ID和环路检测信息。环路检测信息包括指示信息、路径段序号02、PE2的节点信息以及PE3的节点信息。
S718:PE3向P1发送报文6。
PE3基于业务流的传输路径向P1发送报文6。
S719:P1获取业务流中的报文3和报文6。
P1获取由PE2发送的报文3和报文6。需要说明的是,PE2发送报文6的时间晚于发送报文3的时间。对应的,PE3获取报文6的时间可能晚于获取报文3的时间。
P1基于报文3包括的流ID和报文6包括的流ID,能够确定报文3和报文6是属于该业务流的报文。P1基于报文3包括的指示信息,能够确定报文3是环路检测报文。P1基于报文6包括的指示信息,能够确定报文6是环路检测报文。
S720:P1根据报文3包括的环路检测信息,以及报文6包括的环路检测信息,进行环路检测。
P1与PE3进行环路检测的方式类似。
方式一:P1分别基于报文3和报文6进行环路检测。
具体的,P1先基于报文3进行环路检测。报文3包括的环路检测信息包括PE1的节点信息以及P1的节点信息。P1确定报文3包括的环路检测信息包括P1的节点信息,确定报文3经过的路径段包括环路。
在一种可能的实现方式中,在确定报文3经过的路径段包括环路后,P1可以不基于报文6进行环路检测,采取环路处理策略。
在另一种可能的实现方式中,P1在获取报文6后,基于报文6进行环路检测。报文6包括的环路检测信息包括PE2的节点信息和PE3的节点信息。P1确定报文6包括的环路检测信息不包括P1的节点信息。
方式二:P1先对报文3包括的环路检测信息和报文6包括的环路检测信息进行处理,还原完整的环路检测信息,再进行环路检测。
P1获取报文3包括的环路检测信息中的01以及PE1的节点信息和P1的节点信息。P1获取报文6包括的环路检测信息中的02、PE2的节点信息和PE3的节点信息。P1根据01的排序顺序早于02的排序顺序,确定业务流的报文先经过包括PE1和P1的路径段。再经过包括PE2和PE3的路径段。P1确定的传输业务流的路径为PE1→P1→PE2→PE3。传输业务流的路径对应的环路检测信息包括PE1的节点信息、P1的节点信息、PE2的节点信息以及PE3的节点信息。P1确定完整的环路检测信息包括P1的节点信息,确定传输业务流的路径包括环路。
类似的,在方式二中,P1需要确定是否能够获取全部的环路检测信息。
由于报文3和报文6包括节点信息的字段均填满,P1无法基于环路检测报文中包括节点信息的字段是否填满确定是否后续具有其他的环路检测报文。在另一种可能的实现方式中,P1能够基于环路检测报文包括的路径段序号,判断是否接受到完整的环路检测信息。
作为一种示例,P1接收报文3和报文6,最大的路径段序号为02。P1后续再次接收到包括序号1的报文3,就能够确定一次环路检测过程中,生成的环路检测报文包括报文3和报文6。最大的路径段序号为02。P1能够基于报文3和报文6得到全部的环路检测信息。其中,P1后续再次接收到的报文3,是PE1间隔一定时间再次发起环路检测生成的。
需要说明的是,本申请实施例不限定P1确定最大的路径段序号所需接收的报文的个数。作为另一种示例,P1在第三次接收到包括序号1的报文3后,确定最大的路径段序号为02。P1基于报文3和报文6得到全部的环路检测信息。
在P1检测确定环路后,P1能够采取对应的环路处理策略。
例如,P1能够向控制管理设备发送环路告警。控制管理设备基于获取的环路告警,能够确定传输业务流的路径包括环路。在一些可能的情况下,P1向控制管理设备发送的环路告警包括构成环路的节点的节点信息。
具体的,P1能够根据完整的环路检测信息包括的P1的节点信息和排序在最后一位的节点信息之间的节点信息,确定构成环路的节点。例如,在P1采取上述方式一的检测方式时,P1能够在确定出现环路后,基于报文3和报文6包括的环路检测信息,得到全部的环路检测信息,确定环路包括P1、PE2和PE3。又例如,在P1采取上述方式二的检测方式时,P1能够在确定出现环路后,根据已经得到的全部的环路检测信息,确定环路包括P1、PE2和PE3。
又例如,P1能够丢弃业务流,或者按照一定的百分比丢弃业务流中的报文,防止在环路中持续传输报文,占用网络资源。在一种可能的实现方式中,P1基于报文3和报文6确定传输业务流的路径报文环路。P1丢弃报文3和报文6,防止报文3和报文6在环路中传输。
以上内容介绍了采用空间维度的随流检测方法对路径1进行检测的过程。采用空间维度的随流检测方法对路径2进行检测的过程,与上述介绍的空间维度的随流检测方法对路径1进行检测的过程类似,具体不再赘述。需要说明的是,路径2不包括环路,环路检测报文能够从PE1传输至PE6。PE6为网络传输业务流的路径的尾节点。在PE6基于环路检测报文进行环路检测,确定路径2不包括环路之后,完成本次的环路检测。
下面对本申请实施例提供的时间维度的随流检测方法进行介绍。
场景二:时间维度的随流检测方法。
首先需要说明的是,基于时间维度的随流检测方法需要预先对传输业务流的网络节点的本地时间进行时间同步。并且,根据正常情况下完成端到端传输业务流中报文的时长,确定随流检测周期。作为一种示例,随流检测周期的持续时长可以基于完成端到端传输业务流中报文的时长以及端到端的传输时延确定。例如,随流检测周期的持续时长为60秒、30秒、16秒、8秒、4秒、2秒或者1秒等。
环路检测报文包括检测周期ID。检测周期ID标识生成环路检测报文的时刻所属的随流检测周期。接收到的环路检测报文的节点,通过判断接收环路检测报文的时刻所在的随流检测周期是否晚于生成环路检测报文的时刻所属的随流检测周期,来判断是否存在环路。
下面结合图1所示的网络架构对本申请实施例提供的时间维度的随流检测方法进行介绍。
先对采用时间维度的随流检测方法对路径1进行检测的过程进行说明。下面结合图8和图11对本申请实施例提供的随流检测的方法1000进行介绍。参见图10所示,该图为本申请实施例提供的一种随流检测的方法1000的信令交互图,具体包括S1001-S1017。
S1001:PE1获取业务流中的报文1。
PE1是网络中传输业务流的路径的头节点。
参见图11所示,PE1获取由CE1发送的业务流。在确定对该业务流进行随流检测后,从业务流中获取报文1。
S1002:PE1根据报文1得到报文2。
PE1对报文1进行染色,也就是对报文1进行封装,得到报文2。
具体的,PE1基于业务流的流ID以及获取报文1的时间对报文1进行封装,得到报文2。报文2包括流ID和环路检测信息。其中,流ID标识业务流。环路检测信息包括指示信息和检测周期标识。指示信息指示报文2为环路检测报文。检测周期标识获取报文1的时间所属的随流检测周期。为了便于区分,将获取报文1的时间所属的随流检测周期称为随流检测周期1。
作为一种示例,检测周期标识能够利用|获取报文1的本地时间-协调世界时间(universal time coordinated,UTC)起始时间|/精度,计算得到。其中,精度为预先设置的随流检测周期的持续长度。
在一种可能的实现方式中,PE1可以将流ID和环路检测信息封装入报文1的保留字段或者扩展字段中,得到报文2。作为一些示例,本申请实施例提供报文2为IPv4报文的格式、IPv6报文的格式或者SRv6报文的格式,具体请参见下文。
在另一种可能的实现方式中,PE1可以基于报文1,封装随流检测报文头,得到报文2。随流检测报文头例如为iFIT报文头,或者iOAM报文头。作为一些示例,本申请实施例提供报文2包括iFIT报文头的格式或者包括iOAM报文头的格式,具体请参见下文。
S1003:PE1向P1发送报文2。
PE1基于业务流的传输路径,向P1发送报文2。
S1004:P1获取业务流中的报文2。
P1获取由PE1发送的报文2。P1基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。P1在获取报文2后,基于报文2包括的指示信息,能够确定报文2是环路检测报文。
S1005:P1根据报文2包括的环路检测信息,进行环路检测。
P1基于获取报文2的时间,确定获取报文2的时间所属的随流检测周期。为了便于区分,将P1获取报文2的时间所属的随流检测周期称为随流检测周期2。
如果随流检测周期2晚于随流检测周期1,则P1确定报文2经过的路径包括环路。如果随流检测周期2早于或者等于随流检测周期1,则P1确定报文2经过的路径不包括环路。
作为一种示例,P1能够利用|获取报文2的本地时间-UTC起始时间|/精度计算随流检测周期2的检测周期标识。通过比较随流检测周期2的检测周期标识和报文2携带的检测周期标识的大小,判断报文2经过的路径是否包括环路。如果随流检测周期2的检测周期标识大于报文2携带的检测周期标识的大小,则随流检测周期2晚于随流检测周期1,报文2经过的路径包括环路。如果随流检测周期2的检测周期标识小于或者等于报文2携带的检测周期标识的大小,则随流检测周期2早于或者等于随流检测周期1,报文2经过的路径不包括环路。
S1006:P1向PE2发送报文2。
P1基于业务流的传输路径,向PE2发送报文2。
S1007:PE2获取业务流中的报文2。
PE2获取由P1发送的报文2。PE2基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。PE2在获取报文2后,基于报文2包括的指示信息,能够确定报文2是环路检测报文。
S1008:PE2根据报文2包括的环路检测信息,进行环路检测。
PE2能够采用与上述S1005中P1环路检测方法相同的方法进行环路检测,具体请参见上述S1005的相关描述,在此不再赘述。
PE2获取报文2的时间所属的随流检测周期为随流检测周期3。随流检测周期3等于随流检测周期1。PE2确定报文2经过的路径不包括环路。
S1009:PE2向PE3发送报文2。
PE2基于业务流的传输路径,向PE3发送报文2。
S010:PE3获取业务流中的报文2。
PE3获取由PE2发送的报文2。PE3基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。PE3在获取报文4后,基于报文4包括的指示信息,能够确定报文4是环路检测报文。
S1011:PE3根据报文2包括的环路检测信息,进行环路检测。
PE3能够采用与上述S1005中P1环路检测方法相同的方法进行环路检测,具体请参见上述S1005的相关描述,在此不再赘述。
PE3获取报文2的时间所属的随流检测周期为随流检测周期4。随流检测周期4等于随流检测周期1。PE3确定报文2经过的路径不包括环路。
S1012:PE3向P1发送报文2。
在路径1中,P1、PE2和PE3构成环路。PE3基于业务流的传输路径向P1发送报文2。
需要说明的是,时间维度的随流检测方法会受到传输环路检测报文的时长的影响。在一些可能的情况下,在报文2再次在环路中传输时,可能还处于生成环路检测报文的随流检测周期1中。在报文2持续在环路中传输的过程中,环路中的某个节点接收到报文2的时间会属于环路检测周期1的下一个环路检测周期。此时,该节点基于接收报文2的时间,能够确定接收报文2的时间所属的随流检测周期晚于随流检测周期1,进而确定传输业务流的路径包括环路。
下面以PE2第二次接收到报文2的时间属于环路检测周期1的下一个环路检测周期为例进行说明。
S1013:P1获取业务流中的报文2。
P1获取由PE1发送的报文2。P1基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。P1在获取报文2后,基于报文2包括的指示信息,能够确定报文2是环路检测报文。
S1014:P1根据报文2包括的环路检测信息,进行环路检测。
P1基于获取报文2的时间,确定获取报文2的时间所属的随流检测周期。P1能够采用与上述S1005中的环路检测方法进行环路检测,具体请参见上述S1005的相关描述,在此不再赘述。
P1获取报文2的时间所属的随流检测周期为随流检测周期5。随流检测周期5等于随流检测周期1。P1确定报文2经过的路径不包括环路。
S1015:P1向PE2发送报文2。
P1基于业务流的传输路径,向PE2发送报文2。
S1016:PE2获取业务流中的报文2。
PE2获取由P1发送的报文2。PE2基于报文2包括的流ID,能够确定报文2是属于该业务流的报文。PE2在获取报文2后,基于报文2包括的指示信息,能够确定报文2是环路检测报文。
S1017:PE2根据报文2包括的环路检测信息,进行环路检测。
PE2基于获取报文2的时间,确定获取报文2的时间所属的随流检测周期。PE2能够采用上述S1005中描述的环路检测方法进行环路检测,具体请参见上述S1005的相关描述,在此不再赘述。
PE2获取报文2的时间所属的随流检测周期为随流检测周期6。随流检测周期6晚于随流检测周期1。PE2确定报文2经过的路径包括环路。
在PE2检测确定环路后,PE2能够基于环路处理策略采取对应的处理方式。
例如,PE2能够向控制管理设备发送环路告警。控制管理设备基于获取的环路告警,能够确定传输业务流的路径包括环路。
又例如,P1能够丢弃业务流,或者按照一定的百分比丢弃业务流中的报文,防止在环路中持续传输报文,占用网络资源。在一种可能的实现方式中,P1基于报文2确定传输业务流的路径报文环路。P1丢弃报文2,防止报文2在环路中传输。
在一些可能的情况下,PE1获取报文1的时间与随流检测周期的相对关系,会影响到环路检测的结果。
下面以随流检测周期的持续时长为60秒为例进行说明。比如,第1秒到第60秒为第一个随流检测周期,第60秒到第120秒为第二个随流检测周期。
示例一:
PE1在第59秒获取到报文1,并对报文1进行染色,生成报文2。报文2为环路检测报文。PE1基于业务流的传输路径,发送报文2。假设PE2接收到报文2的时刻为第61秒。PE2在第二个随流检测周期内接收到报文2,晚于生成报文2的第一个随流检测周期。PE2确定传输环路检测报文的路径出现环路。但是,显然PE1→P1→PE2的路径不包括环路,是由于PE1获取报文1,并生成环路检测报文的时间在随流检测周期的末尾所导致的误判。
示例二:
PE1在第61秒获取到报文1,并对报文1进行染色,生成报文2。报文2为环路检测报文。PE1基于业务流的传输路径,发送报文2。在网络节点同步时间时,PE2的本地时间可能与PE1的本地时间存在误差。PE2的本地时间与PE1的本地时间晚4秒钟。假设PE2接收到报文2的时间为PE1的本地时间的第62秒,为PE2的本地时间的第58秒。PE2在第一个随流检测周期内接收到报文2,早于生成报文2的第二个随流检测周期。
为了解决上述问题,预先在随流检测周期内设置目标时间窗口。目标时间窗口为随流检测周期内的一个预设时间段。目标时间窗口的起始时间等于或晚于随流检测周期的起始时间,结束时间早于随流检测周期的结束时间。PE1对获取时间在目标时间窗口内的报文进行染色。在一种可能的实现方式中,基于PE1获取业务流包括的报文的时间,灵活调整目标时间窗口以及精度,使得PE1能够在目标时间窗口内获取到业务流中的报文,并进行染色。比如,随流检测周期为60秒。将60秒均分成3个时间段,每个时间段持续20秒。第2段,也就是随流检测周期中的第21秒到第40秒为目标时间窗口。又或者,将60s均分成4段,每个时间段持续15秒。第2个时间段和第3个时间段为目标时间窗口。也就是随流检测周期中的第16秒到第45秒为目标时间窗口。
通过设置结束时间早于随流检测周期的结束时间的目标时间窗口,在一定程度上,能够避免PE1在随流检测周期的末尾获取报文1并生成环路检测报文所导致的环路误判的情况。通过设置起始时间晚于随流检测周期的起始时间的目标时间窗口,在一定程度上,能够解决网络节点时间同步误差所导致的,接收环路检测报文的时间所属的环路检测周期,比生成环路检测报文的时间所属的环路检测周期提前的问题。
在一些可能的实现方式中,在传输业务流的网络节点中预先配置业务流对应的精度和目标时间窗口。PE1生成的报文2中还包括PE1保存的精度和PE1保存的目标时间窗口中的至少一个。获取报文2的网络节点能够利用精度和/或目标时间窗口对报文2进行校验。
在一种可能的实现方式中,报文2包括精度。获取到报文2的网络节点,还能够将本地配置的精度与报文2包括的精度进行匹配。如果匹配成功,则网络节点基于报文2进行环路检测。如果匹配不成功,则说明随流检测的过程可能出现问题,则网络节点不基于报文2进行环路检测。
在另一种可能的实现方式中,报文2包括目标时间窗口。获取到报文2的网络节点,还能够将本地配置的目标时间窗口与报文2包括的目标时间窗口进行匹配。如果匹配成功,则网络节点基于环路2进行环路检测。如果匹配不成功,则说明随流检测的过程可能出现问题,网络节点不基于报文2进行环路检测。
在又一种可能的实现方式中,报文2包括精度和目标时间窗口。获取到报文2的网络节点,还能够将本地配置的精度与报文2包括的精度进行匹配,将本地配置的目标时间窗口与报文2包括的目标时间窗口进行匹配。如果都匹配成功,则网络节点进行环路检测。如果匹配不成功,则说明随流检测的过程可能出现问题,网络节点不基于报文2进行环路检测。
以上内容介绍了采用时间维度的随流检测方法对路径1进行检测的过程。采用时间维度的随流检测方法对路径2进行检测的过程与上述介绍的时间维度的随流检测方法对路径1进行检测的过程类似,具体不再赘述。需要说明的是,路径2不包括环路,环路检测报文能够从PE1传输至PE6。PE6为网络传输业务流的路径的尾节点。在PE6基于环路检测报文进行环路检测,确定路径2不包括环路之后,完成本次的环路检测。
下面对本方法1000中的可能的报文2的格式进行介绍。
第一种:报文2是IPv4报文。
参见图12a所示,该图为本申请实施例提供的一种报文2的格式的示意图。其中,报文2包括Option TLV字段。Option TLV字段包括流ID和环路检测信息。
一种具体的实现方式中,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段、精度字段、目标时间窗口字段以及周期标识字段。
其中,type字段用于指示该Option TLV的类型为环路检测类型。length字段用于指示该Option TLV的总长度。flow ID字段包括流标识。loop字段指示报文是否为环路检测报文。环路检测报文包括的loop字段能够携带指示信息。周期标识字段携带检测周期标识。精度字段包括精度。目标时间窗口字段包括目标时间窗口。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文。当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
在loop字段包括指示信息时,报文是环路检测报文,周期标识字段包括检测周期标识。精度字段包括精度。目标时间窗口字段包括目标时间窗口。length字段指示OptionTLV字段包含周期标识字段、精度和目标时间窗口字段的总长度。在loop字段不包括指示信息时,报文不是环路检测报文,周期标识字段不包括检测周期标识。精度字段不包括精度。目标时间窗口字段不包括目标时间窗口。length字段指示不包含周期标识字段、精度和目标时间窗口字段的总长度的Option TLV字段的总长度。
第二种:报文2是IPv6报文。
参见图12b所示,该图为本申请实施例提供的一种报文2的格式的示意图。其中,报文2包括扩展头Extension Header。扩展头Extension Header包括流ID和环路检测信息。
在一种可能的实现方式中,Extension Header包括TLV字段。该TLV字段包括type字段、length字段、loop字段、flow ID字段、精度字段、目标时间窗口字段以及周期标识字段。
具体的,Extension Header的下一报文头字段包括type字段。Extension Header的报头扩展长度字段包括length字段。Extension Header的扩展报文数据字段包括loop字段、flow ID字段、精度字段、目标时间窗口字段以及周期标识字段。
其中,type字段指示该扩展报文头类型为环路检测类型。length字段指示该扩展报文头的总长度。loop字段用于承载指示信息,用于指示该报文为环路检测报文。flow ID字段包括流ID。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文;当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
在loop字段包括指示信息时,该报文是环路检测报文。周期标识字段包括检测周期标识。精度字段可以包括精度。目标时间窗口字段可以包括目标时间窗口。length字段指示TLV字段包含周期标识字段、精度字段以及目标时间窗口的总长度。在loop字段不包括指示信息时,该报文不是环路检测报文。周期标识字段无需包括检测周期标识。精度字段无需包括精度。目标时间窗口字段无需包括目标时间窗口。length字段指示不包含周期标识字段、精度字段以及目标时间窗口字段的TLV字段的总长度。
第三种:报文2是SRv6报文。
参见图12c所示,该图为本申请实施例提供的一种报文2的格式的示意图。其中,报文2包括SRH。SRH包括流ID和环路检测信息。
在一种可能的实现方式中,SRH包括Option TLV字段。该Option TLV字段包括type字段、length字段、loop字段、flow ID字段、精度字段、目标时间窗口字段以及周期标识字段。
具体的,Option TLV字段包括类型(type)字段、长度(length)字段、环路(loop)、字段、流标识(flow ID)字段、精度字段、目标时间窗口字段以及周期标识字段。
其中,type字段用于指示该Option TLV的类型为环路检测类型。length字段用于指示该Option TLV的总长度。loop字段指示报文是否为环路检测报文。flow ID字段包括流标识。
loop字段用于承载指示信息。指示信息指示该报文为环路检测报文。
在一种可能的实现方式中,loop字段包括至少一个比特,该至少一个比特用于承载所述指示信息。其中,在一种可能的实现方式中,该至少一个比特包括多个比特,该多个比特以二进制取值的方式承载所述指示信息,用于指示报文环路检测报文。例如,当多个比特取值为第一值时,指示该报文是环路检测报文;当所述多个比特取值为第二值时,指示该报文不是环路检测报文。在另一种可能的实现方式中,该至少一个比特以比特映射的方式来承载所述指示信息,用于指示该报文是环路检测报文。例如,该至少一个比特中的任意一个比特位置位为1来指示该报文是环路检测报文。该至少一个比特中的所述任意一个比特位置位为0来指示该报文不是环路检测报文。
在loop字段包括指示信息时,该报文是环路检测报文。周期标识字段包括检测周期标识。精度字段可以包括精度。目标时间窗口字段可以包括目标时间窗口。length字段指示Option TLV字段包含周期标识字段、精度字段以及目标时间窗口的总长度。在loop字段不包括指示信息时,该报文不是环路检测报文。周期标识字段不包括检测周期标识。精度字段不包括精度。目标时间窗口字段不包括目标时间窗口。length字段指示不包含周期标识字段、精度字段以及目标时间窗口字段的Option TLV字段的总长度。
第四种:报文2包括iFIT报文头。
参见图12d所示,该图为本申请实施例提供的一种iFIT报文头的格式的示意图。iFIT报文头包括流ID和环路检测信息。
iFIT报文头包括R字段、Trace type字段、Len字段以及扩展bit位。R字段能够携带指示信息。Trace type字段中的一个bit位用于指示检测模式。检测模式包括逐跳检测模式或者端到端检测模式。端到端检测模式统计端到端传输报文的丢包以及时延等信息。逐跳检测模式统计端到端传输报文的丢包和时延,以及每跳之间传输报文的丢包和时延。
Len字段指示iFIT报文头包括的扩展-bit0到扩展-bitN的总长度。N为扩展bit位的最大位数。例如,图12d中所示的Len字段为6。N的取值为5。扩展-bit4承载精度字段以及目标时间窗口字段。扩展-bit5承载周期标识字段。
第五种:报文2包括iOAM报文头。
参见图12e所示,该图为本申请实施例提供的一种iOAM报文头的格式的示意图。iOAM报文头包括流ID和环路检测信息。
具体的,iOAM报文头包括预留(reserved,R)字段、流指令头(flow instructionheader,FIH)字段以及流指令扩展头(flow instruction extension header,FIEH)字段。其中,R字段包括指示信息,是环路检测报文的识别字段。FIEH字段包括Len字段。Len字段指示后续字节的功能。FIEH字段包括精度字段、目标时间窗口字段以及周期标识字段。精度字段包括精度。目标时间窗口字段包括目标时间窗口。周期标识字段包括检测周期标识。
此外,iOAM报文头FIH字段包括头类型指令(header type indicator,HTI)字段。HTI字段。HTI字段的取值能够指示检测模式。检测模式包括逐跳检测模式或者端到端检测模式。端到端检测模式统计端到端传输报文的丢包以及时延等信息。逐跳检测模式统计端到端传输报文的丢包和时延,以及每跳之间传输报文的丢包和时延。
参见图13所示,该图为本申请实施例提供的一种随流检测方法1300的流程示意图。
方法1300能够应用于图1所示的网络架构中。方法1300应用于第一节点。第一节点是生成环路检测报文的节点,或者是传输环路检测报文的节点。
方法1300可以应用于方法400或者方法700对应的场景中。对于检测路径1的方法,方法1300中的第一节点可以是PE1、P1、PE2和PE3。对于检测路径2的方法,方法1300中的第一节点可以是PE1、P1、PE2、PE4和P2。
方法1300还可以应用于方法1000对应的场景中。对于检测路径1的方法,方法1300中的第一节点可以是PE1、P1、PE2和PE3。对于检测路径2的方法,方法1300中的第一节点可以是PE1、P1、PE2、PE4和P2。
方法1300包括S1301和S1302。
S1301:第一节点获取业务流中的第一报文,第一报文包括流标识ID和第一环路检测信息。
第一节点是属于业务流传输路径的节点。第一节点是业务流传输路径的头节点或者是中间节点。
其中,所述流ID标识所述业务流。第一环路检测信息包括第一指示信息。第一指示信息指示第一报文为环路检测报文。
S1302:第一节点向第二节点发送第一报文。
第一节点基于传输业务流的路径,向第二节点发送第一报文,以便第二节点基于第一报文进行环路检测。
第二节点可以是传输业务流的路径中的中间节点,或者是尾节点。
在一种可能的实现方式中,方法1300可以是基于空间维度的随流检测方法。
其中,第一报文中的第一环路检测信息包括第一节点的节点信息。第一节点的节点信息例如可以是预先配置的第一节点的节点标识,也可以是第一节点的设备标识。
基于空间维度的随流检测方法中,第一节点从第三节点接收第二报文,并根据第二报文,得到第一报文。
其中,第二报文包括流ID。第二报文是需要进行随流检测的业务流中的报文。
在一种可能的实现方式中,第二报文是非环路检测报文。第一节点根据第一节点的节点信息对第二报文进行重新封装,得到第一报文。
比如,以上述场景一的方法400为例,第三节点可以为CE1,第一节点为PE1。第二报文是报文1。第一报文为报文2。
又比如,以上述场景一的方法700为例,第三节点为P1,第一节点为PE2。第二报文是报文4,第一报文是报文5。
在另一种可能的实现方式中,第二报文是环路检测报文。第一节点将第一节点的节点信息封装入第二报文中,得到第一报文。第二报文包括流ID和第二环路检测信息。第二环路检测信息包括第二指示信息和第二报文经过的节点的节点信息。第二指示信息指示第二报文为环路检测报文。第二报文经过的节点的节点信息包括第三节点的节点信息。第一环路检测信息还包括第三节点的节点信息。
比如,以上述场景一的方法400为例,第三节点为PE1,第一节点为P1。第二报文是报文2。第一报文为报文3。
在当第二报文是环路检测报文时,第一节点可以基于第二报文进行环路检测。在确定第二报文经过的路径不包括环路后,第一节点基于第二节点得到第一报文。
具体的,第一节点能够根据第二环路检测信息是否包括第一节点的节点信息,来判断第二报文经过的路径是否包括环路。当第二环路检测信息不包括第一节点的节点信息,第一节点确定第二报文经过的路径不包括环路。
在一些可能的情况中,一个环路检测报文中携带报文经过的节点的节点信息的字段长度有限,难以携带完整的报文经过的节点的节点信息。在一种可能的实现方式中,在当前传输的环路检测报文不能携带节点的节点信息时,节点封装得到另外的环路检测报文,用于携带后续的环路检测报文经过的节点的节点信息。
对应的,第一环路检测信息还包括第一路径段序号。第一路径段序号用于标识第一报文经过的第一路径段。第一路径段包括第一节点。
比如,以上述场景一的方法700为例,第一节点为PE1,第一报文为报文2,第一路径段序号为01。
在此类情况下,业务流可能包括多个携带的环路检测信息不同的环路检测报文。在第一节点获取业务流中的第一报文之前,第一节点还获取业务流的第三报文。
第三报文是环路检测报文。第三报文包括流ID和第三环路检测信。第三环路检测信息包括第三指示信息。第三指示信息指示第三报文为环路检测报文。第三环路检测信息还包括第二路径段序号。第二路径段序号用于标识第三报文经过的第二路径段。第三环路检测信息包括第二路径段上的所有节点的节点信息。
比如,以上述场景一的方法700为例,第一节点为PE3,第三报文为报文3,第二路径段序号为01。第一报文为报文5,第一路径段序号为02。
第三报文不能写入第一节点的节点信息。第一节点向第二节点发送第三报文,以便第二节点基于第三报文进行环路检测。
在一种可能的实现方式中,第一节点在确定第二路径段不包括环路后,向第二节点发送第三报文。具体的,第一节点确定第三环路检测信息不包括第一节点的节点信息,就能够确定第二路径段不包括环路。
需要说明的是,在业务流中的多个环路检测报文仅包括两个不同的路径段序号时,第一路径段和第二路径段可以是邻接的路径段。在业务流中的多个环路检测报文包括三个或者三个以上的不同的路径段序号时,第一路径段和第二路径段可以是邻接的路径段,或者是不邻接的路径段。
在另一种可能的实现方式中,方法1300可以是基于时间维度的随流检测方法。第一环路检测信息还包括第一检测周期标识。第一检测周期标识标识第一随流检测周期。第一随流检测周期是生成第一报文的时间所属的随流检测周期。
第一节点获取第一报文的时间属于第二随流检测周期。第一随流检测周期早于或者等于第二随流检测周期。
作为一种示例,第一节点是基于业务流中的报文,得到第一报文的节点。比如,以场景二中的方法1000为例,第一节点是PE1,第一报文是报文2。第一随流检测周期和第二随流检测周期均为PE1获取报文1的时间所在的随流检测周期,也就是随流检测周期1。需要说明的是,在本申请实施例中,处理业务流中的报文得到第一报文的时间长度可以忽略不计,得到第一报文的时间与获取业务流中报文的时间可以认为是相同的时间。
作为另一种示例,第一节点是获取其他节点发送的第一报文的节点。比如,以场景二中的方法1000为例,第一节点是P1,第一报文是报文2。第一随流检测周期是PE1获取报文1的时间所在的随流检测周期,也就是随流检测周期1。第二随流检测周期是P1获取报文2的时间所在的随流检测周期,也就是随流检测周期2。
在一些情况下,在随流检测周期中设置目标时间窗口。目标时间窗口为随流检测周期内的一个预设时间段。目标时间窗口的结束时间早于随流检测周期的结束时间。目标时间窗口的起始时间等于或晚于随流检测周期的起始时间。
第一节点在第一时刻从第三节点接收第四报文,并根据第四报文,得到第一报文。
其中,第四报文为业务流中的报文,第四报文不是用于环路检测的报文。第一时刻位于目标时间窗口内。
设置结束时间早于随流检测周期的结束时间的目标时间窗口,在一定程度上,能够避免在随流检测周期的末尾得到环路检测报文所导致的环路误判的情况。通过设置起始时间晚于随流检测周期的起始时间的目标时间窗口,在一定程度上,能够解决网络节点时间同步误差所导致的,接收环路检测报文的时间所属的环路检测周期,比得到环路检测报文的时间所属的环路检测周期提前的问题。
此外,第一节点基于第四报文得到的第一报文中,还能够包括精度和目标时间窗口中的至少一种。具体的,第一报文的第一环路检测信息还包括精度和目标时间窗口中的至少一种。其中,第一环路检测信息包括的精度指示第一节点的随流检测周期的持续时长。目标时间窗口为第一节点的随流检测周期内的一个预设时间段。如此,第二节点能够基于本地预先配置的业务流对应的精度和业务流对应的目标时间窗口,对第一报文进行校验。第二节点在校验通过后,基于第一报文进行环路检测,提高环路检测的有效性。
参见图14所示,该图为本申请实施例提供的一种随流检测方法1400的流程示意图。
方法1400能够应用于图1所示的网络架构中。方法1400应用于第二节点。第二节点是基于环路检测报文进行环路检测的节点。
方法1400可以应用于方法400或者方法700对应的场景中。对于检测路径1的方法,方法1400中的第二节点可以是P1、PE2或PE3。对于检测路径2的方法,方法1400中的第二节点可以是P1、PE2、PE4或P2。
方法1400还可以应用于方法1000对应的场景中。对于检测路径1的方法,方法1400中的第二节点可以是P1、PE2或PE3。对于检测路径2的方法,方法1400中的第二节点可以是P1、PE2、PE4或P2。
方法1400包括S1401和S1402。
S1401:第二节点接收由第一节点发送的业务流中的第一报文,第一报文包括流标识ID和第一环路检测信息。
第一节点和第二节点是传输业务流的路径中的节点。其中,第一节点是传输业务流的路径中的头节点或者中间节点。第二节点是传输业务流的路径中的中间节点或者尾节点。第二节点基于业务流中的第一报文,能够进行环路检测。
所述流ID标识所述业务流。第一环路检测信息包括第一指示信息。第一指示信息指示第一报文为环路检测报文。
S1402:第二节点基于第一环路检测信息,进行环路检测。
第二节点根据第一报文包括的第一环路检测信息,能够进行环路检测。具体的,第二节点能够基于第一环路检测信息判断第一报文经过的路径是否包括环路。
在一种可能的实现方式中,方法1400可以是基于空间维度的随流检测方法。第一环路检测信息,还包括第一报文经过的节点的节点信息。
第二节点能够基于第一环路检测信息是否包括第二节点的节点信息,判断第一报文经过的路径是否包括环路。
具体的,如果第一环路检测信息包括第二节点的节点信息,则第一报文经过的路径包括环路。如果第一环路检测信息不包括第二节点的节点信息,则第二节点确定第一报文经过的路径不包括环路。
在一些可能的情况中,一个环路检测报文中携带报文经过的节点的节点信息的字段长度有限,难以携带完整的报文经过的节点的节点信息。在一种可能的实现方式中,在当前传输的环路检测报文不能携带节点的节点信息时,节点封装得到另外的环路检测报文,用于携带后续的环路检测报文经过的节点的节点信息。
对应的,第一环路检测信息还包括第一路径段序号。第一路径段序号用于标识第一报文经过的第一路径段。以上述场景一中的方法700为例,第一节点为PE1,第二节点为P1,第一报文为报文2,第一路径段序号为01。
在此类情况下,业务流可能包括多个携带的环路检测信息不同的环路检测报文。除获取第一报文以外,第二节点还能够获取其他环路检测报文,比如第三报文。
在一种实现方式中,在第二节点接收由第一节点发送的业务流中的第一报文之前,第二节点还获取业务流中的第三报文。
其中,第三报文包括流ID和第二环路检测信息。第二环路检测信息包括第二指示信息、第二路径段序号和第二路径段上的所有节点的节点信息。第二指示信息指示第三报文为环路检测报文。第二路径段序号用于标识第三报文经过的第二路径段。以上述场景一中的方法700为例,第一节点为PE2,第二节点为PE3。第三报文为报文3,第二路径段序号为01。第一报文为报文5,第一路径段序号为02。
第二节点基于第二环路检测信息,对第二路径段进行环路检测。
需要说明的是,在业务流中的多个环路检测报文仅包括两个不同的路径段序号时,第一路径段和第二路径段可以是邻接的路径段。在业务流中的多个环路检测报文包括三个或者三个以上的不同的路径段序号时,第一路径段和第二路径段可以是邻接的路径段,或者是不邻接的路径段。
在另一种可能的实现方式中,方法1400可以是基于时间维度的随流检测方法。第一环路检测信息还包括第一检测周期标识。第一检测周期标识标识第一随流检测周期。第一随流检测周期是第一节点获取第一报文的时间所在的随流检测周期。
第二节点获取第一报文的时间属于第二随流检测周期。第二节点基于第二随流检测周期和第一随流检测周期之间的先后关系,判断传输第一报文的路径是否包括环路。
具体的,如果第二随流检测周期早于或等于第一随流检测周期,第一报文经过的路径不包括环路。如果第二随流检测周期晚于第一随流检测周期,第一报文经过的路径包括环路。
此外,第一环路检测信息还包括精度和目标时间窗口中的至少一种。其中,第一环路检测信息包括的精度指示第一节点的随流检测周期的持续时长。目标时间窗口为第一节点的随流检测周期内的一个预设时间段。
第二节点能够基于本地预先配置的业务流对应的精度和业务流对应的目标时间窗口,对第一报文进行校验。
作为一种示例,第一环路检测信息还包括精度。第二节点将本地预先配置的业务流对应的精度与第一环路检测信息包括的精度进行匹配。如果匹配成功,第二节点基于第一报文进行环路检测。如果匹配不成功,说明第一节点配置的业务流的精度与第二节点配置的该业务流的精度不同,环路检测过程可能出现问题,第二节点不进行环路检测。
作为另一种示例,第一环路检测信息还包括目标时间窗口。第二节点将本地预先配置的业务流对应的目标时间窗口与第一环路检测信息包括的目标时间窗口进行匹配。如果匹配成功,第二节点基于第一报文进行环路检测。如果匹配不成功,说明第一节点配置的业务流的目标时间窗口与第二节点配置的该业务流的目标时间窗口不同,环路检测过程可能出现问题,第二节点不进行环路检测。
作为又一种示例,第一环路检测信息还包括精度和目标时间窗口。第二节点将本地预先配置的业务流对应的精度与第一环路检测信息包括的精度进行匹配,将本地预先配置的业务流对应的目标时间窗口与第一环路检测信息包括的目标时间窗口进行匹配。如果均匹配成功,第二节点基于第一报文进行环路检测。如果精度或者目标时间窗口匹配不成功,说明环路检测过程可能出现问题,第二节点不进行环路检测。
在第二节点确定第一报文经过的路径包括环路时,第二节点能够向控制管理设备发送环路告警。第二节点也能够丢弃第一报文,防止在环路中持续传输第一报文,避免网络资源的浪费。
图15示出了上述实施例中所涉及的通信装置的一种可能的结构示意图,该通信装置可以实现上述场景一介绍的随流检测方法、场景二介绍的随流检测方法以及方法1300和方法1400中由第一节点实现的功能。参阅图15,该通信装置包括:处理单元1501和收发单元1502。这些模块可以执行场景一介绍的随流检测方法、场景二介绍的随流检测方法以及方法1300和方法1400中第一节点的相应功能。
作为一种示例,结合图13所示,处理单元1501,用于支持通信装置执行图13中S1301;收发单元1502,用于支持通信装置执行图13中的S1302;和/或本文所描述的技术中通信装置执行的其它过程。例如,处理单元1501,用于执行上述方法实施例中第一节点执行的各种处理的操作;收发模块1502,用于执行上述方法实施例中第一节点执行的各种接收和/或发送相关的操作。举例来说,处理单元1501,用于获取业务流中第一报文。收发单元1502,用于向第二节点发送第一报文。具体执行过程请参考上述图13所示实施例中相应步骤的详细描述,在此不再赘述。
类似的,处理单元1501用于执行上述方法实施例中第一节点各种处理的操作。收发单元1502,用于执行上述方法实施例中第一节点各种接收和/或发送相关的操作,具体执行过程请参考上述场景一中随流检测方法、场景二中的随流检测方法、方法1300以及方法1400所示实施例中相应步骤的详细描述,在此不再赘述。
图16示出了上述实施例中所涉及的通信装置的一种可能的结构示意图,该通信装置可以实现上述场景一介绍的随流检测方法、场景二介绍的随流检测方法以及方法1300和方法1400中第二节点的功能。参阅图16,该通信装置包括:收发单元1601和处理单元1602。这些模块可以执行场景一介绍的随流检测方法、场景二介绍的随流检测方法以及方法1300和方法1400中第二节点的相应功能。
作为一种示例,结合图14所示,收发单元1601,用于支持通信装置执行图14中S1401;处理单元1602,用于支持通信装置执行图14中的S1402;和/或本文所描述的技术中通信装置执行的其它过程。例如,收发单元1601,用于执行上述方法实施例中第二节点执行的各种接收和/或发送的操作;处理单元1602,用于执行上述方法实施例中第二节点执行的各种处理相关的操作。举例来说,收发单元1601,用于接收第一节点发送的业务流中的第一报文。处理单元1602,用于基于第一环路检测信息,进行环路检测。具体执行过程请参考上述图14所示实施例中相应步骤的详细描述,在此不再赘述。
类似的,收发单元1601用于执行上述方法实施例中第二节点各种处理的操作。处理单元1602,用于执行上述方法实施例中第二节点各种接收和/或发送相关的操作,具体执行过程请参考上述场景一中随流检测方法、场景二中的随流检测方法、方法1300以及方法1400所示实施例中相应步骤的详细描述,在此不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个模块,也不同的模块。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
参阅图17所示,发明实施例提供了一种网络系统1700,该系统1700用于实现前述方法实施例中的随流检测方法。该系统1700包括第一节点1701和第二节点1702。第一节点1701可以实现上述方法实施例中第一节点的功能,第二节点1702可以实现上述方法实施例中第二节点的功能。具体执行过程请参考上述方法实施例中相应步骤的详细描述,这里不再一一赘述。本申请所述的节点例如但不限于路由器、交换机等网络设备。
图18是本申请实施例提供的一种通信装置1800的结构示意图。图15中的通信装置1500和图16中的通信装置1600可以通过图18所示的通信装置来实现。参见图18,该通信装置1800包括至少一个处理器1801,存储器1803以及至少一个网络接口1804通信装置1800。处理器1801可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路(integrated circuit,IC)。处理器可以用于对报文进行处理,以实现本申请实施例中提供的随流检测方法。
比如,当图13中的第一节点通过图18所示的通信装置来实现时,该处理器可以用于获取业务流中的第一报文,具体功能实现可参考方法实施例中对应第一节点的处理部分。又比如,当图14中的第二节点通过图18所示的通信装置来实现时,该处理器可以用于基于第一环路检测信息,进行环路检测,具体功能实现可参考方法实施例中第二节点的处理部分。
通信总线1802用于在处理器1801、网络接口1804和存储器1803之间传送信息。
存储器1803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器1803还可以是随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1803可以是独立存在,通过通信总线1802与处理器1801相连接。存储器1803也可以和处理器1801集成在一起。
可选地,存储器1803用于存储执行本申请方案的程序代码或指令,并由处理器1801来控制执行。处理器1801用于执行存储器1803中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。例如,收发单元和处理单元。可选地,处理器1801也可以存储执行本申请方案的程序代码或指令,在这种情况下处理器1801不需要到存储器1803中读取程序代码或指令。
网络接口1804可以为收发器一类的装置,用于与其它通信装置或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local areanetworks,WLAN)等。在本申请实施例中,网络接口1804可以用于接收业务流中的报文,也可以向传输业务流的其他节点发送报文。网络接口1804可以为以太接口(ethernet)接口、快速以太(fast ethernet,FE)接口或千兆以太(gigabit ethernet,GE)接口等。
在具体实现中,作为一种实施例,通信装置1800可以包括多个处理器,例如图18中所示的处理器1801和处理器1805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图19是本申请实施例提供的一种通信装置1900的结构示意图。上述方法实施例中的第一节点和第二节点能够基于通信装置1900实现。参见图19所示的通信装置结构示意图,通信装置1900包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板包括CPU和存储器,主控板负责对通信装置1900中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,LPU)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下通信装置1900也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(interface card,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储对应关系。转发引擎用于基于存储器中保存的对应关系转发接收到的报文。转发引擎可以是网络处理器(network processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(field programmable gate array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
本申请实施例还提供一种芯片系统,包括:接口电路和处理器,所述处理器用于使得该芯片系统实现上述方法实施例中第一节点或者第二节点执行的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。示例性的,该处理器可以是FPGA,可以是ASIC,还可以是系统芯片(system on chip,SoC),还可以是CPU,NP,数字信号处理电路(digital signal processor,DSP),微控制器(microcontroller unit,MCU)或可编程控制器(programmable logic device,PLD)。
可选地,该芯片系统中还可以包括一个或多个存储器。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包括单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者节点等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (41)
1.一种随流检测的方法,其特征在于,所述方法包括:
第一节点获取业务流中的第一报文,所述第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文;
所述第一节点向第二节点发送所述第一报文。
2.根据权利要求1所述的方法,其特征在于,所述第一环路检测信息包括所述第一节点的节点信息。
3.根据权利要求2所述的方法,其特征在于,所述第一节点获取业务流中的第一报文,包括:
所述第一节点从第三节点接收第二报文,其中,所述第二报文包括所述流ID;
所述第一节点根据第二报文,得到所述第一报文。
4.根据权利要求3所述的方法,其特征在于,所述第二报文还包括第二环路检测信息,所述第二环路检测信息包括第二指示信息和所述第二报文经过的节点的节点信息,所述第二指示信息指示所述第二报文为环路检测报文,所述第二报文经过的节点的节点信息包括所述第三节点的节点信息,所述第一环路检测信息还包括所述第三节点的节点信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于确定所述第二环路检测信息不包括所述第一节点的节点信息,所述第一节点确定所述第二报文经过的路径不包括环路。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段,所述第一路径段经过所述第一节点。
7.根据权利要求6所述的方法,其特征在于,在所述第一节点获取业务流中的第一报文之前,所述方法还包括:
所述第一节点获取所述业务流的第三报文,所述第三报文包括所述流ID和第三环路检测信息,所述第三环路检测信息包括第三指示信息,所述第三指示信息指示所述第三报文为环路检测报文,所述第三环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第三环路检测信息包括所述第二路径段上的所有节点的节点信息;
所述第一节点向所述第二节点发送所述第三报文。
8.根据权利要求7所述的方法,其特征在于,在所述第一节点向所述第二节点发送所述第三报文之前,所述方法还包括:
响应于确定所述第三环路检测信息不包括所述第一节点的节点信息,所述第一节点确定所述第二路径段不包括环路。
9.根据权利要求7或8所述的方法,其特征在于,所述第一路径段和所述第二路径段为邻接的路径段。
10.根据权利要求1所述的方法,其特征在于,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期,其中,所述第一随流检测周期早于或等于第二随流检测周期,所述第二随流检测周期为所述第一节点获取所述第一报文的时间所属的随流检测周期。
11.根据权利要求10所述的方法,其特征在于,所述第一节点获取业务流中的第一报文,包括:
在第一时间,所述第一节点从第三节点接收第四报文,所述第一时间位于目标时间窗口内,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段,所述目标时间窗口的结束时间早于所述随流检测周期的结束时间;
所述第一节点根据所述第四报文,得到所述第一报文。
12.根据权利要求11所述的方法,其特征在于,所述目标时间窗口的起始时间等于或晚于所述随流检测周期的起始时间。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长。
14.根据权利要求11或12所述的方法,其特征在于,所述第一环路检测信息还包括所述目标时间窗口。
15.根据权利要求1-14任一项所述的方法,其特征在于,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
16.根据权利要求1-14任一项所述的方法,其特征在于,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
17.根据权利要求1-14任一项所述的方法,其特征在于,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
18.根据权利要求1-14任一项所述的方法,其特征在于,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
19.根据权利要求18所述的方法,其特征在于,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
20.一种随流检测方法,其特征在于,所述方法包括:
第二节点接收由第一节点发送的业务流中的第一报文,所述第一报文包括流标识ID和第一环路检测信息,所述流ID标识所述业务流,所述第一环路检测信息包括第一指示信息,所述第一指示信息指示所述第一报文为环路检测报文;
所述第二节点基于所述第一环路检测信息,进行环路检测。
21.根据权利要求20所述的方法,其特征在于,所述第一环路检测信息还包括所述第一报文经过的节点的节点信息。
22.根据权利要求21所述的方法,其特征在于,所述第二节点基于所述第一环路检测信息,进行环路检测,包括:
响应于确定所述第一环路检测信息包括所述第二节点的节点信息,所述第二节点确定所述第一报文经过的路径包括环路;
或,
响应于确定所述第一环路检测信息不包括所述第二节点的节点信息,所述第二节点确定所述第一报文经过的路径不包括环路。
23.根据权利要求21或22所述的方法,其特征在于,所述第一环路检测信息还包括第一路径段序号,所述第一路径段序号用于标识所述第一报文经过的第一路径段。
24.根据权利要求23所述的方法,其特征在于,在所述第二节点接收由第一节点发送的业务流中的第一报文之前,所述方法还包括:
所述第二节点获取所述业务流中的第三报文,所述第三报文包括所述流ID和第二环路检测信息,所述第二环路检测信息包括第二指示信息,所述第二指示信息指示所述第三报文为环路检测报文,所述第二环路检测信息还包括第二路径段序号,所述第二路径段序号用于标识所述第三报文经过的第二路径段,所述第二环路检测信息还包括所述第二路径段上的所有节点的节点信息;
所述第二节点基于所述第二环路检测信息,对所述第二路径段进行环路检测。
25.根据权利要求24所述的方法,其特征在于,所述第一路径段和所述第二路径段为邻接的路径段。
26.根据权利要求20所述的方法,其特征在于,所述第一环路检测信息还包括第一检测周期标识,所述第一检测周期标识标识第一随流检测周期;
所述第二节点基于所述第一环路检测信息,进行环路检测,包括:
响应于确定所述第二随流检测周期早于或等于第一随流检测周期,所述第二节点确定所述第一报文经过的路径不包括环路,所述第二随流检测周期为所述第二节点获取所述第一报文的时间所属的随流检测周期;
或,
响应于所述第二随流检测周期晚于所述第一随流检测周期,所述第二节点确定所述第一报文经过的路径包括环路。
27.根据权利要求26所述的方法,其特征在于,所述第一环路检测信息还包括精度,所述精度指示所述随流检测周期的持续时长;
在所述第二节点基于所述第一环路检测信息,进行环路检测之前,所述方法还包括:
所述第二节点确定所述精度与所述业务流对应的精度相同。
28.根据权利要求25或26所述的方法,其特征在于,所述第一环路检测信息还包括目标时间窗口,所述目标时间窗口为所述第一节点的随流检测周期内的一个预设时间段;
在所述第二节点基于所述第一环路检测信息,进行环路检测之前,所述方法还包括:
所述第二节点确定所述目标时间窗口与所述业务流对应的时间窗口相同。
29.根据权利要求1-28任一项所述的方法,其特征在于,响应于确定所述第一报文经过的路径包括环路,所述方法还包括:
所述第二节点向控制管理设备发送环路告警。
30.根据权利要求1-29任一项所述的方法,其特征在于,响应于确定所述第一报文经过的路径包括环路,所述方法还包括:
所述第二节点丢弃所述第一报文。
31.根据权利要求1-30任一项所述的方法,其特征在于,所述第一报文为第4版互联网协议IPv4报文,所述第一环路检测信息携带在所述第一报文的选项类型长度值Option TLV字段中。
32.根据权利要求1-30任一项所述的方法,其特征在于,所述第一报文为第6版互联网协议IPv6报文,所述第一环路检测信息携带在所述第一报文的扩展头Extension Header中。
33.根据权利要求1-30任一项所述的方法,其特征在于,所述第一报文为基于互联网协议第六版本的段路由SRv6报文,所述第一环路检测信息携带在所述第一报文的分段路由头SRH中。
34.根据权利要求1-30任一项所述的方法,其特征在于,所述第一报文包括随流检测报文头,所述随流检测报文头包括所述第一环路检测信息和所述流ID。
35.根据权利要求34所述的方法,其特征在于,所述随流检测报文头为随流信息遥测iFIT报文头,或者为带内操作管理维护iOAM报文头。
36.一种通信装置,应用于第一节点,其特征在于,包括收发单元和处理单元,所述收发单元用于执行权利要求1-19任一项权利要求中由所述第一节点执行的所述的随流检测方法中的收发操作,所述处理单元用于执行权利要求1-19任一项权利要求所述的随流检测方法中由所述第一节点执行的所述收发操作以外的处理操作。
37.一种通信装置,应用于第二节点,其特征在于,包括收发单元和处理单元,所述收发单元用于执行权利要求20-35任一项权利要求中所述随流检测方法中由所述第二节点执行的收发操作,所述处理单元用于执行权利要求20-35任一项权利要求所述随流检测方法中由所述第二节点执行的所述收发操作以外的处理操作。
38.一种通信装置,其特征在于,包括处理器和存储器,存储器用于存储指令,处理器用于执行所述指令,以使得所述通信装置执行如权利要求1至19任一项权利要求所述的随流检测方法,或者执行如权利要求20至35任一项权利要求所述的随流检测方法。
39.一种网络系统,其特征在于,所述网络系统包括第一节点和第二节点,其中,所述第一节点用于执行权利要求1至19任一项权利要求所述的随流检测方法,所述第二节点用于执行如权利要求20至35任一项权利要求所述的随流检测方法。
40.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在处理器上执行时,实现如权利要求1至19任一项权利要求所述的随流检测方法,或者如权利要求20至35任一项权利要求所述的随流检测方法。
41.一种计算机程序产品,其特征在于,包括程序,当所述程序在处理器上运行时,执行上述权利要求1至19任一项权利要求所述的随流检测方法,或者如权利要求20至35任一项权利要求所述的随流检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210103363.2A CN116566889A (zh) | 2022-01-27 | 2022-01-27 | 一种随流检测的方法、通信装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210103363.2A CN116566889A (zh) | 2022-01-27 | 2022-01-27 | 一种随流检测的方法、通信装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116566889A true CN116566889A (zh) | 2023-08-08 |
Family
ID=87500578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210103363.2A Pending CN116566889A (zh) | 2022-01-27 | 2022-01-27 | 一种随流检测的方法、通信装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116566889A (zh) |
-
2022
- 2022-01-27 CN CN202210103363.2A patent/CN116566889A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4024780A1 (en) | Path detection method and apparatus, and computer storage medium | |
RU2493677C2 (ru) | Способ и маршрутизатор для выполнения зеркального копирования | |
US20150063375A1 (en) | Communication device with peer-to-peer assist to provide synchronization | |
CN108809759A (zh) | 检测链路状态的方法、装置和路由器 | |
US20150029837A1 (en) | Protection Switched Source Routing | |
JP2004320785A (ja) | ネットワーク通信のテスト装置及び方法 | |
CN104683210B (zh) | 一种自动建立隧道的方法和装置 | |
CN103828310B (zh) | 一种链路发现的方法、系统及设备 | |
EP4047888A1 (en) | Method for issuing oam configuration information and control node | |
CN108631873B (zh) | 网络管理信息的收发方法、装置、发送设备和接收设备 | |
CN106717111A (zh) | 接收cpri数据流和接收以太网帧的方法、装置及系统 | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN105515816B (zh) | 检测层次信息的处理方法及装置 | |
CN103780470A (zh) | 一种is-is的信息同步方法和装置 | |
CN114826973A (zh) | 传输质量检测方法、装置及系统 | |
CN101902291B (zh) | 一种精确时间同步方法、设备和系统 | |
CN109728968B (zh) | 获得目标传输路径的方法、相关设备及系统 | |
CN116405431A (zh) | 一种数据处理方法、网络节点和计算机可读存储介质 | |
JP2024504466A (ja) | パケット転送方法、パケット処理方法、およびデバイス | |
US11909650B2 (en) | Internet protocol operations and management option | |
CN104618057A (zh) | 一种分组传送网无损伤保护倒换方法及系统 | |
CN116566889A (zh) | 一种随流检测的方法、通信装置及系统 | |
CN114401324B (zh) | 一种报文转发方法、网络设备及系统 | |
CN113141322A (zh) | 一种数据通信方法、数据通信装置及计算机存储介质 | |
CN115550104A (zh) | Axi总线扩展方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |