Method, equipment and system for realizing service path detection
By adding the first indication and service identification information in the detection message in the SRv6 network, accurate fault detection and quality detection of the service path are realized, and the problem of coarse granularity of tunnel-level detection is solved, and the accuracy of service switching and resource utilization efficiency are improved.
Patent Information
- Application Number
- CN202510167589.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-21
- Filing Date
- 2020-11-30
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2040-11-30
AI Technical Summary
In SRv6 networks, the existing technology can only realize tunnel-level fault detection and cannot accurately detect service-level faults, resulting in erroneous switching and waste of resources.
By adding the first indication and service identification information to the detection message, the receiving network device can distinguish the detection message from the service message, thereby performing accurate fault detection and quality detection on the path carrying the service.
It realizes finer-grained and more accurate service-level inspections, accurately switches business paths, avoids waste of resources, and ensures the normal operation of services in the network.
Smart Images

Figure CN119996161A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 202011375770.6, and the original application date is November 30, 2020. The entire contents of the original application are incorporated by reference into this application; and it claims the priority of the Chinese patent application submitted to the State Intellectual Property Office of China on September 21, 2020, with application number 202010992436.9 and application name “A method and device for implementing fault detection in SRv6 scenarios”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a method, device and system for implementing service path detection. Background Art
[0003] In a network based on segment routing over internet protocol version 6 (SRv6), tunnel-level fault detection can be currently implemented. For example, if a user-side PE device detects a tunnel fault between the user-side provider edge (PE) device and the network-side PE device, the user-side PE device implements tunnel-level switching to ensure the normal operation of the services originally carried on the tunnel. However, the granularity of the tunnel-level fault detection is relatively coarse. Once the fault is caused by a certain service, while other services carried on the tunnel can operate normally, the fault detection method cannot accurately detect the service-level fault, resulting in the user-side PE device switching all services carried on the tunnel, that is, the services that operate normally on the tunnel will also be switched by mistake, thereby wasting network resources.
[0004] Based on this, it is urgent to provide a service-level path detection method in this scenario to achieve finer-grained and more accurate path detection, thereby ensuring accurate switching of services. Summary of the invention
[0005] The embodiments of the present application provide a method, device and system for implementing service path detection. The network device sends a detection message carrying an indication, so that the receiving network device of the message can accurately distinguish between the detection message and the service message through the indication, thereby ensuring that the receiving network device can effectively implement service-level fault detection, thereby providing a guarantee for the normal operation of the service in the network.
[0006] The following methods, devices, equipment and systems provided in this application can be applied to SRv6 networks.
[0007] In the first aspect, an embodiment of the present application provides a method for implementing service path detection, which is applied to a first network device. The method may include, for example: the first network device generates and sends a first message to a second network device based on the sixth version of the Internet Protocol (internet protocol version 6, IPv6), the first message including a first indication and identification information of the service, wherein the first indication is used to indicate that the first message is a detection message; the first network device sends the first message to the second network device to indicate that the second network device receiving the first message detects at least one of the paths between the first network device and the second network device for carrying the service and between the second network device and the access side network device for carrying the service according to the first indication and the identification information of the service. The detection of the path carrying the service by the second network device may be a detection of the path status, such as path fault detection or path quality detection. It can be seen that through this method, the sending network device adds the first indication and the identification information of the service in the sent detection message, so that the receiving network device can accurately determine that the received message is a detection message and perceive the corresponding service information, thereby performing connectivity or quality detection on the path to be detected that carries the service based on the detection message, overcoming the problem that only coarse-grained tunnel-level detection between network devices can be completed at present, resulting in failure to meet demand and waste of network resources, and realizing finer-grained and more accurate service-level detection, providing an accurate basis for service-level path switching, thereby providing a guarantee for the normal and efficient operation of services in the network.
[0008] Among them, the path to be detected can be at least one of the path between the first network device and the second network device for carrying the service and the path between the second network device and the access side network device for carrying the service. Which path is specifically detected and the specific content of the detection can be determined according to the detection information carried in the detection message. When the path to be detected includes both the path between the first network device and the second network device for carrying the service and the path between the second network device and the access side network device for carrying the service, the path to be detected can also be considered to be the path range between the first network device and the access side network device. The detection content for the path to be detected may include the status of objects such as interfaces, links or devices on the path, such as fault status, and may also include the quality status of path transmission data, such as statistics or analysis from aspects such as packet loss, delay, bit error or jitter. The second network device can send the above detection content to the first network device so that the first network device determines the detection result, or it can obtain the detection result locally based on the above detection content.
[0009] The service identification information may be carried in the first IPv6 header or the first IPv6 extension header of the first message. The service identification information may be, for example, a virtual private network segment identifier (VPN SID) corresponding to the second network device.
[0010] The first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message. Various possible implementations of the first message carrying the first indication are exemplarily described below.
[0011] In one possible implementation, the first message may include a first IPv6 header, then the first indication is carried in the next header field in the first IPv6 header, and the implementation may be applicable to the best effort (BE) scenario of SRv6. Alternatively, the first message may also include a first IPv6 extension header, then the first indication is carried in the nextheader field in the first segment routing extension header (SRH) of the first IPv6 extension header, and the implementation may be applicable to the SRv6 policy scenario. For example, the value of the next header field carrying the first indication in the first message is 137, indicating that the first message is a detection message.
[0012] In this implementation, the first IPv6 extension header in the first message may also include a reserved label (alert label) and a control word (control word), and the reserved label and the control word are used to indicate the detection information in the payload (payload) of the first message, and the detection information is used to instruct the second network device to detect the path of the service according to the detection information. Among them, the alert label and the control word are used to indicate the detection information, and it can be determined based on the values of the alert label and the control word that the content carried behind is the detection information, or it can also be determined based on the values of the alert label and the control word that the content carried behind is the detection information and the type of the detection information can be determined. For example, alert label = 13 and the control word can determine that the content carried behind is the detection information and the type of the detection information is bidirectional forwarding detection (bidirectional forwarding detection, BFD) information.
[0013] In another possible implementation, the first message may include a first IPv6 header, and the first indication is carried in a variable (args) field in a first destination address (DA) field of the first IPv6 header, and this implementation may be applicable to SRv6 BE scenarios. Alternatively, the first message may include a first IPv6 extension header, and the first indication is carried in an args field in a first DA field of a first SRH of the first IPv6 extension header, and this implementation may be applicable to SRv6 policy scenarios. For example, the value of args in the DA field carrying the first indication in the first message is not equal to 0 (such as the value of args is equal to 3), indicating that the first message is a detection message.
[0014] In another possible implementation, the first message may include a first IPv6 extension header, and the first indication may be carried in a flags field in the SRH of the first IPv6 extension header. For example, the value of the flags field carrying the first indication in the first message is not equal to 0 (such as a value equal to 1), indicating that the first message is a detection message.
[0015] In another possible implementation, the first message may include a first IPv6 extension header, and the first indication may be carried in a type length value (typelength Value, TLV) field in a hop by hop (HBH) option header of the first IPv6 extension header, or may also be carried in a TLV field in a destination option header (DOH) of the first IPv6 extension header. For example, the HBH option header field in the first message includes a TLV field carrying the first indication, indicating that the first message is a detection message; for another example, the DOH field in the first message includes a TLV field carrying the first indication, indicating that the first message is a detection message.
[0016] In some possible implementations, the method may further include: the first network device sends a second message to the second network device, the second message is a service message for carrying the service, and the second message does not include the first indication. In this way, after receiving the first message and the second message, the second network device can determine whether the message is a detection message or a service message based on the indication carried in the message, and thus perform corresponding processing based on the specific message type.
[0017] As an example, the second message does not include the first indication, which may mean that the second message does not include a field for carrying the first indication. For example, assuming that the HBH option header field in the first message includes a TLV field for carrying the first indication, then the HBH option header of the second message does not include the TLV field for carrying the first indication. For another example, assuming that the DOH field in the first message includes a TLV field for carrying the first indication, then the DOH field of the second message does not include the TLV field for carrying the first indication.
[0018] As another example, the second message does not include the first indication, which may also mean that the second message includes a field that carries the first indication, but the values of the field in the first message and the second message are different, and are used to carry different indications. The value of the field in the first message is used to carry the first indication, and the first indication is used to indicate that the first message is a detection message. The value of the field in the second message is used to carry the second indication, and the second indication is used to indicate that the second message is a service message. In one case, assuming that the second message includes a second IPv6 header, the second indication is carried in the next header field in the second IPv6 header, and the first indication is the first value of the next header field in the first IPv6 header, then the second indication can be the second value of the next header field in the second IPv6 header (the first value is not equal to the second value). Alternatively, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the next header field in the second SRH of the second IPv6 extension header, and the first indication is the first value of the next header field in the first SRH of the first IPv6 extension header, then the second indication can be the second value of the next header field in the second SRH. For example, the value of the next header field carrying the first indication in the first message is 137, indicating that the first message is a detection message; the value of the next header field carrying the second indication in the second message is 143, indicating that the second message is a service message. In another case, assuming that the second message includes a second IPv6 header, the second indication is carried in the args field in the second DA field of the second IPv6 header, and the first indication is the third value of the args field in the first DA field of the first IPv6 header, then the second indication can be the fourth value of the args field in the second DA field (the third value is not equal to the fourth value). Alternatively, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the args field of the second DA field in the second SRH of the second IPv6 extension header, and the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, then the second indication can be the fourth value of the args field in the second DA field in the second SRH. For example, the value of the args field in the DA field carrying the first indication in the first message is 3, indicating that the first message is a detection message; the value of the args field in the DA field carrying the second indication in the second message is 0, indicating that the second message is a service message.In another case, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the flags field in the SRH of the second IPv6 extension header, and the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header. Then, the second indication can be the sixth value of the flags field in the SRH of the second IPv6 extension header (the fifth value is not equal to the sixth value).
[0019] The first indication and service identification information carried in the first message sent by the first network device to the second network device aims, in the first message sending stage, to enable the second network device to detect the path carrying the service based on the first indication and service identification information, but does not restrict whether the second network device actually receives the first message.
[0020] As an example, when there is a fault in the link or device between the first network device and the second network device and the second network device fails, the second network device may not be able to receive the first message, so that the first network device cannot receive the response message sent by the second network device within a preset time, and it can be determined that the path carrying the service is faulty. In this example, due to the unpredictability of the forwarding path state between the first network device and the second network device in the first message sending stage, the second network device is actually unable to receive the first message normally in some possible situations including the fault scenarios listed in this example, but this does not affect the purpose of the first network device in the first message sending stage, which is to enable the second network device to detect the path carrying the service based on the first indication and the identification information of the service.
[0021] As another example, assuming that the second network device receives the first message, the content that the second network device can perceive and detect may include: whether the link or interface of the access side network device on the connection path used by the second network device is faulty. In other possible situations, the second network device can also determine in some way whether the access side network connected to it is faulty, for example, whether the access side network device directly or indirectly connected to it, or the link or port in the access side network is faulty. The access side mentioned here may also be referred to as the user side in some cases. In this example, in one case, the second network device may choose not to respond to the first message when it is determined that the interface or link of the second network device connected to the access side network device is faulty. Then, if the first network device does not receive the response message sent by the second network device within a preset time, it can be determined that the path carrying the service between the first network device and the access side network device is faulty. In another case, the second network device can choose to generate and send a response corresponding to the first message to the first network device. Then, when the first network device receives the response message sent by the second network device, it can determine whether there is a fault in the path carrying the service based on the link status information or interface status information carried in the response message. For example, determine that there is a fault in the path between the second network device and the access side network device for carrying the service.
[0022] As another example, assuming that the second network device receives the first message, the second network device may also detect the path quality of the path used to carry the service, for example, detect the quality data such as packet loss and delay on the path between the first network device and the second network device. In one case, the response message sent by the second network device to the first network device carries corresponding quality feedback data, and the quality feedback data may include the quality data fed back by the second network device and / or the quality feedback data added to the response message by multiple intermediate devices on the path where the second network device sends the response message to the first network device, so that the first network device determines the unidirectional or bidirectional path quality detection result. In another case, the second network device may also directly determine the unidirectional path quality detection result based on the quality data obtained by the detection.
[0023] In some possible implementations, if the first network device determines that the path carrying the service has a fault or the path quality does not meet the requirements, the method may also include: the first network device switches the path used to carry the service to a path including the first network device to the third network device, and after the switching, the third network device carries the service. In this way, through service-level fault detection, it is possible to accurately detect which service path has a fault, so as to switch the path carrying the service, without having to switch the forwarding paths of all services carried on the tunnel due to the execution of tunnel-level switching, which saves network resources to a certain extent.
[0024] In the second aspect, the embodiment of the present application also provides a method for realizing service path detection, which is applied to a second network device. The method may include, for example: the second network device receives a first message sent by the first network device, the first message includes a first indication and identification information of the service, and the first indication is used to indicate that the first message is a detection message; then, the second network device can detect at least one of the paths carrying the service between the first network device and the second network device and the path carrying the service between the second network device and the access side network device according to the first indication and the identification information of the service. It can be seen that through this method, the sending network device adds the first indication and the identification information of the service in the detection message sent, so that the receiving network device can accurately determine that the received message is a detection message and perceive the corresponding service, thereby detecting the connectivity or quality of the path carrying the service based on the detection message, overcoming the problem that the current related technology only supports tunnel-level detection between network devices, the granularity is too coarse to meet the demand and waste network resources, and realizes finer granularity and more accurate service-level detection, providing an accurate basis for service-level switching, thereby providing a guarantee for the normal operation of the service in the network.
[0025] The service identification information may be carried in the first IPv6 header or the first IPv6 extension header of the first message. The service identification information may be, for example, the VPN SID corresponding to the second network device.
[0026] The first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message. Various possible implementations of the first message carrying the first indication are exemplarily described below.
[0027] In a possible implementation, the first message may include a first IPv6 header, and the first indication is carried in the next header field in the first IPv6 header, and the implementation may be applicable to the SRv6 BE scenario. Alternatively, the first message may also include a first IPv6 extension header, and the first indication is carried in the next header field in the first SRH of the first IPv6 extension header, and the implementation may be applicable to the SRv6 policy scenario.
[0028] In this implementation, the first IPv6 extension header in the first message may also include an alert label and a control word, and the reserved label and the control word are used to indicate the detection information in the payload of the first message, and the detection information is used to instruct the second network device to detect the path of the service according to the detection information. Among them, the alert label and the control word are used to indicate the detection information, and it can be determined based on the values of the alert label and the control word that the content carried behind is the detection information, or it can also be determined based on the values of the alert label and the control word that the content carried behind is the detection information and the type of the detection information can be determined. For example, alert label = 13 and the control word can determine that the content carried behind is the detection information and the type of the detection information is BFD information.
[0029] In another possible implementation, the first message may include a first IPv6 header, and the first indication is carried in the args field in the first DA field of the first IPv6 header, and this implementation may be applicable to the SRv6 BE scenario. Alternatively, the first message may include a first IPv6 extension header, and the first indication is carried in the args field in the first DA field of the first SRH of the first IPv6 extension header, and this implementation may be applicable to the SRv6 policy scenario.
[0030] In another possible implementation, the first message may include a first IPv6 extension header, and the first indication may be carried in a flags field in an SRH of the first IPv6 extension header.
[0031] In another possible implementation, the first message may include a first IPv6 extension header, and the first indication may be carried in a TLV field in a HBH option header of the first IPv6 extension header, or may also be carried in a TLV field in a DOH of the first IPv6 extension header.
[0032] In some possible implementations, the method may further include: the second network device receives a second message sent by the first network device, the second message is a service message for carrying the service, and the second message does not include the first indication. In this way, after receiving the first message and the second message, the second network device can determine whether the message is a detection message or a service message based on the indication carried in the message, thereby performing corresponding processing based on the specific message type, making it possible to implement service-level detection.
[0033] Among them, the second message does not include the first indication, which may mean that the second message does not include a field for carrying the first indication, or it may mean that the second message includes a field for carrying the first indication, but the value of the field in the second message is different from the value in the first message, and they are used to carry different indications respectively, the value of the field in the first message is used to carry the first indication, and the first indication is used to indicate that the first message is a detection message, and the value of the field in the second message is used to carry the second indication, and the second indication is used to indicate that the second message is a service message. In one case, assuming that the second message includes a second IPv6 header, the second indication is carried in the next header field in the second IPv6 header, and the first indication is the first value of the next header field in the first IPv6 header, then the second indication can be the second value of the nextheader field in the second IPv6 header (the first value is not equal to the second value). Alternatively, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the next header field in the second SRH of the second IPv6 extension header, and the first indication is the first value of the next header field in the first SRH of the first IPv6 extension header, then the second indication may be the second value of the nextheader field in the second SRH. In another case, assuming that the second message includes a second IPv6 header, the second indication is carried in the args field in the second DA field of the second IPv6 header, and the first indication is the third value of the args field in the first DA field of the first IPv6 header, then the second indication may be the fourth value of the args field in the second DA field (the third value is not equal to the fourth value). Alternatively, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the args field of the second DA field in the second SRH of the second IPv6 extension header, and the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, then the second indication may be the fourth value of the args field in the second DA field in the second SRH. In another case, assuming that the second message includes a second IPv6 extension header, the second indication is carried in the flags field in the SRH of the second IPv6 extension header, and the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header. Then, the second indication can be the sixth value of the flags field in the SRH of the second IPv6 extension header (the fifth value is not equal to the sixth value).
[0034] In a possible implementation, the second network device may detect the path status of the path used to carry the service based on the received first message, and the path status may be, for example, a path failure status or a path quality status. As an example, assuming that the second network device receives the first message, the second network device may detect the path between the second network device and the access side network device used to carry the service based on the first indication and the identification information of the service, or detect the path in the access side network in some way, such as detecting the link connected to the network device in the access side network, or the interface included. In this example, in one case, the second network device may choose not to respond to the first message, and then, if the first network device does not receive the response message sent by the second network device within a preset time, it may determine that the path carrying the service is faulty, for example, the first network device determines that the path between the first network device and the access side network device used to carry the service is faulty. In another case, the second network device may choose to generate and send a response corresponding to the first message to the first network device. Then, when the first network device receives the response message sent by the second network device, it may determine whether there is a fault in the path carrying the service based on the link status information or interface status information carried in the response message. For example, the first network device may determine, based on the response message, that there is a fault in the path between the second network device and the access-side network device for carrying the service.
[0035] As another example, the second network device may also detect the path quality of the path used to carry the service based on the received first message, for example, detecting the quality data such as packet loss and delay on the path between the first network device and the second network device. In one case, the second network device may carry the corresponding quality feedback data in the response message sent to the first network device, so that the first network device determines the bidirectional path quality detection result. In another case, the second network device may also directly determine the unidirectional path quality detection result based on the quality data obtained by the detection.
[0036] In some possible implementations, the second network device in the method detects the path carrying the service according to the first indication and the identification information of the service, for example, it may include: the second network device determines that the first message is a detection message, and determines that the local supports detection according to the first indication, then, according to the local detection strategy, the path carrying the service is detected. Wherein, according to the local fault detection strategy, it may refer to sending the first message to the corresponding detection process, and performing fault detection in the corresponding detection process. For example, assuming that the first message is a BFD detection message, then, when the second network device determines that the BFD detection message is supported locally, the service-related content and detection information in the BFD detection message are sent to the local BFD process, so as to use the BFD process to perform corresponding fault detection. Wherein, local support for detection according to the first indication may refer to the local configuration of the network device enabling the detection function indicated by the first indication. It should be noted that sending the first message to the corresponding detection process, for example, may be sending the service-related content and detection information remaining after removing the tunnel information in the first message (such as the SRH in the first message) to the corresponding detection process.
[0037] In the methods provided in the first and second aspects above, the first network device may be an ingress PE device that carries the service, and the second network device may be an egress PE device that carries the service. Alternatively, the first network device may be other types of network devices that can initiate the detection methods described in the first and second aspects above in the network, and the second network device may be other possible types of devices that can respond to received detection messages and perform corresponding path detection.
[0038] In the methods provided in the first aspect and the second aspect, the service carried between the first network device and the second network device may be a layer 2 virtual private network (L2VPN) service, and L2VPN may include services carried by traditional VPN technology or Ethernet virtual private network (EVPN) technology. Whether it is a traditional VPN service or an EVPN service, a virtual leased line (VLL) service model or a virtual private LAN service (VPLS) service model may be used for network deployment.
[0039] In the methods provided in the first and second aspects above, the first message may be a BFD message, or may be an operation administration and maintenance (OAM) message. Different service path detection functions may be implemented according to different types of the first message, for example, service path fault detection or service path quality detection, wherein the service path quality detection may detect indicators such as delay, packet loss or jitter.
[0040] In the case where the first message is a BFD message, according to the above method, not only can the connectivity of the path carrying the service between the first network device and the second network device be detected, but also the connectivity of the path carrying the service between the second network device and the access side network device can be detected, so that the first network device can know the connectivity of the path from the first network device to the access side network device used to carry the service, rather than just the connectivity of the tunnel path between the first network device and the second network device, thereby achieving the effect of service-level connectivity detection.
[0041] In the case where the first message is an OAM message, the path status detected according to the above method may include the connectivity of the path and the quality of the path. In one possible scenario, the OAM message to implement path quality detection may include: the first network device sends an OAM message to the second network device, informing the first network device of the statistical information of the sent data (such as the number of data packets sent, timestamp, etc.), the second network device may determine the service to be detected based on the service identification information carried in the OAM message, and obtain the statistical results of the corresponding received data received for the service to be detected, and obtain the path quality detection result corresponding to the path carrying the service to be detected by processing the statistical information. Optionally, the second network device may also generate and send an OAM message carrying the detection result to the first network device to notify the first network device of the path quality of the service to be detected. Alternatively, in another possible scenario, the OAM message implementing path quality detection may include: the first network device sends an OAM message to the second network device to inform the first network device of the statistical information of the data sent, the second network device may determine the service to be detected based on the service identification information carried in the OAM message, and obtain the statistical results of the received data corresponding to the service to be detected, and carry the statistical results in the generated OAM message and send it to the first network device, so as to instruct the first network device to process the statistical results in the received OAM message and obtain the detection results of the path carrying the service to be detected, thereby determining the path quality carrying the service to be detected. In addition, as a detection message, the OAM message can, on the one hand, detect the path quality of the path carrying the service between the first network device and the second network device, and on the other hand, it can also detect the connectivity of the path carrying the service.
[0042] In a third aspect, an embodiment of the present application further provides a device for implementing service path detection, which is applied to a first network device, and the device is applied to a network supporting SRv6. The device may include: a generating unit and a sending unit. Among them, the generating unit is used to generate a first message based on the sixth version of the Internet Protocol IPv6, and the first message includes a first indication and identification information of the service, and the first indication is used to indicate that the first message is a detection message. The sending unit is used to send the first message to a second network device to instruct the second network device that receives the first message to detect at least one of the paths that carry the service between the first network device and the second network device and the path that carries the service between the second network device and the access side network device according to the first indication and the identification information of the service.
[0043] The identification information of the service may be carried in a first IPv6 header or a first IPv6 extension header of the first message, and the first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message.
[0044] As an example, the first message includes the first IPv6 header, and the first indication is carried in a next header field in the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in a next header field in a first segment routing extension header SRH of the first IPv6 extension header. The first IPv6 extension header of the first message also includes a reservation label and a control word, and the reservation label and the control word are used to indicate detection information in a payload of the first message, and the detection information is used to instruct the second network device to detect the path of the service according to the detection information.
[0045] As another example, the first message includes the first IPv6 header, and the first indication is carried in the variable args field in the first destination address DA field of the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in the args field in the first DA field of the first SRH of the first IPv6 extension header.
[0046] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in a flags field in the SRH of the first IPv6 extension header.
[0047] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in the type-length-value TLV field in the hop-by-hop HBH option header of the first IPv6 extension header, or is carried in the TLV field in the destination address option header DOH of the first IPv6 extension header.
[0048] In some possible implementations, the sending unit is further configured to send a second message to the second network device, the second message being a service message for carrying the service, and the second message not including the first indication. The second message may also include a second indication, the second indication being used to indicate that the second message is a service message, and the second indication is different from the first indication.
[0049] The second indication is different from the first indication and may include: the second message includes a second IPv6 header, the second indication is carried in a next header field in the second IPv6 header, the first indication is a first value of the next header field in the first IPv6 header, and the second indication is a second value of the next header field in the second IPv6 header; or, the second message includes a second IPv6 extension header, the second indication is carried in a next header field in a second SRH of the second IPv6 extension header, the first indication is a first value of the next header field in a first SRH of the first IPv6 extension header, and the second indication is a next header field in the second SRH. header field; or, the second message includes a second IPv6 header, the second indication is carried by the args field in the second DA field of the second IPv6 header, the first indication is the third value of the args field in the first DA field of the first IPv6 header, and the second indication is the fourth value of the args field in the second DA field; or, the second message includes a second IPv6 extension header, the second indication is carried by the args field of the second DA field in the second SRH of the second IPv6 extension header, the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, and the second indication is the fourth value of the args field in the second DA field in the second SRH; or, the second message includes a second IPv6 extension header, the second indication is carried by the flags field in the SRH of the second IPv6 extension header, the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header, and the second indication is the sixth value of the flags field in the SRH of the second IPv6 extension header.
[0050] In some possible implementations, the device may further include a determination unit. The determination unit is configured to determine that a path between the first network device and the access side network device for carrying the service is faulty if no response message from the second network device to the first message is received within a preset time.
[0051] In some possible implementations, the device may further include a receiving unit and a determining unit. The receiving unit is configured to receive a response message from the second network device to the first message; and the determining unit is configured to determine, based on the response message, a path state of a path between the second network device and the access side network device for carrying the service.
[0052] In some possible implementations, the device may further include a switching unit. The switching unit is configured to switch the path used to carry the service to a path including the first network device to the third network device when it is determined that the path used to carry the service has a fault or does not meet the path quality requirement according to the path status, and the third network device carries the service after the switching.
[0053] The device for implementing service path detection provided in the third aspect is used to perform the relevant operations mentioned in the first aspect above. Its specific implementation method and the effects achieved can all be found in the relevant description of the first aspect above, and will not be repeated here.
[0054] In a fourth aspect, an embodiment of the present application further provides a device for implementing service path detection, which is applied to a second network device, and the device is applied to a network supporting SRv6. The device may include: a receiving unit and a detection unit. Among them, the receiving unit is used to receive a first message sent by a first network device, the first message includes a first indication and identification information of the service, and the first indication is used to indicate that the first message is a detection message. The detection unit is used to detect at least one of the paths carrying the service between the first network device and the second network device and the path carrying the service between the second network device and the access side network device according to the first indication and the identification information of the service.
[0055] The identification information of the service may be carried in a first IPv6 header or a first IPv6 extension header of the first message, and the first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message.
[0056] As an example, the first message includes a first IPv6 header, and the first indication is carried in a next header field in the first IPv6 header; or, the first message includes a first IPv6 extension header, and the first indication is carried in a next header field in a first segment routing extension header SRH of the first IPv6 extension header. The first IPv6 extension header of the first message also includes a reservation label and a control word, and the reservation label and the control word are used to indicate detection information in a payload of the first message, and the detection information is used to instruct the second network device to detect the path carrying the service according to the detection information.
[0057] As another example, the first message includes the first IPv6 header, and the first indication is carried in the variable args field in the first destination address DA field of the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in the args field in the first DA field of the first SRH of the first IPv6 extension header.
[0058] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in a flags field in the SRH of the first IPv6 extension header.
[0059] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in the type-length-value TLV field in the hop-by-hop HBH option header of the first IPv6 extension header, or is carried in the TLV field in the destination address option header DOH of the first IPv6 extension header.
[0060] In some possible implementations, the receiving unit is further configured to receive a second message sent by the first network device, the second message being a service message for carrying the service, and the second message not including the first indication. The second message may also include a second indication, the second indication being used to indicate that the second message is a service message, and the second indication is different from the first indication.
[0061] The second indication is different from the first indication and may include: the second message includes a second IPv6 header, the second indication is carried in a next header field in the second IPv6 header, the first indication is a first value of the next header field in the first IPv6 header, and the second indication is a second value of the next header field in the second IPv6 header; or, the second message includes a second IPv6 extension header, the second indication is carried in a next header field in a second SRH of the second IPv6 extension header, the first indication is a first value of the next header field in a first SRH of the first IPv6 extension header, and the second indication is a next header field in the second SRH. header field; or, the second message includes a second IPv6 header, the second indication is carried by the args field in the second DA field of the second IPv6 header, the first indication is the third value of the args field in the first DA field of the first IPv6 header, and the second indication is the fourth value of the args field in the second DA field; or, the second message includes a second IPv6 extension header, the second indication is carried by the args field of the second DA field in the second SRH of the second IPv6 extension header, the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, and the second indication is the fourth value of the args field in the second DA field in the second SRH; or, the second message includes a second IPv6 extension header, the second indication is carried by the flags field in the SRH of the second IPv6 extension header, the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header, and the second indication is the sixth value of the flags field in the SRH of the second IPv6 extension header.
[0062] In some possible implementations, the apparatus may further include a sending unit. The sending unit is configured to send a response message to the first network device, so that the first network device determines, based on the response message, that a path between the second network device and the access side network device that carries the service has a fault. The response message sent by the second network device may include interface status information of the second network device, and the interface status information is used to indicate that the first network device determines that a path between the second network device and the access side network device that carries the service has a fault.
[0063] In some possible implementations, the detection unit may be specifically configured to: determine that the first message is a detection message, and determine that local support is provided for detection according to the first indication, and then detect the path carrying the service according to a local detection strategy.
[0064] The device for implementing service path detection provided in the fourth aspect is used to perform the relevant operations mentioned in the second aspect above. Its specific implementation method and the effect achieved can be found in the relevant description of the second aspect above, and will not be repeated here.
[0065] In the devices provided in the third and fourth aspects above, the device for implementing service path detection applied to the first network device may be an ingress PE device carrying the service, and the device for implementing service path detection applied to the second network device may be an egress PE device carrying the service.
[0066] In the devices provided in the third and fourth aspects above, the services carried between the devices for implementing service path detection may be L2VPN services, and L2VPN may include services carried by traditional VPN technology or EVPN technology. Whether it is traditional VPN service or EVPN service, a VLL service model or a VPLS service model may be used for network deployment.
[0067] In the apparatus provided in the third aspect and the fourth aspect above, the first message may be a BFD message, or may also be an OAM message.
[0068] In a fifth aspect, the present application also provides a network device, the network device comprising: a processor, used to enable the network device to implement the method provided in the first aspect or the second aspect above. The network device may also include a memory, the memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the network device may implement the method provided in the first aspect or the second aspect above. The network device may also include a communication interface, the communication interface is used for the network device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface. In the present application, the instructions in the memory may be pre-stored, or they may be downloaded from the Internet and stored when the network device is used. The present application does not specifically limit the source of the instructions in the memory.
[0069] In a sixth aspect, the present application also provides a network system, comprising a first network device and a second network device, wherein: the first network device is used to execute the method provided in the first aspect; the second network device is used to execute the method provided in the second aspect.
[0070] In the seventh aspect, the present application provides a chip including a processor and an interface circuit; the interface circuit is used to receive instructions and transmit them to the processor; the processor is used to execute instructions corresponding to the method provided in the first aspect or the second aspect.
[0071] In an eighth aspect, the present application provides a computer-readable storage medium, which stores program code or instructions, and when the computer-readable storage medium is run on a computer, enables the computer to execute the method provided in the first or second aspect above.
[0072] In a ninth aspect, the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the method provided in the first or second aspect above. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0074] Figure 1 This is a schematic diagram of the structure of a network system 10 in an embodiment of the present application;
[0075] Figure 2 This is a flow chart of a method 100 for implementing service path detection in an embodiment of the present application;
[0076] Figure 3a This is a schematic diagram of the format of a message 1 in an embodiment of the present application;
[0077] Figure 3b This is a schematic diagram of the format of another message 1 in an embodiment of the present application;
[0078] Figure 3c In the embodiments of this application Figure 3a The corresponding format diagram of message 2;
[0079] Figure 3d In the embodiments of this application Figure 3b The corresponding format diagram of message 2;
[0080] Figure 4a This is a schematic diagram of the format of a message 1 in an embodiment of the present application;
[0081] Figure 4b This is a schematic diagram of the format of another message 1 in an embodiment of the present application;
[0082] Figure 4c In the embodiments of this application Figure 4a The corresponding format diagram of message 2;
[0083] Figure 4d In the embodiments of this application Figure 4b The corresponding format diagram of message 2;
[0084] Figure 5a This is a schematic diagram of the format of a message 1 in an embodiment of the present application;
[0085] Figure 5b In the embodiments of this application Figure 5a The corresponding format diagram of message 2;
[0086] Figure 6a This is a schematic diagram of the format of a message 1 in an embodiment of the present application;
[0087] Figure 6b This is a schematic diagram of the format of another message 1 in an embodiment of the present application;
[0088] Figure 6c In the embodiments of this application Figure 6a The corresponding format diagram of message 2;
[0089] Figure 6d In the embodiments of this application Figure 6b The corresponding format diagram of message 2;
[0090] Figure 7 Schematic diagram of the structure of a device 700 for implementing service path detection in an embodiment of the present application;
[0091] Figure 8 This is a schematic diagram of the structure of a device 800 for implementing service path detection in an embodiment of the present application;
[0092] Fig. 9 This is a schematic diagram of the structure of a network device 900 according to an embodiment of the present application;
[0093] Fig.10 This is a schematic diagram of the structure of a network device 1000 in an embodiment of the present application;
[0094] Fig.11 11 is a schematic diagram of the structure of a network system 1100 in an embodiment of the present application. DETAILED DESCRIPTION
[0095] Currently, in SRv6 networks, only tunnel-level fault detection can be performed, and therefore, tunnel-level switching can only be performed when a tunnel fault is detected. Figure 1The network system 10 shown may include a PE device 11, a PE device 12, a PE device 13, a customer edge (CE) device 21, a CE device 22, a provider (P) device 31, a P device 32, and a P device 33, wherein the PE device 11 is connected to the CE device 21, the PE device 11 is connected to the PE device 12 through the P device 31, the PE device 11 is connected to the PE device 13 through the P device 32 and the P device 33 respectively, and the PE device 12 and the PE device 13 are connected to the CE device 22. Assume that there is a tunnel 1 between the PE device 11 and the PE device 12, and there is a tunnel 2 between the PE device 11 and the PE device 13, and the tunnel 1 carries services 1 and 2. The PE device 11 can detect that the tunnel 1 fails through the tunnel detection message, so that the services 1 and 2 carried on the tunnel 1 are switched to the tunnel 2, that is, after the switch, the traffic of the services 1 and 2 are sent to the CE device 22 through the PE device 13.
[0096] However, the fault detection granularity of the tunnel level is too coarse. Once the fault is caused by a certain service, and other services carried on the tunnel can run normally, then the fault detection method cannot accurately detect the service with path failure, nor can it accurately switch the forwarding path of the failed service. Instead, it can only perform tunnel-level path switching, which causes the user-side PE device to switch the path of all services carried on the tunnel, that is, the bearer path of the service running normally on the tunnel will also be switched, wasting network resources. Moreover, in other path detection scenarios, it is also necessary to perform service-level detection of path quality to understand the path quality of the path carrying the service, so as to provide better service.
[0097] Based on this, an embodiment of the present application provides a method for implementing service path detection, wherein a first network device can generate and send a first message including a first indication and service identification information based on the sixth version of the Internet Protocol (internet protocol version 6, IPv6) to a second network device, wherein the first indication is used to indicate that the first message is a detection message, and the service identification information is used to indicate the service; in this way, the second network device that receives the first message can determine that the first message is a detection message according to the first indication in the first message, and determine to detect the path carrying the service according to the identification information of the service in the first message, for example, to perform fault detection and / or quality detection on the path carrying the service. It can be seen that through the method provided in the embodiment of the present application, the sending network device adds instructions and identification information of the service in the sent detection message, so that the receiving network device can accurately determine that the received message is a detection message and perceive the corresponding service, thereby detecting the path carrying the service based on the detection message, overcoming the problem that only tunnel-level detection can be achieved between network devices at present, the granularity is too coarse to meet the needs and waste network resources, and also meets the needs of service-level detection of path quality, and realizes finer-grained and more accurate service-level path detection, which provides an accurate basis for service-level path switching, thereby providing a guarantee for the normal operation of services in the network.
[0098] Still Figure 1Taking the network system 10 shown as an example, the path detection process provided in the embodiment of the present application may include, for example: S11, the PE device 11 generates a message 41 based on IPv6, and the message 41 includes an indication 51 and identification information of service 1, the indication 51 is used to indicate that the message 41 is a detection message, and the identification information of service 1 can be used to identify service 1, then, the message 41 is used to instruct the receiving device to detect the path carrying service 1; S12, the PE device 11 sends the message 41 to the PE device 12 through the P device 31; S13, after receiving the message 41, the PE device 12 can determine that the received message is a detection message based on the indication 51, and detect the path carrying the service 1 according to the identification information of service 1 in the message 41; at this time, in one case, the following S14a~S15a can be executed, and in another case, the following S14b~S15b can be executed. S14a, PE device 12 determines that there is a fault in the path carrying the service 1, and does not respond to the message 41; S15a, PE device 11 does not receive a response message to message 41 within a preset time (such as 1 second), and determines that there is a fault in the path carrying service 1 between PE device 11 and CE device 22. S14b, PE device 12 determines the state of the path carrying the service 1, and sends a response message to message 41 to PE device 11, and the response message may include the determined state of the path carrying the service 1, wherein the path state may include the path quality and / or path connectivity of the path carrying service 1 between PE device 12 and access side network device (such as CE device 22), and the path state may also include the path quality and / or path connectivity of the path carrying service 1 between PE device 11 and PE device 12; S15b, PE device 11 determines the path state of the path carrying service 1 between PE device 11 and CE device 22 according to the response message. Then, the following S16 may be executed, that is, when the PE device 11 determines according to S15a that there is a fault in the path carrying service 1 between the PE device 11 and the CE device 22, or determines according to S51b that the path status indicates that there is a fault in the path carrying service 1 between the PE device 11 and the CE device 22 or the path carrying service 1 between the PE device 11 and the CE device 22 does not meet the path quality requirement, service 1 is switched to the path including the PE device 13. After the switching, service 1 is carried by the PE device 13, and service 2 is still carried by the PE device 12. In this way, more refined path detection and switching are achieved, making resource utilization more reasonable.
[0099] In one case, if the path carrying the service between the PE device 11 and the PE device 12 is reachable, and the PE device 12 can receive the detection message sent by the PE device 11, then the PE device 12 can carry the acquired path state of the path carrying the service 1 in the response message and send it to the PE device 11. The path state carried in the response message may include the path quality or path connectivity related information between the PE device 12 and the access side network device (such as the CE device 22) obtained by the PE device 12, so that the PE device 11 can perceive whether there is a fault in the path range from the PE device 12 to the access side network device or whether the path quality meets the requirements based on the response message. In another case, when there is a fault in the link or device between the PE device 11 and the PE device 12 and the PE device 12 fails, the PE device 12 may not receive the message 41, so that the PE device 11 can determine that the path carrying the service 1 between the PE device 11 and the CE device 22 is faulty according to the fact that the response message sent by the PE device 12 cannot be received within the preset time. In another situation, when PE device 12 determines that there is a fault in the path carrying service 1 between PE device 11 and PE device 12, it may also actively send a message to PE device 11 through a backup path to inform PE device 11 that there is a fault in the path carrying service 1, or inform PE device 11 that the quality of the path carrying service 1 does not meet the requirements, or inform PE device 11 of the status of relevant interfaces, devices or links on the path carrying service 1, so that PE device 11 determines whether there is a fault in the path carrying service or does not meet the path quality requirements based on the status information received from PE device 12.
[0100] exist Figure 1 In the network system 10 shown, PE devices may be directly connected to each other; PE devices may also be indirectly connected to each other via one or more forwarding devices, wherein the forwarding devices include but are not limited to P devices.
[0101] It should be noted that the network device in the embodiments of the present application may refer to devices such as routers, switches, forwarders, firewalls, etc. that can carry services.
[0102] It should be noted that the methods provided in the embodiments of the present application can be applied to SRv6 networks, or other required application scenarios, such as other derivative networks that support the operation of the IPv6 protocol.
[0103] It should be noted that the services mentioned in the various embodiments of the present application may be layer 2 virtual private network (L2VPN) services. L2VPN may, for example, include services carried by traditional VPN technology or Ethernet virtual private network (EVPN) technology. In L2VPN, whether it is traditional VPN service or EVPN service, the network deployment may be carried out using the virtual leased line (VLL) service model or the virtual private LAN service (VPLS) service model. Among them, VLL is used to support point-to-point services, and VPLS is used to support point-to-multipoint services or multipoint-to-multipoint services. Figure 1 As an example, if the network system 10 shown in FIG. Figure 1 The network system 10 shown is a traditional VPN network. Therefore, whether it is a VLL service model or a VPLS service model, the connection between the PE device 11 and the PE device 12, and the connection between the PE device 11 and the PE device 13 can be called a pseudo wire (PW); if Figure 1 The network system 10 shown is an EVPN network. Then, for the VLL service model, the connection between the PE device 11 and the PE device 12, and the connection between the PE device 11 and the PE device 13 can be called a virtual private wire service (VPWS) neighbor. The service types carried by the traditional VPN and the EVPN network can be the same, wherein the EVPN network can be implemented through the border gateway protocol (BGP), and the traditional VPN network can be implemented through at least one of multiple protocols such as the label distribution protocol (LDP) and BGP.
[0104] It should be noted that the detection messages mentioned in the embodiments of the present application can be used to detect the connectivity of the path carrying the service or the quality of the path carrying the service (such as indicators such as delay and packet loss on the path). The detection message can be, for example, a bidirectional forwarding detection (BFD) message or an operation administration and maintenance (OAM) message. For the case where the detection message is a BFD message, the method provided in the embodiment of the present application can, for example, support static BFD detection, dynamic BFD detection or seamless bidirectional forwarding detection (SBFD) detection. The detected path status of the service carrying service can refer to the connectivity or path quality of the path. For the case where the detection message is an OAM message, the method provided in the embodiment of the present application can, for example, support connectivity fault management (CFM) detection and Y.1731 detection. The specific type of the detection message and the supported detection type do not affect the implementation of the embodiment of the present application.
[0105] To facilitate understanding of the network fault detection method provided in the embodiment of the present application, the method will be described below with reference to the accompanying drawings.
[0106] Figure 2 The present invention provides a flow chart of a method 100 for implementing service path detection. The method 100 can be applied to a network scenario including a first network device and a second network device. As an example, the first network device can be a tunnel entrance PE device carrying a target service to be detected, and the second network device can be a tunnel exit PE device carrying the target service. For ease of understanding, Figure 1 Taking the structure of the network system 10 as an example, the description is made through the interaction between the PE device 11 and the PE device 12, and the target service to be detected is the service 1 carried by the PE device 11 and the PE device 12. In specific implementation, the method 100 may include the following S101 to S104:
[0107] S101, the PE device 11 generates a message 41 based on IPv6, and the message 41 includes an indication 51 and identification information of a service 1, and the indication 51 is used to indicate that the message 41 is a detection message.
[0108] In specific implementation, in the SRv6 network, the PE device 11 can encapsulate the detection message through IPv6 to obtain the message 41, which can also be called the detection message based on IPv6 encapsulation. For example, assuming that the detection message is a BFD message, then the message 41 in S101 can be called a BFD message based on IPv6 encapsulation, and the BFD message before encapsulation corresponds to the detection information in the message 41 after encapsulation.
[0109] The identification information of service 1 may be carried in the IPv6 header 1 of the message 41 or in the IPv6 extension header 1' to identify the service 1. For example, the identification information of service 1 may be a VPN SID allocated by the PE device 12 to identify the service.
[0110] The indication 51 may be carried in the IPv6 header 1 of the message 41, or the indication 51 may be carried in the IPv6 extension header 1'. The following is an exemplary description of the position where the indication 51 is carried in the message 41 in various situations.
[0111] As an example, for the best effort (BE) scenario of SRv6, the indication 51 can be carried in the next header field of the IPv6 header 1, for example, the next header field of the IPv6 header 1 in the message 41 = 137, which is used to indicate that the message 41 is a detection message. In this example, the message 41 can also include an IPv6 extension header 1', and the IPv6 extension header 1' can include a reservation label (alert label) and a control word, wherein the alert label and the control word are used to indicate that the payload portion of the message 41 carries detection information, and the detection information is used to instruct the PE device 12 to perform fault detection or quality detection on the path carrying the service 1 according to the detection information. Among them, the alert label and the control word are used to indicate detection information. It can be determined that the content carried later is detection information based on the values of the alert label and the control word, or it can be determined that the content carried later is detection information based on the values of the alert label and the control word and the type of the detection information can be determined. For example, alert label = 13 and control word, it can be determined that the content carried later is detection information and the type of the detection information is BFD information. In addition, indication 51 can also be considered to be carried in the next header field of the IPv6 header 1 and the alert label and control word in the IPv6 extension header 1'. The next header field of the IPv6 header 1, the alert label in the IPv6 extension header 1' and the control word in the IPv6 extension header 1' together indicate that the message 41 is a detection message. For a format diagram of message 41, see Figure 3a As shown, the message 41 may include an IPv6 header 1 and an IPv6 extension header 1', wherein the IPv6 header 1 may include a source address (SA) field, a destination address (DA) field and a next header field, the value of the SA field is the address of the PE device 11, for example, equal to the loopback address 1::1 of the PE device 11, the value of the DA field is the VPN segment identifier (SID) of the PE device 12, for example, equal to End.DX2 A3::1500:0 of the PE device 12, and the value of the next header field may be 137; the IPv6 extension header 1' may include an alert label and a control word, and the payload of the message 41 may include an Internet protocol (IP), a user datagram protocol (UDP) and detection information, wherein the alert label = 13, and the detection information is BFD information.
[0112] As another example, for the SRv6 policy scenario, indication 51 may be carried in the next header field in the segment routing header (SRH) of the IPv6 extension header 1. For example, the next header field of the IPv6 extension header 1' in message 41 = 137, which is used to indicate that message 41 is a detection message. In this example, the IPv6 extension header 1' may also include an alert label, a control word, and detection information, wherein the alert label and the control word are used to indicate the detection information in the payload of message 41, and the detection information is used to instruct the PE device 12 to perform fault detection on the path carrying service 1 based on the detection information. In addition, indication 51 may also be considered to be carried in the next header field, the alert label, and the control word in the SRH in the IPv6 extension header 1', which together indicate that message 41 is a detection message. For a schematic diagram of the format of message 41, see Figure 3b As shown, the message 41 may include an IPv6 header 1 and an IPv6 extension header 1', wherein the IPv6 header 1 may include an SA field and a DA field; the IPv6 extension header 1' may include a next header field, an alert label and a control word, and the payload of the message 41 may include IP, UDP and detection information, wherein the next header field has an =137, an alert label =13, and the detection information is BFD information.
[0113] As another example, for the SRv6 BE scenario, the indication 51 may be carried in the DA field of the IPv6 header 1, for example, in the variable (args) of the DA field of the IPv6 header 1, such as args=3 of the DA field of the IPv6 header 1 in the message 41, indicating that the message 41 is a detection message. In this example, the payload of the message 41 may include detection information. For a schematic diagram of the format of the message 41, see Figure 4a As shown, the message 41 may include an IPv6 header 1 and a payload, wherein the IPv6 header 1 may include an SA field and a DA field, the value of the SA field is the address of the PE device 11, for example, equal to the loopback address 1::1 of the PE device 11, and the value of the DA field is the VPN SID of the PE device 12, exemplarily End.DX2 A3::1500:3 (i.e., args=3 in the DA field); the payload includes detection information, wherein the detection information may be BFD information. In other possible ways, args in the VPN SID may also be set to other values, such as other non-zero positive integers.
[0114] As another example, for the SRv6 policy scenario, the indication 51 may be carried in the DA field in the SRH of the IPv6 extension header 1', for example, it may be carried in the args of the DA field of the IPv6 extension header 1', for example, args=3 in the DA field of the IPv6 extension header 1' in the message 41, indicating that the message 41 is a detection message. In this example, the payload of the message 41 may include detection information. For a schematic diagram of the format of the message 41, see Figure 4b As shown, the message 41 may include an IPv6 header 1, an IPv6 extension header 1' and a payload, wherein the IPv6 header 1 may include an SA field and a DA field, the value of the SA field is the address of the PE device 11, for example, equal to the loopback address 1::1 of the PE device 11, and the value of the DA field is the VPN SID of the PE device 12, for example, equal to End.DX2 A3::1500:3 of the PE device 12; the IPv6 extension header 1' may include an SRH, and the payload may include IP, UDP and detection information, wherein the args of the DA field in the SRH is 3, and the detection information may be BFD information.
[0115] As another example, the indication 51 may be carried in the flags field in the SRH of the IPv6 extension header 1'. For example, a flag=1 in the SRH of the IPv6 extension header 1' in the message 41 indicates that the message 41 is a detection message. The flag carrying the indication 51 may be any bit in the undefined flags field, or the occupied O-flag bit in the flags may be reused. In this example, the payload of the message 41 may include detection information. For a schematic diagram of the format of the message 41, see Figure 5a As shown, the message 41 may include an IPv6 header 1, an IPv6 extension header 1' and a payload, wherein the IPv6 header 1 may include an SA field and a DA field; the IPv6 extension header 1' may include an SRH, and the payload may include IP, UDP and detection information, wherein the value of a bit in the flags of the SRH may be 1, and the detection information may be BFD information.
[0116] As another example, in one case, the indication 51 may be carried in the type length value (TLV) field in the hop by hop (HBH) option header of the IPv6 extension header 1', and the HBH option header in the IPv6 extension header 1' includes the TLV field, which is used to indicate that the message 41 is a detection message. The payload of the message 41 may include detection information. For a schematic diagram of the format of the message 41, see Figure 6a As shown, the message 41 may include an IPv6 header 1, an IPv6 extension header 1' and a payload, wherein the IPv6 header 1 may include an SA field and a DA field; the IPv6 extension header 1' may include an HBH option header, and the payload may include IP, UDP and detection information, wherein the HBH option header includes a TLV field, and the detection information may be BFD information. In another case, the indication 51 may also be carried in the TLV field in the destination option header (DOH) of the IPv6 extension header 1', and the DOH in the IPv6 extension header 1' includes the TLV field to indicate that the message 41 is a detection message. The payload of the message 41 may include detection information. For a schematic diagram of the format of the message 41, see Figure 6b As shown, the message 41 may include an IPv6 header 1, an IPv6 extension header 1' and a payload, wherein the IPv6 header 1 may include an SA field and a DA field; the IPv6 extension header 1' may include a DOH, and the payload may include IP, UDP and detection information, wherein the DOH includes a TLV field, and the detection information may be BFD information.
[0117] In the above examples, the message 41 is taken as a BFD message for illustration. If the message 41 is an OAM message, the manner of carrying the indication 51 and the identification information of the service 1 can refer to the implementation of the above examples. At this time, the detection information in the payload of the message 41 can be OAM information, and the OAM information can include, for example, the number of data packets sent by the PE device 11 to the PE device 12, the timestamp, etc.
[0118] It should be noted that the above-mentioned various ways of carrying the indication 51 in the message 41 are all exemplary, and any other possible way may be used to carry the indication 51 in the message 41.
[0119] S102 , PE device 11 sends message 41 to PE device 12 .
[0120] In some possible implementations, if the link or device through which the PE device 11 sends the message 41 to the PE device 12 fails, resulting in the failure of the message 41 to be successfully sent to the PE device 12, then the PE device 12 cannot receive the message 41 sent by the PE device 11, and thus, the PE device 11 cannot receive the response message sent by the PE device 12 within the preset time, and it can be determined that the path between the PE device 11 and the CE device 22 that carries the service 1 is faulty. The fault content corresponding to the failure of the PE device 12 to successfully receive the message 41 may include: a link failure between the PE device 11 and the P device 31, a link failure between the P device 31 and the PE device 12, a P device 31 failure, or a PE device 12 failure.
[0121] In some other possible implementations, the PE device 12 can successfully receive the message 41, that is, the method 100 further includes S103 to S104 after S102, and then the detection can be implemented based on the method 100. For related implementations, see the following description.
[0122] S103 , the PE device 12 receives the message 41 sent by the PE device 11 .
[0123] In specific implementation, when there is a need to detect the path carrying service 1, S102 and S103 can be executed to implement corresponding detection; or, the path carrying service can be periodically detected, that is, S102~S103 are executed in each cycle to implement corresponding detection, wherein the detection cycle can be flexibly set according to actual needs.
[0124] S104 , the PE device 12 detects at least one of a path carrying service 1 between the PE device 11 and the PE device 12 and a path carrying service 1 between the PE device 12 and the CE device 22 according to the indication 51 and the identification information of the service 1 .
[0125] In specific implementation, after receiving the message 41, the PE device 12 can detect the path for carrying service 1 according to the indication 51 in the message 41 and the identification information of service 1. On the one hand, the PE device 12 can detect the path for carrying service 1 between the PE device 11 and the PE device 12, for example, detecting whether the link between the PE device 12 and the P device 31 is faulty, or detecting whether the interface on the PE device 12 for connecting to the P device 31 is faulty; on the other hand, the PE device 12 can also detect the path for carrying service 1 between the PE device 12 and the access side network device (such as the CE device 22), for example, detecting whether the link between the PE device 12 and the CE device 22 is faulty, or detecting whether the interface on the PE device 12 for connecting to the CE device 22 is faulty.
[0126] If PE device 12 detects that there is no fault on the path carrying service 1 or the path quality meets the requirement, it may reply a response message to PE device 11, where the response message is used to inform PE device 11 that the path carrying service 1 is normal.
[0127] If PE device 12 detects that the path carrying service 1 has a fault or the path quality does not meet the requirement, PE device 12 may not respond to message 41, or PE device 12 may send a response message to PE device 11 to notify the fault or the path quality does not meet the requirement.
[0128] As an example, when PE device 12 determines that there is a fault in the path carrying service 1 or the path quality does not meet the requirements, for example, PE device 12 perceives a fault in the local interface for connecting to CE device 22, a fault in the link connecting PE device 12 to CE device 22, or a path quality of PE device 12 connecting to PE device 11 does not meet the requirements (such as a delay exceeding a preset delay threshold), after S104, the method may also include: PE device 12 sends a response message to PE device 11; after PE device 11 receives the response message, it can determine the path carrying service 1 between PE device 11 and PE device 12 and the path status of at least one path in the path carrying service 1 between PE device 12 and CE device 22 according to the response message, and the path status includes the connectivity and / or path quality of the corresponding path. The response message may include but is not limited to: local status information of PE device 12, status information of the link between PE device 12 and the access side network device, and status information of the interface of PE device 12 connecting to the access side network device. In addition, the response message may also include: the status information of the path between the PE device 12 and the PE device 11 and the status information of the interface of the PE device 12 connected to the network side network device. The PE device 11 can determine the path quality and path connectivity of the bearer service 1 based on the response message. In addition, the PE device 11 can also more accurately determine the status of each path segment on the path of the bearer service 1 according to the response message, such as the link quality or the specific fault location, for example, it can determine: the link status between the PE device 12 and the P device 31, the link status between the PE device 12 and the CE device 22, the interface status of the PE device 12 used to connect to the P device 31, or the interface status of the PE device 12 used to connect to the CE device 22.
[0129] It should be noted that, in one possible scenario, if the entire PE device 12 fails, it is no longer possible to send a response message to the PE device 11; in other possible scenarios, even if the PE device 12 determines that there is a path failure associated with it, it can still inform the PE device 11 of the existence of the failure through a response message. For example, assuming that the failure exists on the path carrying the service 1 between the PE device 11 and the PE device 12, then the PE device 12 can select other reachable paths to send the response message to the PE device 11 to inform the PE device 11 of the path failure used to carry the service 1.
[0130] As another example, when PE device 12 determines that the path carrying service 1 has a fault or the path quality does not meet the requirements, PE device 12 may not send a response message, which may include but is not limited to: not sending a response message when the detection mechanism determines that there is a fault, or the response message cannot be sent due to a link failure between PE device 12 and P device 31 or an interface failure of PE device 12 used to connect to P device 31. A preset time length (such as 1 second) can be set in PE device 11, and the preset time length can be the maximum allowed time for PE device 11 to wait for receiving a response message after sending a detection message. Then, when PE device 11 has not received a response message for message 41 sent by PE device 12 after the preset time length has passed since sending message 41, PE device 11 can determine that the path carrying service 1 between PE device 11 and CE device 22 has a fault or the path quality does not meet the requirements. Among them, the situations in which there is a failure in the path carrying service 1 may include but are not limited to: failure of PE device 12, failure of P device 31, failure of CE device 22, link failure between PE device 11 and P device 31, link failure between P device 31 and PE device 12, link failure between PE device 12 and CE device 22, interface failure between PE device 11 and P device 31, interface failure between P device 31 and PE device 12, interface failure between PE device 12 and CE device 22, and device, link or interface failure in the user-side network connected to PE device 12.
[0131] In one possible implementation, if message 41 is a BFD message, PE device 11 sends the BFD message to PE device 12, which can not only sense whether there is a fault in the path carrying service 1 between PE device 11 and PE device 12, but also sense whether there is a fault in the path carrying service 1 between PE device 12 and access side network device (such as CE device 22) based on the identification information of service 1 in the BFD message. In this way, PE device 11 can sense the connectivity of the entire path carrying service 1 through the BFD message, thereby achieving the effect of service-level connectivity detection.
[0132] In another possible implementation, if the message 41 is an OAM message, the PE device 11 sends the OAM message to the PE device 12 , so as to detect the connectivity and path quality of the path carrying the service 1 . Taking the detection of path quality as an example, in one case, the process of implementing path quality detection by OAM message may include: PE device 11 sends an OAM message to PE device 12 to inform PE device 11 of the statistical information of the sent service data packets (such as the number of data packets sent, timestamp, etc.), and PE device 12 can determine the service 1 corresponding to the VPN to be detected according to the VPN SID carried in the OAM message, thereby processing the statistical results of the received data packets corresponding to the service 1 to be detected in the device itself and the statistical information in the received OAM message, and obtain the quality detection result corresponding to the path carrying the service 1 to be detected; then, PE device 12 can generate and send an OAM response message carrying the detection result to PE device 11, so as to instruct PE device 11 to obtain the quality detection result of the path carrying the service 1 to be detected from the received OAM response message, and determine the path quality carrying the service to be detected. In another case, the process of implementing path quality detection using OAM messages may also include, for example: PE device 11 sends an OAM message to PE device 12 to inform PE device 12 of the statistical information of the service data packets that have been sent. PE device 12 can determine the service 1 corresponding to the VPN to be detected based on the VPN SID carried in the OAM message, and carry the statistical results of the received data packets corresponding to the service 1 to be detected obtained by PE device 12 in the OAM message for response and send it to PE device 11, so that PE device 11 processes the received response OAM message and obtains the quality detection result of the path carrying the service 1 to be detected, thereby determining the path quality carrying the service 1 to be detected. The above two situations take unidirectional detection as an example. In other possible situations, PE device 11 and PE device 12 can also perform bidirectional detection on the path carrying the service, such as PE device 11 sends an OAM message to PE device 12 to inform PE device 11 that it has sent the statistical information of the service data packet, and receives a response message sent by PE device 12. The response message can be used to instruct PE device 11 to perform statistics on the bidirectional path data packets of the service. The response message can also carry statistical information on the data packets of the service on the return path. PE device 11 can determine the bidirectional path quality detection result for the data packets of the service based on the response message.In this way, the OAM message serves as a detection message, and the response message received by the PE device 11 may include at least one of the following three: the connectivity detection result of the path carrying service 1 (i.e., whether at least one of the paths carrying service 1 between the PE device 11 and the PE device 12 and the paths carrying service 1 between the PE device 12 and the CE device 22 is faulty), the path quality detection result of the path carrying service 1 (i.e., whether the path quality of at least one of the paths carrying service 1 between the PE device 11 and the PE device 12 and the paths carrying service 1 between the PE device 12 and the CE device 22 meets the requirements), and the statistical result of the path quality of the path carrying service 1 (i.e., the path quality parameter of at least one of the paths carrying service 1 between the PE device 11 and the PE device 12 and the paths carrying service 1 between the PE device 12 and the CE device 22, and the PE device 11 may process the path quality parameter to obtain the path quality detection result of whether the path quality meets the requirements), wherein the path quality detection may refer to quality detection for a unidirectional path, or may refer to quality detection for a bidirectional path.
[0133] In some possible implementations, S104 may include, for example: the PE device 12 determines that the message 41 is a detection message, and determines that the local support is to perform detection according to the indication 51, then, according to the local fault detection strategy, the path carrying the service 1 is fault detected. According to the local fault detection strategy, it may refer to sending the message 41 to the corresponding detection process, and performing fault detection in the corresponding detection process. For example, assuming that the message 41 is a BFD detection message, then when the PE device 12 determines that the BFD detection is supported locally, the service-related content and detection information in the BFD detection message are sent to the local BFD process, so as to perform corresponding fault detection in the BFD process. For another example, assuming that the message 41 is an OAM detection message, then when the PE device 12 determines that the OAM detection is supported locally, the service-related content and detection information in the OAM detection message are sent to the local OAM instance, so as to perform corresponding detection in the OAM instance.
[0134] The local support for detection according to the indication 51 may refer to that the PE device is locally configured to enable the corresponding detection function indicated by the indication 51. The service 1 may be, for example, a traditional VPN service 1 or an EVPN service 1. In a possible scenario, if the detection message includes an SRH indicating tunnel information, the content sent to the detection process may be the content after the detection message is stripped of the SRH.
[0135] As an example, if message 41 is as above Figure 5aAs shown, after determining that the DA field of message 41 matches the local VPN SID, PE device 12 can determine that message 41 is a detection message according to indication 51 of message 41, and determine that PE device 12 locally supports detection according to indication 51, and that PE device 12 is a device that can perceive service 1 (such as: PE device 12 is an export PE device), then, the service-related content and detection information in message 41 are sent to the corresponding detection process, and fault detection is performed in the corresponding detection process.
[0136] As another example, if message 41 is as above Figure 6a As shown, the PE device 12 can determine that there is a TLV field carrying the indication 51 in the HBH option header of the IPv6 extension header 1' of the message 41, determine that the message 41 is a detection message according to the indication 51 of the message 41, determine that the local supports detection according to the indication 51, and when the PE device 12 is a device capable of sensing the service 1, send the service-related content and detection information in the message 41 to the corresponding detection process, and perform fault detection in the corresponding detection process.
[0137] As another example, if message 41 is as above Figure 6b As shown, after determining that the DA field of message 41 matches the local VPN SID, PE device 12 can determine that there is a TLV field carrying indication 51 in the DOH of the IPv6 extension header 1' of message 41, determine that message 41 is a detection message according to indication 51 of message 41, determine that local support is provided for detection according to indication 51, and that PE device 12 is a device capable of sensing service 1, then send the service-related content and detection information in message 41 to the corresponding detection process, and perform fault detection in the corresponding detection process.
[0138] In some possible implementations, PE device 11 may also send a service message corresponding to service 1 to PE device 12. For example, the method 100 may also include: S105, PE device 11 sends message 42 to PE device 12, where message 42 is a service message for carrying service 1, and message 42 does not include indication 51.
[0139] In one case, message 2 does not include a field for carrying indication 51. For example, message 41 carries indication 51 through the TLV field in the HBH option header of the IPv6 extension header 1'. Then, the corresponding message 42 is as follows: Figure 6b As shown, the HBH option header does not include the corresponding TLV field. For another example, the message 41 carries the indication 51 through the TLV field in the DOH of the IPv6 extension header 1', then the corresponding message 42 is as follows Figure 6d As shown, the DOH does not include the corresponding TLV field.
[0140] In another case, message 42 includes a field carrying indication 51, and the field carries indication 52 in message 42. The indication 52 is used to indicate that message 42 is a service message, and indication 52 is different from indication 51. As an example, message 42 includes IPv6 header 2, indication 52 is carried in the next header field in IPv6 header 2, and indication 51 is the first value of the next header field in IPv6 header 1. Then, indication 52 is the second value of the next header field in IPv6 header 2, and the first value and the second value are different. For example, if the next header field in IPv6 header 1 in message 41 is 137, the corresponding message 42 is as follows: Figure 3c As shown, the next header field in the IPv6 header 2 in the message 42 = 143. As another example, the message 42 includes the IPv6 extension header 2', the indication 52 is carried in the next header field in the SRH of the IPv6 extension header 2', the indication 51 is the first value of the nextheader field in the SRH of the IPv6 extension header 1', then the indication 52 is the second value of the next header field in the SRH of the IPv6 extension header 2', and the first value and the second value are different. For example, the next header field in the SRH of the IPv6 extension header 1' in the message 41 = 137, corresponding to the message 42 as shown Figure 3d As shown, the next header field of SRH in the IPv6 extension header 2' in the message 42 is 143. Figure 3c and Figure 3d In the example, the value of the next header field in message 42 is 143. In actual applications, Figure 3c and Figure 3d The value of the next header field of message 42 may also be different. As another example, message 42 includes IPv6 header 2, indication 52 is carried in the args field in the DA field of IPv6 header 2, indication 51 is the third value of args in the DA field in IPv6 header 1, then indication 52 is the fourth value of args in the DA field in IPv6 header 2, and the third value and the fourth value are different. For example, the args field in the DA field in IPv6 header 1 in message 41 = 3, corresponding to message 42 as Figure 4cAs shown, the args field of the DA field in the IPv6 header 2 in the message 42 = 0. As another example, the message 42 includes the IPv6 extension header 2', the indication 52 carries the args field of the DA field in the SRH of the IPv6 extension header 2', the indication 51 is the third value of the args field of the DA field in the SRH of the IPv6 extension header 1', then the indication 52 is the fourth value of the args field of the DA field in the SRH of the IPv6 extension header 2', and the third value and the fourth value are not the same. For example, the args field of the DA field in the SRH of the IPv6 extension header 1' in the message 41 = 3, and the corresponding message 42 is as follows Figure 4d As shown, the args field of the DA field of the SRH in the IPv6 extension header 2' in the message 42 = 0. Figure 4c and Figure 4d In the example, the value of the DA field in message 42 is 0. In actual applications, Figure 4c and Figure 4d The value of the args field in message 42 may also be different. As another example, message 42 includes an IPv6 extension header 2', indication 52 is carried in the flag field in the SRH of the IPv6 extension header 2', indication 51 is the fifth value of the flag field in the SRH of the IPv6 extension header 1', then indication 52 is the sixth value of the flag field in the SRH of the IPv6 extension header 2', and the fifth value and the sixth value are not the same. For example, the flag field in the SRH of the IPv6 extension header 1' in message 41 = 1, corresponding to message 42 as Figure 5b As shown, the flag field of the SRH in the IPv6 extension header 2' in the message 42 = 0.
[0141] In this way, the receiving PE device 12 can identify whether the received message is a detection message or a service message by parsing the received message, and thus perform corresponding processing. For example, the PE device 12 obtains the indication 51 by parsing the received message 41, and determines that the message 41 is a detection message based on the indication 51, thereby executing the above S104; for another example, the PE device 12 determines that the message 42 that does not include the indication 51 is a service message by parsing the message 42, and thus performs corresponding operations such as forwarding the service message according to the processing rules of the service message.
[0142] In some possible implementations, after PE device 11 determines that at least one of the paths carrying service 1 between PE device 11 and PE device 12 and the path carrying service 1 between PE device 12 and CE device 22 has a fault, in order to ensure normal operation of the service, PE device 11 may also switch the path used to carry the service 1 to a path including the path from PE device 11 to PE device 13, and after the switching, PE device 13 carries the service 1. Before the switch, the service message corresponding to service 1 passes through PE device 11, P device 31, and PE device 12 to reach CE device 22. After the switch, the service message corresponding to service 1 passes through PE device 11, P device 32, P device 33, and PE device 13 to reach CE device 22. However, whether before or after the switch, the service message corresponding to service 2 passes through PE device 11, P device 31, and PE device 12 in sequence to reach CE device 22. In this way, the problem of wasting network resources in tunnel-level fault detection is overcome, in which all services (including service 1 and service 2) on the tunnel are switched after a fault is found. After the switch, both service 1 and service 2 pass through PE device 11, P device 31, and PE device 12 to reach CE device 22, thereby improving the accuracy of service control.
[0143] It can be seen that through the method 100 provided in the embodiment of the present application, the sending network device adds an indication and service identification information to the sent detection message, so that the receiving network device can accurately distinguish whether the received message is a detection message or a service message. When the receiving network device determines that the received message is a detection message, it can determine the service to be detected based on the service identification information in the detection message, and then detect the path carrying the service to be detected, so as to achieve finer granularity and more accurate service-level fault detection, provide an accurate basis for service-level switching, and thus provide a guarantee for the normal operation of the service in the network.
[0144] Based on the above method embodiment, an embodiment of the present application provides a device for implementing service path detection, which will be described below in conjunction with the accompanying drawings.
[0145] Figure 7 A schematic diagram of a structure of a device 700 for implementing service path detection provided in an embodiment of the present application, wherein the device 700 is applied to a first network device, for example, Figure 1 The function of the PE device 11 in the illustrated embodiment. The apparatus 700 may include: a generating unit 701 and a sending unit 702 .
[0146] The generating unit 701 is used to generate a first message based on the sixth version of the Internet Protocol IPv6, wherein the first message includes a first indication and identification information of a service, and the first indication is used to indicate that the first message is a detection message.
[0147] When the device 700 is applied to Figure 1 For the specific implementation of the PE device 11 shown in FIG. 1 , the generating unit 701 generates the first message, which can be seen in FIG. Figure 2 In the embodiment, S101.
[0148] The sending unit 702 is used to send the first message to the second network device, so that the second network device that receives the first message detects at least one of the paths carrying the service between the first network device and the second network device and the path carrying the service between the second network device and the access side network device according to the first indication and the identification information of the service.
[0149] When the device 700 is applied to Figure 1 When the PE device 11 is shown, the specific implementation of the sending unit 702 sending the first message can be seen in Figure 2 In the embodiment, S102.
[0150] The identification information of the service may be carried in a first IPv6 header or a first IPv6 extension header of the first message, and the first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message.
[0151] As an example, the first message includes the first IPv6 header, and the first indication is carried in a next header field in the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in a next header field in a first segment routing extension header SRH of the first IPv6 extension header. The first IPv6 extension header of the first message also includes a reservation label and a control word, and the reservation label and the control word are used to indicate detection information in a payload of the first message, and the detection information is used to instruct the second network device to detect the path of the service according to the detection information.
[0152] As another example, the first message includes the first IPv6 header, and the first indication is carried in the variable args field in the first destination address DA field of the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in the args field in the first DA field of the first SRH of the first IPv6 extension header.
[0153] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in a flags field in the SRH of the first IPv6 extension header.
[0154] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in the type-length-value TLV field in the hop-by-hop HBH option header of the first IPv6 extension header, or is carried in the TLV field in the destination address option header DOH of the first IPv6 extension header.
[0155] In some possible implementations, the sending unit 702 is further used to send a second message to the second network device, where the second message is a service message for carrying the service, and the second message does not include the first indication.
[0156] When the device 700 is applied to Figure 1 When the PE device 11 is shown, the specific implementation of the sending unit 702 sending the second message can be seen in Figure 2 In the embodiment, S105.
[0157] The second message may further include a second indication, where the second indication is used to indicate that the second message is a service message, and the second indication is different from the first indication.
[0158] The second indication is different from the first indication and may include: the second message includes a second IPv6 header, the second indication is carried in a next header field in the second IPv6 header, the first indication is a first value of the next header field in the first IPv6 header, and the second indication is a second value of the next header field in the second IPv6 header; or, the second message includes a second IPv6 extension header, the second indication is carried in a next header field in a second SRH of the second IPv6 extension header, the first indication is a first value of the next header field in a first SRH of the first IPv6 extension header, and the second indication is a next header field in the second SRH. header field; or, the second message includes a second IPv6 header, the second indication is carried by the args field in the second DA field of the second IPv6 header, the first indication is the third value of the args field in the first DA field of the first IPv6 header, and the second indication is the fourth value of the args field in the second DA field; or, the second message includes a second IPv6 extension header, the second indication is carried by the args field of the second DA field in the second SRH of the second IPv6 extension header, the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, and the second indication is the fourth value of the args field in the second DA field in the second SRH; or, the second message includes a second IPv6 extension header, the second indication is carried by the flags field in the SRH of the second IPv6 extension header, the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header, and the second indication is the sixth value of the flags field in the SRH of the second IPv6 extension header.
[0159] In some possible implementations, the device 700 may further include a determination unit. The determination unit is configured to determine that a path between the first network device and the access side network device for carrying the service is faulty if a response message to the first message from the second network device is not received within a preset time.
[0160] In some possible implementations, the device 700 may further include a receiving unit and a determining unit. The receiving unit is used to receive a response message from the second network device to the first message; the determining unit is used to determine, based on the response message, the path between the first network device and the second network device for carrying the service, and the path status of at least one of the paths between the second network device and the access side network device for carrying the service. The path status includes at least one of path connectivity and path quality.
[0161] In some possible implementations, the device 700 may further include a switching unit. The switching unit is configured to determine that the path used to carry the service has a fault according to the failure to receive a response message from the second network device to the first message within a preset time period, or, when it is determined according to the path status that the path used to carry the service has a fault or does not meet the path quality requirement, switch the path used to carry the service to a path including the first network device to the third network device, and after the switching, the third network device carries the service.
[0162] For specific executable functions and implementations of the device 700 for implementing service path detection, please refer to Figure 2 The corresponding description about the PE device 11 in the illustrated embodiment will not be repeated here.
[0163] In addition, the embodiment of the present application also provides a device 800 for implementing service path detection, such as Figure 8 As shown, the apparatus 800 is applied to a second network device, for example, Figure 1 The function of the PE device 12 in the illustrated embodiment. The apparatus 800 may include: a receiving unit 801 and a detecting unit 802 .
[0164] The receiving unit 801 is used to receive a first message sent by a first network device, wherein the first message includes a first indication and identification information of a service, and the first indication is used to indicate that the first message is a detection message.
[0165] When the device 800 is applied to Figure 1 When the PE device 12 is shown, the specific implementation of the receiving unit 801 receiving the first message can be referred to Figure 2 In the embodiment, S103.
[0166] The detection unit 802 is used to detect at least one of the path carrying the service between the first network device and the second network device and the path carrying the service between the second network device and the access side network device according to the first indication and the identification information of the service.
[0167] When the device 800 is applied to Figure 1 When the PE device 12 is shown, the specific implementation of the detection unit 802 detecting the path carrying the service can be referred to. Figure 2 In the embodiment, S104.
[0168] The identification information of the service may be carried in a first IPv6 header or a first IPv6 extension header of the first message, and the first indication may be carried in a first IPv6 header or a first IPv6 extension header of the first message.
[0169] As an example, the first message includes a first IPv6 header, and the first indication is carried in a next header field in the first IPv6 header; or, the first message includes a first IPv6 extension header, and the first indication is carried in a next header field in a first segment routing extension header SRH of the first IPv6 extension header. The first IPv6 extension header of the first message also includes a reservation label and a control word, and the reservation label and the control word are used to indicate detection information in a payload of the first message, and the detection information is used to instruct the second network device to detect the path carrying the service according to the detection information.
[0170] As another example, the first message includes the first IPv6 header, and the first indication is carried in the variable args field in the first destination address DA field of the first IPv6 header; or, the first message includes the first IPv6 extension header, and the first indication is carried in the args field in the first DA field of the first SRH of the first IPv6 extension header.
[0171] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in a flags field in the SRH of the first IPv6 extension header.
[0172] As another example, the first message includes the first IPv6 extension header, and the first indication is carried in the type-length-value TLV field in the hop-by-hop HBH option header of the first IPv6 extension header, or is carried in the TLV field in the destination address option header DOH of the first IPv6 extension header.
[0173] In some possible implementations, the receiving unit 801 is further configured to receive a second message sent by the first network device, where the second message is a service message for carrying the service, and the second message does not include the first indication. Figure 1 When the PE device 12 is shown, the specific implementation of the receiving unit 801 receiving the second message can be referred to Figure 2In the embodiment, S105.
[0174] The second message may further include a second indication, where the second indication is used to indicate that the second message is a service message, and the second indication is different from the first indication.
[0175] The second indication is different from the first indication and may include: the second message includes a second IPv6 header, the second indication is carried in a next header field in the second IPv6 header, the first indication is a first value of the next header field in the first IPv6 header, and the second indication is a second value of the next header field in the second IPv6 header; or, the second message includes a second IPv6 extension header, the second indication is carried in a next header field in a second SRH of the second IPv6 extension header, the first indication is a first value of the next header field in a first SRH of the first IPv6 extension header, and the second indication is a next header field in the second SRH. header field; or, the second message includes a second IPv6 header, the second indication is carried by the args field in the second DA field of the second IPv6 header, the first indication is the third value of the args field in the first DA field of the first IPv6 header, and the second indication is the fourth value of the args field in the second DA field; or, the second message includes a second IPv6 extension header, the second indication is carried by the args field of the second DA field in the second SRH of the second IPv6 extension header, the first indication is the third value of the args field of the first DA field in the first SRH of the first IPv6 extension header, and the second indication is the fourth value of the args field in the second DA field in the second SRH; or, the second message includes a second IPv6 extension header, the second indication is carried by the flags field in the SRH of the second IPv6 extension header, the first indication is the fifth value of the flags field in the SRH of the first IPv6 extension header, and the second indication is the sixth value of the flags field in the SRH of the second IPv6 extension header.
[0176] In some possible implementations, the device 800 may further include a sending unit. The sending unit is used to send a response message to the first network device to instruct the first network device to determine, according to the response message, at least one path status in the path carrying the service between the first network device and the second network device, and between the second network device and the access side network device, wherein the path status includes at least one of path connectivity and path quality. The response message sent by the second network device includes the interface status information of the second network device, and the interface status information is used to instruct the first network device to determine whether the path carrying the service between the second network device and the access side network device has a fault or whether the path quality is good or bad.
[0177] In some possible implementations, the detection unit 802 may be specifically configured to: determine that the first message is a detection message, and determine that local support is provided for detection according to the first indication, and then detect the path carrying the service according to a local detection strategy.
[0178] For specific executable functions and implementations of the device 800 for implementing service path detection, please refer to Figure 2 The corresponding description about the PE device 12 in the illustrated embodiment will not be repeated here.
[0179] The above-mentioned device 700 for implementing service path detection may be an ingress PE device that carries the service, and the device 800 for implementing service path detection may be an egress PE device that carries the service.
[0180] The service carried between the above-mentioned device for implementing service path detection 700 and the device for implementing service path detection 800 may be an L2VPN service, and L2VPN may include services carried by traditional VPN technology or EVPN technology. Both traditional VPN services and EVPN services may adopt a VLL service model or a VPLS service model.
[0181] In the above-mentioned device 700 for implementing service path detection and the device 800 for implementing service path detection, the first message may be a BFD message, or may also be an OAM message.
[0182] Fig. 9 A schematic diagram of a network device 900 provided in an embodiment of the present application, the network device 900 may be, for example, Figure 1 Any PE device in the embodiment shown, or it may be Figure 7 or Figure 8 The device implementation of the apparatus for implementing service path detection in the illustrated embodiment.
[0183] See also Fig. 9 As shown, the network device 900 includes: a processor 910, a communication interface 920 and a memory 930. The number of the processor 910 in the network device 900 can be one or more. Fig. 9 In the embodiment of the present application, the processor 910, the communication interface 920 and the memory 930 may be connected via a bus system or other means, wherein: Fig. 9 The connection via bus system 940 is taken as an example.
[0184] The processor 910 may be a CPU, an NP, or a combination of a CPU and an NP. The processor 910 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0185] When the network device 900 includes a first network device, the processor 910 may execute the related functions of generating a first message including a first indication and identification information of a service, sending the first message to a second network device, etc. in the above method embodiment. When the network device 900 is a second network device, the processor 910 may execute the related functions of receiving a first message including a first indication and identification information of a service from a first network device, detecting a path carrying the service according to the first indication and identification information of the service, etc. in the above method embodiment.
[0186] The communication interface 920 is used to receive and send messages. Specifically, the communication interface 920 may include a receiving interface and a sending interface. The receiving interface may be used to receive messages, and the sending interface may be used to send messages. The number of the communication interface 920 may be one or more. As a possible implementation, the communication interface 920 may be used to implement Figure 7 The sending unit 702 or Figure 8 The functionality of the receiving unit 801 is shown.
[0187] The memory 930 may include a volatile memory (English: volatile memory), such as a random-access memory (RAM); the memory 930 may also include a non-volatile memory (English: non-volatile memory), such as a flash memory (English: flash memory), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 930 may also include a combination of the above-mentioned types of memory. The memory 930 may, for example, store the identification information of the aforementioned service.
[0188] Optionally, the memory 930 stores an operating system and a program, an executable module or a data structure, or a subset thereof, or an extended set thereof, wherein the program may include various operating instructions for implementing various operations. The operating system may include various system programs for implementing various basic services and processing hardware-based tasks. The processor 910 may read the program in the memory 930 to implement the method for implementing service path detection provided in the embodiment of the present application. As a possible implementation, the memory 930 may store programs such as for implementing Figure 7 The generation unit 701 shown or Figure 8 The program code of the detection unit 802 function is shown.
[0189] The memory 930 may be a storage device in the network device 900 , or may be a storage device independent of the network device 900 .
[0190] The bus system 940 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus system 940 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0191] Fig.10 is a schematic diagram of the structure of another network device 1000 provided in an embodiment of the present application. The network device 1000 can be configured as the aforementioned Figure 1 Any PE device in the embodiment shown, or it may be Figure 7 or Figure 8 The device implementation of the apparatus for implementing service path detection in the illustrated embodiment.
[0192] The network device 1000 includes: a main control board 1010 and an interface board 1030 .
[0193] The main control board 1010 is also called a main processing unit (MPU) or a route processor card. The main control board 1010 controls and manages various components in the network device 1000, including routing calculation, device management, device maintenance, and protocol processing functions. The main control board 1010 includes: a central processing unit 1011 and a memory 1012.
[0194] The interface board 1030 is also called a line processing unit (LPU), a line card or a service board. The interface board 1030 is used to provide various service interfaces and realize the forwarding of data packets. The service interface includes but is not limited to an Ethernet interface, a POS (Packet over SONET / SDH) interface, etc., and the Ethernet interface is, for example, a Flexible Ethernet Clients (FlexE Clients) service interface. The interface board 1030 includes: a central processing unit 1031, a network processor 1032, a forwarding table entry memory 1034 and a physical interface card (PIC) 1033.
[0195] The central processor 1031 on the interface board 1030 is used to control and manage the interface board 1030 and communicate with the central processor 1011 on the main control board 1010 .
[0196] The network processor 1032 is used to implement message forwarding processing. The network processor 832 can be in the form of a forwarding chip. Specifically, the processing of uplink messages includes: message inbound interface processing, forwarding table search; the processing of downlink messages: forwarding table search, etc.
[0197] The physical interface card 1033 is used to implement the docking function of the physical layer, and the original traffic enters the interface board 1030 from it, and the processed message is sent from the physical interface card 1033. The physical interface card 1033 includes at least one physical interface, which is also called a physical port. The physical interface card 1033 can also be called a daughter card, which can be installed on the interface board 1030 and is responsible for converting the optical signal into a message and forwarding the message to the network processor 1032 for processing after checking the legitimacy of the message. In some embodiments, the central processor 831 of the interface board 1030 can also perform the functions of the network processor 1032, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1032 is not required in the physical interface card 1033.
[0198] Optionally, the network device 1000 includes a plurality of interface boards. For example, the network device 1000 further includes an interface board 1040 . The interface board 1040 includes a central processor 1041 , a network processor 1042 , a forwarding table entry memory 1044 , and a physical interface card 1043 .
[0199] Optionally, the network device 1000 further includes a switching fabric board 1020. The switching fabric board 1020 may also be referred to as a switch fabric unit (SFU). When the network device has multiple interface boards 1030, the switching fabric board 1020 is used to complete data exchange between the interface boards. For example, the interface board 1030 and the interface board 1040 may communicate through the switching fabric board 820.
[0200] The main control board 1010 is coupled to the interface board 1030. For example, the main control board 1010, the interface board 1030, the interface board 1040, and the switching network board 1020 are connected to the system backplane through a system bus to achieve intercommunication. In a possible implementation, an inter-process communication (IPC) channel is established between the main control board 1010 and the interface board 1030, and the main control board 1010 and the interface board 1030 communicate through the IPC channel.
[0201] Logically, the network device 1000 includes a control plane and a forwarding plane. The control plane includes a main control board 1010 and a central processor 1031. The forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 1034, a physical interface card 1033, and a network processor 1032. The control plane performs functions such as a router, generating a forwarding table, processing signaling and protocol messages, and configuring and maintaining the status of the device. The control plane sends the generated forwarding table to the forwarding plane. On the forwarding plane, the network processor 1032 forwards the message received by the physical interface card 1033 based on the forwarding table sent by the control plane. The forwarding table sent by the control plane can be stored in the forwarding table entry memory 1034. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
[0202] If the network device 1000 is configured as a first network device, the central processor 1011 may generate a first message including a first indication and identification information of a service. The network processor 1032 may trigger the physical interface card 1033 to send the first message to the second network device.
[0203] If the network device 1000 is configured as a second network device, the central processor 1011 can receive a first message including a first indication and identification information of a service from the first network device, and detect the path carrying the service according to the first indication and identification information of the service. The network processor 1032 can trigger the physical interface card 1033 to send a response message to the first network device.
[0204] It should be understood that the sending unit 702 and the like in the device 700 for implementing service path detection may be equivalent to the physical interface card 1033 or the physical interface card 1043 in the network device 1000; the generating unit 701 and the like in the device 700 for implementing service path detection may be equivalent to the central processor 1011 or the central processor 1031 in the network device 1000. The receiving unit 801 and the like in the device 800 for implementing service path detection may be equivalent to the physical interface card 1033 or the physical interface card 1043 in the network device 1000; the detecting unit 802 and the like in the device 800 for implementing service path detection may be equivalent to the central processor 1011 or the central processor 1031 in the network device 1000.
[0205] It should be understood that the operation on the interface board 1040 in the embodiment of the present application is consistent with the operation of the interface board 1030, and for the sake of brevity, it will not be repeated. It should be understood that the network device 1000 of this embodiment can correspond to any one of the nodes in the above-mentioned various method embodiments, and the main control board 1010, the interface board 1030 and / or the interface board 1040 in the network device 1000 can implement the functions and / or various steps implemented by any one of the nodes in the above-mentioned various method embodiments, and for the sake of brevity, it will not be repeated here.
[0206] It should be understood that there may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, they can jointly realize load sharing and redundant backup. Under a centralized forwarding architecture, the network device may not need a switching network board, and the interface board is responsible for the processing function of the business data of the entire system. Under a distributed forwarding architecture, the network device may have at least one switching network board, and the switching network board is used to realize data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices with a distributed architecture are greater than those of devices with a centralized architecture. Optionally, the network device may have only one board, that is, no switching board, and the functions of the interface board and the main control board are integrated on the board. In this case, the central processor on the interface board and the central processor on the main control board can be combined into one central processor on the board to perform the functions of the two. This type of device has low data exchange and processing capabilities (for example, low-end switches or routers and other network devices). The specific architecture to be adopted depends on the specific networking deployment scenario.
[0207] In some possible embodiments, each of the above-mentioned nodes can be implemented as a virtualized device. For example, a virtualized device can be a virtual machine (English: Virtual Machine, VM) running a program for sending message functions, and the virtual machine is deployed on a hardware device (for example, a physical server). A virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. The virtual machine can be configured as each node. For example, each node can be implemented based on a general physical server in combination with Network Function Virtualization (NFV) technology. Each node is a virtual host, a virtual router or a virtual switch. Those skilled in the art can virtualize each node with the above-mentioned functions on a general physical server in combination with NFV technology by reading this application, which will not be repeated here.
[0208] It should be understood that the network devices in the above-mentioned various product forms respectively have any functions of the nodes in the above-mentioned method embodiments, which will not be described in detail here.
[0209] The present application embodiment also provides a network system 1100, such as Fig.11 The network system 1100 may include a first network device 1101 and a second network device 1102. The first network device 1101 may be Figure 1 The PE device 11 shown, Figure 7The device 700 for implementing service path detection shown in FIG. Fig. 9 The network device 900 configured as a first network device or Fig.10 The network device 1000 shown is configured as a first network device; the second network device 1102 may be Figure 1 The PE device 12 shown, Figure 8 The device 800 for implementing service path detection shown in FIG. Fig. 9 The network device 900 configured as a second network device or Fig.10 The network device 1000 shown is configured as a second network device.
[0210] The present application also provides a chip including a processor and an interface circuit, wherein the interface circuit is used to receive instructions and transmit them to the processor; the processor may be, for example, Figure 7 A specific implementation form of the device 700 for implementing service path detection shown in FIG. 7 can be used to execute the above method; for example, it can be Figure 8 A specific implementation form of the device 800 for implementing service path detection shown can be used to execute the above method. The processor is coupled to a memory, and the memory is used to store programs or instructions. When the program or instruction is executed by the processor, the chip system implements the method in any of the above method embodiments.
[0211] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0212] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be separately provided with the processor, which is not limited in the present application. Exemplarily, the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be provided on different chips. The present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
[0213] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.
[0214] The embodiment of the present application also provides a computer-readable storage medium, including instructions or computer programs, which, when executed on a computer, enable the computer to execute the method for implementing service path detection provided in the above embodiment.
[0215] The embodiment of the present application also provides a computer program product including instructions or a computer program, which, when executed on a computer, enables the computer to execute the method for implementing service path detection provided in the above embodiment.
[0216] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0217] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0218] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical business division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0219] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0220] In addition, each business unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software business units.
[0221] If the integrated unit is implemented in the form of a software business unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.
[0222] Those skilled in the art will appreciate that in one or more of the above examples, the services described in the present invention may be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, the services may be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media may be any available media that can be accessed by a general-purpose or special-purpose computer.
[0223] The above specific implementation modes further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific implementation modes of the present invention.
[0224] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for realizing service path detection, characterized in that: The method is applied to a network supporting segment routing SRv6 based on the sixth version of the Internet Protocol, and the method comprises: The first network device sends a first message to the second network device through a path between the first network device and the second network device, where the first message is a bidirectional forwarding detection BFD message, the first message includes a first indication and identification information of a service, the first indication is used to indicate that the first message is a detection message, the path between the first network device and the second network device is used to carry the service, and the service is a service carried by an Ethernet virtual private network (EVPN) technology; The first network device determines that a fault exists in a path between the first network device and the second network device based on not receiving a BFD message sent by the second network device within a preset time period.
2. The method according to claim 1, characterized in that The EVPN service is implemented through a virtual private LAN service (VPLS) service or a virtual private wire service (VPWS).
3. The method according to claim 1 or 2, characterized in that: The path between the first network device and the second network device is a pseudo wire PW.
4. The method according to any one of claims 1 to 3, characterized in that: The identification information of the service is a virtual private network segment identifier VPN SID.
5. The method according to any one of claims 1 to 4, characterized in that: The identification information of the service is End.DX2.
6. The method according to any one of claims 1 to 5, characterized in that: The first indication is carried in a first IPv6 header or a first IPv6 extension header of the first message.
7. The method according to claim 6, characterized in that The first message includes the first IPv6 header, and the first indication is carried in a next header field in the first IPv6 header; or, The first message includes the first IPv6 extension header, and the first indication is carried in a next header field in a first segment routing extension header (SRH) of the first IPv6 extension header.
8. The method according to claim 6, characterized in that The first message includes the first IPv6 header, and the first indication is carried in a variable args field in a first destination address DA field of the first IPv6 header; or, The first message includes the first IPv6 extension header, and the first indication is carried in an args field in a first DA field of a first SRH of the first IPv6 extension header.
9. The method according to claim 6, characterized in that The first message includes the first IPv6 extension header, and the first indication is carried in a flags field in the SRH of the first IPv6 extension header.
10. The method according to claim 6, characterized in that The first message includes the first IPv6 extension header, and the first indication is carried in a type-length-value TLV field in a hop-by-hop HBH option header of the first IPv6 extension header, or in a TLV field in a destination address option header DOH of the first IPv6 extension header.
11. The method according to any one of claims 1 to 10, characterized in that: The method further comprises: The first network device sends a second message to the second network device, where the second message is a service message for carrying the service, and the second message does not include the first indication.
12. The method according to any one of claims 1 to 11, characterized in that: The second message also includes a second indication, where the second indication is used to indicate that the second message is a service message, and the second indication is different from the first indication.
13. A method for implementing service path detection, characterized in that: The method is applied to a network supporting segment routing SRv6 based on the sixth version of the Internet Protocol, and the method comprises: The second network device receives a first message sent by the first network device through a path between the first network device and the second network device, where the first message is a bidirectional forwarding detection BFD message, the first message includes a first indication and identification information of a service, the first indication is used to indicate that the first message is a detection message, the path between the first network device and the second network device is used to carry the service, and the service is a service carried by an Ethernet virtual private network (EVPN) technology; The second network device sends a BFD message to the first network device, so that the first network device determines whether there is a fault in a path between the first network device and the second network device.
14. The method according to claim 13, characterized in that The EVPN service is implemented through a virtual private LAN service (VPLS) service or a virtual private wire service (VPWS).
15. The method according to claim 13 or 14, characterized in that The path between the first network device and the second network device is a pseudo wire PW.
16. The method according to any one of claims 13 to 15, characterized in that: The identification information of the service is a virtual private network segment identifier VPN SID.
17. The method according to any one of claims 13 to 16, characterized in that: The identification information of the service is End.DX2.
18. The method according to any one of claims 13 to 17, characterized in that: The method further comprises: The second network device receives a second message sent by the first network device, where the second message is a service message used to carry the service, and the second message does not include the first indication.
19. The method according to any one of claims 13 to 18, characterized in that: The second message also includes a second indication, where the second indication is used to indicate that the second message is a service message, and the second indication is different from the first indication.
20. A network system, characterized in that: The network system is applied to a network supporting segment routing SRv6 based on the sixth version of the Internet Protocol, and the network system includes a first network device and a second network device, the first network device is used to execute the method as described in any one of claims 1-12, and the second network device is used to execute the method as described in any one of claims 13-19.
21. A network device, characterized in that: Used to perform the method according to any one of claims 1 to 19.
22. A computer program product, characterized in that The method comprises a computer program, which implements the method according to any one of claims 1 to 19 when being executed by a processor.
Citation Information
Patent Citations
Service diagnosis method and device
CN107800555A
Routing processing method and device and data transmission method and device
CN109873760A
Tunnel connectivity detection method and device and network edge equipment
CN110224886A
Method, device and system for obtaining SRv6 tunnel information
CN110971433A
A method for establishing segment routing for IPV6 tunnel
WO2019011114A1