Traffic control method, routing and forwarding device, storage medium, and program product

By dynamically adjusting queue rate limits in the campus network and optimizing traffic control by combining packet loss information, the problems of insufficient flexibility and poor user experience in existing technologies have been solved, achieving more efficient traffic management and stability of audio and video conferencing applications.

WO2026066341A1PCT designated stage Publication Date: 2026-04-02HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

The existing traffic control methods in the campus network are not very flexible and cannot meet the real-time requirements of different applications, especially audio and video conferencing applications. Furthermore, the indiscriminate packet loss of the operator's network affects the user experience.

Method used

By classifying traffic in the routing and forwarding devices of the campus network, and dynamically adjusting the queue rate limits of multiple queues using the first and second packet loss information, priority is given to ensuring the traffic needs of audio and video conferencing applications, and the congestion control mechanism of TCP traffic is used to avoid indiscriminate packet loss.

Benefits of technology

It improves the flexibility of traffic control, ensures the real-time performance of audio and video conferencing applications, avoids poor user experience issues, and enhances the overall traffic control effect of the campus network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025104081_02042026_PF_FP_ABST
    Figure CN2025104081_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present application belong to the technical field of communications. Disclosed are a traffic control method, a routing and forwarding device, a storage medium, and a program product. In the embodiments of the present application, a first routing and forwarding device in a campus network classifies messages in traffic from a second routing and forwarding device in a provider network and caches same into a plurality of queues, and then acquires first packet loss information and second packet loss information, wherein the first packet loss information is used for indicating the packet loss status of the plurality of queues, and the second packet loss information is used for indicating the packet loss status at the second routing and forwarding device. Queue rate limits for the queues are dynamically adjusted on the basis of the first packet loss information and the second packet loss information, such that the queue rate limits corresponding to the queues can be more in line with the real status of traffic in the current network, thereby improving the traffic control effect. Compared with a method in which queue speed limits for different queues are configured only on the basis of contracted bandwidths, the traffic control method provided in the embodiments of the present application has higher flexibility, and thus has a better traffic control effect.
Need to check novelty before this filing date? Find Prior Art

Description

Traffic control method, routing forwarding device, storage medium and program product

[0001] The present application claims priority to the Chinese patent application No. 202411389519.3, filed on September 30, 2024, and entitled "Traffic control method, routing forwarding device, storage medium and program product", the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] Embodiments of the present application relate to the field of communication technology, in particular to a traffic control method, a routing forwarding device, a storage medium and a program product. BACKGROUND

[0003] Gateway and switch and other routing forwarding devices are deployed in a campus network, which are used to forward traffic from an operator network to terminal devices in the campus network, such as forwarding traffic from a provider edge (PE) device to terminal devices in the campus network.

[0004] In the related art, taking the gateway in the campus network as an example, the gateway can classify and cache traffic from the PE device to different queues, each queue corresponding to a queue rate limit, so as to control the traffic in the corresponding queue through the queue rate limit corresponding to each queue. Wherein, the queue rate limit corresponding to each queue is configured according to the subscribed bandwidth of the campus network at the operator, and this traffic control method has low flexibility. SUMMARY

[0005] Embodiments of the present application provide a traffic control method, a routing forwarding device, a storage medium and a program product, which can improve the flexibility of traffic control. The technical solution is as follows:

[0006] In a first aspect, a traffic control method is provided. In the method, a first routing forwarding device in a campus network receives total traffic from an operator network; the first routing forwarding device classifies the received total traffic, and caches messages in different application traffic in the classification result to a plurality of queues corresponding to different applications respectively, so as to control the sending rate of the messages in the corresponding queue through the queue rate limit corresponding to each queue, the sending rate being the rate of sending messages to terminal devices in the campus network, wherein the plurality of queues are used to cache messages in traffic from a second routing forwarding device in the operator network; the first routing forwarding device obtains first packet loss information and second packet loss information, the first packet loss information being used to indicate the packet loss situation of the plurality of queues, and the second packet loss information being used to indicate the packet loss situation at the second routing forwarding device; the first routing forwarding device adjusts the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information.

[0007] In the embodiment of the present application, the first routing forwarding device in the park network obtains the first packet loss information and the second packet loss information after classifying the traffic from the second routing forwarding device in the operator network into the plurality of queues, wherein the first packet loss information is used to indicate the packet loss condition of the plurality of queues, and the second packet loss information is used to indicate the packet loss condition at the second routing forwarding device. Through the packet loss condition of the plurality of queues at the first routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the park network, and through the packet loss condition at the second routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the operator network. Dynamically adjusting the queue rate limit of each queue according to the congestion condition of the park network and the congestion condition of the operator network can make the queue rate limit corresponding to each queue more consistent with the real situation of the traffic in the current network, thereby improving the traffic control effect. Compared with configuring the queue rate limit of different queues according to the subscription bandwidth only, the traffic control method provided in the embodiment of the present application has higher flexibility, and therefore has better traffic control effect.

[0008] In a possible implementation manner of the method provided in the first aspect, the plurality of queues include a first queue, the first queue is used to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the queue rate limit corresponding to the first queue after adjustment can meet the traffic demand of the target application.

[0009] In the above manner, the traffic demand of the target application can be preferentially guaranteed when the queue rate limit of each queue is dynamically adjusted.

[0010] In a possible implementation manner of the method provided in the first aspect, the target application includes an audio / video conference application.

[0011] Since the user side has a higher real-time requirement for the audio / video conference application, the traffic demand of the audio / video conference application can be preferentially guaranteed when the queue rate limit of each queue is adjusted, thereby avoiding problems such as lag when the user uses the audio / video conference application, and improving the user experience of using the audio / video conference application.

[0012] In a possible implementation manner of the method provided in the first aspect, the plurality of queues include a second queue, the second queue is used to buffer packets in TCP traffic with a priority lower than a second reference priority, and in a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, the queue rate limit corresponding to the second queue after adjustment is lower than the queue rate limit corresponding to the second queue before adjustment.

[0013] In a scenario where the second routing forwarding device is a PE device, the PE device needs to control the traffic forwarded to the campus network to avoid the traffic rate exceeding the subscribed bandwidth corresponding to the campus network. The operator can configure a rate threshold at the PE device according to the subscribed bandwidth corresponding to the campus network, and the PE device limits the rate of the traffic to be forwarded to the campus network according to the rate threshold. For example, when it is detected that the rate of the traffic to be forwarded to the campus network exceeds the rate threshold, packets are randomly selected from the traffic for packet loss to achieve the effect of controlling the traffic. This method can easily cause the traffic of some key applications such as audio and video conference applications to be lost, thereby affecting the experience of users in the campus network using such applications.

[0014] However, in the embodiments of the present application, the TCP traffic with a priority lower than the reference priority is separately buffered to a queue, so that when the first routing forwarding device detects that congestion occurs at the second routing forwarding device, the queue rate limit of the queue can be reduced. Since the TCP traffic has a congestion control mechanism, when the queue rate limit of the queue buffering the TCP traffic is reduced at the first routing forwarding device, the second routing forwarding device will trigger the reduction of the sending rate of the TCP traffic, so that the second routing forwarding device can leave the excess bandwidth to the traffic corresponding to other applications, such as the traffic corresponding to the audio and video conference applications, thereby avoiding the poor experience of users using the audio and video conference applications due to indiscriminate packet loss at the second routing forwarding device.

[0015] Based on the method provided in the first aspect, in a possible implementation manner, the implementation process of the first routing forwarding device for adjusting the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information can be: in a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, the total queue rate limit is lowered, the total queue rate limit being the sum of the queue rate limits corresponding to the queues in the plurality of queues; and the queue rate limit corresponding to each queue in the plurality of queues is adjusted according to the adjusted total queue rate limit.

[0016] When congestion occurs at the second routing forwarding device, the first routing forwarding device can lower the total queue rate limit, which can avoid the occurrence of congestion of the traffic at the first routing forwarding device. On the other hand, in a scenario where the plurality of queues includes a second queue for buffering TCP traffic with a low priority, after the total queue rate limit is lowered, the queue rate limit of the second queue is correspondingly lowered. Due to the congestion control mechanism of the TCP traffic, the second routing forwarding device can be further triggered to reduce the sending rate of the TCP traffic with a low priority, so that the excess bandwidth is left to other more important applications such as the audio and video conference applications to avoid indiscriminate packet loss at the second routing forwarding device in congestion.

[0017] In an implementation of the method provided in the first aspect, the implementation process of the lowering the queue limit sum can include: determining a sum of the queue limit currently corresponding to each of the plurality of queues to obtain a current queue limit sum; obtaining a lowering factor, the lowering factor being used to indicate a magnitude of lowering the current queue limit sum; and determining the lowered queue limit sum based on the lowering factor and the current queue limit sum.

[0018] In the embodiments of the present application, a lowering factor can be preconfigured at the first routing forwarding device, so as to lower the queue limit sum by using the lowering factor when it is detected that congestion occurs at the second routing forwarding device.

[0019] In an implementation of the method provided in the first aspect, the implementation process of the first routing forwarding device adjusting the queue limit corresponding to each of the plurality of queues based on the first packet loss information and the second packet loss information can include: in a case where it is determined based on the second packet loss information that no congestion occurs at the second routing forwarding device but it is determined based on the first packet loss information that congestion occurs at the first routing forwarding device, increasing the queue limit sum; and adjusting the queue limit corresponding to each of the plurality of queues according to the adjusted queue limit sum.

[0020] When no congestion occurs at the second routing forwarding device but congestion occurs at the first routing forwarding device, it indicates that the queue limit set at the first routing forwarding device is too low, and thus the queue limit sum can be increased, so that the bandwidth at the first routing forwarding device can be fully utilized.

[0021] In an implementation of the method provided in the first aspect, the implementation process of the increasing the queue limit sum can include: determining a sum of the queue limit currently corresponding to each of the plurality of queues to obtain a current queue limit sum; obtaining a bottleneck limit sum, the bottleneck limit sum being a sum of the queue limit corresponding to each of the plurality of queues when the congestion at the second routing forwarding device is determined last time; in a case where the current queue limit sum is less than the bottleneck limit sum and a difference between the bottleneck limit sum and the current queue limit sum exceeds a difference threshold, determining an average value between the current queue limit sum and the bottleneck limit sum as the increased queue limit sum; in a case where the current queue limit sum is less than the bottleneck limit sum and the difference between the bottleneck limit sum and the current queue limit sum is lower than the difference threshold, determining the bottleneck limit sum as the increased queue limit sum; and in a case where the current queue limit sum is greater than the bottleneck limit sum, determining the increased queue limit sum based on an increasing step and the current queue limit sum.

[0022] Through the above up-regulation manner, the queue limit sum can be up-regulated at a slow speed when the current queue limit sum is lower than the bottleneck limit sum and the distance between the current queue limit sum and the bottleneck limit sum is far, so that high bandwidth utilization can be ensured. When the current queue limit sum exceeds the bottleneck limit sum, the queue limit sum can be up-regulated at a fast speed in order to explore more available bandwidth, so that fast convergence of the algorithm can be ensured.

[0023] In a possible implementation manner of the method provided in the first aspect, the plurality of queues includes a first queue and a second queue, the first queue is used to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the second queue is used to buffer packets in TCP traffic with a priority lower than a second reference priority. In this scenario, the implementation process of adjusting the queue limit corresponding to each queue in the plurality of queues according to the adjusted queue limit sum can be: obtaining a flow arrival rate of the traffic in the first queue, and adjusting the queue limit corresponding to the first queue based on the flow arrival rate, to ensure that the adjusted queue limit corresponding to the first queue can meet the traffic demand of the target application; and determining the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum and the adjusted queue limit corresponding to the first queue.

[0024] In this way, when it is determined that congestion occurs at the second routing forwarding device based on the second packet loss information, the queue limit of the first queue after adjustment can meet the traffic demand of the target application, and the queue limit corresponding to the second queue after adjustment is lower than the queue limit corresponding to the second queue before adjustment, so that the congestion control mechanism of the TCP traffic in the second queue is used to trigger the second routing forwarding device to also reduce the sending rate of the TCP traffic, thereby avoiding packet loss of the traffic of the target application when congestion occurs at the second routing forwarding device.

[0025] In a possible implementation manner of the method provided in the first aspect, the plurality of queues further includes a third queue, and the third queue is used to buffer packets in traffic corresponding to an application with a priority between the first reference priority and the second reference priority. In this scenario, the implementation process of determining the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum and the adjusted queue limit corresponding to the first queue can be: determining the adjusted queue limit corresponding to the third queue based on the adjusted queue limit sum and a reference quota, the reference quota being used to indicate a proportion between the queue limit corresponding to the third queue and the queue limit sum; and determining the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum, the adjusted queue limit corresponding to the first queue, and the adjusted queue limit corresponding to the third queue.

[0026] In the embodiments of the present application, the traffic from the second routing forwarding device can be classified and cached into three queues, and the queue rate of the three queues can be dynamically adjusted.

[0027] Based on the method provided in the first aspect, in a possible implementation manner, after the first routing forwarding device adjusts the queue rate corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information, the first routing forwarding device returns to perform the operation of obtaining the first packet loss information and the second packet loss information, and adjusting the queue rate corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information, until it is determined based on the first packet loss information that no congestion occurs at the first routing forwarding device, and it is determined based on the second packet loss information that no congestion occurs at the second routing forwarding device.

[0028] In the embodiments of the present application, no congestion occurs at the first routing forwarding device and no congestion occurs at the second routing forwarding device can be achieved by continuously dynamically adjusting the queue rate of each queue.

[0029] Based on the method provided in the first aspect, in a possible implementation manner, the first routing forwarding device is a gateway, and the gateway includes a first interface. The first routing forwarding device is connected with the second routing forwarding device through the first interface. In this scenario, the implementation process that the first routing forwarding device respectively caches the packets in the traffic of different applications in the classification result into the plurality of queues corresponding to different applications after classifying the total received traffic can be: the first routing forwarding device respectively caches the packets in the traffic of different applications in the classification result into the plurality of queues corresponding to different applications after classifying the total traffic received through the first interface.

[0030] In the embodiments of the present application, the technical solution provided in the embodiments of the present application can be deployed on each interface of the gateway, so as to achieve the queue caching of the traffic received on each interface and the dynamic adjustment of the queue rate of each queue.

[0031] Based on the method provided in the first aspect, in a possible implementation manner, the first routing forwarding device is a switch, and the total received traffic includes a plurality of traffics. In this scenario, the implementation process that the first routing forwarding device respectively caches the packets in the traffic of different applications in the classification result into the plurality of queues corresponding to different applications after classifying the total received traffic can be: the first routing forwarding device detects the path of each traffic in the plurality of traffics in the operator network; the first routing forwarding device determines a plurality of traffics from the same node in the operator network based on the path of each traffic in the plurality of traffics in the operator network, takes the same node as the second routing forwarding device, and respectively caches the packets in the traffic of different applications in the classification result into the plurality of queues corresponding to different applications after classifying the determined plurality of traffics.

[0032] Since the traffic received by the interface connected with the gateway of the switch can come from different routing forwarding devices in the operator network, in the embodiment of the present application, the switch can identify the traffic from the same second routing forwarding device by the above-mentioned manner, and then classify and cache the traffic from the same second routing forwarding device to the multiple queues, and dynamically adjust the queue rate limit of each queue.

[0033] In a second aspect, a routing forwarding device is provided, which has the function of implementing the traffic control method in the first aspect. The routing forwarding device comprises at least one module for implementing the traffic control method in the first aspect.

[0034] In a third aspect, a routing forwarding device is provided, which comprises a processor and a memory. The memory is configured to store a program supporting the routing forwarding device to execute the traffic control method in the first aspect, and store data related to the traffic control method in the first aspect. The processor is configured to execute the program stored in the memory.

[0035] In a fourth aspect, a computer readable storage medium is provided, which stores instructions, when executed on a routing forwarding device, causing the computer to execute the traffic control method in the first aspect.

[0036] In a fifth aspect, a computer program product is provided, which comprises instructions, when executed on a routing forwarding device, causing the computer to execute the traffic control method in the first aspect.

[0037] The technical effects obtained by the corresponding technical means in the second aspect to the fifth aspect are similar, and will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0038] FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0039] FIG. 2 is a schematic diagram of another application scenario provided by an embodiment of the present application;

[0040] FIG. 3 is a schematic diagram of the hardware structure of a routing forwarding device provided by an embodiment of the present application;

[0041] FIG. 4 is a schematic diagram of the hardware structure of a switch provided by an embodiment of the present application;

[0042] FIG. 5 is a schematic diagram of a flow of a traffic control method 500 provided by an embodiment of the present application;

[0043] FIG. 6 is a scenario diagram of deploying the technical solution provided by the embodiments of the present application on a gateway of a campus network according to an embodiment of the present application;

[0044] FIG. 7 is a scenario diagram of deploying the technical solution provided by the embodiments of the present application on a switch of a campus network according to an embodiment of the present application;

[0045] FIG. 8 is an algorithm diagram of the technical solution provided by the embodiments of the present application according to an embodiment of the present application;

[0046] FIG. 9 is a flow diagram of adjusting the queue rate limit of each queue according to an embodiment of the present application;

[0047] FIG. 10 is a diagram of adjusting the sum of the queue rate limits according to an embodiment of the present application;

[0048] FIG. 11 is a flow diagram of traffic control on a first routing and forwarding device according to an embodiment of the present application;

[0049] FIG. 12 is a function diagram of a PFS algorithm module deployed in a first routing and forwarding device according to an embodiment of the present application;

[0050] FIG. 13 is a structure diagram of a routing and forwarding device according to an embodiment of the present application. DETAILED DESCRIPTION

[0051] To make the purpose, technical solution and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the drawings.

[0052] The technical solution will be described in detail below from the aspects of application scenarios, hardware devices, software devices, method flows, etc.

[0053] The application scenarios of the embodiments of the present application will be described below by way of example.

[0054] FIG. 1 is a scenario diagram of an application according to an embodiment of the present application. As shown in FIG. 1, the application scenario includes a first routing and forwarding device and a plurality of terminal devices located in a campus network, and a second routing and forwarding device and a plurality of application servers located in an external network (such as an operator network) of the campus network. The application servers are connected to the second routing and forwarding device by wired or wireless means for communication, the second routing and forwarding device and the first routing and forwarding device are connected by wired or wireless means for communication, and the first routing and forwarding device and the terminal devices are connected by wired or wireless means for communication.

[0055] As shown in FIG. 1, the second routing forwarding device is configured to receive traffic from the application server and forward the received traffic to the campus network. The first routing forwarding device is configured to receive traffic from the second routing forwarding device and forward the received traffic to the terminal device.

[0056] In the embodiments of the present application, the first routing forwarding device is further configured to: classify and cache the traffic from the second routing forwarding device in the external network (for example, an operator network) into a plurality of queues, and dynamically adjust the queue rate limit of each queue in the plurality of queues according to the first packet loss information and the second packet loss information, so as to improve the traffic control effect. The first packet loss information is used to indicate the packet loss situation of the plurality of queues, and the second packet loss information is used to indicate the packet loss situation at the second routing forwarding device.

[0057] The first routing forwarding device can determine whether congestion occurs in the campus network through the packet loss situation of the plurality of queues at the first routing forwarding device, and determine whether congestion occurs in the external network through the packet loss situation at the second routing forwarding device. The queue rate limit of each queue is dynamically adjusted according to the congestion situation of the campus network and the congestion situation of the external network, so that the queue rate limit corresponding to each queue is more in line with the real situation of the traffic in the current network, thereby improving the traffic control effect.

[0058] In addition, the first routing forwarding device classifies and caches the traffic from the same second routing forwarding device, so in the case where the plurality of queues includes a second queue used to cache TCP traffic of low priority, if congestion occurs at the second routing forwarding device, the first routing forwarding device can reduce the queue rate limit of the second queue, so as to trigger the second routing forwarding device to actively reduce the sending rate of the TCP traffic of low priority by using the congestion control mechanism of the TCP traffic. In this way, the excess bandwidth can be left to the traffic of other applications, such as the traffic of the audio and video conference application, so as to avoid the poor experience of using the audio and video conference application by the user due to the indiscriminate packet loss at the second routing forwarding device.

[0059] FIG. 2 is another application scenario provided by the embodiments of the present application. As shown in FIG. 2, the application scenario includes a terminal device, a switch and a gateway located in a campus network, and a PE device and an application server located in an external network (for example, an operator network). The devices are described below.

[0060] (1) Terminal device

[0061] The terminal device is a data stream transceiver device such as a computer, a notebook computer or a mobile phone installed with an application client.

[0062] (2) Switch

[0063] The terminal device in the park network accesses the operator network through the switch, and the switch can converge all the park traffic to the gateway.

[0064] (3) Gateway

[0065] The gateway is configured to provide a message forwarding function between the park network and the operator network. For example, the gateway is configured to provide a three-layer interface service for accessing the operator network. For example, the gateway can be an access router (AR).

[0066] (4) Application server

[0067] The application server refers to a server deployed in a public cloud or an application manufacturer's self-built data center. The application server can process the traffic uploaded by the application client of the terminal device. For example, the application server is a cloud disk, which stores the content uploaded by the application client of the terminal device after receiving the content. For another example, the application server is an audio and video conference server, which forwards the audio and video stream uploaded by the application client of the terminal device after receiving the audio and video stream. For another example, the application server is an audio and video download server, which downloads a video from a video provider and returns the downloaded video to the application client of the terminal device after receiving the video download request uploaded by the application client of the terminal device.

[0068] For example, the first routing and forwarding device shown in FIG. 1 can be the gateway in the park network shown in FIG. 2, and the second routing and forwarding device shown in FIG. 1 can be the PE device in the operator network shown in FIG. 2. In this scenario, the gateway in the park network can dynamically adjust the queue limit of each queue according to the congestion of the park network and the congestion of the operator network by using the method provided in the embodiment of the application. Compared with the gateway that only configures the queue limit of different queues according to the subscription bandwidth, the traffic control scheme provided in the embodiment of the application has higher flexibility, and thus has better traffic control effect.

[0069] For another example, the first routing and forwarding device shown in FIG. 1 can be the switch in the park network shown in FIG. 2, and the second routing and forwarding device shown in FIG. 1 can be the PE device in the operator network shown in FIG. 2. In this scenario, the switch in the park network can dynamically adjust the queue limit of each queue according to the congestion of the park network and the congestion of the operator network by using the method provided in the embodiment of the application.

[0070] Figure 2 is used to illustrate the application scenario of the first routing forwarding device and the second routing forwarding device in the embodiments of the present application. Alternatively, the first routing forwarding device shown in Figure 1 can be other types of network devices in the campus network, such as the first routing forwarding device can also be a firewall or a wireless access point in the campus network, etc. The second routing forwarding device shown in Figure 1 can be other types of network devices in the operator network, such as the second routing forwarding device can also be other routers connected with the PE device in the operator network, etc. Here, it is not illustrated one by one.

[0071] The basic hardware structure related to the embodiments of the present application is illustrated below.

[0072] Figure 3 is a schematic diagram of the hardware structure of a routing forwarding device provided by the embodiments of the present application. The routing forwarding device can be exemplarily the PE device, the gateway or the switch in the application scenario shown in Figure 2, and alternatively can be other types of routing forwarding devices, such as the firewall in the campus network, etc. As shown in Figure 3, the routing forwarding device 300 includes a processor 301 and a memory 302, and the memory 301 and the memory 302 are connected through a bus 303. Figure 3 illustrates the processor 301 and the memory 302 independently. Alternatively, the processor 301 and the memory 302 are integrated together.

[0073] The memory 302 is used to store a computer program, and the computer program includes an operating system and a program code. The memory 302 is various types of storage media, such as ROM, RAM, EEPROM, CD-ROM, flash memory, optical memory, register, optical disc storage, optical disc storage, magnetic disc or other magnetic storage devices.

[0074] The processor 301 is a general-purpose processor or a special-purpose processor. The processor 301 can be a single-core processor or a multi-core processor. The processor 301 includes at least one circuit to perform the actions performed by the first routing forwarding device in the method provided by the embodiments of the present application, such as the routing forwarding device 300 performs the following processes: after classifying the received total traffic, the messages in the different application traffic in the classification result are respectively cached to the multiple queues corresponding to different applications, so as to control the sending rate of the messages in the corresponding queue through the queue rate limit of each queue, and the sending rate is the rate of sending messages to the terminal device in the campus network, wherein the multiple queues are used to cache the messages in the traffic from the second routing forwarding device in the external network (such as the operator network) of the campus network; obtaining the first packet loss information and the second packet loss information, the first packet loss information is used to indicate the packet loss of the multiple queues, and the second packet loss information is used to indicate the packet loss at the second routing forwarding device; based on the first packet loss information and the second packet loss information, adjusting the queue rate limit corresponding to each queue in the multiple queues.

[0075] Optionally, the routing forwarding device 300 further includes a network interface 304 connected with the processor 301 and the memory 302 through the bus 303. The network interface 304 can enable the routing forwarding device 300 to communicate with other communication devices to implement the receiving and transmitting actions performed by the first routing forwarding device in the embodiments of the present application. Taking the gateway in the application scenario shown in FIG. 2 as an example, the network interface 304 in FIG. 3 communicates with the PE device to receive the total traffic from the operator network.

[0076] Optionally, the routing forwarding device 300 further includes an input / output (I / O) interface 305 connected with the processor 301 and the memory 302 through the bus 303. The processor 301 can receive inputted commands or data through the I / O interface 305. The I / O interface 305 is used for connecting input devices of the routing forwarding device 300, such as a keyboard and a mouse. Optionally, in some possible scenarios, the network interface 304 and the I / O interface 305 are collectively referred to as a communication interface.

[0077] Optionally, the routing forwarding device 300 further includes a display 306 connected with the processor 301 and the memory 302 through the bus 303. The display 306 can be used to display intermediate results and / or final results and the like generated by the processor 301 in the above method. In a possible implementation manner, the display 306 is a touch display screen to provide a man-machine interaction interface.

[0078] The bus 303 is any type of communication bus for realizing the interconnection of the internal devices of the routing forwarding device 300. For example, a system bus. The embodiments of the present application take the interconnection of the above devices in the routing forwarding device 300 through the bus 303 as an example. Optionally, the above devices in the routing forwarding device 300 are connected and communicated with each other in other connection manners other than the bus 303, for example, the above devices in the routing forwarding device 300 are interconnected through a logical interface in the routing forwarding device 300.

[0079] The above devices can be respectively arranged on independent chips, or at least part of or all of the above devices can be arranged on the same chip. Whether to arrange each device on a separate chip or to integrate the devices on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation forms of the above devices. The routing forwarding device 300 shown in FIG. 3 is only exemplary. In the implementation process, the routing forwarding device 300 includes other components, which are not listed one by one herein.

[0080] FIG. 4 is a schematic diagram of a hardware structure of a switch according to an embodiment of the present application. The switch can be, for example, a switch in a campus network in the application scenario shown in FIG. 2. As shown in FIG. 4, the switch 400 includes a central processing unit (CPU) 401, a dedicated hardware chip 402, and at least one network interface 403. The CPU 401 and the dedicated hardware chip 402 can be collectively referred to as a processor.

[0081] The CPU 401 refers to a general central processing unit, which has high scalability and flexibility. The CPU 401 can be, for example, a single-CPU, or a multi-CPU.

[0082] The dedicated hardware chip 402 is a hardware module for high-performance processing. The dedicated hardware chip 402 includes at least one of an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a network processor (NP).

[0083] The at least one network interface 403 includes, for example, a network interface 1, a network interface 2, a network interface 3, and a network interface n in FIG. 4. The network interface 403 uses any transceiver-like device to communicate with other devices or communication networks to implement the receiving and transmitting actions performed by the first routing forwarding device in the embodiments of the present application. Taking the switch 400 as an example of the switch in the application scenario shown in FIG. 2, the network interface 1 in FIG. 4 communicates with the PE device through a gateway to receive the total traffic from the operator network.

[0084] Optionally, the network interface 403 includes at least one of a wired network interface or a wireless network interface. The wired network interface can be, for example, an Ethernet interface. The Ethernet interface can be, for example, an optical interface, an electrical interface, or a combination thereof. The wireless network interface can be, for example, a wireless local area networks (WLAN) interface, a cellular network interface, or a combination thereof.

[0085] The at least one network interface 403 is connected to the dedicated hardware chip 402 and the CPU 401 through internal connections 404. The internal connections 404 include a path for transmitting data between the network interface 403, the dedicated hardware chip 402 and the CPU 401. Optionally, the internal connections 404 are a single board or a bus. For example, the internal connections 404 are Ethernet, fibre channel, PCI-E (peripheral component interconnect express), RapidIO (a high performance, low pin count, packet-switched interconnect architecture), InfiniBand or XAUI bus (an interface extender that connects the Ethernet Media Access Control (MAC) layer to the physical layer).

[0086] Optionally, the switch 400 further includes a content addressable memory (CAM) 405. The CAM 405 is, for example, a ternary content addressable memory (TCAM) or the like. The CAM 405 is used, for example, to store attack source addresses. Optionally, the CAM 405 exists independently and is connected to the dedicated hardware chip 402 through the internal connections 404 described above. Alternatively, the CAM 405 and the dedicated hardware chip 402 are integrated together, i.e. the CAM 405 is a memory inside the dedicated hardware chip 402.

[0087] Optionally, the switch 400 further includes a memory 406. The memory 406 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing desired program code 408 in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto. The memory 406 is, for example, independently present and connected to the CPU 401 through the internal connection 404. Alternatively, the memory 406 and the CPU 401 are integrated together.

[0088] The memory 406 stores an operating system 407 and program code 408. Optionally, the CPU 401 reads the operating system 407 from the memory 406 and runs the operating system 407, and the CPU 401 also reads the program code 408 from the memory 406 and implements the method provided by the embodiments of the present application by running the program code 408 on the operating system 407. For example, the switch 400 is the switch in the application scenario shown in FIG. 2, and the CPU 401, in the process of running the program code 408, performs the following process: the switch 400, as a first routing forwarding device, buffers the packets in different application traffic in the classification result to a plurality of queues corresponding to different applications after classifying the total traffic received, so as to control the sending rate of the packets in the corresponding queue by the queue rate limit of each queue, and the sending rate is the rate of sending the packets to the terminal device in the campus network, wherein the plurality of queues are used to buffer the packets in the traffic from a second routing forwarding device in the operator network; obtaining first packet loss information and second packet loss information, the first packet loss information is used to indicate the packet loss condition of the plurality of queues, and the second packet loss information is used to indicate the packet loss condition at the second routing forwarding device; and adjusting the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information.

[0089] Optionally, the above devices are respectively arranged on independent chips, or at least part or all of them are arranged on the same chip. Whether to arrange the devices independently on different chips or to integrate them on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation forms of the above devices.

[0090] The method flow of the embodiments of the present application is illustrated below.

[0091] FIG. 5 is a flow diagram of a flow control method 500 provided by an embodiment of the present application. The method 500 is applied to the first routing forwarding device shown in FIG. 1 to dynamically adjust the queue rate limit of each queue in the local multiple queues. As shown in FIG. 5, the method 500 includes the following steps 501 to 504.

[0092] Step 501: The first routing forwarding device in the campus network receives the total traffic from the external network (such as the operator network) of the campus network.

[0093] In some embodiments, the first routing forwarding device is a gateway in the campus network, which is exemplarily an AR. Wherein, the gateway is configured with multiple interfaces, each of which is used to connect a PE device in the operator network. In this scenario, the implementation of step 501 can be that the traffic from multiple PE devices in the operator network is respectively received through the multiple interfaces. Exemplarily, the operator network includes a second routing forwarding device which is a PE device, the gateway includes a first interface, and the gateway is connected to the second routing forwarding device through the first interface. Therefore, the gateway receives the traffic from the second routing forwarding device through the first interface.

[0094] Optionally, in other embodiments, the first routing forwarding device is a switch in the campus network. Since the traffic from the operator network is forwarded to the switch after being converged at the gateway, the traffic received by the interface of the switch connected to the gateway is not the traffic from the same PE device, but the traffic from multiple PE devices. In this scenario, the implementation of step 501 can be that the switch receives the traffic from multiple PE devices through the gateway.

[0095] Optionally, in scenarios where the first routing forwarding device is a firewall or a wireless access point or other types of routing forwarding devices in the campus network, these routing forwarding devices also receive the total traffic from the operator network through the gateway. Therefore, in these scenarios, the implementation of the above step 501 and the subsequent steps 502 to 504 can refer to the related implementation in the scenario where the first routing forwarding device is a switch, and subsequent examples will not be illustrated one by one.

[0096] Step 502: The first routing forwarding device buffers the packets in the classified results of the total traffic to the multiple queues corresponding to different applications respectively, so as to control the sending rate of the packets in each queue by the queue rate limit of the corresponding queue, and the sending rate is the rate of sending the packets to the terminal device in the campus network. The multiple queues are used to buffer the packets in the traffic from the second routing forwarding device in the operator network.

[0097] In some embodiments, the multiple queues include a first queue used to buffer the traffic corresponding to the target application with a priority higher than the first reference priority. In this way, the traffic demand of the target application with a high priority can be preferentially guaranteed when the queue rate limits of the queues are dynamically adjusted.

[0098] The first reference priority can be understood as a priority threshold. When the priority of an application is higher than the first reference priority, it indicates that the importance of the application to the user is higher.

[0099] For example, the target application includes an audio and video conference application. Since the user side has a higher real-time requirement for the audio and video conference application, the traffic demand of the audio and video conference application can be preferentially guaranteed when the queue rate limits of the queues are adjusted, so as to avoid problems such as lag when the user uses the audio and video conference application, and improve the user experience of using the audio and video conference application.

[0100] Optionally, in other embodiments, the multiple queues include a second queue used to buffer the TCP traffic with a priority lower than the second reference priority.

[0101] In the scenario where the second routing forwarding device is a PE device, the PE device needs to control the traffic forwarded to the campus network to avoid the traffic rate exceeding the corresponding subscription bandwidth of the campus network. The operator can configure a rate threshold at the PE device according to the corresponding subscription bandwidth of the campus network, and the PE device limits the rate of the traffic to be forwarded to the campus network according to the rate threshold. For example, when it is detected that the rate of the traffic to be forwarded to the campus network exceeds the rate threshold, packets are randomly selected from the traffic for packet loss to achieve the effect of controlling the traffic. This method is easy to cause the traffic of some key applications such as the audio and video conference application to be lost, thereby affecting the experience of the user in the campus network using such applications.

[0102] However, in the embodiment of the present application, the TCP traffic with a priority lower than the second reference priority is separately buffered to a queue, so that when the first routing forwarding device detects congestion at the second routing forwarding device, the queue limit of the queue buffering the TCP traffic can be reduced, and since the TCP traffic has a congestion control mechanism, the reduction of the queue limit of the queue buffering the TCP traffic at the first routing forwarding device will trigger the second routing forwarding device to reduce the sending rate of the TCP traffic, so that the second routing forwarding device can leave the excess bandwidth to the traffic of other applications, such as the traffic of the audio and video conference application, thereby avoiding the poor experience of the user using the audio and video conference application due to the indiscriminate packet loss at the second routing forwarding device.

[0103] The second reference priority can be understood as a priority threshold. When the priority of the TCP traffic is lower than the reference priority, it indicates that the priority of the TCP traffic is low, and the speed limit of such TCP traffic has little effect on the user.

[0104] For example, in the embodiment of the present application, the traffic from the second routing forwarding device can be divided into three categories and buffered to three queues respectively. One category is the traffic of the target application with a priority higher than the first reference priority, and the packets of this category of traffic can be buffered to the first queue. One category is the traffic with a priority between the first reference priority and the second reference priority, and the packets of this category of traffic can be buffered to the third queue. The last category is other traffic except the first and second categories, including TCP traffic with a priority lower than the second reference priority, and the packets of this category of traffic can be buffered to the second queue.

[0105] It should be noted that the user can pre-configure the priority of each application at the first routing forwarding device, so that the first routing forwarding device can perform queue-based buffering of the traffic from the second routing forwarding device based on the priority of each application.

[0106] The priority of each application configured by the user can be a specific value of the priority of each application, and in this case, the specific values of the first reference priority and the second reference priority also need to be configured at the first routing forwarding device. Alternatively, the user can simply configure a priority label for an application, which can indicate whether the priority of the application is higher than the first reference priority. For example, the user configures two priority labels, one is a "high priority" label, and the other is a "medium priority" label. If the priority label of an application is the "high priority" label, it indicates that the priority of the application is higher than the first reference priority, and if the priority label of an application is the "medium priority" label, it indicates that the priority of the application is between the first reference priority and the second reference priority. Correspondingly, if an application does not have a corresponding priority label, it indicates that the priority of the application is lower than the second reference priority.

[0107] In this scenario, the first routing forwarding device, after identifying the traffic of each application, takes the application with the priority label of "high priority" label as the target application, and caches the packets in the traffic of the target application to the first queue. The packets in the traffic of the application with the priority label of "medium priority" label are cached to the third queue. The other traffic from the second routing forwarding device is cached to the second queue. Since the priority of TCP traffic is usually low, after classification in this way, the packets in the TCP traffic with low priority are cached in the second queue.

[0108] Based on step 501, the first routing forwarding device can be a gateway in the campus network, or a routing forwarding device such as a switch that receives the total traffic from the operator network through the gateway. The following describes step 502 in two scenarios.

[0109] Scenario one: the first routing forwarding device is a gateway, and the gateway includes a first interface through which the first routing forwarding device is connected to the second routing forwarding device. That is, the second routing forwarding device is a PE device connected to the gateway.

[0110] In scenario one, the first routing forwarding device can implement the step of caching the packets in the traffic of different applications in the classification result to the multiple queues corresponding to the different applications respectively after classifying the received total traffic in the following manner: the first routing forwarding device caches the packets in the traffic of different applications in the classification result to the multiple queues corresponding to the different applications respectively after classifying the traffic received through the first interface.

[0111] In other words, in scenario one, after classifying and caching the traffic received by each interface of the gateway, the subsequent steps 502 to 504 can be performed respectively.

[0112] FIG. 6 is a schematic diagram of a scenario of deploying the technical solution provided in the embodiments of the present application on a gateway of a campus network. As shown in FIG. 6, it is assumed that the gateway of the campus network includes an interface M and an interface N, and the operator network includes a PE device M and a PE device N. The interface M is used to receive traffic from the PE device M. For example, the traffic from the PE device M includes traffic of a video conference application M and other traffic except the traffic of the video conference application M, which is referred to as background flow in FIG. 6. The interface N is used to receive traffic from the PE device N. For example, the traffic from the PE device N includes traffic of a video conference application N and other traffic except the traffic of the video conference application N, which is referred to as background flow in FIG. 6.

[0113] In the embodiments of the present application, the technical solution provided by the embodiments of the present application can be deployed on each interface of the gateway. In this way, the interface M can cache the traffic from the PE device M to multiple queues, for example, to three queues as shown in FIG. 6. The interface N can also cache the traffic from the PE device N to multiple queues as shown in FIG. 6.

[0114] Optionally, in the embodiments of the present application, for the traffic received by each interface of the gateway, such as the first interface, the gateway can first identify the traffic of the target application from the traffic received by the first interface, and then detect the packet loss of the traffic of the target application at the second routing forwarding device by using the probing tool. If it is detected that the packet loss rate of the traffic of the target application at the second routing forwarding device exceeds the specified packet loss rate threshold, it indicates that congestion occurs at the PE device connected to the first interface at present, and the current congestion causes the traffic of the target application to have serious packet loss. At this time, the operation of caching the traffic received by the first interface to multiple queues and dynamically adjusting the queue rate limit of each queue is performed again. In this way, the first routing forwarding device can be prevented from always performing the technical solution provided by the embodiments of the present application, thereby saving the resources of the first routing forwarding device.

[0115] Correspondingly, if it is detected that the packet loss rate of the traffic of the target application at the second routing forwarding device is lower than the specified packet loss rate threshold, it indicates that there is no congestion at the PE device connected to the first interface at present, or even if there is congestion, the current congestion does not cause the traffic of the target application to have serious packet loss. In this scenario, the operation of caching the traffic received by the first interface to multiple queues does not need to be performed, thereby saving the resources of the first routing forwarding device.

[0116] The specified packet loss rate threshold is a packet loss rate threshold configured in the first routing forwarding device in advance. The embodiments of the present application do not limit the implementation manner of configuring the specified packet loss rate threshold.

[0117] Scenario two: the first routing forwarding device is a switch, and the received total traffic includes multiple pieces of traffic.

[0118] In scenario two, the implementation manner of the first routing forwarding device that caches the packets in the traffic of different applications in the classification result to multiple queues corresponding to different applications after classifying the received total traffic can be: the first routing forwarding device detects the path of each piece of traffic in the multiple pieces of traffic in the operator network; the first routing forwarding device determines multiple pieces of traffic from the same node in the operator network based on the path of each piece of traffic in the operator network, takes the same node as the second routing forwarding device, and caches the packets in the traffic of different applications in the classification result to multiple queues corresponding to different applications after classifying the determined multiple pieces of traffic.

[0119] Since the traffic received by the interface of the switch connected with the gateway can come from different routing forwarding devices in the operator network, in the embodiments of the present application, the switch can identify the traffic from the same second routing forwarding device by the above-mentioned manner, and then classify and cache the traffic from the same second routing forwarding device to the multiple queues, and dynamically adjust the queue rate limit of each queue.

[0120] Each of the multiple pieces of traffic included in the total traffic can be understood as the traffic corresponding to one application, that is, different pieces of traffic are the traffic corresponding to different applications.

[0121] In addition, the first routing forwarding device can detect the path of each of the multiple pieces of traffic in the operator network by using a traceroute tool, and the embodiments of the present application do not limit this.

[0122] In some embodiments, considering that the congestion of the operator network usually occurs at the PE device, and the last hop node of the path of the traffic in the operator network is the PE device. In this scenario, the first routing forwarding device determines the multiple pieces of traffic from the same node in the operator network based on the path of each of the multiple pieces of traffic in the operator network, takes the same node as the second routing forwarding device, and after classifying the determined multiple pieces of traffic, caches the packets in the traffic of different applications in the classification result to the multiple queues corresponding to different applications respectively. The implementation manner can be: grouping the multiple pieces of traffic in the total traffic according to whether the last hop node of the path of each of the traffic in the operator network is the same, each group of traffic after grouping includes multiple pieces of traffic. For any group of traffic, the multiple pieces of traffic in the group are traffic from the same PE device, and the PE device is the last hop node of the path of the group in the operator network, so the last hop node of the path of the group in the operator network is taken as the second routing forwarding device, and then the group of traffic is classified and cached to the multiple queues.

[0123] Further, in other embodiments, considering that the traffic control needs to give priority to guarantee the traffic demand of the target application, in this scenario, the implementation manner of the first routing forwarding device determining, based on the paths of the multiple pieces of traffic in the operator network, the multiple pieces of traffic from the same node in the operator network, taking the same node as the second routing forwarding device, and classifying the determined multiple pieces of traffic and then buffering the packets in the classified different application traffic to the multiple queues corresponding to different applications can be: the first routing forwarding device first identifies the traffic of the target application, and takes the last hop node of the path of the traffic of the target application in the operator network as the second routing forwarding device, and then searches for traffic satisfying the principle from the total received traffic according to the principle that the last hop node of the path of the traffic in the operator network is the second routing forwarding device, and then performs the operation of classifying and buffering the found traffic and the traffic of the target application to the multiple queues. In this way, it can be avoided that all traffic in the total traffic needs to be grouped and then queued and buffered.

[0124] Optionally, after identifying the traffic of the target application, the first routing forwarding device can also detect the packet loss of the traffic of the target application at the last hop node, i.e., the second routing forwarding device, through a probing tool. If it is detected that the packet loss rate of the traffic of the target application at the second routing forwarding device exceeds a specified packet rate threshold, it indicates that congestion occurs at the second routing forwarding device at present, and the current congestion causes the traffic of the target application to have serious packet loss. At this time, the operation of searching for traffic satisfying the above principle from the total traffic is performed again, so as to avoid the first routing forwarding device always performing the technical solution provided in the embodiments of the present application, thereby saving the resources of the first routing forwarding device.

[0125] Correspondingly, if it is detected that the packet loss rate of the traffic of the target application at the second routing forwarding device is lower than the specified packet loss rate threshold, it indicates that there is no congestion at the second routing forwarding device at present, or even if there is congestion, the current congestion does not cause the traffic of the target application to have serious packet loss. In this scenario, the operation of searching for traffic satisfying the above principle from the total traffic does not need to be performed, thereby saving the resources of the first routing forwarding device.

[0126] FIG. 7 is a scenario diagram of deploying the technical solution provided in the embodiments of the present application on a switch in a campus network. As shown in FIG. 7, the interface of the switch first identifies the traffic of the audio and video conference M and the traffic of the audio and video conference N after receiving the traffic from the gateway, and detects the path of each piece of traffic in the operator network.

[0127] For the traffic of the audio and video conference M, the switch detects that the traffic of the audio and video conference M is at the last hop node of the operator network, which is the PE device M, takes the PE device M as the second routing forwarding device, then finds the traffic at the last hop node of the path of the operator network, which is the PE device M, from the total traffic, i.e. the background flow from the PE device M shown in Fig. 7, and classifies the found traffic and the traffic of the audio and video conference M into the three queues shown in Fig. 7.

[0128] For the traffic of the audio and video conference N, the switch detects that the traffic of the audio and video conference N is at the last hop node of the operator network, which is the PE device N, takes the PE device M as the second routing forwarding device, then finds the traffic at the last hop node of the path of the operator network, which is the PE device N, from the total traffic, i.e. the background flow from the PE device N shown in Fig. 7, and classifies the found traffic and the traffic of the audio and video conference N into the three queues shown in Fig. 7.

[0129] The above embodiment is described by taking the switch taking the PE device as the second routing forwarding device as an example. Alternatively, in the embodiment of the present application, after the first routing forwarding device identifies the traffic of the target application and detects the path of the target application in the operator network, the first routing forwarding device can also take any hop node in the path except the last hop node, such as the nth hop node, as the second routing forwarding device, then finds the traffic at the nth hop node of the path of the operator network from the total traffic, and then classifies the found traffic and the traffic of the target application and stores them into the multiple queues. In this way, the traffic control can be performed on the traffic from the second routing forwarding device of other types except the PE device.

[0130] In addition, in the scenario where the first routing forwarding device is a gateway, the first routing forwarding device can also perform the traffic control on the traffic from the second routing forwarding device of other types except the PE device by referring to the above implementation manner. Details are not described herein.

[0131] Step 503: The first routing forwarding device acquires first packet loss information and second packet loss information, the first packet loss information is used to indicate the packet loss situation of the multiple queues, and the second packet loss information is used to indicate the packet loss situation at the second routing forwarding device.

[0132] The first packet loss information can be acquired from a local register, for example. In this scenario, a queue register can be configured for each queue, and the queue register is used to record the packet loss situation in the corresponding queue, such as the packet loss rate of the queue, the arrival rate of the traffic in the queue, etc.

[0133] The second packet loss information can be implemented by a network measurement tool, for example, a ping tool or a packet conservation algorithm for internet (IPCA) tool. The IPCA tool can directly mark the service packets to count the packet loss. The specific implementation of the ping tool and the IPCA tool to obtain the second packet loss information is not described in detail herein.

[0134] In some embodiments, the monitoring period can also be configured at the first routing forwarding device, for example, the monitoring period is 1 second (s). In this case, the first routing forwarding device can obtain the second packet loss information every 1 s, so that the first routing forwarding device can determine whether congestion occurs at the second routing forwarding device at any time.

[0135] Step 504: The first routing forwarding device adjusts the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information.

[0136] Since the queue rate limit corresponding to each queue in the plurality of queues is adjusted based on the first packet loss information and the second packet loss information, the embodiments of the present application provide a technical solution for dynamically adjusting the queue rate limit based on the first packet loss information and the second packet loss information.

[0137] FIG. 8 is an algorithm schematic diagram of the technical solution provided by the embodiments of the present application. As shown in FIG. 8, the first routing forwarding device identifies the local packet loss rate through the first packet loss information. The second routing forwarding device identifies the packet loss rate at the second routing forwarding device through the second packet loss information, which is marked as WAN side packet loss rate in FIG. 8. The queue rate limit sum is adjusted according to the two packet loss rates, and then the queue rate limit of each queue is reset according to the adjusted queue rate limit sum, that is, the queue rate limit of each queue is adjusted. The queue rate limit sum refers to the sum of the queue rate limit corresponding to each queue in the plurality of queues.

[0138] The local packet loss rate can refer to the total packet loss rate of the plurality of queues, which can be understood as the ratio between the total number of packet losses of the plurality of queues and the total number of received packets of the plurality of queues. Alternatively, the local packet loss rate can refer to the maximum value of the packet loss rate of each queue in the plurality of queues, or the average value of the packet loss rate of each queue in the plurality of queues, and so on. The packet loss rate at the second routing forwarding device can refer to the total packet loss rate at the second routing forwarding device, which can be understood as the ratio between the total number of packet losses at the second routing forwarding device and the total number of received packets at the second routing forwarding device.

[0139] The following illustrates how to adjust the queue limit of each queue in two cases.

[0140] Case one: congestion occurs at the second routing forwarding device.

[0141] In case one, the first routing forwarding device adjusts the queue limit of each queue in the plurality of queues based on the first packet loss information and the second packet loss information. The implementation manner can be: in the case of determining that congestion occurs at the second routing forwarding device based on the second packet loss information, reducing the queue limit sum; and adjusting the queue limit of each queue in the plurality of queues according to the adjusted queue limit sum.

[0142] When congestion occurs at the second routing forwarding device, the first routing forwarding device can reduce the queue limit sum, which can avoid congestion of the traffic at the first routing forwarding device. On the other hand, in the scenario where the plurality of queues includes a second queue for buffering low-priority TCP traffic, after reducing the queue limit sum, the queue limit of the second queue is correspondingly reduced. Due to the congestion control mechanism of the TCP traffic, the second routing forwarding device can further trigger the reduction of the sending rate of the low-priority TCP traffic, thereby leaving excess bandwidth to other important applications such as audio and video conference applications to avoid indiscriminate packet loss at the second routing forwarding device.

[0143] The implementation manner of determining that congestion occurs at the second routing forwarding device based on the second packet loss information can be: obtaining a second packet loss rate based on the second packet loss information, the second packet loss rate being used to indicate the packet loss at the second routing forwarding device, and confirming that congestion occurs at the second routing forwarding device when the second packet loss rate exceeds a second packet loss rate threshold. The second packet loss rate is also the WAN-side packet loss rate shown in FIG. 8.

[0144] For example, the implementation manner of reducing the queue limit sum can be: determining the sum of the current queue limit of each queue in the plurality of queues to obtain a current queue limit sum; obtaining a reduction factor, the reduction factor being used to indicate the magnitude of reducing the current queue limit sum; and determining the queue limit sum after reduction based on the reduction factor and the current queue limit sum.

[0145] In the embodiment of the present application, a reduction factor can be pre-configured at the first routing forwarding device, so as to reduce the queue limit sum by using the reduction factor when it is detected that congestion occurs at the second routing forwarding device.

[0146] For example, the reduction of the queue limit sum can be implemented by the following formula:

[0147] wherein β is the reduction factor, and β is a value greater than 0 and less than 1. The sum of the queue limit speeds after the reduction is R max The sum of the queue limit speeds before the reduction, that is, the sum of the current queue limit speeds.

[0148] Alternatively, determining the sum of the queue limit speeds after the reduction based on the reduction factor and the sum of the current queue limit speeds can also be implemented in other ways. For example, if the reduction factor is a value greater than 1, the sum of the current queue limit speeds can be divided by the reduction factor to obtain the sum of the queue limit speeds after the reduction.

[0149] Case two: no congestion occurs at the second routing forwarding device, but congestion occurs at the first routing forwarding device.

[0150] In case two, the first routing forwarding device can adjust the implementation of the queue limit speed corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information. The implementation can be: in a case where it is determined based on the second packet loss information that no congestion occurs at the second routing forwarding device, but it is determined based on the first packet loss information that congestion occurs at the first routing forwarding device, increasing the sum of the queue limit speeds; and adjusting the queue limit speed corresponding to each queue in the plurality of queues according to the adjusted sum of the queue limit speeds.

[0151] When no congestion occurs at the second routing forwarding device, but congestion occurs at the first routing forwarding device, it indicates that the queue limit speed setting at the first routing forwarding device is too low, and therefore the sum of the queue limit speeds can be increased, so that the bandwidth at the first routing forwarding device can be fully utilized.

[0152] The implementation of determining that congestion occurs at the first routing forwarding device based on the first packet loss information can be: obtaining a first packet loss rate based on the first packet loss information, the first packet loss rate being used to indicate the packet loss situation at the second routing forwarding device, and when the first packet loss rate exceeds a first packet loss rate threshold, it is determined that congestion occurs at the first routing forwarding device. The first packet loss rate is also the local packet loss rate shown in FIG. 8.

[0153] For example, the implementation of increasing the sum of the queue limit speeds can be: determining the sum of the current queue limit speeds corresponding to each queue in the plurality of queues to obtain the sum of the current queue limit speeds; and obtaining the sum of the bottleneck limit speeds, the sum of the bottleneck limit speeds being the sum of the queue limit speeds corresponding to each queue in the plurality of queues when the congestion at the second routing forwarding device is determined last time. Then, according to the relationship between the sum of the current queue limit speeds and the sum of the bottleneck limit speeds, the following processing is performed:

[0154] (1) In a case where the sum of the current queue limit speeds is less than the sum of the bottleneck limit speeds, and the difference between the sum of the bottleneck limit speeds and the sum of the current queue limit speeds exceeds a difference threshold, the average value between the sum of the current queue limit speeds and the sum of the bottleneck limit speeds is determined as the sum of the queue limit speeds after the increase.

[0155] For example, the up-regulated queue limit sum can be realized by the following formula:

[0156] wherein, R max is the bottleneck limit sum, is the current queue limit sum, is the up-regulated queue limit sum. The up-regulated queue limit sum method can also be called the bisection up method.

[0157] (2) In the case that the current queue limit sum is less than the bottleneck limit sum, and the difference between the bottleneck limit sum and the current queue limit sum is lower than the difference threshold value, the bottleneck limit sum is determined as the up-regulated queue limit sum.

[0158] (3) In the case that the current queue limit sum is greater than the bottleneck limit sum, the up-regulated queue limit sum is determined based on the up-regulation step and the current queue limit sum.

[0159] For example, the up-regulated queue limit sum can be realized by the following formula:

[0160] wherein, is the current queue limit sum, is the up-regulated queue limit sum, Step is the up-regulation step, N is the up-regulation times, and the current value of N is 1. The up-regulated queue limit sum method can also be called the additive up method.

[0161] Through the above up-regulation method, the queue limit sum can be up-regulated at a slow speed when the current queue limit sum is lower than the bottleneck limit sum and the distance between them is far, which can guarantee high bandwidth utilization. When the current queue limit sum exceeds the bottleneck limit sum, the queue limit sum can be up-regulated at a faster speed in order to explore more available bandwidth, which can guarantee the fast convergence of the algorithm.

[0162] The following takes Figure 9 as an example to explain the manner of adjusting the queue limit in the above-mentioned case one and case two. As shown in Figure 9, the first routing forwarding device obtains the first packet loss information by counting the local packet loss, and obtains the second packet loss information by means of the probe tool or the IPCA tool. In the case where the second routing forwarding device is identified to exist congestion based on the second packet loss information, i.e., the WAN side congestion, the current queue limit sum is lowered. In the case where the second routing forwarding device is identified not to exist congestion based on the second packet loss information, but the local exists congestion based on the first packet loss information, the current queue limit sum is raised. In the case where the second routing forwarding device is identified not to exist congestion based on the second packet loss information, and the local also exists not congestion based on the first packet loss information, the current queue limit sum is kept unchanged. And in the case of adjusting the current queue limit sum, the queue limit of each queue is redistributed according to the adjusted queue limit sum, and the queue limit of each queue is adjusted.

[0163] In some embodiments, in the above-mentioned case one and case two, it is assumed that the plurality of queues include a first queue and a second queue, the first queue is used to buffer the traffic corresponding to the target application with a priority higher than a first reference priority, and the second queue is used to buffer the TCP traffic with a priority lower than a second reference priority, the second reference priority being lower than the first reference priority. In this scenario, the implementation manner of adjusting the queue limit corresponding to each queue in the plurality of queues according to the adjusted queue limit sum can be: obtaining the flow arrival rate of the traffic in the first queue, and adjusting the queue limit corresponding to the first queue based on the flow arrival rate, so as to ensure that the adjusted queue limit corresponding to the first queue can meet the traffic demand of the target application; determining the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum and the adjusted queue limit corresponding to the first queue.

[0164] Wherein, the adjustment of the queue limit corresponding to the first queue based on the flow arrival rate can be implemented by the following formula: R meeting = R demond

[0165] Wherein, R demond is the flow arrival rate of the traffic in the first queue, and R meeting is the adjusted queue limit corresponding to the first queue.

[0166] Through the above-mentioned manner, the adjusted queue limit corresponding to the first queue can meet the traffic demand of the target application.

[0167] Optionally, the flow arrival rate of the traffic in the first queue can also be multiplied by a factor greater than 1, so as to ensure as much as possible that the queue limit of the first queue can guarantee the traffic demand of the target application.

[0168] For example, in the case that only the first queue and the second queue are included in the plurality of queues, the implementation manner of determining the queue rate limit corresponding to the second queue after adjustment based on the adjusted queue rate limit sum and the queue rate limit corresponding to the first queue after adjustment can be: subtracting the queue rate limit corresponding to the first queue after adjustment from the adjusted queue rate limit sum to obtain the queue rate limit corresponding to the second queue after adjustment.

[0169] For example, the plurality of queues further includes a third queue, and the third queue is used to buffer the traffic of the application whose priority is between the first reference priority and the second reference priority. In this scenario, the implementation manner of determining the queue rate limit corresponding to the second queue after adjustment based on the adjusted queue rate limit sum and the queue rate limit corresponding to the first queue after adjustment can be: determining the queue rate limit corresponding to the third queue after adjustment based on the adjusted queue rate limit sum and the reference quota, wherein the reference quota is used to indicate the proportion between the queue rate limit corresponding to the third queue and the queue rate limit sum; and determining the queue rate limit corresponding to the second queue after adjustment based on the adjusted queue rate limit sum, the queue rate limit corresponding to the first queue after adjustment and the queue rate limit corresponding to the third queue after adjustment.

[0170] The implementation manner of determining the queue rate limit corresponding to the third queue after adjustment based on the adjusted queue rate limit sum and the reference quota can be implemented by the following formula:

[0171] Wherein, α is the reference quota, is the adjusted queue rate limit sum, R hp is the queue rate limit corresponding to the third queue after adjustment.

[0172] In addition, the determination of the queue rate limit corresponding to the second queue after adjustment based on the adjusted queue rate limit sum, the queue rate limit corresponding to the first queue after adjustment and the queue rate limit corresponding to the third queue after adjustment can be implemented by the following formula:

[0173] Wherein, R lp is the queue rate limit corresponding to the second queue after adjustment.

[0174] In the above manner, in the case that the congestion at the second routing forwarding device is determined based on the second packet loss information, the queue rate limit of the first queue after adjustment can meet the traffic demand of the target application, and the queue rate limit corresponding to the second queue after adjustment is lower than the queue rate limit corresponding to the second queue before adjustment, so that the congestion control mechanism of the TCP traffic in the second queue is used to trigger the reduction of the sending rate of the TCP traffic at the second routing forwarding device, thereby avoiding the packet loss of the traffic of the target application when the congestion occurs at the second routing forwarding device.

[0175] After the queue limit of each queue in the plurality of queues is adjusted by any of the above manners, the first routing forwarding device can further return to perform the operation of obtaining the first packet loss information and the second packet loss information, and adjusting the queue limit of each queue in the plurality of queues based on the first packet loss information and the second packet loss information, until it is determined that there is no congestion at the first routing forwarding device based on the first packet loss information and there is no congestion at the second routing forwarding device based on the second packet loss information.

[0176] The implementation manner of returning to perform the operation of obtaining the first packet loss information and the second packet loss information, and adjusting the queue limit of each queue in the plurality of queues based on the first packet loss information and the second packet loss information can be that, after the queue limit of each queue in the plurality of queues is adjusted, timing is started, and when the timing reaches a reference time length, the operation of obtaining the first packet loss information and the second packet loss information, and adjusting the queue limit of each queue in the plurality of queues based on the first packet loss information and the second packet loss information is returned to be performed.

[0177] In the embodiments of the present application, the condition that there is no congestion at the first routing forwarding device and there is no congestion at the second routing forwarding device can be achieved by continuously dynamically adjusting the queue limit of each queue.

[0178] The reference time length is a preconfigured time length, and after the queue limit of each queue is adjusted each time, the congestion of the operator network and the local network can be further checked at intervals of the reference time length, to further confirm whether the queue limit sum needs to be continuously adjusted to re-distribute the queue limit of each queue.

[0179] FIG. 10 is a schematic diagram of adjusting the queue limit sum according to an embodiment of the present application. As shown in FIG. 10, when the first routing forwarding device detects that congestion occurs at the second routing forwarding device, that is, congestion occurs at the WAN side, the current queue limit sum at this time is Rmax, according to the implementation manner of case one, the queue limit sum is down-regulated from Rmax to Rmin, and the queue limit of each queue is re-set based on the down-regulated Rmin. Then the first packet loss information and the second packet loss information are continuously obtained, and the first routing forwarding device detects that there is no congestion at the second routing forwarding device based on the re-obtained first packet loss information and second packet loss information, but congestion occurs at the first routing forwarding device, which indicates that the current queue limit sum is set too strictly, therefore according to the implementation manner of case two, the queue limit sum is gradually up-regulated, and the queue limit of each queue is re-set based on the up-regulated queue limit sum, and the above operation is repeated until it is detected that there is no congestion at the second routing forwarding device and the first routing forwarding device.

[0180] In some embodiments, the adjustment period can also be configured at the first routing forwarding device. The adjustment period can be exemplarily 50s. In this way, the first routing forwarding device adjusts the queue limit in the above manner until it is detected that no congestion occurs at the second routing forwarding device and the first routing forwarding device, starts timing when it is detected that no congestion occurs at the second routing forwarding device and the first routing forwarding device, and re-executes the scheme of dynamically adjusting the queue limit provided in the embodiments of the present application when the timing duration reaches the reference period. In this way, the first routing forwarding device can be prevented from being in the process of adjusting the queue limit all the time, thereby saving the resources of the first routing forwarding device.

[0181] The traffic control scheme provided in the embodiments of the present application will be exemplarily and wholly described below taking FIG. 11 as an example.

[0182] FIG. 11 is a flow diagram of traffic control on a first routing forwarding device according to an embodiment of the present application. As shown in FIG. 11, a technician pre-configures relevant information on the first routing forwarding device through a command-line interface (CLI). For example, the technician configures how to identify the traffic corresponding to each application from the total traffic, that is, configures flow identification parameters. For another example, the technician configures various parameters required for adjusting the queue limit, such as the reduction factor and the increase step, that is, configures limit calculation parameters. For another example, the technician configures how to classify the traffic into different queues and how to schedule the packets in each queue when sending the packets, that is, configures queue classification criteria and scheduling modes of each queue.

[0183] For example, the parameters configured by the technician through the CLI can be as shown in Table 1 below.

[0184] Table 1

[0185] The first routing forwarding device receives the total traffic from the operator network, classifies the total traffic into three queues through application and large flow identification, and so on. Then, the first routing forwarding device configures the initial queue limit of the three queues according to the subscribed bandwidth, controls the packet sending rate of each queue in the three queues according to the initial queue limit, and counts the traffic information of each queue through the queue register, such as the packet loss of each queue, that is, records the first packet loss information. The WAN-side packet loss information, that is, the second packet loss information, is obtained through a probing tool and an IPCA tool.

[0186] The first routing forwarding device adjusts the queue limit of each queue based on the first packet loss information and the second packet loss information, and configures the adjusted queue limit into the queue register. Each queue reads the adjusted queue limit from the queue register, and then controls the traffic in the corresponding queue according to the adjusted queue limit.

[0187] Based on the foregoing, in the scenario where the multiple queues include the second queue for buffering low-priority TCP traffic, the technical solution provided by the embodiment of the present application can achieve that when congestion occurs at the second routing forwarding device, the first routing forwarding device triggers the second routing forwarding device to reduce the sending rate of TCP traffic by reducing the queue limit of the second queue, and further triggers the second routing forwarding device to leave the excess bandwidth to the traffic of other applications, such as the traffic of the audio and video conference application, thereby avoiding the poor experience of using the audio and video conference application due to indiscriminate packet loss at the second routing forwarding device. Therefore, the queue limit adjustment scheme provided by the embodiment of the present application can also be called a proactive flow suppression (PFS) algorithm. Accordingly, as shown in FIG. 11, the PFS algorithm module is deployed in the first routing forwarding device to implement how to adjust the queue limit of each queue.

[0188] FIG. 12 is a functional schematic diagram of a PFS algorithm module deployed in a first routing forwarding device according to an embodiment of the present application. As shown in FIG. 12, the PFS algorithm module is configured to output the adjusted queue limit of each queue based on the first packet loss information and the second packet loss information. Wherein, the parameters such as the subscribed bandwidth, the reduction factor, the up-regulation step, etc. are pre-configured in the PFS algorithm module, so that the PFS algorithm module can calculate the adjusted queue limit according to these parameters.

[0189] For the detailed functions of the PFS algorithm module in FIG. 12, please refer to the foregoing step 504, which will not be described here again.

[0190] In summary, in the embodiment of the present application, after the first routing forwarding device in the campus network classifies and buffers the traffic from the second routing forwarding device in the operator network into multiple queues, the first routing forwarding device obtains the first packet loss information and the second packet loss information, wherein the first packet loss information is used to indicate the packet loss situation of the multiple queues, and the second packet loss information is used to indicate the packet loss situation at the second routing forwarding device. Through the packet loss situation of the multiple queues at the first routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the campus network, and through the packet loss situation at the second routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the operator network. Dynamically adjusting the queue limit of each queue according to the congestion situation of the campus network and the congestion situation of the operator network can make the queue limit of each queue more consistent with the real situation of the traffic in the current network, thereby improving the traffic control effect. Compared with configuring the queue limit of different queues only according to the subscribed bandwidth, the traffic control method provided by the embodiment of the present application has higher flexibility, and therefore has better traffic control effect.

[0191] And, the first routing forwarding device is to classify and cache the traffic from the same second routing forwarding device, so in the case that the multiple queues include a second queue for caching low-priority TCP traffic, if congestion occurs at the second routing forwarding device, the first routing forwarding device can reduce the queue limit of the second queue to trigger the second routing forwarding device to actively reduce the sending rate of low-priority TCP traffic by using the congestion control mechanism of TCP traffic, so as to leave excess bandwidth to the traffic of other applications, such as the traffic of audio and video conference applications, thereby avoiding the poor experience of users using the audio and video conference applications due to indiscriminate packet loss at the second routing forwarding device.

[0192] The virtual device of the embodiment of the present application is illustrated below.

[0193] FIG. 13 is a structural schematic diagram of a routing forwarding device provided by an embodiment of the present application. The routing forwarding device 1300 with the structure shown in FIG. 13 is a first routing forwarding device in a campus network, and is used to implement the method 500 described in the above embodiment.

[0194] As shown in FIG. 13, the routing forwarding device 1300 includes the following modules.

[0195] The transceiver module 1301 is configured to receive total traffic from an operator network; the specific implementation manner can refer to step 501 in the embodiment shown in FIG. 5.

[0196] The processing module 1302 is configured to cache the packets in different application traffic in the classification result to multiple queues corresponding to different applications respectively after classifying the received total traffic, so as to control the sending rate of the packets in each queue by the queue limit of each queue corresponding to each queue, wherein the sending rate is the rate of sending the packets to terminal devices in the campus network, and the multiple queues are used to cache the packets in the traffic from a second routing forwarding device in the operator network; the specific implementation manner can refer to step 502 in the embodiment shown in FIG. 5.

[0197] The processing module 1302 is further configured to obtain first packet loss information and second packet loss information, wherein the first packet loss information is used to indicate the packet loss situation of the multiple queues, and the second packet loss information is used to indicate the packet loss situation at the second routing forwarding device; the specific implementation manner can refer to step 503 in the embodiment shown in FIG. 5.

[0198] The processing module 1302 is further configured to adjust the queue limit of each queue corresponding to each queue in the multiple queues based on the first packet loss information and the second packet loss information; the specific implementation manner can refer to step 504 in the embodiment shown in FIG. 5.

[0199] In a possible implementation, the plurality of queues comprises a first queue, the first queue is configured to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the queue rate limit corresponding to the first queue after adjustment can satisfy a traffic requirement of the target application.

[0200] In a possible implementation, the target application comprises an audio and video conference application.

[0201] In a possible implementation, the plurality of queues comprises a second queue, the second queue is configured to buffer packets in TCP traffic with a priority lower than a second reference priority, and in a case where it is determined based on the second packet loss information that congestion occurs at the second routing and forwarding device, the queue rate limit corresponding to the second queue after adjustment is lower than the queue rate limit corresponding to the second queue before adjustment.

[0202] In a possible implementation, the processing module 1302 is configured to: in a case where it is determined based on the second packet loss information that congestion occurs at the second routing and forwarding device, reduce the queue rate limit sum, the queue rate limit sum being a sum of the queue rate limit corresponding to each queue in the plurality of queues; and adjust the queue rate limit corresponding to each queue in the plurality of queues according to the adjusted queue rate limit sum.

[0203] In a possible implementation, the processing module 1302 is configured to: determine a sum of the queue rate limit currently corresponding to each queue in the plurality of queues to obtain a current queue rate limit sum; obtain a reduction factor, the reduction factor being configured to indicate a magnitude of reduction of the current queue rate limit sum; and determine the queue rate limit sum after reduction based on the reduction factor and the current queue rate limit sum.

[0204] In a possible implementation, the processing module 1302 is configured to: in a case where it is determined based on the second packet loss information that congestion does not occur at the second routing and forwarding device but it is determined based on the first packet loss information that congestion occurs at the first routing and forwarding device, increase the queue rate limit sum; and adjust the queue rate limit corresponding to each queue in the plurality of queues according to the adjusted queue rate limit sum.

[0205] In a possible implementation, the processing module 1302 is configured to: determine a sum of the queue limits corresponding to each of the plurality of queues at present, to obtain a current queue limit sum; obtain a bottleneck queue limit sum, the bottleneck queue limit sum being a sum of the queue limits corresponding to each of the plurality of queues when congestion is determined to occur at the second routing forwarding device last time; in a case where the current queue limit sum is less than the bottleneck queue limit sum and a difference between the bottleneck queue limit sum and the current queue limit sum exceeds a difference threshold, determine an average value between the current queue limit sum and the bottleneck queue limit sum as an adjusted queue limit sum; in a case where the current queue limit sum is less than the bottleneck queue limit sum and the difference between the bottleneck queue limit sum and the current queue limit sum is less than the difference threshold, determine the bottleneck queue limit sum as the adjusted queue limit sum; and in a case where the current queue limit sum is greater than the bottleneck queue limit sum, determine the adjusted queue limit sum based on an adjustment step and the current queue limit sum.

[0206] In a possible implementation, the plurality of queues includes a first queue and a second queue, the first queue is configured to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the second queue is configured to buffer packets in TCP traffic with a priority lower than a second reference priority, the second reference priority being lower than the first reference priority. In this scenario, the processing module 1302 is configured to: obtain a flow arrival rate of the traffic in the first queue, and adjust the queue limit corresponding to the first queue based on the flow arrival rate, to ensure that the adjusted queue limit corresponding to the first queue can meet a traffic demand of the target application; and determine the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum and the adjusted queue limit corresponding to the first queue.

[0207] In a possible implementation, the plurality of queues further includes a third queue, the third queue is configured to buffer packets in traffic corresponding to an application with a priority between the first reference priority and the second reference priority. In this scenario, the processing module 1302 is configured to: determine the adjusted queue limit corresponding to the third queue based on the adjusted queue limit sum and a reference quota, the reference quota being configured to indicate a proportion between the queue limit corresponding to the third queue and the queue limit sum; and determine the adjusted queue limit corresponding to the second queue based on the adjusted queue limit sum, the adjusted queue limit corresponding to the first queue, and the adjusted queue limit corresponding to the third queue.

[0208] In a possible implementation, the processing module 1302 is further configured to: after adjusting the queue rate limit corresponding to each of the plurality of queues based on the first packet loss information and the second packet loss information, return to performing the operations of obtaining the first packet loss information and the second packet loss information, and adjusting the queue rate limit corresponding to each of the plurality of queues based on the first packet loss information and the second packet loss information, until it is determined that no congestion occurs at the first routing forwarding device based on the first packet loss information, and no congestion occurs at the second routing forwarding device based on the second packet loss information.

[0209] In a possible implementation, the first routing forwarding device is a gateway, and the gateway includes a first interface, and the first routing forwarding device is connected to the second routing forwarding device through the first interface. In this case, the processing module 1302 is configured to: after classifying the traffic received through the first interface, cache the packets in the classified results of different application traffics to the plurality of queues corresponding to different applications respectively.

[0210] In a possible implementation, the first routing forwarding device is a gateway, and the gateway includes a first interface, and the first routing forwarding device is connected to the second routing forwarding device through the first interface. In this case, the processing module 1302 is configured to: after classifying the traffic received through the first interface, cache the packets in the classified results of different application traffics to the plurality of queues corresponding to different applications respectively.

[0211] In summary, in the embodiments of the present application, after the first routing forwarding device in the campus network classifies and caches the traffic from the second routing forwarding device in the operator network to the plurality of queues, the first routing forwarding device obtains the first packet loss information and the second packet loss information, where the first packet loss information is used to indicate the packet loss of the plurality of queues, and the second packet loss information is used to indicate the packet loss at the second routing forwarding device. Through the packet loss of the plurality of queues at the first routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the campus network, and through the packet loss at the second routing forwarding device, the first routing forwarding device can determine whether congestion occurs in the operator network. According to the congestion conditions of the campus network and the congestion conditions of the operator network, the queue rate limits of the queues are dynamically adjusted, which can make the queue rate limits corresponding to the queues more consistent with the real situation of the traffic in the current network, thereby improving the traffic control effect. Compared with configuring the queue rate limits of different queues according to the subscription bandwidth only, the traffic control method provided in the embodiments of the present application has higher flexibility, and therefore has better traffic control effect.

[0212] And, the first routing forwarding device is to classify and cache the traffic from the same second routing forwarding device, so in the case that the multiple queues include a second queue for caching low-priority TCP traffic, if congestion occurs at the second routing forwarding device, the first routing forwarding device can reduce the queue rate limit of the second queue to trigger the second routing forwarding device to actively reduce the sending rate of the low-priority TCP traffic by using the congestion control mechanism of the TCP traffic, so that the excess bandwidth can be left to the traffic of other applications, such as the traffic of the audio and video conference application, thereby avoiding the poor experience of the user using the audio and video conference application due to the indiscriminate packet loss at the second routing forwarding device.

[0213] The apparatus embodiment described in FIG. 13 is only schematic, for example, the division of the modules is only a logical function division, and in actual implementation, another division manner can be used, for example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. The function modules in each embodiment of the present application can be integrated in one processing module, or each module can be physically present separately, or two or more modules can be integrated in one module. Each module in FIG. 13 can be realized in the form of hardware or in the form of a software function unit. For example, when realized by software, the transceiver module 1301 and the processing module 1302 can be software function modules generated by the processor 301 in FIG. 3 reading the program code stored in the memory 302. Each module in FIG. 13 can also be realized by different hardware of the routing forwarding device, for example, the processing module 1302 is realized by a part of the processing resources (for example, one core of a multi-core processor) of the processor 301 in FIG. 3, and the transceiver module 1301 is realized by the network interface 304 in FIG. 3 and the remaining part of the processing resources (for example, other cores of a multi-core processor) of the processor 301. Obviously, the above function modules can also be realized by a combination of software and hardware, for example, the transceiver module 1301 is realized by a hardware programmable device, and the processing module 1302 is a software function module generated by the processor reading the program instructions stored in the memory.

[0214] The embodiment of the present application also provides a routing forwarding device, including a memory, a network interface and at least one processor. The memory is used to store program instructions, and the at least one processor reads the program instructions stored in the memory, so that the routing forwarding device executes the actions performed by the first routing forwarding device in the campus network in the above method embodiment. Optionally, the hardware structure of the routing forwarding device is shown in FIG. 3 or FIG. 4.

[0215] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores instructions. When the instructions are executed by a processor, the actions performed by the first routing forwarding device in the park network in the method embodiment are implemented.

[0216] The embodiment of the present application further provides a computer program product, and the computer program product comprises a computer program. When the computer program is executed by a processor, the actions performed by the first routing forwarding device in the park network in the method embodiment are implemented.

[0217] In the embodiment of the present application, the term traffic is also referred to as network traffic or data traffic. Traffic refers to data transmitted through a network at a given time point. For example, the traffic received by a device at a time point T refers to all packets received by the device at the time point T.

[0218] Each of the embodiments in the specification is described in a progressive manner, and the same and similar parts of each of the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments.

[0219] In the specification and claims of the embodiment of the present application, the terms "first" and "second" are used to distinguish different objects, and are not used to describe a specific order of the objects, and cannot be understood as indicating or implying relative importance.

[0220] In the description of the embodiment of the present application, unless otherwise specified, the meaning of "at least one" is one or more. The meaning of "a plurality of" is two or more.

[0221] A refers to B, which means that A is the same as B or A is a simple transformation of B.

[0222] In the present application, the term "and / or" is only used to describe the association relationship of the associated objects, which means that there are three relationships, for example, A and / or B, which means that there are three cases: A exists alone, A and B exist together, and B exists alone. In addition, the character " / " in this paper generally represents that the front and rear associated objects are a "or" relationship.

[0223] Optionally, in the above embodiments, all or part of the embodiments are implemented by software, hardware, firmware or any combination thereof. Optionally, when implemented by software, all or part of the embodiments are implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. Optionally, the computer is a general-purpose computer, a special-purpose computer, a computer network, or other programmable apparatus. Optionally, the computer instructions are 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 can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) manner. Optionally, the computer-readable storage medium is any available medium accessible by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media sets. Optionally, the available medium is a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disk (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

[0224] The above description is only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A flow control method, characterized by, The method comprises: A first routing forwarding device in a park network receives total traffic from an operator network; After classifying the received total traffic, the first routing forwarding device buffers packets in different application traffic in the classification result to a plurality of queues corresponding to different applications respectively, so as to control the sending rate of the packets in the corresponding queue by the queue rate limit of each queue, the sending rate being the rate of sending packets to terminal devices in the park network, wherein the plurality of queues are used to buffer packets in traffic from a second routing forwarding device in the operator network; The first routing forwarding device obtains first packet loss information and second packet loss information, the first packet loss information being used to indicate the packet loss situation of the plurality of queues, and the second packet loss information being used to indicate the packet loss situation at the second routing forwarding device; The first routing forwarding device adjusts the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information.

2. The method of claim 1, wherein, The plurality of queues comprise a first queue, the first queue being used to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the queue rate limit corresponding to the first queue after adjustment can meet the traffic demand of the target application.

3. The method of claim 1 or 2, wherein, The target application comprises an audio and video conference application.

4. The method according to any one of claims 1 to 3, characterized in that, The plurality of queues comprise a second queue, the second queue being used to buffer packets in TCP traffic with a priority lower than a second reference priority; In a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, the queue rate limit corresponding to the second queue after adjustment is lower than the queue rate limit corresponding to the second queue before adjustment.

5. The method according to any one of claims 1 to 4, characterized in that, The first routing forwarding device adjusts the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information, comprising: In a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, the total queue rate limit is lowered, the total queue rate limit being the sum of the queue rate limits corresponding to the queues in the plurality of queues; The queue rate limit corresponding to each queue in the plurality of queues is adjusted according to the adjusted total queue rate limit.

6. The method of claim 5, wherein, The total queue rate limit is lowered, comprising: A current total queue rate limit is determined, which is the sum of the queue rate limits currently corresponding to the queues in the plurality of queues; A lowering factor is obtained, the lowering factor being used to indicate the magnitude of lowering the current total queue rate limit; Based on the lowering factor and the current total queue rate limit, a lowered total queue rate limit is determined.

7. The method of any one of claims 1-4, wherein, The first routing forwarding device adjusts the queue rate limit corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information, comprising: In a case where it is determined based on the second packet loss information that no congestion occurs at the second routing forwarding device, but it is determined based on the first packet loss information that congestion occurs at the first routing forwarding device, the total queue rate limit is raised; The queue rate limit corresponding to each queue in the plurality of queues is adjusted according to the adjusted total queue rate limit.

8. The method of claim 7, wherein, The total queue rate limit is raised, comprising: determining a sum of the queue limit of each of the plurality of queues, to obtain a current queue limit sum; obtaining a bottleneck queue limit sum, the bottleneck queue limit sum being a sum of the queue limit of each of the plurality of queues when congestion occurs at the second routing device last time; in a case where the current queue limit sum is less than the bottleneck queue limit sum and a difference between the bottleneck queue limit sum and the current queue limit sum exceeds a difference threshold, determining an average value between the current queue limit sum and the bottleneck queue limit sum as an adjusted queue limit sum; in a case where the current queue limit sum is less than the bottleneck queue limit sum and the difference between the bottleneck queue limit sum and the current queue limit sum is less than the difference threshold, determining the bottleneck queue limit sum as the adjusted queue limit sum; in a case where the current queue limit sum is greater than the bottleneck queue limit sum, determining the adjusted queue limit sum based on an adjustment step and the current queue limit sum.

9. The method of claim 5 or 7, wherein, the plurality of queues comprises a first queue and a second queue, the first queue is used to buffer packets in traffic corresponding to a target application with a priority higher than a first reference priority, and the second queue is used to buffer packets in TCP traffic with a priority lower than a second reference priority, the second reference priority being lower than the first reference priority; the adjusting the queue limit of each of the plurality of queues according to the adjusted queue limit sum comprises: obtaining a flow arrival rate of the traffic in the first queue, and adjusting the queue limit of the first queue based on the flow arrival rate to ensure that the adjusted queue limit of the first queue can meet a traffic demand of the target application; determining the adjusted queue limit of the second queue based on the adjusted queue limit sum and the adjusted queue limit of the first queue.

10. The method of claim 9, wherein, the plurality of queues further comprises a third queue, the third queue is used to buffer packets in traffic corresponding to an application with a priority between the first reference priority and the second reference priority; the determining the adjusted queue limit of the second queue based on the adjusted queue limit sum and the adjusted queue limit of the first queue comprises: determining the adjusted queue limit of the third queue based on the adjusted queue limit sum and a reference quota, the reference quota being used to indicate a proportion between the queue limit of the third queue and the queue limit sum; determining the adjusted queue limit of the second queue based on the adjusted queue limit sum, the adjusted queue limit of the first queue, and the adjusted queue limit of the third queue.

11. The method of any one of claims 1-10, wherein, after the first routing device adjusts the queue limit of each of the plurality of queues based on the first packet loss information and the second packet loss information, the method further comprises: Return to perform the operation of obtaining the first packet loss information and the second packet loss information, adjusting the queue limit speed corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information, until it is determined based on the first packet loss information that no congestion occurs at the first routing forwarding device, and it is determined based on the second packet loss information that no congestion occurs at the second routing forwarding device.

12. The method of any one of claims 1-11, wherein, The first routing forwarding device is a gateway, and the gateway comprises a first interface, and the first routing forwarding device is connected with the second routing forwarding device through the first interface. The first routing forwarding device classifies the received total traffic, and buffers the packets in the traffic of different applications in the classification results to the plurality of queues corresponding to different applications respectively. The first routing forwarding device classifies the received total traffic, and buffers the packets in the traffic of different applications in the classification results to the plurality of queues corresponding to different applications respectively.

13. The method of any one of claims 1-11, wherein, The first routing forwarding device is a switch, and the received total traffic comprises a plurality of flows. The first routing forwarding device classifies the received total traffic, and buffers the packets in the traffic of different applications in the classification results to the plurality of queues corresponding to different applications respectively. The first routing forwarding device detects the path of each flow in the plurality of flows in the operator network. The first routing forwarding device determines a plurality of flows from the same node in the operator network based on the path of each flow in the plurality of flows in the operator network, takes the same node as the second routing forwarding device, and classifies the determined plurality of flows, and buffers the packets in the traffic of different applications in the classification results to the plurality of queues corresponding to different applications respectively.

14. A routing and forwarding device, characterized by The routing forwarding device is a first routing forwarding device in a campus network, and the first routing forwarding device comprises a memory and at least one processor. The memory is used to store program instructions. The at least one processor reads the program instructions stored in the memory, so that the first routing forwarding device performs the following operations: Receive total traffic from an operator network; Classify the received total traffic, and buffer the packets in the traffic of different applications in the classification results to the plurality of queues corresponding to different applications respectively, so as to control the sending rate of the packets in the corresponding queue through the queue limit speed corresponding to each queue, and the sending rate is the rate of sending packets to the terminal device in the campus network, wherein the plurality of queues are used to buffer the packets in the traffic from the second routing forwarding device in the operator network; Obtain first packet loss information and second packet loss information, the first packet loss information is used to indicate the packet loss of the plurality of queues, and the second packet loss information is used to indicate the packet loss at the second routing forwarding device; Adjust the queue limit speed corresponding to each queue in the plurality of queues based on the first packet loss information and the second packet loss information.

15. The route forwarding device of claim 14, wherein, The multiple queues include a first queue, the first queue is used for buffering packets in traffic corresponding to a target application with a priority higher than a first reference priority, and an adjusted queue rate corresponding to the first queue can meet a traffic demand of the target application.

16. The route forwarding device of claim 14 or 15, wherein, The multiple queues include a second queue, the second queue is used for buffering packets in TCP traffic with a priority lower than a second reference priority. In a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, an adjusted queue rate corresponding to the second queue is lower than an unadjusted queue rate corresponding to the second queue.

17. The route forwarding device of any of claims 14-16, wherein, The at least one processor, after reading the program instructions stored in the memory, causes the first routing forwarding device to perform the following operations: In a case where it is determined based on the second packet loss information that congestion occurs at the second routing forwarding device, the total queue rate is reduced, the total queue rate refers to a sum of queue rates corresponding to respective queues in the multiple queues; According to the adjusted total queue rate, the queue rate corresponding to each queue in the multiple queues is adjusted.

18. The route forwarding device of any of claims 14-17, wherein, The at least one processor, after reading the program instructions stored in the memory, causes the first routing forwarding device to perform the following operations: In a case where it is determined based on the second packet loss information that congestion does not occur at the second routing forwarding device but it is determined based on the first packet loss information that congestion occurs at the first routing forwarding device, the total queue rate is increased; According to the adjusted total queue rate, the queue rate corresponding to each queue in the multiple queues is adjusted.

19. A computer-readable storage medium, characterized in that, The computer readable storage medium stores instructions, when the instructions are executed by a processor of a routing forwarding device, the method in any one of claims 1 to 13 is implemented.

20. A computer program product comprising instructions, characterized in that, The computer readable storage medium stores instructions, when the instructions are executed by a processor of a routing forwarding device, the method in any one of claims 1 to 13 is implemented.

Citation Information

Patent Citations

  • Method and device for processing mixed business flow

    CN102075407A

  • Dynamic bandwidth scheduling with transport network

    CN107113251A

  • Message scheduling method compatible with virtual link and packet switching mechanism

    CN107896200A

  • Transmission control method and device

    CN115118667A

  • Network active congestion control method and device, electronic equipment and storage medium

    CN118138530A