CN101272348A - Bandwidth control method and system - Google Patents

Bandwidth control method and system Download PDF

Info

Publication number
CN101272348A
CN101272348A CNA2008101056865A CN200810105686A CN101272348A CN 101272348 A CN101272348 A CN 101272348A CN A2008101056865 A CNA2008101056865 A CN A2008101056865A CN 200810105686 A CN200810105686 A CN 200810105686A CN 101272348 A CN101272348 A CN 101272348A
Authority
CN
China
Prior art keywords
voq
data frame
subunit
adjustment
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008101056865A
Other languages
Chinese (zh)
Other versions
CN101272348B (en
Inventor
余昌刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ziguang Communication Technology Group Co ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101056865A priority Critical patent/CN101272348B/en
Publication of CN101272348A publication Critical patent/CN101272348A/en
Application granted granted Critical
Publication of CN101272348B publication Critical patent/CN101272348B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention provides a method and a system for controlling bandwidth, which monitors the buffer memory of a switching network device by obtaining the buffer memory state information of the switching network device; when data frame congestion or overflow is confirmed in the buffer memory of the switching network device according to the buffer memory state information, data frame transmission bandwidth used in varied virtual output queues (VOQ) is adjusted according to the congestion and overflow situations; therefore, a mechanism that can timely adjust the data frame transmission bandwidth used in varied VOQ when data frame congestion or overflow happens in the buffer memory of the switching network device during data exchange process is provided, thereby effectively avoiding loss of the data frame during the data exchange process and guaranteeing the quality of service (QoS) of data exchange business.

Description

Method and system for controlling bandwidth
Technical Field
The present invention relates to network communication technologies, and in particular, to a method and a system for controlling bandwidth.
Background
The switching network device is the core part of equipment such as a modular router, a switch and the like and is responsible for data exchange among ports or slot line cards. The conventional switch Fabric device is composed as shown in fig. 1, and mainly includes a core switch Unit (FU, Fabric Unit) and a switch access Unit (FAU, Fabric access Unit), each FAU is responsible for connection between the FU and each line card, and the FU is connected to a Packet Processor (PP, Packet Processor) in each line card through each FAU for completing data exchange between each line card. Wherein, the FAU can be arranged on the line card, and the FU can be arranged on the exchange network board.
In order to reduce the cost of the switching network device and ensure that the device has higher compatibility, a non-fixed length switching mode is usually adopted for data switching, that is, a line card adds a switching network frame header to a data frame and then directly sends the data frame to the switching network device, and the switching network device forwards the received data frame to a corresponding line card without slicing and recombining the data frame. For clarity of description, a line card that transmits a data frame to a switching network device is referred to as an ingress line card, a line card that receives a data frame forwarded by the switching network device is referred to as an egress line card, a direction from the ingress line card to the switching network device is referred to as an upstream direction, and a direction from the switching network device to the egress line card is referred to as a downstream direction.
The specific implementation is generally as follows: a plurality of Virtual Output Queues (VOQs) and Output Queues (OQs) are set for each line card in a switching network device, and a plurality of VOQs set for one line card correspond to different outgoing line cards respectively. In the uplink direction, the FAU sends the data frames sent by the incoming line card into the VOQ corresponding to the destination outgoing line card, the VOQ sends the data frames of the FAU to the FU, the FU forwards the received data frames to the FAU corresponding to the destination outgoing line card, in the downlink direction, the FAU corresponding to the destination outgoing line card sends the received data frames to the OQ set for the destination outgoing line card, and the OQ sends the data frames of the FAU to the destination outgoing line card. Taking fig. 2 as an example, after receiving a data frame sent to the line card 2 by the line card 1, the FAU 1 sends the data frame to the VOQ corresponding to the line card 1 and corresponding to the line card 2 for buffering, when a preset first trigger condition is reached, the VOQ sends the data frame buffered by itself to the FU, after the FU buffers, the FU forwards the data frame to the FAU 2, the FAU 2 sends the received data frame to the OQ set to the line card 2, and when a preset second trigger condition is reached, the OQ set to the line card 2 sends the data frame buffered by itself to the line card 2. The first trigger condition may be according to a preset time interval, or a certain number of data frames in the VOQ, and the like, and the second trigger condition may be according to a preset time interval, or a certain number of data frames in the OQ, and the like, and may be specifically preset according to an actual requirement.
However, the switching network device adopting such non-fixed length switching method only has a data switching function, does not have a scheduling function, and cannot adjust the data frame transmission bandwidth for each VOQ to transmit to the FU, so that when congestion or overflow of a data frame occurs in the buffer of the switching network device, a problem of data frame loss may occur, and QoS of a data switching service cannot be guaranteed. For example, when the transmission bandwidth of the data frame sent by the FAU to the FU is too small, the VOQ congestion is caused, or when the transmission bandwidth of the data frame sent by the FAU to the FU is too large, the FU buffer overflow is caused, and the like, the data frame is lost.
Disclosure of Invention
In view of the above, the present invention provides a method and system for bandwidth control, so as to guarantee QoS for data exchange services.
A method of bandwidth control, the method comprising:
acquiring cache state information of a switching network device;
and when the data frame congestion or overflow occurs in the cache of the switching network device is determined according to the cache state information, adjusting the data frame sending bandwidth used by each virtual output queue VOQ according to the congestion or overflow condition.
A system for bandwidth control, the system comprising: a centralized scheduler and a switching network device;
the centralized scheduler is used for acquiring cache state information of the switching network device; when the congestion or overflow of the data frame in the cache of the switching network device is determined according to the cache state information, the data frame sending bandwidth used by each VOQ in the switching network device is adjusted according to the congestion or overflow condition;
and the switching network device is used for providing self cache state information for the centralized scheduler.
A system for bandwidth control, the system comprising at least two FAUs; and, each of the FAUs includes: the device comprises a cache information acquisition unit, a monitoring unit and an adjusting unit;
the cache information obtaining unit is used for obtaining cache state information of the switching network device where the FAU is located;
the monitoring unit is used for monitoring the cache state of the switching network device according to the cache state information, and sending an adjustment notice to the adjusting unit when determining that data frame congestion or overflow occurs in the cache of the switching network device according to the cache state information;
and the adjusting unit is used for adjusting the data frame sending bandwidth used by each VOQ according to the congestion or overflow condition after receiving the adjustment notification.
According to the technical scheme, the method and the system provided by the invention monitor the cache of the switching network device by acquiring the cache state information of the switching network device, and adjust the data frame sending bandwidth used by each VOQ according to the congestion or overflow condition when the data frame congestion or overflow occurs in the cache of the switching network device is determined according to the cache state information. Therefore, a mechanism is provided, in the process of data exchange, if data frame congestion or overflow occurs in the cache of the exchange network device, the data frame sending bandwidth used by each VOQ can be adjusted in time, the problem of data frame loss in the process of data exchange is effectively avoided, and the QoS of data exchange service is ensured.
Drawings
Fig. 1 is a diagram showing a configuration of a switching network device in the related art;
FIG. 2 is a diagram illustrating a prior art data exchange!
Fig. 3 is a schematic diagram of a centralized bandwidth control method according to an embodiment of the present invention;
fig. 4 is a schematic diagram of an out-of-band method for controlling a distributed bandwidth according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a band-in type in a distributed bandwidth control method according to an embodiment of the present invention;
fig. 6 is a diagram of a centralized bandwidth control system according to an embodiment of the present invention;
FIG. 7 is a diagram of a centralized scheduler architecture according to an embodiment of the present invention;
fig. 8 is a structural diagram of a distributed bandwidth control system according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an FAU according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in detail with reference to the accompanying drawings and specific embodiments.
The method provided by the invention mainly comprises the following steps: acquiring cache state information of a switching network device; when the data frame congestion or overflow occurs in the buffer of the switching network device is determined according to the buffer state information, the data frame sending bandwidth used by each VOQ is adjusted according to the congestion or overflow condition.
Wherein the method may obtain one or more of the following cache state information: VOQ status information, FU buffer status information, and OQ status information. I.e. one or more of these status information is monitored.
The method can be divided into a centralized bandwidth control method and a distributed bandwidth control method according to different implementation bodies of the method, and the centralized bandwidth control method is described in detail first, and the structure form of the centralized bandwidth control method can be as shown in fig. 3, wherein a single-line arrow represents a signaling flow direction, and a double-line arrow represents a data flow direction.
First, a description is given of a case where the state of each VOQ is monitored: each FAU sends the state information of each VOQ set for the card connected with the FAU to a centralized scheduler, the centralized scheduler receives the state information of the VOQ sent by each FAU and monitors the state of each VOQ, and when the state information of a certain VOQ indicates that the length of a data frame queue in the VOQ exceeds a preset first length threshold value, the VOQ is determined to be congested.
When it is determined that the VOQ is congested, the following two adjustment methods may be adopted:
the first, centralized scheduler determines the OQ corresponding to the congested VOQ, and determines whether the output bandwidth of the OQ is left, that is, whether the standard configuration bandwidth of the OQ is greater than the data frame bandwidth currently used by the OQ; if the data frame transmission bandwidth is left, the difference value between the standard configuration bandwidth of the OQ and the data frame transmission bandwidth currently used by the OQ may be allocated to each VOQ corresponding to the OQ according to a preset allocation policy, and the adjustment information is provided to each VOQ corresponding to the OQ, and each VOQ adjusts its own data frame transmission bandwidth according to the adjustment information. The preset allocation policy may be an average allocation policy, a weighted average allocation policy, or the like.
The second, centralized scheduler determines the VOQs with residual transmission bandwidths among other VOQs corresponding to the same OQ as the congested VOQ, that is, the VOQs with standard configuration bandwidths larger than the currently used data frame transmission bandwidth, allocates the determined residual bandwidths of the VOQs to the congested VOQs, and provides the adjustment information to each VOQ corresponding to the OQ, and each VOQ adjusts its own data frame transmission bandwidth according to the adjustment information.
The two modes can also be used simultaneously, namely the congestion problem can not be solved after the first mode is adopted for distribution, and the second mode can be adopted again.
In the method, the adjustment of the transmission bandwidth of each VOQ can be realized by adopting a mode of setting a token bucket, each FAU injects tokens corresponding to the allocated transmission bandwidth into the token bucket of each VOQ according to the transmission bandwidth allocated to each VOQ, and each VOQ controls the transmission bandwidth according to the number of the tokens in the token bucket. The centralized scheduler may first send the scheduling information to the corresponding FAU, and each FAU adjusts the token injection rate to the token bucket of the VOQ according to the received scheduling information, thereby implementing adjustment of the transmission bandwidth of each VOQ. This manner can be adopted in the following embodiments, and is not described in detail.
When monitoring the buffer status of the FU, the FU sends the buffer status information of the FU to the centralized scheduler, and the centralized scheduler can judge whether the FU has buffer overflow according to the received buffer status information. Alternatively, each FAU may send the currently used data frame transmission bandwidth of each VOQ and the currently used data frame transmission bandwidth of each OQ to the centralized scheduler, determine a difference between the currently used data frame transmission bandwidth of each VOQ and the currently used data frame transmission bandwidth of each OQ, and determine that buffer overflow of the FU occurs if the determined difference is greater than the maximum buffer value of the FU.
When the centralized scheduler determines that FU buffer overflow occurs, the data frame sending bandwidth used by each VOQ is adjusted to 0, the adjustment information is provided for each VOQ, and each VOQ adjusts the data frame sending bandwidth of the VOQ according to the adjustment information. For example, when the centralized scheduler determines that FU buffer overflow occurs, a Close (Close) instruction may be sent to each FAU, each FAU stops injecting tokens into the token bucket, and each VOQ stops sending data frames. When the FU cache is recovered to be normal, the centralized scheduler sends an Open restart (Open) instruction to each FAU, each FAU injects tokens into the token bucket at the original token injection rate, and each VOQ recovers to send bandwidth.
In addition, the centralized scheduler may also adopt a hierarchical adjustment mode, if the centralized scheduler determines that the overflow degree of the FU buffer reaches the first standard, the transmission bandwidth of each VOQ is recovered when the transmission bandwidth of the data frame used by each VOQ is reduced to half of the transmission bandwidth of the currently used data frame and the FU buffer is recovered to be normal. And if the centralized scheduler determines that the overflow degree of the FU buffer memory reaches the second standard, adjusting the data frame sending bandwidth used by each VOQ to be 0, stopping sending the data frame of each VOQ, and recovering the sending bandwidth of each VOQ when the FU buffer memory is recovered to be normal. That is, when the FU buffer overflow condition is serious, the data frame transmission of each VOQ is stopped, and if the FU buffer condition is not serious, the data frame transmission bandwidth of each VOQ can be adjusted to half of the original bandwidth. Of course, the adjustment of 0 and the original half is merely an example, and other adjustment ratios may be used.
When the state of the OQ is monitored, each FAU sends state information of the OQ connected with each FAU to the centralized scheduler, the centralized scheduler receives the state information of the OQ, and when the state information of a certain OQ indicates that the queue length of the OQ is larger than a set second length threshold value, the situation that the data frame congestion occurs to the OQ is determined. In this case, the centralized scheduler may reduce the data frame transmission bandwidth of each VOQ corresponding to the OQ in which congestion is transmitted, and for example, the centralized scheduler may transmit a close command to each FAU corresponding to the OQ in which congestion occurs, and each FAU may stop the data frame transmission of the VOQ corresponding to the OQ. And when the OQ is recovered to be normal, an open instruction is sent to each FAU, and the sending bandwidth of each VOQ corresponding to the OQ is recovered.
The following describes the distributed bandwidth control method in detail, where the centralized bandwidth control method is to centralize the scheduling function on a centralized scheduler to be completed in a unified manner, and the distributed bandwidth control method is to distribute the scheduling function on each FAU to be completed. The distributed bandwidth control method can be divided into an out-band type and an in-band type according to different sending modes of the adjustment information, wherein the out-band type is used for transmitting the adjustment information through an additionally arranged signaling exchanger, the in-band type is used for transmitting the adjustment information through a multiplexing data channel, when the data channel is multiplexed, two queues are arranged in the data channel and are respectively used for transmitting signaling and data frames, the two queues can be subjected to priority setting, and a high-priority queue can be used for transmitting the signaling. The structure of the out-band type can be shown in fig. 4, and the structure of the in-band type can be shown in fig. 5, wherein the single-line arrows indicate the signaling flow direction, and the double-line arrows indicate the data flow direction.
First, a description is given of a case where the state of each VOQ is monitored: each FAU sends the state information of each VOQ set for the line card connected with the FAU to the FAU of the destination line card corresponding to each VOQ through a multiplexing data channel or a signaling exchanger, and receives the state information of the VOQ sent by the FAU taking the line card connected with the FAU as the destination line card. Each FAU monitors the received state information of each VOQ, and when the state information of a certain VOQ indicates that the length of a data frame queue in the VOQ exceeds a preset first length threshold value, the VOQ is determined to be congested.
When a certain FAU determines that the VOQ is congested, the following two adjustment methods can be adopted:
firstly, determining whether an output bandwidth of an OQ connected with an FAU, which is congested by the VOQ, is remained, namely judging whether a standard configuration bandwidth of the OQ is larger than a data frame bandwidth currently used by the OQ; if the data frame is left, the difference value between the standard configuration bandwidth of the OQ and the currently used data frame transmission bandwidth of the OQ can be allocated to each VOQ corresponding to the OQ according to a preset allocation strategy, and the adjustment information is provided to each VOQ corresponding to the OQ through a multiplexing data channel or a signaling exchanger; after each VOQ receives the adjustment information, the transmission bandwidth of the data frame of each VOQ is adjusted according to the adjustment information. The preset allocation policy may be an average allocation policy, a weighted average allocation policy, or the like.
And secondly, determining the FAU with the VOQ being congested, determining the VOQ with the standard configuration bandwidth larger than the currently used data frame sending bandwidth according to the state information of the received VOQ, allocating the difference value between the determined standard configuration bandwidth of the VOQ and the currently used data frame sending bandwidth of the VOQ to the VOQ with the congestion, multiplexing a data channel or a signaling exchanger, providing the adjustment information to each VOQ corresponding to the OQ, and adjusting the data frame sending bandwidth of each VOQ according to the received adjustment information.
The two modes can also be used simultaneously, namely the congestion problem can not be solved after the first mode is adopted for distribution, and the second mode can be adopted again.
In the method, the adjustment of the transmission bandwidth of each VOQ can be realized by adopting a mode of setting a token bucket, each FAU injects tokens corresponding to the allocated transmission bandwidth into the token bucket of each VOQ according to the transmission bandwidth allocated to each VOQ, and each VOQ controls the transmission bandwidth according to the number of the tokens in the token bucket. The centralized scheduler may first send the scheduling information to the corresponding FAU, and each FAU adjusts the token injection rate to the token bucket of the VOQ according to the received scheduling information, thereby implementing adjustment of the transmission bandwidth of each VOQ. This may be used in the following examples.
When monitoring the buffer status of the FU, the FU sends the buffer status information of the FU to each FAU, and each FAU can judge whether the FU has buffer overflow according to the received buffer information.
When each FAU determines that FU buffer overflow occurs, adjusting the data frame sending bandwidth used by each VOQ of the line card taking the connection line card connected with each FAU as the target line card to be 0, providing the adjustment information to each VOQ, and adjusting the data frame sending bandwidth of each VOQ according to the adjustment information. For example, when each FAU determines that FU buffer overflow occurs, it may send a Close (Close) command to the FAU of the line card that is the destination of the card connected to the FAU, each FAU stops injecting tokens into the token bucket, and each VOQ stops sending data frames. When FU cache is recovered to be normal, each FAU sends a restart (Open) instruction to each FAU of a line card which is connected with the FAU and serves as a target line card, each FAU injects tokens into a token bucket at the original token injection rate, and each VOQ recovers transmission bandwidth.
In addition, a hierarchical adjustment mode can be adopted, if each FAU determines that the overflow degree of the FU cache reaches the first standard, the data frame sending bandwidth used by each VOQ of the line card taking the connected line card as the target line card is reduced to be half of the currently used data frame sending bandwidth, and when the FU cache is recovered to be normal, the sending bandwidth of each VOQ of the line card taking the connected line card as the target line card is recovered. And if each FAU determines that the overflow degree of the FU cache reaches the second standard, adjusting the data frame sending bandwidth used by each VOQ of the line card taking the connecting line card of the FAU as the target line card to 0, stopping sending the data frame of each VOQ, and recovering the sending bandwidth of each VOQ when the FU cache is recovered to be normal. That is, when the FU buffer overflow condition is serious, the data frame transmission of each VOQ is stopped, and if the FU buffer condition is not serious, the data frame transmission bandwidth of each VOQ can be adjusted to half of the original bandwidth. Of course, the adjustment of 0 and the original half is merely an example, and other adjustment ratios may be used.
When the condition of the OQ is monitored, each FAU acquires the state information of the OQ connected with the FAU, and when the state information of the OQ indicates that the queue length of the OQ is greater than a set second length threshold, the data frame congestion of the OQ is determined. At this time, the FAU determining that the OQ is congested may reduce the data frame transmission bandwidth of each VOQ corresponding to the OQ in which congestion occurs, and provide the adjustment information to each VOQ corresponding to the OQ in which congestion occurs through the multiplexing data channel or the signaling switch, and each VOQ adjusts its own data frame transmission bandwidth according to the received adjustment information. For example, the FAU may transmit a close command to each FAU corresponding to the OQ transmitting congestion, and each FAU may stop transmitting the data frame of the VOQ corresponding to the OQ after receiving the close command. And when the OQ is recovered to be normal, an open instruction is sent to each FAU, and the sending bandwidth of each VOQ corresponding to the OQ is recovered.
In addition, each FAU can also send the currently used data frame sending bandwidth information of the VOQ connected with the FAU to the FAU corresponding to the target line card, and obtain the currently used data frame sending bandwidth information of the OQ connected with the FAU; and each FAU determines the difference value between the current data frame sending bandwidth used by the OQ connected with the FAU and the current data frame sending bandwidth used by each received VOQ, and when the determined difference value is greater than 0, the difference value is distributed to each VOQ corresponding to the OQ connected with the FAU. When the difference is greater than 0, that is, the data frame transmission bandwidth currently used by the OQ is greater than the sum of the data frame transmission bandwidths currently used by the corresponding VOQs, that is, the VOQs do not fully utilize the bandwidth, which causes bandwidth waste, so that the unused part can be redistributed, thereby fully utilizing the bandwidth.
The data frame transmission bandwidth currently used by the OQ may be a standard output bandwidth configured by the OQ, or an actual current transmission rate obtained by performing output speed measurement on the OQ set for the line card. If the PP has the linear speed processing capacity, the data frame transmission bandwidth currently used by the OQ can be kept constant no matter the packet size of the data frame output by the OQ, and the standard output bandwidth configured by the OQ is achieved; if the PP has no linear speed processing capability, the output bandwidth of the OQ is related to the packet size of the data frame, and therefore, the OQ needs to be output and speed-measured to obtain the actual current sending rate.
The present invention is not limited to a specific manner of initially allocating bandwidth of each VOQ, and a manner of allocating output bandwidth of an OQ to each VOQ corresponding to the OQ may be generally adopted, and a specific allocation may be an average allocation, a weighted average allocation, an on-demand allocation, or an allocation according to a priority, and is not described in detail herein.
The above is a detailed description of the method provided by the present invention, and the following is a detailed description of the system provided by the present invention. The system provided by the present invention can be divided into a centralized bandwidth control system and a distributed bandwidth control system, which are described below. Fig. 6 is a block diagram of a centralized bandwidth control system according to an embodiment of the present invention, in which a single-line arrow indicates a signaling flow direction, and a double-line arrow indicates a data frame flow direction. As shown in fig. 6, the system mainly includes: a centralized scheduler and a switched network device.
The centralized scheduler is used for acquiring the cache state information of the switching network device; when the data frame congestion or overflow occurs in the buffer of the switching network device is determined according to the buffer state information, the data frame sending bandwidth used by each VOQ in the switching network device is adjusted according to the congestion or overflow condition.
And the switching network device is used for providing self cache state information for the centralized scheduler.
The switching network device may include: FAU and VOQ set for each line card.
Each FAU is used for acquiring the state information of each VOQ set for the line card connected with the FAU and sending the acquired state information of the VOQ to the centralized scheduler.
And the VOQ is used for receiving the adjustment of the data frame transmission bandwidth of the VOQ by the centralized scheduler.
The switching network apparatus may further include: and the FU is used for sending the FU buffer state information to the centralized scheduler.
The FU may be provided with a physical interface, such as Peripheral Component Interface (PCI) or GE, providing the FU buffer status information to the centralized scheduler.
The switching network apparatus may further include: OQ set for each line card.
Each FAU may also be configured to obtain state information of the OQ set for the own connected line card and provide the state information of the OQ to the centralized scheduler.
The switching network apparatus may further include: a token bucket set for each VOQ for storing tokens allocated for each VOQ;
each FAU is further configured to adjust, according to the adjusted data frame transmission bandwidth of each VOQ, a rate of injecting tokens into the token bucket of each VOQ according to the token injection rate corresponding to the adjusted data frame transmission bandwidth of each VOQ.
Each VOQ transmits a data frame using a transmission bandwidth corresponding to the number of tokens in its token bucket.
That is to say, the process of providing the adjustment information to each VOQ by the centralized scheduler can be implemented in a token manner, that is, the centralized scheduler sends the adjustment information to the FAU corresponding to each VOQ, the FAU adjusts the rate of injecting tokens into the token bucket of each VOQ according to the token injection rate corresponding to the data frame sending bandwidth adjusted by each VOQ, and each VOQ sends a data frame using the sending bandwidth corresponding to the number of tokens in its token bucket, thereby implementing the adjustment of the sending bandwidth of the VOQ data frame.
As described in detail below for the centralized scheduler in the system, fig. 7 is a structure diagram of the centralized scheduler provided in the embodiment of the present invention, and as shown in fig. 7, the centralized scheduler includes: a status information acquisition unit 700, a monitoring unit 710 and an adjustment unit 720.
The state information obtaining unit 700 is configured to obtain the cache state information of the switching network device.
The monitoring unit 710 is configured to monitor the buffer status information, and send an adjustment notification to the adjusting unit 720 when it is determined that data frame congestion or overflow occurs in the buffer of the switching network device according to the buffer status information.
And an adjusting unit 720, configured to adjust, after receiving the adjustment notification, a data frame transmission bandwidth used by each VOQ according to the congestion or overflow condition.
Since the buffer status information of the switching network device acquired by the centralized scheduler may be one or any combination of the VOQ status information, the FU buffer status information, and the OQ status information, the centralized scheduler may also be one or any combination of the following three structures:
the first method comprises the following steps: when the buffer status information acquired by the status information acquiring unit 700 is status information of each VOQ, the monitoring unit 710 may include: a first judgment sub-unit 711 and a first notification transmission sub-unit 712.
The first determining subunit 711 is configured to determine, according to the received state information of the VOQ, whether the length of the data frame queue in the VOQ exceeds a preset first length threshold.
A first notification transmission subunit 712, configured to, when the determination result of the first determination subunit 711 is yes, determine that the VOQ is congested, and transmit a first adjustment notification to the adjustment unit 720.
Accordingly, the adjusting unit 720 may include: a first adjustment sub-unit 721, and a first adjustment information transmission sub-unit 722.
A first adjusting subunit 721, configured to, after receiving the first adjustment notification, determine an OQ corresponding to the congested VOQ, allocate a difference between a standard configuration bandwidth of the OQ and a data frame transmission bandwidth currently used by the OQ to each VOQ corresponding to the OQ, or determine a VOQ having a standard configuration bandwidth larger than a data frame transmission bandwidth currently used in other VOQs corresponding to the same OQ, and allocate a difference between the standard configuration bandwidth of the determined VOQ and the data frame transmission bandwidth currently used by the VOQ to the congested VOQ.
A first adjustment information sending subunit 722, configured to provide the adjustment information of the first adjustment subunit 721 to each VOQ corresponding to the OQ.
And the second method comprises the following steps: when the buffer status information acquired by the status information acquiring unit 700 is FU buffer status information, the monitoring unit 710 may include: a second judgment sub-unit 713 and a second notification transmission sub-unit 714.
The second determining subunit 713 is configured to determine whether FU buffer overflow occurs according to the received FU buffer status information.
A second notification transmission subunit 714, configured to, when the determination result of the second determination subunit 713 is yes, determine that buffer overflow of the FU occurs, and transmit a second adjustment notification to the adjustment unit 720; when the second judgment subunit 713 judges that the FU buffer is restored to normal, a restoration notification is sent to the adjustment unit 720.
Accordingly, the adjusting unit 720 may include: a second adjustment sub-unit 723 and a second adjustment information transmitting sub-unit 724.
A second adjusting subunit 723, configured to reduce a data frame sending bandwidth used by each VOQ after receiving the second adjustment notification; and after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ.
A second adjustment information transmitting subunit 724 for providing the adjustment information of the second adjustment subunit 723 to each VOQ.
Thirdly, when the cache state information acquired by the state information acquiring unit 700 is OQ state information, the monitoring unit 710 may include: a third judging sub-unit 715 and a third notification transmitting sub-unit 716.
A third determining subunit 715, configured to determine, according to the received state information of the OQ, whether the length of the data frame queue in the OQ exceeds a preset second length threshold.
A third notification sending subunit 716, configured to, when the determination result of the third determining subunit 715 is yes, determine that data frame congestion occurs in the OQ, and send a third adjustment notification to the adjusting unit 720; when the third judging sub-unit 715 judges that the OQ is recovered to normal, a recovery notification is sent to the adjusting unit 720.
Accordingly, the adjusting unit 720 includes: a third adjustment sub-unit 725 and a third adjustment information transmission sub-unit 726.
A third adjusting subunit 725, configured to reduce, after receiving the third adjustment notification, a data frame transmission bandwidth of each VOQ corresponding to the congested OQ; and after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ corresponding to the OQ.
A third adjustment information transmitting sub-unit 726 for providing the adjustment information of the third adjustment sub-unit 725 to the VOQs.
The centralized scheduler may be implemented by an FPGA or an Application Specific Integrated Circuit (ASIC).
Fig. 8 is a block diagram of a distributed bandwidth control system according to an embodiment of the present invention, in which a single-line arrow indicates a signaling flow direction, and a double-line arrow indicates a data frame flow direction. As shown in fig. 8, the system includes at least two FAUs provided for each line card.
Each FAU obtains the buffer state information of the switching network device where the FAU is located, and when the congestion or overflow of the data frame occurs in the buffer in the switching network, the data frame sending bandwidth of each VOQ of the line card which is connected with the FAU and serves as the target line card is adjusted according to the congestion or overflow condition.
The buffer status information of the switching network device acquired by each FAU may be one or any combination of VOQ status information, FU buffer status information, and OQ status information. The specific structure and operation of each FAU are described in detail in the structure shown in fig. 9.
The distributed bandwidth control system can be divided into an out-of-band type and an in-band type, and when an out-of-band type structure is adopted, the system can further comprise: and the signaling exchanger is used for sending the state information of each VOQ connected with each FAU to the FAU of the destination line card corresponding to each VOQ, and forwarding the information of each FAU for adjusting the data frame sending bandwidth of the VOQ to the corresponding VOQ.
When an in-band configuration is employed, the system may further comprise: the FU is used for sending the state information of each VOQ connected with each FAU to the FAU of the destination line card corresponding to each VOQ through a multiplexing data channel, and forwarding the information of each FAU for adjusting the data frame sending bandwidth of the VOQ to the corresponding VOQ; alternatively, FU buffer status information is provided to each FAU.
Similarly, the adjustment of the transmission bandwidth of each VOQ data frame may be performed by means of a token, in this case, the system may further include: and the token bucket is arranged aiming at each VOQ and used for storing the tokens distributed for each VOQ.
Each FAU is further configured to adjust, according to the adjusted data frame transmission bandwidth of each VOQ, a rate of injecting tokens into the token bucket of each VOQ according to the token injection rate corresponding to the adjusted data frame transmission bandwidth of each VOQ.
Each VOQ transmits a data frame using a transmission bandwidth corresponding to the number of tokens in its token bucket.
As described in detail below for the FAU structure in the distributed bandwidth control system, fig. 9 is a schematic structural diagram of the FAU provided in the embodiment of the present invention, and as shown in fig. 9, the FAU may include: a buffer information acquisition unit 900, a monitoring unit 910 and an adjustment unit 920.
A cache information obtaining unit 900, configured to obtain cache state information of the switching network device where the FAU is located.
The monitoring unit 910 is configured to monitor a buffer status of the switching network device according to the buffer status information, and send an adjustment notification to the adjusting unit 920 when it is determined that data frame congestion or overflow occurs in the buffer of the switching network device according to the buffer status information.
An adjusting unit 920, configured to adjust a data frame transmission bandwidth used by each VOQ according to a congestion or overflow condition after receiving the adjustment notification.
Also according to the difference of the obtained cache status information, the structure of the FAU may include one or any combination of the following three types:
the first method comprises the following steps: the cache information acquisition unit 900 includes: a first information sending sub-unit 901 and a first information acquiring sub-unit 902.
A first information sending subunit 901, configured to send status information of each VOQ connected to the FAU of the destination line card corresponding to each VOQ.
A first information obtaining subunit 902, configured to receive the state information of the VOQ sent by another FAU of the line card that is targeted by the line card connected to the FAU.
The monitoring unit 910 may include: a first judgment sub-unit 911 and a first notification sub-unit 912.
A first determining subunit 911, configured to determine, according to the received state information of the VOQ, whether the length of the data frame queue in the VOQ exceeds a preset first length threshold.
A first notification subunit 912, configured to, when the determination result of the first determination subunit 911 is yes, determine that the VOQ is congested, and send a first adjustment notification to the adjustment unit 920.
The adjusting unit 920 may include: a first adjustment sub-unit 921 and a first adjustment information transmission sub-unit 922.
A first adjusting subunit 921, configured to, after receiving the first adjustment notification, allocate a difference between a standard configuration bandwidth of the OQ connected to the FAU and a data frame transmission bandwidth currently used by the OQ to each VOQ corresponding to the OQ; or, determining a VOQ with a standard configuration bandwidth larger than the currently used data frame transmission bandwidth, and allocating the difference between the determined VOQ standard configuration bandwidth and the currently used data frame transmission bandwidth of the VOQ to the congested VOQ.
A first adjustment information sending subunit 922, configured to send the adjustment information of the first adjustment subunit 921 to each VOQ corresponding to the OQ.
And the second method comprises the following steps: the cache information acquisition unit 900 includes: and a second information obtaining subunit 903, configured to receive FU buffer status information sent by the FU.
The monitoring unit 910 may include: a second judging sub-unit 913 and a second notifying sub-unit 914.
The second determining subunit 913 is configured to determine whether FU buffer overflow occurs according to the FU buffer status information received by the second information obtaining subunit 903.
A second notification sub-unit 914 for sending a second adjustment notification to the adjustment unit 920 when the determination result of the second determination sub-unit 913 is yes; when the second judgment subunit 913 judges that the FU buffer is restored to normal, a restoration notification is sent to the adjustment unit 920.
The adjusting unit 920 includes: a second adjustment sub-unit 923 and a second adjustment information transmitting sub-unit 924.
A second adjusting subunit 923, configured to reduce a data frame transmission bandwidth of each VOQ of the line card using the line card connected to the FAU as a destination line card after receiving the second adjustment notification; and after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ.
A second adjustment information sending subunit 924, configured to send the adjustment information of the second adjustment subunit 923 to each VOQ.
And the third is that: the cache information acquisition unit 900 includes: a third information obtaining subunit 904, configured to receive the state information of the OQ to which the FAU is connected.
The monitoring unit 910 includes: a third judging sub-unit 915 and a third notifying sub-unit 916.
A third determining subunit 915, configured to determine, according to the OQ status information acquired by the third information acquiring subunit 904, whether the queue length of the OQ is greater than a set second length threshold.
A third notification sub-unit 916 configured to send a third adjustment notification to the adjustment unit 920 when the determination result of the third determination sub-unit 915 is yes; when the third judgment sub-unit 915 judges that the state of the OQ returns to normal, a return notification is transmitted to the adjustment unit 920.
The adjusting unit 920 includes: a third adjustment sub-unit 925 and a third adjustment information transmission sub-unit 926.
A third adjusting subunit 925, configured to reduce, after receiving the third adjustment notification, a data frame transmission bandwidth of each VOQ corresponding to the congested OQ; and after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ.
A third adjustment information transmitting sub-unit 926 configured to transmit the adjustment information of the third adjustment sub-unit 925 to each VOQ.
In addition, in the above three structures, the FAU may further include: a bandwidth information transmitting unit 931, a bandwidth information acquiring unit 932, and a remaining condition determining unit 933.
A bandwidth information sending unit 931, configured to send the data frame currently used by the VOQ connected to the FAU and send bandwidth information to the FAU corresponding to the destination line card.
A bandwidth information obtaining unit 932, configured to receive data frame transmission bandwidth information currently used by VOQs sent by other FAUs, and obtain data frame transmission bandwidth information currently used by an OQ connected to the FAU where the FAU is located.
A remaining status determining unit 933, configured to determine a difference between the transmission bandwidth information of the data frame currently used by the OQ and the transmission bandwidth sum of the data frame currently used by the VOQ received by the bandwidth information obtaining unit, and send a fourth adjustment notification to the adjusting unit 920 when the determined difference is greater than 0.
The adjusting unit 920 may further include: a fourth adjustment sub-unit 927 and a fourth adjustment information transmitting sub-unit 928.
A fourth adjusting subunit 927, configured to allocate the difference determined by the remaining condition determining unit 933 to each VOQ corresponding to the OQ connected to the FAU.
A fourth adjustment information transmitting subunit 928 is configured to transmit the adjustment information of the fourth adjustment subunit 927 to each VOQ.
In addition, the FAU may further include: a token injection unit 934, configured to adjust, according to the adjusted data frame sending bandwidth of the VOQ connected to the FAU, a rate of injecting tokens into the token bucket of each VOQ according to a token injection rate corresponding to the adjusted data frame sending bandwidth of each VOQ.
The FAU can be realized by adopting FPGA or ASIC. In addition, in specific implementation, the functions of the FAU may be integrated in the PP of the line card.
As can be seen from the above description, the method and system provided by the present invention monitor the cache of the switching network device by obtaining the cache state information of the switching network device, and when it is determined that data frame congestion or overflow occurs in the cache of the switching network device according to the cache state information, adjust the data frame transmission bandwidth used by each VOQ according to the congestion or overflow condition. Therefore, a mechanism is provided, in the process of data exchange, if data frame congestion or overflow occurs in the cache of the exchange network device, the data frame sending bandwidth used by each VOQ can be adjusted in time, the problem of data frame loss in the process of data exchange is effectively avoided, and the QoS of data exchange service is ensured.
Moreover, the method and the system provided by the invention respectively provide specific monitoring and adjusting schemes aiming at three specific situations which may occur in a switching network device, namely VOQ congestion, FU buffer overflow and OQ congestion, so that data frame loss caused by VOQ congestion, FU buffer overflow and OQ congestion is avoided.
In addition, the invention is essentially to superpose a control plane on the data exchange plane of the exchange network, thereby realizing the adjustment of the data frame sending bandwidth of each VOQ, and specifically provides two system structures, namely a centralized bandwidth control system and a distributed bandwidth control system.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (28)

1. A method of bandwidth control, the method comprising:
acquiring cache state information of a switching network device;
and when the data frame congestion or overflow occurs in the cache of the switching network device is determined according to the cache state information, adjusting the data frame sending bandwidth used by each virtual output queue VOQ according to the congestion or overflow condition.
2. The method of claim 1, wherein the caching of the switching network device comprises: VOQ, core switch unit FU buffer, or output queue OQ.
3. The method of claim 2, wherein the obtaining the buffer status information of the switching network device is performed by a centralized scheduler.
4. The method of claim 3, wherein obtaining the buffer status information of the switching network device comprises: the centralized scheduler receives the state information of each VOQ connected with the centralized scheduler, which is sent by each exchange access unit FAU;
the determining that data frame congestion occurs in a buffer of the switching network device includes: when the state information of the VOQ indicates that the length of a data frame queue in the VOQ exceeds a preset first length threshold, determining that the VOQ is congested;
the adjusting of the data frame transmission bandwidth used by each VOQ includes: the centralized scheduler determines an OQ corresponding to a congested VOQ, allocates a difference value between a standard configuration bandwidth of the OQ and a data frame sending bandwidth currently used by the OQ to each VOQ corresponding to the OQ, and provides the adjustment information to each VOQ corresponding to the OQ, and each VOQ adjusts the data frame sending bandwidth thereof according to the adjustment information; or, determining a VOQ with a standard configuration bandwidth larger than a currently used data frame transmission bandwidth in other VOQs corresponding to the same OQ with the congested VOQ, allocating a difference value between the determined standard configuration bandwidth of the VOQ and the currently used data frame transmission bandwidth of the VOQ to the congested VOQ, and providing the adjustment information to each VOQ corresponding to the OQ, wherein each VOQ adjusts the data frame transmission bandwidth thereof according to the adjustment information; or a combination of the two.
5. The method of claim 3, wherein obtaining the buffer status information of the switching network device comprises: and the centralized scheduler receives the FU buffer state information sent by the FU.
6. The method of claim 3, wherein obtaining the buffer status information of the switching network device comprises: the centralized scheduler acquires a data frame sending bandwidth currently used by each VOQ and a data frame sending bandwidth currently used by each OQ, determines a difference value between the data frame sending bandwidth currently used by each VOQ and the data frame sending bandwidth currently used by each OQ, and acquires the buffer state information of the FU according to the determined difference value;
the determining that the data frame overflow occurs in the buffer of the switching network device includes: determining that a buffer overflow of the FU occurs when the determined difference is greater than a maximum buffer value of the FU.
7. The method according to claim 5 or 6, wherein the adjusting the data frame transmission bandwidth used by each VOQ comprises: when the centralized scheduler determines that FU buffer overflow occurs, reducing data frame sending bandwidth used by each VOQ, providing the adjustment information to each VOQ, and adjusting the data frame sending bandwidth of each VOQ according to the adjustment information; or,
if the centralized scheduler determines that the overflow degree of the FU buffer reaches a first standard, reducing the data frame sending bandwidth used by each VOQ to be half of the currently used data frame sending bandwidth; if the overflow degree of the FU buffer memory reaches the second standard, adjusting the data frame sending bandwidth used by each VOQ to be 0, providing the distribution information for each VOQ, and adjusting the data frame sending bandwidth of each VOQ according to the adjustment information;
the method further comprises the following steps: and when the centralized scheduler determines that the FU cache is recovered to be normal, recovering the transmission bandwidth of each VOQ.
8. The method of claim 3, wherein obtaining the buffer status information of the switching network device comprises: the centralized scheduler receives OQ state information which is sent by each FAU and connected with the centralized scheduler;
the determining that data frame congestion occurs in a buffer of the switching network device includes: when the state information of the OQ indicates that the queue length of the OQ is larger than a set second length threshold, determining that data frame congestion occurs to the OQ;
the adjusting of the data frame transmission bandwidth used by each VOQ includes: the centralized controller reduces the data frame sending bandwidth of each VOQ corresponding to the congested OQ, provides the adjustment information for each VOQ, and the VOQ adjusts the data frame sending bandwidth of the VOQ according to the adjustment information;
the method further comprises the following steps: and when the centralized controller determines that the OQ is recovered to be normal, recovering the transmission bandwidth of each VOQ corresponding to the OQ.
9. The method of claim 2, wherein the obtaining the buffer status information of the switching network device is performed by each FAU.
10. The method of claim 9, wherein obtaining the buffer status information of the switching network device comprises:
each FAU sends the state information of each VOQ connected with the FAU to the FAU of a target line card corresponding to each VOQ through a multiplexing data channel or a signaling exchanger, and receives the state information of the VOQ sent by the FAU taking the line card connected with the FAU as the target line card;
the determining that data frame congestion occurs in a buffer of the switching network device includes: when the state information of the VOQ indicates that the length of a data frame queue in the VOQ exceeds a preset first length threshold, determining that the VOQ is congested;
the adjusting of the data frame transmission bandwidth used by each VOQ includes: determining that an FAU with VOQ congestion distributes a difference value between standard configuration bandwidth of an OQ connected with the FAU and data frame sending bandwidth currently used by the OQ to each VOQ corresponding to the OQ, and providing the adjustment information to each VOQ corresponding to the OQ through a multiplexing data channel or a signaling exchanger, wherein each VOQ adjusts the data frame sending bandwidth of the FAU according to the adjustment information; or, determining the FAU with the congested VOQ, determining the VOQ with the standard configuration bandwidth larger than the currently used data frame transmission bandwidth according to the received VOQ state information, allocating the difference between the determined VOQ standard configuration bandwidth and the currently used data frame transmission bandwidth of the VOQ to the congested VOQ, and providing the adjustment information to each VOQ corresponding to the OQ through a multiplexing data channel or a signaling exchanger, wherein each VOQ adjusts the data frame transmission bandwidth thereof according to the adjustment information; or a combination of the two.
11. The method of claim 9, wherein obtaining the buffer status information of the switching network device comprises: each FAU receives FU buffer state information sent by the FU;
the adjusting of the data frame transmission bandwidth used by each VOQ includes: when each FAU determines that FU buffer overflow occurs, reducing data frame sending bandwidth used by each VOQ of a line card taking a line card connected with each FAU as a target line card, and providing the adjustment information to each VOQ through a multiplexing data channel or a signaling exchanger, wherein each VOQ adjusts the data frame sending bandwidth of each VOQ according to the adjustment information; or, if each FAU determines that the overflow degree of the FU buffer memory reaches the first standard, reducing the data frame transmission bandwidth used by each VOQ of the line card taking the own connected line card as the target line card to half of the currently used data frame transmission bandwidth; if the overflow degree of the FU buffer memory is determined to reach the second standard, adjusting the data frame sending bandwidth used by each VOQ of the line card taking the own connecting line card as the target line card to be 0, providing the distribution information to each VOQ through a multiplexing data channel or a signaling exchanger, and adjusting the data frame sending bandwidth of each VOQ according to the adjustment information;
the method further comprises the following steps: and when each FAU determines that the FU cache is recovered to be normal, recovering the transmission bandwidth of each VOQ of the line card which takes the line card connected with the FAU as a target line card.
12. The method of claim 9, wherein obtaining the buffer status information of the switching network device comprises: each FAU acquires the state information of the OQ connected with the FAU;
the determining that data frame congestion occurs in a buffer of the switching network device includes: when the state information of the OQ indicates that the queue length of the OQ is larger than a set second length threshold, determining that data frame congestion occurs to the OQ;
the adjusting of the data frame transmission bandwidth used by each VOQ includes: determining that the FAU with the OQ congestion reduces the data frame sending bandwidth of each VOQ corresponding to the OQ with the congestion, and providing the adjustment information to each VOQ corresponding to the OQ with the congestion through a multiplexing data channel or a signaling exchanger, wherein each VOQ adjusts the data frame sending bandwidth thereof according to the adjustment information;
the method further comprises the following steps: and when the FAU which determines that the OQ congestion occurs determines that the OQ is recovered to be normal, recovering the transmission bandwidth of each VOQ corresponding to the OQ.
13. The method of claim 4, 7, 8, 10 or 11, further comprising: each FAU injects tokens into a token bucket of each VOQ connected with each FAU according to the token injection rate corresponding to the data frame transmission bandwidth allocated to each VOQ; each VOQ controls the sending bandwidth of the VOQ according to the number of tokens in the token bucket of the VOQ;
providing the adjustment information to the VOQs comprises: and providing the adjustment information to FAUs corresponding to the VOQs, and adjusting the token injection rate of the token bucket of the VOQs by the FAUs receiving the adjustment information according to the adjustment information.
14. A system for bandwidth control, the system comprising: a centralized scheduler and a switching network device;
the centralized scheduler is used for acquiring cache state information of the switching network device; when the congestion or overflow of the data frame in the cache of the switching network device is determined according to the cache state information, the data frame sending bandwidth used by each VOQ in the switching network device is adjusted according to the congestion or overflow condition;
and the switching network device is used for providing self cache state information for the centralized scheduler.
15. The system of claim 14, wherein the switching network means comprises: FU and each VOQ;
the FU is used for sending FU buffer state information to the centralized scheduler;
each VOQ is configured to receive adjustment of the data frame transmission bandwidth of the VOQ by the centralized scheduler.
16. The system of claim 14, wherein the switching network means comprises: FAU, VOQ and OQ set for each line card;
each FAU is used for acquiring the state information of each VOQ connected with the FAU and/or the state information of the OQ connected with the FAU, and sending the state information of each VOQ and/or the state information of the OQ connected with the FAU to the centralized scheduler;
the VOQ is configured to receive the adjustment of the centralized scheduler on the data frame transmission bandwidth of the VOQ.
17. The system according to claim 15 or 16, wherein the switching network device further comprises: a token bucket set for each VOQ for storing tokens allocated for each VOQ;
each FAU is further used for adjusting the rate of token injection into the token bucket of each VOQ according to the token injection rate corresponding to the adjusted data frame sending bandwidth of each VOQ;
each VOQ transmits a data frame using a transmission bandwidth corresponding to the number of tokens in its token bucket.
18. The system of claim 14, wherein the centralized scheduler comprises: the device comprises a state information acquisition unit, a monitoring unit and an adjusting unit;
the state information acquiring unit is used for acquiring the cache state information of the switching network device;
the monitoring unit is used for monitoring the cache state information and sending an adjustment notice to the adjusting unit when determining that data frame congestion or overflow occurs in the cache of the switching network device according to the cache state information;
and the adjusting unit is used for adjusting the data frame sending bandwidth used by each VOQ according to the congestion or overflow condition after receiving the adjustment notification.
19. The system according to claim 18, wherein when the buffer status information acquired by the status information acquiring unit is status information of each VOQ, the monitoring unit includes: a first judging subunit and a first notification sending subunit;
the first judging subunit is configured to judge, according to the received state information of the VOQ, whether the length of the data frame queue in the VOQ exceeds a preset first length threshold;
the first notification sending subunit is configured to, when the determination result of the first determining subunit is yes, determine that the VOQ is congested, and send a first adjustment notification to the adjusting unit;
the adjusting unit includes: a first adjustment subunit and a first adjustment information sending subunit;
the first adjusting subunit is configured to, after receiving the first adjustment notification, determine an OQ corresponding to a congested VOQ, allocate a difference between a standard configuration bandwidth of the OQ and a data frame transmission bandwidth currently used by the OQ to each VOQ corresponding to the OQ, or determine, of other VOQs corresponding to the same OQ as the congested VOQ, a standard configuration bandwidth of the VOQ that is greater than the data frame transmission bandwidth currently used, and allocate a difference between the standard configuration bandwidth of the determined VOQ and the data frame transmission bandwidth currently used by the VOQ to the congested VOQ;
and the first adjustment information sending subunit is configured to provide the adjustment information of the first adjustment subunit to each VOQ corresponding to the OQ.
20. The system according to claim 18, wherein when the buffer status information acquired by the status information acquiring unit is FU buffer status information, the monitoring unit comprises: a second judgment subunit and a second notification transmission subunit;
the second judgment subunit is used for judging whether FU cache overflow occurs or not according to the received FU cache state information;
the second notification sending subunit is configured to determine that buffer overflow of the FU occurs when the determination result of the second determining subunit is yes, and send a second adjustment notification to the adjusting unit; when the second judging subunit judges that the FU cache is recovered to be normal, a recovery notification is sent to the adjusting unit
The adjusting unit includes: a second adjustment subunit and a second adjustment information sending subunit;
the second adjusting subunit is configured to reduce a data frame sending bandwidth used by each VOQ after receiving the second adjustment notification; after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ;
and the second adjustment information sending subunit is configured to provide the adjustment information of the second adjustment subunit to each VOQ.
21. The system according to claim 18, wherein when the cache status information acquired by the status information acquiring unit is OQ status information, the monitoring unit includes: a third judging subunit and a third notification sending subunit;
the third judging subunit is configured to judge, according to the received state information of the OQ, whether the length of the data frame queue in the OQ exceeds a preset second length threshold;
the third notification sending subunit is configured to, when the determination result of the third determining subunit is yes, determine that data frame congestion occurs in the OQ, and send a third adjustment notification to the adjusting unit; when the third judging subunit judges that the OQ is recovered to normal, a recovery notification is sent to the adjusting unit;
the adjusting unit includes: a third adjustment subunit and a third adjustment information sending subunit;
the third adjusting subunit is configured to reduce, after receiving the third adjustment notification, a data frame transmission bandwidth of each VOQ corresponding to the congested OQ; after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ corresponding to the OQ;
and the third adjustment information sending subunit is configured to provide the adjustment information of the third adjustment subunit to each VOQ.
22. A system for bandwidth control, the system comprising at least two FAUs; and, each of the FAUs includes: the device comprises a cache information acquisition unit, a monitoring unit and an adjusting unit;
the cache information obtaining unit is used for obtaining cache state information of the switching network device where the FAU is located;
the monitoring unit is used for monitoring the cache state of the switching network device according to the cache state information, and sending an adjustment notice to the adjusting unit when determining that data frame congestion or overflow occurs in the cache of the switching network device according to the cache state information;
and the adjusting unit is used for adjusting the data frame sending bandwidth used by each VOQ according to the congestion or overflow condition after receiving the adjustment notification.
23. The system according to claim 22, wherein the cache information obtaining unit comprises: a first information sending subunit and a first information acquiring subunit;
the first information sending subunit sends the state information of each VOQ connected with the FAU to the FAU of the destination line card corresponding to each VOQ;
the first information acquisition subunit is used for receiving the VOQ state information sent by other FAUs of the line card which is connected with the FAU and used as a target line card;
the monitoring unit includes: a first judging subunit and a first notifying subunit;
the first judging subunit is configured to judge, according to the received state information of the VOQ, whether the length of the data frame queue in the VOQ exceeds a preset first length threshold;
the first notification subunit is configured to, when the determination result of the first determination subunit is yes, determine that the VOQ is congested, and send a first adjustment notification to the adjustment unit;
the adjusting unit includes: a first adjustment subunit and a first adjustment information sending subunit;
the first adjusting subunit is configured to, after receiving the first adjustment notification, allocate a difference between a standard configuration bandwidth of an OQ connected to the FAU and a data frame transmission bandwidth currently used by the OQ to each VOQ corresponding to the OQ; or determining a VOQ with a standard configuration bandwidth larger than the currently used data frame transmission bandwidth, and allocating the difference value between the determined VOQ standard configuration bandwidth and the VOQ currently used data frame transmission bandwidth to the VOQ with congestion;
and the first adjustment information sending subunit sends the adjustment information of the first adjustment subunit to each VOQ corresponding to the OQ.
24. The system according to claim 22, wherein the cache information obtaining unit comprises: the second information acquisition subunit is used for receiving FU buffer state information sent by the FU;
the monitoring unit includes: a second judging subunit and a second notifying subunit;
the second judging subunit is configured to, according to the FU buffer status information received by the second information obtaining subunit, judge whether FU buffer overflow occurs;
the second notification subunit is configured to send a second adjustment notification to the adjustment unit when the determination result of the second determination subunit is yes; when the second judging subunit judges that the FU cache is restored to normal, sending a restoration notification to the adjusting unit;
the adjusting unit includes: a second adjustment subunit and a second adjustment information sending subunit;
the second adjusting subunit is configured to reduce, after receiving the second adjustment notification, a data frame transmission bandwidth of each VOQ of the line card using the line card connected to the FAU as a destination line card; after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ;
and the second adjustment information sending subunit is configured to send the adjustment information of the second adjustment subunit to each VOQ.
25. The system according to claim 22, wherein the cache information obtaining unit comprises: a third information obtaining subunit, configured to receive state information of the OQ connected to the FAU;
the monitoring unit includes: a third judging subunit and a third notifying subunit;
the third judging subunit is configured to judge whether the queue length of the OQ is greater than a set second length threshold according to the OQ state information acquired by the third information acquiring subunit;
the third notification subunit is configured to send a third adjustment notification to the adjustment unit when the determination result of the third determination subunit is yes; when the third judging subunit judges that the state of the OQ returns to normal, a recovery notification is sent to the adjusting unit;
the adjusting unit includes: a third adjustment subunit and a third adjustment information sending subunit;
the third adjusting subunit is configured to reduce, after receiving the third adjustment notification, a data frame transmission bandwidth of each VOQ corresponding to the congested OQ; after receiving the recovery notification, recovering the data frame transmission bandwidth of each VOQ;
and the third adjustment information sending subunit is configured to send the adjustment information of the third adjustment subunit to each VOQ.
26. The system of claim 23, 24 or 25, further comprising: a token bucket set for each VOQ for storing tokens allocated for each VOQ;
the FAU further includes: and the token injection unit is used for adjusting the rate of injecting the tokens into the token bucket of each VOQ according to the adjusted data frame sending bandwidth of the VOQ connected with the FAU and the token injection rate corresponding to the adjusted data frame sending bandwidth of each VOQ.
27. The system of any one of claims 22 to 25, further comprising: and the signaling exchanger is used for sending the state information of each VOQ connected with each FAU to the FAU of the destination line card corresponding to each VOQ, and forwarding the information of each FAU for adjusting the data frame sending bandwidth of the VOQ to the corresponding VOQ.
28. The system of any one of claims 22 to 25, further comprising: and the FU is used for sending the state information of each VOQ connected with each FAU to the FAU of the destination line card corresponding to each VOQ through the multiplexing data channel, and forwarding the information of each FAU for adjusting the data frame sending bandwidth of the VOQ to the corresponding VOQ.
CN2008101056865A 2008-04-30 2008-04-30 Bandwidth control method and system Active CN101272348B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101056865A CN101272348B (en) 2008-04-30 2008-04-30 Bandwidth control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101056865A CN101272348B (en) 2008-04-30 2008-04-30 Bandwidth control method and system

Publications (2)

Publication Number Publication Date
CN101272348A true CN101272348A (en) 2008-09-24
CN101272348B CN101272348B (en) 2012-07-04

Family

ID=40006044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101056865A Active CN101272348B (en) 2008-04-30 2008-04-30 Bandwidth control method and system

Country Status (1)

Country Link
CN (1) CN101272348B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611608A (en) * 2011-01-21 2012-07-25 中兴通讯股份有限公司 Method and device for managing authorization surplus of VOQ (virtual output queue)
CN102739536A (en) * 2012-06-26 2012-10-17 华为技术有限公司 Method for caching messages and router
CN106789743A (en) * 2016-12-15 2017-05-31 中国科学院沈阳自动化研究所 The adaptive bandwidth adjusting method and device of a kind of SDN data transmission sets
CN107579921A (en) * 2017-09-26 2018-01-12 锐捷网络股份有限公司 Flow control methods and device
CN108270744A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Media data access method and device
CN108270810A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Media data access method and device
CN109246025A (en) * 2018-08-09 2019-01-18 烽火通信科技股份有限公司 Flow control system and method based on network medium
CN109327402A (en) * 2017-07-31 2019-02-12 杭州海康威视数字技术股份有限公司 Congestion management and device
WO2021098730A1 (en) * 2019-11-20 2021-05-27 深圳市中兴微电子技术有限公司 Switching network congestion management method and apparatus, device, and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215678B1 (en) * 2000-04-10 2007-05-08 Switchcore, A.B. Method and apparatus for distribution of bandwidth in a switch
GB0013571D0 (en) * 2000-06-06 2000-07-26 Power X Limited Switching system
US7068672B1 (en) * 2001-06-04 2006-06-27 Calix Networks, Inc. Asynchronous receive and transmit packet crosspoint

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012097599A1 (en) * 2011-01-21 2012-07-26 中兴通讯股份有限公司 Method and device for managing virtual output queue authorization surplus
CN102611608B (en) * 2011-01-21 2015-05-13 中兴通讯股份有限公司 Method and device for managing authorization surplus of VOQ (virtual output queue)
CN102611608A (en) * 2011-01-21 2012-07-25 中兴通讯股份有限公司 Method and device for managing authorization surplus of VOQ (virtual output queue)
CN102739536A (en) * 2012-06-26 2012-10-17 华为技术有限公司 Method for caching messages and router
CN102739536B (en) * 2012-06-26 2016-03-02 华为技术有限公司 A kind of message caching method and router
CN106789743A (en) * 2016-12-15 2017-05-31 中国科学院沈阳自动化研究所 The adaptive bandwidth adjusting method and device of a kind of SDN data transmission sets
CN108270744A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Media data access method and device
CN108270810A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Media data access method and device
CN108270810B (en) * 2016-12-30 2021-08-13 北京国双科技有限公司 Media data access method and device
CN109327402A (en) * 2017-07-31 2019-02-12 杭州海康威视数字技术股份有限公司 Congestion management and device
CN107579921A (en) * 2017-09-26 2018-01-12 锐捷网络股份有限公司 Flow control methods and device
CN109246025A (en) * 2018-08-09 2019-01-18 烽火通信科技股份有限公司 Flow control system and method based on network medium
CN109246025B (en) * 2018-08-09 2022-02-01 烽火通信科技股份有限公司 Flow control system and method based on network medium
WO2021098730A1 (en) * 2019-11-20 2021-05-27 深圳市中兴微电子技术有限公司 Switching network congestion management method and apparatus, device, and storage medium

Also Published As

Publication number Publication date
CN101272348B (en) 2012-07-04

Similar Documents

Publication Publication Date Title
CN101272348A (en) Bandwidth control method and system
CN101272345B (en) Method, system and device for controlling data flux
EP0688481B1 (en) Device and method for atm end system cell flow regulation
US7453810B2 (en) Method and apparatus for closed loop, out-of-band backpressure mechanism
US9258232B2 (en) Ingress traffic flow control in a data communications system
CN101536413B (en) Queue aware flow control
JP5706297B2 (en) Packet transfer apparatus and power supply control method for QoS control circuit
US8391144B1 (en) Inter-device flow control
US7903552B2 (en) Directional and priority based flow control mechanism between nodes
US5570360A (en) Method and apparatus for implementing communication service contract using cell arrival information
WO2017199209A2 (en) Traffic management in a network switching system with remote physical ports
US20030185249A1 (en) Flow control and quality of service provision for frame relay protocols
EP1684476A1 (en) Traffic management in communication networks
JPH0657016B2 (en) Congestion control type packet switching method and apparatus thereof
CN101299721B (en) Method for switching message of switching network, and switching device
US20080304503A1 (en) Traffic manager and method for performing active queue management of discard-eligible traffic
KR20040052198A (en) Class-Based Rate Control Using a Multi-Threshold Leaky Bucket
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
WO2002098047A2 (en) System and method for providing optimum bandwidth utilization
JPH10243000A (en) Switching flow control
US7203171B1 (en) Ingress discard in output buffered switching devices
US20040213155A1 (en) Multi-processor data traffic shaping and forwarding
JP2008124967A (en) Ether-oam switch apparatus
JP2004088219A (en) Frame transmission speed control method in frame transfer network, frame transfer apparatus using the same and user terminal
JP4094626B2 (en) Radio control apparatus and radio control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230831

Address after: 24th Floor, Block B, Zhizhen Building, No. 7 Zhichun Road, Haidian District, Beijing, 100088

Patentee after: Beijing Ziguang Communication Technology Group Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.