CN114285907B - Data transmission method, device, electronic equipment and storage medium - Google Patents

Data transmission method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114285907B
CN114285907B CN202111470049.XA CN202111470049A CN114285907B CN 114285907 B CN114285907 B CN 114285907B CN 202111470049 A CN202111470049 A CN 202111470049A CN 114285907 B CN114285907 B CN 114285907B
Authority
CN
China
Prior art keywords
data
data message
vas
node
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111470049.XA
Other languages
Chinese (zh)
Other versions
CN114285907A (en
Inventor
庞冉
王光全
曹畅
张学茹
朱琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202111470049.XA priority Critical patent/CN114285907B/en
Publication of CN114285907A publication Critical patent/CN114285907A/en
Application granted granted Critical
Publication of CN114285907B publication Critical patent/CN114285907B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application provides a data transmission method, a data transmission device, electronic equipment and a storage medium, relates to the technical field of communication, and is used for providing value-added service capability for user service according to requirements. The method comprises the following steps: acquiring a first data message; determining at least two second data messages according to the first data messages; wherein the SL values of the at least two second data messages are different from the SL values of the first data messages; the SL values of the second data messages are different; and forwarding the corresponding second data message or the original data message or processing the second data message to the node corresponding to each second data message according to the SID indicated by the SL value in each second data message. The method and the device are used in the data transmission process.

Description

Data transmission method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a data transmission method, a data transmission device, an electronic device, and a storage medium.
Background
In the related art, only serial VAS services are supported in a scenario based on a segment routing internet protocol version 6 (Segment Routing Internet Protocol Version, srv 6) service function chain (service function chain, SFC). The serial VAS service refers to that the data message is forwarded through each VAS node in sequence, and each VAS node carries out corresponding data processing on the data message to realize the value added service related to the VAS node. In serial VAS service, the data message to be transmitted needs to be processed by the VAS node, which will affect the time delay, service performance and reliability of the service. Therefore, how to provide value added service capability for user service as required in the value added service scenario without serial processing necessity becomes the current urgent problem to be solved.
Disclosure of Invention
The application provides a data transmission method, a data transmission device, electronic equipment and a storage medium, which can provide value-added service capability for user service according to requirements.
In a first aspect, a data transmission method is provided, including: acquiring a first data message; the first data message includes: the values of the segment routing extension message header SRH and SL and the original data message; the SRH comprises a plurality of SIDs, wherein the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and rear SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate the number of SIDs that need to be processed to reach the destination node; the SID corresponding to the VAS node is any one of the following: the SID of the VAS node or the SID of the Proxy corresponding to the VAS node; determining at least two second data messages according to the first data messages; wherein the at least two second data messages differ from the value of SL of the first data message; the SL values of the at least two second data messages are different; and forwarding the corresponding second data message to the node corresponding to each second data message or processing the second data message according to the SID indicated by the SL value in each second data message.
With reference to the first aspect, in one possible implementation manner, the first data packet includes a first field, where the first field is used to indicate copying the first data packet; the determining at least two second data messages according to the first data messages includes: copying the first data messages according to the first fields to obtain at least two first data messages; and respectively adjusting the SL value of each first data message in the at least two first data messages, and determining the at least two second data messages.
With reference to the first aspect, in a possible implementation manner, the first field is specifically configured to indicate that N-1 first data packets are replicated.
With reference to the first aspect, in one possible implementation manner, the at least two first data packets are N first data packets; the at least two second data messages are N second data messages.
With reference to the first aspect, in one possible implementation manner, the values of SL in the N first data packets are all M, where M is a positive integer greater than or equal to N.
With reference to the first aspect, in one possible implementation manner, a value of SL of an ith data packet in the N second data packets is M-i, where i is a positive integer less than or equal to N; when i is smaller than N, the value of SL of the ith data message is used for indicating SIDs corresponding to the ith VAS node in the N-1 VAS nodes; when i is equal to N, the value of SL for the ith data packet is used to indicate the postsid.
With reference to the first aspect, in a possible implementation manner, the SID corresponding to the VAS node is a VAS SID; the forwarding, according to the SID indicated by the SL value in each second data packet, the corresponding second data packet to the node corresponding to each second data packet includes: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the VAS SID of the ith VAS node; and sending the ith second data message to the ith VAS node.
With reference to the first aspect, in a possible implementation manner, in a case where i is less than N, a second field is included in an i-th VAS SID in the SRH in the i-th second data packet; the second field is used for indicating the VAS node to not need to forward the data message carrying the second field.
With reference to the first aspect, in one possible implementation manner, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node; and processing the second data message according to the SID indicated by the value of SL in each second data message, including: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the Proxy SID corresponding to the ith VAS node; processing the ith second data message; and sending the processed second data message to the ith VAS node.
With reference to the first aspect, in one possible implementation manner, in a case where i is smaller than N, a third field is included in a Proxy SID corresponding to an i-th VAS node in the SRH in the i-th second data packet; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
With reference to the first aspect, in a possible implementation manner, the first field is specifically configured to indicate that 1 first data packet is copied.
With reference to the first aspect, in one possible implementation manner, the at least two first data packets are two first data packets; the at least two second data messages are two second data messages.
With reference to the first aspect, in one possible implementation manner, the values of SL in the two first data packets are both M, where M is a positive integer greater than or equal to N.
With reference to the first aspect, in one possible implementation manner, a value of SL in a first second data packet of the two second data packets is M-1; the value of SL in the second data message is M-N; the value of SL in the first and second data messages is used for indicating SIDs corresponding to the 1 st VAS node in the N-1 VAS nodes; the value of SL in the second data packet is used to indicate the postsid.
With reference to the first aspect, in one possible implementation manner, the SID corresponding to the VAS node is the VAS SID.
With reference to the first aspect, in one possible implementation manner, a fourth field is included in 1 st to N-2 th VAS SID in the SRH in the first and second data packets; the fourth field is used for indicating a VAS node to perform SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation; the N-1 th VAS SID in the SRH in the first data message comprises a second field; the second field of the VAS node is used for indicating that the VAS node does not need to forward the data message carrying the second field.
With reference to the first aspect, in one possible implementation manner, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node.
With reference to the first aspect, in one possible implementation manner, a fifth field is included in the SID of Proxy corresponding to the 1 st to N-2 th VAS nodes in the SRH in the first and second data packets; the fifth field is configured to instruct the Proxy to send a processed second data packet to a corresponding VAS node, and return a third data packet to a service function forwarder SFF, where the third data packet is a data packet determined by the VAS node corresponding to the Proxy according to the processed second data packet; the N-1 th VAS SID in the SRH in the first data message comprises a third field; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
With reference to the first aspect, in a possible implementation manner, the method further includes: receiving the third data message from the Proxy; adding the SRH of the first and second data messages to the third data message, and subtracting 1 from the SL value in the SRH of the first and second data messages to obtain a fourth data message; determining the SID indicated by the value of SL in said fourth data message; and sending the fourth data message to a Proxy corresponding to the SID indicated by the SL value in the fourth data message.
With reference to the first aspect, in a possible implementation manner, the first field is carried in an SFF SID of the first data packet.
With reference to the first aspect, in a possible implementation manner, the first field is specifically carried in a Function field of an SFF SID of the first data packet.
With reference to the first aspect, in a possible implementation manner, the first field is specifically carried in an image field of an SFF SID of the first data packet.
In a second aspect, there is provided a data transmission apparatus comprising: a communication unit and a processing unit; the communication unit is used for acquiring a first data message; the first data message includes: the values of the segment routing extension message header SRH and SL and the original data message; the SRH comprises a plurality of SIDs, wherein the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and rear SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate the number of SIDs that need to be processed to reach the destination node; the SID corresponding to the VAS node is any one of the following: the SID of the VAS node or the SID of the Proxy corresponding to the VAS node; the processing unit is used for determining at least two second data messages according to the first data messages; wherein the at least two second data messages differ from the value of SL of the first data message; the SL values of the at least two second data messages are different; and the processing unit is further configured to forward the corresponding second data message to a node corresponding to each second data message or process the second data message according to the SID indicated by the SL value in each second data message.
With reference to the second aspect, in one possible implementation manner, the first data packet includes a first field, where the first field is used to indicate copying of the first data packet; the processing unit is specifically configured to: copying the first data messages according to the first fields to obtain at least two first data messages; and respectively adjusting the SL value of each first data message in the at least two first data messages, and determining the at least two second data messages.
With reference to the second aspect, in one possible implementation manner, the first field is specifically configured to indicate that N-1 first data packets are replicated.
With reference to the second aspect, in one possible implementation manner, the at least two first data packets are N first data packets; the at least two second data messages are N second data messages.
With reference to the second aspect, in one possible implementation manner, values of SL in the N first data packets are all M, where M is a positive integer greater than or equal to N.
With reference to the second aspect, in one possible implementation manner, a value of SL of an i-th data packet in the N second data packets is M-i, where i is a positive integer less than or equal to N; when i is smaller than N, the value of SL of the ith data message is used for indicating SIDs corresponding to the ith VAS node in the N-1 VAS nodes; when i is equal to N, the value of SL for the ith data packet is used to indicate the postsid.
With reference to the second aspect, in a possible implementation manner, a SID corresponding to the VAS node is a VAS SID; the processing unit is specifically configured to: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the VAS SID of the ith VAS node; and indicating the communication unit to send the ith second data message to the ith VAS node.
With reference to the second aspect, in a possible implementation manner, in a case where i is smaller than N, a second field is included in an i-th VAS SID in the SRH in the i-th second data packet; the second field is used for indicating the VAS node to not need to forward the data message carrying the second field.
With reference to the second aspect, in one possible implementation manner, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node; the processing unit is specifically configured to: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the Proxy SID corresponding to the ith VAS node; processing the ith second data message; and indicating the communication unit to send the processed second data message to the ith VAS node.
With reference to the second aspect, in one possible implementation manner, in a case where i is smaller than N, a third field is included in a SID of a Proxy corresponding to an i-th VAS node in the SRH in the i-th second data packet; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
With reference to the second aspect, in one possible implementation manner, the first field is specifically configured to indicate that 1 first data packet is copied.
With reference to the second aspect, in one possible implementation manner, the at least two first data packets are two first data packets; the at least two second data messages are two second data messages.
With reference to the second aspect, in one possible implementation manner, the values of SL in the two first data packets are both M, where M is a positive integer greater than or equal to N.
With reference to the second aspect, in one possible implementation manner, a value of SL in a first second data packet of the two second data packets is M-1; the value of SL in the second data message is M-N; the value of SL in the first and second data messages is used for indicating SIDs corresponding to the 1 st VAS node in the N-1 VAS nodes; the value of SL in the second data packet is used to indicate the postsid.
With reference to the second aspect, in a possible implementation manner, the SID corresponding to the VAS node is the VAS SID.
With reference to the second aspect, in one possible implementation manner, a fourth field is included in the 1 st to N-2 th VAS SID in the SRH in the first and second data packets; the fourth field is used for indicating a VAS node to perform SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation; the N-1 th VAS SID in the SRH in the first data message comprises a second field; the second field of the VAS node is used for indicating that the VAS node does not need to forward the data message carrying the second field.
With reference to the second aspect, in one possible implementation manner, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node.
With reference to the second aspect, in one possible implementation manner, a fifth field is included in the SID of Proxy corresponding to the 1 st to N-2 th VAS nodes in the SRH in the first and second data packets; the fifth field is configured to instruct the Proxy to send a processed second data packet to a corresponding VAS node, and return a third data packet to a service function forwarder SFF, where the third data packet is a data packet determined by the VAS node corresponding to the Proxy according to the processed second data packet; the N-1 th VAS SID in the SRH in the first data message comprises a third field; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
With reference to the second aspect, in a possible implementation manner, the processing unit is further configured to: instructing the communication unit to receive the third data message from the Proxy; adding the SRH of the first and second data messages to the third data message, and subtracting 1 from the SL value in the SRH of the first and second data messages to obtain a fourth data message; determining the SID indicated by the value of SL in said fourth data message; and indicating the communication unit to send the fourth data message to a Proxy corresponding to the SID indicated by the SL value in the fourth data message.
With reference to the second aspect, in a possible implementation manner, the first field is carried in an SFF SID of the first data packet.
With reference to the second aspect, in a possible implementation manner, the first field is specifically carried in a Function field of an SFF SID of the first data packet.
With reference to the second aspect, in one possible implementation manner, the first field is specifically carried in an image field of an SFF SID of the first data packet.
In a third aspect, the present application provides a data transmission apparatus comprising: a processor and a communication interface; the communication interface is coupled to a processor for running a computer program or instructions to implement the data transmission method as described in any one of the possible implementations of the first aspect and the first aspect.
In a fourth aspect, the present application provides a computer readable storage medium having instructions stored therein which, when executed by a processor of a data transmission apparatus, enable the data transmission apparatus to perform a data transmission method as described in any one of the possible implementations of the first aspect and the first aspect.
In the present application, the names of the above-mentioned data transmission apparatuses do not constitute limitations on the devices or function modules themselves, and in actual implementations, these devices or function modules may appear under other names. Insofar as the function of each device or function module is similar to that of the present invention, it falls within the scope of the claims of the present invention and the equivalents thereof.
These and other aspects of the invention will be more readily apparent from the following description.
The technical scheme provided by the application at least brings the following beneficial effects: in SRv SFC scene, SFF obtains at least two second data messages through a first data message, and the values of SL of the at least two second data messages are different from those of SL of the first data message; the SL values of each of the at least two second data messages are different. So that the SL in the at least two second data messages can point to the VAS node and the post node, respectively. In this way, the SFF may send the second data packet of the SL directed to the VAS node, and the VAS node provides the bypass VAS traffic detection service for the period of time, and send the second data packet of the SL directed to the post node for performing the forwarding process of the data packet. Based on the method, the value added service capability can be provided for the user service according to the requirement.
Drawings
Fig. 1 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 2 is a schematic diagram of a network architecture of an SFC network according to an embodiment of the present application;
fig. 3 is a schematic diagram of a network architecture of a SRv SFC network according to an embodiment of the present disclosure;
fig. 4 is a schematic diagram of an IPv6 data packet including SRH according to an embodiment of the present application;
fig. 5 is a flow chart of a data transmission method according to an embodiment of the present application;
fig. 6 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 7 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 8 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 9 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of another data transmission device according to an embodiment of the present application.
Detailed Description
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms "first" and "second" and the like in the description and in the drawings are used for distinguishing between different objects or for distinguishing between different processes of the same object and not for describing a particular sequential order of objects.
Furthermore, references to the terms "comprising" and "having" and any variations thereof in the description of the present application are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed but may optionally include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more.
In order to implement the data transmission method provided by the embodiment of the present application, the embodiment of the present application provides a data transmission device for executing the data transmission method. The data transmission device described in the present application may specifically be an SFF in a SRv SFC network. Fig. 1 is a schematic structural diagram of a data transmission device according to an embodiment of the present application. As shown in fig. 1, the data transmission device 100 comprises at least one processor 101, a communication line 102, and at least one communication interface 104, and may further comprise a memory 103. The processor 101, the memory 103, and the communication interface 104 may be connected through a communication line 102.
The processor 101 may be a central processing unit (central processing unit, CPU), an application specific integrated circuit (application specific integrated circuit, ASIC), or one or more integrated circuits configured to implement embodiments of the present application, such as: one or more digital signal processors (digital signal processor, DSP), or one or more field programmable gate arrays (field programmable gate array, FPGA).
Communication line 102 may include a pathway for communicating information between the aforementioned components.
The communication interface 104, for communicating with other devices or communication networks, may use any transceiver-like device, such as ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc.
The memory 103 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM), a compact disc read-only memory (compact disc read-only memory) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to include or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
In a possible design, the memory 103 may exist independent of the processor 101, i.e. the memory 103 may be a memory external to the processor 101, where the memory 103 may be connected to the processor 101 through a communication line 102 for storing execution instructions or application program codes, and the execution is controlled by the processor 101 to implement a data transmission method provided in the embodiments described below. In yet another possible design, the memory 103 may be integrated with the processor 101, i.e., the memory 103 may be an internal memory of the processor 101, e.g., the memory 103 may be a cache, and may be used to temporarily store some data and instruction information, etc.
As one implementation, processor 101 may include one or more CPUs, such as CPU0 and CPU1 in fig. 1. As another implementation, the data transmission device 100 may include a plurality of processors, such as the processor 101 and the processor 107 in fig. 1. As yet another implementation, the data transmission apparatus 100 may further include an output device 105 and an input device 106.
The following explains the terms related to the embodiments of the present application, so as to facilitate the understanding of the reader.
1. Service Function (SF).
The server function in the embodiment of the application is a service function of providing safe, rapid and stable network service for the data message by various service nodes when the data message is transmitted in the network.
The network services provided by SF are typically in layers four through 7 (layers 4 through Layer 7, L4 through L7) of the open systems interconnection (open system interconnection, OSI) model. E.g., DPI, FW, IPS, etc. Since these services are in turn Value-added Service (VAS) nodes, SF is in this application again equivalent to a VAS node.
The node that provides the service function for the data message is called a VAS node. VAS nodes to which the present application relates include, but are not limited to: deep packet inspection (deep packet inspection, DPI), firewall (FireWalls) nodes, load Balancing (Load Balancing) nodes, intrusion prevention system (Intrusion Prevention System, IPS) nodes, network application firewall (web application firewall, WAF) nodes.
In the data message transmission process, the data message generally needs to sequentially pass through the corresponding VAS nodes according to the sequence corresponding to the service logic of the data message, so as to realize the service requirement required by the data message.
2、SFC。
A service function chain, also called service chain or traffic chain, is a data transmission link consisting of a set of SF nodes (also called VAS nodes). When the data message needs to provide a service function for the corresponding service function chain, the path information of the service function chain can be written into the data message, so that each VAS node in the service function chain can process the data message in sequence and provide the corresponding service function; after the processing is completed, the VAS node determines the VAS node of the next hop according to the path information of the service function chain in the data message, and forwards the data message to the VAS node of the next hop.
There are various methods of implementing SFC in the related art, such as NSH technology, SRv6 technology, and the like. The present application relates generally to SRv6 based SFC technology.
In a possible implementation manner, the network architecture of the SFC is as shown in fig. 2, and includes: a source node 101, a flow classifier 102, at least one traffic function forwarder (service function forwarder, SFF) 103, at least one SF104, and a destination node 105.
The source node 101 generates a node of the data packet, and the destination node 105 is a node that the data packet needs to reach.
A flow classifier 102 for classifying the data packets from the source node 101 in the form of data flows and forwarding the data packets into corresponding traffic paths (service function path, SFP). The flow classifier is the starting point of the SFC and generally supports five-tuple based traffic classification rules.
SFF103 is used for forwarding data message in SFC. SFF103 is typically connected to SF104 for identifying the content in the data message and forwarding the message to the corresponding SF104 based on the content in the message.
SF104 is used to provide specific service functions for data messages. The service function provided by SF may refer to the description of "1 and service function" in the above explanation of nouns, and will not be repeated here.
3. Serial VAS services and bypass VAS traffic detection services.
Two common ways of VAS service include: a. serial VAS node service; b. bypass VAS flow detection.
The serial VAS node service refers to that the data message needs to be processed by the VAS node to realize the service function corresponding to the VAS node. For example, the VAS node is a firewall node, and a data message with an internet destination address can enter the internet only after passing through the firewall. Because the VAS nodes in the serial VAS service need to process the data messages, the serial VAS service generally affects the time delay, service performance and reliability of the data messages. Part of the low latency, large bandwidth traffic may not be suitable for serial VAS services.
Bypass VAS traffic detection services refer to services, such as audit services, where data messages do not require the VAS node to process, and where the VAS node only needs to detect the relevant content of the data message. In bypass VAS flow detection service, copying the data message in a mirror image mode, and sending the copied data message to a corresponding VAS node, wherein the VAS node detects the copied data message; the original data message can be forwarded continuously according to the forwarding path without processing through the VAS node. Because the VAS node does not need to process the data message in the bypass VAS flow detection service, the bypass VAS flow detection service has less influence on the time delay, service performance and reliability of the data message.
However, the current implementation of the SRv service chain is only applicable to the serial VAS service scenario, but not applicable to the bypass VAS traffic detection service scenario.
4、SRv6。
SRv6 networks typically include three nodes, a SRv source node, a transit node, and a SRv segment 6 endpoint node.
Wherein SRv source node refers to the node that generates SRv data packets. The processes of stacking SRv data messages and the like are completed in the source node.
A transit node refers to a node that forwards SRv data messages. The transit node only forwards SRv6 data messages, and does not perform any SRv processing.
SRv6 segment 6 end nodes refer to nodes that receive and process SRv6 data packets. SRv6 Segment end nodes can parse SRv the data packet, determine SRv Segment Identity (SID) instruction and SRH instruction of the data packet, and execute corresponding operations according to these instructions.
In the related art, implementations of SRv SFC include Stateless (Stateless) SRv SFC and Stateful (Stateful) SRv SFC.
Wherein Stateless SRv6 SFC refers to an implementation that does not maintain forwarding state for each SFC on SFF.
Stateful SRv6 SFC refers to an implementation that requires maintaining forwarding state for each SFC on the SFF. The present application is primarily described with respect to the implementation of Stateful SRv6 SFC.
In a Stateful SRv6 SFC implementation, comprising: both Aware and Unaware scenarios.
Aware refers to the SFs in SRv that all support SRv6, which can be directly connected to SFF. The SF issues in the network a SID, also called Service SID, corresponding to the SF.
The Unaware indicates that the SF in SRv6 does not support SRv6, a SRv6 Proxy (SRv Proxy) needs to be added between the SF and the SFF, the SRv Proxy forwards the SRv6 data message from the SFF to the SF, after the SF finishes processing the SRv6 data message, the SF returns the processed SRv6 data message to the SRv Proxy, and the SRv Proxy sends the processed SRv6 data message to the SFF. In the Unaware scenario, the SID of SRv6 Proxy is published in SRv. The functionality of SRv Proxy is typically integrated in SFF.
5. SRv6 Unaware scene.
In the Unaware scenario, a network architecture schematic diagram of SRv SFC is shown in fig. 3, and includes: classifier (service classifier, SC) 201, at least one SFF202, at least one SF203, IPv6 node 204, and SRv tail node 205.
The descriptions of the classifier SC201, the at least one SFF202, and the at least one SF203 may refer to the descriptions of the flow classifier 102, the at least one SFF103, and the at least one SF104 in fig. 2, which are not described herein.
As an example, SFF202 includes sff#1 and sff#2, as shown in fig. 3. SF203 includes sf#1 and sf#2.
The IPv6 node 204 is a forwarding node for forwarding the data packet during service forwarding. SRv6 Tail node (Tail End) 205 is the node that the data message needs to reach.
The following describes a procedure of forwarding data by SRv SFC in the Unaware scenario with reference to fig. 3:
step 1, a classifier receives a data message. The data message may be an original IPv4 message (denoted as original data message) from the user network.
And step 2, classifying the data message by the classifier through matching with five-tuple and other classification information, and redirecting the data message subjected to SRv SFC classification to SRv (Traffic Engineering) traffic engineering Policy (also named SRv6 TE Policy).
And 3, the classifier packages SRv messages according to SRv TE Policy, and increases SRH. The destination address of the encapsulated data packet (noted as first SRv packet) is sf#1proxy SID.
And 4, the classifier sends a first SRv message to the SFF#1. Correspondingly, sff#1 receives the first SRv6 message from the classifier.
Step 5, the SFF#1 analyzes the first SRv message, and determines that the destination address of the message is SF#1Proxy SID; SFF#1 sends the original data message in the first SRv message to SF#1. Accordingly, sf#1 receives the original data packet from sff#1.
And 6, processing the original data message by the SF#1, and sending the processed data message back to the SFF#1.
And 7, searching configuration information according to the information of an input interface (an interface connected with an SF on the SFF and used for receiving the IPv4 message) of the message by using the SFF#1, adding new SRH information to the original data message according to the configuration information, and carrying out SRv6 encapsulation to obtain a second SRv message. The destination address of the second SRv message is sf#2proxy SID.
Step 8, the sff#1 sends a second SRv6 message to the sff#2 connected to the sf#2. Correspondingly, sff#2 receives a second SRv6 message from sff#1.
Step 9, the SFF#2 analyzes the second SRv message, and determines that the destination address of the message is SF#2proxy SID; SFF#2 transmits the original data message in the second SRv message to SF#2. Accordingly, sf#2 receives the original data packet from sff#2.
Step 10, the sf#2 processes the original data packet, and sends the processed data packet back to the sff#2.
Step 11, the sff#2 searches configuration information according to information of an ingress interface (interface connected with the SF on the SFF and receiving the IPv4 message), then adds new SRH information to the original data message according to the configuration information, and encapsulates SRv to obtain a third SRv message. The destination address of the third SRv message is the Tail End SID.
Step 12, the SFF#2 sends a third SRv message to the Tail End node according to the IGP shortest route. Correspondingly, the Tail End node receives a third SRv message.
And 13, analyzing the third SRv message by the Tail End node, and determining the destination node of the third SRv message as the SID of the Tail End node. The Tail End node decapsulates the third SRv message to determine the original data message, and updates the IPv6 destination address field to be the Tail end.DT4SID.
And 14, the Tail End node searches a local SID list according to the Tail end.DT4SID, executes a Tail end.DT4SID related instruction, and forwards the original data message to the corresponding IPv4 VPN or to the public network.
The above is a network architecture diagram and data forwarding process of SRv SFC in the Unaware scenario. It should be noted that, the network architecture diagram of SRv SFC in the aware scenario and the data forwarding process are similar to those in the Unaware scenario described above, and this will not be repeated in the present application.
6、SRv6 SID。
SRv6 SID is a special form of IPv6 address. SRv6 SID generally comprises the following three parts: locator, function, graphics (optional).
The Locator is an identifier allocated to a node in the network topology and is used for routing and forwarding a message to the node. The Locator is used to identify location information of the node (i.e., location information of the node in the network topology). The locators have routable and aggregatable properties, and in the network transmission process, the routes of the nodes corresponding to the locators can be issued to the network by the nodes in the form of IGP routes. After receiving the IGP route of the node corresponding to the Locator, the other devices may forward the corresponding data packet to the node corresponding to the Locator according to the IGP route. The Locator can route the message to the network device executing the instruction, thereby realizing the addressability of the network instruction. In SRv SID, the length of the locators is variable in order to adapt to different scale networks.
Functions are a type of forwarding action that needs to be performed to express the SID's correspondence. In SRv network programming, different forwarding behaviors are expressed by different functions. SIDs may be defined as different types of SIDs according to functions of different functions to represent different forwarding behaviors. Forwarding behavior referred to in this application includes, but is not limited to: forwarding the message to a designated link; look-up table forwarding in a specified table.
The images, abbreviated as Args, are an optional field in the SRv SID that characterizes the parameters of the device when executing SRv SID instructions. Such parameters include, but are not limited to: flow parameters and service parameters. For example, for an instruction to fragment a network message, the fragment length of the packet can be defined in the Args field of the instruction.
After the node receives the SRv message, the message is processed according to SRv SID as follows:
first, the node defining the SR segmentation information creates a local SID entry in the forwarding table (forwarding info base, FIB).
After the node receives the SRv message, the longest prefix matching is carried out on the message according to the destination address of the message. The matching result comprises:
(1) FIB entry representing the locally defined SRv SID.
(2) A FIB entry representing a local interface address not defined locally as SRv SID.
(3) An FIB entry representing a non-local route.
(4) There are no matches.
SRv6 SID includes a plurality of FIB entries, each indicating the behavior and parameters associated with the SID. The user can flexibly apply the network programmability of SRv6 to customize any service-related SID behavior. The partially SID behavior as currently defined is shown in table 1 below.
TABLE 1
Figure BDA0003391405040000151
Figure BDA0003391405040000161
The SRV6 Service chain (SFC) proxy Service SID defined by the current IETF SPRING workgroup manuscript mainly includes:
1) End.as: a Static Proxy (SID) is published by the SRv Proxy node. The function of end.as is to strip the SRH header and send the original data message to SF via the corresponding interface or virtual interface (e.g. VLAN ID). After the message carrying the designated VLAN ID is returned SRv Proxy from SF, the cached SRH is inserted into the message according to the VLAN ID and is continuously forwarded. The mapping relationship between the SRH and the virtual interface is generated by static configuration, and is called a static proxy SID.
2) End.ad: dynamic Proxy (SID) is published by the SRv Proxy node. The end.AD increases the ability of dynamic learning based on the static proxy SID, and changes the mapping relation between the SRH and the virtual interface from static configuration to dynamic generation according to the SRH of the received message.
3) End.am: the masquerading agent (Masquerading Proxy) SID is published by the SRv6 Proxy node. The function of end.AM is to update the real destination address, namely SID [0] in Segment List to DA, thereby disguising IPv6 message carrying real destination address and forwarding to SF. The SF returned message needs to be replaced with the next SID to DA at SRv Proxy and forwarded on.
It should be noted that, in table 1 above, only partial SID behaviors are illustrated, and the SID includes other behaviors in the actual implementation process, which is not limited in this application.
7、SRH。
In SRv, a type called SRH is added to the routing extension header of IPv 6. The SRH is used to specify a display path of the IPv6 message, and store path constraint information (Segment List) of the IPv6 message. In the message forwarding process, the head node adds an SRH in the IPv6 message, and the intermediate node can forward according to the path information contained in the SRH.
An example of the format of an IPv6 data message containing SRH is shown in fig. 4 below.
The IPv6 basic header is an original header in the IPv6 packet, which is not described in the present application. Payload refers to the original data message in the IPv6 message.
The key information in SRH includes: routing Type (Routing Type), segment List (Segments List), and remaining Segments (SL). The key information will be described below:
the routing type is used for identifying the type of the message header, and when the value of the routing type is 4, the message header is indicated to be SRH.
The Segments List includes: (Segment List [0], segment List [1], segment List [2], and Segment List [ n ]) represents network path information in the network. Segments List [0] through List [ n ] correspond to instructions of a computer program, the first instruction to be executed being Segment List [ n ]. SL corresponds to the PC (program counter) pointer of the computer program, pointing to the currently executing instruction. The initial value of SL is n, and the value of SL is decremented by 1 each time an instruction is executed. At this point, SL points to the next instruction to be executed. The node executes the instruction pointed to by the SL.
An example of the message structure of the SRH in the Aware mode is shown in table 2 below:
TABLE 2
IPv6 Header
Postposition SID
VAS(N-1)SID
……
VAS 1SID
SFF SID
Pre-SID
Original data message
Wherein, the IPv6 Header is an IPv6 data message Header; the post SID is the SID of the next hop node in the original forwarding path of the data packet. The VAS (N-1) SID to the VAS 1SID is the SID of the VAS node providing the VAS service for the data message. The SFF SID is the SID of the SFF used to process the data packet in the SRv network. The pre-SID is the SID of the previous hop node that sent the data message to the SRv network. . The original data message refers to the data message before the data message enters SRv. As an example, the original data message may be a user data message received from an IPv4 network.
As yet another example, in the Unaware mode, the message structure of the SRH is shown in Table 3 below:
TABLE 3 Table 3
IPv6 Header
Postposition SID
VAS(N-1)Proxy SID
……
VAS Proxy 1SID
SFF SID
Pre-SID
Original data message
Wherein, VAS 1Proxy SID is the Proxy SID corresponding to VAS 1.
The terms related to the present application are described in detail above.
In the related art, only serial VAS services are supported in a scenario based on a segment routing internet protocol version 6 (Segment Routing Internet Protocol Version, srv 6) service function chain (service function chain, SFC). The serial VAS service refers to that the data message is sequentially forwarded to the VAS nodes, and each VAS node carries out corresponding data on the data message to realize the value-added service related to the VAS node. In serial VAS service, data packets need to be processed by VAS nodes, which will affect the time delay, service performance and reliability of the service. Therefore, how to reduce the delay of service transmission in SRv SFC scenario and improve the service performance and reliability becomes a current urgent problem to be solved.
As shown in fig. 5, the data transmission method provided in the embodiment of the present application includes S501-S503. The following is a detailed description:
s501, SFF acquires the first data message.
The first data message includes: the values of the segment routing extension message header SRH and SL and the original data message; the SRH comprises a plurality of SIDs, and the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and post SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate a SID in the SRH; the SID corresponding to the VAS node is any one of the following: the SID of the VAS node, or the SID of Proxy corresponding to the VAS node.
The post node is the next hop node of the SFF, and the post node is a node other than the VAS node, and for example, the post node in connection with fig. 3 may be the IPv6 node in fig. 3.
The VAS node may be understood by referring to the description of the VAS node in the above explanation of the noun, and will not be repeated here.
S502, determining at least two second data messages by SFF according to the first data messages.
Wherein the SL values of the at least two second data messages are different from the SL values of the first data messages; the SL values of the respective second data messages of the at least two second data messages are different.
S503, SFF forwards the corresponding second data message to the node corresponding to each second data message or processes the second data message according to the SID indicated by the SL value in each second data message.
In a specific implementation manner, when the value of SL in the second data packet is M-1, the value of SL in the second data packet points to the SID corresponding to the first one of the N-1 VAS nodes; … …; when the value of SL in the second data message is M-i, the value of SL in the second data message points to SID corresponding to the i-th VAS node in N-1 VAS nodes; … …; when the value of SL in the second data message is M- (N-1), the value of SL in the second data message points to SID corresponding to the last VAS node in the N-1 VAS nodes; when the value of SL in the second data packet is M-N, the value of SL in the second data packet is directed to the postSID.
After SFF determines SIDs indicated by the SL values of each second data message, determining the ith second data message in N second data messages; the SID indicated by the value of SL in the ith second data packet is the VAS SID of the ith VAS node. The SFF sends the ith second data message to the ith VAS node.
Or after the SFF determines the SID indicated by the SL value of each second data message, determining the ith second data message in the N second data messages; the SID indicated by the value of SL in the ith second data packet is the Proxy SID corresponding to the ith VAS node. And the SFF executes the proxy function to process the ith second data message and sends the processed second data message to the ith VAS node.
It is noted that when there are a plurality of postsids, the SL value points to the first one of the plurality of postsids when the SL value is M-N.
In one possible implementation, after the SFF determines the SID to which the value of SL of the second data packet points, the SID is obtained from the SRH and written into the destination address field of the header of the second data packet. And the SFF sends the second data message to the corresponding node according to the destination address field in the second data message.
The method has at least the following beneficial effects: in SRv SFC scene, SFF obtains at least two second data messages through the first data message, and the values of SL of the at least two second data messages are different from those of SL of the first data message; the SL values of the respective second data messages of the at least two second data messages are different. So that the SL in the at least two second data messages can point to the VAS node and the post node, respectively. In this way, the SFF may send the second data packet of the SL directed to the VAS node, and the VAS node provides the bypass VAS traffic detection service for the period of time, and send the second data packet of the SL directed to the post node for performing the forwarding process of the data packet. Based on the method, the value added service capability can be provided for the user service according to the requirement.
In addition, the data transmission method provided by the application can complete bypass VAS flow detection service on the data in SRv SFC scene, so that the time delay of data transmission is reduced, and the service performance and reliability of data transmission are improved.
In one possible implementation manner of S502, the first data packet includes a first field, where the first field is used to indicate that the first data packet is copied.
In this case, S502 can be specifically determined by the following steps 1 to 2.
Step 1, the SFF copies the first data messages according to the first fields to obtain at least two first data messages.
The SFF copies the first data message according to the first field to obtain at least two first data messages with the same content.
In one possible implementation, the SFF parses the first data packet to determine an SFF SID in the SRH of the first data packet, and determines that a first field exists in the SFF SID. The SFF determines that the first data message is a message which needs to be copied by the SFF. After that, the SFF copies the first data messages according to the first fields to obtain at least two first data messages.
In a possible implementation, the end.cs field is also used to indicate the number of copies of the first data message.
For example, when the first field is an end.cs1 field, the first field is used to indicate that the first data packet is duplicated by N-1, and a specific value of N may be carried in the end.cs1 field. At this time, the SFF copies N-1 first data messages according to the first field to obtain N first data messages in total.
When the first field is an end.cs2 field, the first field is used to indicate that the first data packet is copied by 1. At this time, the SFF copies 1 first data packet according to the first field, and obtains two first data packets altogether.
Step 2, SFF adjusts the SL value of each first data message in at least two first data messages respectively, and determines at least two second data messages.
The values of the SLs in at least two first data messages are the same, and the values of the SLs in each of at least two second data messages are different.
In one example, the values of SL in the first data packet are all M, where M is a positive integer greater than or equal to N.
In a possible implementation manner, in the case that the SFF replicates N-1 first data messages to obtain N first data messages altogether, the SFF subtracts 1 from the value of SL in the first data message to obtain a first second data message, where the value of SL in the first second data message is M-1; … … SFF subtracts i from the value of SL in the ith first data message to obtain an ith second data message, where the value of SL in the ith second data message is M-i, … …, and SFF subtracts N from the value of SL in the nth first data message to obtain an nth second data message, where the value of SL in the nth second data message is M-N. i is a positive integer less than or equal to N.
In one possible implementation manner, in the case that the SFF replicates 1 first data packet to obtain two first data packets altogether, the SFF subtracts 1 from the value of SL in the first data packet to obtain a first second data packet; SFF subtracts N from SL value in the second first data message to obtain the 2 nd second data message.
Optionally, the SRH of the first data packet further includes an SFF SID. The first field is carried in the SFF SID of the first data message. Specifically, the first field is carried in a Function field in the SFF SID of the first data packet, or the first field is carried in an images field in the SFF SID of the first data packet.
Specifically, the first field is an end.cs1 field; alternatively, the first field is an end.cs2 field.
The specific implementation manner in S502 at least can bring the following beneficial effects: in SRv SFC scenario, a first field for indicating to copy the first data message is added to the first data message, and after the SFF receives the first data message, the first data message is copied according to the first field. And finally, SFF adjusts SL of the first data message to obtain a second data message. The SL in the second data packet after the SL adjustment can point to the VAS node and the post node, respectively. In this way, the SFF may send the second data packet of the SL directed to the VAS node, and the VAS node provides the bypass VAS traffic detection service for the period of time, and send the second data packet of the SL directed to the post node for performing the forwarding process of the data packet. Based on the above, the data transmission method provided by the application can complete bypass VAS flow detection service on the data in SRv SFC scene, thereby reducing the time delay of data transmission and improving the service performance and reliability of data transmission.
The following describes the first field related to the present application in detail:
the first field is used for indicating copying of the first data message.
The first field may be carried in the SFF SID of the first data message. Specifically, the first field may be carried in a Function field of an SFF SID of the first data packet; alternatively, the first field may be carried in an images field of the SFF SID of the first data packet.
In this application, the first field is used to instruct the SFF to copy the first data packet into N first data packets (denoted as case 1) or the first field is used to instruct the SFF to copy the first data packet into two first data packets (denoted as case 2). The first fields in case 1 and case 2 are described below
In case 1, the first field includes an indication identifier for indicating that the SFF replicates the first data packet, and the first field further includes an indication identifier for indicating a value of N. In case 1, the field name of the first field is described as end.cs1.
An example, the form of the SID carrying the first field is shown in table 4 below:
TABLE 4 Table 4
Figure BDA0003391405040000211
In connection with Table 4, the field name end.CS1 of the first field is carried in the Function field of the SID, and the N value in the first field is carried in the images field of the SID.
As yet another example, the form of the SID carrying the first field is shown in table 5 below:
TABLE 5
Figure BDA0003391405040000221
In connection with table 5, the field name end.cs1 of the first field and the N value in the first field are carried in the Function field of the SID. For example, end.cs1 has 16 bits, the first 8 bits selected 00000001 representing end.cs1 and the last 8 bits representing the N value (2 system).
The padding values in table 5 are padding bits. The padding bits have no practical meaning, and may be 0000 or another value, and are not used to identify the number of copies of the message.
Note that, although the two examples in the above tables 4 and 5 are different only in the bit positions corresponding to the N values, the operation SRv represents the reading operation for the different positions, and the operations such as SRH header compression are also affected. This application is not repeated here.
In combination with table 4 and table 5, the field name end.cs1 of the first field and the N value in the first field together form the content of the first field.
And in the case 2, the first field comprises an indication identifier for indicating the SFF to copy the first data message. In addition, the first field may further include an indication identifier indicating a value of N. The SFF directly determines to copy 1 first data message according to the indication mark indicating to copy the first data message. In case 2, the field name of the first field is exemplified as end.cs2.
When the first field includes an indication identifier indicating the value of N, the specific implementation of the first field CS2 in case 2 is similar to case 1, except that in case 2, the value of N is no longer used to indicate the number of copies of the message, but is only used to indicate the number of VAS nodes required for the message, and other understandings about the first field can refer to case 1 above, which is not repeated herein.
When the indication identifier indicating the value of N is not included in the first field, only the identifier end.cs2 of the first field may be included in the SID. The bits used to carry the N value in case 1 will be reserved.
In case 1, end.cs1 may be represented by 00000001. End.cs2 may be represented by 00000002 in case 2. The SFF reads the field with value 00000002 and then copies 1 first data packet directly according to the field.
The first field is described in detail above.
It should be noted that, in the embodiment of the present application, in combination with two cases of the first field, where the first field is used to instruct the SFF to copy the first data packet into N first data packets (i.e., the first field is used to instruct to copy N-1 first data packets), the data transmission method provided in the present application may be specifically implemented by the following method 1.
In the case that the first field is used to instruct the SFF to copy the first data packet into two first data packets (i.e., the first field is used to instruct to copy 1 first data packet), the data transmission method provided in the present application may be specifically implemented by the following method 2.
Hereinafter, method 1 and method 2 will be described in detail, respectively.
The method 1, the first field is used for indicating the SFF to copy the first data message into N first data messages.
It should be noted that in method 1, the specific implementation of SRv SFC network in the Aware mode (denoted as scenario 1) and in the Unaware mode (denoted as scenario 2) is different. In the Aware mode, the SID corresponding to the VAS node is a VAS SID; and the SID corresponding to the VAS node in the Unaware mode is the Proxy SID corresponding to the VAS node.
In the following, in method 1, description is made of scenario 1 and scenario 2, respectively:
scene 1, aware mode.
As shown in fig. 6, in scenario 1 of method 1, the data transmission method provided in the embodiment of the present application may be specifically implemented through the following S601-S609.
S601, SFF receives the first data message.
Optionally, the first data packet may be a data packet sent by a front node of the SFF to the SFF.
In one possible implementation, the head point in the SRv SFC network is a classifier. After the classifier receives the original data message from other networks (such as the IPv4 data message from the IPv4 network), the classifying device classifies the data message according to the classification information such as the matching five-tuple and the like, and redirects the data message classified by the data message needing SRv SFC to SRv TE Policy. The classifier encapsulates SRv the data message according to SRv TE Policy, increasing SRH comprising the first field. The value of N in the first field is determined according to the number of VAS nodes corresponding to the data packet. The classifier packages the IPv4 data message to obtain a first data message, and the first data message sequentially passes through the front-end nodes of the SFF and sends the first data message to the SFF.
S602, SFF reads a first field in the first data message, and copies N-1 first data messages according to the first field to obtain N first data messages.
Specifically, after receiving the first data message, the SFF analyzes the SRH in the first data message, and obtains the first field in the first data message. The first field includes an indication identifier for indicating the SFF to copy the first data packet, and the first field further includes an indication identifier for indicating the value of N.
And the SFF copies the N-1 first data messages according to the value of N indicated by the first field to obtain N first data messages.
In one example, the segment list included in the SRH in the N first data packets includes: < post SID, VAS (N-1) SID, … …, VAS 1SID, SFF SID, pre SID >. S603, SFF adjusts the SL values in the N first data messages respectively.
In a specific implementation manner, the values of SL in the N first data packets are all M.
SFF subtracts 1 from the SL value in the first data message, and the SL value in the first data message is M-1; … …; SFF subtracts i from the value of SL in the ith first data message, where the value of SL in the ith first data message is M-i, … …, and SFF subtracts N from the value of SL in the nth first data message, where the value of SL in the nth first data message is M-N.
It should be noted that when i is smaller than N, the value of SL of the i-th data packet is used to indicate the SID corresponding to the i-th VAS node of the N-1 VAS nodes.
When i is equal to N, the value of SL for the ith data packet is used for SID to indicate the first postsid.
S604, SFF adjusts the destination address fields in the N first data messages respectively.
Optionally, after the SFF adjusts the value of the SL in the first data packet, determining the SID to which the adjusted value of the SL points, the SFF obtains the SID to which the SL points from the SHR, and writes the SID into the destination address field of the first data packet.
For the ith first data packet, the adjusted value of SL is, for example, M-i. The SID to which the value of SL points is the i-th VAS SID. The SFF extracts the ith VAS SID from the ith first data message and writes the ith VAS SID into the destination address field of the ith first data message. The value of SL of the ith second data message is M-i, and the destination address field comprises the ith VAS SID.
S605, SFF adds a second field to each first data packet.
The second field is used for indicating the VAS node to not need to forward the data message carrying the second field.
In a possible implementation, the second field is carried in the ith VAS SID in the SRH of the ith first data packet. Specifically, the second field is carried in the Function field of the ith VAS SID in the SRH of the ith data packet.
The second field is an end.st field, for example.
Specifically, the SFF determines the i-th VAS SID from the value of SL in the i-th first data packet. The SFF adds a second field in the Function field of the ith VAS SID.
It should be noted that the second field may not be added to the nth first data packet.
S606, SFF determines N second data messages.
Specifically, the second data packet determined by SFF is the first data packet processed through the steps in S603-S605.
The value of SL in the ith second data packet is M-i, and the destination address field includes the ith VAS SID. The Function field of the ith VAS SID includes a second field.
S607, SFF sends the second data message to the VAS node and the post node according to the destination address field of each second data message.
In one example, the SFF sends a first second data message to a first VAS node, the SFF sends a second data message to a second VAS node, and … … SFF sends an N-1 th second data message to an N-1 th VAS node. The SFF sends the Nth second data message to the post node.
S608, the VAS node processes the second data message.
Specifically, after the VAS node receives the second data message, the Function field in the SID corresponding to the VAS node is identified. And after the VAS node determines that the Function field comprises the second field and the VAS node processes the second data message to finish the value added service of the second data message, the VAS node confirms that the VAS service flow is finished and does not continue to forward the second data message.
Illustratively, after the ith VAS node receives the ith second data message, the ith VAS SID in the ith second data message is identified. And after determining that the Function field of the ith VAS SID comprises the second field, the ith VAS node processes the second data message to finish the value added service of the ith second data message, and the ith VAS node confirms that the VAS service flow is finished and does not continue to forward the ith second data message.
It should be noted that, when the VAS node does not continue forwarding the second data packet, the VAS node does not send the value added service second data packet to the SFF node.
S609, the post node forwards the second data message.
Specifically, the post node forwards the second data message to the next hop node according to the original service path of the second data message.
In the above, a method for completing bypass VAS node detection service of the first data message by copying N-1 first data messages in the Aware mode is provided.
Scene 2, unaware mode.
As shown in fig. 7, in scenario 2 of method 1, the data transmission method provided in the embodiment of the present application may be specifically implemented by the following S701-S710.
S701, SFF receives the first data message.
For specific implementation of S701, reference may be made to S601, which is not described herein.
S702, SFF reads the first field in the first data message, and copies N-1 first data messages according to the first field to obtain N first data messages.
For specific implementation of S702, reference may be made to S602 described above, which is not described in detail herein.
S703, SFF adjusts the SL values in the N first data messages respectively.
Note that the specific implementation of S703 is similar to S603 described above. The difference is that in S704, when SL points to the SID corresponding to the VAS node, the SID corresponding to the VAS node is the SID of proxy corresponding to the VAS node.
S704, adding a third field to each first data message by SFF.
The third field is used for indicating the Proxy corresponding to the target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
In a possible implementation, the third field is carried in the ith VAS SID in the SRH of the ith first data packet. Specifically, the third field is carried in the Function field of the ith VAS SID in the SRH of the ith data packet.
The second field is an end.as2 field, for example; alternatively, the second field is end.ad2.
Specifically, the SFF determines the i-th VAS SID from the value of SL in the i-th first data packet. The SFF adds a third field in the Function field of the ith VAS SID.
It should be noted that the third field may not be added to the nth first data packet.
S705, SFF determines N second data messages.
Specifically, the second data packet determined by SFF is the first data packet processed through the steps in S703 to S705 described above.
The value of SL in the ith second datagram is M-i. The Function field of the ith VAS SID includes a third field.
S706, SFF sends the second data message to proxy and post node corresponding to SID according to SID indicated by SL of each second data message.
Specifically, the SFF determines an ith second data packet of the N second data packets; the Proxy SID corresponding to the i-th VAS node indicated by the value of SL of the i-th second data packet. The SFF sends the ith second data message to the Proxy corresponding to the ith VAS node.
SFF determines the N second data message; the SFF sends the Nth second data message to the post node.
In one example, the SFF sends a first second data message to the Proxy corresponding to the first VAS node, the SFF sends a second data message to the Proxy corresponding to the second VAS node, and … … SFF sends an N-1 second data message to the Proxy corresponding to the N-1 VAS node. The SFF sends the Nth second data message to the post node.
S707, proxy processes the second data message, and determines the processed second data message.
In one possible implementation, proxy processing the second data message includes: and the Proxy analyzes the second data message and determines the original data message.
Specifically, the Proxy parses the ith second data message, and determines that the SID of the Proxy corresponding to the ith VAS node of the second data message includes a third field. And extracting the original data message from the second data message by the Proxy. The Proxy determines to send the original data message to the ith VAS node, and does not need to wait for the ith VAS node to return the processed second data message to the Proxy.
An example of the original data packet may be an IPv4 data packet.
It should be noted that the parsed original data messages in the different second data messages are identical.
And S708, the Proxy sends the processed second data message to the VAS node.
In a possible implementation manner, proxy sends the original data message extracted from the second data message to the VAS node through an interface or a virtual interface corresponding to the VAS node.
Specifically, proxy corresponding to the ith VAS node sends the original data message to the ith VAS node.
Alternatively, proxy may send the second data message directly to the VAS node, which is not limited in this application.
It should be noted that, in the embodiment of the present application, the Proxy function is generally implemented by the SFF, and at this time, the SFF may directly perform the corresponding action of the Proxy without performing the action of sending the second data packet to the Proxy. Any action performed by Proxy in the present application may be adaptively understood as an action performed by SFF integrated with Proxy function, which is not limited in this application.
S709, the VAS node processes the processed second data message.
In one possible implementation, the VAS node processes the original data message to complete the value added service to the original data message. The VAS node will confirm the end of the VAS service flow and will not continue forwarding the original data message.
Illustratively, after the ith VAS node receives the original data message, the value added service of the original data message is completed. The ith VAS node confirms the end of the VAS service flow and does not continue to forward the original data message.
It should be noted that, when the VAS node does not continue forwarding the original data packet, the VAS node does not send the original data packet after the value added service to Proxy.
S710, the post node forwards the second data message.
For a specific implementation of S710, reference may be made to S609 above, which is not described in detail in this application.
In the above, a method for completing bypass VAS node detection service of the first data message by copying N-1 first data messages in the Unaware mode is provided.
The data method of the present application in method 1 is also described above in connection with scenario 1 and scenario 2.
The method 1 has at least the following beneficial effects: the SFF obtains N second data messages according to the first data messages, wherein the first N-1 second data messages in the N second data messages are respectively sent to corresponding VAS nodes (or are sent to the corresponding VAS nodes through the proxy of the VAS nodes) to perform value added service processing, and the N second data messages are directly subjected to subsequent forwarding processing. The VAS is carried out on the data of the subsequent transmission, so that the stability and reliability of the data transmission are improved, and the time delay of the data message transmission is reduced. In addition, the SFF directly obtains N second data messages and sends the N second data messages to N-1 VAS nodes for processing respectively, so that the efficiency of value-added service processing of the data messages is improved.
Method 2 is described below:
the method 2, the first field is used for indicating the SFF to copy the first data message into two first data messages.
It should be noted that in method 2, the specific implementation of SRv SFC network in the Aware mode (denoted as scenario 3) and in the Unaware mode (denoted as scenario 4) is different. In the following, in method 2, description is made of scenario 3 and scenario 4, respectively:
scene 3, aware mode.
As shown in fig. 8, in scenario 3 of method 2, the data transmission method provided in the embodiment of the present application may be specifically implemented by the following S801-S813.
S801, SFF receives the first data message.
For a specific implementation manner of S801, reference may be made to S601, which is not described herein.
S802, SFF reads a first field in the first data message, and copies 1 first data message according to the first field to obtain two first data messages.
Specifically, after receiving the first data message, the SFF analyzes the SRH in the first data message, and obtains the first field in the first data message. The first field includes an indication identifier that indicates the SFF to copy the first data message.
And the SFF copies 1 first data message according to the first field to obtain two first data messages.
In one example, the SRH in the two first data messages each include a segment list including a < < post SID, VAS (N-1) SID, … …, VAS 1SID, SFF SID, pre SID >.
S803, SFF adjusts the SL values in the two first data messages respectively.
In a specific implementation manner, the SFF subtracts 1 from the value of SL in the first data packet, where the value of SL in the first data packet is M-1; SFF subtracts N from the SL value in the second first data message, where the SL value in the second first data message is M-N.
The value of SL in the first second data message is used to indicate the SID corresponding to the 1 st VAS node of the N-1 VAS nodes.
The value of SL in the second data packet is used for SID indication for the first postsid.
S804, SFF adjusts the destination address fields in the two first data messages respectively.
Optionally, after the SFF adjusts the value of the SL in the first data packet, determining the SID to which the adjusted value of the SL points, the SFF obtains the SID to which the SL points from the SHR, and writes the SID into the destination address field of the first data packet.
For example, for the first data message, the adjusted SL value is M-1. The SID to which the value of SL points is the first VAS SID. The SFF extracts the first VAS SID from the first data message and writes the first VAS SID into the destination address field of the first data message.
For the second first data message, the adjusted SL value is M-N. The SID to which the value of SL points is the postsid. The SFF extracts the postSID from the second first data message and writes the postSID into the destination address field of the second first data message.
S805, SFF adds a second field and a fourth field to the first data message.
The fourth field is used for indicating the VAS node to perform SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation.
In a possible implementation, the fourth field is carried in the VAS SID in the data message SRH. Specifically, the fourth field is carried in the Function field of the VAS SID in the data packet SRH.
The fourth field is an END/end.x field, for example. For a specific understanding of the END/end.x field reference is made to the description of the relevant fields in table 1 above.
Optionally, a fourth field is added to each VAS SID in the first N-2 VAS nodes in the first data packet. So that each VAS node can forward the first and second data messages to the next VAS node after performing VAS node processing on the first and second data messages corresponding to the first data message.
The second field is added to the SID of the N-1 th VAS node (i.e., the last VAS node). The understanding of the second field can be understood with reference to the description of S605 above, and will not be repeated here.
The second field is an end.st field, for example.
It should be noted that the fourth field and the second field may not be added to the second first data packet.
S806, SFF determines a first second data message and a second data message.
The value of SL in the first and second data messages is M-1, the destination address field comprises a first VAS SID, and the destination address field comprises a second field and a fourth field.
The value of SL in the first second data packet is M-N and the postsid is included in the destination address field, but the second and fourth fields may not be included in the second data packet.
S807, the SFF sends a first second data packet to the first VAS node. Correspondingly, the first VAS node receives the first and second data messages from the SFF.
Specifically, the SFF sends the first second data message to the first VAS node according to the first VAS SID in the destination address field of the current first second data message.
S808, the first VAS node processes the first and second data messages.
Specifically, after the first VAS node receives the first and second data messages, value added service processing is performed on the first and second data messages.
S809, the first VAS node determines an operation instruction in the current VAS SID of the first and second data messages.
If the operation instruction in the VAS SID is the second field, the forwarding is ended.
If the operation instruction in the VAS SID is the fourth field, the following S810 is performed.
It should be noted that, the ending of forwarding refers to that the VAS node no longer sends the second data packet after the value added service to the SFF node and the next VAS node.
S810, the first VAS node subtracts 1 from the SL value in the first and second data messages, determines the next VAS SID pointed by the SL, and writes the next VAS SID into the destination address of the first and second data messages.
S811, the first VAS node forwards the first and second data messages after the processing is completed to the next VAS node.
The SFF and the next VAS node respectively execute the processes in S808-S809 in turn until the operation instruction in the current VAS SID is determined to be the second field, and the forwarding process is ended.
S812, the SFF sends a second data packet to the post node. Correspondingly, the post node receives a second data message from the SFF.
S813, the rear node forwards a second data message.
For a specific implementation of S813, reference may be made to S609 above, which is not described in detail in this application.
In the above, a method for completing bypass VAS node detection service of a first data message by copying 1 first data message in an Aware mode is provided.
Scene 4, unaware mode.
As shown in fig. 9, in scenario 4 of method 2, the data transmission method provided in the embodiment of the present application may be specifically implemented by the following S901-S916.
S901, SFF receives the first data message.
For a specific implementation manner of S901, reference may be made to S601 above, which is not described herein.
S902, the SFF reads a first field in the first data message, and copies 1 first data message according to the first field to obtain two first data messages.
For a specific implementation manner of S902, reference may be made to S802 described above, which is not described in detail in this application.
S903, SFF adjusts the SL values in the two first data messages respectively.
For a specific implementation manner of S903, reference may be made to S803 above, which is not described in detail in the present application.
S904, SFF adds a third field and a fifth field to the first data message.
The fifth field is used for indicating the Proxy to send the processed second data message to the corresponding VAS node, and returning a third data message to the service function forwarder SFF, wherein the third data message is a data message determined by the VAS node corresponding to the Proxy according to the processed second data message.
In a possible implementation, the fifth field is carried in the VAS SID in the data message SRH. Specifically, the fifth field is carried in the Function field of the VAS SID in the data packet SRH.
The fifth field is an end.as/AD field, for example. For a specific understanding of the end.as/AD field reference is made to the description of the relevant fields in table 1 above.
Optionally, a fifth field is added to the Proxy SID corresponding to each of the first N-2 VAS nodes in the first data packet. So that each Proxy sends the processed second data message to the corresponding VAS node, and the VAS node returns the data message to the Proxy after processing the received data message. Proxy forwards the data message to the SFF node.
The third field is added to the SID of the N-1 th VAS node (i.e., the last VAS node). The understanding of the third field can be understood with reference to the description of S705, and will not be repeated here.
A third field is an end.as2 field, for example; alternatively, the third field is an end.ad2 field.
It should be noted that the third field and the fifth field may not be added to the second first data packet.
S905, determining a first second data message and a second data message by SFF.
The value of SL in the first and second data messages is M-1, and includes a third field and a fifth field.
The value of SL in the first second data message is M-N, but the third field, the fifth field, may not be included in the second data message.
S906, SFF sends a first and second data message to Proxy corresponding to the first VAS node. Correspondingly, proxy corresponding to the first VAS node receives the first and second data messages from SFF.
Specifically, the SFF sends the first and second data packets to the Proxy corresponding to the first VAS node according to the SID of the Proxy (denoted as first Proxy) corresponding to the first VAS node to which the value of the current first and second data packets SL points.
S907, the first Proxy processes the first and second data messages to obtain a processed second data message.
S908, the first Proxy sends the processed second data message to the first VAS node.
S909, the first Proxy determines an operation instruction included in the Proxy SID corresponding to the first VAS node.
If the operation instruction included in the Proxy's SID is the third field, forwarding is ended.
If the operation instruction included in the Proxy SID is the fifth field, the following S911 is performed.
It should be noted that, ending forwarding refers to that the Proxy node does not need to receive the data packet processed by the VAS node, and the Proxy does not want to forward the data packet by SFF or the next VAS node.
S910, the first Proxy receives a third data message of the VAS node.
The third data message is a data message determined by the VAS node corresponding to the Proxy according to the processed second data message.
S911, the first Proxy forwards the third data message to the SFF. Correspondingly, the SFF receives the third data message from the first Proxy.
S912, SFF adds SRH of the first and second data messages in the third data message, and subtracts 1 from SL value in SRH of the first and second data messages to obtain a fourth data message.
In one possible implementation manner, the processed second data message is an original data message, and the SFF re-adds SRH to the original data message and the SRH before the SFF sends the second data message corresponding to the original data message or the original data message to the Proxy is the same.
In one possible implementation manner, after receiving an original data packet, the SFF determines the information of an input interface (and an interface linked with a proxy or SF on the SFF and receiving the original data packet) of the original data packet, searches configuration information of the original data packet according to the input interface information, and then adds SRH to the original data packet according to the configuration information.
S913, SFF determines the SID indicated by the value of SL in the fourth data packet.
The destination address of the first data message is the Proxy SID corresponding to the next VAS node. For example, if the SID of the Proxy before the third data packet is obtained is the SID of the Proxy corresponding to the first VAS node, then in S913, the destination address of the fourth data packet is the SID of the Proxy corresponding to the second VAS node.
S914, SFF sends the fourth data message to Proxy corresponding to SID indicated by SL value in the fourth data message.
And the SFF, the Proxy corresponding to the next VAS node and the next VAS node respectively execute the processes in the S907-S914 in sequence until the operation instruction in the SID of the Proxy corresponding to the current VAS node is determined to be a third field, and the forwarding process is ended.
S915, SFF sends second data message to the post node. Correspondingly, the post node receives a second data message from the SFF.
S916, the post node forwards the second data message.
For a specific implementation manner of S916, reference may be made to S609 above, which is not described in detail in the present application.
In the above, a method for completing bypass VAS node detection service of a first data message by copying 1 first data message in a Unaware mode is provided.
The data method of the present application in method 2 was also described above in connection with scenario 3 and scenario 4.
The method 2 has at least the following beneficial effects: the SFF obtains N second data messages according to the first data messages, wherein the first N-1 second data messages in the N second data messages are respectively sent to corresponding VAS nodes (or are sent to the corresponding VAS nodes through the proxy of the VAS nodes) to perform value added service processing, and the N second data messages are directly subjected to subsequent forwarding processing. The VAS is carried out on the data of the subsequent transmission, so that the stability and reliability of the data transmission are improved, and the time delay of the data message transmission is reduced. In addition, the SFF only needs to copy 1 first data message to further determine the second data message, so that the pressure caused by the SFF processing of the second data is reduced.
It can be seen that the above technical solutions provided in the embodiments of the present application are mainly described from the method perspective. To achieve the above functions, it includes corresponding hardware structures and/or software modules that perform the respective functions. Those of skill in the art will readily appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The embodiment of the present application may divide the functional modules of the data transmission device according to the above method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated modules may be implemented in hardware or in software functional modules. Optionally, the division of the modules in the embodiments of the present application is schematic, which is merely a logic function division, and other division manners may be actually implemented.
Fig. 10 is a schematic structural diagram of a data transmission device according to an embodiment of the present application. The data transmission device includes: a communication unit 1001 and a processing unit 1002. A communication unit 1001, configured to obtain a first data packet; the first data message includes: the values of the segment routing extension message header SRH and SL and the original data message; the SRH comprises a plurality of SIDs, wherein the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and post SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate the number of SIDs that need to be processed to reach the destination node; the SID corresponding to the VAS node is any one of the following: SIDs of VAS nodes or SIDs of Proxy corresponding to the VAS nodes; a processing unit 1002, configured to determine at least two second data packets according to the first data packet; wherein the SL values of the at least two second data messages are different from the SL values of the first data messages; the SL values of the second data messages are different; the processing unit 1002 is further configured to forward, or process, the corresponding second data packet to a node corresponding to each second data packet according to the SID indicated by the SL value in each second data packet.
Optionally, the first data packet includes a first field, where the first field is used to indicate copying the first data packet; the processing unit 1002 is specifically configured to: copying the first data messages according to the first fields to obtain at least two first data messages; and respectively adjusting the SL value of each first data message in the at least two first data messages, and determining at least two second data messages.
Optionally, the first field is specifically configured to indicate that N-1 first data packets are replicated.
Optionally, the at least two first data messages are N first data messages; the at least two second data messages are N second data messages.
Optionally, the values of SL in the N first data packets are all M, where M is a positive integer greater than or equal to N.
Optionally, the value of SL of the ith data packet in the N second data packets is M-i, where i is a positive integer less than or equal to N; when i is smaller than N, the value of SL of the ith data message is used for indicating SIDs corresponding to the ith VAS node in N-1 VAS nodes; when i is equal to N, the value of SL for the ith data packet is used to indicate the postsid.
Optionally, the SID corresponding to the VAS node is a VAS SID; the processing unit 1002 is specifically configured to: determining an ith second data message in the N second data messages; the SID indicated by the value of SL in the ith second data packet is the VAS SID of the ith VAS node; the communication unit 1001 is instructed to transmit the ith second data message to the ith VAS node.
Optionally, if i is less than N, the ith VAS SID in the SRH in the ith second data packet includes a second field; the second field is used to indicate that the VAS node does not need to forward the data message carrying the second field.
Optionally, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node; the processing unit 1002 is specifically configured to: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the Proxy SID corresponding to the ith VAS node; processing the ith second data message; the communication unit 1001 is instructed to transmit the processed second data message to the i-th VAS node.
Optionally, if i is smaller than N, a third field is included in the SID of Proxy corresponding to the i-th VAS node in the SRH in the i-th second data packet; the third field is used for indicating the Proxy corresponding to the target VAS node to send the processed second data message to the target VAS node, and the processed second data message returned from the target VAS node is not required to be received.
Optionally, the first field is specifically configured to indicate that 1 first data packet is copied.
Optionally, the at least two first data messages are two first data messages; the at least two second data messages are two second data messages.
Optionally, the values of SL in the two first data packets are both M, where M is a positive integer greater than or equal to N.
Optionally, the value of SL in the first of the two second data messages is M-1; the value of SL in the second data message is M-N; the value of SL in the first and second data messages is used for indicating SIDs corresponding to the 1 st VAS node in the N-1 VAS nodes; the value of SL in the second data packet is used to indicate the postsid.
Optionally, the SID corresponding to the VAS node is a VAS SID.
Optionally, the 1 st VAS node to the N-2 nd VAS SID in the SRH in the first and second data messages includes a fourth field; the fourth field is used for indicating the VAS node to carry out SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation; the N-1 th VAS SID in the SRH in the first data message comprises a second field; the second field of the VAS node is used to indicate that the VAS node does not need to forward the data message carrying the second field.
Optionally, the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node.
Optionally, the SID of Proxy corresponding to the 1 st to the N-2 th VAS nodes in the SRH in the first and second data packets includes a fifth field; the fifth field is used for indicating the Proxy to send the processed second data message to the corresponding VAS node, and returning a third data message to the service function forwarder SFF, wherein the third data message is a data message determined by the VAS node corresponding to the Proxy according to the processed second data message; the N-1 th VAS SID in the SRH in the first data message comprises a third field; the third field is used for indicating the Proxy corresponding to the target VAS node to send the processed second data message to the target VAS node, and the processed second data message returned from the target VAS node is not required to be received.
Optionally, the processing unit 1002 is further configured to: instruct the communication unit 1001 to receive a third data packet from Proxy; adding SRH of the first and second data messages in the third data message, and subtracting 1 from the SL value in the SRH of the first and second data messages to obtain a fourth data message; determining the SID indicated by the value of SL in the fourth data message; the instruction communication unit 1001 transmits the fourth data packet to Proxy corresponding to SID indicated by the value of SL in the fourth data packet.
Optionally, the first field is carried in an SFF SID of the first data packet.
Optionally, the first field is specifically carried in a Function field of an SFF SID of the first data packet.
Optionally, the first field is specifically carried in an images field of the SFF SID of the first data packet.
Optionally, the data transmission device may further comprise a storage unit 1003 for storing program code and/or data of the data transmission device.
Wherein the processing unit 1002 may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. A processor may also be a combination of computing functions, including for example, one or more microprocessor combinations, a combination of DSPs and microprocessors, and the like. The communication unit 1001 may be a transceiver circuit, a communication interface, or the like. The storage unit 1003 may be a memory. When the processing unit 1002 is a processor, the communication unit 1001 is a communication interface, and the storage unit 1003 is a memory, the data transmission apparatus according to the embodiment of the present application may be the data transmission apparatus shown in fig. 1.
From the foregoing description of the embodiments, it will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of functional modules is illustrated, and in practical application, the above-described functional allocation may be implemented by different functional modules according to needs, i.e. the internal structure of the network node is divided into different functional modules to implement all or part of the functions described above. The specific working processes of the above-described system, module and network node may refer to the corresponding processes in the foregoing method embodiments, which are not described herein.
The embodiment of the application further provides a computer readable storage medium, in which instructions are stored, and when the computer executes the instructions, the computer executes each step in the method flow shown in the method embodiment.
Embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the training method of the above-described method embodiments.
The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: electrical connections having one or more wires, portable computer diskette, hard disk. Random access Memory (Random Access Memory, RAM), read-Only Memory (ROM), erasable programmable Read-Only Memory (Erasable Programmable Read Only Memory, EPROM), registers, hard disk, optical fiber, portable compact disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any other form of computer-readable storage medium suitable for use by a person or persons of skill in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit (Application Specific Integrated Circuit, ASIC). In embodiments of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Since the apparatus, device, computer readable storage medium, and computer program product in the embodiments of the present invention may be applied to the above-mentioned method, the technical effects that can be obtained by the apparatus, device, computer readable storage medium, and computer program product may also refer to the above-mentioned method embodiments, and the embodiments of the present invention are not repeated herein.
The foregoing is merely a specific embodiment of the present application, but the protection scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (46)

1. A data transmission method, comprising:
acquiring a first data message; the first data message includes: segment routing extension header SRH, value of remaining segment SL, and original data message; the SRH comprises a plurality of sectional identifiers SIDs, wherein the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and rear SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate the number of SIDs that need to be processed to reach the destination node; the SID corresponding to the VAS node is any one of the following: the SID of the VAS node or the SID of the Proxy corresponding to the VAS node;
Determining at least two second data messages according to the first data messages; wherein the at least two second data messages differ from the value of SL of the first data message; the SL values of the at least two second data messages are different; the SL in the at least two second data messages respectively point to a Value Added Service (VAS) node and a post node, wherein the post node is a node other than the VAS node;
and forwarding the corresponding second data message to the node corresponding to each second data message or processing the second data message according to the SID indicated by the SL value in each second data message.
2. The method of claim 1, wherein the first data message includes a first field, the first field being used to indicate copying of the first data message;
the determining at least two second data messages according to the first data messages includes:
copying the first data messages according to the first fields to obtain at least two first data messages;
and respectively adjusting the SL value of each first data message in the at least two first data messages, and determining the at least two second data messages.
3. The method according to claim 2, wherein the first field is specifically configured to indicate that N-1 of the first data messages are to be replicated.
4. A method according to claim 3, wherein the at least two first data messages are N first data messages; the at least two second data messages are N second data messages.
5. The method of claim 4, wherein the values of SL in the N first data messages are each M, and M is a positive integer greater than or equal to N.
6. The method of claim 5, wherein the value of SL for the i-th data message of the N second data messages is M-i, i being a positive integer less than or equal to N;
when i is smaller than N, the value of SL of the ith data message is used for indicating SIDs corresponding to the ith VAS node in the N-1 VAS nodes;
when i is equal to N, the value of SL for the ith data packet is used to indicate the postsid.
7. The method of claim 6, wherein the SID corresponding to the VAS node is a vasssid; the forwarding, according to the SID indicated by the SL value in each second data packet, the corresponding second data packet to the node corresponding to each second data packet includes:
Determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the VASSID of the ith VAS node;
and sending the ith second data message to the ith VAS node.
8. The method of claim 7, wherein in the case where i is less than N, the i-th vanssid in the SRH in the i-th second data packet includes a second field therein; the second field is used for indicating the VAS node to not need to forward the data message carrying the second field.
9. The method of claim 6 wherein the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node; and processing the second data message according to the SID indicated by the value of SL in each second data message, including:
determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the Proxy SID corresponding to the ith VAS node;
processing the ith second data message;
and sending the processed second data message to the ith VAS node.
10. The method of claim 9, wherein in the case where i is less than N, a third field is included in the SID of Proxy corresponding to the i-th VAS node in the SRH in the i-th second data packet; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
11. The method according to claim 2, wherein the first field is specifically configured to indicate that 1 of the first data packets are to be replicated.
12. The method of claim 11, wherein the at least two first data messages are two first data messages; the at least two second data messages are two second data messages.
13. The method of claim 12, wherein the values of SL in the two first data messages are each M, and M is a positive integer greater than or equal to N.
14. The method of claim 13, wherein the SL in the first of the two second data messages has a value of M-1; the value of SL in the second data message is M-N;
the value of SL in the first and second data messages is used for indicating SIDs corresponding to the 1 st VAS node in the N-1 VAS nodes;
the value of SL in the second data packet is used to indicate the postsid.
15. The method of claim 14, wherein the SID corresponding to the VAS node is a vasssid.
16. The method of claim 15 wherein the 1 st to N-2 nd vasssids in the SRH in the first and second data messages include a fourth field; the fourth field is used for indicating a VAS node to perform SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation;
The N-1 th VASSID in the SRH in the first data message comprises a second field; the second field of the VAS node is used for indicating that the VAS node does not need to forward the data message carrying the second field.
17. The method of claim 14 wherein the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node.
18. The method of claim 17 wherein the SID of Proxy corresponding to the 1 st to N-2 th VAS nodes in the SRH in the first and second data messages includes a fifth field; the fifth field is configured to instruct the Proxy to send a processed second data packet to a corresponding VAS node, and return a third data packet to a service function forwarder SFF, where the third data packet is a data packet determined by the VAS node corresponding to the Proxy according to the processed second data packet;
the N-1 th VASSID in the SRH in the first data message comprises a third field; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
19. The method of claim 18, wherein the method further comprises:
receiving the third data message from the Proxy;
adding the SRH of the first and second data messages to the third data message, and subtracting 1 from the SL value in the SRH of the first and second data messages to obtain a fourth data message;
determining the SID indicated by the value of SL in said fourth data message;
and sending the fourth data message to a Proxy corresponding to the SID indicated by the SL value in the fourth data message.
20. The method of any of claims 2-7, 9, and 11-19, wherein the first field is carried in an SFF SID of the first data message.
21. The method of claim 20, wherein the first field is specifically carried in a Function field of an SFF SID of the first data message.
22. The method of claim 20, wherein the first field is specifically carried in an images field of an SFF SID of the first data message.
23. A data transmission apparatus, comprising: a communication unit and a processing unit;
the communication unit is used for acquiring a first data message; the first data message includes: segment routing extension header SRH, value of remaining segment SL, and original data message; the SRH comprises a plurality of sectional identifiers SIDs, wherein the SIDs comprise SIDs corresponding to N-1 Value Added Service (VAS) nodes and rear SIDs; n is an integer greater than or equal to 2; the value of SL is used to indicate the number of SIDs that need to be processed to reach the destination node; the SID corresponding to the VAS node is any one of the following: the SID of the VAS node or the SID of the Proxy corresponding to the VAS node;
The processing unit is used for determining at least two second data messages according to the first data messages; wherein the at least two second data messages differ from the value of SL of the first data message; the SL values of the at least two second data messages are different; the SL in the at least two second data messages respectively point to a Value Added Service (VAS) node and a post node, wherein the post node is a node other than the VAS node;
and the processing unit is further configured to forward the corresponding second data message to a node corresponding to each second data message or process the second data message according to the SID indicated by the SL value in each second data message.
24. The apparatus of claim 23, wherein the first data message comprises a first field, the first field being used to indicate copying of the first data message;
the processing unit is specifically configured to: copying the first data messages according to the first fields to obtain at least two first data messages;
and respectively adjusting the SL value of each first data message in the at least two first data messages, and determining the at least two second data messages.
25. The apparatus according to claim 24, wherein said first field is specifically configured to indicate that N-1 of said first data messages are to be replicated.
26. The apparatus of claim 25, wherein the at least two first data messages are N first data messages; the at least two second data messages are N second data messages.
27. The apparatus of claim 26, wherein the values of SL in the N first data messages are each M, and M is a positive integer greater than or equal to N.
28. The apparatus of claim 27, wherein the value of SL for the i-th data message of the N second data messages is M-i, i being a positive integer less than or equal to N;
when i is smaller than N, the value of SL of the ith data message is used for indicating SIDs corresponding to the ith VAS node in the N-1 VAS nodes;
when i is equal to N, the value of SL for the ith data packet is used to indicate the postsid.
29. The apparatus of claim 28, wherein the SID corresponding to the VAS node is a vasssid; the processing unit is specifically configured to: determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the VASSID of the ith VAS node;
And indicating the communication unit to send the ith second data message to the ith VAS node.
30. The apparatus of claim 29, wherein the ith vanssid in the SRH in the ith second data packet comprises a second field if i is less than N; the second field is used for indicating the VAS node to not need to forward the data message carrying the second field.
31. The apparatus of claim 28 wherein the SID corresponding to the VAS node is the SID of the Proxy corresponding to the VAS node; the processing unit is specifically configured to:
determining an ith second data message in the N second data messages; the SID indicated by the SL value in the ith second data message is the Proxy SID corresponding to the ith VAS node;
processing the ith second data message; and indicating the communication unit to send the processed second data message to the ith VAS node.
32. The apparatus of claim 31 wherein in the case where i is less than N, a third field is included in the SID of Proxy corresponding to the i-th VAS node in the SRH in the i-th second data packet; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
33. The apparatus according to claim 24, wherein the first field is specifically configured to indicate that 1 of the first data packets are to be replicated.
34. The apparatus of claim 33, wherein the at least two first data messages are two first data messages; the at least two second data messages are two second data messages.
35. The apparatus of claim 34, wherein the values of SL in the two first data messages are each M, and M is a positive integer greater than or equal to N.
36. The apparatus of claim 35, wherein the SL in the first of the two second data messages has a value of M-1; the value of SL in the second data message is M-N;
the value of SL in the first and second data messages is used for indicating SIDs corresponding to the 1 st VAS node in the N-1 VAS nodes;
the value of SL in the second data packet is used to indicate the postsid.
37. The apparatus of claim 36, wherein the SID corresponding to the VAS node is a vasssid.
38. The apparatus of claim 37, wherein a fourth field is included in a 1 st to N-2 th vasssid of a 1 st VAS node in the SRH in the first and second data packets; the fourth field is used for indicating a VAS node to perform SL 1 reduction operation on the data message carrying the fourth field, determining the SID indicated by the value of SL after the 1 reduction operation, and sending the data message carrying the fourth field after the SL-1 operation to the node indicated by the value of SL after the 1 reduction operation;
The N-1 th VASSID in the SRH in the first data message comprises a second field; the second field of the VAS node is used for indicating that the VAS node does not need to forward the data message carrying the second field.
39. The apparatus of claim 36, wherein the SID corresponding to the VAS node is the SID of a Proxy corresponding to the VAS node.
40. The apparatus of claim 39 wherein the SID of Proxy corresponding to the 1 st to N-2 th VAS nodes in the SRH in the first and second data messages includes a fifth field; the fifth field is configured to instruct the Proxy to send a processed second data packet to a corresponding VAS node, and return a third data packet to a service function forwarder SFF, where the third data packet is a data packet determined by the VAS node corresponding to the Proxy according to the processed second data packet;
the N-1 th VASSID in the SRH in the first data message comprises a third field; the third field is used for indicating Proxy corresponding to a target VAS node to send the processed second data message to the target VAS node, and the data message returned from the target VAS node is not required to be received.
41. The apparatus of claim 40, wherein the processing unit is further configured to:
instructing the communication unit to receive the third data message from the Proxy;
adding the SRH of the first and second data messages to the third data message, and subtracting 1 from the SL value in the SRH of the first and second data messages to obtain a fourth data message;
determining the SID indicated by the value of SL in said fourth data message;
and indicating the communication unit to send the fourth data message to a Proxy corresponding to the SID indicated by the SL value in the fourth data message.
42. The apparatus of any one of claims 24-29, 31, and 33-41, wherein the first field is carried in an SFF SID of the first data message.
43. The apparatus of claim 42, wherein the first field is specifically carried in a Function field of an SFF SID of the first data message.
44. The apparatus of claim 42, wherein the first field is specifically carried in an images field of an SFF SID of the first data message.
45. An electronic device, comprising: a processor and a memory; wherein the memory is configured to store computer-executable instructions that, when the electronic device is operating, cause the electronic device to perform the data transmission method of any one of claims 1-22 by the processor executing the computer-executable instructions stored by the memory.
46. A computer-readable storage medium comprising instructions that, when executed by an electronic device, cause the computer to perform the data transmission method of any of claims 1-22.
CN202111470049.XA 2021-12-03 2021-12-03 Data transmission method, device, electronic equipment and storage medium Active CN114285907B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111470049.XA CN114285907B (en) 2021-12-03 2021-12-03 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111470049.XA CN114285907B (en) 2021-12-03 2021-12-03 Data transmission method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114285907A CN114285907A (en) 2022-04-05
CN114285907B true CN114285907B (en) 2023-05-26

Family

ID=80870801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111470049.XA Active CN114285907B (en) 2021-12-03 2021-12-03 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114285907B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114915455A (en) * 2022-04-24 2022-08-16 华控清交信息科技(北京)有限公司 Ciphertext data transmission method and device for ciphertext data transmission

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014354005B8 (en) * 2014-11-27 2016-07-28 Komatsu Ltd. System for managing mining machinery, method for managing mining machinery, and dump truck
CN112350934A (en) * 2019-08-07 2021-02-09 中国电信股份有限公司 Data transmission method, network node and data transmission system
CN112491926A (en) * 2020-12-11 2021-03-12 迈普通信技术股份有限公司 SRv6 path quality measuring method, device, electronic equipment and storage medium
CN112583745A (en) * 2019-09-27 2021-03-30 华为技术有限公司 Method, equipment and system for forwarding message in SR network
WO2021089052A1 (en) * 2019-11-08 2021-05-14 华为技术有限公司 Packet transmission method, proxy node, and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899003B2 (en) * 2007-08-13 2011-03-01 Sharp Laboratories Of America, Inc. Method and system for control of discontinuous reception (DRX) by a mobile device in a wireless communications network supporting voice-over-internet-protocol (VoIP)
US10506083B2 (en) * 2017-06-27 2019-12-10 Cisco Technology, Inc. Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet
CN112087381B (en) * 2019-06-14 2021-12-31 华为技术有限公司 Method and device for realizing service function processing
CN113542118B (en) * 2020-04-13 2024-01-23 中兴通讯股份有限公司 Segmented route header compression method, service processing method and device
CN113556284B (en) * 2020-04-24 2023-01-10 中国移动通信有限公司研究院 Data packet processing method and device
CN113691448B (en) * 2020-05-18 2022-09-23 华为技术有限公司 SRv6 method for forwarding message in service chain, SFF and SF device
CN113411259A (en) * 2021-06-30 2021-09-17 新华三技术有限公司 Message forwarding method, device and equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014354005B8 (en) * 2014-11-27 2016-07-28 Komatsu Ltd. System for managing mining machinery, method for managing mining machinery, and dump truck
CN112350934A (en) * 2019-08-07 2021-02-09 中国电信股份有限公司 Data transmission method, network node and data transmission system
CN112583745A (en) * 2019-09-27 2021-03-30 华为技术有限公司 Method, equipment and system for forwarding message in SR network
WO2021089052A1 (en) * 2019-11-08 2021-05-14 华为技术有限公司 Packet transmission method, proxy node, and storage medium
CN112491926A (en) * 2020-12-11 2021-03-12 迈普通信技术股份有限公司 SRv6 path quality measuring method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN114285907A (en) 2022-04-05

Similar Documents

Publication Publication Date Title
US10778576B2 (en) System and method for providing a bit indexed service chain
JP7481436B2 (en) Method, device and system for forwarding packets in a SR network
CN113691448B (en) SRv6 method for forwarding message in service chain, SFF and SF device
EP3780517B1 (en) Method and apparatus for processing multicast data packet
CN112468397B (en) IPv6 message processing method and device
WO2021088433A1 (en) Message processing method, device and system
WO2018036254A1 (en) Packet forwarding method and device
CN112887229B (en) Session information synchronization method and device
US11863454B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
CN112154627A (en) Service-related routing method and device
CN112787922A (en) Message processing method, network node and system
CN111988223A (en) Virtual machine migration method and network system
CN111131539B (en) Message forwarding method and device
CN114285907B (en) Data transmission method, device, electronic equipment and storage medium
CN110022263B (en) Data transmission method and related device
CN115834472A (en) Message processing method, forwarding strategy obtaining method and device
WO2022111666A1 (en) Route advertisement method, apparatus, and system
WO2022134674A1 (en) Message transmission method and apparatus, and device, storage medium and system
US11637775B2 (en) Methods and systems for location identifier based forwarding
CN111770049B (en) Global cache variable and message information storage method and device
CN115865802B (en) Flow mirroring method and device of virtual instance, virtual machine platform and storage medium
US20240187346A1 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US11368354B2 (en) Multi-result lookups
WO2024001701A1 (en) Data processing method, apparatus and system
KR100550013B1 (en) Packet communication method between router and virtual local area network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant