Data transmission method, communication device, storage medium and communication system

By sharding low-priority packets in the optical transmission network and pausing transmission when high-priority packets are detected, the problem of high-priority packet delay and jitter caused by low-priority packets is solved, and the transmission quality in hard pipeline scenarios is improved.

CN120528869APending Publication Date: 2025-08-22HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202410201684.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-22
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

In optical transmission networks, the problem of delay and jitter indicator deterioration caused by the large data volume and insufficient bandwidth of low-priority packets is particularly obvious in hard pipeline scenarios with small bandwidth.

Method used

In the optical transmission network, low-priority packets are divided into multiple shards. If high-priority packets are detected during the transmission process, the low-priority packet transmission will be suspended and the high-priority packets will be sent first until all the low-priority packets are sent are restored.

Benefits of technology

It effectively alleviates the delay and jitter problems of high-priority packets, reduces the "head-resistance" phenomenon when the data volume of low-priority packets is large, and improves the transmission quality of high-priority packets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120528869A_ABST
    Figure CN120528869A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data transmission method, communication equipment, a storage medium and a communication system, and mainly aims to improve time delay and jitter of service messages of a specific category in the communication system. The data transmission method can be applied to a first communication device, and the first communication device is connected with a second communication device through a hard pipeline. In the data transmission method, a first communication device is used for receiving and transmitting service messages of at least two priorities, and sending a low-priority message to a second communication device in the absence of a to-be-sent low-priority message. Moreover, on the first communication equipment, the low-priority message to be sent is divided into a plurality of fragments, and the fragments are sent one by one. In the process of sending the plurality of fragments, if a to-be-sent high-priority message is generated, the sending of the plurality of fragments is suspended, and the high-priority message is preferentially sent, so that the influence on the time delay and jitter of the high-priority message due to overlarge data volume of the low-priority message is relieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communication technologies, and in particular to a data transmission method, communication equipment, storage medium, and communication system. Background Art

[0002] The optical service unit (OSU) is a layer network in the optical transport network (OTN) that supports services at Mbit / s and above. The OSU layer network extends OTN's support for smaller services and provides layer network functions such as OSU service adaptation, OSU overhead management and monitoring, OSU cross-connect scheduling, OSU lossless adjustment, and OSU protection.

[0003] Typically, dedicated line scenarios based on OSU pipes (physical links) require multiple services on one line. For example, multiple services, such as video and image services, share the same OSU pipe. This scenario is characterized by packets entering the OTN device from the client-side interface (such as the Ethernet port) being classified into different priorities based on the QoS service level. Users expect high-priority packets to receive priority in terms of bandwidth and latency, meaning that these packets should be sent first.

[0004] Figure 1 A method for sending a message is shown, such as Figure 1 As shown in Figure A, after packets 1, 2, and 3 enter the OTN device, the OTN device will identify the corresponding sending priorities and temporarily store them in queues of different sending priorities, waiting to be scheduled for sending. Figure 1 In the OSU, there are two sending priorities, high priority and low priority. OTN equipment will give priority to dispatching messages in the high priority queue for sending. If there are no messages to be sent in the high priority queue, the messages in the lower priority queue will be dispatched. In this way, if a low priority message is transmitted in the OSU pipeline and a high priority message to be sent is generated in the high priority queue, then OTN will wait until the low priority message is transmitted before dispatching the high priority message. This is the "head blocking" phenomenon. Figure 1 As shown in Figure B, the "header block" phenomenon is particularly pronounced when low-priority packets carry a large amount of data and the OSU pipe bandwidth is small. This phenomenon degrades the latency and jitter of high-priority packets. Summary of the Invention

[0005] The present invention provides a data transmission method, communication device, storage medium, and communication system, primarily for improving the latency and jitter performance of specific service messages in a communication system. These specific service messages, for example, may be messages with high latency and jitter requirements in specific service scenarios. The technical solutions provided by the present invention include, but are not limited to, applications in optical networks and data communication networks, and are particularly applicable to scenarios involving small-bandwidth hard pipes and "one-line multi-use" scenarios.

[0006] To achieve the above objectives, the embodiments of the present application specifically adopt the following technical solutions:

[0007] In a first aspect, an embodiment of the present application provides a data transmission method, which can be performed by a communication device in an optical transport network or a data communication network, for example, applied to a first communication device, which is connected to a second communication device via a hard pipe. In the data transmission method, the first communication device is used to send and receive service messages of at least two priorities, and in the absence of a low-priority message to be sent, sends a low-priority message to the second communication device. In addition, on the first communication device, the low-priority message to be sent is divided into multiple fragments and sent one by one. In the process of sending the multiple fragments, if a high-priority message to be sent is generated, the sending of the multiple fragments will be suspended, and the high-priority message will be sent first.

[0008] In the above embodiment, for the message segments with lower priority, they are divided into multiple fragments and sent one by one. In the process of sending the multiple fragments, whether to suspend the sending of the multiple fragments is decided based on whether a message with higher priority appears. If a message segment with higher priority appears, the sending of the multiple fragments will be suspended, and the message with higher priority will be sent first, thereby alleviating the impact of the delay and jitter of the higher priority message due to the excessive amount of data in the lower priority message.

[0009] In a possible implementation of the first aspect, the data transmission method may include: obtaining N fragments obtained by dividing a first message segment, where N is an integer greater than 1. Sending the N fragments one by one to a second communication device via a hard pipe. If, during the process of sending the N fragments, the first communication device obtains a second message segment, and the sending priority of the second message segment is higher than the sending priority of the first message segment, suspending the sending of the N fragments and preferentially sending the second message segment to the second communication device via the hard pipe.

[0010] In the process of sending the N fragments, the first communication device may receive a message segment from an upstream communication device, or may generate a corresponding message segment based on service data received by the client-side interface, i.e., a message segment to be sent. If the first communication device determines that the sending priority of the message segment to be sent is higher than the sending priority of the first message segment, it is considered that a second message segment has been generated in the first communication device, and the sending priority of the second message segment is higher than the sending priority of the first message segment.

[0011] In a possible implementation of the first aspect, if the first communication device obtains a second message segment during the process of sending the N fragments, and the sending priority of the second message segment is higher than the sending priority of the first message segment, then the sending of N fragments is suspended, and the second message segment is preferentially sent to the second communication device via a hard pipe, specifically including: if the first communication device obtains the second message segment during the process of sending the i-th fragment, then before the i+1-th fragment, the second message segment is sent to the second communication device via a hard pipe; i is an integer less than N.

[0012] In the above implementation, "pausing sending the N fragments" can mean stopping sending the fragments corresponding to the first message segment immediately, or stopping sending the fragments corresponding to the first message segment after a period of time. There are two specific implementation methods:

[0013] In the first implementation, if a second segment is generated by the first communication device while the i-th fragment is being sent, and the second segment's priority is higher than the first segment's, the second segment is sent to the second communication device via a hard pipe before the i+1-th fragment is sent. As can be seen, in this implementation, the first communication device immediately stops sending the i+1-th fragment and prioritizes sending the second segment.

[0014] In a second implementation, if a second segment is generated by the first communication device during the transmission of the i-th fragment, and the second segment's transmission priority is higher than the first segment's, the second segment is sent to the second communication device via a hard pipe before the i+m-th fragment is sent, where m is an integer greater than 1 and less than (Ni). As can be seen, in this implementation, the first communication device waits for a period of time before stopping the transmission of unsent fragments.

[0015] In addition, in a possible implementation of the first aspect, if the first communication device does not obtain a to-be-sent message segment with a higher transmission priority than the first message segment during the hard pipe transmission of the second message segment, then after the transmission of the second message segment is completed, the first communication device continues to send the fragment corresponding to the first message segment. For example, in the above-mentioned first implementation, after sending the second message segment, the i+1th fragment and subsequent fragments continue to be sent. If the first communication device generates a third message segment with a higher transmission priority than the first message segment during the hard pipe transmission of the second message segment, the first communication device continues to suspend the transmission of the fragment corresponding to the first message segment and preferentially sends the third message segment to the second communication device.

[0016] In a possible implementation of the first aspect, before obtaining the N fragments obtained by dividing the first message segment, the method further includes:

[0017] Obtain a first message segment. Divide the first message segment into N data blocks. Encapsulate each data block to obtain the N fragments. The divided first message segment may be data that has undergone 64b / 66b encoding conversion processing or data that has not undergone encoding conversion processing. If the first message segment is data that has not undergone encoding conversion processing, the first communication device may divide the first message segment into N fragments and then perform 64b / 66b encoding conversion processing on the N fragments to compress the amount of data to be sent and save pipeline bandwidth.

[0018] In a possible implementation of the first aspect, during the above-mentioned encapsulation process, the header information of the first message segment is encapsulated in the first fragment, while the header information is no longer encapsulated in other fragments (fragments other than the first fragment), which reduces the amount of invalid data in the fragment to a certain extent, thereby simplifying the encoding structure of the fragment and reducing the frame gap, so as to further improve the delay index and jitter index of the high-priority message. It should be understood that if the header information is encapsulated in each fragment, then the header data repeatedly encapsulated in each fragment is invalid data. It should be noted that the frame gap generally refers to the number of bytes between the valid data of two frames. For the sending end device, after sending the valid data of a frame, it is necessary to wait until the bytes corresponding to the IFG are sent before starting to send the valid data of the next frame. In the embodiment of the present application, the frame gap can be understood as the number of bytes between the valid data in the encoding structure corresponding to the two fragments. Since not every fragment encapsulates the header information, the number of bytes between the valid data in the encoding structure corresponding to the two fragments is reduced, that is, the frame gap between the fragments is reduced.

[0019] In a possible implementation of the first aspect, during the encapsulation process, information for identifying the fragments is encapsulated in the fragments to transmit the type information of the message and the correlation information between different fragments to the second communication device. The types of messages mainly include fragments and non-fragments, and non-fragments represent complete message segments, such as the second message segment mentioned above. The correlation information between different fragments can be further divided into bit sequence information and association relationship information. The bit sequence information of a fragment represents the bit sequence of the fragment among N fragments, such as the first, the last, and neither the first nor the last. The association relationship information between different fragments is used to indicate whether different fragments belong to the same message segment.

[0020] In a possible implementation manner of the first aspect, part or all of the identification information may be encapsulated in the message header of each fragment, for example, expressed through a pre-frame delimiter of each fragment.

[0021] In a specific implementation, each fragment includes a pre-frame delimiter; among the N fragments, the pre-frame delimiter of the first fragment is used to indicate that the current message is the first fragment divided by the first message segment, and the pre-frame delimiters of other fragments are used to indicate that the current message is the fragment other than the first fragment divided by the first message segment. In other words, the pre-frame delimiter of the first fragment can indicate two pieces of information: one is that it belongs to the first message segment, and the other is that it is the start of the N fragments corresponding to the first message segment, or in other words, its bit sequence in the N fragments is 1. The pre-frame delimiter of a non-first fragment can also indicate two pieces of information: one is that it belongs to the first message segment, and the other is that it is not the first fragment.

[0022] Furthermore, the pre-frame delimiters of each of the N fragments may have a preset association relationship. The pre-frame delimiters of each fragment divided from the same message segment have a preset association relationship, and are distinct from the fragments of the previous message segment and the fragments of the next message segment. This allows the second communication device to determine which fragments belong to the same message segment based on the preset association relationship, while avoiding mistaking fragments of different messages for fragments of the same message.

[0023] Furthermore, the pre-frame delimiter of each fragment includes first identification information and second identification information; the first identification information is used to indicate that the current message type is a fragment; the second identification information is used to indicate that the current fragment belongs to the first message segment; and each of the N fragments has a preset association relationship. Furthermore, the first identification information of the first fragment can also be used to indicate that the current fragment is the first fragment.

[0024] Furthermore, each fragment also includes third identification information; the third identification information is used to indicate the positional order of the current fragment among the N fragments. In other words, the third identification information can be used to indicate the continuity relationship between the current fragment and its previous and subsequent fragments. In some implementations, because the pre-frame delimiter of the first fragment can indicate that the current fragment is the first fragment divided by the first message segment, the third identification information may not be encapsulated for the first fragment.

[0025] In a possible implementation, the first identification information, the second identification information, and the third identification information are encapsulated in a message header of the fragment.

[0026] In a possible implementation of the first aspect, during the encapsulation process, a frame check sequence is also encapsulated for each fragment. Specifically, specific content is designed for the frame check sequence of each fragment to indicate the intended meaning to be conveyed to the receiving end. Specifically, the frame check sequence of the Nth fragment (i.e., the last fragment) among the N fragments is different from the frame check sequences of the other fragments. Thus, the second communication device can determine whether the last fragment has been received based on the frame check sequence of the received fragment.

[0027] In one example, the frame check sequence of the first message segment is used as the frame check sequence of its Nth fragment and encapsulated in the frame tail of the Nth fragment. In the embodiment of the present application, the frame check sequences of the fragments other than the last fragment can be the same.

[0028] On the second aspect, the embodiments of the present application also provide a data transmission method, which can be executed by a communication device in an optical transport network or a data communication network, for example, applied to a second communication device connected to a first communication device through a hard pipe. In this data transmission method, the second communication device identifies the type of received message based on the frame format. If it is a fragment, it waits for all fragments of the low-priority message to be received, and then continues to forward it after reassembly; if it is a complete message segment, it forwards it directly. In this way, the waiting time of high-priority messages is greatly reduced, and the "head blocking" phenomenon when the low-priority message data volume is large and the hard pipe bandwidth is small is alleviated.

[0029] In a possible implementation of the second aspect, the data transmission method may include:

[0030] Upon receiving a target fragment sent by a first communication device via a hard pipe, determining whether all fragments of a first message segment have been received; the target fragment belongs to a first message segment, and the first message segment is divided into N fragments, where N is an integer greater than 1. If all fragments of the first message segment have been received, generating a complete message segment based on the fragments of the first message segment and sending the complete message segment. Upon receiving a second message segment sent by the first communication device via a hard pipe, sending the second message segment.

[0031] In a possible implementation of the second aspect, after receiving a message segment sent by the first communication device via a hard pipe, the second communication device determines the type of the message segment based on information indicated by a pre-frame delimiter of the message segment. For example, if the pre-frame delimiter of the message segment indicates that the current message is a fragment divided from the first message segment, the second communication device determines that the target fragment has been received. Otherwise, the second communication device determines that the received message segment is not a fragment, but a complete second message segment.

[0032] In a possible implementation of the second aspect, the second communication device may determine whether the target fragment is the last fragment among the N fragments based on the frame check sequence of the target fragment, thereby determining whether the fragment corresponding to the first message segment has been completely received. If the frame check sequence of the target fragment indicates that the target fragment is the Nth fragment, then reception is determined to be complete; otherwise, reception is determined to be incomplete.

[0033] In a possible implementation of the second aspect, upon receiving all fragments corresponding to the first message segment, the second communication device generates a complete message segment based on all fragments corresponding to the first message segment, which includes all data information of the first message segment. Specifically, the second communication device determines, from the received fragments, the fragments to be reassembled that belong to the first message segment based on the pre-frame delimiters of the received fragments; determines the bit order of each fragment to be reassembled among the N fragments based on the pre-frame delimiters of the fragments to be reassembled; and reassembles all the fragments to be reassembled based on the bit order of each fragment to be reassembled to obtain the complete message segment.

[0034] In a third aspect, an embodiment of the present application further provides a communication device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any one of the methods described in the first aspect.

[0035] In a fourth aspect, an embodiment of the present application further provides a communication device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any one of the methods described in the second aspect.

[0036] In a fifth aspect, an embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method provided in the embodiment of the present application are implemented.

[0037] In a sixth aspect, an embodiment of the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method provided in the embodiment of the present application.

[0038] In the seventh aspect, an embodiment of the present application also provides a communication system, which includes the communication device provided in the third aspect of the embodiment of the present application and the communication device provided in the fourth aspect of the embodiment of the present application.

[0039] Among them, the technical effects brought about by any design method in the second to seventh aspects can refer to the technical effects brought about by different design methods in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 A schematic diagram of a message sending method is shown;

[0041] Figure 2 A schematic diagram of an OTN device provided in an embodiment of the present application;

[0042] Figure 3 A schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application;

[0043] Figure 4 A schematic diagram of a data transmission method provided in an embodiment of the present application;

[0044] Figure 5 A flow chart of the above data transmission method is given;

[0045] Figure 6 A schematic diagram of a first message segment and its corresponding N fragments provided in an embodiment of the present application;

[0046] Figure 7 This is a schematic diagram of the result of labeling the fragments of Ethernet messages 1-5 using Table 2 provided in an embodiment of the present application;

[0047] Figure 8 A schematic diagram of an application scenario provided in an embodiment of the present application;

[0048] Figure 9 For the embodiment of this application Figure 8 Schematic diagram of the data transmission process in the scenario shown;

[0049] Figure 10 A schematic diagram of the structure of a communication device provided in an embodiment of the present application;

[0050] Figure 11 A schematic structural diagram of another communication device provided in an embodiment of the present application;

[0051] Figure 12 A schematic diagram of the structure of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0052] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0053] Unless otherwise defined, all scientific and technological terms used herein have the same meaning as those known to those of ordinary skill in the art. In the embodiments of the present application, "at least one" refers to one or more, and "a plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, wherein A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following items" or its similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c or a, b and c, wherein a, b and c can be single or multiple. In addition, in the embodiments of the present application, words such as "first" and "second" do not limit quantity and order.

[0054] In addition, in the embodiments of the present application, directional terms such as "upper" and "lower" are defined relative to the orientation of the components in the drawings. It should be understood that these directional terms are relative concepts. They are used for relative description and clarification, and they can change accordingly according to changes in the orientation of the components in the drawings.

[0055] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being more preferred or advantageous than other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0056] First, some terms in this application are explained to facilitate understanding by those skilled in the art.

[0057] Upstream or Downstream: Data is transmitted from a source device to a destination device through an intermediate device. In the direction of data transmission, the intermediate device is located between the source device and the destination device. In this case, the source device is upstream of the intermediate device and is the upstream device of the intermediate device. The destination device is downstream of the intermediate device and is the downstream device of the intermediate device.

[0058] Service data: carried by service packets, refers to the services that can be carried by the optical transport network. For example, it can be Ethernet services, packet services, wireless backhaul services, etc.

[0059] Hard pipe technology: In the information age, end users can chat online and hold video conferences anytime, anywhere, shortening the distance between people. However, service quality requirements vary across different business scenarios, and so do different users. For example, enterprise video conferencing, bank transactions, and remote surgeries in hospitals are often susceptible to interference from other service traffic, resulting in screen distortion, lags, and other issues, impacting user experience. To address this, physical or logical isolation is used to separate the network into two planes: the soft and hard planes. The hard plane carries services with higher service quality requirements and is isolated from the soft plane, protecting it from interference from other service traffic and the soft plane. Typical hard pipe technologies include synchronous digital hierarchy (SDH) hard pipe technology and OTN hard pipe technology.

[0060] A hard pipe refers to a communication link within the isolated hard plane of a network. Hard pipes have two key characteristics: First, their bandwidth is unaffected by traffic load, or in other words, the bandwidth of different hard pipes is independent and independent of each other. For example, if a 100G optical fiber is divided into 100 hard pipes, each with a bandwidth of 1G, the bandwidth of these 100 hard pipes can remain constant during data transmission, regardless of the traffic load on the fiber. Second, the bandwidth of a hard pipe is further divided into payload bandwidth and overhead bandwidth. The payload bandwidth is used to transmit payload data, while the overhead bandwidth is used to transmit non-payload data such as control information. Overhead bandwidth is unaffected by non-payload data such as control information in actual traffic. In other words, during data transmission, the payload bandwidth and overhead bandwidth remain unchanged. For example, if the 1G bandwidth is divided into 1000M payload bandwidth and 24M overhead bandwidth, the 1000M payload bandwidth remains constant regardless of changes in the amount of non-payload data, remaining dedicated to transmitting payload data. The OSU hard pipe mentioned in the embodiment of the present application refers to a type of hard pipe in the field of OTN hard pipe technology.

[0061] As described in the background technology, for the scenario of multiple services on a single line with small-granularity hard pipes, the "header block" phenomenon leads to the degradation of the delay and jitter indicators of high-priority messages. Figure 1As shown in Figure B, at time T1, a long, low-priority packet 5 enters the packet system and is transferred to a low-priority queue for scheduling. At time T2, a shorter, high-priority packet 4 enters the system and is transferred to a high-priority queue for scheduling. At this point, the long, low-priority packet 5 has already entered the egress physical link in the previous scheduling. Because the physical link uses statistical multiplexing, the high-priority packet 4 in the high-priority queue cannot be scheduled until the previous packet is transmitted, resulting in "head-of-line blocking." This can be attributed to two factors. First, when the egress bandwidth of the transmitting device is small and the low-priority packet is large, it occupies the pipe for a longer period of time, resulting in degraded latency and jitter for the high-priority packet. Second, when other burst traffic is added to the ingress of the transmitting device, the latency and jitter of the high-priority packet are further degraded. Here, "other burst traffic" refers to traffic other than high-priority and low-priority packets.

[0062] In one example, the priorities of service packets sent and received by OTN equipment are divided into two levels: high-priority packets, which require priority transmission, and low-priority packets. Table 1 shows the impact of low-priority packets of varying packet lengths and bandwidth on the latency of high-priority packets. As can be seen from Table 1, the longer the low-priority packet length, the more severe the latency degradation of high-priority packets; and the smaller the OSU pipe bandwidth, the more severe the latency degradation of high-priority packets.

[0063] Table 1

[0064]

[0065] In view of this, an embodiment of the present application provides a data transmission method applicable to optical networks, such as OTN. The method may also be applicable to data communication networks, such as slicing packet networks (SPNs) and packet transport networks (PTNs). Optical transport networks, such as OTNs, are typically composed of multiple devices connected by optical fibers. Depending on specific needs, these multiple devices can form different topologies, such as linear, ring, and mesh. Furthermore, data communication networks, such as SPNs and PTNs, may include multiple SPN devices and multiple PTN devices, and may form different topologies, such as linear, ring, and mesh.

[0066] The data transmission method provided in the embodiments of the present application can be performed by communication equipment in an optical transport network or a data communication network, such as the aforementioned OTN equipment, SPN equipment, and PTN equipment. The data transmission method is intended to alleviate the impact of low-priority messages on the degradation of indicators such as latency and jitter of high-priority messages.

[0067] Specifically, the data frame structures used by OTN equipment include OTN frames, OSU frames, and fgOTN frames, which are used to carry various service data. OSU frames can be mapped to OTN frames, and OTN frames can be either ODU frames or OTU frames. ODU frames include ODUk (k represents the rate level, k = 0, 1, 2, 3, 4, flex; for example, k = 1 represents 2.5 Gbps, k = 4 represents 100 Gbps), ODUCn (Cn represents a variable rate, specifically a rate that is a positive integer multiple of 100 Gbps), and OTU frames include optical channel transport unit k (OTUk), OTUCn (Cn represents a variable rate), or flexible OTN (Flex0) frames. The difference between ODU frames and OTU frames is that OTU frames include ODU frames and OTU overhead. The data frame structure used by SPN and PTN devices is the SPN fine-grained data format, the fine granularity unit (FGU) frame structure (in other technical scenarios, it may also be called fgSPN), or fgMTN (fine grain metro transport network), which is used to carry various business data.

[0068] The following uses OTN as an example to introduce the specific implementation of this data transmission method.

[0069] Figure 2 A schematic diagram of OTN 200 provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, OTN 200 is composed of four OTN devices 201, namely device A, device B, device C, and device D. Two devices 201 are connected via optical fiber 202. Device 201 receives or sends customer-side service data through interface 203.

[0070] Depending on actual business needs, an OTN device can have different functions. Generally, OTN devices are divided into optical layer devices, electrical layer devices, and optoelectronic hybrid devices. Optical layer devices refer to devices that can process optical signals, such as optical amplifiers (OAs) and optical add-drop multiplexers (OADMs). OAs, also known as optical line amplifiers (OLAs), are primarily used to amplify optical signals to support transmission over longer distances while ensuring the specific performance of the optical signals. OADMs are used to spatially transform optical signals so that they can be output from different output ports (sometimes also called directions or dimensions). Electrical layer devices refer to devices that can process electrical signals, such as those that can process OTN signals. Optoelectronic hybrid devices refer to devices that have the ability to process both optical and electrical signals. It should be noted that, depending on specific integration requirements, an OTN device can integrate multiple different functions. The technical solutions provided in the embodiments of the present application are applicable to OTN devices of different forms and levels of integration that include electrical layer functions.

[0071] Figure 3 FIG. 3 is a schematic diagram of the hardware structure of a communication device 300 provided in an embodiment of the present application. The communication device may be, for example, the above-mentioned OTN device, such as device A. Figure 3As shown, OTN equipment may include functional units such as a tributary unit 301, a cross-connect unit 302, a line unit 303, an optical layer processing unit (not shown), and a control unit 304. The tributary unit 301, cross-connect unit 302, and line unit 303 process OTN electrical signals. The tributary unit 301 receives and transmits various client-side service data, such as SDH services, packet services, Ethernet services, and wireless backhaul services. Furthermore, the tributary unit 301 can be divided into a client-side optical module and a client-side signal processor. The client-side optical module can be an optical transceiver, which receives and / or transmits service data. The client-side signal processor maps and demaps service data into data frames. The cross-connect unit 302 switches data frames, completing the exchange of one or more types of data frames. The line unit 303 primarily processes line-side data frames. Specifically, the line unit 303 can be divided into a line-side optical module and a line-side signal processor. The line-side optical module can be a line-side optical transceiver, used to receive and / or transmit data frames. The line-side signal processor is used to multiplex and demultiplex, or map and demap, line-side data frames. The control unit 304 is used to implement system control and communication. For example, it collects information from different functional units or sends control instructions to corresponding functional units. The optical layer processing unit is primarily used to process optical signals, such as amplifying optical signals, and implementing spatial transformation, wavelength selection, and wavelength conversion of optical signals to achieve bifurcation multiplexing.

[0072] In response to different application scenario requirements, the types and quantities of functional units in different OTN devices may be different. For example, an OTN device serving as a core node may not have a branch unit 301. For another example, an OTN device serving as an edge node may have multiple branch units 301, or no cross unit 302. For another example, an OTN device that only supports electrical layer functions may not have an optical layer processing unit. Unless otherwise specified, the specific components (such as line-side signal processors) may be one or more, and this application does not impose any restrictions. The above-mentioned functional units may specifically be functional boards, and this application does not impose any restrictions on the type, functional design, and quantity of boards contained in the OTN device. In addition, the OTN device may also include a power supply for backup, a fan for heat dissipation, etc.

[0073] The data transmission method provided in the embodiment of the present application is mainly used in a scenario where the first OTN device maps the message data from the upstream communication device or the customer-side interface into a pipe frame, such as the above-mentioned OSU frame, OTN frame, fgOTN frame, etc., and inputs it into the hard pipe, so that the pipe frame is transmitted to the second OTN device via the hard pipe. In this scenario, the first OTN device serves as a sending end device and includes at least one of a branch unit and a line unit. Specifically, when the first OTN device is the core device in the OTN, the first OTN device may not have a branch unit, and the service messages it receives and sends may come from its upstream communication device. For example, in Figure 2 In the example, when device B is the first OTN device, it sends and receives service messages through the line unit, and these service messages may come from device A. When the first OTN device is an edge device in the OTN, it sends and receives service messages through the tributary unit, and these service messages may come from the client side interface. Figure 3 The tributary unit and / or line unit includes a corresponding signal processor for implementing mapping and demapping of service data to data frames. In other words, most steps of the data transmission method provided in the embodiment of the present application can be completed by the signal processor on the OTN device.

[0074] Figure 4 A schematic diagram of a data transmission method provided in an embodiment of the present application is shown in FIG. Figure 4 As shown, in the data transmission method, the first OTN device is used to send and receive service messages of at least two priorities, and when there is no low-priority message to be sent, the low-priority message is sent to the second OTN device. Figure 4 The first message segment shown in FIG is divided into multiple (N) fragments. For the low priority message to be sent, it is divided into multiple fragments and sent one by one. In the process of sending the multiple fragments, if a high priority message to be sent (such as Figure 4 (the second message segment shown in the figure), the transmission of these multiple fragments will be suspended, giving priority to sending the high-priority message. On the second OTN device side, the second OTN device identifies the type of received message based on the frame format. If it is a fragment, it waits until all fragments of the low-priority message are received before reassembling and forwarding it. If it is a complete message segment, it forwards it directly. This significantly reduces the waiting time for high-priority messages and alleviates the "head-end blocking" phenomenon that occurs when low-priority messages are large in size and the hard pipe bandwidth is limited.

[0075] Figure 5 A flow chart of the above data transmission method is given. Figure 5 As shown, the data transmission method may include the following steps.

[0076] S100: A first OTN device obtains N fragments obtained by dividing a first packet segment, where N is an integer greater than 1.

[0077] In the embodiment of the present application, the first message segment corresponds to the N fragments, which respectively carry different data information in the first message segment, and one fragment carries at most part of the data information in the first message segment.

[0078] Figure 6 Schematic diagram of a first message segment and its corresponding N fragments. Figure 6 As shown, in this example, N = 4. The original message corresponding to the first message segment includes control information encapsulated in the message header, such as a preamble, a start frame delimiter (SFD), a destination address (DA), a source address (SA), and an ethtype.

[0079] In one possible implementation, after the original message enters a signal processor (e.g., a framer included in the signal processor), its preamble is stripped off to form the first message segment. In another possible implementation, after the original message enters a signal processor (e.g., a framer included in the signal processor), its preamble is stripped off and re-encoded to form the first message segment.

[0080] The data information contained in the first message segment can be represented as Data. The four fragments corresponding to the first message segment include different data information divided from Data, represented as Data0, Data1, Data2, and Data3 respectively. It should be understood that based on specific business scenarios, Data and its fragments Data0, Data1, Data2, and Data3 contain corresponding business data, for example, image data or file data.

[0081] In an embodiment of the present application, a first OTN device can receive service messages from a client-side interface and / or service messages sent from an upstream communication device, such as the first message segment described above and the second message segment described below. Each message segment has a corresponding transmission priority. Based on the transmission priority of each message segment, the first OTN device can prioritize the transmission of message segments with higher transmission priorities. Specifically, based on service requirements, two or more transmission priorities can be pre-set, and the two or more transmission priorities follow a high-low order. The first OTN device sends all message segments to be sent in order of their priority.

[0082] Typically, the first OTN device can use any one of a variety of methods to determine the sending priority of the message segment. For example, different message segment source addresses (or destination addresses) are preset on the first OTN device to correspond to different sending priorities. In this way, the first OTN device can determine the sending priority corresponding to the source address (or destination address) of the message segment as the sending priority of the message segment. For another example, the upstream communication device of the first OTN device encapsulates information used to identify the sending priority in the message segment. In this way, the first OTN device can determine the sending priority of the message segment based on the identification information encapsulated in the message segment. The information used to identify the sending priority can be service type information (or data type information), including but not limited to pictures, files, videos, etc. The embodiment of the present application does not limit the specific implementation method of the first OTN device determining the sending priority of the message segment, and more optional specific implementation methods are not described here.

[0083] In one possible implementation, the first OTN device can be configured with multiple message queues for temporarily storing message segments with different transmission priorities. For example, a message queue can correspond to a transmission priority and temporarily store the message segments to be transmitted corresponding to that transmission priority. After receiving a message segment, the first OTN device determines the transmission priority corresponding to the message segment and adds the message segment to the message queue corresponding to the transmission priority. The first OTN device schedules the message segments in each message queue based on the transmission priority corresponding to each message queue, thereby ensuring that higher-priority message segments are transmitted first.

[0084] For example, assume that, based on service requirements, packets carrying service data information are divided into two priorities, for example, first priority and second priority. The first priority is lower than the second priority, and therefore can also be referred to as low priority and high priority, respectively. Two packet queues can be configured on a first OTN device: a first packet queue corresponding to low priority and a second packet queue corresponding to high priority. The first packet queue is used to temporarily store low-priority packet segments, and the second packet queue is used to temporarily store high-priority packet segments. In this example, the first packet segment mentioned in S100 above can be the packet segment temporarily stored in the first packet queue.

[0085] In one possible implementation, after receiving a first message segment, the first OTN device divides the first message segment into N fragments and temporarily stores the N fragments in a first message queue as messages to be sent, awaiting scheduling. If no other message segments to be sent with a higher transmission priority than the first message segment exist on the first OTN device, the first OTN device retrieves the N fragments corresponding to the first message segment from the first message queue and, in S200, sends the N fragments one by one to the second OTN device via a hard pipe.

[0086] In another possible implementation, after receiving the first message segment, the first OTN device adds the first message segment to a first message queue for temporary storage as a message to be sent, awaiting scheduling. If no message segments to be sent with a higher transmission priority than the first message segment exist on the first OTN device, the first OTN device obtains the first message segment from the first message queue, divides the first message segment into N fragments, and then, in S200, sends the N fragments one by one to the second OTN device via a hard pipe.

[0087] S200: The first OTN device sends the N fragments one by one to the second OTN device via a hard pipe.

[0088] It should be understood that the N fragments may follow a specific order, which is consistent with the order in which the data information contained in each of the N fragments is located in the first message segment. Figure 6 As shown, the four fragments corresponding to the first message segment are arranged according to the positions of data 0, data 1, data 2, data 3, etc. in the first message segment.

[0089] Based on this, in S200, the first OTN device sends the N fragments one by one to the second OTN device in the specific order followed by the N fragments, for example, sending the first, sending the second, ..., sending the jth, ..., sending the Nth.

[0090] S300, if a second packet segment is generated in the first OTN device during the process of sending the N fragments, and the sending priority of the second packet segment is higher than the sending priority of the first packet segment, the first OTN device suspends sending the N fragments and preferentially sends the second packet segment to the second OTN device via the hard pipe.

[0091] It should be understood that during the process of transmitting the N fragments, the first OTN device may receive a message segment from a client-side interface or upstream communication device, i.e., a segment to be transmitted. If the first OTN device determines that the transmission priority of the segment to be transmitted is higher than the first segment being transmitted, it is considered that a second message segment has been generated in the first OTN device, and the transmission priority of the second message segment is higher than the transmission priority of the first message segment. Furthermore, the "process of transmitting the N fragments" includes the transmission process of any of the N fragments in the hard pipe. When the Nth fragment is mapped to the hard pipe for transmission, the transmission process of the N fragments is considered complete for the first OTN device.

[0092] The above-mentioned "pause sending the N fragments" can be to immediately stop sending the fragments corresponding to the first message segment, or to wait for a period of time before stopping sending the fragments corresponding to the first message segment. There are two specific implementation methods.

[0093] In the first implementation, if a second segment is generated in the first OTN device while sending the i-th fragment, and the second segment's transmission priority is higher than the first segment's, the second segment is sent to the second OTN device via a hard pipe before sending the i+1-th fragment. As can be seen, in this implementation, the first OTN device immediately stops sending the i+1-th fragment and prioritizes sending the second segment.

[0094] In the second implementation, if a second segment is generated in the first OTN device during the transmission of the i-th fragment, and the second segment's transmission priority is higher than the first segment's, the second segment is sent to the second OTN device via a hard pipe before sending the i+m-th fragment, where m is an integer greater than 1 and less than (Ni). As can be seen, in this implementation, the first OTN device waits for a period of time before stopping the transmission of unsent fragments.

[0095] In the above two implementations, "the process of sending the i-th fragment" can be understood as the process in which the signal processor on the first OTN device has obtained the i-th fragment and is preparing to input it into the hard pipe for transmission, or has already input it into the hard pipe for transmission.

[0096] In an embodiment of the present application, if, during the transmission of the second message segment through a hard pipe, the first OTN device does not generate a pending message segment with a higher transmission priority than the first message segment, then after the transmission of the second message segment is completed, the first OTN device continues to send the fragments corresponding to the first message segment. Continuing with the above example, the phrase "continue to send the fragments corresponding to the first message segment" can be understood as sending the i+1th fragment, the i+2th fragment, and so on to the second OTN device via the hard pipe. If, during the transmission of the second message segment through a hard pipe, the first OTN device generates a third message segment with a higher transmission priority than the first message segment, the transmission of the fragments corresponding to the first message segment continues to be suspended, and the third message segment is preferentially sent to the second OTN device.

[0097] As can be seen from the above embodiments, in the data transmission method provided by the embodiments of the present application, the first OTN device divides a lower-priority message segment into multiple fragments and sends them one by one. In the process of sending the multiple fragments, based on whether a higher-priority message segment is generated, it is determined whether to suspend the sending of the multiple fragments. If a higher-priority message segment is generated, the sending of the multiple fragments is suspended, and the higher-priority message segment is sent first, thereby alleviating the impact of the excessive data volume of the lower-priority message segment on the delay of the higher-priority message segment.

[0098] exist Figure 5In the illustrated process, steps S100 to S300 are steps performed by the first OTN device. The second OTN device, acting as a receiving device, is configured to perform steps S400 to S600. It should be understood that in actual application scenarios, when the first OTN device acts as a receiving device, it can also be configured to perform steps S400 to S600.

[0099] To facilitate a better understanding of the embodiment of the present application, before introducing S400 to S600, the method of dividing the first message segment by the first OTN device and the frame format of the divided fragments are first introduced.

[0100] In some embodiments, the first OTN device can divide the message segments with lower transmission priority according to the following steps to obtain corresponding multiple fragments. Taking the first message segment as an example, first, obtain the first message segment, for example, obtain the first message segment from the first message queue. Then, divide the first message segment into N data blocks, and continue to use Figure 6 In the example shown, the first segment is divided into four data blocks based on the data information contained in the first segment. These four data blocks correspond to Data 0, Data 1, Data 2, and Data 3, respectively. Each data block is then encapsulated to obtain N fragments corresponding to the first segment. The fragmented first segment can be data that has undergone 64b / 66b transcoding or data that has not undergone transcoding. If the first segment is data that has not undergone transcoding, the first OTN device can perform 64b / 66b transcoding on each of the N fragments after dividing the first segment into N fragments to compress the amount of data to be transmitted and save channel bandwidth.

[0101] In an embodiment of the present application, on the one hand, during the encapsulation process, the header information of the first message segment is encapsulated in the first fragment, while the header information is no longer encapsulated in other fragments (fragments other than the first fragment), which reduces the amount of invalid data in the fragment to a certain extent (it should be understood that if the header information is encapsulated in each fragment, then the header data repeatedly encapsulated in each fragment is invalid data), thereby simplifying the coding structure of the fragment and reducing the interframe gap (IFG) to further improve the delay index of high-priority messages. It should be noted that the frame gap generally refers to the number of bytes between the valid data of two frames. For the sending end device, after sending the valid data of a frame, it is necessary to wait until the bytes corresponding to the IFG are sent before starting to send the valid data of the next frame. In an embodiment of the present application, the frame gap can be understood as the number of bytes between the valid data in the coding structure corresponding to the two fragments, such as the number of bytes between data 1 and data 2 mentioned above. Since not every fragment encapsulates the message header information, the number of bytes between valid data in the encoding structure corresponding to two fragments is reduced, that is, the frame gap between fragments is reduced.

[0102] On the other hand, during the encapsulation process, by encapsulating information used to identify the fragments within the fragments, the message type information and the correlation information between different fragments are transmitted to the second OTN device. Message types primarily include fragments and non-fragments, with non-fragments representing complete message segments, such as the second message segment described above. The correlation information between different fragments can be further divided into bit sequence information and correlation information. The bit sequence information of a fragment indicates the bit order of the fragment among N fragments, such as first, last, or neither first nor last. The correlation information between different fragments indicates whether different fragments belong to the same message segment.

[0103] In some embodiments, some or all of the aforementioned identifying information can be encapsulated in the frame header of each fragment, for example, by expressing it through the pre-frame delimiter of each fragment. In specific implementations, the character composition and / or code value of the pre-frame delimiter can be designed, and the meaning of the character composition and / or code value can be agreed upon with the second OTN device, so that the pre-frame delimiter of each fragment can express the desired identifying information. Furthermore, some or all of the aforementioned identifying information can also be encapsulated in the frame trailer of each fragment, for example, by expressing it through the frame check sequence of each fragment. Similar to the aforementioned implementation of the pre-frame delimiter, the character composition and / or code value of the frame check sequence can be designed, and the meaning of the character composition and / or code value can be agreed upon with the second OTN device, so that the frame check sequence of each fragment can express the desired identifying information. It should be understood that in other implementations, some or all of the aforementioned identifying information can also be encapsulated in each fragment independently of the pre-frame delimiter and frame check sequence. Several possible implementations are described below.

[0104] In one possible implementation, the pre-frame delimiter of the first fragment (i.e., the first fragment) among N fragments can indicate that the current message is the first fragment divided by the first message segment. That is, the pre-frame delimiter of the first fragment can indicate two pieces of information, one is that it belongs to the first message segment, and the second is that it is the start of the N fragments corresponding to the first message segment, or in other words, its bit sequence among the N fragments is 1. The pre-frame delimiter of the non-first fragment (i.e., the fragment other than the first fragment) among the N fragments can indicate that the current message is the non-first fragment divided by the first message segment. That is, the pre-frame delimiter of the non-first fragment can indicate two pieces of information, one is that it belongs to the first message segment, and the second is that it is not the first fragment.

[0105] In one possible implementation, the pre-frame delimiter of each fragment may include first identification information and second identification information. The first identification information indicates that the current message type is a fragment, and the second identification information indicates that the current fragment belongs to the first message segment. Furthermore, the first identification information of the first fragment may also be used to indicate that the current fragment is the first fragment.

[0106] In a possible implementation, the pre-frame delimiter of the second message segment is used to indicate that the type of the current message is a complete message segment, or non-fragmented. A complete message segment generally contains all data information corresponding to the original message.

[0107] For ease of explanation, in an embodiment of the present application, ST-FSn (slicing tag-first slicing) is defined as the pre-frame delimiter of the first slice, and ST-SSn (Slicing Tag-Sub Slicing) is defined as the pre-frame delimiter of the non-first slice. Based on this definition, "ST" corresponds to the aforementioned first identification information, which is used to indicate that the type of the current message is a slice. "FSn" and "SSn" correspond to the second identification information, "FSn" as the second identification information of the first slice, is used to indicate that the current slice is the first slice of the first message segment to which it belongs, and "SSn" as the second identification information of the non-first slice, is used to indicate that the current slice is the non-first slice of the first message segment to which it belongs. Accordingly, NST (non-slicing tag) is defined as the pre-frame delimiter of a complete message segment (in this application, a high-priority message segment, such as the above-mentioned second message segment).

[0108] In one possible implementation, the pre-frame delimiters of the fragments divided from the same segment have a preset association, and are distinct from the fragments of the preceding and succeeding segments. This allows the second OTN device to determine which fragments belong to the same segment based on this preset association, while avoiding mistaking fragments from different segments for fragments of the same segment. For example, the pre-frame delimiters of the N fragments described above may have a preset association. This allows the second OTN device to determine that all N fragments belong to the first segment based on this preset association, thereby reassembling the N fragments into a complete segment. It should be noted that the terms "previous" and "next" here refer to the temporal order in which the segments were sent by the first OTN device. For example, if the first OTN device sequentially sends fragments of low-priority segments A, B, and C, segment A is the preceding segment of segment B, and segment C is the succeeding segment of segment B.

[0109] Based on the above definition, "ST-FSn" and "ST-SSn" can have a preset association, indicating that the first fragment and each non-first fragment belong to the first segment. In one example, the "ST-SSn" code value of all non-first fragments of the first segment is the same, and the "ST-SSn" code value is different from the "ST-FSn" code value of the first fragment, but has a corresponding relationship. In this way, the second OTN device can distinguish the first fragment from the non-first fragment based on the difference in the "ST-FSn" and "ST-SSn" code values, and determine that they belong to the same segment based on the same "ST-SSn" code value of the non-first fragments and their corresponding relationship with the "ST-FSn" code value of the first fragment. Furthermore, the "ST-FSn" code value of the first fragment of the first segment is different from the "ST-FSn" code value of the first fragment of the previous low-priority segment and different from the "ST-FSn" code value of the first fragment of the next low-priority segment. In this way, the second OTN device can avoid mistaking fragments of other message segments for fragments of the first message segment based on the fact that the "ST-FSn" code value of the first fragment of the first message segment is different from the "ST-FSn" code values ​​of the low-priority message segments received before and after it.

[0110] In one example, the encoding values ​​of "ST-FSn" and "ST-SSn" shown in Table 2 are used cyclically to identify the first fragment and non-first fragment of the low-priority message segments sent successively. Figure 7 The following is an illustration of the division results of Ethernet message 1, Ethernet message 2, Ethernet message 3, Ethernet message 4 and Ethernet message 5 using the encoding values ​​of "ST-FSn" and "ST-SSn" shown in Table 2. First, refer to Table 2. In Table 2, the encoding values ​​of "ST-FSn" 0x79, 0x80, 0x81, and 0x82 correspond to the encoding values ​​of "ST-SSn" 0xB5, 0xB6, 0xB7, and 0xB8, respectively. Figure 7Ethernet packets 1-5 are divided into six fragments. 0x79 is used as the "ST-FSn" code value to identify the first fragment of Ethernet packet 1, and 0xB5 is used as the "ST-SSn" code value to identify non-first fragments of Ethernet packet 1. 0x80 is used as the "ST-FSn" code value to identify the first fragment of Ethernet packet 2, and 0xB6 is used as the "ST-SSn" code value to identify non-first fragments of Ethernet packet 2. 0x81 is used as the "ST-FSn" code value to identify the first fragment of Ethernet packet 3, and 0xB7 is used as the "ST-SSn" code value to identify non-first fragments of Ethernet packet 3. 0x82 is used as the "ST-FSn" code value to identify the first fragment of Ethernet packet 4, and 0xB8 is used as the "ST-SSn" code value to identify non-first fragments of Ethernet packet 4. At this point, the identification process for Ethernet messages 1-4 constitutes a loop. Therefore, for Ethernet message 5, 0x79 is used as the "ST-FSn" code value to identify the first fragment of Ethernet message 5, and 0xB5 is used as the "ST-SSn" code value to identify non-first fragments of Ethernet message 5, thus entering the next loop.

[0111] Table 2

[0112]

[0113] In addition, the encoding value of "ST-NST" is 0x78, which is different from any encoding value of "ST-FSn" and also different from the encoding value of "ST-SSn", thus indicating that the type of the current message is non-fragmented.

[0114] In a possible implementation, the third identification information is also encapsulated for each fragment during the encapsulation process. The third identification information can be used to indicate the position order of the current fragment in the N fragments. In other words, the third identification information can be used to indicate the continuity relationship between the current fragment and its previous fragment and the next fragment. The third identification information can be, for example, Figure 6 and Figure 7 It should be understood that, in some implementations, since the pre-frame delimiter of the first fragment can indicate that the current fragment is the first fragment divided by the first message segment, the third identification information may not be encapsulated for the first fragment.

[0115] In one example, the frame bit sequence values ​​shown in Table 2 are used cyclically to identify the bit sequence of the non-first fragments of the low-priority message segments sent successively. The identification result is as follows: Figure 7As shown in the figure, taking the five non-first fragments corresponding to Ethernet packet 1 as an example, the "Frame Order" values ​​for these five fragments are "0," "1," "2," "3," and "0," respectively. The second through fourth fragments use the Frame Order values ​​in Table 2 in a cycle, so the fifth fragment uses "0" as its "Frame Order" value.

[0116] Depend on Figure 7 As shown in the example, different "ST-FSn" and "ST-SSn" values ​​are used for Ethernet packets 1-4 to distinguish the fragments of different packets. For fragments of the same packet, "ST-FSn" and "ST-SSn" are used in pairs, and the same ST-SSn value is used for all non-first fragments to determine which fragments belong to the same packet segment. This prevents fragments of different packets from being reassembled into the same packet segment due to the discarding of the last fragment of the previous packet segment or the first fragment of the subsequent packet segment. Furthermore, for fragments of the same packet, the "frame sequence" value is used to prevent fragment reordering and crosstalk.

[0117] In a possible implementation, a frame check sequence (FCS) is also encapsulated for each fragment during the encapsulation process. Specifically, specific content is designed for the frame check sequence of each fragment to express the meaning that is expected to be expressed to the receiving end. Specifically, the frame check sequence of the Nth fragment (that is, the last fragment) among the N fragments is different from the frame check sequences of other fragments. Thus, the receiving end can determine whether the last fragment is received based on the frame check sequence of the received fragment. In one example, the frame check sequence FCS of the first message segment is used as the frame check sequence of its Nth fragment and encapsulated in the frame tail of the Nth fragment. In an embodiment of the present application, the frame check sequences of other fragments may be the same. For ease of description, sFCS (slicing frame check sequence) is defined as the frame check sequence of other fragments except the Nth fragment. As Figure 6 and Figure 7 As shown, for the multiple fragments corresponding to each message, the encoding value of the frame check sequence of the last fragment is the same as the frame check sequence of the corresponding message segment, so both are expressed as FCS, and the encoding values ​​of the frame check sequences of other fragments are different from the last fragment, so they are expressed as sFCS.

[0118] In one possible implementation, the sFCS encoding value can be obtained by performing an XOR operation on the FCS encoding value using the following formula: For example, the FCS of the first message segment is XORed with 0x0000FFFF (i.e., two operations are performed bit by bit, with identical bits being 0 and different bits being 1).

[0119] For example, the FCS of the first segment is 0x5A5A5A5A, then:

[0120] sFCS=0x5A5A5A5A∧0x0000FFFF=0x5A5AA5A5.

[0121] The above describes the method for dividing the first message segment for the first OTN device and some implementations of the fragmented frame format. In fact, based on the concept of the embodiment of the present application, the fragmented frame format can also be implemented in other ways, which will not be detailed here.

[0122] As mentioned above, if the first message segment is data that has not been processed by 64b / 66b encoding conversion, then after the first OTN device obtains the N fragments obtained by dividing the first message segment, it will perform 64b / 66b encoding conversion on each fragment, thereby compressing the data volume and saving the bandwidth occupied by transmission.

[0123] Among them, taking 66b encoding conversion as an example, the encoding result for a high-priority message (such as the second message segment mentioned above) is specifically a group of 66-bit code blocks with start and end marks, which contains all the data information of a message segment. For the first fragment corresponding to a low-priority message (such as the first message segment mentioned above), the encoding result can be a group of 66-bit code blocks with "ST-FSn" as the start mark, which contains the starting part of an Ethernet message, such as the message header information of the Ethernet message, and can also contain a part of the data information. For the non-first fragment corresponding to a low-priority message (such as the first message segment mentioned above), the encoding result can be a group of 66-bit code blocks with "ST-SSn" as the start mark, which contains the non-starting part of an Ethernet message.

[0124] Since those skilled in the art know how to perform 64b / 66b encoding conversion on data based on their technical knowledge in this field, the principles and methods of 64b / 66b encoding conversion will not be described in detail in this article.

[0125] S400: When receiving a target fragment sent by the first OTN device through a hard pipe, the second OTN device determines whether the fragment corresponding to the first message segment is completely received; the target fragment belongs to the first message segment, and the first message segment is divided into N fragments.

[0126] In one possible implementation, after receiving a packet segment sent by the first OTN device via a hard pipe, the second OTN device determines the packet segment type based on information indicated by the pre-frame delimiter of the packet segment. For example, if the pre-frame delimiter of the packet segment indicates that the current packet is a fragment divided from the first packet segment, the second OTN device determines that the target fragment has been received. Otherwise, the second OTN device determines that the received packet is not a fragment, but a complete second packet segment.

[0127] In one possible implementation, the second OTN device can determine whether the target fragment is the last of the N fragments based on the frame check sequence of the target fragment, thereby determining whether the fragment corresponding to the first message segment has been completely received. If the frame check sequence of the target fragment indicates that the target fragment is the Nth fragment, then it is determined that the fragment has been completely received, and S500 is executed. Otherwise, it is determined that the fragment has not been completely received, and it is necessary to wait until the fragment is completely received before executing S500.

[0128] S500: When the second OTN device completes receiving the fragments corresponding to the first message segment, it generates a complete message segment based on all the fragments corresponding to the first message segment, and sends the complete message segment based on the destination address of the first message segment.

[0129] When all fragments corresponding to the first message segment are received, the complete message segment generated based on all fragments corresponding to the first message segment will include all data information of the first message segment.

[0130] In one possible implementation, the second OTN device determines, from the received fragments, the fragments to be reassembled that belong to the first message segment based on the pre-frame delimiters of the received fragments; determines the bit order of each fragment to be reassembled among the N fragments based on the pre-frame delimiters of the fragments to be reassembled; and reassembles all the fragments to be reassembled based on the bit order of each fragment to be reassembled to obtain a complete message segment.

[0131] S600: When receiving a second message segment sent by the first communication device through a hard pipe, the second OTN device sends a second message segment based on the destination address of the second message segment.

[0132] exist Figure 5 In the illustrated flow, steps S400 to S600 illustrate the method steps performed by the second OTN device. The second OTN device identifies the type of the received message by identifying the identifying information in the received message. If it is a complete message, it forwards it directly. If it is the first fragment, it waits for subsequent fragments to arrive. For subsequent fragments not received as the first, it verifies whether they belong to the first message segment and determines the order of the subsequent fragments based on the frame sequence and pre-frame delimiter encoding values ​​in Table 2, as well as the frame sequence.

[0133] Figure 8 This is a schematic diagram of an application scenario provided by an embodiment of the present application, which is specifically a camera data return scenario. Figure 8As shown, data collected by camera 801 is transmitted to the OTN via Ethernet switch 802 and received by the first OTN device in the OTN. In the OTN, the first and second OTN devices are connected via an OSU pipe. The first OTN device transmits the data to the second OTN device via the OSU pipe, which then transmits the data to server 803 via Ethernet switch 802. The bandwidth of the OSU pipe is 50M, for example. In this scenario, the data collected by camera 801 is divided into a video stream and a real-time snapshot image stream. The video stream is sensitive to latency and jitter and typically consists of short packets. The image stream is not sensitive to latency, but typically consists of long packets and exhibits random bursts. In service planning, the video stream is given high priority, while the image stream is given low priority.

[0134] like Figure 9 As shown, picture frames enter the first OTN device before video frames and enter queues of different priorities. During picture frame transmission in the pipeline, video frames are scheduled, and the unsent picture frames are stopped. After the first video frame is sent, the remaining picture frames are scheduled before the next video frame is sent. For example, another 256-byte slice is sent. The second and third video frames are then received, so they will preempt pipeline resources for transmission. Finally, when no video frames preempt them, the final 1134-byte picture frame is sent. On the second OTN device, after receiving the video frame, it is quickly sent without reassembly, as a high-priority frame. However, after receiving the fragments of the first picture frame, it must wait for all fragments to be delivered and reassembled before sending.

[0135] Table 3 shows the impact of low-priority packets of different lengths on the latency of high-priority packets under different bandwidth conditions using the data transmission method provided by an embodiment of the present application. As can be seen from Table 3, the data transmission method provided by an embodiment of the present application can significantly improve the impact of low-priority packets on the latency of high-priority packets in the OTN small-granularity, multi-line scenario.

[0136] Table 3

[0137]

[0138] Figure 10 This is a schematic diagram of a possible communication device provided in an embodiment of the present application. Figure 10 As shown, the communication device 100 may include a processor 101 and a memory 102. The communication device 100 may serve as a first OTN device, ie, a transmitting end device, or a second OTN device, ie, a receiving end device.

[0139] When used as a first OTN device, the processor 101 is used to implement the method executed by the first OTN device described in the above embodiment. During the implementation process, each step of the processing flow can be completed by the hardware integrated logic circuit or software instructions in the processor 101. When used as a second OTN device, the processor 101 is used to implement the method executed by the second OTN device described in the above embodiment. During the implementation process, each step of the processing flow can be completed by the hardware integrated logic circuit or software instructions in the processor 101. It should be noted that the processor 101 and the memory 102 are Figure 3 In the communication equipment hardware structure diagram shown, it may be located in the branch unit.

[0140] It should be noted that Figure 10 The communication device can also be used to execute the method steps involved in the aforementioned method embodiment variations, which will not be repeated here.

[0141] It should also be noted that when the processor 101 executes the sending step, it may send data to the optical transceiver so that the optical transceiver sends data to the opposite device. When the processor 101 executes the receiving step, it may receive service data from the optical transceiver to perform other subsequent processing steps.

[0142] In the embodiments of the present application, the processor 101 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly implemented and executed by a hardware processor, or by a combination of hardware and software components within the processor. The computer program executed by the processor 101 to implement the above-described methods may be stored in the memory 102. The memory 102 and the processor 101 are coupled. Coupling in the embodiments of the present application refers to an indirect coupling or communication connection between devices, units, or modules, and may be electrical, mechanical, or other forms, for information exchange between the devices, units, or modules. The processor 101 may operate in conjunction with the memory 102. The memory 102 may be a non-volatile memory, such as a hard disk drive (HDD), or a volatile memory, such as a random-access memory (RAM). The memory 102 is any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. For example, when the communication device is an OTN device, the processor 101 may be a signal processor in a tributary unit on the OTN device.

[0143] Figure 11 and Figure 12 Provided are two possible structural diagrams of communication devices.

[0144] Figure 11 The communication device 1100 shown includes:

[0145] The message acquisition unit 1101 acquires message segments to be sent, including message segments with different sending priorities.

[0146] The scheduling unit 1101 is used to schedule message segments with different sending priorities to the sending unit 1103 according to the sending priorities of the message segments to be sent.

[0147] In the embodiment of the present application, the scheduling unit 1101 is used to schedule message segments of different transmission priorities according to the data transmission provided in the above embodiment, and can also be used to fragment message segments of low priority to obtain corresponding N fragments.

[0148] The sending unit 1103 is used to send the message segments or fragments scheduled by the scheduling unit 1101.

[0149] Figure 12The communication device 1200 shown includes:

[0150] The receiving unit 1201 is configured to receive a fragment corresponding to a first message segment or a second message segment from a first OTN device;

[0151] The reassembly unit 1201 is configured to determine whether the fragments corresponding to the first message segment have been completely received, and if so, generate a complete message segment based on all the fragments corresponding to the first message segment.

[0152] The sending unit 1203 is configured to send the complete message segment based on the destination address of the first message segment, and, upon receiving a second message segment sent by the first communication device, send a second message segment based on the destination address of the second message segment.

[0153] Those skilled in the art should understand that the units included in the communication device 1100 and the communication device 1200 may be implemented by one or more processors.

[0154] Based on the above embodiments, embodiments of the present application further provide a computer-readable storage medium storing a software program that, when read and executed by one or more processors, can implement the methods provided by any one or more of the above embodiments. The computer-readable storage medium may include any medium capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory, a random access memory, a magnetic disk, or an optical disk.

[0155] Based on the above embodiments, embodiments of the present application further provide a chip, comprising a processor configured to implement the functions described in any one or more of the above embodiments, such as acquiring or processing the data frames described in the above methods. Optionally, the chip further comprises a memory configured to store the necessary program instructions and data for execution by the processor.

[0156] The chip may be composed of a chip, or may include a chip and other discrete devices.

[0157] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0158] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0159] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0160] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0161] An embodiment of the present application further provides a communication system, which may specifically be an OTN, SPN, or PTN. The communication system includes any one or more of the above communication devices, such as the above OTN device, SPN device, or PTN device.

[0162] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A data transmission method, characterized in that: Applied to a first communication device, the first communication device is connected to a second communication device via a hard pipe; the method includes: Obtain N fragments obtained by dividing the first message segment; N is an integer greater than 1; The N fragments are sent one by one to the second communication device via the hard pipe; wherein, If, during the process of sending the N fragments, the first communication device obtains a second message segment, and the sending priority of the second message segment is higher than the sending priority of the first message segment, then the sending of the N fragments is suspended, and the second message segment is preferentially sent to the second communication device via the hard pipe.

2. The data transmission method according to claim 1, wherein: If, during the process of sending the N fragments, the first communication device obtains a second message segment, and the sending priority of the second message segment is higher than the sending priority of the first message segment, suspending the sending of the N fragments and preferentially sending the second message segment to the second communication device via the hard pipe, comprising: If the first communication device obtains the second message segment during the process of sending the i-th fragment, then before sending the i+1-th fragment, the second message segment is sent to the second communication device via the hard pipe; i is an integer less than N.

3. The data transmission method according to claim 1 or 2, characterized in that: Before obtaining the N fragments obtained by dividing the first message segment, the method further includes: Obtaining the first message segment; Dividing the first message segment into N data blocks; Encapsulate each data block to obtain the N fragments; Among them, the message header information of the first message segment is encapsulated in the first fragment; each of the fragments includes a pre-frame delimiter; among the N fragments, the pre-frame delimiter of the first fragment is used to indicate that the current message is the first fragment divided by the first message segment, and the pre-frame delimiters of other fragments are used to indicate that the current message is a fragment other than the first fragment divided by the first message segment.

4. The data transmission method according to claim 3, wherein: There is a preset association relationship between the pre-frame delimiters of each of the N fragments.

5. The data transmission method according to claim 4, characterized in that: The pre-frame delimiter of each fragment includes first identification information and second identification information; the first identification information is used to indicate that the type of the current message is a fragment; the second identification information is used to indicate that the current fragment belongs to the first message segment; each fragment in the N fragments has the preset association relationship.

6. The data transmission method according to claim 5, characterized in that: Each of the fragments further includes third identification information; the third identification information is used to indicate the position order of the current fragment in the N fragments.

7. The data transmission method according to claim 6, characterized in that: The first identification information, the second identification information and the third identification information are encapsulated in a message header of the fragment.

8. The data transmission method according to any one of claims 2 to 7, characterized in that: Each of the fragments further includes a frame check sequence; among the N fragments, the frame check sequence of the Nth fragment is different from the frame check sequences of the other fragments.

9. The data transmission method according to claim 8, characterized in that: The frame check sequence of the Nth fragment is the same as the frame check sequence of the second message segment.

10. The data transmission method according to any one of claims 1 to 9, characterized in that: The method further comprises: After sending the second message segment to the second communication device via the hard pipe, the unsent fragments of the N fragments are sent to the second communication device via the hard pipe.

11. A data transmission method, characterized in that: Applied to a second communication device, the second communication device is connected to a first communication device via a hard pipe; the method includes: When receiving a target fragment sent by the first communication device through the hard pipe, determining whether the fragments of the first message segment are completely received; the target fragment belongs to the first message segment, and the first message segment is divided into N fragments; N is an integer greater than 1; When receiving the fragments of the first message segment, generating a complete message segment based on the fragments of the first message segment, and sending the complete message segment; When a second message segment sent by the first communication device through the hard pipe is received, the second message segment is sent out.

12. The data transmission method according to claim 11, characterized in that: The method further comprises: receiving a message segment sent by the first communication device through the hard pipe; If the pre-frame delimiter of the message segment indicates that the message segment is a fragment divided from the first message segment, it is determined that the target fragment is received.

13. The data transmission method according to claim 11 or 12, characterized in that: When receiving the target fragment sent by the first communication device through the hard pipe, determining whether the fragments of the first message segment have been completely received includes: When receiving a target fragment sent by the first communication device through the hard pipe, determining whether the target fragment is the Nth fragment among the N fragments according to a frame check sequence of the target fragment; If the target fragment is the Nth fragment among the N fragments, it is determined that the fragments of the first message segment have been completely received.

14. The data transmission method according to any one of claims 11 to 13, characterized in that: The step of generating a complete message segment based on the fragments of the first message segment upon completion of receiving the fragments of the first message segment includes: Determining, according to the pre-frame delimiter of the received fragments, the fragment belonging to the first message segment from the received fragments as the fragment to be reassembled; Determine the position order of each of the to-be-reassembled fragments in the N fragments according to the pre-frame delimiter of the to-be-reassembled fragments; Based on the bit sequence of each of the fragments to be reassembled, all the fragments to be reassembled are reassembled to obtain the complete message segment.

15. A communication device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method according to any one of claims 1 to 10.

16. A communication device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method according to any one of claims 11 to 14.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

18. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

19. A communication system, characterized in that: The communication system comprises the communication device according to claim 15 and the communication device according to claim 16, wherein the communication device according to claim 15 is configured to send message data to the communication device according to claim 16 according to the method according to any one of claims 1 to 10.

Citation Information

Cited By

  • Slicing transmission device and method and storage medium

    CN122262043A

  • Fragment transmission apparatus, method and storage medium

    CN122262043B