Traffic control method for ultra ethernet transport layer, and network device and medium

By using a hierarchical rate limiting mechanism and preset rate limiting policies, the problem of coarse-grained flow control in the existing UET protocol is solved, enabling fine-grained control of service flows and improving the performance of network devices and user experience.

WO2026103467A1PCT designated stage Publication Date: 2026-05-21ZTE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ZTE CORP
Filing Date
2025-10-23
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing flow control methods in the Super Ethernet transport layer cannot meet the requirements of application scenarios with high flow control accuracy. The flow control granularity of CCC in the existing UET protocol is too coarse to achieve fine-grained flow control.

Method used

A hierarchical rate limiting mechanism is adopted. By obtaining the rate limiting value of the service flow, the rate limiting values ​​of PDC and CCC are determined, so as to achieve fine-grained traffic control of the service flow. This includes using rate limiting values ​​of different granularities at the service flow, PDC and CCC levels for control, and adjusting the rate limiting values ​​of CCC and PDC in combination with preset rate limiting strategies to avoid outgoing port congestion.

Benefits of technology

It enables fine-grained traffic control of business flows, avoids system overload, improves network device performance and user experience, and reduces data packet loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025129510_21052026_PF_FP_ABST
    Figure CN2025129510_21052026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure is a traffic control method for an ultra Ethernet transport layer, which method is applied to a network device. The method comprises: acquiring a flow rate limit value of a service flow; determining a PDC rate limit value of PDC on the basis of a flow rate limit value of each service flow associated with the PDC; and determining a CCC rate limit value of CCC on the basis of a PDC rate limit value of each piece of PDC associated with the CCC, so as to realize traffic control of the service flow. Further provided in the present disclosure are a network device and a computer-readable medium.
Need to check novelty before this filing date? Find Prior Art

Description

Super Ethernet transport layer flow control methods, network devices and media

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411613506.X, filed with the Chinese Patent Office on November 12, 2024, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure relates to, but is not limited to, the field of network communication technology. Background Technology

[0004] The Ultra Ethernet Consortium (UEC) is dedicated to developing the Ultra Ethernet Transport (UET) protocol. UET, as a new Ethernet transport layer protocol, aims to provide higher performance and efficiency to better meet the load demands of fields with extremely high network transmission requirements, such as Artificial Intelligence (AI) and High Performance Computing (HPC). Figure 1 below illustrates the transmission of service flows using the UET protocol.

[0005] Figure 1 illustrates the transmission of four service flows (flow1, flow2, flow3, and flow4) as an example. In the UET architecture, congestion control is integrated into the Congestion Control Context (CCC) module. A single CCC can be associated with multiple Packet Delivery Context (PDC) connections (which can be described as Packet Delivery Connections (PDCs)), thereby achieving centralized congestion control across multiple PDCs. This design allows multiple PDCs to share the transmission rate of a single CCC. Each PDC can access multiple service flows, and each service flow can be uniquely identified through a buffered addressing 5-tuple in the encapsulation header. Service flows scheduled by multiple CCCs can be output through the same output port.

[0006] How to perform fine-grained traffic control on service flows in UET is an urgent problem to be solved. Summary of the Invention

[0007] This disclosure provides a flow control method, network device, and computer-readable medium for the Super Ethernet transport layer.

[0008] In a first aspect, embodiments of this disclosure provide a flow control method for a super Ethernet transport layer, applied to a network device, comprising: acquiring flow rate limiting values ​​for service flows; determining a PDC rate limiting value for a PDC based on the flow rate limiting value of each service flow associated with a PDC; and determining a CCC rate limiting value for a CCC based on the PDC rate limiting value of each PDC associated with a CCC, so as to achieve flow control of service flows.

[0009] Secondly, this disclosure provides another flow control method for the Super Ethernet transport layer, applied to a network device, which includes: when the sum of the transmission rates of service flows scheduled by multiple CCCs is greater than the maximum transmission rate of the outgoing ports associated with the multiple CCCs, adjusting the CCC rate limit value of each CCC according to a preset rate limit policy associated with each CCC, so as to achieve flow control of the service flows.

[0010] Thirdly, embodiments of this disclosure provide a network device including a memory and a processor; the memory stores a computer program executable by the processor, and when the computer program is executed by the processor, it implements the first aspect and any possible embodiment of the first aspect or the second aspect and any possible embodiment of the second aspect.

[0011] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the first aspect and any possible embodiments thereof, or the second aspect and any possible embodiments thereof. Attached Figure Description

[0012] In the accompanying drawings of the embodiments disclosed herein:

[0013] Figure 1 is a schematic diagram of a service flow transmission based on the UET protocol provided in an embodiment of this disclosure;

[0014] Figure 2 is a schematic diagram of a UET scenario provided in an embodiment of this disclosure;

[0015] Figure 3 is a schematic flowchart of a flow control method for a super Ethernet transport layer provided in an embodiment of this disclosure;

[0016] Figure 4 is a schematic flowchart of another flow control method for the Super Ethernet transport layer provided in an embodiment of this disclosure;

[0017] Figure 5 is a schematic diagram of a hierarchical deployment of the transport layer of a network device provided in an embodiment of this disclosure;

[0018] Figure 6 is a flowchart of another flow control method for the Super Ethernet transport layer provided in an embodiment of this disclosure;

[0019] Figure 7 is a flowchart of another flow control method for the Super Ethernet transport layer provided in an embodiment of this disclosure;

[0020] Figure 8 is a schematic diagram of a preset speed limit strategy configuration provided in an embodiment of this disclosure;

[0021] Figure 9 is a schematic diagram of configuration parameters for a southbound interface rate limiting strategy provided in an embodiment of this disclosure;

[0022] Figure 10 is a flowchart of another flow control method for a super Ethernet transport layer provided in an embodiment of this disclosure;

[0023] Figure 11 is a flowchart of another flow control method for a super Ethernet transport layer provided in an embodiment of this disclosure;

[0024] Figure 12 is a schematic diagram of the structure of a network device provided in an embodiment of this disclosure. Detailed Implementation

[0025] To enable those skilled in the art to better understand the technical solutions of this disclosure, the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0026] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.

[0027] The accompanying drawings of the embodiments disclosed herein are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the description of the detailed embodiments with reference to the accompanying drawings.

[0028] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.

[0029] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms "a" and "the" as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising," "made of," etc., as used in this disclosure specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.

[0030] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined in this disclosure.

[0031] Referring to Figure 2, a schematic diagram of a UET scenario provided by an embodiment of this disclosure is shown. The applicable scenario of this disclosure will be described in conjunction with Figure 2. As shown in Figure 2, in this UET scenario, the UET transport layer includes a Semantics Sublayer (SES) and a Packet Delivery Sublayer (PDS). Both CCC and PDC belong to the PDS sublayer. PDC is used to schedule the transmission of service flows, and CCC is used for congestion control of its associated PDC. The SES sublayer is directly connected to the application layer through an interface, and the SES sublayer and application layer can interact directly through their respective interfaces. The SES sublayer is also directly connected to the PDS sublayer through an interface, and the SES sublayer and PDS sublayer can also interact directly through their respective interfaces. However, there is no direct interface between the PDS sublayer and the application layer; therefore, the PDS sublayer and application layer cannot interact directly. The CCC and PDC in the PDS sublayer are transparent to the application layer, and the application layer cannot see the PDC and CCC.

[0032] In some possible designs, the application layer, UET transport layer, and output port in Figure 2 all belong to network devices.

[0033] In other possible designs, the application layer in Figure 2 belongs to the terminal device, while the UET transport layer and the outgoing port belong to the network device. The terminal device may include, for example, a source terminal device initiating a service flow or a destination terminal device receiving a service flow, and the network device may be a device that forwards the service flow between the source and destination terminal devices.

[0034] The service flow transmission process is illustrated using the UET scenario shown in Figure 2 as an example. When different terminal devices need to forward service flows (flow1 to flown) through UET, the service flows first reach the SES sublayer, which then sends them to the PDS sublayer. When a service flow reaches the PDS sublayer and needs to be transmitted, the PDCs (PDC11 to PDC1n and PDC21 to PDC2n) of the PDS sublayer are responsible for transmission, and the CCCs (CCC1 to CCCn) of the PDS sublayer are responsible for congestion control. The UET protocol supports different service flows accessing the same PDC and supports multiple PDCs associated with the same CCC. For example, in Figure 2, flow4 to flown share access to PDC2n, PDC11 to PDC1n are associated with CCC1, and PDC21 to PDC2n are associated with CCCn. The CCC can perform centralized congestion control on its associated multiple PDCs, and the multiple PDCs associated with the CCC share the transmission rate of that CCC. Furthermore, multiple CCCs can be associated with the same egress port, and the service flows scheduled by multiple CCCs associated with the same egress port are all sent through that egress port.

[0035] The existing UET congestion management specification, UEC-Transport-Congestion Mgmt-0.75pre3, defines a congestion control algorithm for CCC (Congestion Control Center). This algorithm determines the congestion window and transmission rate for CCC based on congestion feedback. It can be understood that the existing UET protocol already implements flow control functionality for CCC. However, the granularity of flow control for CCC is relatively coarse, which cannot meet the needs of application scenarios requiring high precision flow control.

[0036] In view of this, embodiments of this disclosure provide a flow control method, network device, and computer-readable medium for the Super Ethernet transport layer, applicable to network devices, which may include routers, switches, or other devices with data processing and forwarding functions, and may be applied to, but are not limited to, the scenario shown in Figure 2. A detailed description is provided below with reference to the accompanying drawings.

[0037] In a first aspect, referring to Figure 3, a flowchart of a flow control method for a super Ethernet transport layer provided in an embodiment of the present disclosure is shown. The method may include S301 to S303.

[0038] In S301: Obtain the flow rate limit value for the business flow.

[0039] In this embodiment of the disclosure, referring to the UET scenario shown in FIG2, the flow rate limiting value of the service flow can be configured by the application layer, and correspondingly, the flow rate limiting value of the service flow can be obtained from the application layer. The application layer can configure different flow rate limiting values ​​for different service flows according to their requirements. When there are multiple service flows, the flow rate limiting values ​​of different service flows can be distinguished by the service flow identifier. The flow rate limiting value represents the maximum transmission rate of the corresponding service flow.

[0040] For example, Table 1 shows an example of flow rate limiting configuration, in which the flow rate limiting value of flow1 is configured as 5Gbps, that is, the maximum transmission rate of flow1 is 5Gbps, the flow rate limiting value of flow2 is configured as 10Gbps, that is, the maximum transmission rate of flow2 is 10Gbps, the flow rate limiting value of flow3 is configured as 5Gbps, that is, the maximum transmission rate of flow3 is 5Gbps, and the flow rate limiting value of flow4 is configured as 6Gbps, that is, the maximum transmission rate of flow4 is 6Gbps.

[0041]

[0042] Table 1 Flow Rate Limiting Configuration List

[0043] In S302: Determine the PDC rate limit value of the PDC based on the flow rate limit value of each service flow associated with the PDC.

[0044] In this embodiment of the disclosure, each service flow associated with a PDC can be understood as a service flow accessing that PDC, and the service flow accessing the PDC is transmitted by the PDC. It can be understood that a service flow transmitted through or accessing a PDC is a service flow associated with that PDC.

[0045] In this embodiment, the implementation of S302 is not limited. In some embodiments, the PDC rate limiting value can be determined as the sum of the flow rate limiting values ​​of each service flow associated with the PDC. In other embodiments, the PDC rate limiting value can be determined as the product of the sum of the flow rate limiting values ​​of each service flow associated with the PDC and a preset coefficient, where the preset coefficient is a value greater than 0 and less than 1.

[0046] Following the example in S301, taking flow1 and flow2 connected to PDC1 and flow3 and flow4 connected to PDC2 as an example, the service flows associated with PDC1 are flow1 and flow2. Therefore, the PDC rate limit value of PDC1 can be determined based on the flow rate limit values ​​of flow1 and flow2. For example, the sum of the flow rate limit values ​​of flow1 and flow2 can be used to determine the PDC rate limit value of PDC1. Similarly, the service flows associated with PDC2 are flow3 and flow4. Therefore, the PDC rate limit value of PDC2 can be determined based on the flow rate limit values ​​of flow3 and flow4. For example, the sum of the flow rate limit values ​​of flow3 and flow4 can be used to determine the PDC rate limit value of PDC2. See Table 2, which shows an example of flow rate limit and PDC rate limit configuration. In this example, the PDC rate limit value of PDC1 is the sum of the flow rate limit values ​​of flow1 and flow2 associated with PDC1, and the PDC rate limit value of PDC2 is the sum of the flow rate limit values ​​of flow3 and flow4 associated with PDC2.

[0047]

[0048] Table 2. List of Flow Rate Limiting and PDC Rate Limiting Configurations

[0049] In S303: Based on the PDC rate limit value of each PDC associated with CCC, determine the CCC rate limit value of CCC to achieve traffic control of service flows.

[0050] In this embodiment of the disclosure, each PDC associated with the CCC refers to the PDC for which centralized congestion control is performed by the CCC.

[0051] In this embodiment, the flow rate limit, PDC rate limit, and CCC rate limit can all be managed by corresponding rate limiters. This disclosure does not limit the implementation method of the rate limiter; for example, the rate limiter can be implemented based on a token bucket.

[0052] In this embodiment of the disclosure, traffic control of the service flow can be achieved based on the flow rate limit value, the PDC rate limit value, and the CCC rate limit value.

[0053] It is understood that the embodiments of this disclosure employ three granularities of rate limiting values: service flow granularity rate limiting values ​​(i.e., flow rate limiting values), PDC granularity rate limiting values ​​(i.e., PDC rate limiting values), and CCC granularity rate limiting values ​​(i.e., CCC rate limiting values). Specifically, CCC granularity rate limiting values ​​can be used for joint flow control of their associated PDCs, exhibiting coarser granularity. PDC granularity rate limiting values ​​can be used for joint flow control of their associated service flows, exhibiting finer granularity than CCC granularity rate limiting values. Service flow granularity rate limiting values ​​can be used for flow control of their corresponding individual service flows, exhibiting finer granularity than PDC granularity rate limiting values.

[0054] In this embodiment, by obtaining the flow rate limiting value of the service flow, the PDC rate limiting value of the PDC can be determined based on the flow rate limiting value of each service flow associated with the PDC, and the CCC rate limiting value of the CCC can be determined based on the PDC rate limiting value of each PDC associated with the CCC, thereby achieving flow control of the service flow. This hierarchical rate limiting mechanism allows for flow control at different levels using rate limiting values ​​of different granularities. Specifically, flow control can be performed at the service flow level based on the service flow granularity rate limiting value, at the PDC level based on the PDC granularity rate limiting value, and at the CCC level based on the CCC granularity rate limiting value. This hierarchical rate limiting mechanism makes flow control more flexible and granular. Because it uses smaller-granularity service flow and PDC rate limiting values, it enables fine-grained flow control, meeting the needs of applications requiring high flow control accuracy, effectively preventing system overload, and ensuring system performance.

[0055] In this embodiment, the implementation method for determining the CCC speed limit value of a CCC based on the PDC speed limit value of each PDC associated with the CCC is not limited. In some implementations, the CCC speed limit value can be determined as the sum of the PDC speed limit values ​​of each PDC associated with the CCC. In other implementations, the CCC speed limit value can be determined as the product of the sum of the PDC speed limit values ​​of each PDC associated with the CCC and a preset coefficient, where the preset coefficient is a value greater than 0 and less than 1.

[0056] Following the example in S302, CCC1 is associated with PDC1 and PDC2. The CCC speed limit value of CCC1 can be determined based on the PDC speed limit values ​​of PDC1 and PDC2. For example, the sum of the PDC speed limit values ​​of PDC1 and PDC2 can be used to determine the CCC speed limit value of CCC1. See Table 3, which shows an example of a speed limit configuration where the CCC speed limit value of CCC1 is determined as the sum of the PDC speed limit values ​​of PDC1 and PDC2 associated with CCC1.

[0057] Table 3. Configuration list of flow rate limit, PDC rate limit, and CCC rate limit.

[0058] In this embodiment of the disclosure, the functions of the network device can be implemented in different layers. The method of obtaining the rate limit value is described below in conjunction with the layered structure of the network device.

[0059] In some embodiments, the transport layer of the network device includes a first sublayer and a second sublayer. The first sublayer is directly connected to the application layer through a first interface, and the second sublayer is directly connected to the first sublayer through a second interface. The second sublayer is indirectly connected to the application layer through the first sublayer. The PDC belongs to the second sublayer. In these embodiments, S301 can be implemented as follows: obtaining a first indication from the application layer through the first interface between the first sublayer and the application layer, the first indication being used to indicate the flow rate limiting value of the service flow; obtaining a second indication from the first sublayer through the second interface between the second sublayer and the first sublayer, the second indication being used to indicate the flow rate limiting value of the service flow.

[0060] Although the second sublayer is not directly connected to the application layer, and the application layer cannot see or directly configure the PDC belonging to the second sublayer, the application layer can directly configure the flow rate limiting value of the service flow associated with the PDC. Furthermore, the first sublayer, which is directly connected to the application layer, transmits the configuration of the flow rate limiting value of each service flow to the second sublayer. This allows the application layer to indirectly configure the PDC rate limiting value, enabling the application layer to flexibly control the PDC rate limiting value and thus provide more granular flow control, thereby meeting the needs of application scenarios with high flow control accuracy requirements.

[0061] For example, taking the UET scenario shown in Figure 2 as an example, the transport layer of the network device can be the UET transport layer in Figure 2, the first sublayer can be the SES sublayer in Figure 2, and the second sublayer can be the PDS sublayer in Figure 2.

[0062] In this embodiment of the disclosure, the first interface can be any existing interface or newly added interface between the first sub-layer and the application layer, and the disclosure does not limit the first interface.

[0063] In this embodiment of the disclosure, the second interface can be any existing interface or newly added interface between the second sub-layer and the first sub-layer. This disclosure does not limit the second interface.

[0064] In some embodiments, CCC belongs to the second sub-layer. Before executing S303, a third indication can be obtained through the interface between CCC and PDC. The third indication is used to indicate the PDC speed limit value of the PDC associated with CCC.

[0065] Although the application layer cannot see the CCC belonging to the second sublayer and cannot directly configure the CCC, it can indirectly configure the PDC rate limit value by indirectly configuring the PDC rate limit value through the application layer and passing the PDC rate limit value configuration to the CCC through the interface between the CCC and the PDC. This allows the application layer to flexibly control the CCC rate limit value, ultimately realizing a hierarchical rate limiting mechanism. This makes traffic control more flexible and detailed, enabling fine-grained traffic control and meeting the needs of application scenarios with high traffic control accuracy requirements.

[0066] In this embodiment of the disclosure, after deleting a service flow or adding a service flow, it is necessary to update the rate limit values ​​of the PDC and CCC associated with the deleted or added service flow. The following describes the method of updating the rate limit values ​​when deleting or adding a service flow in conjunction with the embodiments.

[0067] In some embodiments, after determining the CCC rate limit value of a CCC based on the PDC rate limit value of each PDC associated with a CCC in S303, the flow rate limit value of a target service flow associated with a PDC can also be obtained. The target service flow is the service flow to be deleted in the service flow. The difference between the PDC rate limit value and the flow rate limit value of the target service flow is determined as the PDC rate limit value after deleting the target service flow. The difference between the CCC rate limit value and the flow rate limit value of the target service flow is determined as the CCC rate limit value after deleting the target service flow. In this way, the PDC rate limit value and the CCC rate limit value associated with the deleted service flow can be adjusted in real time after the service flow is deleted. When some service flows are deleted, the released resources can be used by other service flows, which can improve network resource utilization.

[0068] In this embodiment of the disclosure, the service flow to be deleted can be understood as the service flow to be revoked or the service flow that is about to be terminated. Correspondingly, deleting a service flow can be understood as revoking a service flow or ending a service flow.

[0069] In some embodiments, after determining the CCC rate limit value of the CCC based on the PDC rate limit value of each PDC associated with the CCC in S303, the flow rate limit value of the target service flow associated with the PDC can also be obtained, where the target service flow is a newly added service flow. The sum of the PDC rate limit value and the flow rate limit value of the target service flow is determined as the PDC rate limit value after the addition of the target service flow; the sum of the CCC rate limit value and the flow rate limit value of the target service flow is determined as the CCC rate limit value after the addition of the target service flow. In this way, the PDC rate limit value and the CCC rate limit value associated with the newly added service flow can be adjusted in real time after the addition of the service flow to better adapt to the current network conditions.

[0070] It is understood that the existing UET protocol has already specified a method for determining the CCC rate limit value based on congestion feedback according to the congestion control algorithm. This application proposes a method for determining the CCC rate limit value based on the PDC rate limit value of each PDC associated with the CCC. Based on this, the embodiments of this application also propose under what conditions the CCC rate limit value determined by the method specified in the UET protocol is used as the final rate limit value for the CCC, and under what conditions the CCC rate limit value determined by the method of this application is used as the final rate limit value for the CCC. The following describes, in conjunction with the embodiments, the method for determining the CCC rate limit value as the final rate limit value for the CCC.

[0071] In some embodiments, on the one hand, the CCC rate limit value of the CCC can be determined based on the PDC rate limit value of each PDC associated with the CCC; on the other hand, the CCC rate limit value of the CCC based on congestion feedback can be determined based on a preset congestion control algorithm. Then, based on preset conditions, the CCC rate limit value based on congestion feedback, or the CCC rate limit value determined based on the PDC rate limit value of each PDC associated with the CCC, can be determined as the final rate limit value used by the CCC.

[0072] The preset conditions may include any of the following:

[0073] All service flows are configured with flow rate limits;

[0074] Some service flows are not configured with flow rate limits.

[0075] For example, the preset condition is that all service flows are configured with flow rate limits. The minimum value among the CCC rate limit based on congestion feedback and the CCC rate limit determined according to the PDC rate limit of each PDC associated with the CCC is determined as the final rate limit value used by the CCC.

[0076] For example, if the preset condition is that some service flows are not configured with flow rate limits, the maximum value among the CCC rate limit based on congestion feedback and the CCC rate limit determined according to the PDC rate limit value of each PDC associated with the CCC will be determined as the final rate limit value used by the CCC.

[0077] For example, the preset condition is that all service flows are configured with flow rate limits, and the CCC rate limit value determined based on the PDC rate limit value of each PDC associated with the CCC is determined as the final rate limit value used by the CCC.

[0078] For example, if the preset condition is that some service flows are not configured with flow rate limits, the CCC rate limit value based on congestion feedback will be determined as the final rate limit value used by CCC.

[0079] In this embodiment of the disclosure, one outgoing port of a network device can be associated with multiple CCCs. If the sum of the transmission rates of the service flows scheduled by the multiple CCCs is greater than the maximum transmission rate of the outgoing port associated with the multiple CCCs, it may cause outgoing port congestion, resulting in packet loss in service flow transmission and thus affecting user experience. Based on this, this embodiment of the disclosure also proposes a method to avoid outgoing port congestion in this case, which will be described below in conjunction with the embodiments.

[0080] In some embodiments, when the sum of the transmission rates of service flows scheduled by multiple CCCs exceeds the maximum transmission rate of the egress ports associated with the multiple CCCs, the CCC rate limit value of each CCC is adjusted according to a preset rate limiting policy associated with each CCC to achieve flow control of the service flows. Thus, when the rates of multiple CCCs exceed the maximum transmission rate of their associated egress ports, adjusting the CCC rate limit value through a preset rate limiting policy can achieve flow control of the service flows, avoiding packet loss caused by egress port congestion, thereby improving user experience.

[0081] In some embodiments, after adjusting the CCC rate limit value of each CCC according to a preset rate limiting policy associated with each CCC, if the sum of the transmission rates of service flows transmitted in multiple PDCs associated with each CCC exceeds the adjusted CCC rate limit value of each CCC, then the PDC rate limit value of each PDC is adjusted according to the preset rate limiting policy associated with each PDC. Thus, by adjusting the PDC rate limit value through a preset rate limiting policy, flow control of service flows can be achieved, effectively avoiding CCC congestion, reducing data packet loss during service flow transmission, and thereby improving user experience.

[0082] In some embodiments, after adjusting the PDC rate limit value of each PDC according to a preset rate limiting policy associated with each PDC, if the sum of the transmission rates of multiple service flows associated with each PDC exceeds the adjusted PDC rate limit value of each PDC, the flow rate limit value of each service flow is adjusted according to the preset rate limiting policy associated with each service flow. Thus, by adjusting the flow rate limit value of service flows through preset rate limiting policies, flow control of service flows can be achieved, effectively avoiding PDC congestion, reducing data packet loss during service flow transmission, and thereby improving user experience.

[0083] In some embodiments, the preset speed limiting policy includes at least one of the following:

[0084] Proportional speed limiting strategy;

[0085] Rate limiting policies based on the priority of the Traffic Class (TC) used by the PDC;

[0086] Rate limiting strategies based on the weight of business traffic type; for example, business traffic types may include, but are not limited to, intelligent computing traffic type, data express traffic type, ordinary traffic type, control flow traffic type, elephant flow traffic type, and mouse flow traffic type, etc.

[0087] Rate limiting strategy based on congestion level weights.

[0088] In some embodiments, before adjusting the CCC speed limit value of each CCC according to the preset speed limit policy associated with each CCC, the preset speed limit policy can be obtained from the control plane or user equipment via the southbound interface.

[0089] In this embodiment of the disclosure, one outgoing port of a network device can be associated with multiple CCCs. If the sum of the transmission rates of the service flows scheduled by the multiple CCCs is greater than the maximum transmission rate of the outgoing port associated with the multiple CCCs, it may cause congestion at the outgoing port, resulting in packet loss in the service flow transmission and thus affecting the user experience.

[0090] In view of this, this disclosure also provides another flow control method for the Super Ethernet transport layer, which can be applied to, but is not limited to, the scenario shown in Figure 2. A detailed description is provided below with reference to the accompanying drawings.

[0091] Secondly, referring to Figure 4, which is a schematic flowchart of another flow control method for the Super Ethernet transport layer provided in the embodiments of this disclosure, applied to a network device, the network device may include a router, switch or other device with data processing and forwarding functions, and the method may include S401.

[0092] In S401: When the sum of the transmission rates of service flows scheduled by multiple CCCs is greater than the maximum transmission rate of the output ports associated with multiple CCCs, the CCC rate limit value of each CCC is adjusted according to the preset rate limit policy associated with each CCC to achieve flow control of the service flows.

[0093] In some embodiments, after adjusting the CCC rate limit value of each CCC according to a preset rate limiting policy associated with each CCC, if the sum of the transmission rates of service flows transmitted in multiple PDCs associated with each CCC exceeds the adjusted CCC rate limit value of each CCC, then the PDC rate limit value of each PDC is adjusted according to the preset rate limiting policy associated with each PDC. Thus, by adjusting the PDC rate limit value through a preset rate limiting policy, flow control of service flows can be achieved, effectively avoiding CCC congestion, reducing data packet loss during service flow transmission, and thereby improving user experience.

[0094] In some embodiments, after adjusting the PDC rate limit value of each PDC according to a preset rate limiting policy associated with each PDC, if the sum of the transmission rates of multiple service flows associated with each PDC exceeds the adjusted PDC rate limit value of each PDC, the flow rate limit value of each service flow is adjusted according to the preset rate limiting policy associated with each service flow. Thus, by adjusting the flow rate limit value of service flows through preset rate limiting policies, flow control of service flows can be achieved, effectively avoiding PDC congestion, reducing data packet loss during service flow transmission, and thereby improving user experience.

[0095] In some embodiments, the preset speed limiting policy includes at least one of the following:

[0096] Proportional speed limiting strategy;

[0097] Rate limiting policies based on the priority of the Traffic Class (TC) used by the PDC;

[0098] Rate limiting strategies based on the weight of business traffic type; for example, business traffic types may include, but are not limited to, intelligent computing traffic type, data express traffic type, ordinary traffic type, control flow traffic type, elephant flow traffic type, and mouse flow traffic type, etc.

[0099] Rate limiting strategy based on congestion level weights.

[0100] In some embodiments, before adjusting the CCC speed limit value of each CCC according to the preset speed limit policy associated with each CCC, the preset speed limit policy can be obtained from the control plane or user equipment via the southbound interface.

[0101] To enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of this disclosure, the technical solutions provided by the embodiments of this disclosure will be further described below through exemplary embodiments:

[0102] To implement the flow control method of the Super Ethernet transport layer provided in this disclosure, it is necessary to deploy and configure the transport layer of the network device accordingly. The following description is based on some embodiments.

[0103] Referring to Figure 5, which is a schematic diagram of a hierarchical deployment of the transport layer of a network device according to an embodiment of this disclosure, fine-grained traffic control is achieved by adding rate limiting components and scheduling components at various levels to the transport layer. In the transport layer deployment scheme shown in Figure 5, a flow rate limiter is deployed for each flow in the transport layer to manage the flow rate limit value of each flow. A PDC rate limiter and a flow scheduler are deployed for each PDC. The PDC rate limiter manages the PDC rate limit value of each PDC. The flow scheduler can make scheduling decisions when the sum of the transmission rates of each flow associated with a PDC is greater than the PDC rate limit value of that PDC. A CCC rate limiter and a PDC scheduler are deployed for each CCC. The CCC rate limiter manages the CCC rate limit value of the CCC. The PDC scheduler can make scheduling decisions when the sum of the transmission rates of the flows transmitted in each PDC associated with a CCC is greater than the CCC rate limit value of that CCC. A CCC scheduler is deployed at the output port. The CCC scheduler can make scheduling decisions when the sum of the transmission rates of the flows scheduled by each CCC associated with the output port is greater than the maximum transmission rate of that output port.

[0104] Referring to Figure 6, a flowchart of another flow control method for the Super Ethernet transport layer provided in this embodiment is shown. This embodiment can be applied to network devices in the transport layer deployment mode shown in Figure 5, but is not limited to this embodiment. This embodiment is illustrated by configuring the rate limit values ​​of each layer through the application layer. The method can include steps S1 to S5.

[0105] In step S1: The application layer configures the service flow identifier (flow id) and flow rate limit value for the service flow.

[0106] It is understandable that this application layer can belong to network devices or terminal devices, such as the source terminal device that initiates the service flow or the destination terminal device that receives the service flow.

[0107] In this embodiment, the application layer can configure the flow ID and flow rate limit value for each service flow requested to be established. Taking the establishment of four service flows as shown in Figure 6 as an example, when the application layer requests to establish service flows 1 to 4, it can configure the flow IDs of service flows 1 to 4 as flow1 to flow4 respectively.

[0108] In step S2: The SES sublayer obtains the flow ID and flow rate limit value of the business flow from the application layer.

[0109] For example, the SES sublayer can obtain a first indication (also known as a rate limit indication) from the application layer through the interface between the SES sublayer and the application layer, and use the first indication to indicate the rate limit value of the service flow.

[0110] For example, a first indication can be added to the fi_tx_attr structure parameter transmitted between the SES sublayer and the application layer.

[0111] In this embodiment, after the SES sublayer obtains the flow IDs and flow rate limiting values ​​for service flows 1 to 4 from the application layer, it can create a rate limiter for each service flow and configure the rate limiting value of the corresponding rate limiter according to the flow rate limiting value configured for each service flow by the application layer. For example, a flow1 rate limiter can be created for service flow 1, and the flow rate limiting value configured for service flow 1 by the application layer can be set as the rate limiting value of the flow1 rate limiter. A similar approach can be used to create flow rate limiters for service flows 2 to 4 and configure the rate limiting values ​​of the flow rate limiters, which will not be elaborated here.

[0112] In this embodiment, after the service flow arrives at the SES sublayer, the SES sublayer requests the PDS sublayer to transmit the service flow. When the PDS sublayer transmits the service flow, it can associate a PDC with the service flow, and then transmit the service flow through the PDC.

[0113] In step S3: The PDS sublayer obtains the flow rate limit value of the service flow from the SES sublayer, and determines the PDC rate limit value of the PDC based on the flow rate limit value of each service flow associated with the PDC.

[0114] For example, the PDS sublayer can obtain a second indication (also known as a rate limit indication) from the SES sublayer through the interface between the PDS sublayer and the SES sublayer, and use the second indication to indicate the flow rate limit value of the service flow.

[0115] For example, a second indicator can be added to the ses_pds_tx_req structure parameter transmitted between the SES sublayer and the PDS sublayer, as shown in Table 4. The second indicator is the rate-limiter in Table 4, which is used to indicate the rate limit value of the service flow.

[0116] Table 4. Parameter List of the ses_pds_tx_req Structure

[0117] For example, after the PDS sublayer obtains the flow ID and flow rate limit value of service flow 1 to service flow 4 from the SES sublayer, it can determine the sum of the flow rate limit values ​​of service flow 1 and service flow 2 associated with PDC1 as the PDC rate limit value of PDC1, and can determine the sum of the flow rate limit values ​​of service flow 3 and service flow 4 associated with PDC2 as the PDC rate limit value of PDC2.

[0118] In this embodiment, when associating a PDC with a service flow in the PDS sublayer, a suitable PDC can be determined from the existing PDCs for association. If no suitable PDC is found among the existing PDCs, a new PDC is created for that service flow. A PDC identifier can be configured for each created PDC, and a PDC rate limiter can be created for it. The rate limit value of the corresponding PDC rate limiter can be configured based on the flow rate limit value of the service flow associated with each PDC. For example, in the example shown in Figure 6, a PDC1 rate limiter can be created for PDC1, and the sum of the flow rate limits of service flows 1 and 2 associated with PDC1 can be configured as the rate limit value of the PDC1 rate limiter; a PDC2 rate limiter can be created for PDC2, and the sum of the flow rate limits of service flows 3 and 4 associated with PDC2 can be configured as the rate limit value of the PDC2 rate limiter.

[0119] In step S4: CCC obtains the PDC speed limit value from its associated PDC, and determines the CCC speed limit value of CCC based on the PDC speed limit value of each PDC associated with CCC.

[0120] In this embodiment, after the service flow is associated with the PDC, the PDC requests the CCC to perform congestion management, and each PDC can be associated with the CCC that performs congestion management on it.

[0121] For example, the CCC can obtain a third indication (also known as a speed limit indication) from the PDC associated with it through the interface between the CCC and the PDC, and use the third indication to indicate the PDC speed limit value of the PDC associated with the CCC.

[0122] For example, a third indicator (i.e., the rate_limiter in this information) can be added to AllocateCCC(bool:sprayed,int:rate_limiter)->int:CCC-id transmitted between the CCC and PDC to indicate the PDC rate limit value.

[0123] In this embodiment, when associating a PDC with a CCC in the PDS sublayer, a suitable CCC can be determined from the already created CCCs for association. If no suitable CCC is found among the already created CCCs, a new CCC is created for the PDC. A CCC identifier can be configured for each created CCC, and a CCC rate limiter can be created for it. The rate limit value of the corresponding CCC rate limiter can be configured based on the PDC rate limit value of the PDC associated with each CCC. For example, in the example shown in Figure 6, a CCC1 rate limiter can be created for CCC1, and the sum of the flow rate limit values ​​of PDC1 and PDC2 associated with CCC1 can be configured as the rate limit value of the CCC1 rate limiter.

[0124] In step S5: The application layer deletes or adds service flows. After deleting or adding a service flow, the PDC rate limit value of the PDC associated with it and the CCC rate limit value of the CCC associated with the PDC are updated.

[0125] For example, taking the deletion of service flow 1 in Figure 6 as an example, when the application layer triggers the deletion of service flow 1, it can notify the SES sublayer to delete service flow 1. The SES sublayer deletes the flow1 rate limiter and related configuration parameters, and sends a message to the PDS sublayer to delete service flow 1. After confirming the deletion of service flow 1, the PDS sublayer subtracts the flow rate limit value of service flow 1 from the rate limit value of the PDC1 rate limiter to obtain the updated rate limit value. PDC1 sends a message to its associated CCC1 to delete service flow 1, and subtracts the flow rate limit value of service flow 1 from the rate limit value of the CCC1 rate limiter to obtain the updated rate limit value.

[0126] For example, taking the addition of service flow 5 in Figure 6 as an example (service flow 5 is not shown in Figure 6), when the application layer triggers the creation of service flow 5, it can configure the service flow identifier flow5 and the flow rate limit value for service flow 5. It can notify the SES sublayer to add service flow 5. The SES sublayer can obtain the flow5 and flow rate limit value of service flow 5 from the application layer. Then, the SES sublayer can send a message to the PDS sublayer to add service flow 1. The PDS sublayer obtains the flow rate limit value of service flow 5 from the SES sublayer and associates service flow 5 with PDC2. At this time, the sum of the rate limit value of PDC2 rate limiter and the flow rate limit value of service flow 5 can be determined as the rate limit value of PDC2 rate limiter after adding service flow 5. PDC2 sends a message to CCC1 associated with it to add service flow 5. The sum of the rate limit value of CCC1 rate limiter and the flow rate limit value of service flow 5 can be determined as the rate limit value of CCC1 rate limiter after adding service flow 5.

[0127] By adding fine-grained rate limiting components such as flow rate limiters and PDC rate limiters to the UET transport layer through the above embodiments, fine-grained flow control can be achieved, which can meet the needs of application scenarios with high requirements for flow control accuracy, thereby effectively avoiding system overload and ensuring system performance.

[0128] Referring to Figure 7, a flowchart of another flow control method for the Super Ethernet transport layer provided in this embodiment of the present disclosure is shown. This embodiment can be applied to network devices in the transport layer deployment mode shown in Figure 5, but is not limited to this method. The method may include steps S1 to S3.

[0129] In step S1: If the sum of the transmission rates of the service flows scheduled by CCC1 and CCC2 is greater than the maximum transmission rate of the outgoing ports associated with CCC1 and CCC2, the CCC rate limit values ​​of CCC1 and CCC2 are adjusted according to the preset rate limit policy associated with CCC1 and CCC2 to achieve flow control of the service flows.

[0130] In this embodiment, the service flow scheduled by CCC1 refers to flow1 to flow4 transmitted through PDC1 and PDC2 associated with CCC1, and the service flow scheduled by CCC2 refers to flow5 to flow8 transmitted through PDC3 and PDC4 associated with CCC2. That is, the sum of the transmission rates of the service flows scheduled by CCC1 and CCC2 is the sum of the transmission rates of flow1 to flow8. When the sum of the transmission rates of flow1 to flow8 is greater than the maximum transmission rate of the output port, the CCC scheduler of the output port can adjust the CCC rate limit value of CCC1 and CCC2 according to the preset rate limit policy.

[0131] In this embodiment, the preset speed limit strategy associated with CCC can be any speed limit strategy described above. The following describes the speed limit adjustment method in conjunction with different preset speed limit strategies.

[0132] For example, the preset speed limiting strategy is a proportional speed limiting strategy. For instance, the original speed limits of each CCC can be proportionally limited. In this case, the updated CCC speed limit can be determined by the following formula:

[0133] The updated CCC speed limit = the original CCC speed limit * the speed limit factor;

[0134] When using a proportional speed limit strategy, the speed limit coefficient can be determined as follows:

[0135] Rate limiting factor = Maximum transmission rate of the output port / Sum of the original rate limiting values ​​of all CCCs associated with the output port.

[0136] Example 1: If a proportional rate limiting strategy is adopted, taking the original rate limit value of CCC1 as 20Gbps, the original rate limit value of CCC2 as 30Gbps, and the maximum transmission rate of the output port as 40Gbps in Figure 7, the updated rate limit values ​​of each CCC are as follows:

[0137] The updated CCC1 speed limit = the original CCC1 speed limit * speed limit coefficient = 20 * 40 / (20 + 30) = 16 Gbps;

[0138] The updated CCC2 speed limit = the original CCC2 speed limit * speed limit coefficient = 30 * 40 / (20 + 30) = 24 Gbps.

[0139] For example, the preset rate limiting strategy is a rate limiting strategy based on the weight of congestion level. That is, the rate limiting value of each CCC can be adjusted according to the weight of the congestion level of each CCC. A larger weight can be assigned to CCCs with lower congestion levels, and a smaller weight can be assigned to CCCs with higher congestion levels. In this case, the updated CCC rate limiting value can be determined by the following formula:

[0140] The updated CCC speed limit value = the original CCC speed limit value * the weight of the CCC congestion level * the speed limit coefficient;

[0141] When using a rate limiting strategy based on congestion level weights, taking n CCCs associated with the outgoing port as an example (n is an integer greater than or equal to 2), the rate limiting coefficient can be determined as follows:

[0142] Rate limiting factor = Maximum transmission rate of output port / (weight of CCC1 * original rate limiting value of CCC1 + ... + weight of CCCn * original rate limiting value of CCCn).

[0143] For example, the congestion level of a CCC can be determined based on the proportion of Explicit Congestion Notification (ECN) messages counted by the CCC, or it can be determined based on the proportion of Negative Acknowledgment (NACK) messages counted by the CCC. For CCCs with a low proportion of ECN messages or a low proportion of NACK messages, a larger weight can be assigned to the congestion level; conversely, for CCCs with a high proportion of ECN messages or a high proportion of NACK messages, a smaller weight can be assigned to the congestion level.

[0144] For example, the preset rate limiting policy is a rate limiting policy based on the weight of the traffic category priority used by the PDC. That is, the rate limiting value of each CCC can be adjusted according to the weight of the traffic category priority used by the PDC associated with each CCC. A larger weight can be configured for CCCs with higher traffic category priority used by the associated PDC, and a smaller weight can be configured for CCCs with lower traffic category priority used by the associated PDC. In this case, a traffic category tag also needs to be added to the interface between the PDC and the CCC. The updated CCC rate limiting value can be determined by the following formula:

[0145] The updated CCC rate limit value = the original rate limit value of CCC * the weight of the traffic category priority used by the PDC associated with CCC * the rate limit coefficient;

[0146] When using a rate-limiting strategy based on the priority of traffic categories used by PDCs, taking n CCCs associated with the outgoing port as an example (n is an integer greater than or equal to 2), the rate-limiting coefficient can be determined as follows:

[0147] Rate limiting factor = Maximum transmission rate of output port / (weight of CCC1 * original rate limiting value of CCC1 + ... + weight of CCCn * original rate limiting value of CCCn).

[0148] After executing step S1, the rate limit value of some or all CCCs may be reduced. When the rate limit value of a CCC is reduced, it may be less than the sum of the rate limits of its associated PDCs. At this time, the PDC scheduler can make scheduling decisions among the various PDCs.

[0149] In step S2: If the sum of the transmission rates of the service flows transmitted in the multiple PDCs associated with each CCC is greater than the adjusted CCC rate limit value of each CCC, the PDC rate limit value of each PDC is adjusted according to the preset rate limit policy associated with each PDC.

[0150] In this embodiment, the preset rate limiting policy associated with the PDC can be any rate limiting policy described above. The use of the rate limiting policy will be described in detail below with reference to the exemplary embodiments. Here, we will only take the preset rate limiting policy associated with the PDC as a rate limiting policy based on the weight of the traffic category priority used by the PDC as an example.

[0151] For example, the preset rate limiting policy associated with a PDC is a rate limiting policy based on the weight of the traffic category priority used by the PDC. That is, the rate limiting value of each PDC can be adjusted according to the weight of the traffic category priority used by each PDC. A larger weight can be configured for PDCs using higher traffic category priority, and a smaller weight can be configured for PDCs using lower traffic category priority. In this case, the updated PDC rate limiting value can be determined by the following formula:

[0152] Updated PDC rate limit = Original PDC rate limit * Weight of traffic category priority used by PDC * Rate limit coefficient;

[0153] Taking a CCC associated with n PDCs as an example (n is an integer greater than or equal to 2), the speed limit factor can be determined as follows:

[0154] Speed ​​limit factor α(CCC) = Adjusted CCC speed limit value / (weight of PDC1 * original speed limit value of PDC1 + ... + weight of PDCn * original speed limit value of PDCn).

[0155] After executing step S2, the rate limit value of some or all PDCs may be reduced. When the rate limit value of a PDC is reduced, it may be less than the sum of the rate limits of its associated flows. At this time, the flow scheduler can make scheduling decisions among the various flows.

[0156] In step S3: If the sum of the transmission rates of multiple flows associated with each PDC is greater than the adjusted PDC rate limit value of each PDC, the flow rate limit value of each flow is adjusted according to the preset rate limit strategy associated with each flow.

[0157] In this embodiment, the preset rate limiting strategy associated with flow can be any rate limiting strategy described above. The use of the rate limiting strategy will be explained in detail below with reference to exemplary embodiments. Here, we will only take the preset rate limiting strategy associated with flow as a rate limiting strategy based on the weight of business traffic type as an example for explanation.

[0158] For example, the preset rate limiting strategy associated with a flow is a rate limiting strategy based on the weight of the business traffic type. That is, the rate limiting value of each flow can be adjusted according to the weight of the business traffic type corresponding to each flow. In this case, the updated flow rate limiting value can be determined by the following formula:

[0159] The updated flow rate limit = the original flow rate limit * the weight of the business traffic type corresponding to the flow * the rate limit coefficient;

[0160] Taking a PDC associated with n flows as an example (n is an integer greater than or equal to 2), the speed limit factor can be determined as follows:

[0161] Speed ​​limit factor α (PDC) = Adjusted PDC speed limit value / (weight of flow1 * original speed limit value of flow1 + ... + weight of flown * original speed limit value of flown).

[0162] It should be noted that when the preset rate limiting policy associated with a flow is based on the weight of the business traffic type, the interface between the SES sublayer and the PDS sublayer also needs to add an indicator to identify the business traffic type in order to indicate the business traffic type of the flow.

[0163] For example, referring to Figure 8, which is a schematic diagram of a preset rate limiting strategy configuration provided in an embodiment of this disclosure, the preset rate limiting strategy used by the CCC scheduler, PDC scheduler and flow scheduler and other schedulers at all levels can be configured as a whole by the user or the control plane.

[0164] In the example shown in Figure 8, the preset rate limiting strategies used by each level of the scheduler are as follows:

[0165] 1) Configure the preset rate limiting policy of the CCC scheduler to a proportional rate limiting policy.

[0166] 2) Configure the PDC scheduler's preset rate limiting policy as a rate limiting policy based on the weight of the traffic category priority used by the PDC. For example, the weight of PDCs using high-priority traffic categories can be configured as 1.2, and the weight of PDCs using low-priority traffic categories can be configured as 0.8.

[0167] 3) Configure the flow scheduler's preset rate limiting policy as a rate limiting policy based on the weight of the service traffic type. For example, the weight of intelligent computing service traffic can be configured as 1.2, the weight of data express service traffic can be configured as 1, and the weight of other service traffic besides intelligent computing service traffic and data express service traffic can be configured as 0.8.

[0168] For example, the user or control plane can issue the above-mentioned rate limiting policy to the network device through the southbound interface. For instance, taking the southbound interface as the yang interface, the configuration parameters for issuing the above-mentioned rate limiting policy through the southbound interface are shown in Figure 9.

[0169] It is understood that other southbound interface protocols, such as SNMP and BGPCEP, can also be used for the parameter configuration of the above-mentioned rate limiting policy. The choice of which protocol and specific format to use is related to the implementation, and this embodiment does not impose any restrictions.

[0170] It is understood that the above-mentioned preset speed limiting strategies and methods are merely examples. This disclosure does not limit the preset speed limiting strategies, nor does it restrict other possible implementation methods.

[0171] Referring to Figure 10, a flowchart of another flow control method for the Super Ethernet transport layer provided by this disclosure is shown. This embodiment can be applied to network devices in the transport layer deployment mode shown in Figure 5, but is not limited to. This embodiment describes a fine-grained rate limiting scheme based on flow, PDC, and CCC, as well as the configuration method of the rate limiter. In this embodiment, the application layer creates four service flows with flow IDs flow1 to flow4. Flow1 and flow2 are associated with the same PDC (PDC1), flow3 and flow4 are associated with the same PDC (PDC2), and PDC1 and PDC2 are associated with the same CCC (CCC1). The service flow creation order is flow1->flow2->flow3->flow4. The flow rate limiting values ​​for flow1 to flow4 are 5Gbps, 10Gbps, 5Gbps, and 6Gbps, respectively, and the maximum transmission rate of the outgoing port is 100Gbps. This method may include steps S1 to S12.

[0172] In step S1: The application layer requests the SES sublayer to send flow1 and transmits the flow rate limit value (5Gbps) of flow1 through the interface. The SES sublayer establishes flow1 and the corresponding flow rate limiter 1, and the flow rate limiter 1 is configured with a rate limit value of 5Gbps.

[0173] In step S2: The SES sublayer requests the PDS sublayer to send flow1. The PDS sublayer creates PDC1 and the corresponding PDC rate limiter 1. The rate limit value of PDC rate limiter 1 is configured to be the rate limit value of flow rate limiter 1 (5Gbps). The PDS sublayer returns the PDC1 associated with flow1 to the SES sublayer.

[0174] In step S3: PDC1 requests association with CCC, the PDS sublayer creates CCC1 and the corresponding CCC speed limiter 1, the speed limit value of CCC speed limiter 1 is configured as the speed limit value of PDC speed limiter 1, and the CCC1 associated with PDC1 is returned to PDC1.

[0175] In step S4: The application layer requests the SES sublayer to send flow2 and transmits the flow rate limit value (10Gbps) of flow2 through the interface. The SES sublayer establishes flow2 and the corresponding flow rate limiter 2, and the flow rate limiter 2 is configured with a rate limit value of 10Gbps.

[0176] In step S5: The SES sublayer requests the PDS sublayer to send flow2. The PDS sublayer determines that flow2 can be sent through PDC1. At this time, the rate limit value of PDC rate limiter 1 is increased by the flow rate limit value of flow2, and the rate limit value of PDC rate limiter 1 is updated to 15Gbps. The PDS sublayer returns the PDC1 associated with flow2 to the SES sublayer.

[0177] In step S6: PDC1 requests CCC1 to update the speed limit value of CCC speed limiter 1 to 15Gbps via the interface.

[0178] The creation process for flow3 and flow4 is similar to that for flow1 and flow2:

[0179] In step S7: The application layer requests the SES sublayer to send flow3 and transmits the flow rate limit value (5Gbps) of flow3 through the interface. The SES sublayer establishes flow3 and the corresponding flow rate limiter 3, and the flow rate limiter 3 is configured with a rate limit value of 5Gbps.

[0180] In step S8: The SES sublayer requests the PDS sublayer to send flow3. The PDS sublayer determines that PDC1 resources are insufficient. At this time, the PDS sublayer creates PDC2 and the corresponding PDC rate limiter 2. The rate limit value of PDC rate limiter 2 is configured to be the rate limit value of flow rate limiter 3 (5Gbps). The PDS sublayer returns the PDC2 associated with flow3 to the SES sublayer.

[0181] In step S9: PDC2 requests association with CCC, CCC assigns CCC1 to PDC2, increases the speed limit value of CCC speed limiter 1 by the speed limit value of PDC speed limiter 2, and updates the speed limiter value of CCC speed limiter 1 to 20Gbps.

[0182] In step S10: The application layer requests the SES sublayer to send flow4 and transmits the flow rate limit value (6Gbps) of flow4 through the interface. The SES sublayer establishes flow4 and the corresponding flow rate limiter 4, and the flow rate limiter 4 is configured with a rate limit value of 6Gbps.

[0183] In step S11: The SES sublayer requests the PDS sublayer to send flow4. The PDS sublayer determines that flow4 can be sent through PDC2. At this time, the rate limit value of PDC rate limiter 2 is increased by the flow rate limit value of flow4, and the rate limit value of PDC rate limiter 2 is updated to 11Gbps. The PDS sublayer returns the PDC2 associated with flow4 to the SES sublayer.

[0184] In step S12: PDC2 requests CCC1 to update the speed limit value of CCC speed limiter 1 to 26Gbps via the interface.

[0185] In this embodiment, after executing steps S1 to S12, the speed limit values ​​of the speed limiters after successful configuration of flow1 to flow4 are shown in Figure 10.

[0186] Referring to Figure 11, a flowchart of another flow control method for the Super Ethernet transport layer provided in this embodiment is shown. This embodiment can be applied to network devices in the transport layer deployment mode shown in Figure 5, and describes the scheduling and rate limiting strategies when the outgoing port is congested. In this embodiment, the application layer creates 8 service flows, with flow IDs from flow1 to flow8. Among them, the service traffic type of flow1, flow3, flow5, and flow7 is intelligent computing service traffic; the service traffic type of flow2 and flow4 is data express service traffic; and the service traffic type of flow6 and flow8 is ordinary service traffic. Flow1 to flow2 are associated with PDC1, flow3 to flow4 are associated with PDC2, flow5 to flow6 are associated with PDC3, and flow7 to flow8 are associated with PDC4. PDC1 and PDC3 use high-priority TCs, while PDC2 and PDC4 use low-priority TCs. PDC1 to PDC2 are associated with CCC1, and PDC3 to PDC4 are associated with CCC2. The maximum transmission rate of the outgoing port is configured to 100Gbps.

[0187] In this embodiment, the flow rate limits for flow1 to flow8 are configured as 10Gbps, 20Gbps, 10Gbps, 20Gbps, 20Gbps, 10Gbps, 10Gbps, and 20Gbps, respectively. The method for updating the rate limit configuration at each level can be found in Figure 10, and will not be repeated here. After flow1 to flow8 have been created, the PDC rate limit for PDC1 to PDC4 can be configured as 30Gbps, and the CCC rate limit for CCC1 and CCC2 can be configured as 60Gbps.

[0188] Before creating flow8, the sum of the transmission rates (100Gbps) of flows1 to 7 scheduled by CCC1 and CCC2 did not exceed the maximum transmission rate (100Gbps) of the output port. At this time, according to the method shown in Figure 10, the CCC rate limit of CCC1 can be configured as the sum of the PDC rate limit of PDC1 (the sum of the flow rate limits of flows1 to 2) and the PDC rate limit of PDC2 (the sum of the flow rate limits of flows3 to 4). That is, the CCC rate limit of CCC1 is 60Gbps, and the CCC rate limit of CCC2 can be... The PDC rate limit of PDC3 is configured as the sum of the flow rate limits of flow5 to flow6 and the PDC rate limit of PDC4 (the flow rate limit of flow7). That is, the CCC rate limit of CCC2 is 40Gbps. At this time, the CCC scheduler of the output port can schedule according to the CCC rate limits of CCC1 and CCC2 as weights. The PDC scheduler of CCC can schedule according to the PDC rate limit of its associated PDC as weights. The flow scheduler of PDC can schedule according to the flow rate limit of its associated flow as weights. This will not be elaborated further.

[0189] In this embodiment, the network device is configured according to the rate limiting policy configuration method shown in Figure 8 as an example.

[0190] After flow8 is created, the sum of the transmission rates of flow1 to flow8 scheduled by CCC1 and CCC2 (120Gbps) exceeds the maximum transmission rate of the outgoing port (100Gbps). At this time, the PDC rate limit value of PDC1 to PDC4 is 30Gbps, and the CCC rate limit value of CCC1 and CCC2 is 60Gbps. The network device can perform the rate limiting decision according to the following steps S1 to S3.

[0191] In step S1: The CCC adopts a proportional speed limiting strategy. At this time, the original speed limit values ​​of each CCC can be proportionally limited to obtain the updated speed limit values ​​of each CCC as follows:

[0192] Rate limiting factor α (output port) = Maximum transmission rate of output port / (Original rate limiting value of CCC1 + Original rate limiting value of CCC2) = 100 / (60 + 60) = 5 / 6;

[0193] The updated CCC1 speed limit value = the original CCC1 speed limit value * speed limit coefficient = 60 * α (output port) = 50Gbps;

[0194] The updated CCC2 speed limit value = the original CCC2 speed limit value * speed limit coefficient = 60 * α (output port) = 50Gbps.

[0195] In step S2: PDC1 to PDC4 adopt a rate limiting strategy based on the weight of the TC priority used by the PDC. The weight of the PDC using a high-priority TC is configured as 1.2, and the weight of the PDC using a low-priority TC is configured as 0.8. That is, the weight of PDC1 and PDC3 is 1.2, and the weight of PDC2 and PDC4 is 0.8. At this time, the original rate limiting value of each PDC can be rate limited based on the weight of the TC priority used by it. The updated rate limiting value of each PDC is determined according to the following method.

[0196] 1) First, determine the speed limit coefficient for each associated PDC based on the adjusted CCC speed limit value:

[0197] The speed limit coefficients for PDC1 and PDC2 can be determined using the following formula:

[0198] Speed ​​limit coefficient α(CCC1) = Adjusted speed limit value of CCC1 / (weight of PDC1 * original speed limit value of PDC1 + weight of PDC2 * original speed limit value of PDC2) = 50 / (1.2 * 30 + 0.8 * 30) = 5 / 6;

[0199] The speed limit coefficients for PDC3 and PDC4 can be determined using the following formula:

[0200] Speed ​​limit coefficient α(CCC2) = Adjusted CCC2 speed limit value / (PDC3 weight * PDC3 original speed limit value + PDC4 weight * PDC4 original speed limit value) = 50 / (1.2 * 30 + 0.8 * 30) = 5 / 6;

[0201] 2) Based on the original speed limit value of the PDC, the weight of the TC priority used by the PDC, and the speed limit coefficient, determine the updated speed limit value for each PDC:

[0202] The updated PDC1 speed limit value = the original speed limit value of PDC1 * the weight of the TC priority used by PDC1 * the speed limit coefficient α(CCC1) = 30 * 1.2 * α(CCC1) = 30Gbps;

[0203] The updated PDC2 speed limit value = the original speed limit value of PDC2 * the weight of the TC priority used by PDC2 * the speed limit coefficient α(CCC1) = 30 * 0.8 * α(CCC1) = 20Gbps;

[0204] The updated PDC3 speed limit value = the original speed limit value of PDC3 * the weight of the TC priority used by PDC3 * the speed limit coefficient α(CCC2) = 30 * 1.2 * α(CCC2) = 30Gbps;

[0205] The updated PDC4 speed limit value = the original speed limit value of PDC4 * the weight of the TC priority used by PDC4 * the speed limit coefficient α(CCC2) = 30 * 0.8 * α(CCC2) = 20Gbps.

[0206] In step S3: flow1 to flow8 adopt a rate limiting strategy based on the weight of the business traffic type. The weight of the intelligent computing business traffic is configured as 1.2, the weight of the flow corresponding to the data express business traffic is configured as 1, and the weight of other business traffic besides the intelligent computing business traffic and the data express business traffic is configured as 0.8. That is, the weight of flow1, flow3, flow5, and flow7 is 1.2, the weight of flow2 and flow4 is 1, and the weight of flow6 and flow8 is 0.8. At this time, the original rate limiting value of each flow can be rate limited based on the weight of its corresponding business traffic type. The updated rate limiting value of each flow is determined according to the following method.

[0207] 1) First, determine the rate limiting coefficient for each associated flow based on the adjusted PDC rate limiting value:

[0208] The speed limiting coefficients for flow1 and flow2 can be determined using the following formula:

[0209] Speed ​​limit coefficient α(PDC1) = Adjusted speed limit value of PDC1 / (weight of flow1 * original speed limit value of flow1 + weight of flow2 * original speed limit value of flow2) = 30 / (1.2 * 10 + 1 * 20) = 15 / 16;

[0210] The speed limiting factors for flow3 and flow4 can be determined using the following formula:

[0211] Speed ​​limit factor α(PDC2) = Adjusted speed limit value of PDC2 / (weight of flow3 * original speed limit value of flow3 + weight of flow4 * original speed limit value of flow4) = 20 / (1.2 * 10 + 1 * 20) = 5 / 8;

[0212] The speed limiting factors for flow5 and flow6 can be determined using the following formula:

[0213] Speed ​​limit factor α(PDC3) = Adjusted speed limit value of PDC3 / (weight of flow5 * original speed limit value of flow5 + weight of flow6 * original speed limit value of flow6) = 30 / (1.2 * 20 + 0.8 * 10) = 15 / 16;

[0214] The speed limiting factors for flow7 and flow8 can be determined using the following formula:

[0215] Speed ​​limit factor α(PDC4) = Adjusted speed limit value of PDC4 / (weight of flow7 * original speed limit value of flow7 + weight of flow8 * original speed limit value of flow8) = 20 / (1.2 * 10 + 0.8 * 20) = 5 / 7;

[0216] 2) Based on the original rate limit value of each flow, the weight of the corresponding business traffic type, and the rate limit coefficient, determine the updated rate limit value for each flow:

[0217] The updated flow1 rate limit = original flow1 rate limit * flow1 weight * rate limit coefficient α(PDC1) = 10 * 1.2 * α(PDC1) = 11.25Gbps;

[0218] The updated flow2 rate limit = original flow2 rate limit * flow2 weight * rate limit coefficient α(PDC1) = 20 * 1 * α(PDC1) = 18.75Gbps;

[0219] The updated flow3 rate limit = original flow3 rate limit * flow3 weight * rate limit coefficient α(PDC2) = 10 * 1.2 * α(PDC2) = 7.5Gbps;

[0220] The updated flow4 rate limit = original flow4 rate limit * flow4 weight * rate limit coefficient α(PDC2) = 20 * 1 * α(PDC2) = 12.5Gbps;

[0221] The updated flow5 rate limit = original flow5 rate limit * flow5 weight * rate limit coefficient α(PDC3) = 20 * 1.2 * α(PDC3) = 22.5Gbps;

[0222] The updated flow6 rate limit = original flow6 rate limit * flow6 weight * rate limit coefficient α(PDC3) = 10 * 0.8 * α(PDC3) = 7.5Gbps;

[0223] The updated flow7 rate limit = original flow7 rate limit * flow7 weight * rate limit coefficient α(PDC4) = 10 * 1.2 * α(PDC4) = 8.57 Gbps;

[0224] The updated flow8 rate limit = original flow8 rate limit * flow8 weight * rate limit coefficient α(PDC4) = 20 * 0.8 * α(PDC4) = 11.43 Gbps.

[0225] In this embodiment, after executing steps S1 to S3, the updated speed limit values ​​at each level are shown in Figure 11.

[0226] It is understood that the above embodiments are only some embodiments of this disclosure and are not intended to limit this disclosure. For those skilled in the art, this disclosure can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the protection scope of this disclosure.

[0227] Thirdly, referring to Figure 12, a schematic diagram of a network device according to an embodiment of the present disclosure is provided, which includes: at least one processor 1201, at least one memory 1202, and one or more I / O interfaces 1203. The one or more I / O interfaces 1203 are connected between the processor 1201 and the memory 1202. The memory 1202 stores one or more computer programs, which are executed by the at least one processor 1201 to enable the at least one processor 1201 to implement the first aspect and any possible embodiment thereof.

[0228] Among them, the processor is a device with data processing capabilities, including but not limited to the central processing unit (CPU); the memory is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read-write interface) is connected between the processor and the memory, enabling information exchange between the memory and the processor, including but not limited to the data bus (Bus).

[0229] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the first aspect and any possible embodiments thereof.

[0230] Those skilled in the art will understand that all or some of the steps, systems, and devices disclosed above, as functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0231] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.

[0232] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only optical disc (CD-ROM), digital versatile disc (DVD) or other optical disc storage; magnetic cartridges, magnetic tapes, disk storage or other magnetic storage; and any other media that can be used to store desired information and can be accessed by a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0233] This disclosure has disclosed exemplary embodiments, and although specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.

Claims

1. A flow control method for a Super Ethernet transport layer, applied to network devices, comprising: Obtain the rate limit value for the business flow; The PDC rate limit value of the PDC is determined based on the flow rate limit value of each of the service flows associated with the message delivery connection PDC; Based on the PDC rate limit value associated with each of the PDCs, the CCC rate limit value of the CCC is determined to achieve flow control of the service flow.

2. The method of claim 1, wherein, The PDC rate limit value includes the sum of the rate limit values ​​for each of the service flows associated with the PDC.

3. The method of claim 1, wherein, The CCC speed limit value includes the sum of the PDC speed limit values ​​of each PDC associated with the CCC.

4. The method according to any one of claims 1 to 3, wherein, After determining the CCC speed limit value of the CCC based on the PDC speed limit value associated with each of the PDCs, the method further includes: Obtain the flow rate limit value of the target service flow associated with the PDC, wherein the target service flow is the service flow to be deleted in the service flow; The difference between the PDC rate limit value and the flow rate limit value of the target service flow is determined as the PDC rate limit value after the target service flow is deleted; The difference between the CCC rate limit value and the flow rate limit value of the target service flow is determined as the CCC rate limit value after the target service flow is deleted.

5. The method of claim 1, wherein, The transport layer of the network device includes a first sublayer and a second sublayer. The first sublayer is directly connected to the application layer through a first interface. The second sublayer is directly connected to the first sublayer through a second interface. The second sublayer is indirectly connected to the application layer through the first sublayer. The PDC belongs to the second sublayer. The process of obtaining the flow rate limit value of the service flow includes: A first indication is obtained from the application layer through the first interface between the first sub-layer and the application layer. The first indication is used to indicate the flow rate limit value of the service flow. A second indication is obtained from the first sublayer through the second interface between the second sublayer and the first sublayer. The second indication is used to indicate the flow rate limit value of the service flow.

6. The method of claim 5, wherein, The CCC belongs to the second sub-layer. Before determining the CCC speed limit value of the CCC based on the PDC speed limit value associated with each of the PDCs, the method further includes: A third indication is obtained through the interface between the CCC and the PDC, the third indication being used to indicate the PDC speed limit value of the PDC associated with the CCC.

7. The method of claim 1, wherein, The method further includes: The CCC rate limit value based on congestion feedback is determined according to a preset congestion control algorithm. According to preset conditions, the CCC rate limit value based on congestion feedback, or the CCC rate limit value determined according to the PDC rate limit value of each PDC associated with the CCC, is determined as the rate limit value of the CCC. The preset conditions include any of the following: All of the aforementioned service flows are configured with a flow rate limit; Some of the service flows described have not been configured with flow rate limits.

8. A flow control method for a Super Ethernet transport layer, applied to network devices, comprising: When the sum of the transmission rates of service flows scheduled by multiple congestion control functions (CCCs) exceeds the maximum transmission rate of the outgoing ports associated with the multiple CCCs, the CCC rate limit value of each CCC is adjusted according to the preset rate limit policy associated with each CCC to achieve flow control of the service flows.

9. The method of claim 8, wherein, After adjusting the CCC speed limit value of each CCC according to the preset speed limit strategy associated with each CCC, the method further includes: If the sum of the transmission rates of the service flows transmitted in the multiple message delivery connection PDCs associated with each CCC is greater than the adjusted CCC rate limit value of each CCC, the PDC rate limit value of each PDC is adjusted according to the preset rate limit policy associated with each PDC.

10. The method of claim 9, wherein, After adjusting the PDC speed limit value of each PDC according to the preset speed limit strategy associated with each PDC, the method further includes: If the sum of the transmission rates of multiple service flows associated with each PDC is greater than the adjusted PDC rate limit value of each PDC, the flow rate limit value of each service flow is adjusted according to the preset rate limit policy associated with each service flow.

11. The method of any one of claims 8-10, wherein, The preset speed limiting strategy includes at least one of the following: Proportional speed limiting strategy; Rate limiting strategies based on the priority of traffic categories used by PDC; Rate limiting strategies based on the weight of business traffic type; Rate limiting strategy based on congestion level weights.

12. The method of claim 8, wherein, Before adjusting the CCC speed limit value of each CCC according to the preset speed limit strategy associated with each CCC, the method further includes: The preset speed limit policy is obtained from the control plane or user equipment via the southbound interface.

13. A network device comprising a memory and a processor; the memory storing a computer program executable by the processor, wherein the computer program, when executed by the processor, implements the method of any one of claims 1 to 12.

14. A computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the method of any one of claims 1 to 12.