A message processing method and device
By slicing the data frames at the MAC layer and separating the cache, priority is given to the sliced data frames in the delay-sensitive queue, the problem of delay-sensitive service forwarding of traditional packet forwarding devices is solved, and ultra-low delay forwarding is achieved and efficient forwarding.
Patent Information
- Application Number
- CN202010790856.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2017-02-17
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2037-02-17
AI Technical Summary
Traditional packet forwarding devices are difficult to meet the ultra-low delay forwarding requirements of delay-sensitive services. Especially in the traffic aggregation scenario, existing data transmission technologies cannot effectively reduce the forwarding delay of packets in a single packet forwarding device.
By slicing the data frames at the MAC layer, the slice data frames of the delay-sensitive service and the slice data frames of the non-delay-sensitive service are cached to the delay-sensitive queue and the non-delay-sensitive queue respectively, and the delay-sensitive process is given priority. Sliced data frames in the queue to reduce forwarding delay.
It effectively reduces the forwarding delay of delay-sensitive services in network equipment, avoids the impact of non-delay-sensitive services on delay-sensitive services, meets the ultra-low delay forwarding needs, and improves the forwarding efficiency of the system.
Smart Images

Figure CN112087394B_ABST
Abstract
Description
[0001] This case is a divisional application of the Chinese patent application with the application date of February 17, 2017, application number 201710087163.1, and invention name “A message processing method and device”. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a message processing method and device. Background Art
[0003] With the emergence of new 5G delay-sensitive services such as driverless cars, telemedicine, virtual reality, tactile Internet, and ultra-high-definition video, the operator network is required to have an end-to-end delay of no more than 1ms. If broken down into a single packet forwarding device, it needs to meet the ultra-low delay requirement of microseconds (us). Traditional packet transmission networks are difficult to meet this requirement, and it is necessary to reduce the forwarding time of data messages in a single packet forwarding device.
[0004] Traditional packet forwarding equipment usually supports two forwarding modes: Store and Forward and Cut-Through. Among them, the Store and Forward mode requires that data be sent to the destination port only after the complete message is received, with a slow forwarding rate and a large forwarding delay; while the Cut-Through mode requires that data be sent to the destination port after the destination address of the message is obtained, with a fast forwarding speed and a small forwarding delay. Although the Cut-Through mode can greatly reduce the forwarding delay, like the Store and Forward mode, forwarding is performed in units of messages. In the traffic aggregation scenario, the forwarding of the current message must wait until the previous message is completely sent before it can begin. If the length of the previous message is relatively long, the forwarding waiting time of the current message will inevitably increase. Therefore, for delay-sensitive services, the above two forwarding modes are difficult to meet the ultra-low latency forwarding requirements. Furthermore, in order to reduce the forwarding delay of messages, the existing data transmission technology adopts the method of packaging complete data fragments for sending, but the existing data transmission technology fragments the data message and transmits it at the network layer. For messages that are only forwarded at the second layer (for example, the data link layer), it is impossible to reduce the forwarding delay of the message. Summary of the invention
[0005] The purpose of the embodiments of the present application is to provide a message processing method and device to solve the problem that the forwarding delay of delay-sensitive services is large and cannot meet the ultra-low delay forwarding requirements.
[0006] The purpose of the embodiments of the present application is achieved through the following technical solutions:
[0007] In a first aspect, a message processing method is provided, the method comprising:
[0008] The first network device obtains a first slice data frame included in a first data frame at the MAC layer, caches the first slice data frame to a first queue, obtains a second slice data frame included in a second data frame at the MAC layer, caches the second slice data frame to a second queue, the first queue is a delay-sensitive queue, and the second queue is a non-delay-sensitive queue.
[0009] The first network device sends a first slice data frame to the forwarding processing module, and obtains first forwarding information through the forwarding processing module. After the first network device sends the first slice data frame to the forwarding processing module, it sends a second slice data frame to the forwarding processing module, and obtains second forwarding information through the forwarding processing module. The first forwarding information is the forwarding information of the first data frame, and the second forwarding information is the forwarding information of the second data frame.
[0010] Among them, the delay-sensitive queue is used to store slice data frames of delay-sensitive services, and the non-delay-sensitive queue is used to store slice data frames of non-delay-sensitive services.
[0011] Therefore, by adopting the method provided in the embodiment of the present application, it is possible to effectively ensure that delay-sensitive services are sent to the forwarding processing module before non-delay-sensitive services at the MAC layer, effectively reduce the forwarding delay of delay-sensitive services in network devices, and ensure that they are not affected by non-delay-sensitive services with longer data frame lengths. Furthermore, due to the method provided in the present application, data frames are sliced and forwarded at the MAC layer, effectively taking into account the forwarding delay of messages forwarded at the second layer in the network device. In addition, since slice forwarding is performed at the MAC, for messages forwarded at the third layer (for example, the network layer) (for example, Internet Protocol IP messages), it can also be guaranteed to meet the ultra-low latency forwarding requirements.
[0012] In a possible design, the first network device obtains, at the MAC layer, a first slice data frame included in the first data frame, specifically including:
[0013] The first network device receives a first slice data frame carrying a delay-sensitive tag through a first ingress MAC port.
[0014] Therefore, by adopting the method provided in the embodiment of the present application, the first network device can directly receive the first slice data frame, that is, an incomplete data frame, and identify the delay-sensitive tag carried therein, thereby reducing the forwarding delay of the delay-sensitive service in the network device.
[0015] In a possible design, the first network device obtains, at the MAC layer, a first slice data frame included in the first data frame, specifically including:
[0016] The first network device receives the first data frame through the first inlet MAC port, slices the first data frame, and obtains a first slice data frame; wherein, according to the set rules, the first inlet MAC port is used to bind and receive delay-sensitive data frames.
[0017] Therefore, using the method provided in the embodiment of the present application, the first network device receives the first data frame, that is, a complete data frame, and has the function of slicing the data frame. By slicing the data frame to obtain sliced data frames, the forwarding delay can be effectively reduced and the processing time of the data frame by the network device can be accelerated.
[0018] In one possible design, the first slice data frame includes a delay sensitive flag.
[0019] Therefore, by adopting the method provided in the embodiment of the present application, the ingress module of the network device can add a delay-sensitive tag to the first slice data frame, which helps subsequent modules to identify the slice data frame as a delay-sensitive service as soon as possible and reduce the forwarding delay.
[0020] In a possible design, the first network device performs slicing processing on the first data frame to obtain a first slice data frame, specifically including:
[0021] When the first network device determines that the length of the first data frame is greater than or equal to the first preset threshold, the first data frame is read according to the first preset message length to obtain a first slice data frame of the first data frame, and the first slice data frame of the first data frame carries a first slice data frame identifier and a slice data frame attribution identifier; further, after obtaining the first slice data frame, the first network device determines whether the length of the remaining data of the first data frame is greater than or equal to a second preset threshold; when the length of the remaining data of the first data frame is greater than or equal to the second preset threshold, the remaining data of the first data frame is read according to the second preset message length to obtain an intermediate slice data frame of the first data frame, and the intermediate slice data frame of the first data frame carries an intermediate slice data frame identifier and a slice data frame attribution identifier; when the length of the remaining data of the first data frame is less than the second preset threshold, the remaining data of the first data frame is used as a tail slice data frame of the first data frame, and the tail slice data frame of the first data frame carries a tail slice data frame identifier and a slice data frame attribution identifier;
[0022] The first slice data frame is the first slice data frame of the first data frame, or the first slice data frame is the middle slice data frame of the first data frame, or the first slice data frame is the last slice data frame of the first data frame.
[0023] After the first data frame obtains the first intermediate slice data frame, the length of the remaining data of the first data frame may still be greater than or equal to the second preset threshold, so an intermediate slice data frame may be obtained again according to the above method, that is, there may be multiple intermediate slice data frames. Therefore, when the length of the first data frame is long, the first network device may obtain multiple slice data frames by slicing it, so as to effectively reduce the forwarding waiting time and improve the system forwarding efficiency.
[0024] In one possible design, when the number of intermediate slice data frames is greater than or equal to 1, the intermediate slice data frames also carry slice sequence numbers, which facilitates the need for the egress module to reorganize the slice data frames and effectively reduces forwarding delay.
[0025] In one possible design, the middle slice data frame of the first data frame carries a slice sequence number; all slice data frames included in the first data frame are recombined to obtain a recombined first data frame, specifically including: according to the slice sequence number carried in the middle slice data frame of each first data frame, the first slice data frame of the first data frame, all the middle slice data frames included in the first data frame, and the tail slice data frame of the first data frame are recombined to obtain the recombined first data frame.
[0026] Therefore, the intermediate slice data frame can be quickly reorganized according to the slice sequence number, and then the first slice data frame and the last slice data frame with the same slice data frame attribution identifier are reorganized with the reorganized intermediate slice data frame to obtain the reorganized first data frame, effectively reducing the forwarding delay.
[0027] In a possible design, obtaining the first forwarding information through the forwarding processing module specifically includes:
[0028] When the forwarding processing module determines that the first slice data frame is the first slice data frame of the first data frame, the frame information carried in the first slice data frame is obtained, and according to the frame information, the data frame forwarding information table is queried to obtain the first forwarding information, and the first forwarding information is added to the slice data frame forwarding information table; when the forwarding processing module determines that the first slice data frame is not the first slice data frame of the first data frame, the slice data frame attribution identifier carried in the first slice data frame is used as a keyword to query the slice data frame forwarding information table to obtain the first forwarding information.
[0029] In a possible design, the first forwarding information is obtained by the forwarding processing module for the non-first slice data frame, which may be in the following two forms but not limited to:
[0030] The first form: the first forwarding information and the slice data frame attribution identifier are stored in the slice data frame forwarding information table. When the forwarding processing module determines that the first slice data frame is not the first slice data frame of the first data frame, the slice data frame attribution identifier carried in the first slice data frame is used as a keyword to directly query the slice data frame forwarding information table to obtain the first forwarding information.
[0031] The second form: only the first forwarding information is saved in the slice data frame forwarding information table, and the first network device separately saves the mapping relationship between the slice data frame attribution identifier and the first forwarding information. At this time, the slice data frame attribution identifier is used as an index keyword, and the corresponding first forwarding information in the slice data frame forwarding information table is determined according to the keyword, and then the first forwarding information is obtained.
[0032] Therefore, since the non-first slice data frame does not need to query the complex data frame forwarding information table, the table lookup delay can be greatly reduced and the forwarding efficiency can be improved.
[0033] In one possible design, the forwarding processing module sends the sliced data frames in the delay-sensitive queue corresponding to the forwarding processing module to the egress module in the first network device before the forwarding processing modules in the non-delay-sensitive queue corresponding to the forwarding processing module.
[0034] In one possible design, after obtaining the first forwarding information, the method further includes:
[0035] The first network device transparently transmits the first slice data frame to the second network device according to the first forwarding information.
[0036] Therefore, by adopting the method provided in the embodiment of the present application, with slice data frames as the granularity, and using the transparent transmission method to send the slice data frames to the next-hop device, the forwarding delay can be greatly reduced and the forwarding efficiency can be improved.
[0037] In one possible design, after obtaining the first forwarding information, the method further includes:
[0038] Cache the first slice data frame; after the first network device determines that all slice data frames included in the first data frame have been cached, recombine all slice data frames included in the first data frame to obtain a reorganized first data frame, and send the reorganized first data frame to the second network device according to the first forwarding information.
[0039] Therefore, the method provided in the embodiment of the present application is adopted, with complete data frames as the granularity, to adapt to the scenario where the second network device cannot process sliced data frames and reduce forwarding delay.
[0040] In a possible design, the first network device obtains, at the MAC layer, a second slice data frame included in the second data frame, specifically including:
[0041] The first network device receives a second slice data frame carrying a non-delay sensitive tag through a second ingress MAC port.
[0042] Therefore, by adopting the method provided in the embodiment of the present application, the first network device can directly receive the second slice data frame, that is, an incomplete data frame, and identify the non-delay sensitive tag carried therein, so as to effectively reduce the forwarding delay of the delay sensitive service in the network device.
[0043] In one possible design, the first network device obtains the second slice data frame included in the second data frame at the MAC layer, specifically including: the first network device receives the second data frame through the second inlet MAC port, slices the second data frame, and obtains the second slice data frame.
[0044] Therefore, using the method provided in the embodiment of the present application, the first network device receives the second data frame, that is, a complete data frame, and has the function of slicing the data frame. By slicing the data frame to obtain sliced data frames, the forwarding delay can be effectively reduced and the processing time of the data frame by the network device can be accelerated.
[0045] In one possible design, the second forwarding information includes delay-sensitive indication information, and the delay-sensitive indication information is used to indicate whether to add a delay-sensitive mark to the second slice data frame.
[0046] Therefore, by adopting the method provided in the embodiment of the present application, it is possible to determine the service type to which the currently transmitted data frame belongs through forwarding information, and after determining that the data frame is a delay-sensitive service, the forwarding delay can be effectively reduced.
[0047] In a second aspect, an embodiment of the present application provides a message processing device for executing the method in the first aspect or any possible implementation of the first aspect. Specifically, the device includes a module for executing the method in the first aspect or any possible implementation of the first aspect.
[0048] In a third aspect, the present application provides a network device, the network device comprising a communication interface, a processor and a memory. The communication interface, the processor and the memory may be connected via a bus system. The memory is used to store programs, instructions or codes, and the processor is used to execute the programs, instructions or codes in the memory to complete the method in the first aspect or any possible implementation of the first aspect.
[0049] In a fourth aspect, the present application provides an embodiment of a computer-readable storage medium or a computer program product for storing a computer program, which is used to execute instructions of the method in the above-mentioned first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 It is the forwarding architecture of the traditional packet forwarding device in the embodiment of the present application;
[0051] Figure 2 This is a flowchart summarizing the message processing method in the embodiment of the present application;
[0052] Figure 3 This is a flowchart of a process of a network device for receiving a data frame in an embodiment of the present application;
[0053] Figure 4 This is a schematic diagram of the entry module processing in the embodiment of the present application;
[0054] Figure 5 This is a schematic diagram of obtaining forwarding information for different slice data frames in an embodiment of the present application;
[0055] Figure 6 This is a second schematic diagram of obtaining forwarding information for different slice data frames in an embodiment of the present application;
[0056] Figure 7 This is a schematic diagram of the structure of each field in the slice data frame in an embodiment of the present application;
[0057] Figure 8 This is one of the processing diagrams of the export module in the embodiment of the present application;
[0058] Fig. 9 This is the second schematic diagram of the processing process of the export module in the embodiment of the present application;
[0059] Fig.10 This is the third schematic diagram of the processing process of the export module in the embodiment of the present application;
[0060] Fig.11 A schematic diagram of forwarding in a transparent transmission manner between various forwarding devices in an embodiment of the present application;
[0061] Fig.12 A schematic diagram of forwarding in a reorganization manner between various forwarding devices in an embodiment of the present application;
[0062] Fig.13 This is one of the structural diagrams of the message processing device in the embodiment of the present application;
[0063] Fig.14 This is the second structural diagram of the message processing device in the embodiment of the present application;
[0064] Fig.15 It is a schematic diagram of the structure of the network device in the embodiment of the present application. DETAILED DESCRIPTION
[0065] The embodiments of the present application are described below in conjunction with the accompanying drawings.
[0066] See also Figure 1 As shown, the forwarding architecture of the traditional packet forwarding device includes the following units: an ingress unit, a message forwarding unit, and an egress unit.
[0067] Specifically, the ingress unit receives messages through multiple ingress media access control (MAC) ports, and then sends the received messages to the message forwarding unit in sequence. The message forwarding unit queries the message forwarding table for each message, determines the corresponding forwarding information, and sends the message to the egress unit. The egress unit allocates the corresponding message to the corresponding egress MAC port according to the forwarding information corresponding to each message, and sends it to the next hop device through the egress MAC port.
[0068] As can be seen from the above, the traditional packet forwarding equipment performs forwarding processing at the MAC layer based on the granularity of the message, without considering the specific service type, such as whether it is a delay-sensitive service. Therefore, in the prior art, the forwarding of the next message must wait until the previous message is completely sent before it can start. If the message length of the previous message is large, the forwarding waiting time of the next message will inevitably increase. In particular, the above forwarding mode is difficult to meet the ultra-low delay forwarding requirements of delay-sensitive services.
[0069] Therefore, see Figure 2 As shown, the present application provides a message processing method to solve the problem that the delay of delay-sensitive services is large and cannot meet the ultra-low delay forwarding requirements. The method includes:
[0070] Step 200: The first network device obtains a first slice data frame included in a first data frame at the MAC layer, and caches the first slice data frame to a first queue, where the first queue is a delay-sensitive queue.
[0071] Step 210: The first network device obtains the second slice data frame included in the second data frame at the MAC layer, and caches the second slice data frame to a second queue, where the second queue is a non-delay-sensitive queue;
[0072] Step 220: The first network device sends a first slice data frame to the forwarding processing module, and obtains first forwarding information through the forwarding processing module, where the first forwarding information is forwarding information of the first data frame;
[0073] Step 230: After the first network device sends the first slice data frame to the forwarding processing module, it sends the second slice data frame to the forwarding processing module, and obtains second forwarding information through the forwarding processing module, where the second forwarding information is the forwarding information of the second data frame.
[0074] It should be understood that in step 200 and step 210, the first network device obtains sliced data frames at the MAC layer, which is different from the method in the prior art of slicing data frames at the IP layer (i.e., layer three), and is intended to effectively reduce the forwarding delay of data frames at the MAC layer.
[0075] It should be understood that, in the present application, the execution order of step 200 and step 210 is not limited. When the first slice data frame and the second slice data frame come from different ports, step 200 and step 210 can be executed simultaneously. When the first slice data frame and the second slice data frame come from the same port, the execution order of step 200 and step 210 is determined according to the order in which the first slice data frame and the second slice data frame arrive.
[0076] Among them, the delay-sensitive queue is used to store slice data frames of delay-sensitive services, and the non-delay-sensitive queue is used to store slice data frames of non-delay-sensitive services.
[0077] When executing step 200, the first network device obtains the first slice data frame included in the first data frame at the MAC layer, which may be done by but not limited to the following two methods:
[0078] The first method: The first network device receives a first slice data frame carrying a delay-sensitive tag through a first ingress MAC port.
[0079] It can be seen from the first method that the first network device directly receives the first slice data frame, that is, an incomplete data frame, and the multiple slice data frames included in the first data frame arrive at the first network device one by one. The first slice data frame here is any slice data frame among the multiple slice data frames included in the first data frame, and the first slice data frame carries a delay-sensitive tag. At this time, the first data frame has been sliced by other devices to obtain multiple slice data frames. The first network device has the ability to directly receive and identify slice data frames.
[0080] The second method: The first network device receives the first data frame through the first inlet MAC port, slices the first data frame, and obtains the first slice data frame, wherein, according to the set rules, the first inlet MAC port is used to bind and receive delay-sensitive data frames.
[0081] From the second method, it can be seen that the first network device receives the first data frame, that is, the complete data frame, and then slices the data frame to obtain a first slice data frame, where the first slice data frame is any slice data frame among the multiple slice data frames included in the first data frame.
[0082] It should be understood that if the length of the first data frame received by the first network device is relatively short (for example, within 128 bytes), the data frame may not be sliced and the first data frame may be cached in the first queue.
[0083] In a possible design, after the first network device slices the first data frame and obtains the first slice data frame, a delay-sensitive tag may be added to the first slice data frame. Alternatively, before the first slice data frame is sent to the second device, a delay-sensitive tag may be added to the first slice data frame.
[0084] The first network device performs slicing processing on the first data frame to obtain a first slice data frame, and the slicing processing method may be but is not limited to the following:
[0085] First, the first network device determines whether the length of the first data frame is greater than or equal to a first preset threshold.
[0086] When the length of the first data frame is less than the first preset threshold, no slicing processing is performed and the first data frame is cached in the first queue.
[0087] When the length of the first data frame is greater than or equal to the first preset threshold, the first data frame is read according to the first preset message length to obtain the first slice data frame of the first data frame, and the first slice data frame of the first data frame carries the first slice data frame identifier and the slice data frame attribution identifier.
[0088] Next, after the first network device obtains the first slice data frame, it determines whether the length of the remaining data of the first data frame is greater than or equal to a second preset threshold.
[0089] When the length of the remaining data of the first data frame is greater than or equal to the second preset threshold, the remaining data of the first data frame is read according to the second preset message length to obtain the intermediate slice data frame of the first data frame, and the intermediate slice data frame of the first data frame carries the intermediate slice data frame identifier and the slice data frame attribution identifier.
[0090] When the length of the remaining data of the first data frame is less than the second preset threshold, the remaining data of the first data frame is used as the tail slice data frame of the first data frame, and the tail slice data frame of the first data frame carries the tail slice data frame identifier and the slice data frame attribution identifier;
[0091] It should be understood that the second preset threshold value may be the same as the first preset threshold value, or it may be different from the first preset threshold value. Similarly, the second preset message length may be the same as the first preset message length, or it may be different from the first preset message length. In addition to meeting the standard of the minimum packet length (for example, 64 bytes), the first preset message length and the second preset message length here also need to consider the encapsulation efficiency and try not to do padding. In addition, the first preset message length and the second preset message length can also be flexibly configured based on different ports or based on the service's latency requirements. For example, the minimum length of the preset message length is not less than 64 bytes, and the maximum length is usually no more than 1500 bytes. For example, the maximum length can be about 1000 bytes. When the preset message length is 200 bytes to 300 bytes, the forwarding delay can be effectively reduced and the encapsulation efficiency is guaranteed.
[0092] It should be noted that, after the first data frame obtains the first intermediate slice data frame, the length of the remaining data of the first data frame may still be greater than or equal to the second preset threshold value, and therefore, an intermediate slice data frame may be obtained again according to the above method, that is, there may be multiple intermediate slice data frames. Therefore, when the length of the first data frame is long, the first network device may obtain multiple slice data frames by slicing it, so as to effectively reduce the forwarding waiting time and improve the system forwarding efficiency.
[0093] For example, the first network device slices the first data frame and may obtain a first slice data frame and a last slice data frame, or a first slice data frame, a middle slice data frame and a last slice data frame, or a first slice data frame, at least two middle slice data frames and a last slice data frame.
[0094] In a possible design, the first slice data frame identifier may be F (First), the middle slice data frame identifier may be I (Intermediate), and the last slice data frame identifier may be L (Last).
[0095] In one possible design, the slice data frame attribution identifier may include a device identifier for generating the slice data frame (e.g., Home Device ID), an ingress MAC port identifier for receiving the data frame (e.g., Home Port ID), and a attribution data frame identifier (e.g., Home Frame ID).
[0096] In a possible design, the slice data frame attribution identifier may include an attribution data frame identifier, and the data frame identifier in this case is a global data frame identifier.
[0097] For example, the slice data frame attribution identifier carried by the first slice data frame includes the ID of the first network device, the ID of the first ingress MAC port and the ID of the first data frame.
[0098] In addition, in a possible design, when the number of intermediate slice data frames is greater than or equal to 1, the intermediate slice data frame also carries a slice sequence number. For example, when the number of intermediate slice data frames is 3, the slice sequence number carried by each intermediate slice data frame is used to indicate the order in which the current intermediate slice data frame is obtained.
[0099] In a possible design, when the number of intermediate slice data frames is greater than 1, the intermediate slice data frames carry slice sequence numbers; when the number of intermediate slice data frames is equal to 1, the intermediate slice data frames do not need to carry slice sequence numbers.
[0100] Similarly, when executing step 210, the first network device obtains the second slice data frame included in the second data frame at the MAC layer, which can be done by but not limited to the following two methods:
[0101] The first method: the first network device receives a second slice data frame carrying a non-delay sensitive tag through a second ingress MAC port.
[0102] The second method: the first network device receives the second data frame through the second inlet MAC port, slices the second data frame, and obtains a second slice data frame.
[0103] It should be understood that if the second inlet MAC port is bound to receive only non-delay-sensitive data frames, then after slicing the second data frame to obtain the second slice data frame, a non-delay-sensitive tag can also be added to the second slice data frame. If the second inlet MAC port is not bound to receive only non-delay-sensitive data frames, the second inlet MAC port may receive delay-sensitive data frames or non-delay-sensitive data frames. Therefore, the second slice data frame obtained after slicing the second data frame is an unmarked slice data frame, and it cannot be determined what kind of tag it carries, which needs to be determined through the second forwarding information.
[0104] It should be noted that the execution process of step 210 is similar to that of step 200, and the repeated parts are not repeated. When the first inlet MAC port is not bound to receive only delay-sensitive data frames, the first inlet MAC port and the second inlet MAC port can be the same port.
[0105] The following takes the jth ingress MAC port (referred to as the jth port) as an example. Figure 3 As shown, the specific processing process of the first network device for receiving the data frame is explained.
[0106] S301: Enable the data frame slicing function based on the j-th port and configure the expected slice data frame length.
[0107] S302: Buffer the received data frame, determine whether the received data frame is a complete data frame or a slice data frame, and if it is a slice data frame, execute 303. If it is a complete data frame, execute S304; otherwise, execute S305.
[0108] S303: Identify whether the slice data frame carries a delay-sensitive tag or a delay-insensitive tag, and cache the slice data frame separately according to the different tags carried by the slice data frame.
[0109] Specifically, the slice data frame carrying the delay sensitive mark is cached in the delay sensitive queue corresponding to the jth port, and the slice data frame carrying the delay insensitive mark is cached in the delay insensitive queue corresponding to the jth port.
[0110] S304: Cache the received complete data frame and determine whether the number of cached bytes exceeds the sum of the expected slice data frame length and 64 bytes. If so, execute S306; otherwise, execute S307.
[0111] 64 bytes are reserved here to ensure that the length of the subsequent slice data frame is not too short. Considering the encapsulation efficiency, padding is avoided as much as possible.
[0112] S305: Determine that the received data frame is an illegal data frame and discard it.
[0113] S306: Read data according to the expected slice data frame length, and add the first slice data frame identifier and the slice data frame attribution identifier to obtain the first slice data frame, and continue to execute 309;
[0114] S307: Determine whether the complete data frame has been stored. If it has been stored, execute S308; otherwise, return to S304.
[0115] S308: Add a complete data frame identifier to the complete data frame.
[0116] S309: Determine whether the number of remaining data bytes of the complete data frame exceeds the sum of the expected slice data frame length and 64 bytes. If so, execute S310; otherwise, execute S311;
[0117] S310: Read data according to the expected slice data frame length, and add the intermediate slice data frame identifier, slice sequence number and slice data frame attribution identifier to obtain the intermediate slice data frame, and return to S309.
[0118] S311: Determine whether the complete data frame has been stored. If it has been stored, execute S312; otherwise, return to S309.
[0119] S312: Read the remaining data of the complete data frame, add the tail slice data frame identifier and the slice data frame attribution identifier, and obtain the tail slice data frame.
[0120] It should be noted that if the j-th port is bound to only receive delay-sensitive data frames, then the sliced data frames obtained after slicing the complete data frames will be cached in the first queue; if the j-th port is not bound to only receive delay-sensitive data frames, then the sliced data frames obtained will be cached in the second queue.
[0121] When executing step 220 and step 230, the first network device sends the first slice data frame to the forwarding processing module, and after the first network device sends the first slice data frame to the forwarding processing module, the second slice data frame is sent to the forwarding processing module. It can be seen that the first slice data frame in the first queue arrives at the forwarding processing module before the second slice data frame in the second queue.
[0122] like Figure 4 As shown, taking any port as an example, assuming that the port corresponds to a first queue and a second queue, the slice data frames in the first queue carry a delay-sensitive mark, and the slice data frames in the first queue are all represented by "A", and the slice data frames in the second queue carry a non-delay-sensitive mark, or are unmarked slice data frames, and the slice data frames in the second queue are all represented by "B".
[0123] The Round-Robin (RR) scheduling principle is adopted for the slice data frames in each first queue, that is, one slice data frame is obtained from each first queue in turn. The RR scheduling principle is also adopted for the slice data frames in each second queue, that is, one slice data frame is obtained from each second queue in turn. Furthermore, the Strict Priority (SP) scheduling principle is adopted to send the slice data frames obtained from each first queue to the forwarding processing module before the slice data frames obtained from each second queue, that is, the priority of the slice data frames in the first queue is set higher than the priority of the slice data frames in the second queue. Specifically, after the slice data frames in each first queue are sent to the forwarding processing module, the slice data frames in each second queue are sent to the forwarding processing module, that is, all "A" are sent to the forwarding processing module before all "B".
[0124] See also Figure 5 As shown, in step 220, the first forwarding information is obtained by the forwarding processing module, which can be implemented by but not limited to the following methods:
[0125] The forwarding processing module determines whether the first data frame is a first slice data frame.
[0126] Specifically, the forwarding processing module can make a judgment based on whether the first data frame carries the first slice data frame identifier.
[0127] When the forwarding processing module determines that the first slice data frame is the first slice data frame of the first data frame, the frame information carried in the first slice data frame is obtained, and according to the frame information, the data frame forwarding information table is queried to obtain the first forwarding information, and the first forwarding information is added to the slice data frame forwarding information table;
[0128] When the forwarding processing module determines that the first slice data frame is not the first slice data frame of the first data frame, the slice data frame attribution identifier carried in the first slice data frame is used as a keyword to query the slice data frame forwarding information table to obtain the first forwarding information.
[0129] Refer to Table 1, Table 2, Table 3, and Table 4, wherein Table 1, Table 2, and Table 3 are all examples of data frame forwarding information tables, wherein Table 1 is a 2-layer L2 forwarding table, Table 2 is a 3-layer L3 forwarding table, and Table 3 is a multi-protocol label switching (MPLS) forwarding table. Table 4 is a slice data frame forwarding information table. It should be understood that the various information listed in Tables 1 to 4 are only examples and do not constitute a limitation on the present application. In addition, although Tables 1 to 4 list various information respectively, those skilled in the art will understand that the forwarding table item information corresponding to Tables 1 to 4 does not necessarily include all the information. Alternatively, Tables 1 to 4 may also include information represented by other fields not listed here, and the embodiments of the present application do not specifically limit this.
[0130] Use Figure 5 For the method shown, see Figure 6 As shown, the first network device receives the first slice data frame (packet fragmentation, also known as cell1) 1 included in the first data frame, obtains the first forwarding information, and saves it in the slice data frame forwarding information table, and also receives the middle slice data frame 1 (middle cell1) and the tail slice data frame 1 (tail cell1) in the first data frame, and queries the slice data frame forwarding information according to the slice data frame attribution identifier carried in the middle cell1, and obtains the first forwarding information. Similarly, according to the slice data frame attribution identifier carried in the tail cell1, the slice data frame forwarding information is queried to obtain the first forwarding information.
[0131] The first network device receives the first slice data frame 2 (first cell2) included in the second data frame, obtains the second forwarding information, and saves it in the slice data frame forwarding information table, and also receives the middle slice data frame 2 (middle cell2) and the tail slice data frame 2 (tail cell2) in the second data frame, and queries the slice data frame forwarding information according to the slice data frame attribution identifier carried in the middle cell2, and obtains the second forwarding information. Similarly, according to the slice data frame attribution identifier carried in the tail cell2, the slice data frame forwarding information is queried to obtain the second forwarding information.
[0132] The first forwarding information is obtained by the forwarding processing module for the non-first slice data frame, which may be in the following two forms but not limited to:
[0133] The first form: the first forwarding information and the slice data frame attribution identifier are stored in the slice data frame forwarding information table. When the forwarding processing module determines that the first slice data frame is not the first slice data frame of the first data frame, the slice data frame attribution identifier carried in the first slice data frame is used as a keyword to directly query the slice data frame forwarding information table to obtain the first forwarding information.
[0134] The second form: only the first forwarding information is saved in the slice data frame forwarding information table, and the first network device separately saves the mapping relationship between the slice data frame attribution identifier and the first forwarding information. At this time, the slice data frame attribution identifier is used as an index keyword, and the corresponding first forwarding information in the slice data frame forwarding information table is determined according to the keyword, and then the first forwarding information is obtained.
[0135] It should be noted that the method of obtaining the second forwarding information through the forwarding processing module is the same as the method of obtaining the first forwarding information through the forwarding processing module, and the repeated parts are not repeated here.
[0136] As can be seen from the above, since the non-first slice data frame does not need to query the complex data frame forwarding information table, the table lookup delay can be greatly reduced and the forwarding efficiency can be improved.
[0137] Table 1
[0138]
[0139] Table 2
[0140]
[0141]
[0142] Table 3
[0143]
[0144] Table 4
[0145]
[0146] In one possible design, the frame information carried by the first slice data frame includes: a MAC address, a priority field in a virtual local area network (Virtual Local Area Network Priority, Vlan / Pri), a Differentiated Services Code Point (Dscp) in an IP address, and at least one of a priority field in a label (Label / Exp).
[0147] The first forwarding information may include an egress MAC port ID, and the first forwarding information may also include a data frame processing action, scheduling queue information, and delay-sensitive indication information. The scheduling queue information in the first forwarding information is used to indicate that multiple slice data frames included in the first data frame need to be cached in a delay-sensitive queue corresponding to the forwarding processing module, and the delay-sensitive indication information indicates that the first data frame is a delay-sensitive service.
[0148] The second forwarding information may include the egress MAC port ID, and the second forwarding information may also include a data frame processing action, scheduling queue information, and delay-sensitive indication information. The delay-sensitive indication information may be used to indicate whether to add a delay-sensitive tag to the second slice data frame. If the delay-sensitive indication information indicates that the second data frame is a delay-sensitive service, the scheduling queue information at this time indicates that the multiple slice data frames included in the second data frame need to be cached to the delay-sensitive queue corresponding to the forwarding processing module, and a delay-sensitive tag needs to be added to the second slice data frame; if the delay-sensitive indication information indicates that the second data frame is a non-delay-sensitive service, the scheduling queue information at this time indicates that the multiple slice data frames included in the second data frame need to be cached to the non-delay-sensitive queue corresponding to the forwarding processing module, and a non-delay-sensitive tag needs to be added to the second slice data frame.
[0149] In one possible design, the delay-sensitive indication information may be represented by a delay-sensitive (Express) identifier. For example, the Express identifier includes one bit. When the Express identifier is 1, it indicates that the current data frame is a delay-sensitive service, and its corresponding slice data frame needs to carry a delay-sensitive tag. When the Express identifier is 0, it indicates that the current data frame is a non-delay-sensitive service, and its corresponding slice data frame needs to carry a non-delay-sensitive tag. Of course, 0 and 1 can also represent opposite meanings. For example, when the Express identifier is 0, it indicates that the current data frame is a delay-sensitive service, and its corresponding slice data frame needs to carry a delay-sensitive tag. When the Express identifier is 1, it indicates that the current data frame is a non-delay-sensitive service, and its corresponding slice data frame needs to carry a non-delay-sensitive tag. Of course, the Express identifier may include multiple bits, and this application does not make specific limitations on this.
[0150] The data frame processing actions in the first forwarding information and the second forwarding information may include discarding, deleting bytes, adding bytes, modifying bytes, etc. For example, the IP address or MAC address in the slice data frame needs to be modified.
[0151] In a possible design, the principles for distinguishing whether a service is delay-sensitive may include but are not limited to the following: distinction based on physical ports, or distinction based on Flexible Ethernet Client (FlexE Client) MAC, or distinction based on MAC addresses, or distinction based on VIDs, or distinction based on VID+Pri, or distinction based on IP addresses, or distinction based on IP addresses+DSCP, or distinction based on MPLS labels, or distinction based on MPLS+EXP, or a combination of any of the above distinction methods.
[0152] For example, when a network device receives a complete data frame, it processes the complete data frame into three slice data frames, namely slice data frame 1, slice data frame 2 and slice data frame 3. Among them, slice data frame 1 is the first slice data frame, slice data frame 2 is the middle slice data frame, and slice data frame 3 is the last slice data frame. Assuming that the port receiving the complete data frame is not bound to only receive data frames of delay-sensitive services, when the data frame forwarding information table is Table 1, the forwarding processing module parses the frame information carried in the slice data frame 1, queries Table 1 according to inPort+Vid+Pri in the frame information, obtains forwarding information, and stores it in the slice data frame forwarding information table, as shown in Table 4. The forwarding information includes: data frame processing action (for example, discard), outPort (i.e., egress MAC port ID), scheduling queue number (i.e., scheduling queue information, since the Express identifier is 1, the scheduling queue number is the queue number of the delay-sensitive queue corresponding to the forwarding processing module), Express identifier (i.e., delay-sensitive indication information, since the Express identifier is 1, each slice data frame in the data frame needs to be added with a delay-sensitive tag).
[0153] The forwarding processing module queries Table 4 according to the Home Device ID, HomePort ID and Home Frame ID carried by slice data frame 2 and slice data frame 3 to obtain the forwarding information, and according to the Express identifier in Table 4, it is known that the flag position of Express is 1, so it is determined that slice data frame 2 and slice data frame 3 should carry a delay-sensitive mark.
[0154] For another example, when the data frame forwarding information table is Table 2, the forwarding processing module parses the frame information carried in the slice data frame 1, queries Table 1 according to the inPort+source Ip+Dscp in the frame information, obtains the forwarding information, and stores it in the slice data frame forwarding information table (not shown). The forwarding information includes: data frame processing action (for example, IP switching), outPort (i.e., egress MAC port ID), scheduling queue number (i.e., scheduling queue information, since the Express identifier is 0, the scheduling queue number is the queue number of the non-delay sensitive queue corresponding to the forwarding processing module), Express identifier (i.e., delay sensitive indication information, since the Express identifier is 0, each slice data frame in the data frame needs to add a non-delay sensitive tag). Among them, Table 3 is similar to Table 1, and the repeated parts are not repeated.
[0155] Furthermore, the forwarding processing module sends the slice data frames in the delay-sensitive queue corresponding to the forwarding processing module to the egress module in the first network device before the slice data frames in the delay-insensitive queue corresponding to the forwarding processing module.
[0156] In addition, the forwarding processing module is also used to store data in units of slice data frames, and process the slice data frames according to the data frame processing actions, such as deleting bytes, adding bytes, modifying bytes, etc. It should be understood that in actual applications, the forwarding processing module mainly edits the first slice data frame, and basically does not perform other editing on the middle slice data frame and the tail slice data frame, and only determines whether to perform discard processing.
[0157] After step 220, for the first slice data frame, the message processing method provided by the present application further includes the following two possible processing methods:
[0158] The first processing method: transparent transmission
[0159] The first network device transparently transmits the first slice data frame to the second network device according to the first forwarding information.
[0160] Among them, transparent transmission, also known as "transparent transmission", means that the transmission network is only responsible for transmitting the services to be transmitted to the destination node regardless of the transmission services, while ensuring the quality of transmission, and does not process the transmitted services.
[0161] This method is characterized in that it uses slice data frames as the granularity, and requires the second network device (ie, the next-hop device) to also have the function of receiving and identifying slice data frames.
[0162] Table 5
[0163]
[0164]
[0165] In a possible design, before transparently transmitting the slice data frame to the second network device, the first network device needs to add fields to the unmarked slice data frame, as shown in Table 5 and Figure 7 As shown, for example, the slice data frame that needs to add a delay-sensitive tag adds SFD-E-FL, SFD-EF, SFD-EI or SFD-EL, and the slice data frame that needs to add a non-delay-sensitive tag adds SFD-N-FL, SFD-NF, SFD-NI, SFD-NL. So far, all slice data frames that need to be transparently transmitted carry delay-sensitive tags or non-delay-sensitive tags. In addition, the FCS can be generated in an XOR manner of 32-bit data and 0x0000FFFF, and the tail slice data frame generates the FCS of the entire data frame according to the check algorithm defined by IEEE802.3, or, for each slice data frame in the same complete data frame, the FCS for the complete data frame is generated.
[0166] This application provides the specific definition of each field carried in the slice data frame (as shown in Table 5) and the structural diagram of each field (as shown in Table 5). Figure 7 As shown in Table 5 and Figure 7 What is shown is only a possible implementation of the present application and is not intended to be a specific limitation of the present application.
[0167] The second approach: reorganization
[0168] The first network device caches the first slice data frame, and after determining that all slice data frames included in the first data frame have been cached, recombine all slice data frames included in the first data frame to obtain a reorganized first data frame, and send the reorganized first data frame to the second network device according to the first forwarding information.
[0169] Specifically, according to the slice data frame attribution identifier carried by each slice data frame, the slice data frames with the same slice data frame attribution identifier are reorganized to obtain a reorganized first data frame.
[0170] In a possible design, the middle slice data frame of the first data frame carries the slice sequence number. At this time, the first network device reassembles all the slice data frames included in the first data frame to obtain a reassembled first data frame, which may be done by but not limited to the following methods:
[0171] According to the slice sequence number carried in the middle slice data frame of each first data frame, the first slice data frame of the first data frame, all the middle slice data frames included in the first data frame and the tail slice data frame of the first data frame are recombined to obtain a recombined first data frame.
[0172] Specifically, the middle slice data frame can be quickly reorganized according to the slice sequence number, and then the first slice data frame and the last slice data frame with the same slice data frame attribution identifier are reorganized with the reorganized middle slice data frame to obtain a reorganized first data frame.
[0173] This method is characterized by using complete data frames as the granularity to adapt to the scenario where the second network device cannot process sliced data frames.
[0174] The processing process of the export module is described below with reference to the accompanying drawings.
[0175] See also Figure 8 As shown, the forwarding processing module in the network device corresponds to a delay-sensitive queue and two non-delay-sensitive queues, wherein the slice data frame in the delay-sensitive queue arrives at the egress module in the network device before the slice data frame in the non-delay-sensitive queue. After receiving the slice data frame, the egress module performs a sending selection according to the forwarding information, that is, the slice data frame is allocated to the corresponding egress MAC port according to the egress MAC port ID in the forwarding information, and the slice data frame is sent to the next hop device through the first processing method mentioned above, or the reassembled data frame is sent to the next hop device through the second processing method.
[0176] In addition, this application can also be combined with existing MAC technology to further reduce forwarding delay, and has high practicality. Fig. 9 As shown, Figure 8 An optimization method of the embodiment shown is that the physical layer interface adopts the channelized flexible Ethernet technology defined by the Flexible Ethernet (Flex Ethernet) protocol of the Optical Internetworking Forum (OIF), and the delay-sensitive queue and the non-delay-sensitive queue select different MACs, which are implemented by the flexible Ethernet intermediate layer (FlexE Shim) sublayer and the PHY layer adaptation. This solution can not only ensure the low-latency forwarding requirements of delay-sensitive services, but also realize the network segmentation function through MAC isolation, thereby ensuring the differentiation of performance indicators such as delay and bandwidth of different services during the transmission process. Fig.10 As shown, also Figure 8An optimization method of the embodiment shown in the figure, where the MAC layer interface adopts the channelized MAC function defined in the IEEE 802.3br protocol, and the delay-sensitive queue and the non-delay-sensitive queue select different MACs, which are implemented through the MAC fusion (Merge) sublayer and the PHY layer adaptation. This solution can not only ensure the low-latency forwarding requirements of delay-sensitive services, but also realize the network slicing function through MAC isolation, thereby ensuring the differentiation of performance indicators such as delay and bandwidth of different services during the transmission process.
[0177] The specific implementation process of the embodiment of the present application is described in detail below:
[0178] exist Fig.11 and Fig.12 The slice data frame is represented by Cell. Fig.11 As shown, the client-side devices NE1 and NE5 are traditional packet forwarding devices that only support data frame forwarding; the network edge device NE2, the network intermediate device NE3 and the network edge device NE4 are Packet Transport Network (PTN) devices that support sliced data frame forwarding, and also support Multiprotocol Label Switching (MPLS) forwarding, data frame slicing, reassembly mode and transparent transmission mode.
[0179] The following describes the service configuration and processing flow using the service path NE1—>NE2—>NE3—>NE4—>NE5 as an example:
[0180] The business configuration process is:
[0181] Step 1: Use 1000M Ethernet (Gigabit Ethernet, GE) port networking, according to the service forwarding path (NE1->NE2->NE3->NE4->NE5), configure the MPLS forwarding information table of NE2, NE3, and NE4, that is, the data frame forwarding information table.
[0182] Step 2: The ingress MAC ports of NE2, NE3, and NE4 respectively enable the port-based data frame slicing function and configure the expected sliced data frame length (for example, 256 bytes). The egress MAC ports of NE2 and NE3 are respectively configured in transparent transmission mode, and the egress MAC port of NE4 is configured in reassembly mode.
[0183] Step 3: NE1 sends two service flows, namely, delay-sensitive service and delay-insensitive service.
[0184] Each ingress MAC port in NE2, NE3, NE4, and NE5 is not bound to any delay-sensitive service.
[0185] The business processing flow is:
[0186] For a data frame with a length of 1500 bytes, NE2 slices the data frame into 1 256-byte first slice data frame, 4 256-byte middle slice data frames and 1 220-byte tail slice data frame, and adds a slice data frame attribution identifier to each slice data frame, and adds a slice sequence number to the middle slice data frame.
[0187] Next, the forwarding processing module in NE2 queries the data frame forwarding information table according to the frame information carried by the first slice data frame, obtains the forwarding information, and stores the forwarding information in the slice data frame forwarding information table. The middle slice data frame and the tail slice data frame quickly query the slice data frame forwarding information table to obtain the forwarding information according to the slice data frame attribution identifier they carry.
[0188] When the Express identifier in the forwarding information is 1, the forwarding processing module in NE2 stores the above six slice data frames into the delay-sensitive queue corresponding to the forwarding processing module. When the Express identifier in the forwarding information is 0, the forwarding processing module in NE2 stores the above six slice data frames into the non-delay-sensitive queue corresponding to the forwarding processing module.
[0189] Assuming that the data frame is a delay-sensitive service, the forwarding processing module in NE2 stores the six slice data frames into the delay-sensitive queue corresponding to the forwarding processing module, and preferentially sends the six slice data frames to the egress module.
[0190] In addition, the forwarding processing module in NE2 needs to process the first slice data frame in the data frame according to the data frame processing action in the forwarding information.
[0191] The egress module in NE2 transparently transmits the above six slice data frames to NE3 in sequence.
[0192] After the ingress module in NE3 receives the slice data frame sent by NE2, it caches the slice data frame to the first queue in NE3 according to the delay sensitive tag carried by the slice data frame. The subsequent forwarding processing module and the egress module perform the same processing as NE2.
[0193] NE4 is the same as NE3 before the slice data frames enter the egress module for processing. The egress module in NE4 reassembles the six slice data frames according to the slice data frame attribution identifier and the slice sequence number, and sends the reassembled complete data frame to NE5.
[0194] By implementing message processing according to the above solution, the end-to-end delay of delay-sensitive services from NE1 to NE5 can be reduced to microseconds, and the forwarding delay and jitter of a single device can be reduced to hundreds of nanoseconds.
[0195] See also Fig.12 As shown, the receiving ports of NE2, NE3, and NE4 all enable the port-based data frame slicing function, and the egress modules are all configured in the reassembly mode.
[0196] and Fig.11 Compared with the embodiment shown, the export data of each device is a data frame at the MAC layer, so the method provided by the present application can be used to achieve docking with traditional packet forwarding equipment. Furthermore, each device will introduce a data frame slicing delay and a sliced data frame reassembly delay, and the end-to-end delay will be slightly larger. However, since the internal forwarding of the device is still based on sliced data frames, the scheduling waiting delay of the sliced data frame will be much smaller than the waiting delay based on the data frame of the traditional packet forwarding device. Therefore, delay-sensitive services are basically not affected by non-delay-sensitive services, and the forwarding delay is greatly reduced.
[0197] Based on the same concept, the present application also provides a message processing device, which can be used to perform the above Figure 2 Corresponding method embodiments, therefore, the implementation of the message processing device provided in the embodiments of the present application can refer to the implementation of the method, and the repeated parts will not be repeated.
[0198] See also Fig.13 As shown, the present application provides a message processing device 1300 for executing Figure 2 In the method of the corresponding embodiment, the device 1300 includes: an ingress processing module 1310, an ingress scheduling module 1320, and a forwarding processing module 1330:
[0199] The ingress processing module 1310 is configured to obtain, at the MAC layer, a first slice data frame included in the first data frame, and cache the first slice data frame to a first queue, where the first queue is a delay-sensitive queue;
[0200] The ingress processing module 1310 is further configured to obtain, at the MAC layer, a second slice data frame included in the second data frame, and cache the second slice data frame to a second queue, where the second queue is a non-delay-sensitive queue;
[0201] The ingress scheduling module 1320 is configured to send a first slice data frame to the forwarding processing module 1330, and after sending the first slice data frame to the forwarding processing module 1330, send a second slice data frame to the forwarding processing module 1330;
[0202] The forwarding processing module 1330 is used to receive the first slice data frame and obtain the first forwarding information, where the first forwarding information is the forwarding information of the first data frame; the forwarding processing module is also used to receive the second slice data frame and obtain the second forwarding information, where the second forwarding information is the forwarding information of the second data frame.
[0203] In a possible design, when the MAC layer obtains the first slice data frame included in the first data frame, the ingress processing module 1310 is specifically configured to:
[0204] A first slice data frame carrying a delay sensitive flag is received through a first ingress MAC port.
[0205] In a possible design, when the MAC layer obtains the first slice data frame included in the first data frame, the ingress processing module 1310 is specifically configured to:
[0206] Receive a first data frame through a first ingress MAC port, perform slicing processing on the first data frame, and obtain a first slice data frame;
[0207] According to the set rules, the first ingress MAC port is used to bind and receive delay-sensitive data frames.
[0208] In one possible design, the first slice data frame includes a delay sensitive flag.
[0209] In a possible design, when slicing the first data frame and obtaining the first slice data frame, the entry processing module 1310 is specifically used to:
[0210] When it is determined that the length of the first data frame is greater than or equal to the first preset threshold, the first data frame is read according to the first preset message length to obtain a first slice data frame of the first data frame, where the first slice data frame of the first data frame carries a first slice data frame identifier and a slice data frame attribution identifier;
[0211] After obtaining the first slice data frame, determining whether the length of the remaining data of the first data frame is greater than or equal to a second preset threshold;
[0212] When the length of the remaining data of the first data frame is greater than or equal to the second preset threshold, reading the remaining data of the first data frame according to the second preset message length to obtain an intermediate slice data frame of the first data frame, where the intermediate slice data frame of the first data frame carries an intermediate slice data frame identifier and a slice data frame attribution identifier;
[0213] When the length of the remaining data of the first data frame is less than the second preset threshold, the remaining data of the first data frame is used as the tail slice data frame of the first data frame, and the tail slice data frame of the first data frame carries the tail slice data frame identifier and the slice data frame attribution identifier;
[0214] The first slice data frame is the first slice data frame of the first data frame, or the first slice data frame is the middle slice data frame of the first data frame, or the first slice data frame is the last slice data frame of the first data frame.
[0215] In a possible design, when acquiring the first forwarding information, the forwarding processing module 1330 is specifically used to:
[0216] When it is determined that the first slice data frame is the first slice data frame of the first data frame, the frame information carried in the first slice data frame is obtained, and according to the frame information, the data frame forwarding information table is queried to obtain the first forwarding information, and the first forwarding information is added to the slice data frame forwarding information table; when it is determined that the first slice data frame is not the first slice data frame of the first data frame, the slice data frame attribution identifier carried in the first slice data frame is used as a keyword to query the slice data frame forwarding information table to obtain the first forwarding information.
[0217] In one possible design, the apparatus 1300 further includes:
[0218] The egress module 1340 is used to transparently transmit the first slice data frame to the second network device according to the first forwarding information after obtaining the first forwarding information.
[0219] or,
[0220] The egress module 1340 is configured to cache the first slice data frame after acquiring the first forwarding information;
[0221] After determining that all slice data frames included in the first data frame have been cached, all slice data frames included in the first data frame are reassembled to obtain a reassembled first data frame, and the reassembled first data frame is sent to the second network device according to the first forwarding information.
[0222] In a possible design, when the MAC layer obtains the second slice data frame included in the second data frame, the ingress processing module 1310 is specifically configured to:
[0223] A second slice data frame carrying a non-delay sensitive flag is received through the second ingress MAC port.
[0224] In a possible design, when the MAC layer obtains the second slice data frame included in the second data frame, the ingress processing module 1310 is specifically configured to:
[0225] The second data frame is received through the second ingress MAC port, and the second data frame is sliced to obtain a second slice data frame.
[0226] In one possible design, the second forwarding information includes delay-sensitive indication information, and the delay-sensitive indication information is used to indicate whether to add a delay-sensitive mark to the second slice data frame.
[0227] and Figure 1 compared to, Fig.13 The overall division and Figure 1 Basically the same, Fig.13 The entry processing module and the entry scheduling module are both specific divisions of the entry module.
[0228] Further, based on Fig.13 The embodiment of the present invention further provides a message processing device, and further divides each module. Fig.14 As shown, the message processing device includes an inlet module, a forwarding processing module and an outlet module.
[0229] Specifically, the ingress module includes an ingress MAC module, an ingress CELL adaptation module, and an ingress CELL scheduling module.
[0230] Among them, the inlet MAC module and the inlet CELL adaptation module are equivalent to Fig.13 Ingress processing module in. Specifically, each ingress MAC module corresponds to an ingress MAC port, which is used to receive data frames or slice data frames sent by other network devices, and the ingress CELL adaptation module is used to obtain the first slice data frame included in the first data frame and obtain the second slice data frame included in the second data frame according to the data frame or slice data frame received by the corresponding ingress MAC module.
[0231] The entry CELL scheduling module is equivalent to Fig.13 The ingress scheduling module in is used to send the first slice data frame to the forwarding processing module, and after sending the first slice data frame to the forwarding processing module, send the second slice data frame to the forwarding processing module.
[0232] The forwarding processing module may specifically include a CELL parsing and forwarding table query module, a CELL queue management module, a data storage module, a CELL scheduling module, and a CELL editing module.
[0233] Among them, the CELL parsing and forwarding table query module is equivalent to Fig.13 The forwarding processing module in is used to receive the first slice data frame, obtain the first forwarding information, receive the second slice data frame, and obtain the second forwarding information.
[0234] In addition, the forwarding processing module can also have other functions, which are implemented through the following modules:
[0235] The CELL queue management module is used to store the slice data frames carrying delay-sensitive tags in the delay-sensitive queue corresponding to the forwarding processing module according to the forwarding information, and store the slice data frames carrying non-delay-sensitive tags in the non-delay-sensitive queue corresponding to the forwarding processing module.
[0236] The data storage module is used to store data in units of slice data frames.
[0237] The CELL scheduling module is used to send the slice data frames in the delay-sensitive queue corresponding to the forwarding processing module to the egress module before the slice data frames in the delay-insensitive queue corresponding to the forwarding processing module.
[0238] The CELL editing module is used to process the slice data frame according to the data frame processing action in the forwarding information.
[0239] The export module is equivalent to Fig.13 The egress module may specifically include a MAC distribution module, an egress CELL forwarding processing module and an egress MAC module.
[0240] Each egress MAC module corresponds to an egress MAC port.
[0241] The MAC distribution module is used to distribute the slice data frame to the corresponding egress MAC module according to the egress MAC port ID in the forwarding information after receiving the slice data frame sent by the forwarding processing module.
[0242] The export CELL forwarding processing module is used to directly send the slice data frame to the next-hop network device through the corresponding export MAC module, or to cache the slice data frame, and after determining that all slice data frames included in the data frame corresponding to the slice data frame have been cached, recombine all slice data frames included in the data frame to obtain a reorganized data frame, and send the reorganized data frame to the next-hop network device through the corresponding export MAC module.
[0243] It should be understood that the specific division of the above modules is only for example and is not intended to be a limitation of this application.
[0244] Based on the same concept, the present application also provides a network device, which can be used to perform the above Figure 2 Corresponding method embodiments, therefore, the implementation of the network device provided in the embodiments of the present application can refer to the implementation of the method, and the repeated parts will not be repeated.
[0245] See also Fig.15 As shown, the present application provides a network device 1500 for executing Figure 2 In the method of the corresponding embodiment, the network device here can be a transmission device, a forwarding device, a router or a network processor. The device includes: a communication interface 1510, a processor 1520, and a memory 1530. The communication interface 1510, the processor 1520 and the memory 1530 can be connected through a bus system.
[0246] Wherein, the communication interface 1510 includes a plurality of ingress MAC ports and a plurality of egress MAC ports;
[0247] Memory 1530, used to store programs, instructions or codes;
[0248] Processor 1520 is used to execute programs, instructions or codes stored in memory 1530, and execute Figure 2 The method of the corresponding embodiment.
[0249] It should be understood that in the embodiment of the present application, the processor 1520 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
[0250] The memory 1530 may include a read-only memory and a random access memory, and provide instructions and data to the processor 1520. A portion of the memory 1530 may also include a nonvolatile random access memory. For example, the memory 1530 may also store information on the device type.
[0251] In addition to the data bus, the bus system may also include a power bus, a control bus, a status signal bus, etc.
[0252] In the process of implementation, Figure 2 Each step in the method of the corresponding embodiment can be completed by the hardware integrated logic circuit in the processor 1520 or the instruction in the form of software. The steps of the message processing method disclosed in the embodiment of the present application can be directly embodied as a hardware processor to execute, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in a random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in the field. The storage medium is located in the memory 1530, and the processor 1520 reads the information in the memory 1530 and completes it in combination with its hardware. Figure 2 To avoid repetition, each step in the method of the corresponding embodiment will not be described in detail here.
[0253] It should be noted that, in a specific implementation, Fig.13 Part or all of the functions of the ingress processing module 1310, the functions of the ingress scheduling module 1320, and the functions of the forwarding processing module 1330 can be used Fig.15 The processor 1520 of the embodiment of the present invention can realize some or all functions of the inlet processing module 1310 and some or all functions of the outlet module 1340. Fig.15 The communication interface 1510 is implemented.
[0254] The present application also provides a communication system, including a first network device and a second network device, wherein the first network device may be Fig.13 , Fig.15 The first network device provided in the corresponding embodiment. The second network device may be Fig.13 , Fig.15 The second network device provided in the corresponding embodiment. The communication system is used to execute Figure 2 The method of the corresponding embodiment.
[0255] In summary, the first network device obtains the first slice data frame included in the first data frame at the MAC layer, caches the first slice data frame to the first queue, obtains the second slice data frame included in the second data frame at the MAC layer, and caches the second slice data frame to the second queue, wherein the first queue is a delay-sensitive queue and the second queue is a non-delay-sensitive queue. Therefore, using the method provided by the present application, the first network device stores the obtained slice data frames in two different queues, which correspond to the delay-sensitive queue and the non-delay-sensitive queue, respectively, to provide a guarantee for the priority processing of the slice data frames in the delay-sensitive queue in the subsequent processing process. Further, the first network device sends the first slice data frame to the forwarding processing module, and obtains the first forwarding information through the forwarding processing module. After the first network device sends the first slice data frame to the forwarding processing module, it sends the second slice data frame to the forwarding processing module, and obtains the second forwarding information through the forwarding processing module. Therefore, by giving priority to the slice data frames in the delay-sensitive queue, the forwarding delay can be effectively reduced, wherein the first forwarding information is the forwarding information of the first data frame, and the second forwarding information is the forwarding information of the second data frame.
[0256] Therefore, by adopting the method provided in the embodiment of the present application, it is possible to effectively ensure that delay-sensitive services are sent to the forwarding processing module before non-delay-sensitive services at the MAC layer, effectively reducing the forwarding delay of delay-sensitive services in network equipment. Moreover, since delay-sensitive services and non-delay-sensitive services are processed separately, it is ensured that the data frames of delay-sensitive services are not affected by non-delay-sensitive services with longer data frame lengths, thereby meeting the ultra-low delay forwarding requirements and providing a better user experience.
[0257] In addition, based on the method provided in the present application, both the forwarding processing module and the export module can be scheduled separately according to delay-sensitive services and non-delay-sensitive services, and sliced data frames of delay-sensitive services can be given priority, thereby further reducing the forwarding delay and improving the forwarding efficiency.
[0258] It should be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0259] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0260] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc. Each part of this specification is described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.
[0261] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0262] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0263] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0264] Although the embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the embodiments and all changes and modifications falling within the scope of the present application.
[0265] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for processing a message at a media access control (MAC) layer, characterized in that: Executed by a first network device, the method includes: Acquire, at the MAC layer, a plurality of first slice data frames and a plurality of second slice data frames, wherein the plurality of first slice data frames are a plurality of slice data frames obtained by slicing the first data frame, and the plurality of second slice data frames are a plurality of slice data frames obtained by slicing the second data frame; Buffering the plurality of first slice data frames into a first queue; Buffering the second slice data frame into a second queue; After sending the multiple first slice data frames to the MAC layer forwarding processing module, sending the multiple second slice data frames to the MAC layer forwarding processing module; forwarding the plurality of first slice data frames and the plurality of second slice data frames; The acquiring, at the MAC layer, the plurality of first slice data frames specifically includes: receiving the first data frame through a first ingress MAC port, performing slicing processing on the first data frame, and acquiring the plurality of first slice data frames; The first data frame is sliced, specifically comprising: When the length of the first data frame is greater than or equal to a first preset threshold, the first data frame is read according to the first preset message length to obtain a first slice data frame of the first data frame, where the first slice data frame of the first data frame carries a first slice data frame identifier and a slice data frame attribution identifier; After obtaining the first slice data frame, determining whether the length of the remaining data of the first data frame is greater than or equal to a second preset threshold; When the length of the remaining data of the first data frame is greater than or equal to the second preset threshold, reading the remaining data of the first data frame according to the second preset message length to obtain an intermediate slice data frame of the first data frame, where the intermediate slice data frame of the first data frame carries an intermediate slice data frame identifier and the slice data frame attribution identifier; When the length of the remaining data of the first data frame is less than the second preset threshold, the remaining data of the first data frame is used as the tail slice data frame of the first data frame, and the tail slice data frame of the first data frame carries the tail slice data frame identifier and the slice data frame attribution identifier.
2. The method according to claim 1, characterized in that The first data frame is used to carry a delay-sensitive service, and the first queue is a delay-sensitive queue. The second data frame is used to carry a delay-insensitive service, and the second queue is a delay-insensitive queue.
3. The method according to claim 1 or 2, characterized in that: Acquiring the plurality of first slice data frames at the MAC layer specifically includes: The multiple first slice data frames carrying the delay sensitive flag are obtained through the first ingress MAC port.
4. The method according to claim 1 or 2, characterized in that: The first ingress MAC port is used for binding and receiving delay-sensitive data frames.
5. The method according to claim 1 or 2, characterized in that: Each of the first slice data frames includes a delay sensitive flag.
6. The method according to claim 1 or 2, characterized in that: The step of forwarding the plurality of first slice data frames includes: Obtain first forwarding information, where the first forwarding information is used to forward the multiple first slice data frames.
7. The method according to claim 6, characterized in that The step of obtaining the first forwarding information specifically includes: After the MAC layer forwarding processing module obtains the first slice data frame of the first data frame, it queries the data frame forwarding information table according to the frame information carried in the first slice data frame, obtains the first forwarding information, and adds the first forwarding information to the slice data frame forwarding information table.
8. The method according to claim 7, characterized in that The method also includes: after the MAC layer forwarding processing module obtains the non-first slice data frame in the first slice data frame, using the slice data frame attribution identifier carried in each slice data frame as a keyword, querying the slice data frame forwarding information table to obtain the first forwarding information.
9. The method according to claim 6, characterized in that The method further comprises: According to the first forwarding information, the multiple first slice data frames are transparently transmitted through the first MAC egress module.
10. The method according to claim 6, characterized in that The method further comprises: After determining that all slice data frames included in the first data frame have been cached, all slice data frames included in the first data frame are recombined to obtain a recombined first data frame, and the recombined first data frame is sent through a first MAC egress module according to the first forwarding information.
11. The method according to claim 1, characterized in that Acquiring the plurality of second slice data frames at the MAC layer specifically includes: The multiple second slice data frames carrying the non-delay sensitive flag are received through the second ingress MAC port.
12. The method according to claim 1, characterized in that Acquiring the plurality of second slice data frames at the MAC layer specifically includes: The second data frame is received through a second ingress MAC port, and slicing is performed on the second data frame to obtain the multiple second slice data frames.
13. The method according to claim 11 or 12, characterized in that: The second ingress MAC port is used for binding and receiving non-delay-sensitive data frames.
14. The method according to claim 11 or 12, characterized in that: The forwarding process is performed on the multiple second slice data frames, including: obtaining second forwarding information, where the second forwarding information is used to forward the multiple second slice data frames.
15. The method according to claim 14, characterized in that The second forwarding information includes delay-sensitive indication information, and the delay-sensitive indication information is used to indicate whether to add a delay-sensitive tag to the multiple second slice data frames.
16. The method according to claim 14, characterized in that The method also includes: according to the second forwarding information, transparently transmitting the multiple second slice data frames through the first MAC egress module or the second MAC egress module.
17. The method according to claim 14, characterized in that The method also includes: after determining that all second slice data frames included in the second data frame have been cached, recombining all slice data frames included in the second data frame to obtain a recombined second data frame, and sending the recombined second data frame through the first MAC egress module or the second MAC egress module according to the second forwarding information.
18. A message processing device, characterized in that: It includes a MAC layer inlet processing module, a MAC layer scheduling module, and a MAC layer forwarding processing module, wherein: The MAC layer ingress processing module is used for: Acquire, at the MAC layer, a plurality of first slice data frames and a plurality of second slice data frames, wherein the plurality of first slice data frames are a plurality of slice data frames obtained by slicing the first data frame, and the plurality of second slice data frames are a plurality of slice data frames obtained by slicing the second data frame; and Buffering the plurality of first slice data frames into a first queue; Buffering the second slice data frame into a second queue; The MAC layer scheduling module is configured to send the plurality of first slice data frames to the MAC layer forwarding processing module and then send the plurality of second slice data frames to the MAC layer forwarding processing module; The MAC layer forwarding processing module is used to forward the multiple first slice data frames and the multiple second slice data frames; When the MAC layer acquires the multiple first slice data frames, the MAC layer ingress processing module is specifically used to: receiving the first data frame through a first ingress MAC port, performing slicing processing on the first data frame, and acquiring the plurality of first slice data frames; When slicing the first data frame, the MAC layer ingress processing module is specifically used to: When the length of the first data frame is greater than or equal to a first preset threshold, the first data frame is read according to the first preset message length to obtain a first slice data frame of the first data frame, where the first slice data frame of the first data frame carries a first slice data frame identifier and a slice data frame attribution identifier; After obtaining the first slice data frame, determining whether the length of the remaining data of the first data frame is greater than or equal to a second preset threshold; When the length of the remaining data of the first data frame is greater than or equal to the second preset threshold, reading the remaining data of the first data frame according to the second preset message length to obtain an intermediate slice data frame of the first data frame, where the intermediate slice data frame of the first data frame carries an intermediate slice data frame identifier and the slice data frame attribution identifier; When the length of the remaining data of the first data frame is less than the second preset threshold, the remaining data of the first data frame is used as the tail slice data frame of the first data frame, and the tail slice data frame of the first data frame carries the tail slice data frame identifier and the slice data frame attribution identifier.
19. The device according to claim 18, characterized in that The first data frame is used to carry a delay-sensitive service, and the first queue is a delay-sensitive queue. The second data frame is used to carry a delay-insensitive service, and the second queue is a delay-insensitive queue.
20. The device according to claim 18 or 19, characterized in that When the MAC layer acquires the multiple first slice data frames, the MAC layer ingress processing module is specifically used to: The multiple first slice data frames carrying the delay sensitive flag are obtained through the first ingress MAC port.
21. The device according to claim 18 or 19, characterized in that The first ingress MAC port is used for binding and receiving delay-sensitive data frames.
22. The device according to claim 18 or 19, characterized in that The first slice data frame includes a delay sensitive flag.
23. The device according to claim 18 or 19, characterized in that The MAC layer forwarding processing module is further used to: obtain first forwarding information, where the first forwarding information is used to forward the multiple first slice data frames.
24. The device according to claim 23, characterized in that When acquiring the first forwarding information, the MAC layer forwarding processing module is specifically used to: After obtaining the first slice data frame in the first slice data frame, query the data frame forwarding information table according to the frame information carried by the first slice data frame, obtain the first forwarding information, and add the first forwarding information to the slice data frame forwarding information table.
25. The device according to claim 24, characterized in that The MAC layer forwarding processing module is also used to: after obtaining the non-first slice data frame in the first slice data frame, use the slice data frame attribution identifier carried in the non-first slice data frame as a keyword to query the slice data frame forwarding information table to obtain the first forwarding information.
26. The device according to claim 23, characterized in that The device also includes: The first MAC layer egress module is used to transparently transmit the multiple first slice data frames according to the first forwarding information.
27. The device according to claim 23, characterized in that The device also includes: The first MAC layer egress module is used to determine that all slice data frames included in the first data frame have been cached, recombine all slice data frames included in the first data frame to obtain a reorganized first data frame, and send the reorganized first data frame according to the first forwarding information.
28. The device according to claim 18, characterized in that When the MAC layer obtains the multiple second slice data frames, the MAC layer ingress processing module is specifically used to: The multiple second slice data frames carrying the non-delay sensitive flag are received through the second ingress MAC port.
29. The device according to claim 18, characterized in that When the MAC layer obtains the multiple second slice data frames, the MAC layer ingress processing module is specifically used to: The second data frame is received through a second ingress MAC port, and slicing is performed on the second data frame to obtain the multiple second slice data frames.
30. The device according to claim 28 or 29, characterized in that The second ingress MAC port is used for binding and receiving non-delay-sensitive data frames.
31. The device according to claim 18 or 19, characterized in that Acquire second forwarding information, where the second forwarding information is used to forward the multiple second slice data frames.
32. The device according to claim 31, characterized in that The second forwarding information includes delay-sensitive indication information, and the delay-sensitive indication information is used to indicate whether to add a delay-sensitive tag to the multiple second slice data frames.
33. The device according to claim 31, characterized in that The device also includes an egress module: configured to transparently transmit the plurality of second slice data frames according to the second forwarding information.
34. The device according to claim 31, characterized in that The device also includes an export module: after determining that all second slice data frames included in the second data frame have been cached, recombining all slice data frames included in the second data frame to obtain a recombined second data frame, and sending the recombined second data frame according to the second forwarding information.
35. A communication system, characterized in that: Includes the message processing device described in any one of claims 18-34.
36. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes program instructions. When the program instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
Synchronous time division Ethernet transmission method and transmitter
CN101212290A
Method and device for processing messages
CN108462646A