Message transmission method and communication device

By sending messages for both normal and hard-isolated services within the same cycle, the problem of low port utilization in store-and-forward and channel forwarding is solved, achieving flexibility and efficiency in message transmission.

CN116112452BActive Publication Date: 2025-10-28HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111332727.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-11
Publication Date
2025-10-28
Estimated Expiration
2041-11-11

Smart Images

  • Figure CN116112452B_ABST
    Figure CN116112452B_ABST
Patent Text Reader

Abstract

This application provides a message transmission method and communication apparatus, relating to the field of communication technology, which can improve port resource utilization and flexibly send messages. The method includes: a first network device determining a first message and a second message. The first message includes data from ordinary services, and the second message includes data from hard-isolated services. Then, the first network device sends the first message and the second message through its first port in the same cycle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more particularly to a message transmission method and a communication device. Background Technology

[0002] Store-and-forward is a forwarding technology used since the inception of standard Ethernet. It refers to each receiving device in the network receiving and storing a packet completely, then looking it up in a table to find the output port before forwarding it. Channel forwarding, on the other hand, forwards packets based on a configuration table according to the mapping relationship between the service's ingress and egress ports; it is a block-based forwarding technology. Store-and-forward and channel forwarding operate on different ports and are independent and incompatible with each other.

[0003] However, the number of packets to be transmitted in store-and-forward and channel forward may differ, resulting in one port being idle while packets on another port cannot be sent in a timely manner. This leads to poor port utilization and an inability to transmit packets flexibly. Summary of the Invention

[0004] This application provides a message transmission method and communication device that can improve port resource utilization and flexibly send messages.

[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0006] In a first aspect, embodiments of this application provide a message transmission method. The execution subject of this method can be a first network device or a chip applied in the first network device. The following description assumes the execution subject is a first network device. The method includes: the first network device determining a first message and a second message. The first message includes data from ordinary services, and the second message includes data from hard-isolated services. Then, the first network device transmits the first message and the second message within the same cycle through its first port.

[0007] Thus, even if the number of the first and second messages changes dynamically, since both messages are sent through the same port, the first network device can send more first messages when the number of second messages decreases or there are no second messages sent. Conversely, if the number of first messages decreases or there are no first messages sent, the first network device can send more second messages if the number of second messages is large. This avoids port idleness, improves port utilization, and allows for flexible message transmission.

[0008] In one possible design, the first message includes a first field. This first field indicates the type of the first message, such as indicating that the first message is a normal message. The second message includes a second field. This second field indicates the type of the second message, such as indicating that the second message is a hard-isolated message, so that the receiving device, such as a second network device, can determine the type of the received message through either the first or the second field.

[0009] In one possible design, the first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message.

[0010] In one possible design, the second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

[0011] In one possible design, the first message also includes a first identifier. The first identifier identifies the first client, and the first client's message includes the first message.

[0012] In other words, the first identifier indicates which client's message the first message belongs to.

[0013] In one possible design, the first data unit includes a first code block. The first data unit is one or more data units in the second message, the first code block is a code block encoded with the business data of the target customer, the target customer is one of at least one second customer, and the data in the second message includes the business data of all of the at least one second customer.

[0014] In other words, the second message carries at least one data unit, and one or more of the at least one data unit carries business data of a second customer.

[0015] In one possible design, the message transmission method of this application embodiment further includes: a first network device determining a first code block in a first data unit based on first information. The first information indicates a correspondence between the first data unit and a target client, enabling the first network device to encapsulate a second message.

[0016] In one possible design, the first message and the second message have the same encoded message length, such as the first message and the second message carrying the same number of code blocks in their payloads.

[0017] In one possible design, the encoding includes at least one of the following: 64B / 66B, 66B / 65B, or 64B / 65B.

[0018] In one possible design, the first network device transmits a first message and a second message within the same period through its first port, including: the first network device transmitting the first message in a first time unit through the first port according to second information, and transmitting the second message in a second time unit. The second information indicates the position of the first and second time units within the period.

[0019] In other words, the position of each time unit in the cycle is pre-configured, and the first network device can transmit the first and second packets according to the pre-configured time unit positions.

[0020] In one possible design, the first network device transmits a first message and a second message in the same period through its first port, including: the first network device transmitting the first message on an unoccupied first time unit and the second message on an unoccupied second time unit, based on second information and third information. The second information indicates the configured number of first and second time units in the period, and the third information indicates the number of unoccupied first and second time units in the period.

[0021] In other words, the number of each time unit in the cycle is pre-configured, but the position is not fixed. The first network device transmits the first and second packets according to the pre-configured number of time units. For example, at a certain moment, if only the first packet is encapsulated and the number of time units corresponding to the first packet for the client is greater than zero, then the first packet is sent. Similarly, at a certain moment, if only the second packet is encapsulated and the number of time units corresponding to the second packet for the client is greater than zero, then the second packet is sent, thus improving the flexibility of packet transmission.

[0022] In one possible design, the second time unit containing the second message is earlier than the first time unit containing the first message. The second message is generated at the same time as the first message, or the second message is generated earlier than the first message.

[0023] In other words, if the second message is encapsulated, even if the first message is also encapsulated, the first network device will prioritize sending the second message before sending the first message to ensure the latency requirements of hard-isolated services.

[0024] In one possible design, the second time unit containing the second message is later than the first time unit containing the first message, and the generation time of the second message is later than the generation time of the first message. That is, if the second message is not fully encapsulated, but the first message is fully encapsulated, the first network device will send the first message first, and then send the second message, to avoid port idleness.

[0025] In one possible design, the second information is determined based on the service bandwidth of the first customer and the service bandwidth of the second customer. The first customer's message includes the first message, and the data in the second message includes the service data of the second customer. For example, the greater the service bandwidth of the first customer, the more first time units there are. Similarly, the greater the service bandwidth of the second customer, the more second time units there are.

[0026] In one possible design, the message transmission method of this application embodiment further includes: a first network device determining a third message. The third message is a message from a third client, and the type of the third message is the same as the type of the first message. The first network device sends the third message periodically through its first port. The third message is transmitted through a third time unit, which is configured to transmit messages from the first client, and the third time unit is in an idle state. The messages from the first client include the first message.

[0027] In other words, for time units that transmit ordinary messages, even if a certain time unit (such as the third time unit) is configured to transmit the first client's message, if the first client's message is not fully encapsulated or the first client has no message to transmit, the third time unit can still transmit other clients' messages, such as the third client's message, in order to achieve statistical multiplexing characteristics and improve resource utilization.

[0028] Secondly, embodiments of this application provide a message transmission method. The execution subject of this method can be a second network device or a chip applied in the second network device. The following description uses the second network device as an example. The method includes: the second network device receiving a first message and a second message in the same cycle through its second port. The first message includes data for ordinary services, and the second message includes data for hard-isolated services. Then, the second network device forwards the service data in the first message according to the type of the first message, and forwards the service data in the second message according to the type of the second message.

[0029] In one possible design, the second network device forwards the service data in the first message according to the type of the first message, including: the second network device determining the store-and-forward method based on the type of the first message; and the second network device forwarding the service data in the first message using the store-and-forward method.

[0030] In other words, the second network device forwards the service data in the first message using a store-and-forward method.

[0031] In one possible design, the first message includes a first field. This first field indicates the type of the first message.

[0032] In one possible design, the first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message.

[0033] In one possible design, the second network device forwards service data in the second message according to the type of the second message, including: the second network device determines the channel forwarding method according to the type of the second message, and the second network device forwards the service data of each of the at least one second customer using the channel forwarding method. The data in the second message includes the service data of all the at least one second customer.

[0034] In other words, the second network device forwards the service data in the second message using a channel forwarding method.

[0035] In one possible design, the second message includes a second field. This second field indicates the type of the second message.

[0036] In one possible design, the second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

[0037] Thirdly, embodiments of this application provide a communication device, which can be a first network device in the first aspect or any possible design of the first aspect, or a chip that implements the functions of the first network device. The communication device includes modules, units, or means that implement the methods described above. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions described above.

[0038] The communication device includes a processing unit and a transmitting unit. The processing unit determines a first message and a second message. The first message includes data for normal services, and the second message includes data for hard-isolated services. The transmitting unit transmits the first message and the second message within the same cycle through its first port.

[0039] In one possible design, the first message includes a first field. This first field indicates the type of the first message, such as indicating that the first message is a normal message. The second message includes a second field. This second field indicates the type of the second message.

[0040] In one possible design, the first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message.

[0041] In one possible design, the second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

[0042] In one possible design, the first message also includes a first identifier. The first identifier identifies the first client, and the first client's message includes the first message.

[0043] In one possible design, the first data unit includes a first code block. The first data unit is one or more data units in the second message. The first code block is a code block encoded with the business data of the target customer, which is one of at least one second customer. The data in the second message includes the business data of all of the at least one second customer.

[0044] In one possible design, the processing unit is further configured to determine a first code block in the first data unit based on first information. The first information indicates the correspondence between the first data unit and the target client.

[0045] In one possible design, the first message and the second message have the same length after encoding.

[0046] In one possible design, the encoding includes at least one of the following: 64B / 66B, 66B / 65B, or 64B / 65B.

[0047] In one possible design, the transmitting unit is configured to transmit a first message and a second message within the same period via its first port, specifically including: transmitting the first message in a first time unit via the first port according to second information, and transmitting the second message in a second time unit. The second information indicates the positions of the first and second time units within the period.

[0048] In one possible design, the sending unit is configured to send a first message and a second message in the same period via its first port. Specifically, this includes: sending the first message on an unoccupied first time unit via the first port, and sending the second message on an unoccupied second time unit, based on second information and third information. The second information indicates the configured number of first and second time units in the period, and the third information indicates the number of unoccupied first and second time units in the period.

[0049] In one possible design, the second time unit containing the second message is earlier than the first time unit containing the first message. The second message is generated at the same time as the first message, or the second message is generated earlier than the first message.

[0050] In one possible design, the second time unit in which the second message is located is later than the first time unit in which the first message is located, and the generation time of the second message is later than the generation time of the first message.

[0051] In one possible design, the second information is determined based on the service bandwidth of the first customer and the service bandwidth of the second customer. The data in the first message includes the service data of the first customer, and the data in the second message includes the service data of the second customer.

[0052] In one possible design, the processing unit is further configured to determine a third message. The third message is a message from a third client, and its type is the same as the first message. The sending unit is further configured to send the third message through the first port during a period. The third message is transmitted via a third time unit, which is configured to transmit messages from the first client and is in an idle state. The first client's message includes the first message.

[0053] Fourthly, embodiments of this application provide a communication device, which can be a second network device in the second aspect or any possible design of the second aspect, or a chip that implements the functions of the second network device described above; the communication device includes modules, units, or means that implement the methods described above, which can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions described above.

[0054] The communication device includes a receiving unit, a processing unit, and a transmitting unit. The receiving unit is used to receive a first message and a second message in the same cycle through its second port. The first message includes data for ordinary services, and the second message includes data for hard-isolated services. The transmitting unit is used to forward the service data in the first message according to the type of the first message, and to forward the service data in the second message according to the type of the second message.

[0055] In one possible design, the sending unit, used to forward service data in the first message according to the type of the first message, specifically includes: a processing unit used to determine the store-and-forward method according to the type of the first message; and a sending unit used to forward the service data in the first message using the store-and-forward method.

[0056] In one possible design, the first message includes a first field. This first field indicates the type of the first message.

[0057] In one possible design, the first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message.

[0058] In one possible design, the sending unit, configured to forward service data in the second message according to the type of the second message, includes: a processing unit configured to determine the channel forwarding method according to the type of the second message; and a sending unit configured to forward service data of each of the at least one second customer using the channel forwarding method. The data in the second message includes service data of all the at least one second customer.

[0059] In one possible design, the second message includes a second field. This second field indicates the type of the second message.

[0060] In one possible design, the second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

[0061] Fifthly, embodiments of this application provide a communication device, including: a processor and a memory; the memory is used to store computer instructions, which, when executed by the processor, cause the communication device to perform the method executed by the first network device in any of the above aspects or any possible designs of the first aspect. The communication device can be the first network device in the above-described first aspect or any possible design of the first aspect, or a chip implementing the functions of the first network device.

[0062] Sixthly, embodiments of this application provide a communication device, including: a processor; the processor is coupled to a memory and is configured to read and execute instructions from the memory, so that the communication device performs the method performed by a first network device in any of the above aspects or any possible designs of the above aspects. The communication device may be the first network device in any of the above aspects or any possible designs of the first aspect, or a chip implementing the functions of the first network device.

[0063] In a seventh aspect, embodiments of this application provide a chip including a processing circuit and an input / output interface. The input / output interface is used to communicate with modules outside the chip; for example, the chip can be a chip that implements the functions of a first network device in the first aspect or any possible design of the first aspect. The processing circuit is used to run computer programs or instructions to implement the methods in the first aspect or any possible design of the first aspect.

[0064] Eighthly, embodiments of this application provide a communication device, including: a processor and a memory; the memory is used to store computer instructions, which, when executed by the processor, cause the communication device to perform the method executed by the second network device in any of the above aspects or any possible designs of the above aspects. The communication device can be the second network device in any of the above-described second aspects or any possible designs of the second aspect, or a chip implementing the functions of the second network device.

[0065] Ninthly, embodiments of this application provide a communication device, including: a processor; the processor is coupled to a memory for reading and executing instructions from the memory, so that the communication device performs a method as described in any of the above aspects or any possible designs of any of the above aspects, performed by a second network device. The communication device may be a second network device as described in the second aspect or any possible designs of the second aspect, or a chip implementing the functions of the second network device.

[0066] In a tenth aspect, embodiments of this application provide a chip including a processing circuit and an input / output interface. The input / output interface is used to communicate with modules outside the chip; for example, the chip can be a chip that implements the second network device function in the second aspect or any possible design of the second aspect described above. The processing circuit is used to run computer programs or instructions to implement the methods in the second aspect or any possible design of the second aspect described above.

[0067] Eleventhly, embodiments of this application provide a computer-readable storage medium storing instructions that, when executed on a computer, enable the computer to perform the methods of any of the preceding aspects.

[0068] In a twelfth aspect, embodiments of this application provide a computer program product containing instructions that, when run on a computer, enable the computer to perform the method of any of the preceding aspects.

[0069] In a thirteenth aspect, embodiments of this application provide a circuit system including a processing circuit configured to perform the method as described in any of the preceding aspects.

[0070] In a fourteenth aspect, embodiments of this application provide a communication system, which includes a first network device and a second network device as described in any of the foregoing aspects.

[0071] The technical effects of any of the designs in aspects three through fourteen can be found in the beneficial effects of the corresponding methods provided above, and will not be repeated here. Attached Figure Description

[0072] Figure 1 A network architecture diagram used in an embodiment of this application;

[0073] Figure 2a A schematic diagram of an encoding format provided for an embodiment of this application;

[0074] Figure 2b A schematic diagram illustrating another encoding format provided for an embodiment of this application;

[0075] Figure 3aA schematic diagram of a communication scenario provided for an embodiment of this application;

[0076] Figure 3b A schematic diagram of another communication scenario provided for an embodiment of this application;

[0077] Figure 4 A schematic diagram of a port configuration provided for an embodiment of this application;

[0078] Figure 5 A flowchart illustrating a message transmission method provided for an embodiment of this application;

[0079] Figure 6a A schematic diagram of a message structure provided for an embodiment of this application;

[0080] Figure 6b A schematic diagram of another message structure provided for an embodiment of this application;

[0081] Figure 6c A schematic diagram of yet another message structure provided for an embodiment of this application;

[0082] Figure 6d A schematic diagram of yet another message structure provided for an embodiment of this application;

[0083] Figure 6e A schematic diagram of yet another message structure provided for an embodiment of this application;

[0084] Figure 7a A schematic diagram illustrating a message encapsulation process provided for an embodiment of this application;

[0085] Figure 7b A schematic diagram illustrating another message encapsulation process provided for embodiments of this application;

[0086] Figure 8 A flowchart illustrating another message transmission method provided in an embodiment of this application;

[0087] Figure 9a A schematic diagram of a message transmission scenario provided for an embodiment of this application;

[0088] Figure 9b A schematic diagram illustrating another message transmission scenario provided for an embodiment of this application;

[0089] Figure 10 A flowchart illustrating yet another message transmission method provided for an embodiment of this application;

[0090] Figure 11 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0091] Figure 12This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation

[0092] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or different treatments of the same object, rather than to describe a specific order of objects. Furthermore, the terms "comprising" and "having," and any variations thereof, mentioned in the description of this application, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices. It should be noted that in the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as preferred or advantageous over other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0093] The network architecture applicable to the embodiments of this application is as follows: Figure 1 As shown, the network architecture includes client equipment and network equipment.

[0094] There can be two or more customer devices. Figure 1 Four client devices are shown, such as client device 101, client device 102, client device 103, and client device 104.

[0095] Network equipment includes provider edge (PE) equipment and provider (P) equipment. There can be two or more PE devices. There can be one or more P devices. Figure 1 The diagram shows two PE devices (PE device 105 and PE device 106) and one P device, which are communicatively connected to PE device 105 and PE device 106, respectively. Client devices 101 and 102 are both communicatively connected to PE device 105, and client devices 103 and 104 are both communicatively connected to PE device 106.

[0096] For example, the customer device can be a router or switch, or it can be a host. The PE device can be a service provider edge router, which is an edge device of the service provider network and is directly connected to the customer device. The P device can be a backbone router in the service provider network and is not directly connected to the customer device. The implementation of the customer device and network device in this application embodiment is not limited.

[0097] It should be understood that the aforementioned network devices and client devices may have different names in different network architectures. Those skilled in the art will understand that the name does not constitute a limitation on the device itself.

[0098] In the network architecture described above, each device (such as the client device, PE device, and P device) carries one or more services. For example, the services carried on a device could be one or more of the following: email, web browsing, instant messaging, etc. A client device can carry one or more services; regardless of the type, these services correspond to the same client. Similarly, a network device (such as the PE device and P device) can carry one or more services; regardless of the type, these services correspond to multiple clients.

[0099] To facilitate understanding of the embodiments of this application, the terminology used in the embodiments of this application will be briefly explained below. It should be understood that these explanations are only for the purpose of understanding the embodiments of this application and should not constitute any limitation on this application.

[0100] 1. M-bit / N-bit block:

[0101] An M-bit / N-bit block can also be called an M-bit / N-bit encoded block, an M / N-bit encoded block, or an M / N-bit block. Here, M represents the encoded input, and N represents the encoded output. Both M and N are positive integers, and M < N.

[0102] 64B / 66B is short for 64 / 66-bit block, referring to the 64B / 66B block defined by IEEE 802.3. Specifically, based on the 64-bit input, a 2-bit synchronization header is added, depending on whether it is control information or service data. 0b10 indicates a control block, 0b01 indicates a data block, and other types of synchronization headers indicate invalid blocks. The control block also includes a block type field to indicate the block type. For example, the block type field can take values ​​such as 0x1E, 0x78, 0x4B, 0x87, 0x99, 0xAA, 0xB4, 0xCC, 0xD2, 0xE1, or 0xFF. Figure 2a As shown.

[0103] 64B / 65B is short for 64 / 65-bit block, referring to the 64B / 65B block defined by IEEE 802.3. Specifically, it's an encoded block formed by compressing a 2-bit synchronization header to 1 bit based on 64B / 66B. Alternatively, it can be encoded directly from a 64-bit input, with a 1-bit synchronization header added. 64B / 65B is like... Figure 2b As shown.

[0104] 2. Hard-isolated services, general services

[0105] Hard-isolated services refer to services that require a certain level of isolation. For example, see Table a; if a service requires a certain level of isolation, then that service is a hard-isolated service. Optionally, hard-isolated services may also have requirements for metrics such as latency and jitter. For example, the latency of a hard-isolated service is less than or equal to 100µs. Another example is that the jitter of a hard-isolated service is less than or equal to 10ns.

[0106] Ordinary services refer to services that do not have requirements for any of the three metrics: isolation, latency, and jitter, as shown in the last row of Table a. Alternatively, ordinary services can also be services for which the network provides a best-effort service, meaning services for which there are no guarantees regarding latency, jitter, or isolation.

[0107] Table a

[0108]

[0109]

[0110] In the embodiments of this application, the service type refers to ordinary service or hard-isolated service.

[0111] For example, taking email, web page, and instant messaging services as examples, email and web page services are classified as ordinary services, while instant messaging services (such as video conferencing services) are classified as hard-isolated services.

[0112] 3. Hard-isolated messages and ordinary messages

[0113] A hard-isolated message is a message encapsulated from data of a hard-isolated service. The service data in a hard-isolated message is specific to the hard-isolated service. The service data in a single hard-isolated message can originate from one customer or multiple customers; this embodiment of the application does not impose such a limitation.

[0114] A regular message is a message encapsulated from ordinary business data. The business data in a regular message is ordinary business data. The business data in a single regular message originates from a single customer.

[0115] In the embodiments of this application, the message type refers to a normal message or a hard-isolated message.

[0116] 4. Hard isolation and statistical reuse

[0117] Hard isolation refers to a situation where, when link bandwidth is allocated to a single service, that bandwidth is not used by other services even if that service is not sending data. For example, network devices use time-division multiplexing (TDM) and frequency-division multiplexing (FDM) technologies to isolate different services during transmission, ensuring that latency, jitter, and bandwidth do not affect each other. In other words, network devices must employ technologies that support hard isolation, such as time-slotting, to forward packets from hard-isolated services.

[0118] Statistical multiplexing refers to the phenomenon where, when link bandwidth is allocated to a service, it can be used by other services when that service is not sending data. Network devices must employ technologies that support statistical multiplexing, such as packet processing, to improve resource utilization when forwarding packets for ordinary services.

[0119] For example, message technology supports statistical multiplexing but not hard isolation. Time-slotting technology supports hard isolation but not statistical multiplexing.

[0120] 5. Store-and-forward, channel forwarding

[0121] Store-and-forward is a forwarding technique used since the inception of standard Ethernet. Store-and-forward refers to the process where each receiving device in the network fully receives and stores a packet, then performs a table lookup to find the packet's output port, and forwards the packet through that port. Figure 3a As shown. The receiving device can be... Figure 3a Network devices such as PE device 105, PE device 106, P device 107, or P device 108 are included. Additionally, store-and-forward, also known as Layer 2 forwarding, packet forwarding, or destination forwarding, is used. For example, the port used for store-and-forward on the receiving device is called the packet port, and its port type is as follows... Figure 4 As shown. The message port can be a native Ethernet port, such as an interface that uses unmodified Ethernet technology to implement message-level forwarding. Network devices send Ethernet frames through the message port.

[0122] Channel forwarding refers to a process where each receiving device in the network forwards packets based on the mapping between the service's outgoing and incoming ports, without needing to recover the complete message. Figure 3b As shown. The receiving device can be... Figure 3bNetwork devices in the network, such as PE device 105, PE device 106, P device 107, or P device 108, etc. Channel forwarding is a time-slotted technology. Channel forwarding can also be called Layer 1.5 forwarding, or simply channel forwarding. For example, the port used for channel forwarding on the receiving side device is called a time-slotted port, and its port form is as follows... Figure 4 As shown. A time-slotted port can be an interface that uses modified Ethernet technology, such as Flexible Ethernet (FlexE), to implement block-level forwarding. Network devices send time-slotted frames through the time-slotted port. A time-slotted frame is a structured frame, specifically a frame with a time-slotted frame structure.

[0123] It should be understood that in the embodiments of this application, "frame" or "message" refers to an Ethernet frame. Below, we will only use the term "message" as an example for explanation.

[0124] Depend on Figure 4 As can be seen, the packet port and the time-slotted port are independent of each other and incompatible. The same network device needs to have both types of ports to forward packets for two types of services (i.e., normal services and hard-isolated services).

[0125] However, the number of packets to be transmitted may differ between the two forwarding methods described above. If no packets are available for forwarding in one method, the corresponding port will remain idle. If a large number of packets are available for forwarding in the other method, the packets on the corresponding port cannot be sent in a timely manner, resulting in poor port utilization and network devices being unable to transmit packets flexibly.

[0126] In view of this, embodiments of this application provide a message transmission method, which is applied to... Figure 1 , Figure 3a or Figure 3b The network architecture is described. In the message transmission method of this application embodiment, a first network device determines a first message and a second message. The first message includes data from ordinary services, and the second message includes data from hard-isolated services. Then, the first network device sends the first message and the second message in the same cycle through a first port. The first port is a port on the first network device. In this way, even if the number of the first message and the second message changes dynamically, since both messages are sent through the same port, if the number of second messages decreases or there are no second messages sent, the first network device can send more first messages. Conversely, if the number of first messages decreases or there are no first messages sent, but the number of second messages is large, the first network device can send more second messages, avoiding port idleness, improving port utilization, and making message transmission more flexible.

[0127] Below, in conjunction with Figure 5 The message transmission method 500 proposed in the embodiments of this application will be described in detail.

[0128] S501, The first network device determines the first message and the second message.

[0129] Among them, with Figure 1 For example, when the message is transmitted from left to right, the first network device can be either a PE device 105 or a P device. When the message is transmitted from right to left, the first network device can be either a PE device 106 or a P device. In this embodiment, the first network device is implemented as a PE device 105 as an example.

[0130] The first message and the second message are of different types.

[0131] The first message is described as follows: The first message includes data related to ordinary business operations. For example, the ordinary business data in the first message originates from the first customer. (Continuing with the previous sentence...) Figure 1 For example, the first customer can be the customer corresponding to customer equipment 101. Customer equipment 101 sends the first customer's service data to PE equipment 105. Correspondingly, PE equipment 105 receives the first customer's service data from customer equipment 101. Then, PE equipment 105 encapsulates the first customer's service data into a first message.

[0132] For example, the first message uses fields to indicate the message type. For instance, the first message includes a first field. This first field indicates the type of the first message, such as a value of 0x55.

[0133] For example, with Figure 6a For example, the first message includes a preamble field, a startframe delimiter (SFD) field, an overhead (OH) field, a payload field, and a cyclic redundancy check (CRC) field. For instance, as shown... Figure 6a As shown, the first field is carried in the preamble portion of the first message.

[0134] For example, with Figure 6b For example, the first field is carried in the OH field of the first message, such as the first field being carried in the last field of the OH.

[0135] Optionally, the first message may also include a first identifier. The first identifier identifies the first customer, indicating which customer's message the first message belongs to. The first identifier is carried in the OH field. Figure 6aFor example, the first identifier can be denoted as the fine-granularity client identity (fgClientID), which occupies two fields, or 16 bits, and has a value range of 0 to 2^16-1. Figure 6a As shown, the first identifier occupies the first two fields of the OH field. The third field of the OH field, namely... Figure 6a Field 2 is retained.

[0136] For example, the process of the first network device encapsulating the first packet is as follows:

[0137] like Figure 7a As shown, taking a media access control (MAC) frame from a first client as an example, the first network device first performs 64B / 66B encoding on the MAC frame to form code block sequence 1. Each code block in code block sequence 1 is 66 bits. Then, the first network device performs synchronization header compression on code block sequence 1 to form code block sequence 2. Each code block in code block sequence 2 is 65 bits. Alternatively, the first network device performs 64B / 65B encoding on the MAC frame to form code block sequence 3. Each code block in code block sequence 3 is 65 bits. Afterwards, the first network device processes some or all of the code blocks in code block sequence 2 (or code block sequence 3) to obtain the payload portion of the first message. For example, the payload portion of the first message includes a start (S) code block, multiple data (D) code blocks, and a terminal (T) code block. The S and T code blocks are used to define a complete message. The D code blocks are used to carry the payload data in the message.

[0138] The second message is described as follows: The second message includes data related to the hard-isolated service. For example, the hard-isolated service data in the second message originates from a second customer. (Continuing with the previous sentence...) Figure 1 For example, the second customer can be the customer corresponding to customer device 102. Customer device 102 sends the second customer's service data to PE device 105. Correspondingly, PE device 105 receives the second customer's service data from customer device 102. Then, PE device 105 encapsulates the second customer's service data into a second message.

[0139] For example, the second message indicates the message type through a field. For instance, the second message includes a second field. This second field indicates the type of the second message, such as a value of 0x66.

[0140] For example, with Figure 6c For example, the second message includes a preamble field, an SFD field, an OH field, a payload field, and a CRC field. For instance, as shown... Figure 6cAs shown, the second field is carried in the preamble portion of the second message.

[0141] For example, with Figure 6d For example, the second field is carried in the OH field of the second message, such as the second field being carried in the last field of the OH, or the second field being carried in the second field of the OH, i.e. the position of field 1. This application embodiment does not limit this.

[0142] Optionally, the second message may also include a multiframe indicator (MFI). The MFI indicates that the second message is a multiframe. A multiframe is described as follows: a multiframe includes multiple data units, each corresponding to a different time slot. Each data unit carries the service data transmitted in its corresponding time slot. For example, with 96 data units, the first data unit carries the service data transmitted in time slot 0, the second data unit carries the service data transmitted in time slot 1, and so on, up to the 96th data unit carrying the service data transmitted in time slot 95. See the relevant description of the payload of the second message for details, which will not be repeated here. Additionally, a data unit can also be described as a basic frame, fine-granularity slot (fgSlot) data, or time slot data, etc. In this embodiment, a data unit is used as an example for description.

[0143] For example, in Figure 6c or Figure 6d In this context, the MFI can occupy one field, i.e., 8 bits, with a value range of 0 to 19. The MFI is carried in the first field of the OH field. Of course, the MFI can also be carried in the second or third field of the OH field; this embodiment of the application does not limit this.

[0144] It should be understood that the first field and the second field can be in the same position in the message. For example, the first field may be carried in the preamble portion of the first message, and the second field may also be carried in the preamble portion of the second message. Another example is that the first field may be carried in the OH field of the first message, and the second field may also be carried in the OH field of the second message. Alternatively, the first field and the second field can be in different positions in the message. For example, the first field may be carried in the preamble portion of the first message, and the second field may be carried in the OH field of the second message. Yet another example is that the first field may be carried in the OH field of the first message, and the second field may be carried in the preamble portion of the second message. This embodiment of the application does not limit this to any particular position.

[0145] For example, the payload in the second message is described as follows: The payload portion includes one or more data units, such as... Figure 6e As shown, the load section includes 96 data units, denoted as fgSlot0 to fgSlot95.

[0146] For different data units, there is a one-to-one correspondence between data units and customers. That is, one data unit corresponds to one secondary customer, and different data units correspond to different secondary customers. For example, one or more data units can correspond to the same secondary customer. Different data units carry service data transmitted in different time slots. Taking Table 1 as an example, Table 1 shows 96 customer numbers and 96 time slot indices, with a one-to-one correspondence between customer numbers and time slot indices. Different customer numbers represent different secondary customers. Different time slot indices identify different time slots.

[0147] Table 1

[0148]

[0149]

[0150] In Table 1, time slot index 0 corresponds to the transmission of service data for client number fgClient0, time slot index 1 corresponds to the transmission of service data for client number fgClient1, and so on, up to time slot index 95, which corresponds to the transmission of service data for client number fgClient95.

[0151] Referring to Table 1, the payload of the second message comprises 96 data units, each transmitting the service data for one time slot. Specifically, the first data unit, identified by fgSlot0, transmits the service data for the time slot corresponding to time slot index 0, i.e., the service data for client number fgClient0. The second data unit, identified by fgSlot1, transmits the service data for the time slot corresponding to time slot index 1, i.e., the service data for client number fgClient1. This pattern continues until the 96th data unit, identified by fgSlot95, which transmits the service data for the time slot corresponding to time slot index 95, i.e., the service data for client number fgClient95.

[0152] Alternatively, for different data units, the relationship between a data unit and a customer can be many-to-one. That is, multiple data units correspond to one second customer. For example, Table 2 shows 48 customer numbers and 96 time slot indices, with one customer number corresponding to two time slot indices.

[0153] Table 2

[0154] Customer number Time slot index fgClient0 0、1 fgClient1 2、3 … … fgClient46 92、93 fgClient47 94、95

[0155] In Table 2, time slot indices 0 and 1 correspond to time slots transmitting service data for client number fgClient0, and time slot indices 2 and 3 correspond to time slots transmitting service data for client number fgClient1. The same logic applies to the others, up to time slot indices 94 and 95, which correspond to time slots transmitting service data for client number fgClient47.

[0156] Referring to Table 2, the payload of the second message comprises 96 data units, each transmitting the service data for one time slot. Specifically, the first data unit, identified by fgSlot0, transmits the service data for the time slot corresponding to time slot index 0, i.e., the service data for client number fgClient0. The second data unit, identified by fgSlot1, transmits the service data for the time slot corresponding to time slot index 1, also for client number fgClient0. This pattern continues until the 96th data unit, identified by fgSlot95, which transmits the service data for the time slot corresponding to time slot index 95, i.e., the service data for client number fgClient47.

[0157] It should be understood that Table 2 only illustrates the example of two data units corresponding to the same second customer. Of course, three or more data units can also correspond to the same second customer. Furthermore, the number of data units corresponding to different second customers can be the same, as shown in Table 1 or Table 2. Alternatively, the number of data units corresponding to different second customers can also be different. For example, the second customer identified by customer number fgClient0 corresponds to one data unit, the second customer identified by customer number fgClient1 corresponds to two data units, and the second customer identified by customer number fgClient2 corresponds to three data units. This embodiment of the application does not limit this.

[0158] For each data unit, each data unit includes a code block encoded from the corresponding customer's service data. Each data unit includes at least one code block. For code blocks within the same data unit, the code blocks are obtained by encoding the service data of the same customer. For example, the encoding format used by the first network device can be 64B / 65B, or it can be 64B / 66B and 66B / 65B.

[0159] For example, taking a single data unit, namely the first data unit, as an example, the process of the first network device encapsulating the second message will be described:

[0160] The first network device determines the first code block in the first data unit based on the first information.

[0161] The first information indicates the correspondence between the first data unit and the target customer. For example, the first information can be Table 1 or Table 2. In this embodiment, Table 1 is used as an example for description. It should be understood that the first information can also have other names, such as the time slot configuration table for hard-isolated services; this embodiment does not limit this.

[0162] For example, the first data unit can be the data unit identified by fgSlot0 in Table 1. Correspondingly, the target customer is the second customer identified by customer number fgClient0.

[0163] For example, such as Figure 7b Taking the MAC frame of client number fgClient0 as an example, the first network device first performs 64B / 66B encoding on the MAC frame to form code block sequence 4. Each code block in code block sequence 4 is 66 bits. Then, the first network device performs synchronization header compression on code block sequence 4 to form code block sequence 5. Each code block in code block sequence 5 is 65 bits. Alternatively, the first network device performs 64B / 65B encoding on the MAC frame to form code block sequence 6. Each code block in code block sequence 6 is 65 bits. In code block sequence 5 or code block sequence 6, every two adjacent code blocks are processed and carried in the same data unit, i.e., the data unit identified by fgSlot0.

[0164] For other data units, the first network device continues the above processing procedure until all 96 data units in the payload portion are determined. Thus, the payload portion of the second message includes 2*96+2 code blocks, specifically one S code block, multiple D code blocks, and one T code block. The S and T code blocks are used to determine a complete message. The D code block carries the payload data in the message.

[0165] It should be noted that the first and second messages have the same length after encoding. For example, if the second message includes 96 data units, the first and second messages each contain 194 code blocks, and each code block contains the same number of bits.

[0166] S502, the first network device sends a first message and a second message to the second network device in the same cycle through the first port. Correspondingly, the second network device receives the first message and the second message from the first network device in the same cycle through the second port.

[0167] Among them, with Figure 1For example, when the message is transmitted from left to right, the second network device can be either a PE device 106 or a P device. For instance, if the first network device is a PE device 105, the second network device is a P device. Similarly, if the first network device is a P device, the second network device can be either a P device or a PE device 106. When the message is transmitted from right to left, the second network device can be either a PE device 105 or a P device. For instance, if the first network device is a PE device 106, the second network device is a P device. Similarly, if the first network device is a P device, the second network device can be either a P device or a PE device 105. In this embodiment, the example of the first network device being implemented as a PE device 105 and the second network device being implemented as a P device will be used for illustration.

[0168] In this embodiment, the first port is a port on a first network device, such as a sending port on the first network device. The second port is a port on a second network device, such as a receiving port on the second network device. In this embodiment, both the first port and the second port are different from the message port and also different from the time-slotted port. Both the first port and the second port possess the following characteristics: hard isolation and statistical multiplexing. Because both the first port and the second port possess hard isolation, the first port can be used to send hard-isolated messages, and the second port can be used to receive hard-isolated messages. Because both the first port and the second port possess statistical multiplexing, the first port can be used to send ordinary messages, and the second port can be used to receive ordinary messages.

[0169] The implementation process of S502 includes the following two examples:

[0170] Example 1, such as Figure 8 As shown in the box containing method 1, S502 includes S502a:

[0171] S502a: Based on the second information, the first network device sends a first message to the second network device through a first port in a first time unit, and sends a second message to the second network device in a second time unit. Correspondingly, based on the second information, the second network device receives the first message from the first network device through a second port in the first time unit, and receives the second message from the first network device in the second time unit.

[0172] The first time unit and the second time unit are time units within the same period. For example, consider a period consisting of 25 time units. Each time unit has the same duration, such as each time unit comprising one time slot.

[0173] In the same cycle of Mode 1, the time unit used to send the first message is described as the first time unit, and the time unit used to send the second message is described as the second time unit. For a message, one time unit means one opportunity to send it.

[0174] The second information indicates the position of the first and second time units within the period, as shown in Table 3:

[0175] Table 3

[0176] Customer number Number of time units (unit: units) The sequence number of the time unit in the period 0x0001 3 1~3 0x0002 1 4 0x0000 1 5 0x0003 5 6~10 0x0000 2 11~12 0x0004 3 13~15 0x0005 1 16 0x0000 1 17 0x0006 5 18~22 0x0000 2 23~24 0x0007 1 25

[0177] Refer to Table 3, which shows the port bandwidth configuration for one cycle. Taking a cycle consisting of 25 time units as an example, the message encapsulated with service data from customer number 0x0001 occupies 3 time units, i.e., the first to third time units in the cycle. That is, the message from customer number 0x0001 occupies 3 transmission opportunities in the aforementioned cycle, specifically the first 3 transmission opportunities. The message encapsulated with service data from customer number 0x0002 occupies 1 time unit, i.e., the fourth time unit in the cycle. That is, the message from customer number 0x0002 occupies 1 transmission opportunity in the aforementioned cycle, specifically the fourth transmission opportunity. In the third row, the second message encapsulated with service data from customer number 0x0000 occupies 1 time unit, i.e., the fifth time unit in the cycle. Here, customer number 0x0000 refers to the second customer, who only supports hard-isolated services; specific customer numbers can be found in Table 1 or Table 2. In other words, the message with customer number 0x0000 occupies one transmission opportunity in the aforementioned cycle, and is the fifth transmission opportunity in the aforementioned cycle. The same logic applies to customer numbers in other rows, and will not be elaborated further.

[0178] Referring to Table 3, taking an example where the first message is from the first customer and the second message includes the business data of the second customer, the customer number of the first customer can be one of the customer numbers from 0x0001 to 0x0007 in Table 3, such as 0x0001. Correspondingly, the first time unit is the first three time units in the aforementioned period. The second customer is identified by 0x0000 in Table 3, representing a type of customer providing hard-isolated services. Correspondingly, the second time unit is the time unit in bold in the aforementioned period.

[0179] For example, according to Table 3, the first network device sends a first message encapsulated with service data of customer number 0x0001 in the first to third time units of the aforementioned period, and sends a second message encapsulated with service data of the second customer in the 5th, 11th, 12th, 17th, 23rd, and 24th time units of the aforementioned period, as shown below. Figure 9a As shown.

[0180] It should be understood that Table 3 only illustrates the case where the time unit positions of hard-isolated services and each regular service within the cycle are fixed. Of course, as another possible implementation, Table 3 could show only the fixed time unit positions of hard-isolated services, while the time unit positions of each regular service within the regular services are not fixed. For example, hard-isolated services might occupy time units 5, 11, 12, 17, 23, and 24 of the aforementioned cycle. Regular services might occupy time units 1 to 4, 6 to 10, 13 to 16, 18 to 22, and 25 of the aforementioned cycle, but the specific time units(s) occupied by each regular service within the regular services are not specified.

[0181] In this scenario, taking the first time unit as the first three time units of the aforementioned cycle and the first message as the message with customer number 0x0001 as an example, if only the message with customer number 0x0001 is encapsulated, while the messages with other customer numbers are not encapsulated, then the first network device sends the message with customer number 0x0001 in the first time unit. Conversely, if the messages with customer numbers 0x0001 and 0x0002 are encapsulated, then the first network device sends the message in the first time unit according to a preset rule. For example, the preset rule could be the priority of services, determining which customer's message to send based on the order of priority from highest to lowest. For instance, if the service priority of 0x0001 is higher than that of 0x0002, then the first network device sends the message with customer number 0x0001 in the first time unit according to the preset rule. Alternatively, the preset rule could be the order in which customer numbers are listed, determining which customer's message to send based on the order of customer numbers from front to back. For example, if customer number 0x0001 precedes customer number 0x0002, the first network device will send a message with customer number 0x0001 in the first time unit according to the preset rules. It should be understood that the above is only an example of priority or customer number sorting, and the preset rules may have other implementation forms, which are not limited in this application embodiment.

[0182] Example 2, such as Figure 8 As shown in the box containing method 2, S502 includes S502b:

[0183] S502b: Based on the second and third information, the first network device sends a first message to the second network device via a first port during an unoccupied first time unit, and sends a second message to the second network device via a second port during an unoccupied second time unit. Correspondingly, based on the second and third information, the second network device receives the first message from the first network device via a second port during an unoccupied first time unit, and receives the second message from the first network device via a second port during an unoccupied second time unit.

[0184] The first and second time units can be found in the description of S502a, and will not be repeated here.

[0185] The configuration quantities of the first time unit and the second time unit in the second information indication cycle are shown in Table 4-1:

[0186] Table 4-1

[0187] Customer number Number of time units configured (unit: units) 0x0001 3 0x0002 1 0x0000 6 0x0003 5 0x0004 3 0x0005 1 0x0006 5 0x0007 1

[0188] Refer to Table 4-1, which shows the port bandwidth configuration for one cycle. Taking a cycle consisting of 25 time units as an example, the message encapsulated with service data from customer number 0x0001 occupies 3 time units, but the position of these 3 time units within the cycle is not indicated. That is, the message from customer number 0x0001 has 3 transmission opportunities in the above cycle. The message encapsulated with service data from customer number 0x0002 occupies 1 time unit, but the position of this time unit within the cycle is not indicated. That is, the message from customer number 0x0002 has 1 transmission opportunity in the above cycle. In the third row, the second message encapsulated with service data from customer number 0x0000 occupies 6 time units, but the position of this time unit within the cycle is not indicated. That is, the message from customer number 0x0000 has 6 transmission opportunities in the above cycle. Other customer numbers can be deduced similarly, and will not be elaborated further.

[0189] The number of unoccupied units in the first and second time units within the third information indication period is shown in Table 4-2:

[0190] Table 4-2

[0191] Customer number Unoccupied quantity of time units (unit: units) 0x0001 2 0x0002 0 0x0000 5 0x0003 4 0x0004 2 0x0005 0 0x0006 4 0x0007 0

[0192] Referring to Table 4-2, taking a cycle consisting of 25 time units as an example, the first message encapsulated from the service data of customer number 0x0001 has 2 unused time units. This means that the message from customer number 0x0001 has 2 more transmission opportunities within the aforementioned cycle. The message encapsulated from the service data of customer number 0x0002 has 0 unused time units. This means that the message from customer number 0x0002 has no transmission opportunities within the aforementioned cycle. The second message encapsulated from the service data of customer number 0x0000 has 5 unused time units. This means that the message from customer number 0x0000 has 5 more transmission opportunities within the aforementioned cycle. The same logic applies to other customer numbers, and will not be elaborated further.

[0193] Referring to Table 4-1, taking an example where the first message is from the first customer and the second message includes the business data of the second customer, the customer number of the first customer remains 0x0001. Accordingly, the configuration quantity for the first time unit is 3. The second customer is identified by 0x0000 in Table 4-1, representing a type of customer providing hard-isolated services. Accordingly, the configuration quantity for the second time unit is 6. Referring to Table 4-2, the number of unoccupied first time units is 2, and the number of unoccupied second time units is 5.

[0194] Among them, hard isolation services have higher latency requirements. In order to ensure low latency for hard isolation services, the first network device prioritizes sending packets for hard isolation services.

[0195] For example, if the second message and the first message are generated at the same time, the first network device sends the second message first, then sends the first message. That is, the second time unit containing the second message is earlier than the first time unit containing the first message. Specifically, in time unit 1, if the messages for customer number 0x0000 and customer number 0x0001 have been encapsulated, since the message for customer number 0x0000 is a hard-isolated message, the first network device sends the message for customer number 0x0000 first in time unit 1 to ensure the latency requirements of hard-isolated services. The position of time unit 1 in the cycle is as follows: Figure 9b As shown in the dashed box in the diagram. For a packet with the encapsulated client number 0x0001, the first network device sends the packet in a time unit following time unit 1, such as time unit 2. Accordingly, time unit 1 is the second time unit, and time unit 2 is the first time unit. Furthermore, the first network device updates Table 4-2. The updated Table 4-2 indicates that there are still 4 unused time units for the packet with client number 0x0000, meaning the packet with client number 0x0000 has 4 more transmission opportunities. The updated Table 4-2 also indicates that there is still 1 unused time unit for the packet with client number 0x0001, meaning the packet with client number 0x0001 has 1 more transmission opportunity.

[0196] For example, if the second message is generated earlier than the first message, the first network device will send the second message first, then the first message. That is, the second time unit containing the second message is earlier than the first time unit containing the first message. Specifically, in time unit 1, if the message for client number 0x0000 has been encapsulated, but the message for client number 0x0001 has not, the first network device will first send the message for client number 0x0000 in time unit 1 to ensure the latency requirements of the hard-isolation service. Then, the first network device will send the message in a time unit following time unit 1, such as time unit 2. Other details can be found in the previous paragraph and will not be repeated here.

[0197] For example, if the second message is generated later than the first message, the first network device sends the first message first, then the second message. That is, the second time unit containing the second message is later than the first time unit containing the first message. Specifically, taking time unit 1 as an example, if the message with client number 0x0000 is not yet encapsulated, but the message with client number 0x0001 is, the first network device first sends the message with client number 0x0001 in time unit 1. After the message with client number 0x0000 is encapsulated, the first network device sends the message with client number 0x0000 in a time unit following time unit 1, such as time unit 2. Accordingly, time unit 1 is the first time unit, and time unit 2 is the second time unit. Furthermore, the updates to Table 4-2 can be found in the previous paragraph and will not be repeated here.

[0198] It should be noted that the second information in S502a and S502b is determined based on the customer's service bandwidth. This second information is used to allocate bandwidth between normal services and hard-isolated services at the port level. For example, a 25Gbps port might be divided into 1Gbps increments. The first network device configures bandwidth according to the bandwidth ratio between hard-isolated services and normal services; for example, 2Gbps might be allocated to hard-isolated services, and 23Gbps to normal services. This allocation method is indicated in the second information in the equivalent form of time units (or scheduling opportunities). For example, 23Gbps of bandwidth is equivalent to 23 allocated time units, meaning 23 transmission opportunities. 2Gbps of bandwidth is equivalent to 2 allocated time units, meaning 2 transmission opportunities.

[0199] It should be understood that the second information may also have other names, such as port bandwidth configuration table, and this application embodiment does not limit it in this regard.

[0200] like Figure 10 As shown, in the above-described methods 1 and 2, as a possible implementation for ordinary business applications, this application embodiment further includes S503 and S504:

[0201] S503, the first network device determines the third message.

[0202] The third message includes data from regular business transactions. This third message is from a third customer, and the third customer's business data falls under the category of regular business data. In other words, the type of the third message is the same as the first message; that is, the third message is also a regular message. There are no isolation requirements for the third message.

[0203] For example, still using Table 3, the customer number of the first customer is 0x0001, and the message encapsulated with the business data of customer number 0x0001 is the first message. The customer number of the third customer is 0x0002, and the message encapsulated with the business data of customer number 0x0002 is the third message.

[0204] S504. The first network device sends a third message to the second network device during the period through the first port. Correspondingly, the second network device receives the third message from the first network device during the period through the second port.

[0205] Specifically, the first port in S504 is the same as the first port in S502, the second port in S504 is the same as the second port in S502, and the period in S504 is the same as the period in S502. For details, please refer to the introduction of S502, which will not be repeated here.

[0206] The third message is transmitted through the third time unit. The third time unit is configured to transmit messages from the first client and is in an idle state.

[0207] Among them, the message from the first customer includes the first message.

[0208] For example, taking Table 3 as an example, the third time unit is the second time unit in the above cycle. Based on Table 3, the second time unit is configured to send a message with client number 0x0001, but the message with client number 0x0001 is not fully encapsulated, while the message with client number 0x0002 is fully encapsulated. In order to improve resource utilization, the first network device sends the message with 0x0002 in the second time unit of the above cycle.

[0209] For example, taking Table 4-1 as an example, the third time unit is still the second time unit in the above cycle. If the packet for a hard-isolated service is not fully encapsulated, the first network device sends a normal packet in the third time unit. The first network device configures which customer's packet to send in the third time unit according to preset rules. For example, the preset rule can be the service priority, configured in descending order of priority. For example, if the service priority of 0x0001 is higher than that of 0x0002, then the third time unit is configured to send the packet of 0x0001. Alternatively, the preset rule can be the order of customer numbers, configured in ascending order of customer numbers. For example, if customer number 0x0001 precedes customer number 0x0002, then the third time unit is configured to send the packet of 0x0001. However, the message for customer number 0x0001 was not fully encapsulated, while the message for customer number 0x0002 was fully encapsulated. In order to improve resource utilization, the first network device sends the message for 0x0002 in the second time unit of the above cycle.

[0210] In other words, during the process of the first network device sending ordinary messages to the second network device, statistical multiplexing can be achieved to improve resource utilization.

[0211] For the second network device, after executing S502, it also executes S505:

[0212] S505, the second network device forwards the service data in the first message according to the type of the first message, and forwards the service data in the second message according to the type of the second message.

[0213] The first message and its type can be found in the description of S501, and the second message and its type can also be found in the description of S501. They will not be repeated here.

[0214] For example, for a given message, if the message is the same type as the first message, then the second network device executes steps 1 and 2:

[0215] Step 1: The second network device determines the store-and-forward method based on the type of the first message.

[0216] For example, if a message carries the first field, then the message is a first message, which is a normal message and should be forwarded using the store-and-forward method. Store-and-forward is explained in the glossary section and will not be repeated here.

[0217] Step 2: The second network device forwards the service data in the first packet using store-and-forward.

[0218] For example, the second network device queries the destination address based on the first identifier in the first message, and then forwards the service data in the first message according to the queried destination address.

[0219] It should be understood that the type of the third message is the same as the type of the first message. Therefore, after the second network device executes S504, the second network device can execute the above steps 1 and 2 to forward the third message.

[0220] For example, if a given message is the same type as a second message, the second network device executes steps 3 and 4:

[0221] Step 3: The second network device determines the channel forwarding method based on the type of the second message.

[0222] For example, if a message carries a second field, then the message is a second message, which is a hard-isolated message and needs to be forwarded using channel forwarding. Channel forwarding can be found in the glossary section, and will not be repeated here.

[0223] Step 4: The second network device forwards the service data of each of the at least one second customer in the channel forwarding mode.

[0224] The data in the second message includes business data of at least one second customer.

[0225] For example, the second network device determines the code block of each second customer service data in the second message based on the first information. Then, it forwards the code block of each second customer service data according to the egress timeslot table. The egress timeslot table indicates the egress port and timeslot location of each second customer.

[0226] It should be understood that, in the embodiments of this application, the number of messages is not limited. For example, the number of first messages can be one or more. The number of second messages can be one or more. The number of third messages can be one or more.

[0227] It should be noted that different types of services correspond to different customers. The customer corresponding to the first message is described as the first customer, and the customer corresponding to the second message is described as the second customer. The first customer and the second customer are different customers. It should be understood that the first customer and the second customer may have other names, and this application embodiment does not limit them.

[0228] The above mainly describes the solutions provided by the embodiments of this application from the perspective of interaction between various network elements. Correspondingly, the embodiments of this application also provide a communication device, which can be a network element in the above method embodiments, a device containing the above network element, or a component usable by a network element. It is understood that, in order to achieve the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware 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.

[0229] For example, Figure 11 A schematic diagram of a communication device 1100 is shown. The communication device 1100 includes a processing unit 1101, a transmitting unit 1102, and a receiving unit 1103.

[0230] In one possible example, taking the communication device 1100 as the first network device, the processing unit 1101 is used to support the first network device in performing... Figure 5In step S501, and / or other processing operations that the first network device needs to perform in this embodiment of the application. The receiving unit 1103 is used to support other receiving operations that the first network device needs to perform. The sending unit 1102 is used to support the first network device in performing... Figure 5 S502 in the example, and / or other transmission operations that the first network device needs to perform in the embodiments of this application.

[0231] In another possible example, taking the communication device 1100 as a second network device, the processing unit 1101 is used to support the second network device in performing... Figure 5 In step S505, and / or other processing operations that the second network device needs to perform in the embodiments of this application. The receiving unit 1103 is used to support the second network device in performing... Figure 5 In step S502, and / or other receiving operations that the second network device needs to perform in this embodiment of the application. The transmitting unit 1102 is used to support the second network device in performing... Figure 5 S505 in the example, and / or other transmission operations that the second network device in the embodiments of this application needs to perform.

[0232] Optionally, the communication device 1100 may also include a storage unit 1104 for storing the program code and data of the communication device, and the data may include, but is not limited to, raw data or intermediate data.

[0233] The processing unit 1101 may be a processor or controller, such as a CPU, a general-purpose processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. 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.

[0234] The transmitting unit 1102 may be a communication interface, a transmitter, or a transmitting circuit, etc. Here, the communication interface is a general term. In a specific implementation, the communication interface may include multiple interfaces, such as: a first interface on a first network device, or an interface between a second network device and other devices and / or other interfaces.

[0235] The receiving unit 1103 may be a communication interface, a receiver, or a receiving circuit, etc. The communication interface is a general term. In a specific implementation, the communication interface may include multiple interfaces, such as: a second interface on the second network device, or an interface between the first network device and other devices and / or other interfaces.

[0236] The transmitting unit 1102 and the receiving unit 1103 can be implemented as the same unit, either physically or logically.

[0237] Storage unit 1104 can be a memory.

[0238] When the processing unit 1101 is a processor, the sending unit 1102 and the receiving unit 1103 are communication interfaces, and the storage unit 1104 is a memory, the communication device involved in the embodiments of this application can be... Figure 12 As shown.

[0239] See Figure 12 As shown, the communication device includes a processor 1201, a communication interface 1202, and a memory 1203. Optionally, the communication device may also include a bus 1204. The communication interface 1202, processor 1201, and memory 1203 can be interconnected via the bus 1204; the bus 1204 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1204 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, Figure 12 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.

[0240] Optionally, embodiments of this application also provide a computer program product carrying computer instructions, which, when executed on a computer, causes the computer to perform the methods described in the above embodiments.

[0241] Optionally, embodiments of this application also provide a computer-readable storage medium that stores computer instructions that, when executed on a computer, cause the computer to perform the methods described in the above embodiments.

[0242] Optionally, embodiments of this application also provide a chip, including: a processing circuit and a transceiver circuit, which are used to implement the methods described in the above embodiments. The processing circuit is used to perform processing actions in the corresponding method, and the transceiver circuit is used to perform receiving / transmitting actions in the corresponding method.

[0243] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of 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 the embodiments of 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 (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).

[0244] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus 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 coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or modules, and may be electrical or other forms.

[0245] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple devices. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0246] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that makes a contribution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, hard disk, or optical disk, and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0247] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A message transmission method, characterized in that, include: The first network device determines a first message and a second message, wherein the first message includes data for ordinary services, and the second message includes data for hard-isolated services, the data for hard-isolated services originating from a second customer; The first network device sends the first message on a first time unit and the second message on a second time unit through its first port. The first time unit and the second time unit are in the same period, and the second time unit is configured to transmit the message of the second client.

2. The method according to claim 1, characterized in that, The first message includes a first field, wherein the first field indicates the type of the first message; The second message includes a second field, wherein the second field indicates the type of the second message.

3. The method according to claim 2, characterized in that, The first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message; the second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

4. The method according to any one of claims 1 to 3, characterized in that, The first message also includes a first identifier, which is used to identify the first customer, and the first customer's message includes the first message.

5. The method according to any one of claims 1 to 3, characterized in that, The first data unit includes a first code block; Wherein, the first data unit is one or more data units in the second message, the first code block is a code block after the business data of the target customer is encoded, the second customer is at least one, the target customer is one of the at least one second customer, and the data in the second message includes the business data of all the at least one second customer.

6. The method according to claim 5, characterized in that, The method further includes: The first network device determines the first code block in the first data unit based on the first information; The first information indicates the correspondence between the first data unit and the target customer.

7. The method according to any one of claims 1-3 and 6, characterized in that, The first message and the second message have the same length after encoding.

8. The method according to claim 7, characterized in that, The encoding includes at least one of the following: 64B / 66B, 66B / 65B, or 64B / 65B.

9. The method according to any one of claims 1-3, 6 and 8, characterized in that, The first network device transmits the first message in a first time unit through its first port, and transmits the second message in a second time unit, including: The first network device sends the first message in the first time unit through the first port and sends the second message in the second time unit according to the second information; The second information indicates the position of the first time unit and the second time unit within the period.

10. The method according to any one of claims 1-3, 6 and 8, characterized in that, The first network device transmits the first message in a first time unit through its first port, and transmits the second message in a second time unit, including: The first network device sends the first message on an unoccupied first time unit and the second message on an unoccupied second time unit through the first port, based on the second information and the third information. The second information indicates the number of configured first and second time units in the period, and the third information indicates the number of unoccupied first and second time units in the period.

11. The method according to claim 10, characterized in that, The second time unit in which the second message is located is earlier than the first time unit in which the first message is located; the second message and the first message are generated at the same time, or the second message is generated earlier than the first message. Alternatively, the second time unit in which the second message is located is later than the first time unit in which the first message is located, and the generation time of the second message is later than the generation time of the first message.

12. The method according to claim 11, characterized in that, The second information is determined based on the service bandwidth of the first customer and the service bandwidth of the second customer; The message from the first customer includes the first message, and the data in the second message includes the business data of the second customer.

13. The method according to any one of claims 1-3, 6, 8 and 11-12, characterized in that, The method further includes: The first network device determines a third message, wherein the third message is a message from a third client, and the type of the third message is the same as the type of the first message; The first network device sends the third message through the first port during the period, wherein the third message is transmitted through a third time unit, the third time unit is configured to transmit the first client's message, and the third time unit is in an idle state, and the first client's message includes the first message.

14. A message transmission method, characterized in that, include: The second network device receives a first message in a first time unit and a second message in a second time unit through its second port. The first message includes data of ordinary services, and the second message includes data of hard-isolated services. The data of hard-isolated services comes from a second customer. The first time unit and the second time unit are in the same period, and the second time unit is configured to transmit messages of the second customer. The second network device forwards the service data in the first message according to the type of the first message, and forwards the service data in the second message according to the type of the second message.

15. The method according to claim 14, characterized in that, The second network device forwards service data in the first packet according to the type of the first packet, including: The second network device determines the store-and-forward method based on the type of the first message; The second network device forwards the service data in the first packet using the store-and-forward method.

16. The method according to claim 15, characterized in that, The first message includes a first field, wherein the first field indicates the type of the first message.

17. The method according to claim 16, characterized in that, The first field is carried in the preamble portion of the first message, or the first field is carried in the overhead (OH) field of the first message.

18. The method according to any one of claims 14 to 17, characterized in that, The second network device forwards service data in the second packet according to the type of the second packet, including: The second network device determines the channel forwarding method based on the type of the second message; The second network device forwards the service data of each of the at least one second customer in the channel forwarding method, wherein the data in the second message includes the service data of all the at least one second customer.

19. The method according to claim 18, characterized in that, The second message includes a second field, wherein the second field indicates the type of the second message.

20. The method according to claim 19, characterized in that, The second field is carried in the preamble portion of the second message, or the second field is carried in the OH field of the second message.

21. A communication device, characterized in that, include: Units for performing the various steps of the method according to any one of claims 1 to 13.

22. A communication device, characterized in that, include: A processor and a memory, the processor and the memory being coupled, the memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, the method as described in any one of claims 1 to 13 is implemented.

23. A chip, characterized in that, The chip includes logic circuitry and an input / output interface. The input / output interface is used to communicate with modules outside the chip. The logic circuitry is used to run computer programs or instructions to implement the method as described in any one of claims 1 to 13.

24. A communication device, characterized in that, include: Units for performing the various steps of the method according to any one of claims 14 to 20.

25. A communication device, characterized in that, include: A processor and a memory, the processor and the memory being coupled, the memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, the method as described in any one of claims 14 to 20 is implemented.

26. A chip, characterized in that, The chip includes logic circuitry and an input / output interface, the input / output interface being used to communicate with modules outside the chip, and the logic circuitry being used to run computer programs or instructions to implement the method as described in any one of claims 14 to 20.

27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a program, which, when invoked by a processor, executes the method according to any one of claims 1 to 20.

Citation Information

Patent Citations

  • Message processing method and apparatus

    CN106453138A

  • Network performance detection system and method

    CN111277454A