Methods, apparatus, devices, systems and readable storage media for data transmission
By caching and mapping CBR service flows to FlexE time slots at the physical layer, the high cost and complexity issues in existing technologies are resolved, enabling low-latency and low-latency-varying service data transmission, reducing network construction costs and clock recovery complexity.
Patent Information
- Application Number
- CN202110132521.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-31
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2041-01-31
AI Technical Summary
Existing technologies require the use of the CES protocol and flow controller when transmitting low-latency and low-latency variable service data, resulting in high network construction costs and limitations on long-distance transmission of service data. Furthermore, the CESACR algorithm is complex and sensitive.
By caching CBR service flows at the physical layer and mapping them to FlexE time slots, data exchange and forwarding are performed using the FlexE network, avoiding packet encapsulation and flow controllers. Service clock division and overhead management are adopted to achieve physical layer exchange and forwarding of service data.
It reduces latency and latency variations in business data, lowers network construction costs, simplifies the clock recovery process, and supports flexible business data mapping and transmission.
Smart Images

Figure CN114844592B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device, system, and readable storage medium for data transmission. Background Technology
[0002] With the development of communication technology, the requirements for data transmission latency and latency variations are constantly increasing. In related technologies, for services requiring low latency and low latency variation, such as constant bit rate (CBR) services, data is carried on the transmission network using circuit emulation protocols such as pseudowire emulation edge-to-edge (PWE3). Based on the circuit emulation service over packet switched network (CESoP) protocol or the structure-agnostic time division multiplexer over packet (SAToP) protocol in PWE3, service data is encapsulated into data packets, and data transmission is achieved through packet switching and forwarding. Furthermore, related technologies use the circuit emulation service adaptive clock recovery (CESACR) algorithm in conjunction with an oscillator to recover the service clock, thereby restoring data packets to service data.
[0003] Since the data packets encapsulated in related technologies belong to the data link layer or network layer, the path delay (Pd) and path delay variant (Pdv) of data packet forwarding are relatively large. In order to meet the requirements of low latency and low latency variant, the traffic manager schedules the data packets in the transmission network and controls the number of hops of intermediate network elements to control Pd and Pdv during data transmission.
[0004] Based on the above, related technologies mainly employ the CESoP or SAToP protocols in conjunction with flow controllers to achieve the transmission of low-latency and low-latency-variability services, resulting in relatively low performance in terms of data transmission latency and latency variation. Furthermore, transmission networks built based on these technologies require the construction of flow controllers, leading to high network construction costs. Service clock recovery algorithms such as CESACR are complex to implement, and the solutions for restoring service clocks in these technologies are sensitive to latency variations. Limiting the number of hops through intermediate nodes during data packet exchange and forwarding is detrimental to long-distance transmission of service data, thus restricting network layout. Summary of the Invention
[0005] This application proposes a method, apparatus, device, system, and readable storage medium for data transmission, which addresses the problem of transmitting low-latency and low-latency-variable service data in a transmission network through the CES protocol and flow controller.
[0006] Firstly, a data transmission method is provided, applied to a first network device supporting FlexE. The method includes: the first network device acquiring a CBR service flow and determining the user corresponding to the CBR service flow; buffering the CBR service flow according to service data time slots in the buffer location of the physical layer PHY corresponding to the user based on the service clock; then, the first network device reading service data time slots from the buffer location of the PHY corresponding to the user, sequentially mapping the read service data time slots to the FlexE time slots corresponding to the user, and finally transmitting the FlexE time slots mapped with the service data time slots through a FlexE-enabled network.
[0007] This method identifies the user corresponding to the CBR service flow and caches the CBR service flow according to the service clock, placing it into the corresponding PHY cache location based on the service data time slots. This eliminates the need to encapsulate data packets belonging to the data link layer or network layer, enabling segmentation and caching of CBR service flows belonging to different users within the acquired CBR service flow, thus reducing the latency and latency variation of CBR service flow segmentation. Secondly, by mapping service data time slots to the corresponding FlexE time slots for each user, and transmitting these mapped FlexE time slots through a FlexE-enabled network, service data is switched and forwarded at the physical layer, further reducing the latency and latency variation of service data switching and forwarding. Furthermore, this method eliminates the need for additional flow controllers and oscillators, reducing the construction cost of the transmission network.
[0008] In one possible implementation, before caching the CBR service flow according to the service data time slots into the cache location of the physical layer PHY corresponding to the user based on the service clock, the method further includes: the first network device parsing the CBR service flow to obtain overhead management information, associated signaling, and multiple service data time slots, wherein the multiple service data time slots have a first time slot length; caching the CBR service flow according to the service clock into the cache location of the physical layer PHY corresponding to the user based on the service data time slots includes: the first network device dividing the service clock to obtain a first clock, wherein the frequency of the first clock matches the first time slot length; and the first network device caching multiple service data time slots, overhead management information, and associated signaling in the cache location of the PHY corresponding to the user based on the first clock.
[0009] In one possible implementation, determining the user corresponding to the CBR service flow includes: determining the user corresponding to the CBR service flow based on in-band signaling, or determining the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow. Determining the user corresponding to the CBR service flow through in-band signaling or the configuration information corresponding to the CBR service flow offers greater flexibility.
[0010] In one possible implementation, the first network device reads the service data time slot from the cache location of the user's corresponding PHY, including: the first network device reads the service data time slot from the cache location of the user's corresponding PHY according to a second bit length, wherein the second bit length is adapted to the length of the user's corresponding FlexE time slot.
[0011] In one possible implementation, the bit length of the service data time slot is a first bit length; the first network device reads the service data time slot from the cache location of the user's corresponding PHY according to the second bit length, including: if the first bit length is less than the second bit length, the first network device fills the bit field of the service data time slot with a target reserved value, so that the bit length of the service data time slot is the second bit length; the first network device reads the service data time slot filled with the target reserved value from the cache location of the user's corresponding PHY according to the second bit length.
[0012] In one possible implementation, the data rate corresponding to the FlexE timeslot is greater than or equal to the data rate corresponding to the business data timeslot. This ensures that the business data timeslots can be mapped to the FlexE timeslots, preventing data loss.
[0013] In one possible implementation, the read service data time slots include multiple service data time slots, the FlexE time slots include multiple primary time slots, and any one of the primary time slots includes multiple secondary time slots. Mapping the read service data time slots to the FlexE time slots corresponding to the user includes: for any service data time slot among the multiple service data time slots, the first network device maps the service data time slot to at least one primary time slot among the multiple primary time slots, and the first network device generates primary overhead information, which matches the primary overhead information with at least one primary time slot; or the first network device maps any service data time slot to at least one secondary time slot among the multiple secondary time slots, and the first network device generates primary overhead information and secondary overhead information, where the primary overhead information matches the primary time slot corresponding to at least one secondary time slot, and the secondary overhead information matches the primary time slot corresponding to at least one secondary time slot. Service data time slots can be mapped to either primary or secondary time slots, providing greater flexibility in mapping service data time slots.
[0014] In one possible implementation, the method further includes: a first network device sending a FlexE overhead frame through a FlexE-enabled network, the FlexE overhead frame carrying first-level overhead information, or carrying both first-level and second-level overhead information.
[0015] In one possible implementation, before the first network device sends the FlexE time slot mapped with service data time slots through a FlexE-enabled network, the method further includes: the first network device reading the empty / full status of the buffer location of the user's corresponding PHY; if the status read by the first network device is empty, the first network device inserts a control character into the FlexE time slot, and the control character is used to adapt to the rate corresponding to the FlexE time slot.
[0016] In one possible implementation, the method further includes: a first network device reading overhead management information and associated signaling from the cache location of the user's corresponding PHY; the first network device mapping the read overhead management information and associated signaling to the FlexE time slot corresponding to the user; and the first network device sending the FlexE time slot mapped with the read overhead management information and associated signaling through a FlexE-enabled network.
[0017] Secondly, a data transmission method is provided, the method being applied to a second network device supporting FlexE, the method comprising: the second network device receiving FlexE time slots mapped with service data time slots through a FlexE-supporting network; the second network device demapping the FlexE time slots sequentially to obtain service data time slots; the second network device caching the service data time slots into the corresponding physical layer PHY cache location; the second network device restoring a service clock according to the read / write rate of the cached service data time slots; the second network device reading the cached service data time slots according to the restored service clock, and restoring a constant bit rate (CBR) service flow according to the restored service clock and the read service data time slots.
[0018] In one possible implementation, the FlexE time slot includes multiple primary time slots, and any one of the multiple primary time slots includes multiple secondary time slots; the method further includes: the second network device receiving a FlexE overhead frame through a FlexE-enabled network, the FlexE overhead frame carrying primary overhead information, or carrying the primary overhead information and secondary overhead information; the second network device demapping the FlexE time slots sequentially to obtain service data time slots, including: the second network device parsing the FlexE overhead frame to obtain the primary overhead information, and demapping multiple primary time slots according to the primary overhead information to obtain multiple service data time slots; or the second network device parsing the FlexE overhead frame to obtain the primary overhead information and the secondary overhead information, and demapping multiple secondary time slots according to the primary overhead information and the secondary overhead information to obtain multiple service data time slots.
[0019] In one possible implementation, the method further includes: the second network device matching the acquired primary overhead information with the first overhead verification information; if the acquired primary overhead information does not match the first overhead verification information, the second network device issues a warning message; the second network device matching the acquired secondary overhead information with the second overhead verification information; if the acquired secondary overhead information does not match the second overhead verification information, the second network device issues a warning message.
[0020] In one possible implementation, the FlexE time slot further includes a time slot with inserted control characters; the second network device demaps the time slot with inserted control characters and deletes the demapped control characters.
[0021] In one possible implementation, the second network device restores the service clock based on the read / write rate of the cached service data time slot, including: the second network device obtaining the write rate and initial read rate of the cached service data time slot, and obtaining a rate difference based on the write rate and the initial read rate; the second network device adjusting the read rate based on the rate difference; and if the rate difference is a target rate difference, restoring the service clock based on the write rate when the rate difference is the target rate difference.
[0022] In one possible implementation, obtaining the rate difference based on the write rate and the initial read rate includes: if each cached service data time slot includes N bit fields, dividing the initial read rate by 1 / N, and obtaining the rate difference based on the average rate of the initial read rate after 1 / N division and the write rate, where N is a positive integer greater than 1.
[0023] In one possible implementation, the second network device adjusts the read rate based on the rate difference, including: the second network device obtaining a first voltage value based on the rate difference; obtaining a first frequency value based on the first voltage value; obtaining a read rate based on the first frequency value; if the read rate is less than the average write rate, increasing the read rate until the rate difference is a target rate difference; if the read rate is greater than the average write rate, decreasing the read rate until the rate difference is the target rate difference.
[0024] In one possible implementation, the method further includes: reading overhead management information and associated signaling; the step of restoring the constant bit rate (CBR) service flow based on the restored service clock and the read service data time slot includes: restoring the CBR service flow based on the restored service clock, the service data time slot, the overhead management information, and the associated signaling.
[0025] Thirdly, a data transmission apparatus is provided, the apparatus being applied to a first network device supporting Flexible Ethernet (FlexE), the apparatus comprising:
[0026] The acquisition module is used to acquire CBR service flows and determine the user corresponding to the CBR service flow;
[0027] The caching module is used to cache the CBR service flow according to the service data time slot to the cache location of the physical layer PHY corresponding to the user, based on the service clock.
[0028] The reading module is used to read the service data time slot from the cache location of the PHY corresponding to the user;
[0029] The mapping module is used to map the read service data time slots to the FlexE time slots corresponding to the user in sequence.
[0030] The sending module is used to send FlexE time slots mapped with the service data time slots through a FlexE-enabled network.
[0031] In one possible implementation, the acquisition module is further configured to parse the CBR service flow to obtain overhead management information, associated signaling, and multiple service data time slots, wherein the multiple service data time slots have a first time slot length;
[0032] The caching module is used to divide the service clock to obtain a first clock, the frequency of which matches the length of the first time slot; and to cache the multiple service data time slots, the overhead management information, and the associated signaling at the cache location of the PHY corresponding to the user according to the first clock.
[0033] In one possible implementation, the acquisition module is used to determine the user corresponding to the CBR service flow based on the accompanying signaling, or to determine the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow.
[0034] In one possible implementation, the reading module is configured to read the service data time slot from the cache location of the PHY corresponding to the user according to the length of the second bit, wherein the length of the second bit is adapted to the length of the FlexE time slot corresponding to the user.
[0035] In one possible implementation, the bit length of the service data time slot is the first bit length;
[0036] The reading module is configured to, if the first bit length is less than the second bit length, fill the bit field of the service data time slot with a target reserved value so that the bit length of the service data time slot is the second bit length; and read the service data time slot filled with the target reserved value from the cache location of the PHY corresponding to the user according to the second bit length.
[0037] In one possible implementation, the rate corresponding to the FlexE time slot is greater than or equal to the rate corresponding to the service data time slot.
[0038] In one possible implementation, the read service data time slot includes multiple service data time slots, the FlexE time slot includes multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots;
[0039] The mapping module is configured to, for any one of the plurality of service data time slots, map the any one of the service data time slots to at least one of the plurality of primary time slots to generate primary overhead information, wherein the primary overhead information matches the at least one primary time slot; or map the any one of the service data time slots to at least one of the plurality of secondary time slots to generate primary overhead information and secondary overhead information, wherein the primary overhead information matches the primary time slot corresponding to the at least one secondary time slot, and the secondary overhead information matches the at least one secondary time slot.
[0040] In one possible implementation, the sending module is further configured to send a FlexE overhead frame through a FlexE-enabled network, the FlexE overhead frame being used to carry the first-level overhead information, or to carry both the first-level overhead information and the second-level overhead information.
[0041] In one possible implementation, the reading module is further configured to read the empty / full status of the PHY cache location corresponding to the user; if the status read by the reading module is empty, a control character is inserted into the FlexE time slot, and the control character is used to adapt to the rate corresponding to the FlexE time slot.
[0042] In one possible implementation, the reading module is further configured to read the overhead management information and the associated signaling from the cache location of the PHY corresponding to the user; map the read overhead management information and associated signaling to the FlexE time slot corresponding to the user; and send the FlexE time slot mapped with the read overhead management information and associated signaling through a FlexE-enabled network.
[0043] Fourthly, a data transmission apparatus is provided, the apparatus being applied to a second network device supporting Flexible Ethernet (FlexE), the apparatus comprising:
[0044] The receiving module is used to receive FlexE time slots mapped with service data time slots through a FlexE-enabled network;
[0045] The demapping module is used to demap the FlexE time slots sequentially to obtain the service data time slots;
[0046] The caching module is used to cache the service data time slots to the corresponding physical layer PHY cache location;
[0047] The recovery module is used to restore the service clock according to the read / write rate of the cached service data time slots;
[0048] The read module is used to read the cached business data time slots according to the restored business clock.
[0049] The recovery module is also used to recover the constant bit rate (CBR) service flow based on the recovered service clock and the read service data time slot.
[0050] In one possible implementation, the FlexE time slot includes multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots; the receiving module is further configured to receive FlexE overhead frames through a FlexE-enabled network, the FlexE overhead frames carrying first-level overhead information, or carrying the first-level overhead information and second-level overhead information;
[0051] The demapping module is used to parse the FlexE overhead frame, obtain the first-level overhead information, and demap multiple first-level time slots according to the first-level overhead information to obtain multiple service data time slots; or parse the FlexE overhead frame, obtain the first-level overhead information and the second-level overhead information, and demap multiple second-level time slots according to the first-level overhead information and the second-level overhead information to obtain multiple service data time slots.
[0052] In one possible implementation, the device further includes:
[0053] The alarm module is used to match the acquired first-level cost information with the first cost verification information. If the acquired first-level cost information does not match the first cost verification information, a warning message is issued. The module also matches the acquired second-level cost information with the second cost verification information. If the acquired second-level cost information does not match the second cost verification information, a warning message is issued.
[0054] In one possible implementation, the FlexE time slot also includes a time slot with inserted control characters;
[0055] The demapping module is also used to insert time slots containing control characters and to delete the control characters obtained from demapping.
[0056] In one possible implementation, the recovery module is configured to obtain the write rate and initial read rate of the cached service data time slot, obtain a rate difference based on the write rate and the initial read rate, adjust the read rate based on the rate difference, and if the rate difference is a target rate difference, restore the service clock based on the write rate when the rate difference is the target rate difference.
[0057] In one possible implementation, the caching module is configured to divide the initial read rate by 1 / N if each cached service data time slot includes N bit fields, and obtain a rate difference based on the average rate of the initial read rate after 1 / N division and the write rate, where N is a positive integer greater than 1.
[0058] In one possible implementation, the recovery module is configured to obtain a first voltage value based on the rate difference; obtain a first frequency value based on the first voltage value; obtain a read rate based on the first frequency value; if the read rate is less than the average rate of the write rate, increase the read rate until the rate difference is a target rate difference; if the read rate is greater than the average rate of the write rate, decrease the read rate until the rate difference is a target rate difference.
[0059] In one possible implementation, the reading module is also used to read overhead management information and associated signaling;
[0060] The recovery module is used to restore the CBR service flow based on the restored service clock, the service data time slot, the overhead management information, and the associated signaling.
[0061] Fifthly, a network device is provided, the network device including a processor and a computer program, wherein when the processor executes the computer program, the network device enables the network device to implement any of the data transmission methods in the first aspect or the second aspect.
[0062] In a sixth aspect, a data transmission system is provided, the system comprising a first network device and a second network device, the first network device being configured to perform the first aspect and any data transmission method thereof, and the second network device being configured to perform the second aspect and any data transmission method thereof.
[0063] In a seventh aspect, a computer-readable storage medium is provided, wherein at least one program instruction or code is stored therein, which, when loaded and executed by a processor, enables a computer to perform any of the data transmission methods of the first or second aspect.
[0064] Another communication device is provided, comprising a transceiver, a memory, and a processor. The transceiver, the memory, and the processor communicate with each other via an internal connection path. The memory stores instructions, and the processor executes the instructions stored in the memory to control the transceiver to receive and transmit signals. When the processor executes the instructions stored in the memory, it causes the processor to perform the method of the first aspect or any possible implementation of the first aspect, or to perform the method of the second aspect or any possible implementation of the second aspect.
[0065] As an exemplary embodiment, the processor may be one or more, and the memory may be one or more.
[0066] As an exemplary embodiment, the memory may be integrated with the processor, or the memory may be disposed separately from the processor.
[0067] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.
[0068] A computer program (product) is provided, the computer program (product) comprising: computer program code, which, when executed by a computer, causes the computer to perform the methods described in the above aspects.
[0069] A chip is provided, including a processor for retrieving and executing instructions stored in a memory, causing a communication device on which the chip is mounted to perform the methods described above.
[0070] Another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, and the processor is used to execute code in the memory, wherein when the code is executed, the processor is used to perform the methods described above. Attached Figure Description
[0071] Figure 1 This is a schematic diagram illustrating an implementation scenario of a data transmission method provided in an embodiment of this application;
[0072] Figure 2 This is a flowchart of a data transmission method provided in an embodiment of this application;
[0073] Figure 3 This is a flowchart illustrating a data transmission method on the first network device side provided in an embodiment of this application;
[0074] Figure 4 This is a schematic diagram of a bit field for filling cached business data provided in an embodiment of this application;
[0075] Figure 5 This is a schematic diagram of a FlexE time slot including multiple secondary time slots provided in an embodiment of this application;
[0076] Figure 6 This is a schematic diagram of the structure of a FlexE overhead frame provided in an embodiment of this application;
[0077] Figure 7 This is a schematic diagram of a FlexE time slot including multiple three-level time slots provided in an embodiment of this application;
[0078] Figure 8 This is a flowchart illustrating a data transmission method on the second network device side provided in an embodiment of this application;
[0079] Figure 9 This is a flowchart of a method for restoring a service clock according to an embodiment of this application;
[0080] Figure 10 This is a schematic diagram of the data transmission device structure provided in the embodiments of this application;
[0081] Figure 11 This is a schematic diagram of the data transmission device structure provided in the embodiments of this application;
[0082] Figure 12 This is a schematic diagram of the network device provided in the embodiments of this application;
[0083] Figure 13 This is a schematic diagram of the network device provided in the embodiments of this application. Detailed Implementation
[0084] The terminology used in the embodiments section of this application is for explaining the embodiments of this application only and is not intended to limit this application. Embodiments of the present invention are described below with reference to the accompanying drawings.
[0085] In the field of communication technology, reducing latency and latency variation during data transmission is a crucial technical means to improve data transmission services. This application provides a data transmission method that, by determining the user corresponding to a CBR (Concurrent Batch Flow) service stream and caching the CBR service stream according to the service clock at the corresponding physical layer (PHY) cache location based on the service data time slots, eliminates the need to encapsulate data packets belonging to the data link layer or network layer. This allows for segmentation and caching of CBR service streams belonging to different users within the acquired CBR service stream, reducing latency and latency variation in CBR service stream segmentation. Secondly, by mapping service data time slots to FlexE time slots corresponding to the user, and transmitting the mapped FlexE time slots through a FlexE-enabled network, service data is exchanged and forwarded at the physical layer, further reducing latency and latency variation in service data exchange and forwarding. Furthermore, this method eliminates the need for additional flow controllers and complex clock recovery algorithms, reducing the construction cost of the transmission network.
[0086] The method described in this application embodiment can be applied to... Figure 1 The implementation scenario shown includes multiple network devices that support FlexE, such as carrier edge devices and intermediate node devices that support FlexE. Figure 1As shown, the first network device, the second network device, and the intermediate node devices are all network devices that support FlexE. The number of intermediate node devices can be N, where N is a positive integer. Figure 1 This example uses a single intermediate node device as an example. The network devices can exchange FlexE information.
[0087] Combination Figure 1 The implementation scenario shown in this application illustrates the data transmission method provided in this embodiment. Figure 2 As shown, including but not limited to steps 201 to 210.
[0088] Step 201: The first network device obtains the CBR service flow and determines the user corresponding to the CBR service flow.
[0089] The first network device is a FlexE-enabled network device, for example, a carrier edge device. In one possible implementation, the first network device includes multiple service interfaces for receiving service data. For example, these multiple service interfaces are configured to receive service data from different users.
[0090] For example, the methods for determining the user corresponding to the CBR service flow include, but are not limited to, the following two methods.
[0091] Method 1: Determine the user corresponding to the CBR service flow based on the associated signaling.
[0092] In one possible implementation, the first network device parses the acquired CBR service flow to obtain overhead management information, associated signaling, and multiple service data time slots, and determines the user corresponding to the CBR service flow based on the associated signaling.
[0093] Method 2: Determine the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow.
[0094] In one possible implementation, when multiple service interfaces are configured to acquire service data from different users, the service data received by any one of the multiple service interfaces is distinguished by the configuration information of the service interfaces. For example, the first network device acquires CBR service flows from different users through multiple service interfaces, and the first network device determines the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow.
[0095] Step 202: The first network device caches the CBR service flow into the cache location of the PHY corresponding to the user according to the service data time slot based on the service clock.
[0096] In one possible implementation, such as Figure 3As shown, the first network device parses the CBR service flow to obtain multiple service data time slots with a first time slot length. The first network device divides the service clock to obtain a first clock, and the frequency of the first clock matches the first time slot length. The first network device caches multiple service data time slots, overhead management information, and associated signaling in the cache location of the PHY corresponding to the user according to the first clock.
[0097] In one possible implementation, the CBR service flow acquired by the first network device includes service frames. The first network device parses the service frames to obtain overhead management information, associated signaling, and multiple service data time slots. For example, the first network device parses the CBR service flow to directly obtain multiple service data time slots, which have a first time slot length; or, the first network device parses the CBR service flow to obtain multiple time slots occupied by service data, and the first network device divides these multiple time slots according to the first time slot length. If a time slot occupied by service data is less than the first time slot length, the time slot is filled with reserved control characters to obtain multiple service data time slots with the first time slot length; or, the first network device obtains multiple time slots occupied by service data based on time slot occupancy information, and the first network device divides these multiple time slots into equal lengths according to a target number to obtain multiple service data time slots, using the length of these multiple service data time slots as the first time slot length.
[0098] In one possible implementation, the first network device divides the service clock to obtain a first clock whose frequency matches the length of the first timeslot. For example, the first network device divides the service clock by 1 / K to obtain the first clock, where K is a positive integer that is the same as the length of the first timeslot.
[0099] Step 203: The first network device reads the service data time slot from the cache location of the user's corresponding PHY.
[0100] In one possible implementation, such as Figure 3 As shown, the first network device reads the service data time slot from the cache location of the user's corresponding PHY according to the second bit length, which is adapted to the length of the user's corresponding FlexE time slot. For example, the bit length of the service data time slot is the first bit length. If the first bit length is less than the second bit length, the first network device fills the bit field of the service data time slot with a target reserved value, making the bit length of the service data time slot the second bit length. The first network device then reads the service data time slot filled with the target reserved value from the cache location of the user's corresponding PHY according to the second bit length.
[0101] For example, the second bit length is 64 bits. The first network device continuously reads 64-bit service data time slots. According to the 64B / 66B encoding mechanism, the first network device encodes the read service data time slots into 66B-encoded service data time slots, resulting in multiple 66B-encoded service data time slots. For example, if the bit length of a service data time slot is less than 64 bits, the service data time slot is placed in the lower bits of the second bit field, and the higher bits of the second bit field are filled with a target reserved value, for example, 0, making the bit length of the service data time slot 64 bits. The first network device reads the service data time slot filled with the target reserved value from the cache location of the user's corresponding PHY according to the 64-bit length. For example, as... Figure 4 As shown, the service data time slot has a bit length of 46 bits. The service data time slot is placed in bits 0 to 45 of the 64-bit field, and bits 46 to 63 are filled with 0.
[0102] In one possible implementation, before reading the service data time slots, the method further includes: a first network device dividing the service data time slots according to a target time slot length to obtain multiple service data time slots with the target time slot length. For example, the first network device sequentially divides the service data time slots according to the target time slot length to obtain multiple service data time slots with the target time slot length, and these multiple service data time slots with the target time slot length are ordered; when reading the service data time slots, the multiple service data time slots with the target time slot length are read sequentially to obtain multiple service data time slots.
[0103] Step 204: The first network device sequentially maps the read service data time slots to the FlexE time slots corresponding to the users.
[0104] In one possible implementation, the rate corresponding to the FlexE time slot is greater than or equal to the rate corresponding to the service data time slot. For example, the first network device selects the FlexE time slot according to the following formula (1).
[0105] FlexE_sub_rate>=CBR_rate formula (1)
[0106] Wherein, FlexE_sub_rate is the rate corresponding to the selected FlexE time slot, and CBR_rate is the rate corresponding to the service data time slot.
[0107] By selecting FlexE time slots, it can be ensured that all business data time slots can be mapped to FlexE time slots, avoiding business data loss caused by business data time slots not being successfully mapped to FlexE time slots.
[0108] In one possible implementation, based on a time slot table, the first network device maps service data time slots to FlexE time slots via a FlexE shim.
[0109] In one possible implementation, the read service data time slots include multiple service data time slots. For any one of the multiple service data time slots, in the case of the FlexE time slot, the first network device maps any one of the service data time slots in the following three ways, including but not limited to the following three cases.
[0110] Case 1: FlexE time slots include multiple first-level time slots.
[0111] A first network device maps any service data timeslot to at least one of a plurality of first-level timeslots. The first network device generates first-level overhead information that matches the at least one first-level timeslot. For example, the first network device inserts the first-level overhead information into a FlexE overhead frame, and carries the first-level overhead information through the FlexE overhead frame.
[0112] Scenario 2: The FlexE time slot includes multiple first-level time slots, and any one of these first-level time slots includes multiple second-level time slots.
[0113] The structure of a FlexE time slot, including multiple secondary time slots, is as follows: Figure 5 As shown, the first network device maps any service data timeslot to at least one of multiple secondary timeslots. The first network device generates primary overhead information and secondary overhead information, wherein the primary overhead information matches the primary timeslot corresponding to the at least one secondary timeslot, and the secondary overhead information matches the at least one secondary timeslot. For example, the first network device inserts the primary overhead information and secondary overhead information into a FlexE overhead frame, and carries the primary overhead information and secondary overhead information through the FlexE overhead frame.
[0114] In one possible implementation, the overhead frame structure of the FlexE, which includes multiple secondary time slots, is as follows: Figure 6As shown, bits 35 to 47 of the third FlexE overhead block of the FlexE overhead frame are used to carry secondary overhead information corresponding to secondary time slots, while other positions in the FlexE overhead frame are used to carry primary overhead information. The slot extended (SE) carried by bit 35 indicates whether multiple secondary time slots are included. For example, when SE is 0, no secondary time slots are included; when SE is 1, multiple secondary time slots are included. The size carried by bits 36 and 37 indicates the rate of each of the multiple secondary time slots. For example, when size is 0x00, the rate of each secondary time slot is 1 Gbit / s (bps); when size is 0x01, the rate of each secondary time slot is 1.25 Gbps. The 38th to 47th bits carry the sequence number of each secondary time slot. For example, when the rate corresponding to the primary time slot is 5Gbps and the size is 0x00, that is, when the rate corresponding to each secondary time slot is 1Gbps, the primary time slot includes 5 secondary time slots, and the sequence numbers of the secondary time slots are 0x00, 0x01, 0x02, 0x03, and 0x04, respectively. When the rate corresponding to the primary time slot is other than other values, and the size is other than other values, the number of secondary time slots and the sequence number of each secondary time slot are in the same principle as when the rate corresponding to the primary time slot is 5Gbps and the size is 0x00, and will not be repeated here.
[0115] like Figure 6 As shown, in addition to the information mentioned above, the FlexE overhead frame also includes the following information.
[0116] C: Used to indicate the calendar configuration in use. For example... Figure 6 The 8th bit field of the first FlexE overhead block, the 0th bit field of the second FlexE overhead block, and the 0th bit field of the third FlexE overhead block all carry C.
[0117] Overhead multiframe indicator (OMF): Used to indicate the boundaries of overhead multiframes. For example... Figure 6 The 9th bit field of the first FlexE overhead block shown carries the OMF.
[0118] Remote physical fault (RPF): Used to indicate a remote physical fault. For example... Figure 6 The 10th bit field of the first FlexE overhead block shown carries this RPF.
[0119] Synchronization control (SC): Used to instruct the sixth FlexE overhead block to act as a management channel or a synchronization information channel. For example... Figure 6 The SC is carried in the 11th bit field of the first FlexE overhead block shown.
[0120] Flexible Ethernet group number: Used to identify a flexible Ethernet group. For example... Figure 6 The 12th to 31st bits of the first FlexE overhead block shown carry the FlexE group number.
[0121] FlexE map: Used to control which FlexE instances are included in a FlexE group. For example... Figure 6 The first to eighth bits of the second FlexE overhead block shown carry the FlexE map.
[0122] FlexE instance number: Represents the identity of this FlexE instance within the group. For example... Figure 6 The 9th to 16th bits of the second FlexE overhead block shown carry the FlexE instance number.
[0123] Time slot table A and time slot table B: These contain the time slot table configuration information for all FlexE clients in the FlexE group. Only one time slot table is active at any given time. Figure 6 The first to the 16th bits of the third FlexE overhead block shown carry the time slot table A, and the 17th to the 32nd bits carry the time slot table B.
[0124] Calendar switch request (CR): Used to switch the time slot table used by the multiplexing and demultiplexing ends during data transmission. For example... Figure 6 The CR is carried in the 33rd bit field of the third FlexE overhead block shown.
[0125] Calendar switch acknowledgement (CA): Used to confirm that the demultiplexing end can switch the calendar. For example... Figure 6 The 34th bit field of the third FlexE overhead block shown carries the CA.
[0126] Synchronization header (SH): The frame header of a FlexE overhead frame, such as... Figure 6 The first two bits of the FlexE overhead block shown.
[0127] Valid sync header bits (S): such as Figure 6 The fields under SH in the fourth to eighth FlexE overhead blocks shown carry this S.
[0128] Management channel-section: Used to carry segment management information, such as... Figure 6 The fourth and fifth FlexE overhead blocks shown carry this management channel.
[0129] Synchronization message channel: Used to carry synchronization information. When SC is 1, such as... Figure 6 The sixth FlexE overhead block shown carries this synchronization information channel.
[0130] Shim-to-shim management channel: Used to carry shim-to-shim management information. When SC is 0, such as... Figure 6 The sixth to eighth FlexE overhead blocks shown carry this management channel; when SC is 1, as... Figure 6 The seventh and eighth FlexE overhead blocks shown carry this management channel.
[0131] Cyclic redundancy check (CRC): Used to perform cyclic redundancy check protection on the content of FlexE overhead frames. For example... Figure 6 The CRC is carried in bits 48 through 63 of the third FlexE overhead block shown.
[0132] In addition to the fields containing the information mentioned above, the FlexE overhead frame also includes reserved fields, such as... Figure 6 The 17th to 63rd bits of the second FlexE overhead block are shown.
[0133] Case 3: The FlexE time slot includes multiple first-level time slots, any one of which includes multiple second-level time slots, and any one of which includes multiple third-level time slots.
[0134] The structure of the FlexE time slot, which includes multiple level 3 time slots, is as follows: Figure 7 As shown, the first network device maps any service data timeslot to at least one of multiple Level 3 timeslots. The first network device generates Level 1 overhead information, Level 2 overhead information, and Level 3 overhead information. The Level 3 overhead information is matched with the at least one Level 3 timeslot, the Level 2 overhead information is matched with the Level 2 timeslot corresponding to the at least one Level 3 timeslot, and the Level 1 overhead information is matched with the Level 1 timeslot corresponding to the Level 2 timeslot. For example, the first network device inserts the Level 1 overhead information, Level 2 overhead information, and Level 3 overhead information into a FlexE overhead frame, and carries the Level 1 overhead information, Level 2 overhead information, and Level 3 overhead information through the FlexE overhead frame.
[0135] In one possible implementation, before the first network device sends a FlexE timeslot mapped with service data timeslots through a FlexE-enabled network, the method further includes: the first network device reading the empty / full status of the buffer location of the user's corresponding PHY; if the status read by the first network device is empty, the first network device inserts a control character into the FlexE timeslot, the control character being used to adapt to the rate corresponding to the FlexE timeslot. For example, at a certain moment, the data buffered in the buffer location of the user's corresponding PHY is empty, the status read by the first network device is empty, and the first network device inserts a control character into the FlexE timeslot to adapt to the rate of the FlexE timeslot. For example, the control character is a 66B-encoded idle block, and the FlexE timeslot can be a level 1 timeslot, a level 2 timeslot, or a level 3 timeslot.
[0136] It should be noted that, based on a similar approach, FlexE time slots can be divided into more levels of time slots. For example, a level 3 time slot may include multiple level 4 time slots, and the FlexE overhead frame can be configured with overhead information corresponding to more levels of time slots.
[0137] Step 205: The first network device sends FlexE time slots mapped with service data time slots through a FlexE-enabled network.
[0138] In one possible implementation, the first network device sends FlexE time slots mapped with service data time slots through the FlexE interface of a FlexE-enabled network. For example, the first network device sends FlexE overhead frames through a FlexE-enabled network, these frames carrying Level 1 overhead information, or Level 1 and Level 2 overhead information, or Level 1, Level 2, and Level 3 overhead information.
[0139] In one possible implementation, the data transmission method further includes: a first network device reading overhead management information and associated signaling from the cache location of the user's corresponding PHY; the first network device mapping the read overhead management information and associated signaling to the FlexE time slot corresponding to the user; and the first network device sending the FlexE time slot mapped with the read overhead management information and associated signaling through a FlexE-enabled network.
[0140] Steps 201 to 205 above are all processes in which the data transmission is performed on the first network device side. Next, the data transmission method will be explained using the second network device side as an example.
[0141] Step 206: The second network device receives the FlexE time slot mapped with service data time slots through a FlexE-enabled network.
[0142] The second network device is a FlexE-enabled network device, for example, an operator edge device. Exemplarily, the second network device receives FlexE time slots mapped with service data time slots through the FlexE interface of a FlexE-enabled network. In one possible implementation, the FlexE time slots received by the second network device also include FlexE time slots with inserted control characters. Exemplarily, the FlexE time slots received by the second network device also include FlexE time slots mapped with overhead management information and associated signaling. Exemplarily, the second network device receives FlexE overhead frames through a FlexE-enabled network, these FlexE overhead frames carrying Level 1 overhead information, or carrying Level 1 and Level 2 overhead information, or carrying Level 1, Level 2, and Level 3 overhead information.
[0143] Step 207: The second network device demaps the FlexE time slots in sequence to obtain the service data time slots.
[0144] In one possible implementation, the second network device demaps the FlexE timeslot via the FlexE shim. In one possible implementation, such as... Figure 8 As shown, depending on the type of FlexE timeslot, the second network device demaps the FlexE timeslot to obtain the service data timeslot, including but not limited to the following three cases.
[0145] Scenario 1: Business data time slots are mapped to first-level time slots.
[0146] In scenario one, the second network device obtains the Level 1 overhead information and demaps multiple Level 1 time slots based on this information to obtain multiple service data time slots. For example, the second network device parses FlexE overhead frames to obtain the Level 1 overhead information.
[0147] Scenario 2: Business data time slots are mapped to secondary time slots.
[0148] In scenario two, the second network device acquires primary and secondary overhead information, and demaps multiple secondary time slots based on this information to obtain multiple service data time slots. For example, the second network device parses FlexE overhead frames to obtain primary and secondary overhead information.
[0149] Scenario 3: Business data time slots are mapped to third-level time slots.
[0150] For scenario three, the second network device acquires Level 1, Level 2, and Level 3 overhead information, and demaps multiple Level 3 time slots based on this information to obtain multiple service data time slots. For example, the second network device parses FlexE overhead frames to obtain Level 1, Level 2, and Level 3 overhead information.
[0151] In either case, if the second network device demaps the FlexE timeslot, and if a control character is inserted into the demapped FlexE timeslot, then the control character should be deleted.
[0152] For example, the second network device matches the acquired first-level cost information with the first cost verification information. If the acquired first-level cost information does not match the first cost verification information, the second network device issues a warning message. The second network device matches the acquired second-level cost information with the second cost verification information. If the acquired second-level cost information does not match the second cost verification information, the second network device issues a warning message. For example, the second network device matches the acquired third-level cost information with the third cost verification information. If the acquired third-level cost information does not match the third cost verification information, the second network device issues a warning message.
[0153] Step 208: The second network device caches the service data timeslots to the corresponding PHY cache location.
[0154] In one possible implementation, before the second network device caches the service data time slots, it encodes multiple 66B-encoded service data time slots into 64B-encoded service data time slots based on a 66B / 64B encoding mechanism. The second network device then caches these multiple 64B-encoded service data time slots.
[0155] In one possible implementation, such as Figure 8As shown, the second network device demaps the FlexE time slots to obtain overhead management information and associated signaling. The second network device then caches the obtained overhead management information and associated signaling in the corresponding PHY cache location. For example, the PHY cache location can be a cache location determined based on the obtained associated signaling, or it can be a configured cache location.
[0156] Step 209: The second network device restores the service clock according to the read / write rate of the cached service data time slots.
[0157] In one possible implementation, such as Figure 8 As shown, the second network device obtains the write rate and initial read rate of the cached service data time slots, and calculates the rate difference based on the write rate and initial read rate. The second network device adjusts the read rate based on the rate difference. If the rate difference is equal to the target rate difference, the service clock is restored based on the rate of the cached service data time slots when the rate difference is equal to the target rate difference. For example, the target rate difference is 0.
[0158] In one possible implementation, the rate difference is obtained based on the write rate and the initial read rate, including: if each cached service data time slot includes N bits, the initial read rate is divided by 1 / N, and the rate difference is obtained based on the average rate of the initial read rate and the write rate after 1 / N division, where N is a positive integer greater than 1. For example, if each cached service data time slot includes 8 bits, the initial read rate is divided by 1 / 8, and the rate difference is obtained based on the average rate of the initial read rate and the write rate after 1 / 8 division; if each cached service data time slot includes 1 bit, the initial read rate is not divided, and the rate difference is obtained based on the average rate of the initial read rate and the write rate.
[0159] In one possible implementation, such as Figure 9As shown, the second network device adjusts the read rate based on the rate difference, including: the second network device obtains a first voltage value based on the rate difference; obtains a first frequency value based on the first voltage value; and obtains a read rate based on the first frequency value; if the read rate is less than the average write rate, the read rate is increased until the rate difference is a target rate difference; if the read rate is greater than the average write rate, the read rate is decreased until the rate difference is a target rate difference. For example, the second network device has a target frequency band. If a frequency value belongs to the target frequency band, the frequency value is a valid frequency and is retained; if the frequency value does not belong to the target frequency band, the frequency value is an invalid frequency and is filtered out. After obtaining the first frequency value, if the first frequency value belongs to the target frequency band, the first frequency value is a valid frequency value and is retained; the read rate is obtained based on the first frequency value; if the first frequency value does not belong to the target frequency band, the first frequency value is an invalid first frequency value and is filtered out; the rate difference is re-obtained, and then the first frequency value is re-obtained.
[0160] Step 210: The second network device reads the cached service data time slots according to the restored service clock, and restores the CBR service flow according to the restored service clock and the read service data time slots.
[0161] In one possible implementation, if the restored service clock is a service clock restored based on an initial read rate divided by 1 / N, the restored service clock is divided by 1 / N, and the cached service data time slots are read according to the service clock divided by 1 / N, where N is a positive integer greater than 1. For example, if the restored service clock is a service clock restored based on an initial read rate divided by 1 / 8, the restored service clock is divided by 1 / 8, and the cached service data time slots are read according to the service clock divided by 1 / 8.
[0162] In one possible implementation, the method further includes: reading overhead management information and associated signaling; and restoring the CBR service flow based on the restored service clock, service data time slot, overhead management information, and associated signaling.
[0163] In one possible implementation, if the network device receiving the FlexE timeslot mapped with service data timeslots sent by the first network device is an intermediate node device in a FlexE-enabled network, this intermediate node device receives the FlexE timeslot mapped with service data timeslots through the FlexE-enabled network and sends the received FlexE timeslot mapped with service data timeslots to the next network device through the FlexE-enabled network, until the next network device is the second network device, which then obtains the service data timeslots according to steps 206 to 210 above. It should be noted that this second network device is the last-hop network device.
[0164] The method provided in this application determines the user corresponding to the CBR service flow and caches the CBR service flow according to the service data time slots in the physical layer PHY corresponding to the user based on the service clock. This eliminates the need to encapsulate data packets belonging to the data link layer or network layer, thus enabling segmented caching of CBR service flows belonging to different users within the acquired CBR service flow, reducing the latency and latency variation of CBR service flow segmentation. Secondly, by mapping the service data time slots to the FlexE time slots corresponding to the user, and sending the mapped FlexE time slots through a FlexE-enabled network, the service data is switched and forwarded at the physical layer, further reducing the latency and latency variation of service data switching and forwarding. Furthermore, this method eliminates the need for additional flow controllers and complex clock recovery algorithms, reducing the construction cost of the transmission network.
[0165] The data transmission method provided in the embodiments of this application has been described above. Corresponding to the above method, the embodiments of this application also provide a data transmission apparatus. Figure 10 This is a schematic diagram of a data transmission apparatus provided in an embodiment of this application. The apparatus is applied to a first network device supporting FlexE, and the first network device is as described above. Figure 2 The first network device shown in Figure 10. Based on the following modules shown in Figure 10, this... Figure 10 The data transmission apparatus shown is capable of performing all or part of the operations performed by the first network device. It should be understood that the apparatus may include more additional modules than those shown, or may omit some of the modules shown; this application embodiment does not impose limitations in this regard. See also Figure 10 The device includes:
[0166] The acquisition module 1001 is used to acquire the CBR service flow and determine the user corresponding to the CBR service flow.
[0167] The caching module 1002 is used to cache the CBR service flow according to the service data time slot to the cache location of the physical layer PHY corresponding to the user, based on the service clock.
[0168] The reading module 1003 is used to read the business data time slot from the cache location of the user's corresponding PHY;
[0169] Mapping module 1004 is used to map the read business data time slots to the FlexE time slots corresponding to the user in sequence;
[0170] The sending module 1005 is used to send FlexE time slots mapped with service data time slots through a FlexE-enabled network.
[0171] In one possible implementation, the acquisition module 1001 is also used to parse the CBR service flow to obtain overhead management information, associated signaling and multiple service data time slots, the multiple service data time slots having a first time slot length;
[0172] The caching module 1002 is used to divide the service clock to obtain a first clock, the frequency of which is matched with the length of the first time slot; and to cache multiple service data time slots, overhead management information and associated signaling in the cache location of the PHY corresponding to the user according to the first clock.
[0173] In one possible implementation, the acquisition module 1001 is used to determine the user corresponding to the CBR service flow based on the associated signaling, or to determine the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow.
[0174] In one possible implementation, the reading module 1003 is used to read the service data time slot from the cache location of the user's corresponding PHY according to the length of the second bit, the length of the second bit being adapted to the length of the user's corresponding FlexE time slot.
[0175] In one possible implementation, the bit length of the business data time slot is the first bit length;
[0176] The reading module 1003 is used to fill the target reserved value into the bit field of the service data time slot if the length of the first bit is less than the length of the second bit, so that the bit length of the service data time slot is the length of the second bit; and to read the service data time slot filled with the target reserved value from the cache position of the user's corresponding PHY according to the length of the second bit.
[0177] In one possible implementation, the rate corresponding to the FlexE time slot is greater than or equal to the rate corresponding to the business data time slot.
[0178] In one possible implementation, the business data time slots read include multiple business data time slots, the FlexE time slots include multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots;
[0179] The mapping module 1004 is used to map any business data time slot among multiple business data time slots to at least one of the multiple primary time slots, generating primary overhead information, which is matched with at least one primary time slot; or to map any business data time slot to at least one secondary time slot among multiple secondary time slots, generating primary overhead information and secondary overhead information, wherein the primary overhead information is matched with the primary time slot corresponding to at least one secondary time slot, and the secondary overhead information is matched with at least one secondary time slot.
[0180] In one possible implementation, the sending module 1005 is further configured to send FlexE overhead frames through a FlexE-enabled network. The FlexE overhead frames are used to carry primary overhead information, or primary overhead information and secondary overhead information.
[0181] In one possible implementation, the reading module 1003 is also used to read the empty / full status of the cache location of the user's corresponding PHY; if the status read by the reading module 1003 is empty, a control character is inserted into the FlexE time slot, and the control character is used to adapt to the rate corresponding to the FlexE time slot.
[0182] In one possible implementation, the reading module 1003 is further configured to read overhead management information and associated signaling from the cache location of the user's corresponding PHY; map the read overhead management information and associated signaling to the FlexE time slot corresponding to the user; and send the FlexE time slot mapped with the read overhead management information and associated signaling through a FlexE-enabled network.
[0183] Figure 11 This is a schematic diagram of a data transmission apparatus provided in an embodiment of this application. The apparatus is applied to a second network device supporting FlexE, and the second network device is as described above. Figure 2 The second network device shown. Based on Figure 11 The following modules are shown. Figure 11 The data transmission apparatus shown is capable of performing all or part of the operations performed by the second network device. It should be understood that the apparatus may include more additional modules than those shown, or may omit some of the modules shown; this application embodiment does not impose limitations in this regard. See also Figure 11 The device includes:
[0184] The receiving module 1101 is used to receive FlexE time slots mapped with service data time slots through a FlexE-enabled network;
[0185] Demapping module 1102 is used to demapping FlexE time slots in sequence to obtain service data time slots;
[0186] The caching module 1103 is used to cache business data time slots to the corresponding PHY cache location;
[0187] The recovery module 1104 is used to restore the service clock according to the read and write rate of the cached service data time slots;
[0188] The read module 1105 is used to read the cached service data time slots according to the restored service clock;
[0189] The recovery module 1104 is also used to recover the CBR service flow based on the recovered service clock and the read service data time slot.
[0190] In one possible implementation, the FlexE time slot includes multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots; the receiving module 1101 is also configured to receive FlexE overhead frames through a FlexE-enabled network, wherein the FlexE overhead frames carry first-level overhead information, or carry both first-level overhead information and second-level overhead information.
[0191] The demapping module 1102 is used to parse the FlexE overhead frame, obtain first-level overhead information, and demap multiple first-level time slots based on the first-level overhead information to obtain multiple service data time slots; or to parse the FlexE overhead frame, obtain first-level overhead information and second-level overhead information, and demap multiple second-level time slots based on the first-level overhead information and second-level overhead information to obtain multiple service data time slots.
[0192] In one possible implementation, the device further includes:
[0193] The alarm module is used to match the acquired first-level cost information with the first cost verification information. If the acquired first-level cost information does not match the first cost verification information, a warning message is issued. It also matches the acquired second-level cost information with the second cost verification information. If the acquired second-level cost information does not match the second cost verification information, a warning message is issued.
[0194] In one possible implementation, the FlexE time slot also includes a time slot with inserted control characters;
[0195] The demapping module 1102 is also used to insert time slots with control characters and delete the control characters obtained from demapping.
[0196] In one possible implementation, the recovery module 1104 is used to obtain the write rate and initial read rate of the cached business data time slot, obtain the rate difference based on the write rate and initial read rate, adjust the read rate based on the rate difference, and if the rate difference is the target rate difference, restore the business clock based on the write rate when the rate difference is the target rate difference.
[0197] In one possible implementation, the cache module 1103 is used to divide the initial read rate by 1 / N if each business data time slot in the cache includes N bit fields, and obtain the rate difference based on the average rate of the initial read rate and the write rate after the 1 / N division, where N is a positive integer greater than 1.
[0198] In one possible implementation, the recovery module 1104 is used to obtain a first voltage value based on the rate difference; obtain a first frequency value based on the first voltage value; obtain a read rate based on the first frequency value; if the read rate is less than the average write rate, increase the read rate until the rate difference is a target rate difference; if the read rate is greater than the average write rate, decrease the read rate until the rate difference is a target rate difference.
[0199] In one possible implementation, the reading module 1105 is also used to read overhead management information and associated signaling;
[0200] The recovery module 1104 is used to restore the CBR service flow based on the restored service clock, service data time slot, overhead management information and associated signaling.
[0201] It should be understood that the above Figure 10 , Figure 11 The provided device, in implementing its functions, is only illustrated by the division of the above-described functional modules. In practical applications, the functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments, and will not be repeated here.
[0202] The hardware structure of the network device in the above embodiments is as follows: Figure 12 The network device 1200 shown includes a transceiver 1201, a processor 1202, and a memory 1203. The transceiver 1201, processor 1202, and memory 1203 are connected via a bus 1204. The transceiver 1201 is used to receive and transmit synchronization mode indications and synchronization information. The memory 1203 is used to store instructions or program code. The processor 1202 is used to call the instructions or program code in the memory 1203 to cause the network device to execute the relevant processing steps of the first network device in the above method embodiments. In a specific embodiment, the network device 1200 of this application embodiment can correspond to the first network device in the various method embodiments described above. The processor 1202 in the network device 1200 reads the instructions or program code in the memory 1203 to... Figure 12 The network device 1200 shown can perform all or part of the operations performed by the first network device.
[0203] In a specific embodiment, the network device 1200 of this application embodiment may correspond to the second network device in the above-described method embodiments. The processor 1202 in the network device 1200 reads instructions or program code from the memory 1203, causing... Figure 12The network device 1200 shown can perform all or part of the operations performed by the second network device.
[0204] See Figure 13 , Figure 13 Figure 13 illustrates a schematic diagram of a network device 1300 provided in an exemplary embodiment of this application. The network device 1300 shown in Figure 13 is used to perform the above-described... Figure 2 , Figure 3 and Figure 8 The data transmission method shown involves the operations described. The network device 1300 is, for example, a switch, router, etc.
[0205] like Figure 13 As shown, the network device 1300 includes at least one processor 1301, a memory 1303, and at least one communication interface 1304.
[0206] Processor 1301 may be, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the embodiments of this application. For example, processor 1301 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. It can implement or execute the various logic blocks, modules, and circuits described in connection with the embodiments of this invention. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0207] Optionally, network device 1300 also includes a bus. The bus is used to transmit information between the components of network device 1300. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 13 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus. Figure 13 In addition to bus connection, the components of the network device 1300 can also be connected in other ways. This embodiment of the invention does not limit the connection method of each component.
[0208] Memory 1303 may be, for example, read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital universal discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or 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 not limited thereto. Memory 1303 may exist independently and be connected to processor 1301 via a bus. Memory 1303 may also be integrated with processor 1301.
[0209] Communication interface 1304 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), or Wireless Local Area Network (WLAN). Communication interface 1304 may include wired and wireless communication interfaces. Specifically, communication interface 1304 may be an Ethernet interface, a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an Asynchronous Transfer Mode (ATM) interface, a WLAN interface, a cellular network communication interface, or a combination thereof. The Ethernet interface may be an optical interface, an electrical interface, or a combination thereof. In this embodiment, communication interface 1304 can be used by network device 1300 to communicate with other devices.
[0210] In a specific implementation, as one example, the processor 1301 may include one or more CPUs, such as Figure 13 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0211] In a specific implementation, as one example, network device 1300 may include multiple processors, such as... Figure 13 The processors 1301 and 1305 shown are illustrated. Each of these processors can be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0212] In a specific implementation, as one example, network device 1300 may further include output devices and input devices. The output device communicates with processor 1301 and can display information in various ways. For example, the output device may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device communicates with processor 1301 and can receive user input in various ways. For example, the input device may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0213] In some embodiments, memory 1303 is used to store program code 1310 for executing the solution of this application, and processor 1301 can execute the program code 1310 stored in memory 1303. That is, network device 1300 can implement the data transmission method provided in the method embodiment through processor 1301 and program code 1310 in memory 1303. Program code 1310 may include one or more software modules. Optionally, processor 1301 itself may also store program code or instructions for executing the solution of this application.
[0214] In a specific embodiment, the network device 1300 of this application embodiment can correspond to the first network device in the above-described method embodiments. The processor 1301 in the network device 1300 reads the program code 1310 in the memory 1303 or the program code or instructions stored in the processor 1301 itself, so that... Figure 13 The network device 1300 shown is capable of performing all or part of the operations performed by the first network device.
[0215] In a specific embodiment, the network device 1300 of this application embodiment can correspond to the second network device in the above-described method embodiments. The processor 1301 in the network device 1300 reads the program code 1310 in the memory 1303 or the program code or instructions stored in the processor 1301 itself, and makes... Figure 13 The network device 1300 shown can perform all or part of the operations performed by the second network device.
[0216] Network device 1300 can also correspond to the above. Figure 10 , 11 The device shown, Figure 10 , 11 Each functional module in the illustrated device is implemented using software from network device 1300. In other words, Figure 10 , 11The device shown includes functional modules generated by the processor 1301 of the network device 1300 after reading the program code 1310 stored in the memory 1303.
[0217] in, Figure 2 , Figure 3 and Figure 8 Each step of the data transmission method shown is completed through integrated logic circuits in the hardware or software instructions in the processor of the network device 1300. The steps of the method disclosed in the embodiments of this application can be directly implemented by the hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. Since this storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method; to avoid repetition, these will not be described in detail here.
[0218] This application also provides a data transmission system, which includes: a first network device and a second network device;
[0219] The first network device is used to acquire the CBR service flow and determine the user corresponding to the CBR service flow; according to the service clock, the CBR service flow is cached in the cache position of the PHY corresponding to the user according to the service data time slot; the service data time slot is read from the cache position of the PHY corresponding to the user; the read service data time slot is mapped to the FlexE time slot corresponding to the user in sequence; and the FlexE time slot mapped with the service data time slot is sent through the FlexE-enabled network.
[0220] The second network device is used to receive FlexE time slots mapped with service data time slots through a FlexE-enabled network; demap the FlexE time slots in sequence to obtain service data time slots; cache the service data time slots in the corresponding PHY cache location; restore the service clock according to the read / write rate of the cached service data time slots; read the cached service data time slots according to the restored service clock; and restore the CBR service flow according to the restored service clock and the read service data time slots.
[0221] The functions of the first and second network devices in this system can be referred to the above. Figure 2 , Figure 3 and Figure 8 The relevant descriptions shown will not be repeated here.
[0222] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting the Advanced Reduced Instruction Set Computing (RISC) machine (ARM) architecture.
[0223] Furthermore, in an alternative embodiment, the memory described above may include read-only memory and random access memory, and provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store device type information.
[0224] The memory can be volatile or non-volatile, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0225] A computer-readable storage medium is also provided, wherein at least one program instruction or code is stored therein, the program instruction or code being loaded and executed by a processor to cause the computer to perform as follows: Figure 2 , Figure 3 and Figure 8 The data transmission method is shown in any of the accompanying figures.
[0226] This application provides a computer program that, when executed by a computer, causes a processor or computer to perform the corresponding steps and / or processes in the above method embodiments.
[0227] A chip is provided, including a processor for retrieving and executing instructions stored in a memory, causing a communication device on which the chip is mounted to perform the methods described above.
[0228] Another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, and the processor is used to execute code in the memory, wherein when the code is executed, the processor is used to perform the methods described above.
[0229] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive).
[0230] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above description is only a specific embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solution of this application should be included within the scope of protection of this application.
[0231] Those skilled in the art will recognize that the method steps and modules described in conjunction with the embodiments disclosed herein can be implemented in software, hardware, firmware, or any combination thereof. To clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0232] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0233] When implemented using software, it can be implemented wholly or partially as a computer program product. This computer program product includes one or more computer program instructions. As an example, the methods of this application embodiment can be described in the context of machine-executable instructions, such as program modules that execute on a device on a real or virtual processor of the target. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., which perform specific tasks or implement specific abstract data structures. In various embodiments, the functionality of program modules can be combined or divided among the described program modules. The machine-executable instructions for the program modules can execute within a local or distributed device. In a distributed device, the program modules can reside on both local and remote storage media.
[0234] Computer program code used to implement the methods of the embodiments of this application may be written in one or more programming languages. This computer program code may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, such that when executed by the computer or other programmable data processing apparatus, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server.
[0235] In the context of the embodiments of this application, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.
[0236] Examples of signals may include electrical, optical, radio, sound, or other forms of propagation signals, such as carrier waves, infrared signals, etc.
[0237] A machine-readable medium can be any tangible medium that contains or stores programs for or relating to an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. More detailed examples of machine-readable storage media include electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0238] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be found in the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0239] In the embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be indirect couplings or communication connections through some interfaces, devices, or modules, or they may be electrical, mechanical, or other forms of connection.
[0240] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.
[0241] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0242] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0243] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with substantially the same function and purpose. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or execution order. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another. For example, without departing from the scope of the various examples described, a first network device can be referred to as a second network device, and similarly, a second network device can be referred to as a first network device. Both the first network and the second network device can be network devices, and in some cases, they can be separate and different network devices.
[0244] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0245] In this application, the term "at least one" means one or more, and the term "multiple" means two or more. For example, multiple second messages refer to two or more second messages. The terms "system" and "network" are often used interchangeably in this document.
[0246] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0247] It should also be understood that the term “comprising” (also known as “includes”, “including”, “comprises”, and / or “comprising”) as used in this specification specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0248] It should also be understood that the terms “if” and “if” can be interpreted as meaning “when” or “upon”, or “in response to determination” or “in response to detection”. Similarly, depending on the context, the phrases “if determination…” or “if detection [the stated condition or event]” can be interpreted as meaning “when determination…”, or “in response to determination…”, or “when detection [the stated condition or event]” or “in response to detection [the stated condition or event]”.
[0249] It should be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.
[0250] It should also be understood that the phrases "an embodiment," "an embodiment," and "a possible implementation" used throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment or implementation is included in at least one embodiment of this application. Therefore, the phrases "in an embodiment," "an embodiment," or "a possible implementation" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
Claims
1. A method for data transmission, characterized in that, The method is applied to a first network device that supports Flexible Ethernet (FlexE), and the method includes: The first network device acquires a constant bit rate (CBR) service flow and determines the user corresponding to the CBR service flow. The first network device caches the CBR service flow according to the service data time slot in the cache location of the physical layer PHY corresponding to the user, based on the service clock. The first network device reads the service data time slot from the cache location of the PHY corresponding to the user, wherein the read service data time slot includes multiple service data time slots; For any one of the plurality of service data time slots, the first network device maps the any one service data time slot to at least one of the plurality of primary time slots, and the first network device generates primary overhead information, which matches the at least one primary time slot; or the first network device maps the any one service data time slot to at least one of the plurality of secondary time slots, and the first network device generates primary overhead information and secondary overhead information, which matches the primary time slot corresponding to the at least one secondary time slot, and the secondary overhead information matches the at least one secondary time slot; wherein, the plurality of primary time slots are included in the FlexE time slot corresponding to the user, and any one of the plurality of primary time slots includes a plurality of secondary time slots; The first network device transmits FlexE time slots mapped with the service data time slots through a FlexE-enabled network.
2. The method according to claim 1, characterized in that, Before caching the CBR service flow according to the service data time slot into the cache location of the physical layer PHY corresponding to the user based on the service clock, the method further includes: The first network device parses the CBR service flow to obtain overhead management information, associated signaling, and multiple service data time slots, wherein the multiple service data time slots have a first time slot length; The step of caching the CBR service flow according to the service data time slot into the cache location of the physical layer PHY corresponding to the user based on the service clock includes: The first network device divides the service clock to obtain a first clock, and the frequency of the first clock matches the length of the first timeslot; The first network device caches the multiple service data time slots, the overhead management information, and the associated signaling at the cache location of the PHY corresponding to the user according to the first clock.
3. The method according to claim 2, characterized in that, Determining the user corresponding to the CBR service flow includes: The user corresponding to the CBR service flow is determined based on the accompanying signaling, or the user corresponding to the CBR service flow is determined based on the configuration information corresponding to the CBR service flow.
4. The method according to any one of claims 1-3, characterized in that, The first network device reads the service data time slot from the cache location of the PHY corresponding to the user, including: The first network device reads the service data time slot from the cache location of the PHY corresponding to the user according to the second bit length, wherein the second bit length is adapted to the length of the FlexE time slot corresponding to the user.
5. The method according to claim 4, characterized in that, The bit length of the service data time slot is the first bit length; The first network device reads the service data time slot from the cache location of the PHY corresponding to the user according to the second bit length, including: If the length of the first bit is less than the length of the second bit, the first network device fills the bit field of the service data time slot with a target reserved value so that the bit length of the service data time slot is the length of the second bit. The first network device reads the service data time slots that fill the target reserved value from the cache location of the PHY corresponding to the user according to the second bit length.
6. The method according to any one of claims 1-3 and 5, characterized in that, The rate corresponding to the FlexE time slot is greater than or equal to the rate corresponding to the service data time slot.
7. The method according to any one of claims 1-3 and 5, characterized in that, The method further includes: The first network device sends a FlexE overhead frame through a FlexE-enabled network. The FlexE overhead frame is used to carry the first-level overhead information, or to carry both the first-level overhead information and the second-level overhead information.
8. The method according to any one of claims 1-3 and 5, characterized in that, Before the first network device sends the FlexE time slot mapped with the service data time slot through a FlexE-enabled network, the method further includes: The first network device reads the empty / full status of the PHY cache location corresponding to the user; If the state read by the first network device is empty, the first network device inserts a control character into the FlexE time slot. The control character is used to adapt to the rate corresponding to the FlexE time slot.
9. The method according to any one of claims 2, 3, and 5, characterized in that, The method further includes: The first network device reads overhead management information and associated signaling from the cache location of the PHY corresponding to the user; The first network device maps the read overhead management information and associated signaling to the FlexE time slot corresponding to the user; The first network device transmits FlexE time slots mapped with the read overhead management information and associated signaling through a FlexE-enabled network.
10. A method for data transmission, characterized in that, The method is applied to a second network device that supports Flexible Ethernet (FlexE), and the method includes: The second network device receives FlexE time slots mapped with service data time slots through a FlexE-enabled network, wherein the FlexE time slots include multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots; The second network device receives FlexE overhead frames through a FlexE-enabled network. The FlexE overhead frames carry primary overhead information, or carry both primary overhead information and secondary overhead information. The second network device parses the FlexE overhead frame to obtain the first-level overhead information, and demaps multiple first-level time slots according to the first-level overhead information to obtain multiple service data time slots; or the second network device parses the FlexE overhead frame to obtain the first-level overhead information and the second-level overhead information, and demaps multiple second-level time slots according to the first-level overhead information and the second-level overhead information to obtain multiple service data time slots. The second network device caches the service data timeslots in the corresponding physical layer PHY cache location; The second network device restores the service clock according to the read / write rate of the cached service data time slots; The second network device reads the cached service data time slots according to the restored service clock, and restores the constant bit rate (CBR) service flow according to the restored service clock and the read service data time slots.
11. The method according to claim 10, characterized in that, The method further includes: The second network device matches the acquired first-level cost information with the first cost verification information. If the acquired first-level cost information does not match the first cost verification information, the second network device issues a warning message. The second network device matches the acquired secondary overhead information with the second overhead verification information. If the acquired secondary overhead information does not match the second overhead verification information, the second network device issues a warning message.
12. The method according to claim 10 or 11, characterized in that, The FlexE time slot also includes a time slot with inserted control characters; The second network device demaps the time slot containing the control character and deletes the control character obtained from the demapping.
13. The method according to claim 10 or 11, characterized in that, The second network device restores the service clock according to the read / write rate of the cached service data time slots, including: The second network device obtains the write rate and initial read rate of the cached service data time slot, and obtains the rate difference based on the write rate and the initial read rate; The second network device adjusts the reading rate based on the rate difference; If the rate difference is the target rate difference, the service clock is restored based on the write rate when the rate difference is the target rate difference.
14. The method according to claim 13, characterized in that, The step of obtaining the rate difference based on the write rate and the initial read rate includes: If each cached business data time slot includes N bit fields, the initial read rate is divided by 1 / N, and the rate difference is obtained based on the average rate of the initial read rate after 1 / N division and the write rate, where N is a positive integer greater than 1.
15. The method according to claim 13, characterized in that, The second network device adjusts the read rate based on the rate difference, including: The second network device obtains a first voltage value based on the rate difference; obtains a first frequency value based on the first voltage value; and obtains a read rate based on the first frequency value. If the read rate is less than the average write rate, increase the read rate until the rate difference is the target rate difference; if the read rate is greater than the average write rate, decrease the read rate until the rate difference is the target rate difference.
16. The method according to any one of claims 10-11 and 14-15, characterized in that, The method further includes: reading overhead management information and associated signaling; The step of restoring the constant bit rate (CBR) service stream based on the restored service clock and the read service data time slot includes: The CBR service flow is restored based on the restored service clock, the service data time slot, the overhead management information, and the associated signaling.
17. A data transmission apparatus, characterized in that, The apparatus is applied to a first network device supporting Flexible Ethernet (FlexE), and the apparatus includes: The acquisition module is used to acquire constant bit rate (CBR) service streams and determine the users corresponding to the CBR service streams. The caching module is used to cache the CBR service flow according to the service data time slot to the cache location of the physical layer PHY corresponding to the user, based on the service clock. The reading module is used to read the service data time slot from the cache location of the PHY corresponding to the user, wherein the read service data time slot includes multiple service data time slots; A mapping module is used to map any one of the plurality of service data time slots to at least one of the plurality of primary time slots, generating primary overhead information, wherein the primary overhead information matches the at least one primary time slot; or to map any one of the plurality of service data time slots to at least one of the plurality of secondary time slots, generating primary overhead information and secondary overhead information, wherein the primary overhead information matches the primary time slot corresponding to the at least one secondary time slot, and the secondary overhead information matches the at least one secondary time slot; wherein the plurality of primary time slots are included in the FlexE time slot corresponding to the user, and any one of the plurality of primary time slots includes multiple secondary time slots; The sending module is used to send FlexE time slots mapped with the service data time slots through a FlexE-enabled network.
18. The apparatus according to claim 17, characterized in that, The acquisition module is also used to parse the CBR service flow to obtain overhead management information, associated signaling and multiple service data time slots, wherein the multiple service data time slots have a first time slot length; The cache module is used to divide the service clock to obtain a first clock, the frequency of which matches the length of the first time slot. The multiple service data time slots, the overhead management information, and the associated signaling are cached in the cache location of the PHY corresponding to the user according to the first clock.
19. The apparatus according to claim 18, characterized in that, The acquisition module is used to determine the user corresponding to the CBR service flow based on the accompanying signaling, or to determine the user corresponding to the CBR service flow based on the configuration information corresponding to the CBR service flow.
20. The apparatus according to any one of claims 17-19, characterized in that, The reading module is used to read the service data time slot from the cache location of the PHY corresponding to the user according to the second bit length, wherein the second bit length is adapted to the length of the FlexE time slot corresponding to the user.
21. The apparatus according to claim 20, characterized in that, The bit length of the service data time slot is the first bit length; The reading module is configured to, if the first bit length is less than the second bit length, fill the bit field of the service data time slot with a target reserved value so that the bit length of the service data time slot is the second bit length; and read the service data time slot filled with the target reserved value from the cache location of the PHY corresponding to the user according to the second bit length.
22. The apparatus according to any one of claims 17-19, 21, characterized in that, The rate corresponding to the FlexE time slot is greater than or equal to the rate corresponding to the service data time slot.
23. The apparatus according to any one of claims 17-19, 21, characterized in that, The sending module is further configured to send FlexE overhead frames through a FlexE-enabled network, wherein the FlexE overhead frames are used to carry the first-level overhead information, or carry the first-level overhead information and the second-level overhead information.
24. The apparatus according to any one of claims 17-19, 21, characterized in that, The reading module is also used to read the empty / full status of the PHY cache location corresponding to the user; if the reading module reads an empty status, a control character is inserted into the FlexE time slot, and the control character is used to adapt to the rate corresponding to the FlexE time slot.
25. The apparatus according to any one of claims 18, 19, and 21, characterized in that, The reading module is further configured to read overhead management information and associated signaling from the cache location of the PHY corresponding to the user; and map the read overhead management information and associated signaling to the FlexE time slot corresponding to the user. The FlexE slots are mapped to the overhead management information and associated signaling read through a FlexE-enabled network.
26. A data transmission apparatus, characterized in that, The device is applied to a second network device supporting Flexible Ethernet (FlexE), and the device includes: The receiving module is used to receive FlexE time slots mapped with service data time slots through a FlexE-enabled network, wherein the FlexE time slots include multiple first-level time slots, and any one of the multiple first-level time slots includes multiple second-level time slots; The receiving module is further configured to receive FlexE overhead frames through a FlexE-enabled network, wherein the FlexE overhead frames carry primary overhead information, or carry both primary overhead information and secondary overhead information. The demapping module is used to parse the FlexE overhead frame, obtain the first-level overhead information, and demap multiple first-level time slots according to the first-level overhead information to obtain multiple service data time slots; or parse the FlexE overhead frame, obtain the first-level overhead information and the second-level overhead information, and demap multiple second-level time slots according to the first-level overhead information and the second-level overhead information to obtain multiple service data time slots. The caching module is used to cache the service data time slots to the corresponding physical layer PHY cache location; The recovery module is used to restore the service clock according to the read / write rate of the cached service data time slots; The read module is used to read the cached business data time slots according to the restored business clock. The recovery module is also used to recover the constant bit rate (CBR) service flow based on the recovered service clock and the read service data time slot.
27. The apparatus according to claim 26, characterized in that, The device further includes: The alarm module is used to match the acquired first-level cost information with the first cost verification information. If the acquired first-level cost information does not match the first cost verification information, a warning message is issued. The module also matches the acquired second-level cost information with the second cost verification information. If the acquired second-level cost information does not match the second cost verification information, a warning message is issued.
28. The apparatus according to claim 26 or 27, characterized in that, The FlexE time slot also includes a time slot with inserted control characters; The demapping module is also used to insert time slots containing control characters and to delete the control characters obtained from demapping.
29. The apparatus according to claim 26 or 27, characterized in that, The recovery module is used to obtain the write rate and initial read rate of the cached service data time slot, obtain a rate difference based on the write rate and the initial read rate, adjust the read rate based on the rate difference, and if the rate difference is a target rate difference, restore the service clock based on the write rate when the rate difference is the target rate difference.
30. The apparatus according to claim 29, characterized in that, The caching module is used to divide the initial read rate by 1 / N if each cached service data time slot includes N bit fields, and obtain the rate difference based on the average rate of the initial read rate after 1 / N division and the write rate, where N is a positive integer greater than 1.
31. The apparatus according to claim 29, characterized in that, The recovery module is configured to obtain a first voltage value based on the rate difference; obtain a first frequency value based on the first voltage value; obtain a read rate based on the first frequency value; and if the read rate is less than the average rate of the write rate, increase the read rate until the rate difference is a target rate difference. If the read rate is greater than the average write rate, the read rate is reduced until the rate difference is the target rate difference.
32. The apparatus according to any one of claims 26-27 and 30-31, characterized in that, The reading module is also used to read overhead management information and associated signaling; The recovery module is used to restore the CBR service flow based on the restored service clock, the service data time slot, the overhead management information, and the associated signaling.
33. A network device, characterized in that, The network device includes a processor and a computer program, wherein when the processor executes the computer program, it causes the network device to implement the method described in any one of claims 1-16.
34. A data transmission system, characterized in that, The system includes a first network device and a second network device, wherein the first network device is used to perform the method according to any one of claims 1-9, and the second network device is used to perform the method according to any one of claims 10-16.
35. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a computer, it implements the method as described in any one of claims 1-16.
Citation Information
Patent Citations
Method and device for transparent transferring of service frequency
CN109391461A