CN116938851A - Message transmission method and related equipment - Google Patents
Message transmission method and related equipment Download PDFInfo
- Publication number
- CN116938851A CN116938851A CN202210335004.XA CN202210335004A CN116938851A CN 116938851 A CN116938851 A CN 116938851A CN 202210335004 A CN202210335004 A CN 202210335004A CN 116938851 A CN116938851 A CN 116938851A
- Authority
- CN
- China
- Prior art keywords
- messages
- network device
- message
- numbers
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000005540 biological transmission Effects 0.000 title abstract description 33
- 238000004891 communication Methods 0.000 claims description 47
- 238000012163 sequencing technique Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 34
- 230000000737 periodic effect Effects 0.000 description 11
- 230000009977 dual effect Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000007493 shaping process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the application discloses a message transmission method and related equipment, which are used for avoiding message disorder. In the application, after receiving a plurality of messages sent by a first user equipment, the first network equipment marks the sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends the plurality of messages carrying the sequence number, so that after receiving the plurality of messages carrying the sequence number, a receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
Description
Technical Field
The application relates to the technical field of communication, in particular to a message transmission method and related equipment.
Background
Many application scenarios (e.g. ultra-reliable low-latency communications for fifth generation mobile communication technologies, industrial internet, intelligent factories, etc.) have clear requirements for the reliability of network transmissions, requiring the network to guarantee that traffic end-to-end does not drop packets with very high probability (e.g. 99.99% or even higher), but double (multiple) transmission options may lead to message misordering. Message disorder is a common phenomenon in a network, and causes a problem in processing a message by a receiving end, for example, misjudgment of packet loss is caused. Therefore, avoiding message misordering is a critical task in the network.
Disclosure of Invention
The embodiment of the application provides a message transmission method and related equipment, which are used for avoiding message disorder.
The first aspect of the present application provides a message transmission method, including:
in the application, after receiving a plurality of messages sent by a first user equipment, the first network equipment marks the sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends the plurality of messages carrying the sequence number, so that after receiving the plurality of messages carrying the sequence number, a receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
In some possible implementations, the ordering number includes a multi-level number, or the ordering number includes a primary number and a secondary number, and then the first network device may send, in one period, a message having the same primary number among the plurality of messages, where the primary number is one of the multi-level numbers, so that further disorder on the transmitting side is avoided.
In some possible implementations, the first network device sends the messages with the same primary number in the multiple messages through the first message forwarding path and the second message forwarding path in a period, so that both sides can receive the messages.
In some possible implementations, the first network device sends, in a period, a first partial packet with the same primary number in the multiple packets through a first packet forwarding path, and sends, in the multiple packets, a second partial packet with the same primary number through a second packet forwarding path, where the first partial packet and the second partial packet do not overlap, so as to implement load balancing.
The second aspect of the present application provides a method for transmitting a message, where the second network device receives a plurality of sequenced messages, and may sequence the messages with sequence numbers to obtain a plurality of sequenced messages, and send the plurality of sequenced messages to the second user device, so as to avoid disorder of the messages.
In some possible implementations, the sorting number includes a multi-level number, or the sorting number includes a first-level number and a second-level number, then the second network device determines a group of gating priority queues from a plurality of groups of gating priority queues according to the first-level number of the sorting number of the plurality of messages carrying the sorting number, different first-level numbers correspond to different groups of gating priority queues, and determines one gating priority queue in the corresponding group of gating priority queues according to other numbers except the first-level number of at least one message belonging to the same first-level number, respectively, so as to obtain the sorted plurality of messages, and then the second network device may send the messages in the corresponding gating priority queues to the second user device in one period.
In some possible implementations, the second network device receives, in a period, the messages with the same primary number among the multiple messages with the ordering numbers through the first message forwarding path and the second message forwarding path, so as to implement dual-transmission selective reception.
In some possible implementations, the second network device receives, in a period, a first partial packet with the same primary number in the packets carrying the sequence numbers through a first packet forwarding path, and receives, in the packet carrying the sequence numbers, a second partial packet with the same primary number in the packets carrying the sequence numbers through a second packet forwarding path, where the first partial packet and the second partial packet do not overlap, so as to implement load balancing.
In a third aspect, the present application provides a network device for performing the method of any one of the preceding first aspects.
In a fourth aspect, the present application provides a network device for performing the method of any one of the preceding second aspects.
In a fifth aspect, the present application provides a communication network system comprising: a first network device and a second network device, where the first network device is configured to perform any one of the methods performed by the network device in the first aspect; the second network device is configured to perform any one of the methods performed by the network device in the foregoing third aspect.
In a sixth aspect, the present application provides a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the method of any one of the first or second aspects above.
A seventh aspect of the present application provides a computer program product comprising computer-executable instructions stored on a computer-readable storage medium; the at least one processor of the apparatus may read the computer-executable instructions from a computer-readable storage medium, the at least one processor executing the computer-executable instructions causing the apparatus to implement the method provided by the first aspect or any one of the possible implementations of the first aspect.
An eighth aspect of the present application provides a communication device that may include at least one processor, a memory, and a communication interface. At least one processor is coupled with the memory and the communication interface. The memory is for storing instructions, the at least one processor is for executing the instructions, and the communication interface is for communicating with other communication devices under control of the at least one processor. The instructions, when executed by at least one processor, cause the at least one processor to perform the method of any possible implementation of the first or second aspect.
A ninth aspect of the application provides a chip system comprising a processor for supporting the functions involved in carrying out the above-described first aspect or any one of the possible implementations of the first aspect.
In one possible design, the chip system may further include memory to hold the necessary program instructions and data. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
The technical effects of the second to ninth aspects or any one of the possible implementation manners may be referred to technical effects of the first aspect or different possible implementation manners of the second aspect, which are not described herein.
From the above technical solutions, the embodiment of the present application has the following advantages:
in the application, after receiving a plurality of messages sent by a first user equipment, the first network equipment marks the sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends the plurality of messages carrying the sequence number, so that after receiving the plurality of messages carrying the sequence number, a receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
Drawings
Fig. 1-1 is a schematic diagram of a system architecture according to an embodiment of the present application;
fig. 1-2 are schematic diagrams of a network communication system according to an embodiment of the present application;
FIGS. 1-3 are schematic diagrams of dual transmit and receive;
FIGS. 1-4 are schematic diagrams of load balancing;
FIG. 2-1 is a schematic diagram of a sequencing slide window;
FIG. 2-2 is another schematic view of a sequencing slide window;
FIGS. 2-3 are further schematic diagrams of sequencing sliding windows;
fig. 3-1 is a schematic diagram of a message transmission method according to an embodiment of the present application;
FIG. 3-2 is a schematic diagram of a 3-level numbering scheme according to an embodiment of the present application;
fig. 3-3 are schematic diagrams of packet forwarding based on load balancing in an embodiment of the present application;
fig. 3-4 are schematic diagrams of a first network device sending a message according to an embodiment of the present application;
fig. 3-5 are schematic diagrams of periodic mapping of each network device in the network communication system according to the embodiment of the present application;
fig. 3-6 are further schematic diagrams of periodic mapping of various network devices in a network communication system according to an embodiment of the present application;
fig. 3 to 7 are schematic diagrams illustrating message forwarding performed by the second network device in the embodiment of the present application;
fig. 3-8 are another schematic diagrams illustrating a message forwarding performed by the second network device according to an embodiment of the present application;
Fig. 3-9 are another schematic diagrams illustrating a message forwarding performed by the second network device according to an embodiment of the present application;
fig. 3-10 are another schematic diagrams illustrating a message forwarding performed by the second network device according to an embodiment of the present application;
fig. 4-1 is a schematic diagram of a message transmission method according to an embodiment of the present application;
fig. 4-2 is a schematic diagram of message forwarding based on dual transmission and reception in an embodiment of the present application;
fig. 4-3 are schematic diagrams of a first network device sending a message according to an embodiment of the present application;
fig. 4-4 are schematic diagrams of periodic mapping of each network device in the network communication system according to the embodiment of the present application;
FIGS. 4-5 are further schematic diagrams illustrating periodic mapping of various network devices in a network communication system according to embodiments of the present application;
FIGS. 4-6 are schematic diagrams of gating priority queues according to embodiments of the present application;
fig. 4-7 are schematic diagrams of periodic mapping of each network device in the network communication system according to the embodiment of the present application;
fig. 4 to 8 are schematic diagrams of message forwarding performed by the second network device in the embodiment of the present application;
fig. 5-1 is a schematic diagram of a message transmission method according to an embodiment of the present application;
fig. 5-2 is a schematic diagram of message forwarding based on dual transmission and reception in an embodiment of the present application;
fig. 5-3 are schematic diagrams of a first network device sending a message according to an embodiment of the present application;
Fig. 5-4 are schematic diagrams of periodic mapping of each network device in the network communication system according to the embodiment of the present application;
FIGS. 5-5 are further diagrams illustrating periodic mapping of various network devices in a network communication system according to embodiments of the present application;
fig. 5-6 are schematic diagrams illustrating message forwarding performed by the second network device in the embodiment of the present application;
fig. 6 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 7 is another schematic structural diagram of a network device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a communication device according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides a message transmission method and related equipment, which are used for avoiding message disorder.
Embodiments of the present application are described below with reference to the accompanying drawings.
The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and are merely illustrative of the manner in which embodiments of the application have been described in connection with the description of the objects having the same attributes. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Referring to fig. 1-1, a schematic diagram of a system architecture according to an embodiment of the present application is shown, where the system architecture includes a communication network system 100, a first user device 200 and a second user device 300, the communication network system 100 includes a plurality of network devices, and a message may be transmitted between the first user device 200 and the second user device 300 through the network devices in the communication network system 100.
In some possible implementations, the first user device 200 or the second user device 300 may be a terminal device or a server. In some possible implementations, the first user device 200 or the second user device 300 may be a physical device or a virtual device, and the first user device 200 or the second user device 300 may also be a container instance. The first user device 200 and the second user device 300 may be the same type of communication device (terminal device or server, entity device or virtual device or container instance) or may be different communication devices.
The terminal device may be referred to as a terminal (terminal), a User Equipment (UE), a Mobile Station (MS), a Mobile Terminal (MT), or the like. The terminal device may be a mobile phone, a tablet (pad), a computer with wireless transceiving function, a Virtual Reality (VR) terminal device, an augmented reality (augmented reality, AR) terminal device, a wireless terminal in industrial control (industrial control), a wireless terminal in unmanned driving (self driving), a wireless terminal in teleoperation (remote medical surgery), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation security (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), etc. The embodiment of the application does not limit the specific technology and the specific equipment form adopted by the terminal equipment.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, basic cloud computing services such as big data and an artificial intelligent platform.
Since a server needs to respond to a service request and process the service, and provide a reliable service, in general, the server should have a capability of bearing the service and guaranteeing the service, and the server needs to have a strong processing capability, high stability, high reliability, high security, expandability, and manageability. In an embodiment of the present application, the server may be an x86 server, which is also called a complex instruction set computer (complex instruction set computer, CISC) architecture server, i.e., a so-called personal computer (personal computer, PC) server, which is a server based on a PC architecture using Intel (Intel) or other processor chips compatible with the x86 instruction set and a windows operating system.
For example, referring to fig. 1-2, the communication network system 100 may include M network devices (M is a positive integer) for forwarding messages between the first ue 200 and the second ue 300. Illustratively, the plurality of network devices includes network devices 102-107 (i.e., network device 102, network device 103, network device 104, network device 105, network device 106, network device 107). A message forwarding path may be determined based on a flow direction of the message, the message forwarding path may include an ingress (ingress) network device, an egress (egress) network device, and optionally, at least one transit (transit) network device located between the ingress network device and the egress network device.
1-2, in the example where the first user device 200 transmits a message to the second user device 300 through the communication network system 100, if the message forwarding path is network device 102- > network device 103- > network device 104- > network device 107, then the network device 102 is an ingress network device, the network device 102 and the network device 103 are transit network devices, and the network device 107 is an egress network device. The two network devices shown in fig. 1-2 may be connected in direct communication or may be connected in communication via the internet.
Each of the network devices 102 to 107 may be a device for forwarding a message in the communication network system 100, such as a switch (virtual switch or physical switch) or a router (virtual router or physical router). Network devices 102-107 may be the same type of network device, e.g., network devices 102-107 may each be a router. Alternatively, network devices 102-107 may be different types of network devices, for example, some of network devices 102-107 may be routers and some may be switches, without limitation.
The router is a hardware device connected with two or more user devices, and plays a role of a gateway between the user devices, and the router is a special intelligent network device capable of reading a destination address in a message and deciding how to transmit the message according to the destination address; the router can understand different protocols, such as an Ethernet protocol used by a local area network, a transmission control protocol/interconnection protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) protocol used by the Internet, and the like, so that the router can analyze destination addresses of messages transmitted by various different types of networks and convert non-TCP/IP addresses into TCP/IP addresses, or vice versa; the router then transmits each message to the destination address according to the optimal transmission path according to the routing algorithm, so that the router can connect the non-TCP/IP network to the Internet.
It should be noted that the system architectures shown in fig. 1-1 and fig. 1-2 above are merely for illustration, and are not intended to limit the technical solutions of the embodiments of the present application, and in the specific implementation process, the communication network system 100 may further include other devices, and the number of network devices may be configured as needed.
Many application scenarios (e.g. ultra-reliable low-latency communications for fifth generation mobile communication technologies, industrial internet, intelligent factories, etc.) have clear requirements for the reliability of network transmissions, requiring the network to guarantee that traffic end-to-end does not drop packets with very high probability (e.g. 99.99% or even higher), but double (multiple) transmission options may lead to message misordering. Message disorder is a common phenomenon in a network, and causes a problem in processing a message by a receiving end, for example, misjudgment of packet loss is caused.
As shown in fig. 1-3, which is an example of dual transmission and reception, a flow of messages enters the network through the network device 102, and the messages are sent through a first message forwarding path and a second message forwarding path, respectively. The first packet forwarding path is network device 102- > network device 103- > network device 104- > network device 107, and the second packet forwarding path is network device 102- > network device 105- > network device 106- > network device 107, and finally, the first packet forwarding path leaves the network through network device 107.
Under dual transmission and reception, the network device 102 copies each received message and marks the same message sequence number. And then, sending out the two messages with the same message sequence numbers through the first message forwarding path and the second message forwarding path respectively. After the network device 107 receives the same message, it performs a selecting operation, in which one message that arrives first is sent and another message that arrives after being discarded. The transmission delay between different message forwarding paths is different, and the delay of the message on the forwarded network equipment is jittery, so that the message may be disordered once the packet loss occurs on a certain message forwarding path.
1-3, when network device 107 receives message 0/1/2 sent by first user device 200, message 0/1/2 is sent to network device 103 (first message forwarding path) and network device 105 (first message forwarding path), respectively. The message sent to the network device 103 is again denoted as 0a/1a/2a and the message sent to the network device 105 is denoted as 0b/1b/2b. Then, if the packet 0a arrives at the network device 107 before the packet 0b, the packet 0b is received by the network device 107 and then discarded, and the packet 1b is discarded in the second packet forwarding path before arriving at the network device 107, and a larger delay is experienced in the first packet forwarding path before the packet 1a arrives at the network device 107. Message 2b experiences less delay in the second message forwarding path before reaching network device 107, before message 1a arrives. If the network device 107 only performs the selective receiving without any other processing, the message is out of order, i.e. the network device 107 sends the message 0/2/1 to the second user device 300 in sequence.
In addition, load balancing is commonly used to improve the network bandwidth utilization, that is, when one or more packet forwarding paths are provided, the packet forwarding paths can be used for transmission at the same time according to a certain rule.
1-4, the network device 102 extracts flow information (e.g., five-tuple) of the message, hashes (hash) the flow information, and determines a message forwarding path according to the obtained hash value. Since the flow information of all messages in the same flow is the same, the obtained hash value is the same, and the selected message forwarding paths are the same. In this case, messages of a certain stream are not out of order. However, a drawback of stream-by-stream load balancing is that elephant flows (large bandwidth flows) may be concentrated on certain packet forwarding paths, resulting in uneven loading. To this end, a solution to the per-flow load balancing is to employ per-packet load balancing, which can lead to the messages of fig. 1-4 being out of order.
Illustratively, when the network device 102 sequentially receives the message 0/1/2/3/4/5 sent by the first network device 200, the network device 102 sends the message 0/2/4 to the network device 103, and the network device 102 sends the message 1/3/4 to the network device 105, the network device 107 may receive the message 4/2/5/3/1/0 due to delay jitter of the forwarding device, and the like, which results in disorder of the messages.
In summary, avoiding message misordering is a critical task in the network. It should be noted that the network device 103/104/105/106 as in fig. 1-3 or fig. 1-4 is also referred to as an out-of-order domain.
Currently, a sort window may be maintained for several messages (e.g., several messages of a stream) to avoid out-of-order messages. As shown in fig. 2-1, the sorting sliding window is composed of a flag array unit and a message buffer module, where the flag array unit (shell, SH) corresponds to the message sequence number one by one, and the message buffer module is used for buffering the message that has arrived but has not yet been sent. Wherein, the header represents the maximum message sequence number described in the sequencing sliding window, and corresponds to a flag array unit [0]; tail represents the minimum message sequence number described in the sequencing sliding window, corresponds to a marker array unit [ header-tail ], and a header-k between the header and the tail corresponds to a marker array unit [ header-k ], wherein k is a positive integer, and tail+k is smaller than the header; win_size represents the maximum number of messages that can be described in the sorting window.
When the receiving end receives a message with a sequence number greater than that of the current header, the header is modified to be the sequence number of the message, i.e. the header slides, and the new header corresponds to the flag array unit [0], the header-k between the header and the tail corresponds to the flag array unit [ k ], and the tail corresponds to the flag array unit [ header-tail ]. If the new header is greater than the tail+win_size-1 after the header is slid, the tail is modified to be the header-win_size+1 and corresponds to the tag array element [ win_size-1]. When a sequence of X (1 or more) messages has been received from the Tail in the sequencing slide window, the Tail is modified to be tail+X, i.e. the Tail slides, and a new Tail corresponds to the tag array unit [ header-Tail ]. Then, the receiving end only receives the message with the sequence number greater than or equal to the tail, and the transmitting end only transmits the message with the sequence number less than the tail.
For example, as shown in fig. 2-2, after the 81 # message arrives, the receiving end does not receive the 81 # message because the serial number is smaller than tail; as shown in fig. 2-3, after the message number 94 arrives, the header is slid to 94, the correspondence between the tag array unit and the message sequence number after the header is modified, and the tail is also modified to 86. At this time, the messages from 86 to 89 are continuously arrived and sent out, and the tail is further modified to 90.
However, the above-described technical solution has the following problems: 1. a plurality of sequencing sliding windows need to be maintained, and the expandability is not enough; 2. a large amount of storage space is needed to buffer the unsent messages; 3. a significant amount of computing resources is required to continually scan the sequencing slide to determine which messages to send. In summary, the technical scheme has high consumption of computing resources and high requirement on storage space, which results in high cost and is difficult to realize for forwarding equipment.
Therefore, the application provides a message transmission method and related equipment, in the application, after receiving a plurality of messages sent by a first user equipment, a first network equipment marks a sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends the plurality of messages carrying the sequence number, so that after receiving the plurality of messages carrying the sequence number, a receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
The foregoing embodiments describe the communication network system 100 provided by the present application, and next describe a message transmission method performed based on the communication network system 100.
In the present application, a packet transmission method is described by the first embodiment, the second embodiment, and the third embodiment, where the first embodiment is an embodiment of a load balancing manner implemented based on a deterministic internet protocol network (deterministic internet protocol, DIP), the second embodiment is an embodiment of a dual transmission and reception manner implemented based on an 802.1Qch protocol, and the third embodiment is an embodiment of a dual transmission and reception manner implemented based on DIP.
Referring to fig. 3-1, a DIP-based load balancing method is provided, and the message transmission method provided in the first embodiment of the application mainly includes the following steps:
301. the first user equipment (200) sends a plurality of messages to the first network equipment (102).
In the embodiment of the application, the first user equipment (200) may send a plurality of messages to the first network equipment (102). It should be noted that, the plurality of messages sent by the first user equipment (200) may belong to the same flow or may belong to different flows, which is not limited herein. Illustratively, in the embodiment of the present application, the first user equipment (200) may send 30 messages to the first network equipment (102), where the 30 messages belong to the same flow, and the destination device of the 30 messages is the second user equipment (300).
302. The first network device (102) marks the ordering number for each message in the plurality of messages to obtain a plurality of messages carrying the ordering number.
In some possible implementations, the ordering number includes a number of multiple levels, such as a first level number, a second level number, a third level number, and so on, and then the first network device sends messages having the same first level number among the multiple messages in one period, where the first level number is one of the multiple levels.
For example, as shown in fig. 3-2, 3 levels of ordering numbering are performed for multiple messages, respectively, and each level may be numbered sequentially from 0. For example, as shown in fig. 3-2, the message corresponding to the number 134 has a primary number of 1, a secondary number of 3, and a tertiary number of 4.
In the embodiment of the present application, the number includes 2 levels, that is, the sorting number includes a primary number and a secondary number. In the embodiment of the application, when the first network device can divide a plurality of messages belonging to the same stream into a plurality of batches, wherein all the messages in one batch correspond to one primary number, and each message in one batch corresponds to different secondary numbers. In the embodiment of the application, when the first network equipment sends the message, the message is marked with the corresponding sequencing number comprising a first-level number and a second-level number.
In some possible implementations, the numbering may be explicit or implicit. Illustratively, a string of messages is numbered (0-99) with two decimal numbers, which may be considered a primary number and one digit as a secondary number, without limitation.
303. The first network device (102) sends the plurality of messages carrying the ordering number to the transit network device (103/105).
In the embodiment of the application, the first network device sends a first partial message with the same primary number in a plurality of messages through a first message forwarding path in one period, and sends a second partial message with the same primary number in a plurality of messages through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
For example, the first network device may send the message based on the order of the primary number and the secondary number. For example, the first network device may send all messages with a primary number of 0, and when sending all messages with a primary number of 0, may send the messages based on the order of the secondary numbers. Then, the first network device sends all the messages with the primary number of 1 again, and when sending all the messages with the primary number of 1, the messages can be sent based on the sequence of the secondary numbers.
Illustratively, after the first network device (102) performs edge shaping on 30 messages of one flow, a part of the messages are sent to the network device 103 (the first packet forwarding path), and another part of the messages are sent to the network device 105 (the second packet forwarding path), so as to implement load balancing. It should be noted that the first network device performs edge shaping in such a way that the number of bytes per cycle of each flow does not exceed bi×t, where Bi represents the bandwidth specified by the service level agreement (service level agreement, SLA) of the flow, and T is the duration of the cycle. In some possible implementations, the period may be numbered with a natural number, or may be numbered circularly (e.g., 0-3) according to a certain value, and the number of the period is marked in the message sent in the period.
For example, the first network device may send the 30 messages respectively using 3 consecutive periods (T6-T8), where 10 messages are sent per period: the primary numbers of the 1 st to 10 th messages are 17, and the secondary numbers are 0 to 9 in sequence; the primary numbers of the 11 th to 20 th messages are 18, and the secondary numbers are 0 to 9 in sequence; the first-level numbers of the 21 st to 30 th messages are 19, and the second-level numbers are 0 to 9 in sequence. Next, as shown in fig. 3-3, the first network device (102) sends the packets with the secondary numbers of 0 to 4 to the network device 103 (the first packet forwarding path), and sends the packets with the secondary numbers of 5 to 9 to the network device 105 (the second packet forwarding path), thereby realizing load balancing.
3-4, after receiving 30 messages sent by the first user device, the first network device sends messages with primary numbers 17-19 and secondary numbers 0-4 to the network device 103 through the output interface 1 in a period T6-8, and sends messages with primary numbers 17-19 and secondary numbers 5-9 to the network device 105 through the output interface 2 in a period T6-8 after edge shaping.
304. The transit network device (103/105) forwards a plurality of messages carrying the ordering numbers.
In an embodiment of the application, after receiving the message, the transit network device (103/105) forwards the message to the next hop, for example to the transit network device (104/106), and then the transit network device (104/106) forwards the message to the second network device (107).
As illustrated in fig. 3-5, the time axis corresponding to the outbound interface of each network device includes a plurality of periods of duration T. For example, as shown in fig. 3-5, in the first packet forwarding path, the duration corresponding to the outgoing interface of the first network device (102) includes a period with a duration of T: t6, T7, T8; the duration corresponding to the outgoing interface of the network device 103/105 includes a period of duration T: t7, T8, T9; the duration corresponding to the outgoing interface of the network device 104/106 includes a period of duration T: t8, T9, T10; the duration corresponding to the outgoing interface of the second network device 107 includes a period with a duration of T: t9, T10, T11.
It should be noted that, for forwarding the message, the transit network device takes a period as a time unit, and one period corresponds to one primary number. As shown in fig. 3-6, after the first network device sends a message to the network device 103, the network device 103 may perform periodic mapping. Illustratively, the period X of the last network device plus delta is the period of the next network device. Illustratively, delta=1, then period T6 of the first network device maps to period T7 in network device 103.
For example, the network device 103 sends messages with primary number 17 and secondary number 0 to 4 through the outbound interface in the period T7, sends messages with primary number 18 and secondary number 0 to 4 through the outbound interface in the period T8, and sends messages with primary number 19 and secondary number 0 to 4 through the outbound interface in the period T9. For another example, the network device 105 sends messages with primary number 17 and secondary number 5 to 9 through the outbound interface in the period T7, sends messages with primary number 18 and secondary number 5 to 9 through the outbound interface in the period T8, and sends messages with primary number 19 and secondary number 5 to 9 through the outbound interface in the period T9.
And the second network equipment receives a first partial message with the same primary number in a plurality of messages with the sequence numbers through a first message forwarding path in one period, and receives a second partial message with the same primary number in a plurality of messages with the sequence numbers through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
305. The second network device (107) ranks the messages carrying the ranking numbers according to the ranking numbers in the messages carrying the ranking numbers, and obtains a plurality of messages after ranking.
In some possible implementations, the ordering number includes a plurality of levels of numbers, and then the second network device determines a group of gating priority queues from the plurality of groups of gating priority queues according to a first level number of the ordering number of the plurality of messages carrying the ordering number, the different first level numbers correspond to the different groups of gating priority queues, determines one gating priority queue in the corresponding group of gating priority queues according to other numbers except for the first level number of at least one message having the same first level number, obtains the ordered plurality of messages, and sends the messages in the corresponding gating priority queues to the second user device in one period.
In some possible implementations, the ordering number includes a first-level number and a second-level number, and then the second network device determines a group of gating priority queues from the plurality of groups of gating priority queues according to the first-level number of the ordering number of the plurality of messages, different first-level numbers correspond to different groups of gating priority queues, and determines one gating priority queue in the corresponding group of gating priority queues according to the second-level number of at least one message with the same first-level number, so as to obtain the ordered plurality of messages, and sends the messages in the corresponding gating priority queues to the second user device in one period.
It should be noted that, the group of gating priority queues includes a plurality of priority queues, and a group of gating priority queues corresponds to a period, and a period corresponds to a first-level number. Wherein, a group of gating priority queues is opened in a specific time interval, and the rest of time is closed, and the time intervals among the groups of gating priority queues have no intersection. The inside of each group of gating priority queues is used for dispatching Strict Priority (SP), namely, the second network device sends the message strictly according to the ordering of the secondary numbers. After a group of gating priority queues are determined for a message, a corresponding gating priority queue is determined according to other numbers except the primary number of the message. For example, a corresponding gating priority queue is determined according to the secondary number of the message.
3-7, there are M groups of gating priority queues, each group of gating priority queues has N gating priority queues, where one group of gating priority queues corresponds to one primary number, different groups of gating priority queues correspond to different primary numbers, that is, each gating priority queue in the group of gating priority queues has the same primary number, and different gating priority queues in the same group of gating priority queues correspond to different secondary numbers, so that the ordering of the messages carrying the ordering numbers is achieved.
3-8, there is a set of gating priority queues, where the set of gating priority queues corresponds to one primary number, and different sets of gating priority queues correspond to different primary numbers, i.e., each gating priority queue in the set of gating priority queues has the same primary number. Then, different gating priority queues in the same group of gating priority queues correspond to other numbers except for different primary numbers, so that the ordering of the messages carrying the ordering numbers is realized. For example, the secondary number, the tertiary number … X-order number, and the x+1-order number. Each message has a number of x+1 levels to queue a set of gating priorities and one gating priority under the set of gating priorities.
In the embodiment of the application, after a message arrives at the second network device, the second network device determines a corresponding group of gating priority queues according to the primary number of the message, and determines one gating priority queue in the group of gating priority queues according to the secondary number of the message. And then, when the group of gating priority queues are opened, sending the messages in each gating priority queue in the group of gating priority queues strictly according to the sequence of the secondary numbers.
Illustratively, as shown in FIGS. 3-9, the second network device orders the messages after the second network device receives the messages from the network device 104. The method comprises the steps of placing a message with a primary number of 17 and a secondary number of 0-9 on a gating priority queue with the number of 17; placing the messages with the primary number of 18 and the secondary number of 0-9 on a gating priority queue with the number of 18; and placing the messages with the primary number of 19 and the secondary numbers of 0-9 on a gating priority queue with the number of 19.
306. The second network device (107) sends the ordered plurality of messages to the second user device.
In the embodiment of the present application, after the second network device (107) sorts the messages, the messages may be sent to the second user device based on the sorted messages. 3-10, after receiving the messages with the primary number 17, the secondary number 0-4 and the secondary number 5-9, the second network device (107) sends the messages in the gating priority queue with the number 17 to the second user device in the period T9, and sends the messages according to the secondary number, namely, sends the messages with the secondary number 0-9 in sequence; after receiving the messages with the primary number 18, the secondary number 0-4 and the secondary number 5-9, the second network device (107) sends the messages in the gating priority queue with the number 18 to the second user device in the period T10, and sends the messages according to the secondary number, namely sends the messages with the secondary number 0-9 in sequence; after the second network device (107) receives the messages with the primary number 19, the secondary number 0-4 and the secondary number 5-9, the second network device sends the messages in the gating priority queue with the number 19 to the second user device in the period T11, and the messages are sent according to the secondary number, namely the messages with the secondary number 0-9 are sequentially sent.
In the embodiment of the application, after receiving a plurality of messages sent by a first user equipment, the first network equipment marks the sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends a plurality of messages carrying the sequence number, so that after receiving a plurality of messages carrying the sequence number, the receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
Referring to fig. 4-1, a dual transmission and reception method implemented based on an 802.1Qch protocol, provided by a second embodiment of the present application, mainly includes the following steps:
401. the first user equipment (200) sends a plurality of messages to the first network equipment (102).
Please refer to step 301, which is not described herein.
402. The first network device (102) marks the ordering number for each message in the plurality of messages to obtain a plurality of messages carrying the ordering number.
In some possible implementations, the ordering number includes a number of multiple levels, such as a first level number, a second level number, a third level number, and so on, and then the first network device sends messages having the same first level number among the multiple messages in one period, where the first level number is one of the multiple levels.
In the embodiment of the present application, the number includes 2 levels, that is, the sorting number includes a primary number and a secondary number. In the embodiment of the application, when the first network device can divide a plurality of messages belonging to the same stream into a plurality of batches, wherein all the messages in one batch correspond to one primary number, and each message in one batch corresponds to different secondary numbers.
It should be noted that, in the 802.1QCH protocol, the primary number of the ordering number may be a periodic number, and then the message may not carry the primary number, but only carry the numbers of other levels except the primary number. For example, the number includes a primary number and a secondary number, and the message may not carry the primary number, but only the secondary number. In the embodiment of the application, the description is given by taking the example that the message does not carry the primary number.
403. The first network device (102) sends the plurality of messages carrying the ordering number to the transit network device (103/105).
In the embodiment of the application, the first network device respectively sends the messages with the same primary number in a plurality of messages through the first message forwarding path and the second message forwarding path in one period, wherein the messages passing through the first message forwarding path are the same as the messages passing through the second message forwarding path.
For example, the first network device may send the message based on the order of the primary number and the secondary number. For example, the first network device may send all messages with a primary number of 0, and when sending all messages with a primary number of 0, may send the messages based on the secondary number. Then, the first network device sends all the messages with the primary number of 1 again, and when sending all the messages with the primary number of 1, the messages can be sent based on the sequence of the secondary numbers.
Illustratively, after the first network device (102) performs edge shaping on 30 messages of a flow, all the messages are sent to the network device 103 (the first packet forwarding path), and at the same time, one copy is copied and sent to the network device 105 (the second packet forwarding path), so as to implement dual transmission and reception. It should be noted that the first network device performs edge shaping in such a way that the number of bytes per cycle of each flow does not exceed bi×t, where Bi represents the bandwidth specified by the service level agreement (service level agreement, SLA) of the flow, and T is the duration of the cycle.
For example, the first network device may send the 30 messages using 3 consecutive periods (T0/T1/T0), respectively, where 10 messages are sent per period: the primary numbers of the 1 st to 10 th messages are all 0, and the secondary numbers are sequentially 0 to 9; the primary numbers of the 11 th to 20 th messages are 1, and the secondary numbers are 0 to 9 in sequence; the first-level numbers of the 21 st to 30 th messages are all 0, and the second-level numbers are sequentially 0 to 9. Next, as shown in fig. 4-2, the first network device (102) transmits the packets with the secondary numbers 0 to 9 to the network device 103 (first packet forwarding path) and the network device 105 (second packet forwarding path).
4-3, after the first network device receives 30 messages sent by the first user device, after edge shaping, the first network device sends messages with primary number of 0/1/0 and secondary number of 0-9 to the network device 103 and the network device 105 respectively through the output interface 1 in period T0/T1/T0.
404. The transit network device (103/105) forwards a plurality of messages carrying the ordering numbers.
In the embodiment of the application, after receiving the message, the transit network device (103/105) forwards the message to the next hop. For example to a forwarding network device (104/106) and the forwarding network device (104/106) forwards the message to a second network device (107).
As illustrated in fig. 4-4, the time axis corresponding to the outbound interface of each network device includes a plurality of periods of duration T. For example, as shown in fig. 4-5, in the first packet forwarding path, the duration corresponding to the outgoing interface of the first network device (102) includes a period with a duration of T: t0, T1, T0; the duration corresponding to the outgoing interface of the network device 103/105 includes a period of duration T: t1, T0, T1; the duration corresponding to the outgoing interface of the network device 104/106 includes a period of duration T: t0, T1, T0; the duration corresponding to the outgoing interface of the second network device 107 includes a period with a duration of T: t1, T0, T1.
It should be noted that, for forwarding the message, the transit network device takes a period as a time unit, and one period corresponds to one primary number. As shown in fig. 4-5, after the first network device sends a message to the network device 103, the network device 103 may perform periodic mapping. For example, if the period of the previous network device is T0 and the period of the next network device is T1, the primary number of the message is changed from 0 to 1; the period of the last network device is T1, and the period of the next network device is T0, and the primary number of the message is changed from 1 to 0. For example, the transit network device sends a message with a primary number of 1 and a secondary number of 0-9 through the outbound interface in a period T1, sends a message with a primary number of 0 and a secondary number of 0-9 through the outbound interface in a period T0, and sends a message with a primary number of 1 and a secondary number of 0-9 through the outbound interface in a period T9.
And then, the second network equipment receives the messages with the same primary number in the messages with the sequence numbers through the first message forwarding path in one period, and receives the messages with the same primary number in the messages with the sequence numbers through the second message forwarding path.
405. The second network device (107) ranks the messages carrying the ranking numbers according to the ranking numbers in the messages carrying the ranking numbers, and obtains a plurality of messages after ranking.
In the embodiment of the present application, the ordering number includes a multi-level number, and if the second network device receives a message in a certain period, it determines that the first-level number of the message is the number of the period. And the second network equipment determines a group of gating priority queues from a plurality of groups of gating priority queues according to the first-level numbers of the sequencing numbers of the messages carrying the sequencing numbers, wherein different first-level numbers correspond to different groups of gating priority queues, determines one gating priority queue in the corresponding group of gating priority queues according to other numbers except the first-level number of at least one message with the same first-level number respectively, obtains a plurality of sequenced messages, and sends the messages in the corresponding gating priority queues to the second user equipment in one period.
In some possible implementations, the ordering number includes a primary number and a secondary number, and if the second network device receives a message in a certain period, determining the primary number of the message as the number of the period. And the second network equipment determines a group of gating priority queues from the groups of gating priority queues according to the first-level numbers of the sequencing numbers of the messages, wherein different first-level numbers correspond to different groups of gating priority queues, determines one gating priority queue in the corresponding group of gating priority queues according to the second-level numbers of at least one message with the same first-level number, obtains the sequenced messages, and sends the messages in the corresponding gating priority queues to the second user equipment in one period.
It should be noted that, the group of gating priority queues includes a plurality of priority queues, and a group of gating priority queues corresponds to a period, and a period corresponds to a first-level number. Wherein, a group of gating priority queues is opened in a specific time interval, and the rest of time is closed, and the time intervals among the groups of gating priority queues have no intersection. The inside of each group of gating priority queues is used for dispatching Strict Priority (SP), namely, the second network device sends the message strictly according to the ordering of the secondary numbers. After a group of gating priority queues are determined for a message, a corresponding gating priority queue is determined according to other numbers except the primary number of the message. For example, a corresponding gating priority queue is determined according to the secondary number of the message.
It should be noted that, in the 802.1QCH protocol, the basic principle of message forwarding is as follows: 1. maintaining a transmission period of boundary alignment by all network devices; 2. in the adjacent network equipment, the message sent in a certain period of the previous hop is sent in the next period of the next hop.
4-6, among any adjacent 2 sets of gating priority queues, one set of gating priority queues corresponds to a primary number (i.e., the number of the period) of 1, and the other set of gating priority queues corresponds to a primary number (i.e., the number of the period) of 0.
Illustratively, in the first packet forwarding path, the duration corresponding to the outgoing interface of the first network device (102) includes a period with a duration of T: t0, T1, T0; the duration corresponding to the outgoing interface of the network device 103/105 includes a period of duration T: t1, T0, T1; the duration corresponding to the outgoing interface of the network device 104/106 includes a period of duration T: t0, T1, T0; the duration corresponding to the outgoing interface of the second network device 107 includes a period with a duration of T: t1, T0, T1.
For example, as shown in fig. 4-7, the network device 103/105 sends a message with a primary number of 0 and a secondary number of 0-9 through the outbound interface in a period T0; transmitting a message with a primary number of 1 and a secondary number of 0-9 through an output interface in a period T1; and sending a message with the primary number of 0 and the secondary number of 0-9 through an output interface in the period T0.
It should be noted that, for any network device, for its outbound interface, each period corresponds to a queue, each queue corresponds to a plurality of messages, the index of the queue is the number (T0/1/0) of the period, the corresponding queue is only opened in the corresponding period, and the rest of the time is closed, i.e. the network device sends the messages in the corresponding queue during the period of opening. For example, the second network device sends a message with a primary number of 1 and a secondary number of 0-9 through the outbound interface in the period T1, sends a message with a primary number of 0 and a secondary number of 0-9 through the outbound interface in the period T0, and sends a message with a primary number of 1 and a secondary number of 0-9 through the outbound interface in the period T1.
406. The second network device (107) sends the ordered plurality of messages to the second user device.
In the embodiment of the application, after the second network device orders the messages, the messages can be sent to the second user device (107) based on the ordered messages. 4-8, the second network device (107) sends messages in the gating priority queue with the number 1 to the second user device in the period T1, wherein the messages are sent according to the secondary number, that is, the messages with the secondary numbers 0-9 are sent sequentially; the second network device (107) sends the message in the gating priority queue with the number of 0 to the second user device in the period T0, and the message is sent according to the secondary number, namely the messages with the secondary numbers of 0-9 are sequentially sent; the second network device (107) sends the messages in the gating priority queue with the number 1 to the second user device in the period T1, and the messages are sent according to the secondary number, namely the messages with the secondary numbers 0 to 9 are sent in sequence.
Referring to fig. 5-1, a dual transmission and reception method based on DIP implementation, provided in a third embodiment of the present application, mainly includes the following steps:
501. the first user equipment (200) sends a plurality of messages to the first network equipment (102).
Please refer to step 301, which is not described herein.
502. The first network device (102) marks the ordering number for each message in the plurality of messages to obtain a plurality of messages carrying the ordering number.
Please refer to step 302, which is not described herein.
503. The first network device (102) sends the plurality of messages carrying the ordering number to the transit network device (103/105).
In the embodiment of the application, the first network device sends a first partial message with the same primary number in a plurality of messages through a first message forwarding path in one period, and sends a second partial message with the same primary number in a plurality of messages through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
For example, the first network device may send the message based on the order of the primary number and the secondary number. For example, the first network device may send all messages with a primary number of 0, and when sending all messages with a primary number of 0, may send the messages based on the order of the secondary numbers. Then, the first network device sends all the messages with the primary number of 1 again, and when sending all the messages with the primary number of 1, the messages can be sent based on the sequence of the secondary numbers.
Illustratively, after the first network device (102) performs edge shaping on 30 messages of one flow, a part of the messages are sent to the network device 103 (the first packet forwarding path), and another part of the messages are sent to the network device 105 (the second packet forwarding path), so as to implement load balancing. It should be noted that the first network device performs edge shaping in such a way that the number of bytes per cycle of each flow does not exceed bi×t, where Bi represents the bandwidth specified by the service level agreement (service level agreement, SLA) of the flow, and T is the duration of the cycle. In some possible implementations, the period may be numbered with a natural number, or may be numbered circularly (e.g., 0-3) according to a certain value, and the number of the period is marked in the message sent in the period.
For example, the first network device may send the 30 messages respectively using 3 consecutive periods (T6-T8), where 10 messages are sent per period: the primary numbers of the 1 st to 10 th messages are 17, and the secondary numbers are 0 to 9 in sequence; the primary numbers of the 11 th to 20 th messages are 18, and the secondary numbers are 0 to 9 in sequence; the first-level numbers of the 21 st to 30 th messages are 19, and the second-level numbers are 0 to 9 in sequence. Next, as shown in fig. 5-2, the first network device (102) sends the packets with the secondary numbers of 0 to 9 to the network device 103 (the first packet forwarding path), and sends the packets with the secondary numbers of 0 to 9 to the network device 105 (the second packet forwarding path), thereby realizing load balancing.
5-3, after receiving 30 messages sent by the first user device, the first network device sends messages with primary numbers 17-19 and secondary numbers 0-9 to the network device 103 through the output interface 1 in a period T6-8, and sends messages with primary numbers 17-19 and secondary numbers 0-9 to the network device 105 through the output interface 2 in a period T6-8 after edge shaping.
504. The transit network device (103/105) forwards a plurality of messages carrying the ordering numbers.
In an embodiment of the application, after receiving the message, the transit network device (103/105) forwards the message to the next hop, for example to the transit network device (104/106), and then the transit network device (104/106) forwards the message to the second network device (107).
As illustrated in fig. 5-4, in the first packet forwarding path, the duration corresponding to the outgoing interface of the first network device (102) includes a period with a duration of T: t6, T7, T8; the duration corresponding to the outgoing interface of the network device 103/105 includes a period of duration T: t7, T8, T9; the duration corresponding to the outgoing interface of the network device 104/106 includes a period of duration T: t8, T9, T10; the duration corresponding to the outgoing interface of the second network device 107 includes a period with a duration of T: t9, T10, T11.
It should be noted that, for forwarding the message, the transit network device takes a period as a time unit, and one period corresponds to one primary number. After the first network device sends a message to the network device 103, the network device 103 may perform periodic mapping. Illustratively, the period X of the last network device plus delta is the period of the next network device. Illustratively, delta=1, then period T6 of the first network device maps to period T7 in network device 103.
For example, as shown in fig. 5-5, the network device 103 sends messages with primary number 17 and secondary number 0-9 through the outbound interface in the period T7, sends messages with primary number 18 and secondary number 0-9 through the outbound interface in the period T8, and sends messages with primary number 19 and secondary number 0-9 through the outbound interface in the period T9. For another example, the network device 105 sends messages with primary number 17 and secondary number 0 to 9 through the outbound interface in the period T7, sends messages with primary number 18 and secondary number 0 to 9 through the outbound interface in the period T8, and sends messages with primary number 19 and secondary number 0 to 9 through the outbound interface in the period T9.
And the second network equipment receives a first partial message with the same primary number in a plurality of messages with the sequence numbers through a first message forwarding path in one period, and receives a second partial message with the same primary number in a plurality of messages with the sequence numbers through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
505. The second network device (107) ranks the messages carrying the ranking numbers according to the ranking numbers in the messages carrying the ranking numbers, and obtains a plurality of messages after ranking.
Please refer to step 305, which is not described herein.
506. The second network device (107) sends the ordered plurality of messages to the second user device.
In the embodiment of the present application, after the second network device (107) sorts the messages, the messages may be sent to the second user device based on the sorted messages. 5-6, after receiving the messages with the primary number 17 and the secondary number 0-9, the second network device (107) sends the messages with the primary number 17 in the gating priority queue to the second user device in the period T9, and sends the messages with the secondary number 0-9 in sequence; after the second network device (107) receives the messages with the primary number of 18 and the secondary number of 0-9, the second network device sends the messages in the gating priority queue with the number of 18 to the second user device in the period T10, and the messages are sent according to the secondary number, namely the messages with the secondary numbers of 0-9 are sent in sequence; after the second network device (107) receives the messages with the primary number 19 and the secondary number 0-9, the second network device sends the messages in the gating priority queue with the number 19 to the second user device in the period T11, and the messages are sent according to the secondary number, namely the messages with the secondary numbers 0-9 are sequentially sent.
In the embodiment of the application, after receiving a plurality of messages sent by a first user equipment, the first network equipment marks the sequence number for each message in the plurality of messages to obtain a plurality of messages carrying the sequence number, and sends a plurality of messages carrying the sequence number, so that after receiving a plurality of messages carrying the sequence number, the receiving end can sequence the plurality of messages carrying the sequence number, thereby avoiding disorder of the messages.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
In order to facilitate better implementation of the above-described aspects of embodiments of the present application, the following provides related devices for implementing the above-described aspects.
Referring to fig. 6, a network device 600 provided in an embodiment of the present application may include:
A transceiver module 601, configured to receive a plurality of messages sent by a first user equipment;
a processing module 602, configured to assign a sequence number to each of the plurality of messages, to obtain a plurality of messages with sequence numbers;
the transceiver module 601 is further configured to send the plurality of messages carrying ordering numbers.
In some possible implementations, the ordering number includes a multi-level number;
the transceiver module 601 is specifically configured to:
and sending messages with the same primary number in the plurality of messages in one period, wherein the primary number is one of the multiple layers.
In some possible implementations, the ordering number includes a primary number and a secondary number;
the transceiver module 601 is specifically configured to:
and sending messages with the same primary number in the plurality of messages in one period.
In some possible implementations, the transceiver module 601 is specifically configured to:
and sending the messages with the same primary number in the plurality of messages through the first message forwarding path and the second message forwarding path in one period.
In some possible implementations, the transceiver module 601 is specifically configured to:
And sending a first partial message with the same primary number in the messages through a first message forwarding path in one period, and sending a second partial message with the same primary number in the messages through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
Referring to fig. 7, a network device 700 provided in an embodiment of the present application may include:
a transceiver module 701, configured to receive a plurality of messages carrying ordering numbers;
a processing module 702, configured to sort the messages carrying the sorting numbers to obtain a plurality of sorted messages;
the transceiver module 701 is further configured to send the sequenced plurality of messages to a second user equipment.
In some possible implementations, the ordering number includes a multi-level number;
the processing module 702 is specifically configured to:
determining a group of gating priority queues from a plurality of groups of gating priority queues according to the first-level numbers of the sequencing numbers of the messages carrying the sequencing numbers, wherein different first-level numbers correspond to different groups of gating priority queues;
determining one gating priority queue in a group of gating priority queues according to other numbers except for the first-level number of at least one message with the same first-level number, so as to obtain a plurality of sequenced messages;
The transceiver module 701 is specifically configured to:
and sending the message in the corresponding gating priority queue to the second user equipment in one period.
In some possible implementations, the ordering number includes a primary number and a secondary number;
the transceiver module 701 is specifically configured to:
sorting the plurality of messages carrying the sorting numbers to obtain a plurality of sorted messages, wherein the sorting comprises the following steps:
determining a group of gating priority queues from a plurality of groups of gating priority queues according to the primary number of the sequencing numbers of the messages, wherein different primary numbers correspond to different groups of gating priority queues;
determining one gating priority queue in a group of gating priority queues according to the second-level number of at least one message with the same first-level number, so as to obtain a plurality of sequenced messages;
and sending the message in the corresponding gating priority queue to the second user equipment in one period.
In some possible implementations, the transceiver module 701 is specifically configured to:
and receiving the messages with the same primary number from the plurality of messages with the sequence numbers through the first message forwarding path and the second message forwarding path in one period.
In some possible implementations, the transceiver module 701 is specifically configured to:
and receiving a first partial message with the same primary number in the messages with the sequence numbers through a first message forwarding path in one period, and receiving a second partial message with the same primary number in the messages with the sequence numbers through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
It should be noted that, because the content of information interaction and execution process between the modules/units of the above-mentioned device is based on the same concept as the method embodiment of the present application, the technical effects brought by the content are the same as the method embodiment of the present application, and the specific content can be referred to the description in the foregoing illustrated method embodiment of the present application, which is not repeated herein.
The embodiment of the application also provides a computer storage medium, wherein the computer storage medium stores a program, and the program executes part or all of the steps described in the embodiment of the method.
Referring to fig. 8, referring to another communication device provided in the embodiment of the present application, a communication device 800 includes:
a receiver 801, a transmitter 802, a processor 803, and a memory 804. In some embodiments of the application, the receiver 801, transmitter 802, processor 803, and memory 804 may be connected by a bus or other means, with the bus connection being exemplified in FIG. 8.
Memory 804 may include read only memory and random access memory and provides instructions and data to the processor 803. A portion of the memory 804 may also include non-volatile random access memory (NVRAM). The memory 804 stores an operating system and operating instructions, executable modules or data structures, or a subset thereof, or an extended set thereof, where the operating instructions may include various operating instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks.
The processor 803 controls the operation of the communication device 800, the processor 803 may also be referred to as a central processing unit (central processing unit, CPU). In a particular application, the various components of the communications device 800 are coupled together by a bus system that may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For clarity of illustration, however, the various buses are referred to in the figures as bus systems.
The method disclosed in the above embodiment of the present application may be applied to the processor 803 or implemented by the processor 803. The processor 803 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuitry of hardware or instructions in software form in the processor 803. The processor 803 may be a general purpose processor, a digital signal processor (digital signal processing, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. 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 connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in the memory 804, and the processor 803 reads information in the memory 804, and in combination with the hardware, performs the steps of the above method.
The receiver 801 may be used to receive input digital or character information and to generate signal inputs related to the relevant settings and function control of the communication apparatus 800, the transmitter 802 may include a display device such as a display screen, and the transmitter 802 may be used to output digital or character information via an external interface.
In the embodiment of the present application, the processor 803 is configured to execute the foregoing method for transmitting a message executed by the first network device or the second network device.
In another possible design, when communication device 800 is a chip, it includes: a processing unit, which may be, for example, a processor, and a communication unit, which may be, for example, an input/output interface, pins or circuitry, etc. The processing unit may execute the computer-executable instructions stored in the storage unit to cause the chip in the terminal to perform the method for transmitting wireless report information according to any one of the above first aspects. Alternatively, the storage unit is a storage unit in the chip, such as a register, a cache, or the like, and the storage unit may also be a storage unit in the terminal located outside the chip, such as a read-only memory (ROM) or other type of static storage device that may store static information and instructions, a random access memory (random access memory, RAM), or the like.
The processor mentioned in any of the above may be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the above method.
It should be further noted that the above-described apparatus embodiments are merely illustrative, and that the units described as separate units may or may not be physically separate, and that units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the embodiment of the device provided by the application, the connection relation between the modules represents that the modules have communication connection, and can be specifically implemented as one or more communication buses or signal lines.
From the above description of the embodiments, it will be apparent to those skilled in the art that the present application may be implemented by means of software plus necessary general purpose hardware, or of course by means of special purpose hardware including application specific integrated circuits, special purpose CPUs, special purpose memories, special purpose components, etc. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same functions can be varied, such as analog circuits, digital circuits, or dedicated circuits. However, a software program implementation is a preferred embodiment for many more of the cases of the present application. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk or an optical disk of a computer, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments of the present application.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy Disk, a hard Disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
Claims (25)
1. A method for transmitting a message, comprising:
the method comprises the steps that first network equipment receives a plurality of messages sent by first user equipment;
the first network device marks the ordering number for each message in the messages to obtain a plurality of messages with ordering numbers;
and the first network equipment sends the messages with the sequencing numbers.
2. The method of claim 1, wherein the ordering number comprises a multi-level number;
the first network device sends the plurality of messages with sequencing numbers, including:
and the first network equipment sends messages with the same primary number in the plurality of messages in one period, wherein the primary number is one of the multiple layers.
3. The method of claim 1, wherein the ordering number comprises a primary number and a secondary number;
the first network device sends the plurality of messages with sequencing numbers, including:
and the first network equipment transmits the messages with the same primary number in the plurality of messages in one period.
4. A method according to claim 2 or 3, wherein the first network device sending messages with the same level number from the plurality of messages in one period comprises:
And the first network equipment respectively transmits the messages with the same primary number in the messages through a first message forwarding path and a second message forwarding path in one period.
5. A method according to claim 2 or 3, wherein the first network device sending messages with the same level number from the plurality of messages in one period comprises:
the first network device sends first partial messages with the same primary number in the messages through a first message forwarding path in one period, and sends second partial messages with the same primary number in the messages through a second message forwarding path, wherein the first partial messages and the second partial messages are not overlapped.
6. A method for transmitting a message, comprising:
the second network equipment receives a plurality of messages carrying sequencing numbers;
the second network equipment sorts the messages carrying the sorting numbers to obtain a plurality of sorted messages;
and the second network equipment sends the sequenced messages to second user equipment.
7. The method of claim 6, wherein the ordering number comprises a multi-level number;
The second network device ranks the plurality of messages with ranking numbers to obtain a plurality of messages after ranking, including:
the second network device determines a group of gating priority queues from a plurality of groups of gating priority queues according to first-level numbers of the sequencing numbers of the messages carrying the sequencing numbers, and different first-level numbers correspond to different groups of gating priority queues;
the second network device respectively determines one gating priority queue in a corresponding group of gating priority queues according to other numbers except the first-level number of at least one message with the same first-level number, and obtains the sequenced messages;
the second network device sends the sequenced messages to a second user device, including:
and the second network equipment sends the message in the corresponding gating priority queue to the second user equipment in one period.
8. The method of claim 6, wherein the ordering number comprises a primary number and a secondary number;
the first network device sends the plurality of messages with sequencing numbers, including:
the second network device ranks the plurality of messages with ranking numbers to obtain a plurality of messages after ranking, including:
The second network device determines a group of gating priority queues from a plurality of groups of gating priority queues according to the first-level number of the sequencing numbers of the messages, and different first-level numbers correspond to different groups of gating priority queues;
the second network equipment respectively determines one gating priority queue in a corresponding group of gating priority queues according to the second-level number of at least one message with the same first-level number, and obtains a plurality of sequenced messages;
the second network device sends the sequenced messages to a second user device, including:
and the second network equipment sends the message in the corresponding gating priority queue to the second user equipment in one period.
9. The method according to claim 7 or 8, wherein the second network device receives a plurality of messages carrying ordering numbers, comprising:
and the second network equipment receives the messages with the same primary number from the plurality of messages with the sequence numbers through the first message forwarding path and the second message forwarding path in one period.
10. The method according to claim 7 or 8, wherein the second network device receives a plurality of messages carrying ordering numbers, comprising:
The second network device receives a first partial message with the same primary number in the messages with the sequence numbers through a first message forwarding path in one period, and receives a second partial message with the same primary number in the messages with the sequence numbers through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
11. A network device, comprising:
the receiving and transmitting module is used for receiving a plurality of messages sent by the first user equipment;
the processing module is used for marking ordering numbers for all the messages in the plurality of messages to obtain a plurality of messages with ordering numbers;
the receiving and transmitting module is further configured to send the plurality of messages with ordering numbers.
12. The network device of claim 11, wherein the ordering number comprises a multi-level number;
the transceiver module is specifically configured to:
and sending messages with the same primary number in the plurality of messages in one period, wherein the primary number is one of the multiple layers.
13. The network device of claim 11, wherein the ordering number comprises a primary number and a secondary number;
The transceiver module is specifically configured to:
and sending messages with the same primary number in the plurality of messages in one period.
14. The network device according to claim 12 or 13, wherein the transceiver module is specifically configured to:
and sending the messages with the same primary number in the plurality of messages through the first message forwarding path and the second message forwarding path in one period.
15. The network device according to claim 12 or 13, wherein the transceiver module is specifically configured to:
and sending a first partial message with the same primary number in the messages through a first message forwarding path in one period, and sending a second partial message with the same primary number in the messages through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
16. A messaging network device, comprising:
the receiving and transmitting module is used for receiving a plurality of messages carrying sequencing numbers;
the processing module is used for sequencing the messages carrying sequencing numbers to obtain a plurality of sequenced messages;
the transceiver module is further configured to send the sequenced multiple messages to a second user equipment.
17. The network device of claim 16, wherein the ordering number comprises a multi-level number;
the processing module is specifically configured to:
determining a group of gating priority queues from a plurality of groups of gating priority queues according to the first-level numbers of the sequencing numbers of the messages carrying the sequencing numbers, wherein different first-level numbers correspond to different groups of gating priority queues;
determining one gating priority queue in a group of gating priority queues according to other numbers except for the first-level number of at least one message with the same first-level number, so as to obtain a plurality of sequenced messages;
the transceiver module is specifically configured to:
and sending the message in the corresponding gating priority queue to the second user equipment in one period.
18. The network device of claim 16, wherein the ordering number comprises a primary number and a secondary number;
the transceiver module is specifically configured to:
sorting the plurality of messages carrying the sorting numbers to obtain a plurality of sorted messages, wherein the sorting comprises the following steps:
determining a group of gating priority queues from a plurality of groups of gating priority queues according to the primary number of the sequencing numbers of the messages, wherein different primary numbers correspond to different groups of gating priority queues;
Determining one gating priority queue in a group of gating priority queues according to the second-level number of at least one message with the same first-level number, so as to obtain a plurality of sequenced messages;
and sending the message in the corresponding gating priority queue to the second user equipment in one period.
19. The network device according to claim 17 or 18, wherein the transceiver module is specifically configured to:
and receiving the messages with the same primary number from the plurality of messages with the sequence numbers through the first message forwarding path and the second message forwarding path in one period.
20. The network device according to claim 17 or 18, wherein the transceiver module is specifically configured to:
and receiving a first partial message with the same primary number in the messages with the sequence numbers through a first message forwarding path in one period, and receiving a second partial message with the same primary number in the messages with the sequence numbers through a second message forwarding path, wherein the first partial message and the second partial message are not overlapped.
21. A communication network system, comprising: a first network device and a second network device, wherein,
The first network device being adapted to perform the method of any of the preceding claims 1-5;
the second network device being adapted to perform the method of any of the preceding claims 6-10.
22. A computer readable storage medium, characterized in that the computer readable storage medium stores a program, which causes a computer device to execute the method according to any one of claims 1-10.
23. A computer program product, the computer program product comprising computer-executable instructions stored on a computer-readable storage medium; at least one processor of a device reads the computer-executable instructions from the computer-readable storage medium, the at least one processor executing the computer-executable instructions causing the device to perform the method of any one of claims 1-10.
24. A communication device comprising at least one processor, a memory, and a communication interface;
the at least one processor is coupled with the memory and the communication interface;
the memory is used for storing instructions, the processor is used for executing the instructions, and the communication interface is used for communicating with other communication devices under the control of the at least one processor;
The instructions, when executed by the at least one processor, cause the at least one processor to perform the method of any of claims 1-10.
25. A chip system comprising a processor and a memory, the memory and the processor being interconnected by a line, the memory having instructions stored therein, the processor being configured to perform the method of any of claims 1-10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335004.XA CN116938851A (en) | 2022-03-31 | 2022-03-31 | Message transmission method and related equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335004.XA CN116938851A (en) | 2022-03-31 | 2022-03-31 | Message transmission method and related equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938851A true CN116938851A (en) | 2023-10-24 |
Family
ID=88375968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210335004.XA Pending CN116938851A (en) | 2022-03-31 | 2022-03-31 | Message transmission method and related equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938851A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117478615A (en) * | 2023-12-28 | 2024-01-30 | 贵州大学 | Method for solving burst disorder problem in reliable transmission of deterministic network |
-
2022
- 2022-03-31 CN CN202210335004.XA patent/CN116938851A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117478615A (en) * | 2023-12-28 | 2024-01-30 | 贵州大学 | Method for solving burst disorder problem in reliable transmission of deterministic network |
CN117478615B (en) * | 2023-12-28 | 2024-02-27 | 贵州大学 | Reliable transmission method in deterministic network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210320820A1 (en) | Fabric control protocol for large-scale multi-stage data center networks | |
US20220103661A1 (en) | Fabric control protocol for data center networks with packet spraying over multiple alternate data paths | |
US10838891B2 (en) | Arbitrating portions of transactions over virtual channels associated with an interconnect | |
US7623455B2 (en) | Method and apparatus for dynamic load balancing over a network link bundle | |
CN102104541B (en) | Header processing engine | |
US8756270B2 (en) | Collective acceleration unit tree structure | |
US7751319B2 (en) | Method and processor for classifying data packet units | |
US6252872B1 (en) | Data packet filter using contents addressable memory (CAM) and method | |
US20170359268A1 (en) | Methods and systems for receiving and transmitting packets based on priority levels | |
CN111181873B (en) | Data transmission method, data transmission device, storage medium and electronic equipment | |
CN107431665B (en) | Method for traffic management at a network node and network node in a packet-switched network | |
US20220052950A1 (en) | Service Function Chaining Congestion Tracking | |
US20050172058A1 (en) | Multi-protocol bus system and method of operation thereof | |
US7342883B2 (en) | Method and apparatus for managing network traffic | |
US6122275A (en) | Real-time processing for virtual circuits in packet switching | |
US20070253334A1 (en) | Switch routing algorithm for improved congestion control & load balancing | |
CN116938851A (en) | Message transmission method and related equipment | |
JP6055553B2 (en) | Queue scheduling method, apparatus and system | |
US20060026303A1 (en) | Fast pattern processor including a function interface system | |
JP5674179B1 (en) | Apparatus and method for efficient network address translation and application level gateway processing | |
CN114760249B (en) | SDN network-based data processing method, device and equipment | |
US20060215567A1 (en) | Method and apparatus for monitoring path statistics | |
CN110730130B (en) | Message sending method, device, network equipment and storage medium | |
Kogan et al. | Towards software-defined buffer management | |
CN103457868A (en) | Load sharing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |