CN101272348A - Method and system for bandwidth control - Google Patents
Method and system for bandwidth control Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims abstract description 116
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000002347 injection Methods 0.000 claims description 17
- 239000007924 injection Substances 0.000 claims description 17
- 230000011664 signaling Effects 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 101150062273 fau-1 gene Proteins 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种带宽控制的方法和系统,通过获取交换网装置的缓存状态信息对交换网装置的缓存进行监控,当根据缓存状态信息确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据所述拥塞或溢出状况,调整各虚拟输出队列(VOQ)使用的数据帧发送带宽。从而提供了一种机制在进行数据交换过程中,如果交换网装置的缓存中发生数据帧拥塞或溢出,能够及时对各VOQ使用的数据帧发送带宽进行调整,有效地避免数据交换过程中的数据帧丢失问题,保证数据交换业务的服务质量(QoS)。
The present invention provides a method and system for bandwidth control, which monitors the cache of the switching network device by acquiring the cache status information of the switching network device, and when it is determined according to the buffer status information that data frame congestion or overflow occurs in the cache of the switching network device , adjusting the data frame sending bandwidth used by each virtual output queue (VOQ) according to the congestion or overflow situation. Therefore, a mechanism is provided during the data exchange process. If data frame congestion or overflow occurs in the cache of the switching network device, the data frame transmission bandwidth used by each VOQ can be adjusted in time to effectively avoid data loss during the data exchange process. Frame loss problem, to ensure the quality of service (QoS) of the data exchange business.
Description
技术领域 technical field
本发明涉及网络通信技术,特别涉及一种带宽控制的方法和系统。The invention relates to network communication technology, in particular to a bandwidth control method and system.
背景技术 Background technique
交换网装置是模块化路由器和交换机等设备的核心部分,负责各端口或槽位线卡之间的数据交换。现有交换网装置的组成如图1所示,交换网装置主要包括核心交换单元(FU,Fabric Unit)和交换接入单元(FAU,FabricAccess Unit),各FAU负责FU和各线卡之间的连接,FU通过各FAU连接各线卡中的包处理器(PP,Packet Processor),用于完成各线卡之间的数据交换。其中,FAU可以设置在线卡上,FU可以设置在交换网板上。The switching network device is the core part of equipment such as modular routers and switches, and is responsible for data exchange between line cards at each port or slot. The composition of the existing switching network device is shown in Figure 1. The switching network device mainly includes a core switching unit (FU, Fabric Unit) and a switching access unit (FAU, FabricAccess Unit). Each FAU is responsible for the communication between the FU and each line card. Connection, the FU is connected to the packet processor (PP, Packet Processor) in each line card through each FAU, and is used to complete the data exchange between each line card. Wherein, the FAU can be set on the line card, and the FU can be set on the switching fabric board.
为了降低交换网装置的成本以及保证装置具有较高兼容性,通常采用非定长交换的方式进行数据交换,即线卡将数据帧添加一个交换网帧头后直接发送至交换网装置,不需要对数据帧进行切片和重组,交换网装置将接收到的数据帧转发至相应的线卡。为了描述更加清楚,将发送数据帧到交换网装置的线卡称为入线卡,将接收交换网装置转发的数据帧的线卡称为出线卡,将入线卡到交换网装置的方向称为上行方向,将交换网装置到出线卡的方向称为下行方向。In order to reduce the cost of the switching network device and ensure high compatibility of the device, data exchange is usually performed in the form of non-fixed-length switching, that is, the line card adds a switching network frame header to the data frame and sends it directly to the switching network device. The data frame is sliced and reassembled, and the switching network device forwards the received data frame to a corresponding line card. For a clearer description, the line card that sends the data frame to the switching network device is called the incoming line card, the line card that receives the data frame forwarded by the switching network device is called the outgoing line card, and the direction from the incoming line card to the switching network device is called the is the uplink direction, and the direction from the switching network device to the outgoing line card is called the downlink direction.
具体实现通常为:在交换网装置中针对每个线卡设置多个虚拟输出队列(VOQ,Virtual Output Queue)和输出队列(OQ,Output Queue),针对一个线卡设置的多个VOQ分别对应不同的出线卡。其中,在上行方向上,FAU将入线卡发送的数据帧送入目的出线卡对应的VOQ中,VOQ将自身的数据帧发送给FU,FU将接收到的数据帧转发给目的出线卡对应的FAU,下行方向上,由目的出线卡对应的FAU将接收到的数据帧送至针对目的出线卡设置的OQ中,OQ将自身的数据帧发送给目的出线卡。以图2为例,FAU 1接收到线卡1发送给线卡2的数据帧后,将该数据帧发送至针对线卡1设置的、且线卡2对应的VOQ中进行缓存,达到预设的第一触发条件时,VOQ将自身缓存的数据帧发送给FU,在FU进行缓存后,由FU转发至FAU 2,FAU 2将接收到的数据帧发送至针对线卡2设置的OQ中,达到预设的第二触发条件时,将针对线卡2设置的OQ将自身缓存的数据帧发送给线卡2。其中,第一触发条件可以是按照预设的时间间隔,或者,VOQ中的数据帧达到一定数量等,第二触发条件可以是按照预设的时间间隔,或者,OQ中的数据帧达到一定数量等,具体可以根据实际需求进行预先设置。The specific implementation is usually: multiple virtual output queues (VOQ, Virtual Output Queue) and output queues (OQ, Output Queue) are set for each line card in the switching network device, and multiple VOQs set for one line card correspond to different outgoing line card. Among them, in the uplink direction, the FAU sends the data frame sent by the incoming line card to the VOQ corresponding to the destination outgoing line card, and the VOQ sends its own data frame to the FU, and the FU forwards the received data frame to the corresponding VOQ of the destination outgoing line card. FAU, in the downlink direction, the FAU corresponding to the destination outgoing line card sends the received data frame to the OQ set for the destination outgoing line card, and the OQ sends its own data frame to the destination outgoing line card. Taking Figure 2 as an example, after receiving the data frame sent by line card 1 to line card 2, FAU 1 sends the data frame to the VOQ set for line card 1 and corresponding to line card 2 for buffering, reaching the preset When the first trigger condition is met, VOQ sends the data frame it caches to FU. After FU caches it, the FU forwards it to FAU 2. FAU 2 sends the received data frame to the OQ set for line card 2. When the preset second trigger condition is met, the OQ set for the line card 2 sends the data frame buffered by itself to the line card 2 . Wherein, the first trigger condition may be according to a preset time interval, or the data frame in the VOQ reaches a certain number, etc., and the second trigger condition may be according to a preset time interval, or, the data frame in the OQ reaches a certain number etc., which can be preset according to actual needs.
然而,采用这种非定长交换方式的交换网装置仅具备数据交换功能,不具备调度功能,不能够调整各VOQ发送至FU的数据帧发送带宽,因此,当交换网装置的缓存中发生数据帧拥塞或溢出时,可能会造成数据帧丢失的问题,无法保证数据交换业务的QoS。例如,当FAU发送至FU的数据帧发送带宽过小,引起VOQ拥塞,或者,当FAU发送至FU的数据帧发送带宽过大,引起FU缓存溢出等都会造成数据帧的丢失。However, the switching network device using this non-fixed-length switching method only has the function of data exchange, does not have the scheduling function, and cannot adjust the transmission bandwidth of the data frame sent by each VOQ to the FU. Therefore, when a data frame occurs in the cache of the switching network device When frames are congested or overflowed, data frames may be lost, and the QoS of data exchange services cannot be guaranteed. For example, when the transmission bandwidth of the data frame sent from the FAU to the FU is too small, causing VOQ congestion, or when the transmission bandwidth of the data frame sent from the FAU to the FU is too large, causing the buffer overflow of the FU, etc., all of which will cause the loss of the data frame.
发明内容 Contents of the invention
有鉴于此,本发明提供了一种带宽控制的方法和系统,以便于保证数据交换业务的QoS。In view of this, the present invention provides a bandwidth control method and system, so as to guarantee the QoS of the data exchange service.
一种带宽控制的方法,该方法包括:A method for bandwidth control, the method comprising:
获取交换网装置的缓存状态信息;Acquiring cache state information of the switching network device;
当根据所述缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据所述拥塞或溢出状况,调整各虚拟输出队列VOQ所使用的数据帧发送带宽。When it is determined according to the buffer state information that data frame congestion or overflow occurs in the buffer of the switching network device, the data frame sending bandwidth used by each virtual output queue VOQ is adjusted according to the congestion or overflow situation.
一种带宽控制的系统,该系统包括:集中式调度器和交换网装置;A bandwidth control system, the system includes: a centralized scheduler and a switching network device;
所述集中式调度器,用于获取交换网装置的缓存状态信息;当根据所述缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据所述拥塞或溢出状况,调整所述交换网装置中各VOQ所使用的数据帧发送带宽;The centralized scheduler is used to obtain the cache state information of the switching network device; when it is determined according to the cache state information that data frame congestion or overflow occurs in the cache of the switching network device, according to the congestion or overflow situation, adjust The data frame sending bandwidth used by each VOQ in the switching network device;
所述交换网装置,用于向所述集中式调度器提供自身的缓存状态信息。The switching network device is configured to provide its own cache status information to the centralized scheduler.
一种带宽控制的系统,该系统包括至少两个FAU;并且,所述各FAU包括:缓存信息获取单元、监测单元和调整单元;A bandwidth control system, the system includes at least two FAUs; and each FAU includes: a cache information acquisition unit, a monitoring unit, and an adjustment unit;
所述缓存信息获取单元,用于获取该FAU所在交换网装置的缓存状态信息;The cache information obtaining unit is used to obtain the cache state information of the switching network device where the FAU is located;
所述监测单元,用于根据所述缓存状态信息对所述交换网装置的缓存状态进行监测,当根据所述缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,向所述调整单元发送调整通知;The monitoring unit is configured to monitor the buffer status of the switching network device according to the buffer status information, and when it is determined according to the buffer status information that data frame congestion or overflow occurs in the buffer of the switching network device, send the The adjustment unit sends an adjustment notice;
所述调整单元,用于接收到调整通知后,根据所述拥塞或溢出状况,调整各VOQ所使用的数据帧发送带宽。The adjustment unit is configured to adjust the data frame transmission bandwidth used by each VOQ according to the congestion or overflow condition after receiving the adjustment notification.
由以上技术方案可以看出,本发明提供的方法和系统,通过获取交换网装置的缓存状态信息对交换网装置的缓存进行监控,当根据缓存状态信息确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据所述拥塞或溢出状况,调整各VOQ使用的数据帧发送带宽。从而提供了一种机制在进行数据交换过程中,如果交换网装置的缓存中发生数据帧拥塞或溢出,能够及时对各VOQ使用的数据帧发送带宽进行调整,有效地避免数据交换过程中的数据帧丢失问题,保证数据交换业务的QoS。It can be seen from the above technical solutions that the method and system provided by the present invention monitor the cache of the switching network device by acquiring the cache status information of the switching network device. or when overflowing, adjust the data frame sending bandwidth used by each VOQ according to the congestion or overflowing situation. Therefore, a mechanism is provided during the data exchange process. If data frame congestion or overflow occurs in the cache of the switching network device, the data frame transmission bandwidth used by each VOQ can be adjusted in time to effectively avoid data loss during the data exchange process. Frame loss problem, to ensure the QoS of the data exchange service.
附图说明 Description of drawings
图1为现有技术中的交换网装置结构图;FIG. 1 is a structural diagram of a switching network device in the prior art;
图2为现有技术中的数据交换示意图!Figure 2 is a schematic diagram of data exchange in the prior art!
图3为本发明实施例提供的集中式带宽控制方法的示意图;FIG. 3 is a schematic diagram of a centralized bandwidth control method provided by an embodiment of the present invention;
图4为本发明实施例提供的分布式带宽控制方法中带外式的示意图;FIG. 4 is a schematic diagram of an out-of-band method in a distributed bandwidth control method provided by an embodiment of the present invention;
图5为本发明实施例提供的分布式带宽控制方法中带内式的示意图;FIG. 5 is a schematic diagram of an in-band method in a distributed bandwidth control method provided by an embodiment of the present invention;
图6为本发明实施例提供的集中式带宽控制系统结构图;FIG. 6 is a structural diagram of a centralized bandwidth control system provided by an embodiment of the present invention;
图7为本发明实施例提供的集中式调度器结构图;FIG. 7 is a structural diagram of a centralized scheduler provided by an embodiment of the present invention;
图8为本发明实施例提供的分布式带宽控制系统的结构图;FIG. 8 is a structural diagram of a distributed bandwidth control system provided by an embodiment of the present invention;
图9为本发明实施例提供的FAU结构示意图。Fig. 9 is a schematic diagram of the structure of the FAU provided by the embodiment of the present invention.
具体实施方式 Detailed ways
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments.
本发明提供的方法主要包括:获取交换网装置的缓存状态信息;当根据该缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据该拥塞或溢出状况,调整各VOQ所使用的数据帧发送带宽。The method provided by the present invention mainly includes: acquiring the cache state information of the switching network device; when it is determined according to the cache state information that data frame congestion or overflow occurs in the cache of the switching network device, adjusting The data frame sending bandwidth used.
其中,该方法可以获取以下缓存状态信息中的一个或多个:VOQ的状况信息、FU缓存的状态信息和OQ的状态信息。即对这些状态信息中的一个或多个进行监控。Wherein, the method may acquire one or more of the following cache status information: VOQ status information, FU cache status information and OQ status information. That is, one or more of these state information are monitored.
根据该方法执行主体的不同,可以分成集中式和分布式两种,首先对集中式带宽控制方法进行详细描述,其结构形式可以如图3所示,其中,单线箭头表示信令流向,双线箭头表示数据流向。According to the different execution subjects of this method, it can be divided into two types: centralized and distributed. Firstly, the centralized bandwidth control method is described in detail. Arrows indicate data flow.
首先对各VOQ的状态进行监控的情况进行描述:各FAU发送针对自身所连接线卡设置的各VOQ的状态信息给集中式调度器,该集中式调度器接收各FAU发送来的VOQ的状态信息,对各VOQ的状态进行监控,当某个VOQ的状态信息表明该VOQ中数据帧队列的长度超过预设的第一长度阈值时,则确定该VOQ发生拥塞。First, the situation of monitoring the status of each VOQ is described: each FAU sends the status information of each VOQ set for the line card connected to itself to the centralized scheduler, and the centralized scheduler receives the status information of the VOQ sent by each FAU The state of each VOQ is monitored, and when the state information of a certain VOQ indicates that the length of the data frame queue in the VOQ exceeds a preset first length threshold, it is determined that the VOQ is congested.
当确定VOQ发生拥塞时,可以采用以下两种调整方式:When it is determined that VOQ is congested, the following two adjustment methods can be used:
第一种、集中式调度器确定发生拥塞的VOQ所对应的OQ,确定该OQ的输出带宽是否有剩余,即该OQ的标准配置带宽是否大于该OQ当前使用的数据帧带宽;如果有剩余,则可以将该OQ的标准配置带宽与该OQ当前使用的数据帧发送带宽之间的差值,按照预设的分配策略分配给该OQ对应的各VOQ,并将该调整信息提供给该OQ对应的各VOQ,各VOQ根据该调整信息调整自身的数据帧发送带宽。其中,预设的分配策略可以是平均分配策略、加权平均分配策略等。First, the centralized scheduler determines the OQ corresponding to the congested VOQ, and determines whether the output bandwidth of the OQ is surplus, that is, whether the standard configuration bandwidth of the OQ is greater than the data frame bandwidth currently used by the OQ; if there is surplus, Then the difference between the standard configuration bandwidth of the OQ and the data frame transmission bandwidth currently used by the OQ can be allocated to each VOQ corresponding to the OQ according to the preset allocation strategy, and the adjustment information can be provided to the corresponding VOQ of the OQ. Each VOQ, each VOQ adjusts its own data frame transmission bandwidth according to the adjustment information. Wherein, the preset distribution strategy may be an average distribution strategy, a weighted average distribution strategy, and the like.
第二种、集中式调度器确定与发生拥塞的VOQ对应同一OQ的其它VOQ中,发送带宽有剩余的VOQ,即标准配置带宽大于当前使用的数据帧发送带宽的VOQ,将确定的这些VOQ剩余的带宽分配给发生拥塞的VOQ,并将该调整信息提供给该OQ对应的各VOQ,各VOQ根据该调整信息调整自身的数据帧发送带宽。Second, the centralized scheduler determines that among other VOQs corresponding to the same OQ as the congested VOQ, there are VOQs with remaining transmission bandwidth, that is, VOQs whose standard configuration bandwidth is greater than the currently used data frame transmission bandwidth, will determine the remaining VOQs of these VOQs The bandwidth allocated to the congested VOQ, 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 above two methods can also be used at the same time, that is, if the congestion problem cannot be solved after the allocation by the first method, the second method can be used again.
本方法中可以采用设置令牌桶的方式实现对各VOQ发送带宽的调整,各FAU根据为各VOQ分配的发送带宽,向各VOQ的令牌桶中注入与该分配的发送带宽对应的令牌,各VOQ根据自身令牌桶中的令牌数控制自身的发送带宽。集中式调度器可以首先将调度信息发送给对应的FAU,各FAU根据接收到的调度信息调整对VOQ的令牌桶的令牌注入速率,从而实现对各VOQ发送带宽的调整。以下实施例中均可以采用这种方式,不再一一赘述。In this method, the adjustment of the sending bandwidth of each VOQ can be realized by setting a token bucket, and each FAU injects a token corresponding to the assigned sending bandwidth into the token bucket of each VOQ according to the sending bandwidth allocated for each VOQ , each VOQ controls its own sending bandwidth according to the number of tokens in its own token bucket. The centralized scheduler can 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, so as to realize the adjustment of the transmission bandwidth of each VOQ. This method can be adopted in the following embodiments, and will not be repeated one by one.
在对FU的缓存状况进行监控时,FU向集中式调度器发送该FU的缓存状态信息,集中式调度器可以根据接收到的该缓存信息判断FU是否发生缓存溢出。也可以采用另外一种方式,各FAU向集中式调度器发送各VOQ当前使用的数据帧发送带宽、以及各OQ当前使用的数据帧发送带宽,确定各VOQ当前使用的数据帧发送带宽和与各OQ当前使用的数据帧发送带宽的差值,如果该确定的差值大于FU的最大缓存值时,确定发生FU的缓存溢出。When monitoring the cache status of the FU, the FU sends the cache status information of the FU to the centralized scheduler, and the centralized scheduler can judge whether a cache overflow occurs in the FU according to the received cache information. Another way can also be used, each FAU sends the data frame transmission bandwidth currently used by each VOQ to the centralized scheduler, and the data frame transmission bandwidth currently used by each OQ, and determines the data frame transmission bandwidth currently used by each VOQ and the data frame transmission bandwidth used by each VOQ. If the difference between the sending bandwidth of the data frame currently used by the OQ is greater than the maximum buffer value of the FU, it is determined that the buffer overflow of the FU occurs.
集中式调度器确定发生FU缓存溢出时,将各VOQ所使用的数据帧发送带宽调整为0,并将该调整信息提供给各VOQ,各VOQ根据该调整信息调整自身的数据帧发送带宽。例如,集中式调度器确定发生FU缓存溢出时,可以向各FAU发送关闭(Close)指令,各FAU停止向令牌桶中注入令牌,各VOQ停止发送数据帧。待FU缓存恢复正常时,集中式调度器向各FAU发送重新开启(Open)指令,各FAU以原来的令牌注入速率向令牌桶中注入令牌,各VOQ恢复发送带宽。When the centralized scheduler determines that FU buffer overflow occurs, it adjusts the data frame transmission bandwidth used by each VOQ to 0, and provides the adjustment information to each VOQ, and each VOQ adjusts its own data frame transmission bandwidth according to the adjustment information. For example, when the centralized scheduler determines that the FU buffer overflows, it can send a close (Close) command to each FAU, each FAU stops injecting tokens into the token bucket, and each VOQ stops sending data frames. When the FU cache returns to normal, the centralized scheduler sends an Open command to each FAU, and each FAU injects tokens into the token bucket at the original token injection rate, and each VOQ resumes sending bandwidth.
另外,集中式调度器还可以采用分级调整的方式,如果集中式调度器确定FU缓存的溢出程度达到第一标准,在将各VOQ所使用的数据帧发送带宽降低为当前使用数据帧发送带宽的一半,待FU缓存恢复正常时,恢复各VOQ的发送带宽。如果集中式调度器确定FU缓存的溢出程度达到第二标准,则将各VOQ所使用的数据帧发送带宽调整为0,停止各VOQ的数据帧发送,待FU缓存恢复正常时,恢复各VOQ的发送带宽。也就是说,当FU缓存溢出状况较为严重时,停止各VOQ的数据帧发送,如果FU缓存状况不严重,则可以将各VOQ的数据帧发送带宽调整为原来的一半。当然,在此调整为0和原来的一半仅是所举的一个例子,也可以采用其它的调整比例。In addition, the centralized scheduler can also adopt a hierarchical adjustment method. If the centralized scheduler determines that the overflow degree of the FU buffer reaches the first standard, it will reduce the data frame transmission bandwidth used by each VOQ to the currently used data frame transmission bandwidth. Half, when the FU cache returns to normal, restore the sending bandwidth of each VOQ. If the centralized scheduler determines that the overflow degree of the FU cache reaches the second standard, then the data frame transmission bandwidth used by each VOQ is adjusted to 0, the data frame transmission of each VOQ is stopped, and when the FU cache returns to normal, the bandwidth of each VOQ is restored. send bandwidth. That is to say, when the FU buffer overflow situation is serious, the data frame transmission of each VOQ is stopped, and if the FU buffer situation is not serious, the data frame transmission bandwidth of each VOQ can be adjusted to half of the original one. Of course, the adjustment to 0 and the original half is just an example, and other adjustment ratios can also be used.
在对OQ的状况进行监控时,各FAU发送自身所连接的OQ的状态信息给集中式调度器,集中式调度器接收OQ的状态信息,当某个OQ的状态信息表明该OQ的队列长度大于设定的第二长度阈值时,确定该OQ发生数据帧拥塞。此时,集中式调度器可以降低发送拥塞的OQ对应的各VOQ的数据帧发送带宽,例如,集中式调度器可以向发生拥塞的OQ对应的各FAU发送close指令,各FAU停止该OQ对应的VOQ的数据帧发送。待该OQ恢复正常时,向各FAU发送open指令,恢复该OQ对应的各VOQ的发送带宽。When monitoring the status of the OQ, each FAU sends the status information of the OQ it is connected to the centralized scheduler, and the centralized scheduler receives the status information of the OQ. When the status information of an OQ indicates that the queue length of the OQ is greater than When the second length threshold is set, it is determined that data frame congestion occurs in the OQ. At this time, the centralized scheduler can reduce the data frame transmission bandwidth of each VOQ corresponding to the congested OQ. For example, the centralized scheduler can send a close command to each FAU corresponding to the congested OQ, and each FAU stops the VOQ corresponding to the OQ. VOQ data frame transmission. When the OQ returns to normal, an open command is sent to each FAU to restore the sending bandwidth of each VOQ corresponding to the OQ.
下面对分布式带宽控制方法进行详细描述,集中式带宽控制方式是将调度功能集中在集中式调度器上统一完成,而分布式带宽控制方式是将调度功能分布在各FAU上完成。分布式带宽控制方法根据调整信息的发送方式不同,可以分为带外式和带内式,带外式是通过另外设置的信令交换器进行调整信息的传递,而带内式是通过复用数据通道进行调整信息的传递,在复用数据通道时,可以通过在数据通道中设置两个队列,分别用于传输信令和数据帧,可以将该两个队列进行优先级设置,高优先级队列可以用于传输信令。带外式的其结构形式可以如图4所示,带内式的结构形式可以如图5所示,其中,单线箭头表示信令流向,双线箭头表示数据流向。The distributed bandwidth control method is described in detail below. The centralized bandwidth control method is to centralize the scheduling function on the centralized scheduler to complete it, while the distributed bandwidth control method is to distribute the scheduling function to each FAU. The distributed bandwidth control method can be divided into out-of-band and in-band according to the transmission mode of the adjustment information. The data channel transmits the adjustment information. When the data channel is multiplexed, two queues can be set in the data channel to transmit signaling and data frames respectively, and the priority of the two queues can be set. High priority Queues can be used for signaling. The structural form of the out-of-band type can be shown in Figure 4, and the structural form of the in-band type can be shown in Figure 5, wherein the single-line arrow indicates the signaling flow direction, and the double-line arrow indicates the data flow direction.
首先对各VOQ的状态进行监控的情况进行描述:各FAU通过复用数据通道或信令交换器,发送针对自身所连接线卡设置的各VOQ的状态信息给各VOQ对应的目的线卡的FAU,并接收以自身所连接线卡为目的线卡的FAU发送来的VOQ的状态信息。各FAU对接收到的各VOQ的状态信息进行监控,当某个VOQ的状态信息表明该VOQ中数据帧队列的长度超过预设的第一长度阈值时,则确定该VOQ发生拥塞。Firstly, the situation of monitoring the status of each VOQ is described: each FAU sends the status information of each VOQ set for the line card connected to itself to the FAU of the destination line card corresponding to each VOQ through a multiplexed data channel or a signaling switch , and receive the VOQ status information sent by the FAU with the line card connected to itself as the destination line card. Each FAU monitors the received status information of each VOQ, and when the status information of a certain VOQ indicates that the length of the data frame queue in the VOQ exceeds the preset first length threshold, it is determined that the VOQ is congested.
当某个FAU确定VOQ发生拥塞时,可以采用以下两种调整方式:When a FAU determines that VOQ is congested, the following two adjustment methods can be used:
第一种、确定发生VOQ拥塞的FAU确定自身所连接的OQ的输出带宽是否有剩余,即判断该OQ的标准配置带宽是否大于该OQ当前使用的数据帧带宽;如果有剩余,则可以按照预设的分配策略,将该OQ的标准配置带宽与该OQ当前使用的数据帧发送带宽之间的差值分配给该OQ对应的各VOQ,并通过复用数据通道或信令交换器,将该调整信息提供给该OQ对应的各VOQ;各VOQ接收到调整信息后,根据该调整信息调整自身的数据帧发送带宽。其中,预设的分配策略可以是平均分配策略、加权平均分配策略等。The first one is to determine whether the FAU with VOQ congestion occurs to determine whether the output bandwidth of the OQ connected to itself is surplus, that is, to judge whether the standard configuration bandwidth of the OQ is greater than the data frame bandwidth currently used by the OQ; if there is surplus, it can follow the preset According to the assigned allocation strategy, the difference between the standard configuration bandwidth of the OQ and the data frame transmission bandwidth currently used by the OQ is allocated to each VOQ corresponding to the OQ, and through the multiplexing data channel or signaling switch, the The adjustment information is provided to each VOQ corresponding to the OQ; each VOQ adjusts its data frame transmission bandwidth according to the adjustment information after receiving the adjustment information. Wherein, the preset distribution strategy may be an average distribution strategy, a weighted average distribution strategy, and the like.
第二种、确定VOQ发生拥塞的FAU,根据接收到的VOQ的状态信息,确定标准配置带宽大于当前使用的数据帧发送带宽的VOQ,将确定的VOQ的标准配置带宽与该VOQ当前使用的数据帧发送带宽之间的差值分配给发生拥塞的VOQ,并通过复用数据通道或信令交换器,并将该调整信息提供给该OQ对应的各VOQ,各VOQ根据接收到的调整信息调整自身的数据帧发送带宽。The second type is to determine the FAU where the VOQ is congested. According to the received VOQ status information, determine the VOQ whose standard configuration bandwidth is greater than the currently used data frame transmission bandwidth, and compare the determined standard configuration bandwidth of the VOQ with the data currently used by the VOQ. The difference between frame transmission bandwidths is allocated to the VOQ that is congested, and the adjustment information is provided to each VOQ corresponding to the OQ through the multiplexed data channel or signaling switch, and each VOQ is adjusted according to the received adjustment information Its own data frame sending bandwidth.
也可以同时使用上述两种方式,即当采用第一种方式分配后仍不能解决拥塞问题,可以再采用第二种方式。The above two methods can also be used at the same time, that is, if the congestion problem cannot be solved after the allocation by the first method, the second method can be used again.
本方法中可以采用设置令牌桶的方式实现对各VOQ发送带宽的调整,各FAU根据为各VOQ分配的发送带宽,向各VOQ的令牌桶中注入与该分配的发送带宽对应的令牌,各VOQ根据自身令牌桶中的令牌数控制自身的发送带宽。集中式调度器可以首先将调度信息发送给对应的FAU,各FAU根据接收到的调度信息调整对VOQ的令牌桶的令牌注入速率,从而实现对各VOQ发送带宽的调整。以下实施例中均可以采用这种方式。In this method, the adjustment of the sending bandwidth of each VOQ can be realized by setting a token bucket, and each FAU injects a token corresponding to the assigned sending bandwidth into the token bucket of each VOQ according to the sending bandwidth allocated for each VOQ , each VOQ controls its own sending bandwidth according to the number of tokens in its own token bucket. The centralized scheduler can 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, so as to realize the adjustment of the transmission bandwidth of each VOQ. This method can be adopted in the following embodiments.
在对FU的缓存状况进行监控时,FU向各FAU发送该FU的缓存状态信息,各FAU可以根据接收到的该缓存信息判断FU是否发生缓存溢出。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 buffer overflow occurs in the FU according to the received buffer information.
当各FAU确定发生FU缓存溢出时,将以自身所连接线卡为目的线卡的各VOQ所使用的数据帧发送带宽调整为0,并将该调整信息提供给各VOQ,各VOQ根据该调整信息调整自身的数据帧发送带宽。例如,各FAU确定发生FU缓存溢出时,可以向以自身所连接线卡为目的线卡的FAU发送关闭(Close)指令,各FAU停止向令牌桶中注入令牌,各VOQ停止发送数据帧。待FU缓存恢复正常时,各FAU向以自身所连接线卡为目的线卡的各FAU发送重新开启(Open)指令,各FAU以原来的令牌注入速率向令牌桶中注入令牌,各VOQ恢复发送带宽。When each FAU determines that the FU buffer overflow occurs, the data frame transmission bandwidth used by each VOQ of the line card connected to itself as the destination line card is adjusted to 0, and the adjustment information is provided to each VOQ, and each VOQ adjusts the bandwidth according to the adjustment The message adjusts its own data frame sending bandwidth. For example, when each FAU determines that the FU buffer overflow occurs, it can send a close (Close) command to the FAU with the line card connected to itself as the destination line card, each FAU stops injecting tokens into the token bucket, and each VOQ stops sending data frames . When the FU cache returns to normal, each FAU sends a re-open (Open) command to each FAU with the line card connected to itself as the destination line card, and each FAU injects tokens into the token bucket at the original token injection rate. VOQ restores the sending bandwidth.
另外,还可以采用分级调整的方式,如果各FAU确定FU缓存的溢出程度达到第一标准,在将以自身所连接线卡为目的线卡的各VOQ所使用的数据帧发送带宽降低为当前使用数据帧发送带宽的一半,待FU缓存恢复正常时,恢复以自身所连接线卡为目的线卡的各VOQ的发送带宽。如果各FAU确定FU缓存的溢出程度达到第二标准,则将以自身所连接线卡为目的线卡的各VOQ所使用的数据帧发送带宽调整为0,停止各VOQ的数据帧发送,待FU缓存恢复正常时,恢复各VOQ的发送带宽。也就是说,当FU缓存溢出状况较为严重时,停止各VOQ的数据帧发送,如果FU缓存状况不严重,则可以将各VOQ的数据帧发送带宽调整为原来的一半。当然,在此调整为0和原来的一半仅是所举的一个例子,也可以采用其它的调整比例。In addition, a hierarchical adjustment method can also be adopted. If each FAU determines that the overflow degree of the FU buffer reaches the first standard, the data frame transmission bandwidth used by each VOQ of the line card connected to itself is reduced to the current used one. Half of the data frame transmission bandwidth, when the FU cache returns to normal, restore the transmission bandwidth of each VOQ of the line card connected to itself as the destination line card. If each FAU determines that the overflow degree of the FU cache reaches the second standard, then the data frame transmission bandwidth used by each VOQ of the line card connected to itself is adjusted to 0, and the data frame transmission of each VOQ is stopped, and the FU When the cache returns to normal, the transmission bandwidth of each VOQ is restored. That is to say, when the FU buffer overflow situation is serious, the data frame transmission of each VOQ is stopped, and if the FU buffer situation is not serious, the data frame transmission bandwidth of each VOQ can be adjusted to half of the original one. Of course, the adjustment to 0 and the original half is just an example, and other adjustment ratios can also be used.
在对OQ的状况进行监控时,各FAU获取自身所连接OQ的状态信息,当OQ的状态信息表明该OQ的队列长度大于设定的第二长度阈值时,确定该OQ发生数据帧拥塞。此时,确定OQ发生拥塞的FAU可以降低发生拥塞的OQ对应的各VOQ的数据帧发送带宽,并通过复用数据通道或信令交换器将调整信息提供给发生拥塞的OQ对应的各VOQ,各VOQ根据接收到的调整信息调整自身的数据帧发送带宽。例如,FAU可以向发送拥塞的OQ对应的各FAU发送close指令,各FAU接收到close指令后,停止该OQ对应的VOQ的数据帧发送。待该OQ恢复正常时,向各FAU发送open指令,恢复该OQ对应的各VOQ的发送带宽。When monitoring the status of the OQ, each FAU obtains the status information of the OQ connected to itself, and when the status information of the OQ indicates that the queue length of the OQ is greater than the set second length threshold, it is determined that the OQ has data frame congestion. At this time, the FAU that determines that the OQ is congested can reduce the data frame transmission bandwidth of each VOQ corresponding to the congested OQ, and provide adjustment information to each VOQ corresponding to the congested OQ through a multiplexed data channel or a signaling switch. Each VOQ adjusts its own data frame transmission bandwidth according to the received adjustment information. For example, the FAU may send a close command to each FAU corresponding to the OQ that transmits congestion, and each FAU stops sending data frames of the VOQ corresponding to the OQ after receiving the close command. When the OQ returns to normal, an open command is sent to each FAU to restore the sending bandwidth of each VOQ corresponding to the OQ.
另外,各FAU还可以发送自身所连接VOQ当前使用的数据帧发送带宽信息给目的线卡对应的FAU,并获取自身所连接OQ当前使用的数据帧发送带宽信息;各FAU确定自身所连接OQ当前使用的数据帧发送带宽与接收到的各VOQ当前使用的数据帧发送带宽和的差值,当所述确定的差值大于0时,将所述差值分配给与自身所连接OQ对应的各VOQ。当差值大于0时,即OQ当前使用的数据帧发送带宽大于对应的VOQ当前使用的数据帧发送带宽和,这就是说,VOQ没有充分利用带宽,造成了带宽浪费,所以,可以将没有利用的部分进行再分配,从而充分的利用带宽。In addition, each FAU can also send the data frame transmission bandwidth information currently used by the VOQ connected to itself to the FAU corresponding to the destination line card, and obtain the data frame transmission bandwidth information currently used by the OQ connected to itself; each FAU determines the current bandwidth of the OQ connected to itself. The difference between the data frame transmission bandwidth used and the received data frame transmission bandwidth sum currently used by each VOQ, when the determined difference is greater than 0, the difference is allocated to each corresponding OQ connected to itself VOQ. When the difference is greater than 0, that is, the data frame transmission bandwidth currently used by OQ is greater than the sum of the data frame transmission bandwidth currently used by the corresponding VOQ. Part of the redistribution, so as to fully utilize the bandwidth.
其中,OQ当前使用的数据帧发送带宽可以是该OQ配置的标准输出带宽、或者,对针对该线卡设置的OQ进行输出测速得到的实际当前发送速率。如果PP具备线速处理能力,则OQ输出的数据帧无论包大小,OQ当前使用的数据帧发送带宽都能保持恒定,达到该OQ配置的标准输出带宽;如果PP不具备线速处理能力,则OQ的输出带宽与数据帧的包大小有关,因此,需要对OQ进行输出测速得到实际当前发送速率。Wherein, the data frame transmission bandwidth currently used by the OQ may be the standard output bandwidth configured by the OQ, or the actual current transmission rate obtained by performing output speed measurement on the OQ set for the line card. If the PP has wire-speed processing capability, the OQ output data frame regardless of the packet size, the data frame transmission bandwidth currently used by OQ can remain constant, reaching the standard output bandwidth of the OQ configuration; if the PP does not have wire-speed processing capability, then The output bandwidth of the OQ is related to the packet size of the data frame. Therefore, it is necessary to measure the output speed of the OQ to obtain the actual current sending rate.
初始对各VOQ带宽的分配方式本发明并不做具体限定,通常可以采用将OQ的输出带宽分配给该OQ对应的各VOQ的方式,具体分配可以采用平均分配、加权平均分配、按需分配或按优先级进行分配等方式,在此不做具体描述。Initially, the present invention does not specifically limit the allocation method of each VOQ bandwidth. Usually, the output bandwidth of the OQ can be allocated to each VOQ corresponding to the OQ. The specific allocation can be average allocation, weighted average allocation, on-demand allocation or Methods such as allocation according to priority are not described in detail here.
以上是对本发明所提供方法的详细描述,下面对本发明所提供的系统进行详细描述。本发明所提供的系统可以分为集中式带宽控制系统和分布式带宽控制系统,下面分别对这两种系统进行描述。图6为本发明实施例提供的集中式带宽控制系统结构图,图中单线箭头表示信令流向,双线箭头表示数据帧流向。如图6所示,该系统主要包括:集中式调度器和交换网装置。The above is a detailed description of the method provided by the present invention, and the system provided by the present invention will be described in detail below. The system provided by the present invention can be divided into a centralized bandwidth control system and a distributed bandwidth control system, and the two systems will be described respectively below. FIG. 6 is a structural diagram of a centralized bandwidth control system provided by an embodiment of the present invention. In the figure, the single-line arrow indicates the signaling flow direction, and the double-line arrow indicates the data frame flow direction. As shown in Figure 6, the system mainly includes: a centralized scheduler and a switch network device.
集中式调度器,用于获取交换网装置的缓存状态信息;当根据该缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据该拥塞或溢出状况,调整交换网装置中各VOQ所使用的数据帧发送带宽。The centralized scheduler is used to obtain the cache state information of the switching network device; when it is determined according to the cache state information that data frame congestion or overflow occurs in the cache of the switching network device, according to the congestion or overflow status, adjust the switching network device Data frame transmission bandwidth used by each VOQ.
交换网装置,用于向集中式调度器提供自身的缓存状态信息。The switch network device is used to provide the centralized scheduler with its own cache state information.
其中,交换网装置可以包括:针对各线卡设置的FAU和VOQ。Wherein, the switch network device may include: FAU and VOQ set for each line card.
各FAU,用于获取针对自身所连接线卡设置的各VOQ的状态信息,并将获取的VOQ的状态信息发送给集中式调度器。Each FAU is used to obtain the state information of each VOQ set for the line card connected to itself, and send the obtained state information of the VOQ to the centralized scheduler.
VOQ,用于接受集中式调度器对该VOQ的数据帧发送带宽进行的调整。The VOQ is used to accept the adjustment of the data frame transmission bandwidth of the VOQ by the centralized scheduler.
交换网装置还可以包括:FU,用于向集中式调度器发送FU缓存状态信息。The switching network device may further include: a FU, configured to send FU cache status information to the centralized scheduler.
该FU可以设置向集中式调度器提供FU缓存状态信息的物理接口,例如周边元件扩展接口(PCI)或GE等。The FU may be provided with a physical interface that provides FU cache status information to the centralized scheduler, such as peripheral component expansion interface (PCI) or GE.
交换网装置还可以包括:针对各线卡设置的OQ。The switch network device may further include: OQ set for each line card.
各FAU,还可以用于获取针对自身所连接线卡设置的OQ的状态信息,并将该OQ的状态信息提供给集中式调度器。Each FAU can also be used to obtain the status information of the OQ set for the line card connected to itself, and provide the status information of the OQ to the centralized scheduler.
交换网装置还可以包括:针对各VOQ设置的令牌桶,用于存储为各VOQ分配的令牌;The switching network device may also include: a token bucket set for each VOQ, for storing tokens allocated for each VOQ;
各FAU,还用于根据各VOQ被调整的数据帧发送带宽,按照与各VOQ被调整的数据帧发送带宽对应的令牌注入速率,调整向各VOQ的令牌桶中注入令牌的速率。Each FAU is also used to adjust the token injection rate into the token bucket of each VOQ according to the token injection rate corresponding to the adjusted data frame transmission bandwidth of each VOQ according to the adjusted data frame transmission bandwidth of each VOQ.
各VOQ使用与自身令牌桶中的令牌数所对应的发送带宽发送数据帧。Each VOQ uses the sending bandwidth corresponding to the number of tokens in its own token bucket to send data frames.
也就是说,集中式调度器将调整信息提供给各VOQ的过程可以通过令牌的方式实现,即集中式调度器将调整信息发送给各VOQ对应的FAU,FAU按照各VOQ被调整的数据帧发送带宽对应的令牌注入速率,调整向各VOQ的令牌桶中注入令牌的速率,各VOQ使用与自身令牌桶中的令牌数所对应的发送带宽发送数据帧,从而实现对VOQ数据帧发送带宽的调整。That is to say, the process of the centralized scheduler providing the adjustment information to each VOQ can be realized by means of tokens, that is, the centralized scheduler sends the adjustment information to the FAU corresponding to each VOQ, and the FAU is adjusted according to the data frame of each VOQ Send the token injection rate corresponding to the bandwidth, adjust the rate of injecting tokens into the token buckets of each VOQ, and each VOQ uses the sending bandwidth corresponding to the number of tokens in its own token bucket to send data frames, so as to realize the VOQ Adjustment of data frame sending bandwidth.
下面对该系统中的集中式调度器进行详细描述,图7为本发明实施例提供的集中式调度器结构图,如图7所示,该集中式调度器包括:状态信息获取单元700、监测单元710和调整单元720。The centralized scheduler in the system is described in detail below. FIG. 7 is a structural diagram of the centralized scheduler provided by the embodiment of the present invention. As shown in FIG. 7, the centralized scheduler includes: a status
状态信息获取单元700,用于获取交换网装置的缓存状态信息。The state
监测单元710,用于对缓存状态信息进行监测,当根据缓存状态信息确定交换网装置的缓存中发生数据帧拥塞或溢出时,向调整单元720发送调整通知。The
调整单元720,用于接收到调整通知后,根据拥塞或溢出状况,调整各VOQ所使用的数据帧发送带宽。The
由于集中式调度器获取的交换网装置的缓存状态信息可以是VOQ的状态信息、FU缓存状态信息和OQ的状态信息中的一种或任意组合,因此,集中式调度器相应也可以是以下三种结构中的一种或任意组合:Since the cache status information of the switching network device obtained by the centralized scheduler can be one or any combination of VOQ status information, FU cache status information, and OQ status information, the centralized scheduler can also be the following three: One or any combination of these structures:
第一种:当状态信息获取单元700获取的缓存状态信息为各VOQ的状态信息时,监测单元710可以包括:第一判断子单元711和第一通知发送子单元712。The first type: when the cache status information acquired by the status
第一判断子单元711,用于根据接收到的VOQ的状态信息,判断该VOQ中数据帧队列的长度是否超过预设的第一长度阈值。The
第一通知发送子单元712,用于在第一判断子单元711的判断结果为是时,确定该VOQ发生拥塞,并向调整单元720发送第一调整通知。The first
相应地,调整单元720可以包括:第一调整子单元721和第一调整信息发送子单元722。Correspondingly, the
第一调整子单元721,用于接收到第一调整通知后,确定发生拥塞的VOQ所对应的OQ,将该OQ的标准配置带宽与该OQ当前使用的数据帧发送带宽之间的差值分配给该OQ对应的各VOQ,或者,确定与发生拥塞的VOQ对应同一OQ的其它VOQ中,标准配置带宽大于当前使用的数据帧发送带宽的VOQ,将确定的VOQ的标准配置带宽与该VOQ当前使用的数据帧发送带宽之间的差值分配给发生拥塞的VOQ。The
第一调整信息发送子单元722,用于将第一调整子单元721的调整信息提供给OQ对应的各VOQ。The first adjustment
第二种:当状态信息获取单元700获取的缓存状态信息为FU缓存状态信息时,监测单元710可以包括:第二判断子单元713和第二通知发送子单元714。The second type: when the cache status information acquired by the status
第二判断子单元713,用于根据接收到的FU缓存状态信息,判断是否发生FU缓存溢出。The
第二通知发送子单元714,用于当第二判断子单元713的判断结果为是时,确定发生FU的缓存溢出,并向调整单元720发送第二调整通知;在第二判断子单元713判断FU缓存恢复正常时,向调整单元720发送恢复通知。The second
相应地,调整单元720可以包括:第二调整子单元723和第二调整信息发送子单元724。Correspondingly, the
第二调整子单元723,用于接收到第二调整通知后,降低各VOQ所使用的数据帧发送带宽;接收到恢复通知后,恢复该各VOQ的数据帧发送带宽。The
第二调整信息发送子单元724,用于将第二调整子单元723的调整信息提供给各VOQ。The second adjustment
第三种,当状态信息获取单元700获取的缓存状态信息为OQ状态信息时,监测单元710可以包括:第三判断子单元715和第三通知发送子单元716。Thirdly, when the cache status information acquired by the status
第三判断子单元715,用于根据接收到的OQ的状态信息,判断该OQ中数据帧队列的长度是否超过预设的第二长度阈值。The
第三通知发送子单元716,用于在第三判断子单元715的判断结果为是时,确定该OQ发生数据帧拥塞,并向调整单元720发送第三调整通知;在第三判断子单元715判断OQ恢复正常时,向调整单元720发送恢复通知。The third
相应地,调整单元720包括:第三调整子单元725和第三调整信息发送子单元726。Correspondingly, the
第三调整子单元725,用于接收到第三调整通知后,降低发生拥塞的OQ对应的各VOQ的数据帧发送带宽;接收到恢复通知后,恢复该OQ对应的各VOQ的数据帧发送带宽。The
第三调整信息发送子单元726,用于将第三调整子单元725的调整信息提供给各VOQ。The third adjustment
上述集中式调度器可以采用FPGA或专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)实现。The above-mentioned centralized scheduler can be realized by using FPGA or application specific integrated circuit (ASIC, Application Specific Integrated Circuit).
图8为本发明实施例提供的分布式带宽控制系统的结构图,图中单线箭头表示信令流向,双线箭头表示数据帧流向。如图8所示,该系统包括针对各线卡设置的至少两个FAU。FIG. 8 is a structural diagram of a distributed bandwidth control system provided by an embodiment of the present invention. In the figure, 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 set for each line card.
各FAU获取自身所在交换网装置的缓存状态信息,当确定交换网中的缓存中发生数据帧拥塞或溢出时,根据拥塞或溢出状况,调整以自身所连接线卡为目的线卡的各VOQ的数据帧发送带宽。Each FAU obtains the cache status information of the switching network device where it is located, and when it is determined that data frame congestion or overflow occurs in the cache in the switching network, according to the congestion or overflow situation, adjust the VOQ of each VOQ of the line card connected to itself as the destination line card. Data frame sending bandwidth.
其中,各FAU获取的交换网装置的缓存状态信息可以是VOQ的状态信息、FU缓存状态信息和OQ状态信息中的一种或任意组合。各FAU具体的结构和操作,在图9所示的结构中再做具体描述。The cache status information of the switching network device acquired by each FAU may be one or any combination of VOQ status information, FU cache status information, and OQ status information. The specific structure and operation of each FAU will be described in detail in the structure shown in FIG. 9 .
分布式带宽控制系统可以分为带外式和带内式两种,当采用带外式结构时,该系统还可以包括:信令交换器,用于将各FAU所连接各VOQ的状态信息发送给所述各VOQ对应的目的线卡的FAU,以及将各FAU对VOQ的数据帧发送带宽进行调整的信息转发给相应的VOQ。The distributed bandwidth control system can be divided into two types: out-of-band and in-band. When the out-of-band structure is adopted, the system can also include: a signaling switch, used to send the status information of each VOQ connected to each FAU To the FAU of the destination line card corresponding to each VOQ, and forward the information that each FAU adjusts the data frame sending bandwidth of the VOQ to the corresponding VOQ.
当采用带内式结构时,该系统还可以包括:FU,用于通过复用数据通道,将各FAU所连接各VOQ的状态信息发送给所述各VOQ对应的目的线卡的FAU,以及将各FAU对VOQ的数据帧发送带宽进行调整的信息转发给相应的VOQ;或者,向各FAU提供FU缓存状态信息。When the in-band structure is adopted, the system may also include: FU, which is used to send the status information of each VOQ connected to each FAU to the FAU of the destination line card corresponding to each VOQ through a multiplexed data channel, and send Each FAU forwards the information about adjusting the data frame sending bandwidth of the VOQ to the corresponding VOQ; or, provides each FAU with FU buffer state information.
同样,对各VOQ数据帧发送带宽的调整可以通过令牌的方式,此时,该系统还可以包括:针对各VOQ设置的令牌桶,用于存储为各VOQ分配的令牌。Similarly, the adjustment of the transmission bandwidth of each VOQ data frame can be done by means of tokens. At this time, the system can also include: a token bucket set for each VOQ, which is used to store tokens allocated for each VOQ.
各FAU,还用于根据各VOQ被调整的数据帧发送带宽,按照与各VOQ被调整的数据帧发送带宽对应的令牌注入速率,调整向各VOQ的令牌桶中注入令牌的速率。Each FAU is also used to adjust the token injection rate into the token bucket of each VOQ according to the token injection rate corresponding to the adjusted data frame transmission bandwidth of each VOQ according to the adjusted data frame transmission bandwidth of each VOQ.
各VOQ使用与自身令牌桶中的令牌数所对应的发送带宽发送数据帧。Each VOQ uses the sending bandwidth corresponding to the number of tokens in its own token bucket to send data frames.
下面对上述分布式带宽控制系统中的FAU结构进行详细描述,图9为本发明实施例提供的FAU结构示意图,如图9所示,该FAU可以包括:缓存信息获取单元900、监测单元910和调整单元920。The FAU structure in the above-mentioned distributed bandwidth control system is described in detail below. FIG. 9 is a schematic diagram of the FAU structure provided by the embodiment of the present invention. As shown in FIG. 9 , the FAU may include: a cache
缓存信息获取单元900,用于获取该FAU所在交换网装置的缓存状态信息。The cache
监测单元910,用于根据缓存状态信息对交换网装置的缓存状态进行监测,当根据缓存状态信息,确定交换网装置的缓存中发生数据帧拥塞或溢出时,向调整单元920发送调整通知。The
调整单元920,用于接收到调整通知后,根据拥塞或溢出状况,调整各VOQ所使用的数据帧发送带宽。The
同样根据获取的缓存状态信息的不同,该FAU的结构可以包括以下三种中的一种或任意组合:Also according to the acquired cache state information, the structure of the FAU may include one or any combination of the following three types:
第一种:缓存信息获取单元900包括:第一信息发送子单元901和第一信息获取子单元902。Type 1: The cache
第一信息发送子单元901,用于发送该FAU所连接各VOQ的状态信息给各VOQ对应的目的线卡的FAU。The first
第一信息获取子单元902,用于接收以该FAU所连接线卡为目的线卡的其它FAU发送来的VOQ的状态信息。The first
监测单元910可以包括:第一判断子单元911和第一通知子单元912。The
第一判断子单元911,用于根据接收到的VOQ的状态信息,判断该VOQ中数据帧队列的长度是否超过预设的第一长度阈值。The
第一通知子单元912,用于在第一判断子单元911的判断结果为是时,确定该VOQ发生拥塞,并向调整单元920发送第一调整通知。The
调整单元920可以包括:第一调整子单元921和第一调整信息发送子单元922。The
第一调整子单元921,用于接收到第一调整通知后,将该FAU所连接的OQ的标准配置带宽与该OQ当前使用的数据帧发送带宽之间的差值分配给该OQ对应的各VOQ;或者,确定标准配置带宽大于当前使用的数据帧发送带宽的VOQ,将确定的VOQ的标准配置带宽与该VOQ当前使用的数据帧发送带宽之间的差值分配给发生拥塞的VOQ。The
第一调整信息发送子单元922,用于将第一调整子单元921的调整信息发送给OQ对应的各VOQ。The first adjustment
第二种:缓存信息获取单元900包括:第二信息获取子单元903,用于接收FU发送的FU缓存状态信息。The second type: the cache
监测单元910可以包括:第二判断子单元913和第二通知子单元914。The
第二判断子单元913,用于根据第二信息获取子单元903接收到的FU缓存状态信息,判断是否发生FU缓存溢出。The
第二通知子单元914,用于在第二判断子单元913的判断结果为是时,向调整单元920发送第二调整通知;在第二判断子单元913判断FU缓存恢复正常时,向调整单元920发送恢复通知。The
调整单元920包括:第二调整子单元923和第二调整信息发送子单元924。The
第二调整子单元923,用于接收到第二调整通知后,降低以该FAU所连接线卡为目的线卡的各VOQ的数据帧发送带宽;接收到恢复通知后,恢复各VOQ的数据帧发送带宽。The
第二调整信息发送子单元924,用于将第二调整子单元923的调整信息发送给各VOQ。The second adjustment
第三种:缓存信息获取单元900包括:第三信息获取子单元904,用于接收该FAU所连接OQ的状态信息。The third type: the cache
监测单元910包括:第三判断子单元915和第三通知子单元916。The
第三判断子单元915,用于根据第三信息获取子单元904获取到的OQ状态信息,判断OQ的队列长度是否大于设定的第二长度阈值。The third judging subunit 915 is configured to judge whether the OQ queue length is greater than the set second length threshold according to the OQ status information acquired by the third information acquiring subunit 904 .
第三通知子单元916,用于在第三判断子单元915的判断结果为是时,向调整单元920发送第三调整通知;在第三判断子单元915判断该OQ的状态恢复正常时,向调整单元920发送恢复通知。The third notification subunit 916 is used to send the third adjustment notification to the
调整单元920包括:第三调整子单元925和第三调整信息发送子单元926。The
第三调整子单元925,用于接收到第三调整通知后,降低发生拥塞的OQ对应的各VOQ的数据帧发送带宽;接收到恢复通知后,恢复各VOQ的数据帧发送带宽。The third adjustment subunit 925 is configured to reduce the data frame transmission bandwidth of each VOQ corresponding to the congested OQ after receiving the third adjustment notification; and restore the data frame transmission bandwidth of each VOQ after receiving the recovery notification.
第三调整信息发送子单元926,用于将第三调整子单元925的调整信息发送给各VOQ。The third adjustment information sending subunit 926 is configured to send the adjustment information of the third adjustment subunit 925 to each VOQ.
另外,在以上三种结构中,该FAU还可以包括:带宽信息发送单元931、带宽信息获取单元932和剩余状况确定单元933。In addition, in the above three structures, the FAU may further include: a bandwidth
带宽信息发送单元931,用于发送该FAU所连接VOQ当前使用的数据帧发送带宽信息给目的线卡对应的FAU。The bandwidth
带宽信息获取单元932,用于接收其它FAU发送来的VOQ当前使用的数据帧发送带宽信息,并获取自身所在FAU所连接OQ当前使用的数据帧发送带宽信息。The bandwidth
剩余状况确定单元933,用于确定OQ当前使用的数据帧发送带宽信息与带宽信息获取单元接收到的VOQ当前使用数据帧发送带宽和的差值,当确定的差值大于0时,向调整单元920发送第四调整通知。Remaining
调整单元920还可以包括:第四调整子单元927和第四调整信息发送子单元928。The
第四调整子单元927,用于将剩余状况确定单元933确定的差值分配给与该FAU所连接OQ对应的各VOQ。The
第四调整信息发送子单元928,用于将第四调整子单元927的调整信息发送给各VOQ。The fourth adjustment
另外,该FAU还可以包括:令牌注入单元934,用于根据该FAU所连接VOQ被调整的数据帧发送带宽,按照与各VOQ被调整的数据帧发送带宽对应的令牌注入速率,调整向各VOQ的令牌桶中注入令牌的速率。In addition, the FAU may also include: a
上述FAU可以采用FPGA或ASIC等实现。另外,在具体实现时,也可以将上述FAU的功能集成在线卡的PP中实现。The above-mentioned FAU can be realized by using FPGA or ASIC. In addition, during specific implementation, the functions of the above FAU may also be integrated into the PP of the line card for implementation.
由以上描述可以看出,本发明提供的方法和系统,通过获取交换网装置的缓存状态信息对交换网装置的缓存进行监控,当根据缓存状态信息确定交换网装置的缓存中发生数据帧拥塞或溢出时,根据所述拥塞或溢出状况,调整各VOQ使用的数据帧发送带宽。从而提供了一种机制在进行数据交换过程中,如果交换网装置的缓存中发生数据帧拥塞或溢出,能够及时对各VOQ使用的数据帧发送带宽进行调整,有效地避免数据交换过程中的数据帧丢失问题,保证数据交换业务的QoS。It can be seen from the above description that the method and system provided by the present invention monitor the cache of the switching network device by acquiring the cache status information of the switching network device. When it is determined according to the cache status information that data frame congestion or When overflowing, adjust the data frame sending bandwidth used by each VOQ according to the congestion or overflow situation. Therefore, a mechanism is provided during the data exchange process. If data frame congestion or overflow occurs in the cache of the switching network device, the data frame transmission bandwidth used by each VOQ can be adjusted in time to effectively avoid data loss during the data exchange process. Frame loss problem, to ensure the QoS of the data exchange service.
并且,本发明提供的方法和系统,针对交换网装置可能出现的三种具体情况,即VOQ发生拥塞、FU缓存溢出和OQ发生拥塞,分别提供了具体的监控和调整方案,从而避免由于VOQ发生拥塞、FU缓存溢出和OQ发生拥塞所造成的数据帧丢失。Moreover, the method and system provided by the present invention provide specific monitoring and adjustment schemes for three possible situations that may occur in the switching network device, namely, VOQ congestion, FU buffer overflow, and OQ congestion, so as to avoid the occurrence of VOQ Data frame loss caused by congestion, FU buffer overflow, and OQ congestion.
另外,本发明实质上是在交换网的数据交换平面上叠加了控制平面,从而实现了对各VOQ的数据帧发送带宽的调整,并具体提供了两种系统结构,即集中式带宽控制系统和分布式带宽控制系统。In addition, the present invention essentially superimposes the control plane on the data exchange plane of the switching network, thereby realizing the adjustment of the data frame transmission bandwidth of each VOQ, and specifically provides two system structures, that is, a centralized bandwidth control system and a Distributed bandwidth control system.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the present invention. within the scope of protection.
Claims (28)
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 (10)
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 |
CN112825511A (en) * | 2019-11-20 | 2021-05-21 | 深圳市中兴微电子技术有限公司 | Switching network congestion management method, device, equipment and storage medium |
CN115460151A (en) * | 2022-04-22 | 2022-12-09 | 篆芯半导体(南京)有限公司 | A flow control method, system, storage medium and electronic device |
Family Cites Families (3)
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 |
-
2008
- 2008-04-30 CN CN2008101056865A patent/CN101272348B/en active Active
Cited By (16)
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) |
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) |
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 |
CN108270810A (en) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | Media data access method and device |
CN108270744A (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 |
CN112825511A (en) * | 2019-11-20 | 2021-05-21 | 深圳市中兴微电子技术有限公司 | Switching network congestion management method, device, equipment and storage medium |
WO2021098730A1 (en) * | 2019-11-20 | 2021-05-27 | 深圳市中兴微电子技术有限公司 | Switching network congestion management method and apparatus, device, and storage medium |
CN115460151A (en) * | 2022-04-22 | 2022-12-09 | 篆芯半导体(南京)有限公司 | A flow control method, system, storage medium and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN101272348B (en) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101272348B (en) | Bandwidth control method and system | |
CN101272345B (en) | Method, system and device for controlling data flux | |
US7453810B2 (en) | Method and apparatus for closed loop, out-of-band backpressure mechanism | |
EP0688481B1 (en) | Device and method for atm end system cell flow regulation | |
US5570360A (en) | Method and apparatus for implementing communication service contract using cell arrival information | |
US7324460B2 (en) | Event-driven flow control for a very high-speed switching node | |
US7002911B1 (en) | Flow control mechanism | |
US5892754A (en) | User controlled adaptive flow control for packet networks | |
US9258232B2 (en) | Ingress traffic flow control in a data communications system | |
JPH0657016B2 (en) | Congestion control type packet switching method and apparatus thereof | |
US20060013133A1 (en) | Packet-aware time division multiplexing switch with dynamically configurable switching fabric connections | |
JP2007201965A (en) | Packet relay device having transmission control function | |
WO2010099718A1 (en) | Method and equipment for controlling data tranmission, and system thereof | |
CN113206800B (en) | Message caching method and device and network equipment | |
CN112104562A (en) | Congestion control method and device, communication network and computer storage medium | |
US20130003546A1 (en) | System and Method for Achieving Lossless Packet Delivery in Packet Rate Oversubscribed Systems | |
WO2002098047A2 (en) | System and method for providing optimum bandwidth utilization | |
CN102238069A (en) | Data processing method and device for link switching process | |
EP2854346B1 (en) | Method for adjusting bandwidth in network virtualization system | |
US7203171B1 (en) | Ingress discard in output buffered switching devices | |
JP4652314B2 (en) | Ether OAM switch device | |
EP2278757B1 (en) | Flow control mechanism for data transmission links | |
CN101262432B (en) | Communication device | |
Chrysos | Congestion management for non-blocking Clos networks | |
JP3634967B2 (en) | Communication method and communication apparatus for performing congestion processing |
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. |
|
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20241127 Address after: Room 867, Building B, Lingang High tech Industrial Park, Yongji Avenue, Hunan Chenglingji New Port Area, Yueyang City, Hunan Province 414000 Patentee after: Ziguang Communication Technology (Yueyang) Co.,Ltd. Country or region after: China Address before: 24th Floor, Block B, Zhizhen Building, No. 7 Zhichun Road, Haidian District, Beijing, 100088 Patentee before: Beijing Ziguang Communication Technology Group Co.,Ltd. Country or region before: China |