[go: up one dir, main page]

CN112242966A - Data forwarding method and device - Google Patents

Data forwarding method and device Download PDF

Info

Publication number
CN112242966A
CN112242966A CN201910655258.8A CN201910655258A CN112242966A CN 112242966 A CN112242966 A CN 112242966A CN 201910655258 A CN201910655258 A CN 201910655258A CN 112242966 A CN112242966 A CN 112242966A
Authority
CN
China
Prior art keywords
data packet
node
label
queue
downstream node
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.)
Granted
Application number
CN201910655258.8A
Other languages
Chinese (zh)
Other versions
CN112242966B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910655258.8A priority Critical patent/CN112242966B/en
Publication of CN112242966A publication Critical patent/CN112242966A/en
Application granted granted Critical
Publication of CN112242966B publication Critical patent/CN112242966B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据转发方法和装置。本申请数据转发方法,包括:接收第一数据包,第一数据包包括至少一个第一标签,各第一标签分别用于标识数据转发路径上的一个下游节点;确定第一数据包的发送队列的编号;根据发送队列的编号获取第二标签,第二标签与发送队列的编号相对应且用于标识第一下游节点,第一下游节点为数据转发路径上的任一个下游节点;将第一数据包中用于标识第一下游节点的第一标签调整为第二标签,得到第二数据包;发送第二数据包。本申请实现周期调度,进而提供确定性的时延和抖动保证。

Figure 201910655258

The present application provides a data forwarding method and apparatus. The data forwarding method of the present application includes: receiving a first data packet, where the first data packet includes at least one first label, and each first label is respectively used to identify a downstream node on a data forwarding path; determining a sending queue of the first data packet number; obtain the second label according to the number of the sending queue, the second label corresponds to the number of the sending queue and is used to identify the first downstream node, and the first downstream node is any downstream node on the data forwarding path; The first label used to identify the first downstream node in the data packet is adjusted to the second label to obtain the second data packet; the second data packet is sent. The present application implements periodic scheduling, thereby providing deterministic delay and jitter guarantees.

Figure 201910655258

Description

Data forwarding method and device
Technical Field
The present application relates to communications technologies, and in particular, to a data forwarding method and apparatus.
Background
The goal of Deterministic network (DIP) technology is to provide Deterministic delay and jitter guarantees based on the existing Internet Protocol (IP) forwarding mechanism, and its technical core is a periodic scheduling mechanism. A stable period mapping relation is maintained between any two adjacent nodes on a data forwarding path in the deterministic network, and the period mapping relation indicates the mapping relation between the period sequence number sent by the data packet from the upstream node and the period sequence number sent again by the downstream node. For example, as shown in FIG. 1, each device periodically cycles its own time axis, which may range from 0-3. The upstream node starts to send a data packet at a cycle numbered x (for example, x equals 1), after transmission through the data forwarding path, the time when the first bit of the data packet reaches the downstream node is a cycle numbered y (for example, y equals 3) of the downstream node, and the time when the last bit of the data packet reaches the downstream node at the latest is a cycle numbered y +2 (for example, y equals 1) of the downstream node, so that the time when the downstream node sends the data packet out again is the next cycle after receiving all the data packets, and the cycle numbered y +3 (for example, y equals 2). This establishes a periodic mapping of x → y +3 between the upstream and downstream nodes. Thus, DIP can implement periodic scheduling through a periodic mapping relationship.
At present, a Segment Routing (SR) network performs data forwarding based on Segment Identifiers (SIDs), but the SIDs can only be used for marking specific network nodes or neighboring nodes, so that the SR network cannot implement periodic scheduling such as the above-mentioned DIP, and further cannot provide deterministic delay and jitter guarantees.
Disclosure of Invention
The application provides a data forwarding method and a data forwarding device, so as to realize periodic scheduling and further provide deterministic time delay and jitter guarantee.
In a first aspect, the present application provides a data forwarding method, including:
receiving a first data packet, wherein the first data packet comprises at least one first label, and each first label is respectively used for identifying a downstream node on a data forwarding path; determining the number of a sending queue of the first data packet; acquiring a second label according to the number of the sending queue, wherein the second label corresponds to the number of the sending queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path; adjusting the first label used for identifying the first downstream node in the first data packet to be the second label to obtain a second data packet; and sending the second data packet.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
In a possible implementation manner, the obtaining the second tag according to the number of the transmission queue includes: and calculating to obtain the second label by taking the number of the sending queue as an offset based on the first label for identifying the first downstream node.
In a possible implementation manner, the obtaining the second tag according to the number of the transmission queue includes: and inquiring a preset corresponding relation list according to the number of the sending queue to determine the second label, wherein the corresponding relation list comprises the number of the sending queue and the corresponding relation of the label for identifying the first downstream node.
In a possible implementation manner, the determining a number of a transmission queue of the first data packet includes: and querying a preset queue mapping relation according to a first number to determine the number of the transmission queue of the first data packet, wherein the first number is the number of the transmission queue of the first data packet on an adjacent upstream node, and the queue mapping relation comprises the mapping relation between the number of the transmission queue of the first data packet on the adjacent upstream node and the number of the transmission queue.
In a possible implementation manner, the total number of the sending queues is N, N node tags are used for identifying the first downstream node, the N node tags correspond to the numbers of the N sending queues, and N is an integer greater than 1.
In a possible implementation manner, the total number of the sending queues is N, N neighboring node tags are used to identify the first downstream node, the N neighboring node tags correspond to the numbers of the N sending queues, and N is an integer greater than 1.
In a second aspect, the present application provides a data forwarding method, including:
receiving a third data packet; adding at least one first label in the third data packet according to the sequence of the downstream node on the data forwarding path, wherein each first label is used for identifying one downstream node on the data forwarding path; determining the number of a sending queue of the third data packet; acquiring a second label according to the number of the sending queue, wherein the second label corresponds to the number of the sending queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path; adjusting the first label used for identifying the first downstream node in the third data packet to the second label to obtain a fourth data packet; and transmitting the fourth data packet.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
In a third aspect, the present application provides a data forwarding method, including:
receiving a third data packet; determining the number of a sending queue of the third data packet; acquiring a second label according to the sequence of downstream nodes on a data forwarding path and the number of the sending queue, wherein the second label corresponds to the number of the sending queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path; adding the second label to the third data packet to obtain a fourth data packet; and transmitting the fourth data packet.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
In a possible implementation manner, after the adding the second tag to the third data packet, the method further includes: and adding at least one first label in the third data packet according to the sequence of the downstream nodes on the data forwarding path, wherein each first label is respectively used for identifying one downstream node on the data forwarding path except the first downstream node.
In a fourth aspect, the present application provides a data forwarding method, including:
receiving a data packet; analyzing the data packet to obtain a second label, wherein the second label corresponds to a first number, and the first number is the number of a sending queue of the data packet on an adjacent upstream node; determining the first number according to the second label; and determining the number of the sending queue of the data packet according to the first number.
The label carried in the data packet is expanded, the label can be used for identifying a downstream node on a data forwarding path on one hand, and can be used for representing the number of a sending queue of the data packet on an adjacent upstream node on the other hand, and the node determines the number of the sending queue of the data packet through the label to realize periodic scheduling, so that deterministic delay and jitter guarantee are provided.
In a possible implementation manner, the determining, according to the first number, a number of a transmission queue of the data packet includes: and querying a preset queue mapping relation according to the first number to determine the number of the sending queue of the data packet, wherein the queue mapping relation comprises the mapping relation between the number of the sending queue of the data packet on the adjacent upstream node and the number of the sending queue of the data packet.
In one possible implementation manner, the determining the first number according to the second tag includes: and calculating to obtain the first number by taking the difference value between the second label and the set label as an offset based on the second label.
In one possible implementation manner, the determining the first number according to the second tag includes: and querying a preset corresponding relation list according to the second label to determine the first number, wherein the corresponding relation list comprises the number of the sending queue of the adjacent upstream node and the corresponding relation of the label.
In a fifth aspect, the present application provides a data forwarding apparatus having a function of implementing a behavior of the data forwarding apparatus in the method according to any one of the first to third aspects. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a sixth aspect, the present application provides a data forwarding apparatus having a function of implementing the behavior of the data forwarding apparatus in the method of any one of the above fourth aspects. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a seventh aspect, the present application provides a network node, comprising:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of the first to fourth aspects as described above.
In an eighth aspect, the present application provides a computer readable storage medium comprising a computer program which, when executed on a computer, causes the computer to perform the method of any of the first to fourth aspects above.
In a ninth aspect, the present application provides a computer program for performing the method of any one of the first to fourth aspects above when the computer program is executed by a computer.
Drawings
FIG. 1 is a schematic diagram of a periodic mapping relationship in DIP;
fig. 2 is a flowchart of a first embodiment of a data forwarding method according to the present application;
FIG. 3 is a schematic diagram of a data forwarding network according to the present application;
fig. 4 is a flowchart of a second embodiment of a data forwarding method of the present application;
fig. 5 is a flowchart of a third embodiment of a data forwarding method of the present application;
FIG. 6 is a flowchart of a fourth embodiment of a data forwarding method of the present application
Fig. 7 is a schematic diagram illustrating a change of a label in a fifth embodiment of the data forwarding method of the present application;
fig. 8 is a schematic diagram illustrating a change of a label according to a sixth embodiment of the data forwarding method of the present application;
fig. 9 is a schematic structural diagram of a data forwarding apparatus according to a first embodiment of the present application;
fig. 10 is a schematic structural diagram of a second data forwarding apparatus according to the present application;
fig. 11 is a schematic structural diagram of a third data forwarding apparatus according to the present application;
fig. 12 is a schematic structural diagram of a fourth data forwarding apparatus according to the present application;
fig. 13 is a schematic block diagram of a network node 1300 provided herein.
Detailed Description
The technical solutions in the present application will be described below with reference to the drawings in the present application, and it should be apparent that the described embodiments are some, but not all, embodiments in the present application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," and the like in the description examples and claims of this application and in the drawings are used for descriptive purposes only and are not to be construed as indicating or implying relative importance, nor order. Furthermore, the terms "comprises" and "comprising," as well as any variations thereof, are intended to cover a non-exclusive inclusion, such as a list of steps or elements. A method, system, article, or apparatus is not necessarily limited to those steps or elements explicitly listed, but may include other steps or elements not explicitly listed or inherent to such process, system, article, or apparatus.
It should be understood that in the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" for describing an association relationship of associated objects, indicating that there may be three relationships, e.g., "a and/or B" may indicate: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of single item(s) or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
For example, as shown in fig. 1, a stable cycle mapping relationship is maintained between any two adjacent nodes on the data forwarding path in the DIP, and the cycle mapping relationship indicates a mapping relationship between a cycle number of a data packet sent from an upstream node and a cycle number sent again from a downstream node. Each node periodically numbers its own time axis in cycles, which may range from 0-3, for example. The upstream node starts to send a data packet at a cycle numbered x (for example, x equals 1), after transmission through the data forwarding path, the time when the first bit of the data packet reaches the downstream node is a cycle numbered y (for example, y equals 3) of the downstream node, and the time when the last bit of the data packet reaches the downstream node at the latest is a cycle numbered y +2 (for example, y equals 1) of the downstream node, so that the time when the downstream node sends the data packet out again is the next cycle after receiving all the data packets, and the cycle numbered y +3 (for example, y equals 2). Thus, a cycle mapping relation of x → y +3 is established between the upstream node and the downstream node, based on the cycle mapping relation, the upstream node only needs to carry the number of the sending cycle in the data packet, and the downstream node analyzes the cycle number carried in the data packet and determines the number of the sending cycle of the data packet in the local according to the cycle number and the cycle mapping relation, so that the DIP can realize cycle scheduling.
It should be noted that, a transmission queue is created for each period according to the periodic division performed by the node on its own time axis, and the node lists the data packets transmitted in a certain period in the transmission queue corresponding to the period. For example, as described above, the numbers of cycles of the upstream node and the downstream node are 0 to 3, so that the upstream node creates four transmission queues, the numbers of which correspond to the numbers of cycles, 0 to 3 respectively, and the downstream node also creates four transmission queues, the numbers of which correspond to the numbers of cycles, 0 to 3 respectively. In the following description of the embodiments, the number of the transmission queue is used, which is equivalent to the number of the transmission cycle.
The SR network is a data forwarding network for data forwarding based on SID, which can be used to mark a specific network node or a neighboring node, but the current SR network cannot implement periodic scheduling. The application provides a data forwarding method to realize periodic scheduling in an SR network.
Fig. 2 is a flowchart of a first embodiment of a data forwarding method in the present application, and as shown in fig. 2, an execution subject in this embodiment may be a node on a data forwarding path. The data forwarding method can comprise the following steps:
201. a first data packet is received.
After receiving the first data packet, the node parses the first data packet to obtain information carried in a packet header of the first data packet, where the information may include at least one first tag, and each first tag is used to identify a downstream node on the data forwarding path, and may also include a number of a transmission queue of the first data packet on an adjacent upstream node.
As nodes on the data forwarding path, its upstream node is the source of the data packet, and its downstream node is the destination of the data packet. Illustratively, as shown in fig. 3, the data forwarding network has eight nodes 1-8 in total, and based on the data forwarding path 1 → 3 → 4 → 6 → 5 → 7 → 8, the downstream node of node 1 includes 3, 4, 6, 5, 7 and 8, and the adjacent downstream node is 3; the downstream nodes of the node 3 comprise 4, 6, 5, 7 and 8, the adjacent upstream node is 1, and the adjacent downstream node is 4; the downstream nodes of the node 4 comprise 6, 5, 7 and 8, the adjacent upstream node is 3, and the adjacent downstream node is 6; the downstream nodes of the node 6 comprise 5, 7 and 8, the adjacent upstream node is 4, and the adjacent downstream node is 5; the downstream nodes of the node 5 comprise 7 and 8, the adjacent upstream node is 6, and the adjacent downstream node is 7; the adjacent downstream node of the node 7 is 8, and the adjacent upstream node is 5; the adjacent upstream node of node 8 is 7. If the node has a plurality of downstream nodes, the first label in the first data packet is also a plurality of, and each first label is used for identifying one downstream node, and if the node has only one downstream node, the first label in the first data packet is also only one, and the first label is used for identifying the unique downstream node. For example, node 3 has five downstream nodes, and therefore the first packet received by node 3 carries five first labels, which are used to identify nodes 4, 6, 5, 7 and 8, respectively.
According to the total number of the sending queues on the node (N, which is an integer greater than 1), the node can be identified by N node tags, and the N node tags correspond to the numbers of the N sending queues. Or according to the total number (N) of the sending queues, the node can also be identified by N adjacent node labels, and the N adjacent node labels correspond to the numbers of the N sending queues. Illustratively, a node has four sending queues, and four node tags are created for the node, and correspond to the numbers of the four sending queues, for example, the four node tags are 1001, 1002, 1003 and 1004, and the numbers of the sending queues are 0, 1, 2 and 3, where the node tag 1001 corresponds to the number 0, the node tag 1002 corresponds to the number 1, the node tag 1003 corresponds to the number 2, and the node tag 1004 corresponds to the number 3. The first label may be any one of a plurality of node labels of the downstream node, or may be a base label (for example, 1001) among the plurality of node labels.
202. The number of the transmit queue for the first packet is determined.
The node may determine a number of a transmission queue of the first packet according to a preset queue mapping relationship queried by the first number, where the first number is a number of a transmission queue of the first packet on an adjacent upstream node. As described above, a stable periodic (queue) mapping relationship is maintained between any two adjacent nodes on the data forwarding path in the DIP, where the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the first data packet on the adjacent upstream node and the number of the transmission queue. For example, the queue mapping relationship is x → y +3, where x is the number of the transmission queue for transmitting the first packet by the adjacent upstream node, y is the number of the period (queue) for receiving the first packet by the node, and the number of the transmission queue for transmitting the first packet at the adjacent upstream node is x (e.g., 1), so that the node can determine that the number of the transmission queue is y +3 (e.g., 2).
203. And acquiring a second label according to the number of the sending queue.
In the present application, the second label corresponds to a number of the transmission queue and is used to identify the first downstream node, and the first downstream node is any downstream node on the data forwarding path. For example, in the above example, the four node tags of the first downstream node are 1001, 1002, 1003 and 1004, respectively, and the numbers of the transmission queues are 0, 1, 2 and 3, respectively, where node tag 1001 corresponds to number 0, node tag 1002 corresponds to number 1, node tag 1003 corresponds to number 2, and node tag 1004 corresponds to number 3. The second label has two roles, one is to identify a node on the data forwarding path, and the other is a number indicating a transmission queue. For example, if the number of the transmission queue is determined to be 1 in step 202, the second tag is 1002.
It should be noted that the first downstream node identified by the second label is any downstream node on the data forwarding path, and the first downstream node may be an adjacent downstream node in general, or may be another node except the adjacent downstream node in the downstream node in a special case. For example, for node 3, the first downstream node may be 4 (adjacent downstream node), or any one of 6, 5, 7, and 8 (non-adjacent downstream node).
In the application, the node may calculate, based on the first label for identifying the first downstream node, the second label by using the number of the transmission queue as the offset. For example, node 3, the first downstream node is node 4, the node labels of node 4 are 1001, 1002, 1003 and 1004, respectively, and the first label is 1001. The number of the transmission queue is 1, and a second label of 1002(1001+1) can be obtained; the transmit queue number is 3, and a second tag of 1004(1001+3) is obtained.
In the application, the node may also query a preset correspondence list according to the number of the transmission queue to determine the second tag, where the correspondence list includes the number of the transmission queue and a correspondence of the tag used for identifying the first downstream node. For example, node 3, the first downstream node is node 4, the node labels of node 4 are 1001, 1002, 1003 and 1004, and the numbers of the transmission queues are 0, 1, 2 and 3, respectively, where node label 1001 corresponds to number 0, node label 1002 corresponds to number 1, node label 1003 corresponds to number 2, and node label 1004 corresponds to number 3. If the number of the sending queue is 1, a second label of 1002 can be obtained; if the number of the transmission queue is 3, the second tag is 1004.
204. And adjusting a first label used for identifying the first downstream node in the first data packet into a second label to obtain a second data packet.
In the application, the node usually only adjusts the label corresponding to the first downstream node to obtain the second data packet. For example, the node 3 receives a first data packet carrying five first labels, and the node 3 only needs to adjust the first label (1001) for identifying the node 4 to the second label (1002).
205. And sending the second data packet.
The node sends the second data packet to an adjacent downstream node.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
The execution bodies of the embodiment shown in fig. 2 mainly refer to intermediate network nodes, e.g. nodes 3-7, on the data forwarding path. And the data forwarding method shown in fig. 4 may be adopted for the head node 1 on the data forwarding path.
Fig. 4 is a flowchart of a second embodiment of the data forwarding method of the present application, and as shown in fig. 4, an execution subject of the present embodiment may be a node on a data forwarding path. The data forwarding method can comprise the following steps:
401. a third data packet is received.
The third packet is a packet from a host (e.g., a network node, a personal computer, a client, etc.).
402. And adding at least one first label in the third data packet according to the sequence of the downstream nodes on the data forwarding path.
And after receiving a third data packet from the host, the node labels the third data packet according to the sequence of the downstream nodes on the data forwarding path. Illustratively, as shown in fig. 3, the data forwarding path 1 → 3 → 4 → 6 → 5 → 7 → 8, the node 1 receives the third packet, and tags the third packet according to 3 → 4 → 6 → 5 → 7 → 8, for example, a specified field in the packet header of the third packet, and fills any one of the node tags of the nodes 3, 4, 6, 5, 7 and 8, or a specified base tag in the node tags in turn.
403. The number of the transmission queue of the third packet is determined.
In the application, the node determines the number of the transmission queue of the third data packet, and may determine in a manner of using a plurality of transmission queues in turn, for example, sequentially allocating the transmission queues to the received data packets according to the order of 0 to 3. The congestion level of the transmit queue may also be determined, for example, in four transmit queues, the transmit queue with the minimum amount of data to be transmitted is preferentially allocated to the received data packet. The method for determining the number of the transmission queue of the third data packet is not specifically limited in the present application.
404. And acquiring a second label according to the number of the sending queue.
The second label corresponds to the number of the transmission queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path. Step 404 of this embodiment is similar to the implementation principle of step 203 of the above embodiment, and is not described here again.
405. And adjusting a first label used for identifying the first downstream node in the third data packet into a second label to obtain a fourth data packet.
Step 405 of this embodiment is similar to the implementation principle of step 204 of the above embodiment, and is not described here again.
406. And transmitting the fourth data packet.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
Unlike the embodiment shown in fig. 4, the data forwarding method shown in fig. 5 may also be adopted for the head node 1 on the data forwarding path.
Fig. 5 is a flowchart of a third embodiment of the data forwarding method of the present application, and as shown in fig. 5, an execution main body of the present embodiment may be a node on a data forwarding path. The data forwarding method can comprise the following steps:
501. a third data packet is received.
Step 501 of this embodiment is similar to the implementation principle of step 401 of the above embodiment, and is not described here again.
502. The number of the transmission queue of the third packet is determined.
Step 502 of this embodiment is similar to the implementation principle of step 403 of the above embodiment, and is not described herein again.
503. And acquiring a second label according to the sequence of the downstream nodes on the data forwarding path and the number of the sending queue.
The second label corresponds to the number of the transmission queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path. In this embodiment, after determining the number of the transmission queue, the node directly obtains the second tag. The difference from the embodiment shown in fig. 4 is that the node in the embodiment of fig. 4 adds a first label to a third packet according to the sequence of the downstream nodes on the data forwarding path, where the first label does not have the function of indicating the number of the transmission queue, and then after determining the number of the transmission queue, adjusts the first label for identifying the first downstream node to a second label, where the second label is used for indicating both the first downstream node and the number of the transmission queue. In this embodiment, the node first determines the number of the transmission queue, and then directly adds a second tag to the tag of the first downstream node according to the number of the transmission queue, where the second tag is used to represent both the first downstream node and the transmission queue.
In addition, the node may further add at least one first label in the third data packet according to the sequence of the downstream node on the data forwarding path, where each first label is used to identify one downstream node on the data forwarding path except the first downstream node. That is, in this embodiment, the node still needs to mark the first label on the downstream nodes except the first downstream node, and the downstream nodes only need to be marked at the node.
504. And adding a second label to the third data packet to obtain a fourth data packet.
Step 504 of this embodiment is similar to the implementation principle of step 204 of the above embodiment, and is not described here again.
505. And transmitting the fourth data packet.
The label carried in the data packet is expanded, and the label can be used for identifying a downstream node on a data forwarding path on one hand and representing the number of a sending queue of the data packet on the other hand, so that the downstream node determines the number of the sending queue through the label, the periodic scheduling is realized, and the deterministic delay and jitter guarantee is further provided.
The methods of the embodiments shown in fig. 2-5 are applicable in scenarios where nodes on the data forwarding path (e.g., nodes 1-7) are the data sender. While the data forwarding method shown in fig. 6 may be employed for a scenario in which nodes on the data forwarding path (e.g., nodes 3-8) are the data receivers.
Fig. 6 is a flowchart of a fourth embodiment of the data forwarding method of the present application, and as shown in fig. 6, an execution main body of the present embodiment may be a node on a data forwarding path. The data forwarding method can comprise the following steps:
601. a data packet is received.
The node receives the data packet sent by the adjacent upstream node.
602. And analyzing the data packet to obtain a second label.
After the data packet is processed by the adjacent upstream node, the packet header of the data packet carries a second label, where the second label has two functions, one is used to identify the first downstream node, for example, the node receiving the data packet in this embodiment, and the other is a number used to indicate a transmission queue of the data packet on the adjacent upstream node. Therefore, after receiving the data packet, the node first needs to parse the data packet to obtain the second tag.
603. A first number is determined from the second label.
The first number is the number of the transmission queue of the data packet on the adjacent upstream node. In contrast to step 203 in the embodiment shown in fig. 2, the node in this embodiment determines the number of the transmission queue of the data packet on the adjacent upstream node according to the second label.
In the application, the node may calculate the first number by using a difference between the second tag and the set tag as an offset based on the second tag. For example, node 4 receives a packet, and node 4 has node tags 1001, 1002, 1003, and 1004, respectively, and tag 1001 is set. The second label carried in the data packet is 1002, so the first number is 1 (1002-1001); the second tag carried in the data packet is 1004, so the first number 3 can be calculated (1004 and 1001).
In the application, the node may also determine the first number according to a preset correspondence list queried by the second tag, where the correspondence list includes a number of a transmission queue of an adjacent upstream node and a correspondence of the tag. For example, node 4 receives a packet, node tags of node 4 are 1001, 1002, 1003 and 1004, and numbers of transmission queues are 0, 1, 2 and 3, respectively, where node tag 1001 corresponds to number 0, node tag 1002 corresponds to number 1, node tag 1003 corresponds to number 2, and node tag 1004 corresponds to number 3. If the second tag carried in the data packet is 1002, the first number is 1; if the second tag carried in the data packet is 1004, the first number is 3.
604. And determining the number of the sending queue of the data packet according to the first number.
The node may determine the number of the transmission queue of the data packet according to a preset queue mapping relationship by querying the first number, where the first number is the number of the transmission queue of the data packet on the adjacent upstream node. As described above, a stable periodic (queue) mapping relationship is maintained between any two adjacent nodes on the data forwarding path in the DIP, and the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the data packet on the adjacent upstream node and the number of the transmission queue. For example, the queue mapping relationship is x → y +3, where x is the number of the transmission queue for transmitting the data packet by the adjacent upstream node, y is the number of the period (queue) for receiving the data packet by the node, and the number of the transmission queue for the data packet at the adjacent upstream node is x (e.g., 1), so that the node can determine that the number of the transmission queue is y +3 (e.g., 2).
The label carried in the data packet is expanded, the label can be used for identifying a downstream node on a data forwarding path on one hand, and can be used for representing the number of a sending queue of the data packet on an adjacent upstream node on the other hand, and the node determines the number of the sending queue of the data packet through the label to realize periodic scheduling, so that deterministic delay and jitter guarantee are provided.
The technical solution of the method embodiment shown in fig. 2-6 is described in detail below using two specific embodiments.
The data forwarding method is adopted in the SR-MPLS network. Illustratively, the SR-MPLS network includes four nodes A, B, C and D, and the data forwarding path is a → B → C → D, where the node label of node a includes 2005 (set label), 2006 and 2007, which correspond to numbers 0 and 2 of the transmission queue respectively; the node labels of the node B include 1001 (set label), 1002, and 1003, which correspond to numbers 0, 1, and 2 of the transmission queue, respectively; the node labels of the node C include 6002 (set label), 6003, and 6004, which correspond to the numbers 0, 1, and 2 of the transmission queue, respectively; the node labels of node D include 5007 (set label), 5008, and 5009, which correspond to the numbers 0, 1, and 2 of the transmission queue, respectively. As shown in fig. 7, a data packet is forwarded from node a to node D, and passes through nodes B and C, a packet header of the data packet encapsulates a node label in the form of a label stack, and after receiving an SR data packet sent by a host, node a sequentially pushes labels 5007, 6002, and 1001 in the label stack to identify nodes D, C and B, respectively.
(1) Before the node a sends the data packet to the downstream node B, the number of the sending queue of the data packet is determined to be 1, so the tag 1001 at the top of the tag stack of the data packet is adjusted to 1002(1001+1), and then the data packet is sent to the node B.
(2) After receiving the data packet, the node B may calculate, according to the label 1002 at the uppermost layer of the label stack of the data packet, that the number of the transmission queue of the data packet on the node a is 1 (1002-.
(3) Before the node B sends the data packet to the downstream node C, the tag 6002 at the top layer of the tag stack of the data packet is adjusted to 6004(6002+2) according to the number 2 of the sending queue of the data packet, and then the data packet is sent to the node C.
(4) After the node C receives the data packet, the number of the transmission queue of the data packet on the node B is calculated to be 2 (6004-.
(5) Before the node C sends the packet to the downstream node D, the tag 5007 at the top of the tag stack of the packet is adjusted to 5007(5007+0) according to the number 0 of the sending queue of the packet (since the tag is not changed, the operation may not be performed), and then the packet is sent to the node D.
(6) After the node D receives the data packet, the number of the sending queue of the data packet on the node C is calculated to be 0(5007-5007) according to the label 5007 on the uppermost layer of the label stack of the data packet, and the number of the sending queue of the data packet is 1 by querying the preset queue mapping relationship.
Through the data packet forwarding process, the end-to-end deterministic time delay of data packet forwarding can be ensured.
The data forwarding method described above is employed in SRv6 networks. Illustratively, the SRv6 network includes four nodes A, B, C and D, the data forwarding path is A → B → C → D, wherein the node labels of node A include 2001::2005 (set label), 2001::2006 and 2001::2007, corresponding to the numbers 0 and 2 of the transmission queue, respectively; the node labels of node B include 2004::1001 (set label), 2004::1002, and 2004::1003, corresponding to the numbers 0, 1, and 2 of the transmission queue, respectively; the node labels of the node C comprise 2002::6002 (set label), 2002::6003 and 2002::6004, which correspond to the numbers 0, 1 and 2 of the sending queue respectively; the node labels of node D include 2009::5007 (set label), 2009::5008 and 2009::5009, corresponding to send queue numbers 0, 1 and 2, respectively. As shown in FIG. 8, the data packet is forwarded from node A to node D, nodes B and C are accessed, the header of the data packet is packaged with a node label in the form of a label stack, and after the data packet SRv6 sent by the host is received by node A, labels 2009::5007, 2002::6002 and 2004::1001 are sequentially pressed in the label stack to respectively identify nodes D, C and B.
(1) Before the node A sends the data packet to the downstream node B, the number of the sending queue of the data packet is determined to be 1, so that the label 2004: 1001 at the uppermost layer of the label stack of the data packet is adjusted to 2004: 1002(1001+1), and then the data packet is sent to the node B.
(2) After receiving the data packet, the node B may calculate that the number of the transmission queue of the data packet on the node A is 1 according to the tag 2004 in the uppermost layer of the tag stack of the data packet (1002-.
(3) Before the node B sends the data packet to the downstream node C, the top label 2002::6002 of the label stack of the data packet is adjusted to 2002::6004(6002+2) according to the number 2 of the sending queue of the data packet, and then the data packet is sent to the node C.
(4) After the node C receives the data packet, the number of the sending queue of the data packet on the node B is obtained by calculating 6004 according to the label 2002 in the uppermost layer of the label stack of the data packet (6004 and 6002), and the number of the sending queue of the data packet is obtained by inquiring the preset queue mapping relation and is 0.
(5) Before the node C sends the packet to the downstream node D, the top label 2009::5007 of the label stack of the packet is adjusted to 2009::5007(5007+0) according to the number 0 of the sending queue of the packet (since the label is not changed, the operation may not be performed), and then the packet is sent to the node D.
(6) After the node D receives the data packet, according to the label 2009 in the top layer of the label stack of the data packet, 5007 may calculate that the number of the sending queue of the data packet on the node C is 0(5007-5007), and query a preset queue mapping relationship to obtain that the number of the sending queue of the data packet is 1.
Through the data packet forwarding process, the end-to-end deterministic time delay of data packet forwarding can be ensured.
It should be noted that, in the foregoing embodiment, the labels of the nodes are all labels of the node, and the node may also be identified by the adjacent node label. For example, the data forwarding path is a → B → C → D, where the labels of the neighboring nodes of the neighboring downstream node B with respect to node a include 1001, 1002 and 1003, the labels of the neighboring nodes of the neighboring downstream node C with respect to node B include 6002, 6003 and 6004, and the labels of the neighboring nodes of the neighboring downstream node D with respect to node C include 5007, 5008 and 5009, so that the label of the label stack of the packet sent by node a to node B is one of 6002, 6003 and 6004, and the label of the label stack of the packet sent by node B to node C is one of 5007, 5008 and 5009.
Fig. 9 is a schematic structural diagram of a first embodiment of a data forwarding device in the present application, and as shown in fig. 9, the device in this embodiment may include: the system comprises a receiving module 901, a determining module 902, an obtaining module 903, an adjusting module 904 and a sending module 905, wherein the receiving module 901 is configured to receive a first data packet, where the first data packet includes at least one first label, and each first label is used to identify a downstream node on a data forwarding path; a determining module 902, configured to determine a number of a transmission queue of the first data packet; an obtaining module 903, configured to obtain a second label according to the number of the sending queue, where the second label corresponds to the number of the sending queue and is used to identify a first downstream node, and the first downstream node is any downstream node on the data forwarding path; an adjusting module 904, configured to adjust the first tag, which is used to identify the first downstream node, in the first data packet to the second tag, so as to obtain a second data packet; a sending module 905, configured to send the second data packet.
In a possible implementation manner, the obtaining module 903 is specifically configured to calculate, based on the first label used for identifying the first downstream node, the second label by using the number of the sending queue as an offset.
In a possible implementation manner, the obtaining module 903 is specifically configured to query a preset correspondence list according to the number of the sending queue to determine the second label, where the correspondence list includes a correspondence between the number of the sending queue and a label used for identifying the first downstream node.
In a possible implementation manner, the determining module 902 is specifically configured to determine, according to a first number, a number of a transmission queue of the first data packet by querying a preset queue mapping relationship, where the first number is a number of a transmission queue of the first data packet on an adjacent upstream node, and the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the first data packet on the adjacent upstream node and the number of the transmission queue.
In a possible implementation manner, the total number of the sending queues is N, N node tags are used for identifying the first downstream node, the N node tags correspond to the numbers of the N sending queues, and N is an integer greater than 1.
In a possible implementation manner, the total number of the sending queues is N, N neighboring node tags are used to identify the first downstream node, the N neighboring node tags correspond to the numbers of the N sending queues, and N is an integer greater than 1.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 2, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 10 is a schematic structural diagram of a second embodiment of the data forwarding device in the present application, and as shown in fig. 10, the device in this embodiment may include: a receiving module 1001, an encapsulating module 1002, a determining module 1003, an obtaining module 1004, an adjusting module 1005 and a sending module 1006, wherein the receiving module 1001 is configured to receive a third data packet; an encapsulating module 1002, configured to add at least one first tag in the third data packet according to a sequence of a downstream node on a data forwarding path, where each first tag is used to identify a downstream node on the data forwarding path; a determining module 1003, configured to determine a number of a transmission queue of the third data packet; an obtaining module 1004, configured to obtain a second tag according to the number of the sending queue, where the second tag corresponds to the number of the sending queue and is used to identify a first downstream node, and the first downstream node is any downstream node on the data forwarding path; an adjusting module 1005, configured to adjust the first tag used for identifying the first downstream node in the third data packet to the second tag, so as to obtain a fourth data packet; a sending module 1006, configured to send the fourth data packet.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 4, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 11 is a schematic structural diagram of a third embodiment of a data forwarding device in the present application, and as shown in fig. 11, the device in this embodiment may include: the device comprises a receiving module 1101, a determining module 1102, an obtaining module 1103, an encapsulating module 1104 and a sending module 1105, wherein the receiving module 1101 is configured to receive a third data packet; a determining module 1102, configured to determine a number of a transmission queue of the third data packet; an obtaining module 1103, configured to obtain a second tag according to a sequence of downstream nodes on a data forwarding path and a number of the sending queue, where the second tag corresponds to the number of the sending queue and is used to identify a first downstream node, and the first downstream node is any downstream node on the data forwarding path; the encapsulation module 1104 is configured to add the second tag to the third data packet to obtain a fourth data packet; a sending module 1105, configured to send the fourth data packet.
In a possible implementation manner, the encapsulating module 1104 is further configured to add at least one first label to the third data packet according to a sequence of a downstream node on the data forwarding path, where each first label is respectively used to identify a downstream node on the data forwarding path except for the first downstream node.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 5, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 12 is a schematic structural diagram of a fourth data forwarding device according to the present application, and as shown in fig. 12, the device according to the present embodiment may include: the device comprises a receiving module 1201, an analyzing module 1202 and a determining module 1203, wherein the receiving module 1201 is used for receiving a data packet; an analyzing module 1202, configured to analyze the data packet to obtain a second tag, where the second tag corresponds to a first number, and the first number is a number of a sending queue of the data packet on an adjacent upstream node; a determining module 1203, configured to determine the first number according to the second tag; and determining the number of the sending queue of the data packet according to the first number.
In a possible implementation manner, the determining module 1203 is specifically configured to determine, according to the first number, a number of a transmission queue of the data packet by querying a preset queue mapping relationship, where the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the data packet on the adjacent upstream node and the number of the transmission queue of the data packet.
In a possible implementation manner, the determining module 1203 is specifically configured to calculate, based on the second tag, the first number by using a difference between the second tag and a set tag as an offset.
In a possible implementation manner, the determining module 1203 is specifically configured to determine the first number according to a preset correspondence list queried by the second tag, where the correspondence list includes a number of a sending queue of an adjacent upstream node and a correspondence of the tag.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 6, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 13 is a schematic block diagram of a network node 1300 provided herein. As shown in fig. 13, network node 1300 includes a processor 1301 and a transceiving port 1302.
Optionally, the network node 1300 further comprises a memory 1303. The processor 1301, the transceiving port 1302 and the memory 1303 may communicate with each other through an internal connection path, and transmit a control signal and/or a data signal.
The memory 1303 is used for storing computer programs. The processor 1301 is configured to execute the computer program stored in the memory 1303, so as to implement the functions in the above-described apparatus embodiments (e.g., fig. 9-12).
Optionally, the memory 1303 may also be integrated into the processor 1301 or separate from the processor 1301.
Optionally, the network node 1300 may also include a power supply 1304 for providing power to various devices or circuits in the network node.
In addition, in order to make the functions of the network node more complete, the network node 1300 may further include one or more of an input unit 1305, a display unit 1306 (which may also be considered as an output unit).
The present application further provides a computer-readable storage medium having stored thereon a computer program, which, when executed by a computer, causes the computer to perform the steps and/or processes performed by the network node in any of the above-described method embodiments.
The present application further provides a computer program product comprising computer program code which, when run on a computer, causes the computer to perform the steps and/or processes performed by the network node in any of the above-described method embodiments.
In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, or discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application may be directly implemented by a hardware encoding processor, or implemented by a combination of hardware and software modules in the encoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The memory referred to in the various embodiments above may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), double data rate SDRAM, enhanced SDRAM, SLDRAM, Synchronous Link DRAM (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. 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 application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (personal computer, server, network device, or the like) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (22)

1. A method for forwarding data, comprising:
receiving a first data packet, wherein the first data packet comprises at least one first label, and each first label is respectively used for identifying a downstream node on a data forwarding path;
determining the number of a sending queue of the first data packet;
acquiring a second label according to the number of the sending queue, wherein the second label corresponds to the number of the sending queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path;
adjusting the first label used for identifying the first downstream node in the first data packet to be the second label to obtain a second data packet;
and sending the second data packet.
2. The method of claim 1, wherein obtaining the second tag according to the number of the transmission queue comprises:
and calculating to obtain the second label by taking the number of the sending queue as an offset based on the first label for identifying the first downstream node.
3. The method of claim 1, wherein obtaining the second tag according to the number of the transmission queue comprises:
and inquiring a preset corresponding relation list according to the number of the sending queue to determine the second label, wherein the corresponding relation list comprises the number of the sending queue and the corresponding relation of the label for identifying the first downstream node.
4. The method according to any of claims 1-3, wherein said determining the number of the transmission queue of the first packet comprises:
and querying a preset queue mapping relation according to a first number to determine the number of the transmission queue of the first data packet, wherein the first number is the number of the transmission queue of the first data packet on an adjacent upstream node, and the queue mapping relation comprises the mapping relation between the number of the transmission queue of the first data packet on the adjacent upstream node and the number of the transmission queue.
5. The method according to any of claims 1-4, wherein the total number of transmit queues is N, and wherein N node tags are used to identify the first downstream node, and wherein the N node tags correspond to the N number of transmit queues, and wherein N is an integer greater than 1.
6. The method according to any of claims 1-4, wherein the total number of transmit queues is N, and wherein there are N neighbor node tags for identifying the first downstream node, the N neighbor node tags corresponding to the N transmit queues' numbers, and N being an integer greater than 1.
7. A method for forwarding data, comprising:
receiving a third data packet;
adding at least one first label in the third data packet according to the sequence of the downstream node on the data forwarding path, wherein each first label is used for identifying one downstream node on the data forwarding path;
determining the number of a sending queue of the third data packet;
acquiring a second label according to the number of the sending queue, wherein the second label corresponds to the number of the sending queue and is used for identifying a first downstream node, and the first downstream node is any downstream node on the data forwarding path;
adjusting the first label used for identifying the first downstream node in the third data packet to the second label to obtain a fourth data packet;
and transmitting the fourth data packet.
8. A method for forwarding data, comprising:
receiving a data packet;
analyzing the data packet to obtain a second label, wherein the second label corresponds to a first number, and the first number is the number of a sending queue of the data packet on an adjacent upstream node;
determining the first number according to the second label;
and determining the number of the sending queue of the data packet according to the first number.
9. The method of claim 8, wherein determining the number of the transmission queue of the data packet according to the first number comprises:
and querying a preset queue mapping relation according to the first number to determine the number of the sending queue of the data packet, wherein the queue mapping relation comprises the mapping relation between the number of the sending queue of the data packet on the adjacent upstream node and the number of the sending queue of the data packet.
10. The method of claim 8 or 9, wherein said determining the first number from the second tag comprises:
and calculating to obtain the first number by taking the difference value between the second label and the set label as an offset based on the second label.
11. The method of claim 8 or 9, wherein said determining the first number from the second tag comprises:
and querying a preset corresponding relation list according to the second label to determine the first number, wherein the corresponding relation list comprises the number of the sending queue of the adjacent upstream node and the corresponding relation of the label.
12. A data forwarding apparatus, comprising:
a receiving module, configured to receive a first data packet, where the first data packet includes at least one first tag, and each first tag is used to identify a downstream node on a data forwarding path;
a determining module, configured to determine a number of a transmission queue of the first data packet;
an obtaining module, configured to obtain a second tag according to the number of the sending queue, where the second tag corresponds to the number of the sending queue and is used to identify a first downstream node, and the first downstream node is any downstream node on the data forwarding path;
an adjusting module, configured to adjust the first tag, used for identifying the first downstream node, in the first data packet to the second tag, so as to obtain a second data packet;
and the sending module is used for sending the second data packet.
13. The apparatus of claim 12, wherein the obtaining module is specifically configured to calculate the second label by using a number of the transmission queue as an offset based on the first label for identifying the first downstream node.
14. The apparatus according to claim 12, wherein the obtaining module is specifically configured to query a preset correspondence list according to the number of the transmission queue to determine the second tag, where the correspondence list includes a correspondence between the number of the transmission queue and a tag used to identify the first downstream node.
15. The apparatus according to any one of claims 12 to 14, wherein the determining module is specifically configured to determine the number of the transmission queue of the first data packet according to a first number query preset queue mapping relationship, where the first number is a number of a transmission queue of the first data packet on an adjacent upstream node, and the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the first data packet on the adjacent upstream node and the number of the transmission queue.
16. The apparatus according to any of claims 12-15, wherein the total number of transmit queues is N, and wherein there are N node tags for identifying the first downstream node, the N node tags corresponding to the N transmit queues, and wherein N is an integer greater than 1.
17. The method according to any of claims 12-15, wherein the total number of transmit queues is N, and wherein there are N neighbor node tags for identifying the first downstream node, the N neighbor node tags corresponding to the N transmit queues, where N is an integer greater than 1.
18. A data forwarding apparatus, comprising:
a receiving module, configured to receive a third data packet;
an encapsulation module, configured to add at least one first tag in the third data packet according to a sequence of a downstream node on a data forwarding path, where each first tag is used to identify a downstream node on the data forwarding path;
a determining module, configured to determine a number of a transmission queue of the third data packet;
an obtaining module, configured to obtain a second tag according to the number of the sending queue, where the second tag corresponds to the number of the sending queue and is used to identify a first downstream node, and the first downstream node is any downstream node on the data forwarding path;
an adjusting module, configured to adjust the first tag, used for identifying the first downstream node, in the third data packet to the second tag, so as to obtain a fourth data packet;
and the sending module is used for sending the fourth data packet.
19. A data forwarding apparatus, comprising:
the receiving module is used for receiving the data packet;
the analysis module is used for analyzing the data packet to obtain a second label, the second label corresponds to a first number, and the first number is the number of a sending queue of the data packet on an adjacent upstream node;
a determining module, configured to determine the first number according to the second tag; and determining the number of the sending queue of the data packet according to the first number.
20. The apparatus according to claim 19, wherein the determining module is specifically configured to determine the number of the transmission queue of the data packet according to a preset queue mapping relationship queried by the first number, where the queue mapping relationship includes a mapping relationship between the number of the transmission queue of the data packet on the adjacent upstream node and the number of the transmission queue of the data packet.
21. The apparatus according to claim 19 or 20, wherein the determining module is specifically configured to calculate the first number based on the second tag by using a difference between the second tag and a set tag as an offset.
22. The method according to claim 19 or 20, wherein the determining module is specifically configured to determine the first number according to a preset correspondence list queried by the second tag, where the correspondence list includes a correspondence between numbers and tags of transmission queues of adjacent upstream nodes.
CN201910655258.8A 2019-07-19 2019-07-19 Data forwarding method and device Active CN112242966B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910655258.8A CN112242966B (en) 2019-07-19 2019-07-19 Data forwarding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910655258.8A CN112242966B (en) 2019-07-19 2019-07-19 Data forwarding method and device

Publications (2)

Publication Number Publication Date
CN112242966A true CN112242966A (en) 2021-01-19
CN112242966B CN112242966B (en) 2023-11-28

Family

ID=74167556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910655258.8A Active CN112242966B (en) 2019-07-19 2019-07-19 Data forwarding method and device

Country Status (1)

Country Link
CN (1) CN112242966B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695327A (en) * 2022-10-27 2023-02-03 北京星网锐捷网络技术有限公司 Data transmission method, system and electronic equipment
WO2024250697A1 (en) * 2023-06-07 2024-12-12 中兴通讯股份有限公司 Packet forwarding method and apparatus, electronic device, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237386A (en) * 2007-02-02 2008-08-06 北京三星通信技术研究有限公司 Method of Flow Scheduling in Ethernet Network
CN101237374A (en) * 2007-02-02 2008-08-06 北京三星通信技术研究有限公司 Adaptive multi-hop time division multiplexing scheduling method
US20130243427A1 (en) * 2010-11-08 2013-09-19 Huawei Technologies Co., Ltd. Lossless bandwidth adjustment method, device and system
CN106453138A (en) * 2016-11-25 2017-02-22 杭州华三通信技术有限公司 Message processing method and apparatus
US20170332227A1 (en) * 2015-01-30 2017-11-16 Huawei Technologies Co., Ltd. Data processing method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237386A (en) * 2007-02-02 2008-08-06 北京三星通信技术研究有限公司 Method of Flow Scheduling in Ethernet Network
CN101237374A (en) * 2007-02-02 2008-08-06 北京三星通信技术研究有限公司 Adaptive multi-hop time division multiplexing scheduling method
US20130243427A1 (en) * 2010-11-08 2013-09-19 Huawei Technologies Co., Ltd. Lossless bandwidth adjustment method, device and system
US20170332227A1 (en) * 2015-01-30 2017-11-16 Huawei Technologies Co., Ltd. Data processing method and device
CN106453138A (en) * 2016-11-25 2017-02-22 杭州华三通信技术有限公司 Message processing method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIEGO DUJOVNE等: "6TISCH: DETERMINISTIC IP-ENABLED INDUSTRIAL INTERNET (OF THINGS)", IEEE COMMUNICATIONS MAGAZINE, pages 36 - 41 *
黄韬等: "确定性网络研究综述", 通信学报, vol. 40, no. 6, pages 160 - 176 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695327A (en) * 2022-10-27 2023-02-03 北京星网锐捷网络技术有限公司 Data transmission method, system and electronic equipment
WO2024250697A1 (en) * 2023-06-07 2024-12-12 中兴通讯股份有限公司 Packet forwarding method and apparatus, electronic device, and storage medium

Also Published As

Publication number Publication date
CN112242966B (en) 2023-11-28

Similar Documents

Publication Publication Date Title
KR102753139B1 (en) Method, device and system for forwarding packets in SR networks
US11677670B2 (en) Method for determining sending period in deterministic network and apparatus
TWI683587B (en) Apparatus and method for uniquely enumerating paths in a parse tree
US11616586B2 (en) Period mapping method and network device
CN107786437B (en) Message forwarding method and device
CN108429701A (en) network acceleration system
CN113923161B (en) Message forwarding method and device
CN113498106A (en) Scheduling method and device for time-sensitive network TSN (transport stream network) stream
CN113411258B (en) Message processing method and device
CN105959219A (en) Data processing method and apparatus
CN112242966A (en) Data forwarding method and device
CN112187557B (en) Method for measuring and reporting and network node
CN108092914B (en) Method and device for load balancing scheduling of network traffic
CN113630316A (en) Data transmission method and communication device
CN115987866B (en) Method, device and storage medium for processing notification information
CN113691459A (en) Data transmission method and device based on identification message
JP6654733B2 (en) Data processing device, network system, packet order control circuit, and data processing method
Dietrich et al. Frame conversion schemes for cascaded wired/wireless communication networks of factory automation
CN107846291A (en) Message processing method, Fault Locating Method and the network equipment
WO2015154393A1 (en) Method and apparatus for processing service node ability, service classifier and service controller
CN116193463A (en) Data processing method, message sending method and device
Bansal Divide-and-conquer scheduling for time-sensitive networks
CN114039936A (en) Time-sensitive communication service flow scheduling method and device for virtual power plant
CN116366736B (en) Switch deterministic transmission method, device, equipment and storage medium
JP6206105B2 (en) Communication system, communication method, and communication program

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