Data transmission method and apparatus, network device, and computer program
Patent Information
- Application Number
- JP2024501871
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-12
- Filing Date
- 2022-07-04
- Publication Date
- 2026-08-27
- Estimated Expiration
- 2042-07-04
AI Technical Summary
【0012】 本開示の実施例によれば、現在の時間ウインドウの切替時刻に送信待ちメッセージがあるか否かを判断し、上記現在の時間ウインドウの切替時刻に送信待ちメッセージがない場合、上記第1のネットワークデバイスが、予め設定された識別メッセージを上記第2のネットワークデバイスに送信し、ここで、上記予め設定された識別メッセージには上記時間ウインドウのウインドウ値を含めており、上記ウインドウ値は、第2のネットワークデバイスが上記第1のネットワークデバイスの異なる時間ウインドウの切替時刻を決定するために使用されるという構成を採用しているため、特定のメッセージを追加送信する方式により、下流デバイスが上流デバイスの時間ウインドウの切替位置を正確に知ることができるようになり、下流デバイスはホッピング後の新しい時間ウインドウに従って迅速にクライアントサービスを転送し、障害復旧時間を短縮し、通信効率を向上させることが実現される。
Smart Images

Figure 0007912057000001 
Figure 0007912057000002 
Figure 0007912057000003
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This disclosure is based on Chinese Patent Application CN202110786820.8, titled "Data Transmission Method and Apparatus, Network Device, and Storage Medium", filed on July 12, 2021. This disclosure claims the priority of the said patent application, and the entire content thereof is incorporated herein by reference. [Technical Field] This disclosure relates to the field of communication technologies, specifically, to data transmission methods and apparatuses, network devices, and storage media.
Background Art
[0002] With the booming development of Internet technology, the content of transmission information on the network has changed from voice services to data services, and the communication network has changed from an SDH technology network for voice services to an Ethernet (registered trademark) technology network for data messages. In related technologies, TSN (Time - Sensitive Networking) technology has been proposed for the network. In TSN technology, time gate queue scheduling technology (i.e., CQF technology, cyclic queuing and forwarding) is used to receive client messages within a certain time window, and then all the received client messages are transmitted within the next time window.
[0003] After adopting asynchronous CQF technology, downstream devices rely on the time window values included in the message to determine which time window the message was sent under by the upstream device by extracting the time window values included in the message. The change in the window values included in the message allows them to know when the upstream device's time window switched. If few messages are sent from the upstream device, or if no messages are sent, the downstream device cannot accurately determine when the upstream device's time window switched. If a failure or anomaly occurs in the upstream device, causing the upstream device's time window to hop, and the downstream device fails to detect the anomaly in the upstream device's time window and continues to forward messages according to the previous time window, the forwarding operation will not meet the requirements of the new time window, resulting in a forwarding error and, in severe cases, causing a disruption of client services.
[0004] Despite the aforementioned problem where a failure or anomaly occurs in an upstream device, and the downstream device is unable to detect the anomaly in the upstream device's time window, no effective countermeasures have yet been proposed. [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] The embodiments of this disclosure provide, at least, a data transmission method and apparatus, a network device, and a storage medium to solve the problem that downstream devices cannot detect the rate of abnormalities in the time window of upstream devices. [Means for solving the problem]
[0006] According to one embodiment of the present disclosure, a data transmission method is provided which includes the steps of: a first network device determining whether there are any messages waiting to be transmitted at the current time window switching time; and, if there are no messages waiting to be transmitted at the current time window switching time, the first network device transmitting a pre-configured identification message to a second network device, wherein the pre-configured identification message includes a window value for the time window, and the window value is used by the second network device to determine the switching time for a different time window of the first network device.
[0007] According to another embodiment of the present disclosure, a data transmission method is provided which, if there are no messages waiting to be transmitted at the current time window switching time, the second network device receives a pre-configured identification message transmitted from the first network device and determines the current time window switching time of the first network device, wherein the pre-configured identification message includes the window value of the current time window; and after the second network device has received the window value of the current time window, discards the pre-configured identification message.
[0008] According to another embodiment of the present disclosure, a data transmission device is provided, comprising: a determination unit that determines whether there are any messages waiting to be transmitted at the current time window switching time; and a transmission unit configured such that, if there are no messages waiting to be transmitted at the current time window switching time, the first network device transmits a pre-configured identification message to the second network device, wherein the pre-configured identification message includes a window value of the time window, and the window value is used by the second network device to determine the switching time of a different time window of the first network device.
[0009] According to another embodiment of the present disclosure, a data transmission device is provided comprising: a determination unit configured to determine the current time window switching time of the first network device, where the second network device receives a pre-configured identification message transmitted from the first network device and, if there are no messages waiting to be transmitted at the current time window switching time, the determination unit includes the window value of the current time window, and a discard unit configured to discard the pre-configured identification message after the second network device has received the window value of the current time window.
[0010] Further embodiments of the present disclosure provide a computer-readable storage medium in which a computer program is stored, the computer program being configured, when executed, to perform the steps of any of the embodiments of the method described above.
[0011] Further embodiments of the present disclosure provide an electronic device comprising a memory in which a computer program is stored, and a processor configured to execute the computer program in order to perform the steps of any embodiment of the method described above. [Effects of the Invention]
[0012] According to the embodiments of this disclosure, the first network device determines whether there are any pending messages at the current time window switching time, and if there are no pending messages at the current time window switching time, it sends a pre-configured identification message to the second network device, where the pre-configured identification message includes the window value of the time window, and the second network device uses the window value to determine the switching time of a different time window for the first network device. This configuration allows downstream devices to accurately know the time window switching position of the upstream device, enabling downstream devices to quickly transfer client services according to the new time window after hopping, thereby reducing fault recovery time and improving communication efficiency. [Brief explanation of the drawing]
[0013] [Figure 1] This is a block diagram of the hardware configuration of a mobile terminal for a data transmission method according to an embodiment of the present disclosure. [Figure 2] This is a flowchart of the data transmission method according to the embodiment of this disclosure. [Figure 3] This is a flowchart of another data transmission method according to an embodiment of the present disclosure. [Figure 4] This is a schematic diagram illustrating the process of transmitting a message over an Ethernet network according to an embodiment of the present disclosure. [Figure 5] This is a schematic diagram illustrating the operation process of the CQF scheduling technology according to an embodiment of the present disclosure. [Figure 6] This is a schematic diagram illustrating the message delay problem due to optical fiber delay time in synchronous CQF technology according to an embodiment of the present disclosure. [Figure 7] This is a schematic diagram illustrating the message transmission status in the synchronous CQF technology according to the embodiments of this disclosure. [Figure 8] This is a schematic diagram illustrating the operation process of the asynchronous CQF technology according to an embodiment of the present disclosure. [Figure 9] It is a schematic diagram showing the problems encountered by the asynchronous CQF technology according to an embodiment of the present disclosure. [Figure 10] It is a schematic diagram showing the positions of both time segments before and after the switching time of the time window according to an embodiment of the present disclosure. [Figure 11] It is a schematic diagram showing the configuration of a data transmission method according to an embodiment of the present disclosure. [Figure 12] It is a schematic diagram showing the configuration of the format of an Ethernet message according to an embodiment of the present disclosure. [Figure 13] It is a schematic diagram showing the format of an Ethernet message in the encoding layer according to an embodiment of the present disclosure. [Figure 14] It is a schematic diagram showing the configuration of the time window value included in the pause frame according to an embodiment of the present disclosure. [Figure 15] It is a schematic diagram showing another configuration of a data transmission method according to an embodiment of the present disclosure. [Figure 16] It is a schematic diagram showing yet another configuration of a data transmission method according to an embodiment of the present disclosure. [Figure 17] It is a schematic diagram showing the application scenario of a data transmission method according to an embodiment of the present disclosure. [Figure 18] It is a schematic diagram showing the configuration of different time window values of a data transmission method according to an embodiment of the present disclosure. [Figure 19] It is a schematic diagram showing the configuration of a data transmission device according to an embodiment of the present disclosure. [Figure 20] It is a schematic diagram showing the configuration of another data transmission device according to an embodiment of the present disclosure.
Embodiments for Carrying Out the Invention
[0014] Hereinafter, embodiments of the present disclosure will be described in detail according to the embodiments with reference to the drawings. In addition, terms such as "first", "second", etc. in the specification, claims and above-mentioned drawings of the present disclosure are for distinguishing similar objects and are not for explaining a specific order or priority order.
[0015] Embodiments of the methods provided in the embodiments of this application can be implemented in a mobile terminal, a computer terminal, or a similar computing device. Taking implementation in a mobile terminal as an example, Figure 1 is a hardware block diagram of a mobile terminal for a data transmission method according to an embodiment of the present disclosure. As shown in Figure 1, the mobile terminal may include one or more (only one is shown in Figure 1) processors 102 (the processors 102 may include, but are not limited to, processing units such as a microprocessor MCU or a programmable logic device FPGA), and memory 104 for storing data, and the mobile terminal may further include a transmission device 106 and an input / output device 108 for communication functions. It will be understood by those skilled in the art that the configuration shown in Figure 1 is schematic and does not limit the configuration of the mobile terminal. For example, the mobile terminal may include more or fewer components than those shown in Figure 1, or may have a different configuration than that shown in Figure 1.
[0016] Memory 104 may be used to store computer programs, such as software programs and modules of application software, such as a computer program corresponding to a data transmission method in an embodiment of the disclosure. The processor 102 executes various functional applications and data processing by executing the computer programs stored in memory 104, thereby realizing the methods described above. Memory 104 may include high-speed random-access memory and may further include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to a mobile terminal via a network. Examples of networks described above include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0017] The transmission device 106 transmits and receives data over a network. Specific examples of the network described above may include a wireless network provided by the mobile terminal's communication vendor. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC) that is connected to other network devices via a base station and capable of communicating with the Internet. In another example, the transmission device 106 may be a radio frequency (RF) module for communicating with the Internet wirelessly.
[0018] Figure 2 is a flowchart of a data transmission method according to an embodiment of the present disclosure, and as shown in Figure 2, the flow includes the following steps S202 to S204.
[0019] In step S202, the first network device determines whether there are any messages waiting to be sent at the current time window transition time.
[0020] In step S204, if there are no messages waiting to be sent at the current time window switching time, the first network device sends a pre-configured identification message to the second network device, where the pre-configured identification message includes the window value of the time window, and the window value is used by the second network device to determine the switching time of a different time window for the first network device.
[0021] In step S202, in an actual application, the first network device may, but is not limited to, an upstream device during the transmission of a network message, and the second network device may, but is not limited to, a downstream device during the transmission of a network message. The first network device can send a data message to the second network device.
[0022] In step S204, in actual applications, it is not necessary to synchronize time between the upstream and downstream devices. The time window switching times of the upstream device and the downstream device can be different. Instead, the clock frequencies can be synchronized between the upstream and downstream devices, and the time window switching speeds can be the same. When the upstream device sends a message, it includes the transmission time window value of the upstream device in the message. When the downstream device receives a message, it extracts the time window value included in the message, allowing it to know which time window the message was sent within by the upstream device. During the transmission of a data message, a client message is received within a certain time window, and then all received client messages are sent within the next time window. In this way, all messages within a given time window are sent and received within the same time window, and messages within the same time window are always kept within the same time window when transmitted at any node in the network.
[0023] According to this disclosure, the system determines whether there are any pending messages at the current time window switching time. If there are no pending messages at the current time window switching time, the first network device sends a pre-configured identification message to the second network device, where the pre-configured identification message includes the window value of the time window. This window value is used by the second network device to determine the switching time of a different time window for the first network device. This configuration allows downstream devices to accurately know the time window switching position of the upstream device, enabling downstream devices to quickly transfer client services according to the new time window after hopping, thereby reducing fault recovery time and improving communication efficiency.
[0024] In one embodiment, step S202 above involves determining whether the first network device has a message waiting to be sent at the current time window switching time. The first network device determines whether there are any messages waiting to be sent within a time segment prior to the current time window switching time, or determines whether there are any messages waiting to be sent within a time segment after the current time window switching, wherein the time segment is used to indicate the time when the Ethernet message was sent.
[0025] In one embodiment, if there are no messages waiting to be sent at the current time window switching time, the first network device sends a pre-configured identification message to the second network device. If there are no messages waiting to be sent within a time segment prior to the current time window switching time, the first network device sends a pre-configured identification message to the second network device, or The procedure includes the step of the first network device sending a pre-configured identification message to the second network device if there are no messages waiting to be sent within the time segment after the current time window has been switched.
[0026] In one embodiment, the pre-configured identification message includes a type tag field, and if there are no messages waiting to be sent at the current time window switching time, the first network device sends the pre-configured identification message to the second network device. If there are no messages waiting to be sent at the time of the current time window changeover, the first network device sends a pre-configured identification message to the second network device, which then determines the type of the pre-configured identification message based on the type tag field, extracts the window value of the current time window, and discards the pre-configured identification message.
[0027] In one embodiment, the data transmission method further includes the step that, if the transmission port for the pending messages has multiple types of time windows, and there are no pending messages at the current time window switching time for each type of time window, the first network device transmits the pre-configured identification message including a type tag to the second network device, so that the second network device determines the time window switching time for the multiple types of messages based on the type tag, wherein the type tag is used to represent different window types.
[0028] In one embodiment, the pre-configured identification message includes at least one of the following: a pause message for controlling data traffic, a VLAN tag message, a message containing the destination and source addresses of the message, and a code block stream sequence.
[0029] Figure 3 is a flowchart of another data transmission method according to an embodiment of the present disclosure, and as shown in Figure 3, the flow includes the following steps S302 to S304.
[0030] In step S302, if there are no messages waiting to be sent at the current time window switching time, the second network device receives a pre-configured identification message sent from the first network device and determines the current time window switching time for the first network device, where the pre-configured identification message includes the window value of the current time window.
[0031] In step S304, the second network device discards the pre-configured identification message after receiving the window value of the current time window.
[0032] In one embodiment, in step S302, if there are no messages waiting to be transmitted at the current time window switching time, the second network device receives a pre-configured identification message transmitted from the first network device. If there are no messages waiting to be sent within a time segment prior to the current time window switching time, the second network device receives the pre-configured identification message sent from the first network device, or If there are no messages waiting to be sent within the time segment after the current time window has been switched, the second network device receives the pre-configured identification message sent from the first network device.
[0033] In one embodiment, the pre-configured identification message includes a first tag field, and if there are no messages waiting to be sent at the current time window switching time, the second network device receives the pre-configured identification message sent from the first network device. If there are no messages waiting to be sent at the time of the current time window changeover, the second network device includes the steps of determining the type of the pre-configured identification message based on the received first tag field, and extracting the window value of the current time window and discarding the pre-configured identification message.
[0034] In one embodiment, the data transmission method includes a transmission port for the waiting message, which includes multiple types of time windows, and if each corresponding type of time window does not have a waiting message at the switching time of its current time window, the second network device transmits the first network A step of receiving multiple time window type messages sent from a device, wherein the multiple time window type messages include different type tags, and further a step of determining the switching time of the time windows of the multiple types of messages based on the type tags.
[0035] According to the embodiment of this disclosure, if there are no messages waiting to be sent at the current time window switching time, the second network device receives a pre-configured identification message sent from the first network device and determines the current time window switching time of the first network device, where the pre-configured identification message includes the window value of the current time window, and the second network device discards the pre-configured identification message after receiving the window value of the current time window. As a result of this configuration, by sending a specific additional message, downstream devices can accurately know the time window switching position of the upstream device, and downstream devices can quickly transfer client services according to the new time window after hopping, thereby reducing fault recovery time and improving communication efficiency.
[0036] With the rapid development of internet technology, the content of information transmitted over networks has shifted from voice services to data services, and communication networks have changed from SDH technology networks for voice services to Ethernet technology networks for data messages. The length of a typical Ethernet message is not fixed (between 64 and 9600 bytes), and messages of various lengths may be mixed together in the message stream during transmission. These messages influence each other during processing, so the actual processing time when processing client messages within the device is uncertain, and the message processing delay time is also uncertain. For example, when messages from multiple different ports converge on a single output port, a phenomenon occurs where long, low-priority packets block short, high-priority packets. For example, if a short, high-priority message that needs to be output is received while long, low-priority packets are being output, the short, high-priority message, although it has a high transmission priority, must wait until the long, low-priority message has finished being sent before starting to send it outward in order to avoid a message interruption phenomenon occurring while the long, low-priority message is being sent. Because the length of low-priority messages is random, the waiting time for high-priority messages is uncertain, resulting in uncertain latency and significant delay and jitter. Since low-priority messages can be long, the waiting time for corresponding high-priority messages becomes long. When this waiting time is compared to the actual transmission time required for short high-priority packets (short packets have short transmission times), the waiting time becomes much longer than the actual transmission time. As a result, the main reason high-priority messages get stuck inside the device is the waiting time due to blocking, although the actual processing time is very short. When messages are transmitted over a network through many devices, uncertain delays and jitter occur at each site. When delays and jitter from multiple sites are superimposed and accumulated, the total transmission delay time and jitter of the message accumulate significantly, affecting the transmission quality of the message.
[0037] As a current improvement technique, Time-Sensitive Networking (TSN) technology has been proposed for networks. In TSN technology, time-gate queue scheduling technology (i.e., CQF technology, cyclic queuing and forwarding) is used to receive client messages within a certain time window, and then all received client messages are sent within the next time window. In this way, all messages within a given time window are sent and received within the same time window, and messages within the same time window are always kept within the same time window when transmitted at any node in the network. The total transmission time of a message on the network is n*T, where n is the number of network nodes traversed and T is the size of the time window. Messages can vary within a certain time window but never exceed the time window, and the jitter value due to message variation is smaller than T, thus ensuring reliable transmission of messages on the network. CQF technology requires time synchronization between upstream and downstream devices. When the upstream and downstream devices are synchronized, they switch between the transmit and receive time windows simultaneously at the same time. Therefore, this technology is only suitable for local area networks where the distance between upstream and downstream devices is short and the optical fiber delay between devices can be ignored. In metropolitan area networks and wide area networks, the distance between devices is large, and the delay time of messages on the optical fiber is long. Even if the upstream and downstream devices switch their time windows simultaneously, when a message sent from the transmit port of the upstream device is transferred via the optical fiber to the receive port of the downstream device, the message actually arrives at the receive port of the downstream device with a certain delay, and the arrival time of the message does not coincide with the time window switching time of the downstream receiving device. To solve the problem caused by optical fiber delay, asynchronous CQF solutions have been proposed.There is no need to synchronize the time between upstream and downstream devices. The time window switching times of the upstream device and the downstream device can be different. The clock frequencies between the upstream and downstream devices should be synchronized, and the time window switching speeds between them should be the same. When the upstream device sends a message, it includes the transmission time window value of the upstream device in the message. When the downstream device receives the message, it extracts the time window value included in the message, allowing it to know which time window the message was sent within by the upstream device. Asynchronous CQF technology does not require time synchronization between upstream and downstream devices, and does not require the time windows of the upstream and downstream devices to switch at the same time. Therefore, it avoids optical fiber transmission time between upstream and downstream devices and solves the problem of optical fiber delay time in metropolitan area networks and wide area networks, where it cannot be ignored.
[0038] After adopting asynchronous CQF technology, downstream devices rely on the time window values included in the message to determine which time window the message was sent under by the upstream device by extracting the time window values included in the message. The change in the window values included in the message allows them to know when the upstream device's time window switched. If few messages are sent from the upstream device, or if no messages are sent, the downstream device cannot accurately determine when the upstream device's time window switched. If a failure or anomaly occurs in the upstream device, causing the upstream device's time window to hop, and the downstream device fails to detect the anomaly in the upstream device's time window and continues to forward messages according to the previous time window, the forwarding operation will not meet the requirements of the new time window, resulting in a forwarding error and, in severe cases, causing a disruption of client services.
[0039] To solve the above problems, based on the embodiments described above, the data transmission method provided in the embodiments of this disclosure further includes the following steps.
[0040] Step S1: The upstream device's transmit port determines whether there are any client messages that need to be sent at the time window transition.
[0041] Step S2: If there are no client messages that need to be sent at the time window switching time on the upstream device's transmit port, an additional specially defined message including the time window value is sent.
[0042] Step S3: The receiving port of the downstream device extracts the time window value included in the message, determines the switching time of the time window value of the upstream device, and uses this as reference information for subsequent decisions and judgments.
[0043] In one embodiment, step S1 in the above data transmission method further includes the following steps S11 to S14.
[0044] Step S11: The upstream device's transmit port determines whether there are any client messages to send at the time window switching time. This determination is made separately for determining whether there are any client messages that need to be sent within the time segment before the time window switching time, and whether there are any client messages that need to be sent within the time segment after the time window switching time.
[0045] Step S12: The range of the time segment size may be the minimum message transmission time defined in the Ethernet standard, or the actual message transmission time may be specifically defined as needed.
[0046] Step S13: A time segment prior to the time window changeover time is a transmission position prior to the time window changeover time where one additional message can be sent.
[0047] Step S14: A time segment after the time window changeover time is a transmission position after the time window changeover time where one additional message can be sent.
[0048] In one embodiment, step S2 in the above data transmission method further includes the following steps S21 to S25.
[0049] Step S21: Sending an additional message that is specially defined may be in one of several modes.
[0050] Mode 1: Checks both time segments before and after the switching time. Mode 2: Only checks time segments prior to the switchover time.
[0051] Mode 3: Only checks time segments after the switching time. Step S22: In the mode for checking both preceding and succeeding time segments, the time segments before and after the time window switch time are checked simultaneously. If there are no client messages that need to be sent in either time segment, a specially defined message is added and sent within that time segment.
[0052] Step S23: In the mode that checks only the time segment before the time window switch, the system checks the time segment before the time window switch time, and if there are no client messages that need to be sent within that time segment, it sends an additional specially defined message within that time segment.
[0053] Step S24: In the mode that checks only time segments after the time window changeover time, the system checks the time segments after the time window changeover time, and if there are no client messages that need to be sent within that time segment, it sends an additional specially defined message within that time segment.
[0054] Step S25: A specially defined message has special flag information, can be identified by a downstream device, and information about the time window value included in the specially defined message can be extracted.
[0055] In one embodiment, step S3 in the above data transmission method further includes the following steps S31 to S35.
[0056] Step S31: When the receiving port of the downstream device receives a client message, it extracts the time window value included in the client message. When the receiving port of the downstream device receives a specially defined message, it extracts the time window value included in the specially defined message and discards the specially defined message.
[0057] Step S32: If a mode is adopted in which the length of both preceding and succeeding message transmission time segments is checked, when the time window value extracted from two adjacent messages (including client messages and specially defined messages) changes, the boundary position of the preceding and succeeding messages becomes the position of the transition time in the upstream device's transmission time window.
[0058] Step S33: In the mode that checks only the length of the message transmission time segment before the switching time, the end position of the specially defined message is the switching time position of the upstream device's transmission time window, and the time window value included in the specially defined message is the upstream device's transmission time window value before the switching time.
[0059] Step S34: In the mode that checks only the length of the message transmission time segment after the switching time, the start position of the specially defined message is the switching time position of the upstream device's transmission time window, and the time window value included in the specially defined message is the upstream device's transmission time window value after the switching time.
[0060] Step S35: Obtain the switching position of the upstream device's time window, and use whether or not the switching position matches the expected situation as a criterion for determining whether or not the switching position of the upstream device's transmission time window is abnormal.
[0061] Based on the embodiments described above, in one or more embodiments, the data transmission method further includes the following: As shown in Figure 4, when a message is transmitted over a network through many devices, uncertain delays and jitter occur at each site. When delays and jitter from multiple sites are superimposed and accumulated, the total transmission delay time and jitter of the message accumulate significantly, affecting the transmission quality of the message. As a current improvement technique, TSN (Time-Sensitive Networking) technology has been proposed for the network. As shown in Figure 5, TSN technology uses time gate queue scheduling technology (i.e., CQF technology, cyclic queuing and forwarding) to receive client messages within a certain time window, and then transmit all received client messages within the next time window. In this way, all messages within a given time window are sent and received within the same time window, and messages within the same time window are always kept within the same time window when transmitted at any node in the network. The total transmission time of a message over the network is n*T, where n is the number of network nodes traversed and T is the size of the time window. Messages can vary within a certain time window but never exceed it, and the jitter value due to message variation is smaller than T, thus ensuring reliable transmission of messages over the network. CQF technology requires time synchronization between upstream and downstream devices. When the upstream and downstream devices are synchronized, they switch between the transmit time window and the receive time window simultaneously at the same time. Therefore, this technology is only suitable for local area networks where the distance between upstream and downstream devices is short and the optical fiber delay time between devices is negligible.In metropolitan area networks and wide area networks, the distance between devices is large, and the delay time of messages on the optical fiber is long. Even if upstream and downstream devices switch time windows simultaneously, when a message sent from the upstream device's transmit port is transferred via the optical fiber to the downstream device's receive port, the message actually arrives at the downstream device's receive port with a certain delay. As shown in the time difference Δ in Figure 6, the arrival time of the message does not coincide with the time window switching time of the downstream receiving device. To solve the problem caused by optical fiber delay, an asynchronous CQF solution has been proposed. It is not necessary to synchronize time between the upstream and downstream devices, and the time window switching times of the upstream device and the time window switching times of the downstream device can be different. The clock frequencies between the upstream and downstream devices should be synchronized, and the time window switching speeds between the upstream and downstream devices should be the same. When the upstream device sends a message, it includes the upstream device's transmission time window value in the message, and when the downstream device receives the message, it can extract the time window value included in the message to know which time window the message was sent within at the upstream device. Asynchronous CQF technology eliminates the need for synchronization of upstream and downstream devices' time and the need to switch time windows simultaneously. This avoids optical fiber transmission time between upstream and downstream devices, solving the problem of significant optical fiber delay in metropolitan and wide area networks. As shown in Figure 7, after adopting asynchronous CQF technology, the downstream device extracts only the time window value included in the client message. This time window value represents the time window position at which the message was sent from the upstream device's transmission port. The same time window value indicates that these messages were sent within the same time window, while different time window values in the message indicate that these messages are not within the same time window. The downstream device then needs to forward messages with the same time window value within the same time window.There are many time window values, and in Figure 7, the time window values are 1 to 8. The window value included in all messages sent by the device's transmit port in time window 1 is equal to 1, the window value included in all messages sent in time window 2 is equal to 2, and so on, with the window value included in all messages sent in time window 8 being equal to 8. The next time window value starts again from 1, and the time window values appear sequentially in a cyclical manner. Fiber delay time is relatively large and may be larger than the size of a single time window. For example, fiber delay time is equal to 2.7 times the size of a single time window. When an upstream device sends a message, it includes the upstream device's transmit time window value in that message. When a downstream device receives a message, it extracts the time window value included in the message, allowing it to know which time window the message was sent within by the upstream device. This allows it to determine the transmission position of these messages at the upstream transmit port, and as shown in Figure 8, the position of the time window switching time of the upstream device can be determined from the position of the change in the time window value included in the message. Asynchronous CQF technology does not require synchronization of upstream and downstream devices' time, nor does it require switching the time windows of upstream and downstream devices at the same time. Therefore, it avoids problems caused by optical fiber transmission time between upstream and downstream devices and can address application scenarios in metropolitan area networks and wide area networks where optical fiber delay time cannot be ignored.
[0062] In asynchronous CQF technology, downstream devices obtain the time window within which a message was transmitted by the upstream device by extracting the time window value included in the message. This relies on the time window value included in the message, and the change in the time window value included in the message allows the downstream device to determine the time window switching time of the upstream device. Normally, the time window switching time of the upstream device's transmission port is periodic and regular, and does not always change stably, so the time window value included in the message extracted by the downstream device also changes periodic according to a certain rule. If the upstream device encounters an abnormal situation such as a reset, restart, or optical fiber switching, the position of the time window switching time of the upstream device's transmission port and the size of the time window value included in the message may change rapidly. The downstream device needs to detect such abnormal changes, and then reset the delay parameter of the received message in the downstream device and update the transmission time window position of the corresponding message in the downstream device. Therefore, it is very important for the downstream device to detect the transmission time window switching position of the upstream device in real time and to detect whether the time window value included in the message is abnormal. In scenarios where many client messages are being carried, downstream devices constantly receive client messages. Therefore, by extracting the time window value from the client message and determining the position of the upstream device's time window switching time from the time window value in the client message, it is easy to determine whether the switching position of the upstream device's time window is abnormal, and whether the time window value included in the client message is abnormal.
[0063] If there are few client messages carried over the network, or if client messages are not sent within a short time, the downstream device cannot accurately determine the time window switching time of the upstream device, as shown in Figure 9. If a failure or anomaly occurs in the upstream device and the upstream device's time window hops, but the downstream device fails to detect the anomaly in the upstream device's time window and continues to forward messages according to the previous time window, the forwarding operation will not be able to meet the requirements of the new time window, resulting in a forwarding error and, in severe cases, causing a disruption of client services.
[0064] To solve this problem and facilitate real-time monitoring of whether the upstream device's transmission time window is abnormal, this patent describes a method of additionally sending a specially defined message to replace empty client messages with a specially defined message. This allows the downstream device to accurately know the transition point of the upstream device's time window, thereby quickly and accurately determining whether the upstream device's time window transition time is abnormal. When transmission time hopping from the upstream is detected, the downstream device quickly forwards client services according to the new time window after the hop, reducing the fault recovery time. Specifically, this is achieved as follows: The upstream device's transmission port determines whether a client message was sent in both time segments before and after the transition point of the transmission time window, as shown in Figure 10. If no message was sent within the time segment, a specially defined message is additionally sent to the downstream device in place of the client message within that time segment. As shown in Figure 11, the message indicated by the thick black arrow in Figure 11 is a specially defined message. A specially defined message is a custom message agreed upon between the upstream and downstream devices, and this message has a specially defined flag that includes the time window value in which this message exists. A time segment must be longer than the time required to send a specially defined message in order to ensure that the specially defined message can be sent within that time segment. A sending port can ensure that it sends one message to a downstream device both before and after a time window switch point, even if there are no client messages that need to be transmitted over the link, by sending an additional specially defined message. The messages before and after the time window switch point contain different time window values, allowing the downstream device to accurately determine the position of the upstream device's time window switch point from the included time window values.After detecting a specially defined message, the receiving port of a downstream device directly extracts the window information value included in this message and uses it to determine the position of the time window switch on the upstream device. Finally, the receiving port discards this specially defined message. The specially defined message is used solely to carry information about the time window value, and its purpose is lost once the information has been carried.
[0065] A specially defined message is a custom message with specific flag features agreed upon between upstream and downstream devices. The downstream device determines that a message is a specially defined message by detecting the specific flag features, extracts the included time window value, and then discards the message. A specially defined message may be an Ethernet message containing specific flag features, or a regular Ethernet message. message It includes information on specific flag features and time window values. As shown in Figure 12, Figure 12 is the structure of a normal Ethernet message, in which a normal Ethernet message can include customized specific flag features in its type field, for example, the feature value 0xffff in the type field can be a specific flag feature. Specifically, the specific flag feature may take various other forms, for example, a message among normal Ethernet messages in which the destination address field value is a special destination address value (e.g., 0xff-ff-ff-ff-ff-ff-ff) can be a specially defined message.
[0066] A specially defined message may be in the format of a normal Ethernet message, or it may be a specific code stream sequence in which a normal Ethernet message appears in the form of a PCS layer code stream sequence at the physical layer. For example, when a normal Ethernet message is transmitted on a physical port, it is first 64B / 66B encoded and then transmitted as a 66-bit block stream. As shown in Figure 13, the code block sequence after a normal Ethernet message has been 64B / 66B encoded consists of an S block + several D blocks + a T block, where the S block is the message start block, the D block is the data block, and the T block is the end block. According to the definition in accordance with the Ethernet standard, the content of the S block consists of 66 bits and is composed of "0b10" + "0x78" + seven "0x55" values. The "0b10" + "0x78" field is generally used to identify an S block, and the following seven "0x55" fields can be appropriately modified and applied in the application. Part of the contents of the seven "0x55" fields can be modified to a specially defined flag. For example, six "0x55" + "0xAA" can be used to make a specially defined message (with a time window value included in part of the D block) that includes a specially defined flag. In practical applications, the "0x78" field can also be changed to a field not used in other Ethernet standards and used as a specially defined flag. According to the Ethernet standard, the minimum message length is defined as 64 bytes, so the number of D blocks in the code block sequence stream after a normal Ethernet message has been encoded will be four or more, and fewer than four D blocks are invalid message blocks.The receiving port can also consider a code block stream sequence S+n*D(n is one of the values 0, 1, 2, or 3)+T as a specially defined message, for example, an S+T code block stream sequence, or an S+D+T code block stream sequence, or an S+D+D+T code block stream sequence, or an S+D+D+D+T code block stream sequence, provided that the D block or T block contains a time window value. After detecting such a code block stream sequence, the receiving port can determine from the number of D blocks that it is a specially defined message, extract the time window value on the D block or T block, and then discard the code block sequence.
[0067] In practical applications, beyond using standard Ethernet messages with specially defined flags or specific code block sequences as specially defined messages, new functionality can be extended to Ethernet protocol messages to achieve the purpose of including time window values. For example, on an Ethernet physical interface, pause frames can be used to notify a remote device to pause message transmission and limit the transmission rate of client services. After receiving a pause frame, the receiving port initiates flow control operations and then discards the pause frame message. The format of a pause frame is shown in Figure 14. The destination address field in the pause frame is a fixed value (0x01-80-C2-00-00-01), the type value is 0x8808, and the opcode is 0x0001. The operation parameter is the length of time that the PAUSE sender requests the remote to pause transmission of the data frame, the time measurement unit is the time it takes to transmit 512 bits of data at the current transmission rate, and the actual pause time at the receiving end is the product of the contents of the operation parameter field and the time it takes to transmit 512 bits of data at the current transmission rate. In applications, the operation parameter is typically set to 0xFFFF, and the pause time is set to the maximum value. In applications, the operation parameter can be set to 0x0000 to create a specially defined flag (a pause frame with the operation parameter set to 0x0000 indicates that flow control is not performed during flow control), and a pause message with the operation parameter typically set to 0x0000 can be a specially defined message (other operation values may also be used). As shown in Figure 14, the pause message includes a time window value in its reserve field. After the receiving port receives a pause message with the opcode 0x0000, it extracts the time window value from the reserve field.
[0068] In the embodiment shown in Figure 11, detection is performed in both time segments before and after the switching time of the upstream device's transmission time window. However, in actual applications, as shown in the embodiment in Figure 15, detection may be performed in only one of these time segments, and a specially defined message may be sent in addition. In Figure 15, detection is performed only in time segments after the switching time of the detection time window, and a specially defined message is sent in addition. If the upstream and downstream devices agree to perform detection only in time segments after the switching time of the detection time window and send a specially defined message in addition, the upstream device will perform detection only in time segments after the switching time of the detection time window and send a specially defined message in addition. When the downstream device receives the specially defined message, it will determine that the time at the start position of this message is the switching position of the time window, and that the time window value included in the message is the time period value after the switching. In actual applications, as shown in the embodiment in Figure 16, detection may be performed only in time segments before the switching time of the detection time window, and a specially defined message may be sent in addition. If upstream and downstream devices agree to perform detection only in time segments prior to the detection time window switching time and to send additional specially defined messages, the upstream device will perform detection only in time segments prior to the detection time window switching time and send additional specially defined messages. When the downstream device receives these specially defined messages, it will determine that the time at the end of the message is the time window switching point and that the time window value included in the message is the time period value before the switching.
[0069] In the embodiment described above, both the transmitting port and the receiving port operate as physical ports, and one physical port There is only one time window value. On the other hand, in actual operation, multiple clients can connect to a single physical port. serviceThere may be multiple client service flows, each with its own independent and different time window value. As shown in Figure 17, there may be multiple different client service flows within the same physical link (the same pair of physical transmit and receive ports), and each different client service flow has a different transmit time period and transmit time window switching time. As shown in Figure 18, when different client service flows exist on the same physical port, the transmit port's time window operates according to the time window period of each client flow. If there is no independent client service flow before and / or after the time window switching time of that client service flow, a specially defined message belonging to that client service flow is sent. This specially defined message has a special label belonging to that client service flow, and the transmit port can identify which client service flow the specially defined message belongs to. There are various ways to implement this. For example, different client flows can be identified by VLAN tags, and the client service and the specially defined message of the same client service flow will have the same VLAN tag value. The receive physical port processes different client service flows separately. In other words, for the same client flow, a specially defined message in that client service flow is extracted, the acquisition time window value in the message is extracted, and the switching time of the time window of the upstream port of that client flow is obtained.
[0070] The application scenario of the patent provided in the above-described embodiment is the operation scenario of asynchronous CQF, but in actual application, the embodiment of the invention can also be applied to the operation scenario of 802.1Qch in the TSN protocol family, i.e., CQF (synchronous CQF). In the operation of the 802.1Qch protocol, synchronization of time between upstream and downstream devices (or devices on the network) is required. Applying this patent eliminates the need to synchronize time between devices, and it is sufficient to include a transmission time window value in the message. If there is a client message within the time segment before or after the transmission time window changes, a specially defined message including the time window value is additionally sent to the downstream device.
[0071] In the embodiments provided in this disclosure, the definition of a specially defined message may mean that an extension of a normal client message achieves the purpose of including a time window value by including a specific flag feature. The specially defined message may take various other forms, and the position of the included time window value may vary and is not limited in this disclosure.
[0072] According to the embodiments of this disclosure, the first network device determines whether there are any pending messages at the current time window switching time, and if there are no pending messages at the current time window switching time, it sends a pre-configured identification message to the second network device, where the pre-configured identification message includes the window value of the time window, and the second network device uses the window value to determine the switching time of a different time window of the first network device. This configuration allows downstream devices to accurately know the time window switching position of the upstream device, enabling downstream devices to quickly transfer client services according to the new time window after hopping, thereby reducing fault recovery time and improving communication efficiency.
[0073] From the above description of the embodiments, it will be understood that the method according to the embodiments described above can be implemented in a manner that adds a general-purpose hardware flap form necessary for the software, and can also be implemented by hardware, but in many cases it is preferable to implement it by the former method. Based on this, the essence of the technical aspects of the present disclosure or parts that contribute to the prior art can be implemented in the form of a software product, and such computer software product is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) that contains a plurality of instructions that cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the method according to each embodiment of the present disclosure.
[0074] In this embodiment, a data device is further provided, which is for realizing the above-described embodiment and preferred embodiment, and the description of parts already described is omitted. The term "module" as used below refers to a combination of software and / or hardware capable of realizing a predetermined function. While it is preferable to realize the devices described in the following embodiments in software, they can also be realized in hardware, or in a combination of software and hardware.
[0075] Figure 19 is a block diagram of the configuration of a data transmission device according to an embodiment of the present disclosure, and as shown in Figure 19, the device includes a determination unit 1902 and a transmission unit 1904.
[0076] The decision unit 1902 is configured to determine whether or not there are any messages waiting to be sent at the current time window switching time.
[0077] The transmitting unit 1904 is configured such that if there are no messages waiting to be transmitted at the current time window switching time, the first network device sends a pre-configured identification message to the second network device, the pre-configured identification message includes the window value of the time window, and the window value is used by the second network device to determine the switching time of a different time window for the first network device.
[0078] In embodiments of this disclosure, the first network device may include, but is not limited to, an upstream device in the transmission of a network message, and the second network device may include, but is not limited to, a downstream device in the transmission of a network message. The first network device may transmit a data message to the second network device.
[0079] In the embodiments of this disclosure, it is not necessary to synchronize time between the upstream and downstream devices. The time window switching times of the upstream device and the downstream device may be different. Instead, the clock frequencies between the upstream and downstream devices can be synchronized, and the time window switching speeds between the upstream and downstream devices can be made the same. When the upstream device sends a message, it includes the transmission time window value of the upstream device in the message. When the downstream device receives a message, it extracts the time window value included in the message, thereby knowing which time window the message was sent within by the upstream device. During the transmission of a data message, a client message is received within a certain time window, and then all received client messages are sent within the next time window. In this way, all messages within a given time window are sent and received within the same time window, and messages within the same time window are always kept within the same time window when transmitted at any node in the network.
[0080] According to this disclosure, the system determines whether there are any pending messages at the current time window switching time. If there are no pending messages at the current time window switching time, the first network device sends a pre-configured identification message to the second network device, where the pre-configured identification message includes the window value of the time window. This window value is used by the second network device to determine the switching time of a different time window for the first network device. This configuration allows downstream devices to accurately know the time window switching position of the upstream device, enabling downstream devices to quickly transfer client services according to the new time window after hopping, thereby reducing fault recovery time and improving communication efficiency.
[0081] Figure 20 is a block diagram of the configuration of another data transmission device according to an embodiment of the present disclosure, which, as shown in Figure 20, includes a determination unit 2002 and a discard unit 2004.
[0082] The decision unit 2002 is configured such that, if there are no messages waiting to be sent at the current time window switching time, the second network device receives a pre-configured identification message sent from the first network device and determines the current time window switching time for the first network device, the pre-configured identification message includes the window value of the current time window.
[0083] The discard unit 2004 is configured to discard the pre-configured identification message after the second network device has received the window value of the current time window.
[0084] Each of the above modules can be implemented in software or hardware. If implemented in hardware, all of the modules can be located on the same processor, or they can be located on different processors in any combination, but are not limited to these options.
[0085] In embodiments of the present disclosure, a computer-readable storage medium is further provided in which a computer program is stored, and which, when executed, is configured to perform the steps of any of the embodiments of the method described above.
[0086] In one exemplary embodiment, the computer-readable storage medium described above may include, but is not limited to, various media capable of storing computer programs, such as USB drives, read-only memory (ROM), random access memory (RAM), portable hard disks, magnetic disks, or optical disks.
[0087] Embodiments of the present disclosure further provide an electronic device comprising a memory and a processor, the memory storing a computer program, and the processor being configured to execute the computer program to perform the steps of any embodiment of the method described above.
[0088] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device. The transmission device is connected to the processor, and the input / output device is connected to the processor.
[0089] Specific examples in this embodiment can be found in the examples described above and in the exemplary embodiments, and detailed explanations are omitted in this embodiment.
[0090] Each module or step of the present disclosure described above can be implemented by a general-purpose computer, and if it can be integrated into a single computer, it can be distributed across a network of multiple computers, and furthermore, it can be implemented by program code executable by a computer, and so on
[0091] The foregoing are merely preferred embodiments of the Disclosure and are not intended to limit the Disclosure. Those skilled in the art can make various modifications and alterations to the Disclosure. Any modifications, substitutions, or improvements within the principles of the Disclosure should be within the scope of the Disclosure.
Claims
1. A first network device determines whether there are any messages waiting to be sent within a time segment before or after the current time window switching time, wherein the time segment is used to indicate the time when an Ethernet message was sent. If there are no messages waiting to be sent within a time segment before or after the current time window switching time, the first network device sends a pre-configured identification message to the second network device at the current time window switching time, wherein the end or start position of the pre-configured identification message is the current time window switching time, the pre-configured identification message includes the window value and type tag field of the time window, the window value is used by the second network device to determine the switching time of a different time window of the first network device, and the type tag field is used by the second network device to determine the type of the pre-configured identification message and to discard the pre-configured identification message. A data transmission method, including a data transmission method.
2. If there are no messages waiting to be transmitted at the current time window switching time, the first network device transmits a pre-configured identification message to the second network device, The method according to claim 1, further comprising the step of the first network device sending a pre-configured identification message to the second network device if there are no messages waiting to be sent at the switching time of the current time window.
3. The method according to claim 1, further comprising the step that, if the transmission port for the pending messages has a plurality of time windows, and there are no pending messages at the current time window switching time for each type of time window, the first network device transmits the pre-configured identification message including a type tag to the second network device, so that the second network device determines the time window switching time for the plurality of message types based on the type tag, wherein the type tag is used to represent different window types.
4. The aforementioned pre-set identification message is The method according to claim 1, comprising at least one of a pause message for controlling data traffic, a VLAN tag message, a message including a destination address and a source address of a message, and a code block stream sequence.
5. If there are no messages waiting to be transmitted within a time segment before or after the current time window transition time, the second network device receives a pre-configured identification message transmitted from the first network device at the current time window transition time, and determines the current time window transition time of the first network device, wherein the end or start position of the pre-configured identification message is the current time window transition time, the pre-configured identification message includes the window value and type tag field of the current time window, and the time segment is used to indicate the time when the Ethernet message was transmitted. The second network device determines the type of the pre-configured identification message based on the received type tag field, The second network device, after receiving the window value of the current time window, discards the pre-configured identification message; A data transmission method, including a data transmission method.
6. If the transmission port of the pending message includes multiple types of time windows, and each corresponding type of time window does not have a pending message at the switching time of its respective current time window, the second network device receives messages of multiple time window types transmitted from the first network device, wherein the messages of multiple time window types include different type tags. The method according to claim 5, comprising the step of determining the switching time of time windows for multiple types of messages based on the type tags.
7. A determination unit that determines whether there are any messages waiting to be sent within a time segment before or after the current time window switching time, wherein the time segment is used to indicate the time when an Ethernet message was sent. A transmission unit configured such that, if there are no messages waiting to be transmitted within a time segment before or after the current time window switching time, the first network device transmits a pre-configured identification message to a second network device at the current time window switching time, wherein the end or start position of the pre-configured identification message is the current time window switching time, the pre-configured identification message includes the window value and type tag field of the time window, the window value is used by the second network device to determine the switching time of a different time window of the first network device, and the type tag field is used by the second network device to determine the type of the pre-configured identification message and to discard the pre-configured identification message, A data transmission device that includes this.
8. A determination unit configured to determine the current time window switching time of the first network device if there are no messages waiting to be transmitted within a time segment before or after the current time window switching time, wherein the second network device receives a pre-configured identification message transmitted from the first network device at the current time window switching time, the end or start position of the pre-configured identification message is the current time window switching time, the pre-configured identification message includes the window value and type tag field of the current time window, the time segment is used to indicate the time the Ethernet message was transmitted, and the type tag field is used to indicate the type of the pre-configured identification message, A discard unit configured to discard the pre-configured identification message after the second network device receives the window value of the current time window, A data transmission device that includes this.
9. A determination unit that determines whether there are any messages waiting to be sent within a time segment before or after the current time window switching time, wherein the time segment is used to indicate the time when an Ethernet message was sent. A transmission unit configured such that, if there are no messages waiting to be transmitted within a time segment before or after the current time window switching time, the first network device transmits a pre-configured identification message to a second network device at the current time window switching time, wherein the end or start position of the pre-configured identification message is the current time window switching time, the pre-configured identification message includes the window value and type tag field of the time window, the window value is used by the second network device to determine the switching time of a different time window of the first network device, and the type tag field is used by the second network device to determine the type of the pre-configured identification message and to discard the pre-configured identification message, Network devices including these.
10. A determination unit configured to determine the current time window switching time of the first network device if there are no messages waiting to be transmitted within a time segment before or after the current time window switching time, wherein the second network device receives a pre-configured identification message transmitted from the first network device at the current time window switching time, the end or start position of the pre-configured identification message is the current time window switching time, the pre-configured identification message includes the window value and type tag field of the current time window, the time segment is used to indicate the time when the Ethernet message was transmitted, and the type tag field is used to indicate the type of the pre-configured identification message, A discard unit configured to discard the pre-configured identification message after the second network device receives the window value of the current time window, Network devices including these.
11. A computer program that, when executed, causes the method described in any one of claims 1 to 4 or 5 to 6 to be performed.
Citation Information
Patent Citations
Network, transfer method, node and transfer control program
JP2006246264A
Data stream processing method and network element device
JP2021513780A
Packet forwarding method, device and system
WO2021063191A1