Srv6 message transmission control method, apparatus, device and storage medium

By adding matching conditions and control actions for SRv6 traffic to Flowspec routes, the problem that Flowspec technology cannot identify and control SRv6 traffic is solved, achieving effective control of SRv6 packets and expanding its application scenarios.

WO2025001905A1PCT designated stage expired Publication Date: 2025-01-02ZTE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/099661
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-26
Filing Date
2024-06-17
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

Flowspec technology cannot identify and control the routing extension headers of SRv6 traffic, which limits its application scenarios.

Method used

Add traffic matching conditions and control actions for SRv6 traffic in Flowspec routes, and perform matching and control by recognizing the route extension header fields in SRv6 packets.

Benefits of technology

It enables the identification and control of SRv6 packets, enriches the application scenarios of Flowspec technology, and breaks the limitations of SRv6 traffic identification and control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024099661_02012025_PF_FP_ABST
    Figure CN2024099661_02012025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Disclosed in the present application are an SRv6 message transmission control method, an apparatus, a device and a storage medium. The method of the present application comprises: acquiring a Flowspec route, the Flowspec route comprising a first traffic matching condition configured for SRv6 traffic, and a traffic control action corresponding to the first traffic matching condition; on the basis of the first traffic matching condition, performing matching on a currently received message, so as to obtain a target SRv6 message; and, on the basis of the traffic control action, determining a transmission mode for the target SRv6 message.
Need to check novelty before this filing date? Find Prior Art

Description

SRv6 message transmission control method, device, equipment and storage medium

[0001] Related applications

[0002] This application claims priority to Chinese patent application No. 202310764028.1 filed on June 26, 2023, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of communication technology, and in particular to a method, apparatus, device, and storage medium for controlling transmission of SRv6 messages. Background Art

[0004] Currently, Flowspec (Flow Specification) technology is limited to traffic matching (traffic identification) and traffic action (traffic control) for IP traffic (for example, IPv4 (Internet Protocol version 4) traffic and IPv6 (Internet Protocol version 6) traffic), and cannot identify traffic other than native IP traffic.

[0005] With the advancement of SDN (Software Defined Network) technology, the application of new technologies such as SRv6 (Segment Routing IPv6, segment routing based on the IPv6 forwarding plane) will become more extensive. SRv6 is based on the basic network capabilities of IPv6 and SR (Segment Routing) technology, and realizes SDN-based network programmability through flexible extension header capabilities. When transmitting traffic through an SRv6 tunnel, it is necessary to encapsulate the traffic into an IPv6 message and then insert a routing extension header (SRH) into the IPv6 message to form an SRv6 message. The routing extension header is used to carry segment transmission information to achieve segment routing. However, Flowspec technology is limited to the identification and control of Native IP traffic and cannot recognize the routing extension header of SRv6 traffic. As a result, it is impossible to implement device-side flow control for SRv6 messages through Flowspec NLRI (Network Layer Reachability Information) (hereinafter referred to as "Flowspec routing"), which greatly limits its application scenarios.

[0006] Therefore, the Flowspec technology in related technologies has limitations in identifying and controlling flow.

[0007] Summary of the Invention

[0008] The main purpose of this application is to provide a method, device, equipment and storage medium for controlling the transmission of SRv6 messages, aiming to solve the technical problem that Flowspec technology has limitations in identifying and controlling traffic.

[0009] To achieve the above objectives, the present application provides a method for controlling transmission of SRv6 packets, which is applied to a routing device and includes the following steps:

[0010] Obtain a Flowspec route, where the Flowspec route includes a first flow matching condition configured for SRv6 flow and a flow control action corresponding to the first flow matching condition;

[0011] Match the currently received message based on the first traffic matching condition to obtain a target SRv6 message;

[0012] Based on the flow control action, a transmission mode of the target SRv6 packet is determined.

[0013] The present application also provides a transmission control device for an SRv6 message, the device comprising:

[0014] a route receiving module configured to obtain a Flowspec route, the Flowspec route including a first flow matching condition configured for SRv6 flow and a flow control action corresponding to the first flow matching condition;

[0015] a matching module configured to match the currently received message based on the first traffic matching condition to obtain a target SRv6 message;

[0016] The control module is configured to determine a transmission mode of the target SRv6 message based on the flow control action.

[0017] The present application also provides an SRv6 message transmission device, the device comprising: a memory, a processor, and an SRv6 message transmission program stored in the memory and executable on the processor, the SRv6 message transmission program being configured to implement the steps of the SRv6 message transmission control method as described in any one of the above items.

[0018] The present application also provides a storage medium, on which a transmission program for an SRv6 message is stored. When the transmission program for the SRv6 message is executed by a processor, the steps of the SRv6 message transmission control method as described in any one of the above items are implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] FIG1 is a flow chart of a first embodiment of a method for controlling transmission of an SRv6 message according to the present application;

[0020] FIG2 is a schematic diagram of a first scenario of the SRv6 message transmission control method according to the first embodiment of the present application;

[0021] FIG3 is a schematic diagram of a second scenario of the SRv6 message transmission control method according to the first embodiment of the present application;

[0022] FIG4 is a schematic diagram of a third scenario of the SRv6 message transmission control method according to the first embodiment of the present application;

[0023] FIG5 is a schematic diagram of a fourth scenario of the SRv6 message transmission control method according to the first embodiment of the present application;

[0024] FIG6 is a schematic diagram of a fifth scenario of the SRv6 message transmission control method according to the first embodiment of the present application;

[0025] FIG7 is a schematic diagram of a sixth scenario of the SRv6 message transmission control method according to the second embodiment of the present application;

[0026] FIG8 is a schematic diagram of the structure of an SRv6 message transmission control device in a hardware operating environment according to an embodiment of the present application;

[0027] FIG9 is a schematic diagram of the transmission control device for SRv6 messages according to the first embodiment of the present application.

[0028] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0029] It should be understood that the specific embodiments described herein are intended only to explain the present application and are not intended to limit the present application. Although terms such as first, second, and third may be used herein to describe various information, such information should not be limited to these terms. These terms are merely used to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information.

[0030] An embodiment of the present application provides a method for controlling transmission of an SRv6 message. Referring to FIG. 1 , in this embodiment, the method for controlling transmission of an SRv6 message includes:

[0031] Step S10: Obtain a Flowspec route, where the Flowspec route includes a first flow matching condition configured for SRv6 flow and a flow control action corresponding to the first flow matching condition;

[0032] Step S20: Match the currently received message based on the first traffic matching condition to obtain a target SRv6 message;

[0033] Step S30: Based on the flow control action, determine the transmission mode of the target SRv6 message.

[0034] As an example, the SRv6 message transmission control method is applied to the SRv6 message transmission control device, the SRv6 message transmission control device is subordinate to the SRv6 message transmission control equipment, the SRv6 message transmission control equipment may be a routing device, and the routing device may be a router.

[0035] With the advancement of SDN (Software Defined Network) technology, the application of new technologies such as SRv6 (Segment Routing IPv6, segment routing based on the IPv6 forwarding plane) will become more extensive. SRv6 is based on the basic network capabilities of IPv6 and SR (Segment Routing) technology, and realizes SDN-based network programmability through flexible extension header capabilities. When transmitting traffic through an SRv6 tunnel, it is necessary to encapsulate the traffic into an IPv6 message and then insert a routing extension header (SRH) into the IPv6 message to form an SRv6 message. The routing extension header is used to carry segment transmission information to achieve segment routing. However, Flowspec technology is limited to the identification and control of Native IP traffic and cannot recognize the routing extension header of SRv6 traffic. As a result, it is impossible to implement device-side flow control for SRv6 messages through Flowspec NLRI (Network Layer Reachability Information) (hereinafter referred to as "Flowspec routing"), which greatly limits its application scenarios.

[0036] Currently, Flowspec technology is used for policy routing on the inbound ports of routing devices. By receiving a remote Flowspec route and applying it to the corresponding device port, traffic matching and traffic action are designed for accurate traffic identification and policy enforcement, respectively, for incoming IP traffic from global or VPN (Virtual Private Network) ports. When traffic enters the inbound port of a routing device, it is matched against the traffic matching conditions of the Flowspec route. If all matching conditions are met, the traffic forwarding action is executed according to the traffic control action of the Flowspec route. If any of the matching conditions do not meet the traffic matching conditions, the match is missed, and the forwarding action is executed according to the routing device's pre-configured forwarding table.

[0037] As an example, as shown in Figure 2, the destination address (DA) of the device's inbound traffic is 12.12.12.1 / 24, the source address (SA) is 10.10.10.1 / 24, and the DSCP (Differentiated Services Code Point) value is 10. Based on the forwarding table pre-configured by the routing device, the next hop is egress port A. When the routing device receives the Flowspec route, it matches the IP traffic based on the destination address, source address, and DSCP in the Flowspec route. The corresponding flow control action includes at least one of the following:

[0038] 1) Redirection: The forwarding table is ignored and the new next hop is selected as the egress port B specified in the Flowspec route;

[0039] 2) Remark: the DSCP value in the forwarded message can be rewritten to 20;

[0040] 3) Rate limit: You can define the upper limit of traffic rate, the size of data content, etc.

[0041] This embodiment aims to add a first traffic matching condition configured for SRv6 traffic and a traffic control action corresponding to the first traffic matching condition to the Flowspec route. When a message is received, SRv6 traffic can be matched and its transmission can be controlled, thereby implementing device-side traffic control for SRv6 messages and enriching the application scenarios of Flowspec technology.

[0042] The specific steps are as follows:

[0043] Step S10: Obtain a Flowspec route, where the Flowspec route includes a first flow matching condition configured for SRv6 flow and a flow control action corresponding to the first flow matching condition;

[0044] As an example, the Flowspec route is sent to a local routing device through a Flowspec server.

[0045] As an example, the Flowspec route includes a first flow matching condition configured for SRv6 flow, and a flow control action corresponding to the first flow matching condition.

[0046] As an example, the network layer reachability information includes an address family and a sub-address family. The address family is a configuration module of a network layer protocol, which is used to classify and configure different types of networks to facilitate management of different network types.

[0047] As shown in Figure 3, the FSv2 (Flowspec Technology Version 2) BGP NLRI encapsulation structure, in the existing Flowspec Version 2 (Flowspec routing) design, encapsulates data via TLVs. TLVs are a combination of Type-Length-Value, where Type indicates the type of information carried within the structure; Value indicates the information carried by the TLV; and Length indicates the valid byte length of the "Value" field. TLVs can be nested, with nested TLVs being called sub-TLVs. Each sub-TLV can serve as a traffic matching condition. This FSv2 can identify IPv4, IPv6, VPNv4 (Virtual Private Network Version 4), and VPNv6 (Virtual Private Network Version 6), but has no recognition capability for SRv6 traffic.

[0048] The definitions of the fields in the existing FSv2 BGP NLRI (Flowspec routing) are as follows, as shown in Figure 3:

[0049] 1) total-length: includes the length of all Sub-TLVs fields;

[0050] 2) order: the order of traffic matching conditions;

[0051] 3) identifier: identifier of the flow control action;

[0052] 4) type: An identifier of a Flowspec route in FSv2 TLV format.

[0053] 5) length-Subtlv: length of the Sub-TLV field;

[0054] 6) value: the value contained in the Sub-TLV.

[0055] The type field in the existing FSv2 BGP NLRI (Flowspec routing) is set as follows:

[0056] -0-reserved field;

[0057] -1-IP traffic rules: IP traffic rules (traffic matching conditions for IP traffic);

[0058] -2-L2 traffic rules: data link layer traffic rules;

[0059] -3-SFC traffic rules: service chain traffic rules;

[0060] -4-SFC VPN traffic rules: VPN service chain traffic rules;

[0061] -5-BGP / MPLS VPN IP traffic rules: BGP, MPLS (Multi-Protocol Label Switching), VPN, IP traffic rules;

[0062] -6-BGP / MPLS VPN L2 traffic rules: BGP, MPLS, VPN, and L2 traffic rules.

[0063] In this embodiment, the Flowspec route further includes a route distinguisher, and the route distinguisher is used to identify VPN traffic.

[0064] As an example, the route distinguisher in the existing FSv2 BGP NLRI is set to replace the original traffic matching condition for VPN traffic, that is, the type field related to VPN traffic is removed, and VPN traffic is identified by the route distinguisher.

[0065] In this embodiment, the design of the type field is as follows:

[0066] -0-reserved field,

[0067] -1-L2(Ether or VPN) traffic match;

[0068] -2-L3 (IP or VPN) traffic match: network layer traffic rules;

[0069] -3-MPLS traffic match;

[0070] -4-SRv6 traffic match: SRv6 (Segment Routing IPv6, segment routing based on the IPv6 forwarding plane) traffic rule;

[0071] -5-reserved for EVPN: EVPN (Ethernet Virtual Private Network) traffic rules.

[0072] As an example, SRv6 traffic match is the first traffic matching condition configured for SRv6 traffic.

[0073] Step S20: Match the currently received message based on the first traffic matching condition to obtain a target SRv6 message;

[0074] Because SRv6 is based on IPv6's fundamental network capabilities and SR (Segment Routing) technology, it implements SDN-based network programmability through flexible extension header capabilities. When transmitting traffic through an SRv6 tunnel, it is necessary to encapsulate the traffic into an IPv6 packet and then insert a Segment Routing Header (SRH) into the IPv6 packet to form an SRv6 packet. The Segment Routing Header is used to carry segment transmission information to implement segment routing. SRv6 packets are significantly different from traditional IP packets.

[0075] In this embodiment, the SRv6 traffic includes SRv6 Policy traffic, the target SRv6 message includes an SRv6 Policy message corresponding to the SRv6 Policy traffic, and a routing extension header is encapsulated in the SRv6 Policy message.

[0076] In this embodiment, the SRv6 traffic further includes SRv6 BE (Best Effort) traffic, and the target SRv6 message further includes an SRv6 BE message corresponding to the SRv6 BE traffic, wherein the SRv6 BE message is encapsulated with an IPv6 header.

[0077] As an example, compared with the transmission of SRv6 Policy traffic, the encapsulation of the corresponding message of SRv6 BE traffic lacks a routing extension header. Therefore, this embodiment designs corresponding traffic matching conditions based on SRv6 BE traffic and SRv6 Policy traffic respectively to achieve identification of SRv6 traffic.

[0078] In this embodiment, for SRv6 Policy traffic, the matching item in the first traffic matching condition includes at least one of the following:

[0079] Next Header field in the Routing extension header;

[0080] The segment list field in the routing extension header;

[0081] The type field of the segment identifier in the routing extension header;

[0082] The partial segment identifier field in the routing extension header;

[0083] the remaining segments field in the routing extension header;

[0084] The Flags field in the routing extension header;

[0085] The Tag field in the routing extension header.

[0086] As an example, during the SRv6 message forwarding process, the IPv6 header encapsulated in the routing extension header is encapsulated with a Next Header field. Generally, the Next Header defaults to 43. The Next Header field is used to identify other routing extension headers after the basic IPv6 header. There can be 0, 1, or multiple routing extension headers. All routing extension headers have a Next Header field. The value of the Next Header field represents the different message types after the routing extension header. Therefore, the Next Header field in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0087] As an example, by default, the value of the SID (Segment Identifier) ​​corresponds to the destination address (Destination Address, DA) in the IPv6 header, and the value of the segment identifier can be selected through the segment list (Segment List, SL) to determine the destination address of the SRv6 message; therefore, the segment list field in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0088] As an example, there are multiple types of segment identifiers, including END (corresponding to the address of the routing device), END.X (corresponding to the address of the transmission link), END.DT (corresponding to the VPN address), END.DX (corresponding to the VPN link address), etc.; therefore, the type field of the segment identifier in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0089] When the local routing device does not have the ability to identify the segment identifier notification sent by the remote end, the matching item of the type field of the segment identifier in the routing extension header is defined as a miss.

[0090] As an example, the draft <draft-ietf-idr-flowspec-srv6-02>The partial segment identifier field in the routing extension header is used as a matching item for the first traffic matching condition for SRv6 Policy traffic, and this embodiment continues to use this matching item. By default, the destination address in the IPv6 header is used. The IPv6 address is 128 bits, and the SRv6 SID is also a 128-bit value in the form of an IPv6 address, consisting of three parts: locator, function, and argument. Locator: has a positioning function and provides IPv6 routing capabilities. Addressing forwarding is achieved through this field; Function: is used to characterize the forwarding action that needs to be performed. Different forwarding lines correspond to different functions; Arguments: supplements the function and specifies the corresponding parameters during execution. Therefore, by identifying the partial segment identifier field in the routing extension header, the corresponding SRv6 Policy traffic can be matched.

[0091] As an example, the Segment Left field is used to identify the index of the current segment identifier. Therefore, the Segment Left field in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0092] As an example, the Flags field is used to identify the type of the packet. Therefore, the Flags field in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0093] As an example, the Tag field is used to identify packets of the same type or group. Therefore, the Tag field in the routing extension header can be used as a matching item for the first traffic matching condition for SRv6 Policy traffic.

[0094] As an example, based on the first traffic matching condition, the currently received message is matched. If the currently received message can hit the field corresponding to at least one of the above matching items, it is determined that the message is the target SRv6 message.

[0095] As an example, the flow control actions in the original Flowspec technology include rate-limit (rate limit), remark (remark), and redirect (redirection).

[0096] In this embodiment, the redirection action is designed based only on the characteristics of the SRv6 message.

[0097] As an example, in order to facilitate transmission control of the SRv6 Policy message, this embodiment designs a flow control action corresponding to the first flow matching condition for the SRv6 Policy message.

[0098] In this embodiment, the traffic control action includes a first redirection action configured for the SRv6 Policy traffic. The first redirection action includes at least one of the following:

[0099] A pop-out routing extension header action is used to remove the routing extension header of the SRv6 Policy message, encapsulate a preset segment identifier into the IPv6 header of the SRv6 Policy message, and iterate the SRv6 Policy message to the forwarding process of the SRv6 BE traffic by querying the forwarding table (i.e., changing the message type). The forwarding process is mapped to the target port of the target SRv6 message (based on the forwarding process of the SRv6 BE traffic, the SRv6 Policy message is forwarded to the target port to implement message transmission control).

[0100] Popping the routing extension header applies to public network forwarding scenarios. In VPN scenarios, after popping the routing extension header, SRv6 Policy messages cannot be forwarded using only the inner address.

[0101] A remaining segment rewrite action is used to modify the value of the remaining segment in the SRv6 Policy message. The modified remaining segment value indicates the corresponding segment identifier, and the segment identifier is mapped to the destination port of the target SRv6 message. (The value of the segment identifier corresponds to the destination address in the IPv6 header. Based on the specified segment identifier, the destination address of the SRv6 Policy message is changed to implement message transmission control.)

[0102] The tag value modification action is used to modify the tag value in the SRv6 Policy message. The tag value indicates the message type of the SRv6 Policy message, and the message type is mapped to the data type of the target SRv6 message. (By modifying the tag value, the data type of the target SRv6 message is changed, thereby changing the processing flow of the target SRv6 message by other routing devices, thereby achieving message transmission control.)

[0103] A segment identifier modification action is used to delete, add, or change a segment identifier in the segment list, to which the target port of the target SRv6 message is mapped (by deleting, adding, or changing the segment identifier, the target port of the target SRv6 message is changed).

[0104] In this embodiment, for SRv6 BE traffic, the matching item in the first traffic matching condition further includes a destination address (DA) field in the IPv6 header.

[0105] As an example, in order to facilitate transmission control of SRv6 BE messages, this embodiment designs a flow control action corresponding to the first flow matching condition for the SRv6 BE messages.

[0106] In this embodiment, the traffic control action further includes a second redirection action configured for the SRv6 BE traffic, where the second redirection action includes at least one of the following:

[0107] An IPv6 header pop action is used to remove the IPv6 header of the SRv6 BE message and query a forwarding table based on the destination IP address in the payload, where the forwarding table maps the destination port of the target SRv6 message (by removing the IPv6 header of the SRv6 BE message, the data type of the SRv6 BE message is changed, thereby changing the destination port of the target SRv6 message, thereby achieving message transmission control);

[0108] A source address modification action is used to modify the source address in the SRv6 BE message so that other routing devices can determine whether to receive the SRv6 BE message based on the source address (by modifying the source address in the SRv6 BE message, the processing flow of the SRv6 BE message by other routing devices is changed to achieve message transmission control);

[0109] The destination address modification action is used to modify the destination address of the IPv6 header in the SRv6 BE message, where the destination address is mapped to the destination port of the target SRv6 BE message (by modifying the destination address, the destination port of the target SRv6 BE message is changed to achieve message transmission control).

[0110] Step S30: Based on the flow control action, determine the transmission mode of the target SRv6 message.

[0111] As an example, after the target SRv6 message is determined, transmission control of the target SRv6 message may be performed based on the flow control action corresponding to the first flow matching condition.

[0112] As an example, as shown in Figure 4, routing devices include R1, R2, R3, R4, and R5. Routing protocols such as IS-IS and BGP are configured between the routing devices. Each forwarding path has the same configuration, SRv6 is enabled, and SRv6-related and VPN-related information is configured. END(Rn) represents the END SID (destination address) of routing device Rn (routing device number), END.X(Rn to Rm) represents the END.X SID (destination transmission link address) from routing device Rn to Rm, and END.DX(Rn) represents the END.DX SID (destination VPN link address) corresponding to routing device Rn.

[0113] When the inbound port of routing device R1 receives SRv6 traffic: the inbound public network port Int1 of routing device R1 receives an SRv6 BE message encapsulated with IPv6 DA=END.DX(R5) (the destination address is the VPN link corresponding to routing device R5).

[0114] Assume that Flowspec route 1 includes: Sub-TLV type = 4, the matching item in the first traffic matching condition includes a partial segment identifier field (constraining the Locator and Function values); the corresponding traffic control action includes a pop-up IPv6 header action (for SRv6 BE traffic).

[0115] Flowspec route 2 includes: Sub-TLV type = 4, the matching item in the first traffic matching condition includes SID type = END.DX SID (the type field of the segment identifier is the VPN link address), and the corresponding traffic control action includes a destination address modification action: IPv6 DA = END.DX (R5) (modifying the IPv6 destination address encapsulated in the SRv6 BE message to the VPN link address corresponding to routing device R5).

[0116] When no Flowspec route is received, the public network port Int1 of routing device R1 receives the SRv6 BE message corresponding to the SRv6 BE traffic. By querying the IPv6 forwarding table, the destination address in the outer IPv6 header is routing device R5. Routing device R5 pops the outer IPv6 header of the SRv6 BE message and iterates based on the modified END.DX (VPN link address) to send the SRv6 BE message with the outer IPv6 header popped out from the egress port Int2 based on the local forwarding table.

[0117] Upon receiving the route for Flowspec Route 1, the validity of Flowspec Route 1 is verified and applied to the inbound port Int1. Routing device R1 receives SRv6 BE traffic on its inbound port and determines the traffic matching condition to be the first traffic matching condition corresponding to SRv6 based on the Sub-TLV type=4 field. Based on the corresponding values ​​of the Locator and Function fields in the first traffic matching condition, the END.DX(R5) field (the VPN link address corresponding to routing device R5) is matched. The corresponding IPv6 header pop-up action is performed. On the forwarding plane, routing device R1 queries the forwarding table based on the destination IP address in the payload to complete the forwarding.

[0118] As an example, let's verify the validity of a Flowspec route: first, the traffic matching condition must include the network layer destination prefix. Second, if the traffic control action includes a redirect IP, the redirect destination address must be derived from a unicast BGP route published by the Flowspec server.

[0119] Upon receiving Flowspec route 2, the validity of Flowspec route 2 is verified and applied to ingress port Int1. Routing device R1 receives SRv6 BE traffic on its ingress port and, based on the Sub-TLV type=4 field, determines that the traffic match condition is the first traffic match condition corresponding to SRv6. Based on the SID type=END.DX field in the first traffic match condition, the END.DX(R5) field is matched. The destination address modification action is performed accordingly, modifying the IPv6 destination address encapsulated in the SRv6 BE packet to the VPN link address corresponding to routing device R5. On the forwarding plane, routing device R1 queries the IPv6 forwarding table and, based on the destination address in the outer IPv6 header, forwards the SRv6 BE packet to routing device R5. Because the destination address is the VPN link address corresponding to R5, routing device R5 is required to pop the outer IPv6 encapsulation. Based on the modified END.DX, it iterates to send the SRv6 BE packet, with the outer IPv6 header popped out, from egress port Int3 based on the local forwarding table.

[0120] As an example, as shown in Figure 5, the ingress port of routing device R1 receives an SRv6 Policy message with a destination IPv6 address of R1, SL=4 (the segment list field is 4), and based on SID (4) to SID (0), determines the forwarding path to be R1-R2-R4-R5, and sends it to the private network egress port (VPN link) of R5.

[0121] Assume that Flowspec route 3: Sub-TLV type = 4, and the matching item in the first traffic matching condition includes SL = 4. The corresponding traffic control action includes popping the routing extension header and assigning SID (0) = END.DT (R5) to the IPv6 DA (iterating the SRv6 Policy message to the forwarding process of the SRv6 BE traffic).

[0122] Flowspec route 4: Sub-TLV type=4, the matching item in the first flow matching condition includes SID(0)type=END.X, and the corresponding flow control action includes a segment left (SL) rewrite action.

[0123] When no Flowspec route is received, routing device R1 receives SRv6 Policy traffic on its ingress port Int1. The destination address in the outer IPv6 header matches the local segment list, SL-1 = 3 is executed, and the DA in the IPv6 header is updated to SID (3) = END (R2). The next hop node is routing device R2, and the SRv6 Policy traffic is forwarded from R1 to R2. Similarly, the SRv6 Policy traffic is forwarded from R2 to R4 and R5. Finally, R5 performs the pop-up routing extension header action, iterating the SRv6 Policy message to the forwarding process of the SRv6 BE traffic, and sending it out of the private network egress port Int2. The overall traffic forwarding path is R1-R2-R4-R5.

[0124] Upon receiving Flowspec route 3, the validity of Flowspec route 3 is verified and applied to the inbound port Int1; based on the Sub-TLV type=4 field, the traffic matching condition is determined to be the first traffic matching condition corresponding to SRv6. Based on the SL=4 field in the first traffic matching condition, the SRv6 Policy traffic is matched. The corresponding action of popping the route extension header is performed, and SID(0) is assigned to IPv6 DA=END.DT(R5). On the forwarding plane, routing device R1 queries the forwarding table and iterates the SRv6 Policy message to the forwarding process of the SRv6 BE traffic, transmitting it to routing device R5, which performs the popping of the outer IPv6 header of the SRv6 BE message. Routing device R5 completes the popping of the outer IPv6 encapsulation and, based on the END.DT iteration, sends the SRv6 BE message with the outer IPv6 header popped out from the outbound port Int2 based on the local forwarding table.

[0125] When receiving the route of Flowspec route 4, the validity of Flowspec route 4 is verified and applied to the inbound port Int1. The inbound port of routing device R1 receives SRv6 Policy traffic and determines the traffic matching condition as the first traffic matching condition corresponding to SRv6 based on the Sub-TLV type=4 field. Based on the SID(1)type=END.X field in the first traffic matching condition, the SRv6 Policy traffic is matched. The corresponding remaining segment rewrite action is performed, rewriting SL=4 to SL=1, that is, assigning IPv6 DA=END.X (R4 to R5). On the forwarding plane, routing device R1 executes SL=1 based on the local segment list, updates the DA in the IPv6 header to SID(1)=END.X(R4 to R5), and the next hop node is R4. Then, the SRv6 Policy traffic is forwarded to R5 via R4. Routing device R5 completes the popping of the outer IPv6 encapsulation and, based on the END.DT iteration, sends the SRv6 BE message with the popped outer IPv6 header from the egress port Int2 based on the local forwarding table.

[0126] As an example, as shown in Figure 6, the ingress port of routing device R1 receives SRv6 traffic: the destination IPv6 address is R1 END.SID, SL=4 (the segment list field is 4), and based on SID (4) to SID (0), the forwarding path is determined to be R1-R2-R4-R5, and the SRv6 Policy message is sent to the private network egress port (VPN link) of R5.

[0127] Assume that Flowspec route 5: Sub-TLV type = 4, the matching item in the first flow matching condition includes LOC (Locator) = END (R1) of the IPv6 DA, and the default SID is the DA in the current IPv6 header. The corresponding flow control action includes deleting the SID (3).

[0128] Flowspec route 6: Sub-TLV type=4, the matching item in the first flow matching condition includes SID(1)type=END.X, and the corresponding flow control action includes inserting SID(3)=END.X before SID(2) (R3 to R4).

[0129] Flowspec route 7: Sub-TLV type=4, the matching item in the first flow matching condition includes SID(1)type=END.X, and the corresponding flow control action includes making SID(3)=END.X (R1 to R3).

[0130] When the routing device R1 does not receive a Flowspec route and the ingress port Int1 of the routing device R1 receives SRv6 Policy traffic, the destination address in the outer IPv6 header hits the local segment list, SL-1 = 3 is executed, the DA in the IPv6 header is updated to SID(3)=END(R2), and the next-hop node is the routing device R2. Then, the SRv6 Policy traffic is forwarded from R1 to R2. Similarly, the SRv6 Policy traffic is forwarded from R2 to R4 and R5. Finally, R5 executes the action of popping the routing extension header, iterates the SRv6 Policy packet to the forwarding process of the SRv6 BE traffic, and sends it out through the private network egress port Int2. The overall traffic forwarding path is R1-R2-R4-R5.

[0131] When receiving the Flowspec route 5, verify the validity of the Flowspec route 5 and apply it to the ingress port Int1; determine that the traffic matching condition is the SRv6 corresponding to the first traffic matching condition based on the Sub-TLV type = 4 field. Based on the LOC = END(R1) field in the first traffic matching condition, the SRv6 Policy traffic is hit. Correspondingly, the action of deleting SID(3) is executed. On the forwarding plane, the routing device R1 queries the forwarding table and judges the sizes of m and n in SID(n) and SL = m in the action item. (If n < m, then execute SL-1-1 = 2; if n ≥ m, then execute SL-1 = 3). The DA in the IPv6 header is updated to SID(2)=END(R4), that is, the next-hop node is R4. And because of the lower metric value (the metric value is a variable value obtained after the routing selection protocol algorithm is completed, such as the number of routers passed through, bandwidth, etc.), it is determined that the next-hop node is R3. Then, the SRv6 Policy traffic is forwarded from R1 through R3 and R4 to R5. Finally, R5 executes the popping of the outer IPv6 encapsulation, and iterates based on END.DT to send out the SRv6 Policy packet with the outer IPv6 header popped from the egress port Int2 based on the local forwarding table. The overall traffic forwarding selects a path with lower resource consumption and changes to R1-R3-R4-R5.

[0132] When receiving Flowspec route 6, the validity of Flowspec route 6 is verified and applied to the inbound port Int1; the routing device R1 receives SRv6 Policy traffic at the inbound port and determines that the traffic matching condition is the first traffic matching condition corresponding to SRv6 based on the Sub-TLV type=4 field. Based on the SID(1)type=END.X field in the first traffic matching condition, the SRv6 Policy traffic is matched. Correspondingly, a new SID(3)=END.X(R3 to R4) is executed. On the forwarding plane, routing device R1 executes SL-1=3 based on the local segment list, and the DA in the IPv6 header is updated to SID(3)=END.X(R3 to R4). If the next hop node is R3, the traffic is forwarded from R1 to R2. After adding SID (3), traffic will be forwarded from R2 to R3, and then forwarded to R4 and R5 based on END.X (R3 to R4). Finally, R5 pops the outer IPv6 encapsulation and sends the SRv6 BE message with the outer IPv6 header popped out from the local forwarding table through port Int2. The overall traffic forwarding chooses the path with lower resource consumption, changing to R1-R2-R3-R4-R5.

[0133] When receiving Flowspec route 7, the validity of Flowspec route 7 is verified and applied to the inbound port Int1; the routing device R1 receives SRv6 Policy traffic at the inbound port and determines that the traffic matching condition is the first traffic matching condition corresponding to SRv6 based on the Sub-TLV type=4 field. Based on SID(1)=END(R4) in the first traffic matching condition, the SRv6 Policy traffic is hit. The action of assigning SID(3) to END.X(R1 to R3) is executed accordingly. On the forwarding plane, routing device R1 executes SL-1=3 based on the local segment list, updates the DA in the IPv6 header to SID(3)=END.X(R1 to R3), and the next hop node is R3, so the traffic is forwarded from R1 to R3. The Policy iteration continues through R4 to reach R5, and finally R5 completes the pop-up of the outer IPv6 encapsulation. Based on the END.DT iteration, the SRv6 BE message with the outer IPv6 header popped out is sent from the outbound port Int2 based on the local forwarding table. The overall traffic forwarding chooses the path with lower resource consumption and is changed to R1-R3-R4-R5.

[0134] In this embodiment, a Flowspec route is obtained through a routing device, and the Flowspec route includes a first flow matching condition configured for SRv6 traffic, and a flow control action corresponding to the first flow matching condition; based on the first flow matching condition, the currently received message is matched to obtain a target SRv6 message; based on the flow control action, the transmission mode of the target SRv6 message is determined. Since the first flow matching condition in the Flowspec route and the flow control action corresponding to the first flow matching condition are both configured for the SRv6 traffic, the target SRv6 message can be identified through the first flow matching condition in the Flowspec route, and the SRv6 message can be identified and processed based on the flow control action corresponding to the first flow matching condition. This breaks the limitations of Flowspec technology in identifying and controlling SRv6 traffic.

[0135] Based on the above embodiment of the present application, another embodiment of the present application is provided. In this embodiment, the Flowspec routing further includes a second flow matching condition configured for other types of flow.

[0136] In this embodiment, as shown in FIG7 , the other types of traffic include at least one of data link layer traffic, network layer traffic, MPLS traffic, SRv6 traffic, and EVPN traffic.

[0137] In this embodiment, the Flowspec route includes a type field, and the type field is used to indicate matching conditions of different types of traffic included in the Flowspec route.

[0138] As an example, the type field contains the following content that is a second traffic matching condition configured for other types of traffic:

[0139] -1-L2(Ether or VPN) traffic match;

[0140] -2-L3 (IP or VPN) traffic match: network layer traffic rules;

[0141] -3-MPLS traffic match;

[0142] -5-reserved for EVPN: EVPN (Ethernet Virtual Private Network) traffic rules.

[0143] As an example, the second traffic matching condition of other types of traffic configurations may be set based on the characteristics of the type of traffic.

[0144] As an example, based on the type field, the currently received message is matched to obtain the message corresponding to the target type traffic.

[0145] As an example, when a Flowspec route is obtained, the Flowspec route may include matching conditions for different types of traffic.

[0146] Therefore, it is necessary to match the currently received message based on the traffic matching conditions corresponding to each traffic type in the type field in the Flowspec route.

[0147] For example, if the type field in the current Flowspec route includes traffic matching conditions for MPLS traffic and EVPN traffic, then when matching a currently received packet based on the type field, if a traffic matching condition is met, the currently received packet is determined to be a packet corresponding to the target traffic type. (The target traffic type is the traffic that the Flowspec route is intended to match and that is matched, and the target traffic type is at least one of MPLS traffic and EVPN traffic.)

[0148] In this embodiment, the SRv6 Policy message corresponding to the SRv6 Policy traffic is further encapsulated with an IPv6 header. The step of matching the currently received message based on the first traffic matching condition to obtain the target SRv6 message includes:

[0149] Step A1: Based on the first traffic matching condition, the first IPv6 header and / or the first routing extension header of the currently received message in the encapsulation order are matched to obtain the target SRv6 message.

[0150] As an example, due to the existence of multiple decapsulation schemes such as BSID (compression or decompression of the header), multiple IPv6 headers and routing extension headers may appear simultaneously in the message. Therefore, in the process of matching the currently received message based on the first traffic matching condition, the first IPv6 header and / or the first routing extension header of the currently received message in the encapsulation order is matched to obtain the target SRv6 message to save matching time.

[0151] In this embodiment, the step of matching the currently received message based on the first traffic matching condition to obtain the target SRv6 message includes:

[0152] Step A1: Based on the priorities of the first traffic matching condition and the second traffic matching condition, and the priorities of the matching items in the first traffic matching condition, matching the currently received message to obtain a target SRv6 message;

[0153] In this embodiment, the priority of the first traffic matching condition is lower than the priority of the second traffic matching condition. The priorities of the matching items in the first traffic matching condition are, from high to low, the next header field in the routing extension header, the segment list field in the routing extension header, the type field of the segment identifier in the routing extension header, the partial segment identifier field in the routing extension header, the remaining segments field in the routing extension header, the Flags field in the routing extension header, and the Tag field in the routing extension header.

[0154] As an example, if the first traffic matching condition includes only one of the above matching items, then in the process of matching the currently received message based on the first traffic matching condition, there is no need to determine the priority between the above matching items.

[0155] As an example, if the first traffic matching condition includes at least two of the above matching items at the same time, matching the currently received message based on the priority between the above matching items can improve the efficiency of traffic matching.

[0156] As an example, since different types of traffic have different processing priorities, it is necessary to match the currently received message based on the priorities of the first traffic matching conditions and the second traffic matching conditions corresponding to the different types of traffic. The priority of the first traffic matching condition is lower than the priority of the second traffic matching condition.

[0157] In this embodiment, after the step of matching the currently received message based on the first traffic matching condition, the method further includes:

[0158] If the currently received message is matched based on the first traffic matching condition in the Flowspec route to obtain the target SRv6 message, and at the same time, the currently received message is matched based on the second traffic matching condition in the Flowspec route to obtain the message corresponding to the other type of traffic, then it is determined that the matched target SRv6 message is invalid, and the matched message corresponding to the other type of traffic is valid.

[0159] As an example, since the processing priority of SRv6 traffic is lower, if the Flowspec route contains the first traffic matching condition and the second traffic matching condition, then during the traffic matching process, if the currently received message is matched based on the first traffic matching condition in the Flowspec route to obtain the target SRv6 message, and at the same time, the currently received message is matched based on the second traffic matching condition in the Flowspec route to obtain the message corresponding to the other type of traffic, then it is determined that the matched target SRv6 message is invalid, and the matched message corresponding to the other type of traffic is valid. If the currently received message is matched based on the first traffic matching condition in the Flowspec route to obtain the target SRv6 message, and no message corresponding to the other type of traffic is matched, then it is determined that the target SRv6 message is valid.

[0160] In this embodiment, the flow control action also includes other redirection actions.

[0161] As an example, the flow control action includes at least one of all the rewriting actions in the above-designed first redirection action and the second redirection action.

[0162] As an example, the flow control action also includes other redirection actions specified by the original Flowspe technology.

[0163] Therefore, before determining the transmission control mode of the target SRv6 packet based on the flow control action, it is necessary to determine whether the redirection action and the other redirection action exist simultaneously in the flow control action corresponding to the first flow matching condition. If a flow control action conflict occurs, the flowspec route is determined to be invalid, and the step of determining the transmission control mode of the target SRv6 packet based on the flow control action is not performed. If not, the flowspec route is determined to be valid, and the step of determining the transmission control mode of the target SRv6 packet based on the flow control action is continued.

[0164] In this embodiment, the matching objects of SRv6 traffic (the first IPv6 header and / or the first routing extension header in the encapsulation order) are standardized, and standardized suggestions are made for the priority and effectiveness conditions of traffic matching conditions for various types of traffic. Standard suggestions are made for conflict handling of redirection actions and the validity of Flowspec routes, so as to facilitate the standardized implementation of the transmission control method of SRv6 packets.

[0165] Refer to Figure 8, which is a schematic diagram of the device structure of the hardware operating environment involved in the embodiment of the present application.

[0166] As shown in FIG8 , the SRv6 message transmission control method and device may include: a processor 1001 , a memory 1005 , and a communication bus 1002 . The communication bus 1002 is used to implement connection and communication between the processor 1001 and the memory 1005 .

[0167] In one embodiment, the SRv6 message transmission control method and apparatus may further include a user port, a network port, a camera, an RF (Radio Frequency) circuit, a sensor, a Wi-Fi module, and the like. The user port may include a display and an input submodule such as a keyboard. The user port may also include a standard wired port or a wireless port. The network port may include a standard wired port or a wireless port (such as a Wi-Fi port).

[0168] Those skilled in the art will understand that the SRv6 message transmission control method device structure shown in Figure 8 does not constitute a limitation on the SRv6 message transmission control method device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0169] As shown in Figure 8, memory 1005, a storage medium, may include an operating system, a network communication module, and an SRv6 message transmission control method program. The operating system manages and controls the hardware and software resources of the SRv6 message transmission control method device and supports the execution of the SRv6 message transmission control method program and other software and / or programs. The network communication module is used to enable communication between components within memory 1005 and with other hardware and software in the SRv6 message transmission control method system.

[0170] In the SRv6 message transmission control method device shown in Figure 8, the processor 1001 is used to execute the SRv6 message transmission control method program stored in the memory 1005 to implement the steps of the SRv6 message transmission control method described in any one of the above items.

[0171] The specific implementation of the SRv6 message transmission control method and device of the present application is basically the same as the various embodiments of the SRv6 message transmission control method described above, and will not be repeated here.

[0172] The present application also provides a method and apparatus for controlling transmission of SRv6 packets, which is applied to a routing device. As shown in FIG9 , the apparatus includes:

[0173] The route receiving module 10 is configured to obtain a Flowspec route, wherein the Flowspec route includes a first flow matching condition configured for SRv6 flow and a flow control action corresponding to the first flow matching condition;

[0174] A matching module 20 is configured to match the currently received message based on the first traffic matching condition to obtain a target SRv6 message;

[0175] The control module 30 is configured to determine a transmission mode of the target SRv6 message based on the flow control action.

[0176] In a possible implementation of the present application, the SRv6 traffic includes SRv6 Policy traffic, the target SRv6 message includes an SRv6 Policy message corresponding to the SRv6 Policy traffic, the SRv6 Policy message is encapsulated with a routing extension header, and the matching item in the first traffic matching condition includes at least one of the following:

[0177] Next Header field in the Routing extension header;

[0178] The segment list field in the routing extension header;

[0179] The type field of the segment identifier in the routing extension header;

[0180] The partial segment identifier field in the routing extension header;

[0181] the remaining segments field in the routing extension header;

[0182] The Flags field in the routing extension header;

[0183] The Tag field in the routing extension header.

[0184] In a possible implementation manner of the present application, the SRv6 traffic also includes SRv6 BE traffic, the target SRv6 message also includes an SRv6 BE message corresponding to the SRv6 BE traffic, the SRv6 BE message is encapsulated with an IPv6 header, and the matching item in the first traffic matching condition also includes a destination address field in the IPv6 header.

[0185] In a possible implementation of the present application, the matching module 20 includes:

[0186] The first matching submodule is configured to match the first IPv6 header and / or the first routing extension header of the currently received message in the encapsulation order based on the first traffic matching condition to obtain the target SRv6 message.

[0187] In a possible implementation manner of the present application, the traffic control action includes a first redirection action configured for the SRv6 Policy traffic, where the first redirection action includes at least one of the following:

[0188] A pop-out routing extension header action is used to remove the routing extension header of the SRv6 Policy message, encapsulate the preset segment identifier into the IPv6 header of the SRv6 Policy message, and iterate the SRv6 Policy message to the forwarding process of the SRv6 BE traffic by querying the forwarding table, where the forwarding process is mapped to the target port of the target SRv6 message;

[0189] A remaining segment rewrite action is used to modify the value of the remaining segment in the SRv6 Policy message, where the modified remaining segment value indicates a corresponding segment identifier, and the segment identifier is mapped to the target port of the target SRv6 message;

[0190] A Tag value modification action is used to modify the Tag value in the SRv6 Policy message, where the Tag value indicates the message type of the SRv6 Policy message, and the message type is mapped to the data type of the target SRv6 message;

[0191] The segment identifier modification action is used to delete, add, or change the segment identifier in the segment list, where the segment identifier is mapped to the target port of the target SRv6 message.

[0192] In a possible implementation of the present application, the traffic control action further includes a second redirection action configured for the SRv6 BE traffic, where the second redirection action includes at least one of the following:

[0193] An IPv6 header pop action is used to remove the IPv6 header of the SRv6 BE message and query a forwarding table based on the destination IP address in the payload, where the forwarding table is mapped to the destination port of the target SRv6 message;

[0194] A source address modification action, configured to modify the source address in the SRv6 BE message so that other routing devices can determine whether to receive the SRv6 BE message based on the source address;

[0195] The destination address modification action is used to modify the destination address of the IPv6 header in the SRv6 BE message, where the destination address is mapped to the destination port of the target SRv6 BE message.

[0196] In a possible implementation manner of the present application, the Flowspec routing further includes a second flow matching condition configured for other types of flows;

[0197] The matching module 20 further includes:

[0198] A second matching submodule, configured to match the currently received message based on the priorities of the first traffic matching condition and the second traffic matching condition, and the priorities of the matching items in the first traffic matching condition, to obtain a target SRv6 message;

[0199] The priority of the first traffic matching condition is lower than the priority of the second traffic matching condition, and the priorities of the matching items in the first traffic matching condition are, from high to low, the next header field in the routing extension header, the segment list field in the routing extension header, the type field of the segment identifier in the routing extension header, the partial segment identifier field in the routing extension header, the remaining segments field in the routing extension header, the Flags field in the routing extension header, and the Tag field in the routing extension header.

[0200] In a possible implementation manner of the present application, the other type of traffic includes at least one of data link layer traffic, network layer traffic, MPLS traffic, and EVPN traffic;

[0201] After the step of matching the currently received message based on the first traffic matching condition, the apparatus further includes:

[0202] The validity judgment module is used to match the currently received message based on the first traffic matching condition in the Flowspec route to obtain the target SRv6 message, and at the same time match the currently received message based on the second traffic matching condition in the Flowspec route to obtain the message corresponding to the other type of traffic, then determine that the matched target SRv6 message is invalid and the matched message corresponding to the other type of traffic is valid.

[0203] The specific implementation of the SRv6 message transmission control method device of the present application is basically the same as the various embodiments of the SRv6 message transmission control method described above, and will not be repeated here.

[0204] The present application also provides a storage medium, on which a transmission control method program for an SRv6 message is stored. When the transmission control method program for an SRv6 message is executed by a processor, the steps of the transmission control method for an SRv6 message as described in any one of the above items are implemented.

[0205] The specific implementation of the storage medium of the present application is basically the same as the various embodiments of the above-mentioned SRv6 message transmission control method, and will not be repeated here.

[0206] As used herein, the terms "comprise," "include," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or system that includes a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or system. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not preclude the presence of additional identical elements in the process, method, article, or system that includes the element.

[0207] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0208] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0209] The above are merely optional embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A transmission control method for an SRv6 message, applied to a routing device, comprising the following steps: Obtain a Flowspec route, where the Flowspec route includes a first flow matching condition configured for SRv6 flow, and a flow control action corresponding to the first flow matching condition; Based on the first traffic matching condition, matching the currently received message to obtain a target SRv6 message; Based on the flow control action, a transmission mode of the target SRv6 message is determined.

2. The SRv6 message transmission control method according to claim 1, wherein: The SRv6 traffic includes SRv6 Policy traffic, the target SRv6 message includes an SRv6 Policy message corresponding to the SRv6 Policy traffic, a routing extension header is encapsulated in the SRv6 Policy message, and the matching item in the first traffic matching condition includes at least one of the following: Next Header field in the Routing extension header; The segment list field in the routing extension header; The type field of the segment identifier in the routing extension header; The partial segment identifier field in the routing extension header; The remaining segments field in the routing extension header; The Flags field in the routing extension header; The Tag field in the routing extension header.

3. The SRv6 message transmission control method according to claim 2, wherein: The SRv6 traffic also includes SRv6 BE traffic, the target SRv6 message also includes an SRv6 BE message corresponding to the SRv6 BE traffic, the SRv6 BE message is encapsulated with an IPv6 header, and the matching item in the first traffic matching condition also includes a destination address field in the IPv6 header.

4. The SRv6 message transmission control method according to claim 3, wherein: The SRv6 Policy message corresponding to the SRv6 Policy traffic is further encapsulated with an IPv6 header. The step of matching the currently received message based on the first traffic matching condition to obtain the target SRv6 message includes: Based on the first traffic matching condition, the first IPv6 header and / or the first routing extension header of the currently received message in the encapsulation order are matched to obtain the target SRv6 message.

5. The SRv6 message transmission control method according to any one of claims 3 to 4, wherein: The traffic control action includes a first redirection action configured for the SRv6 Policy traffic, and the first redirection action includes at least one of the following: A routing extension header pop-up action is configured to remove the routing extension header of the SRv6 Policy message, encapsulate a preset segment identifier into the IPv6 header of the SRv6 Policy message, and iterate the SRv6 Policy message to the forwarding process of the SRv6 BE traffic by querying the forwarding table, wherein the forwarding process is mapped with a target port of the target SRv6 message; A remaining segment rewriting action is configured to modify the assignment of the remaining segments in the SRv6 Policy message, wherein the assignment of the remaining segments after modification indicates a corresponding segment identifier, and the segment identifier is mapped with a target port of the target SRv6 message; A Tag value modification action is configured to modify a Tag value in the SRv6 Policy message, wherein the Tag value indicates a message type of the SRv6 Policy message, and the message type is mapped to a data type of the target SRv6 message; The segment identifier modification action is set to delete, add or change the segment identifier in the segment list, and the segment identifier is mapped with the target port of the target SRv6 message.

6. The SRv6 message transmission control method according to claim 5, wherein: The traffic control action further includes a second redirection action configured for the SRv6 BE traffic, wherein the second redirection action includes at least one of the following: An IPv6 header pop-up action is configured to remove the IPv6 header of the SRv6 BE message, and query a forwarding table based on a destination IP address in a payload, wherein the forwarding table maps a destination port of the target SRv6 message; A source address modification action is configured to modify a source address in the SRv6 BE message, so that other routing devices can determine whether to receive the SRv6 BE message based on the source address; The destination address modification action is set to modify the destination address of the IPv6 header in the SRv6 BE message, and the destination address is mapped with the destination port of the target SRv6 BE message.

7. The SRv6 message transmission control method according to claim 2-4, wherein: The Flowspec routing also includes a second flow matching condition configured for other types of flows; The step of matching the currently received message based on the first traffic matching condition to obtain the target SRv6 message includes: Based on the priorities of the first traffic matching condition and the second traffic matching condition, and the priorities of the matching items in the first traffic matching condition, the currently received message is matched to obtain a target SRv6 message; Among them, the priority of the first traffic matching condition is lower than the priority of the second traffic matching condition, and the priorities of the matching items in the first traffic matching condition are, from high to low, the next header field in the routing extension header, the segment list field in the routing extension header, the type field of the segment identifier in the routing extension header, the partial segment identifier field in the routing extension header, the remaining segments field in the routing extension header, the Flags field in the routing extension header, and the Tag field in the routing extension header.

8. The SRv6 message transmission control method according to claim 7, wherein: The other types of traffic include at least one of data link layer traffic, network layer traffic, MPLS traffic, and EVPN traffic; After the step of matching the currently received message based on the first traffic matching condition, the method further includes: If the currently received message is matched based on the first traffic matching condition in the Flowspec route to obtain the target SRv6 message, and at the same time, the currently received message is matched based on the second traffic matching condition in the Flowspec route to obtain the message corresponding to the other type of traffic, then it is determined that the matched target SRv6 message is invalid, and the matched message corresponding to the other type of traffic is valid.

9. A transmission control device for SRv6 messages, wherein: The device comprises: a route receiving module, configured to obtain a Flowspec route, wherein the Flowspec route includes a first flow matching condition configured for SRv6 flow, and a flow control action corresponding to the first flow matching condition; A matching module, configured to match the currently received message based on the first traffic matching condition to obtain a target SRv6 message; The control module is configured to determine a transmission mode of the target SRv6 message based on the flow control action.

10. A transmission device for SRv6 messages, wherein: The device includes: a memory, a processor, and a transmission program for SRv6 messages stored in the memory and executable on the processor, wherein the transmission program for SRv6 messages is configured to implement the steps of the transmission control method for SRv6 messages as described in any one of claims 1 to 8.

11. A storage medium, wherein: The storage medium stores a transmission program for an SRv6 message, and when the transmission program for the SRv6 message is executed by a processor, the steps of the SRv6 message transmission control method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • IP traffic transmission method and device, and network side equipment

    CN114650262A

  • Route acquisition method and device, storage medium and electronic device

    CN115348206A

  • Method and device for monitoring abnormal traffic of SRv6 tunnel based on flowspec technology

    CN115766219A

  • Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol

    US20210385150A1