CN101272345B - 一种流量控制的方法、系统和装置 - Google Patents
一种流量控制的方法、系统和装置 Download PDFInfo
- Publication number
- CN101272345B CN101272345B CN2008101054357A CN200810105435A CN101272345B CN 101272345 B CN101272345 B CN 101272345B CN 2008101054357 A CN2008101054357 A CN 2008101054357A CN 200810105435 A CN200810105435 A CN 200810105435A CN 101272345 B CN101272345 B CN 101272345B
- Authority
- CN
- China
- Prior art keywords
- voq
- line card
- tokens
- token
- data frame
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004907 flux Effects 0.000 title abstract 4
- 239000000872 buffer Substances 0.000 claims abstract description 9
- 230000001502 supplementing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100067279 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FAU1 gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种流量控制的方法、系统和装置,针对各出线卡周期性执行以下步骤:在当前周期内,确定针对出线卡设置的输出队列(OQ)输出数据帧的流量所对应的令牌数,为以该出线卡为目的线卡的虚拟输出队列(VOQ)分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,各VOQ按照与自身分配的令牌数对应的流量发送数据帧。也就是说,本发明通过分配令牌的方式,将交换网输出给出线卡的带宽分配给入线卡输入交换网的带宽,防止输入交换网的带宽超出交换网输出的带宽,避免交换网的核心交换单元(FU)缓存溢出所造成的数据帧丢失现象,从而保证数据交换业务的服务质量(QoS)。
Description
技术领域
本发明涉及网络通信技术,特别涉及一种流量控制的方法、系统和装置。
背景技术
交换网装置是模块化路由器和交换机等设备的核心部分,负责各端口或槽位线卡之间的数据交换。现有交换网装置的组成如图1所示,交换网装置主要包括核心交换单元(FU,Fabric Unit)和交换接入单元(FAU,FabricAccess Unit),各FAU负责FU和各线卡之间的连接,FU通过各FAU连接各线卡中的包处理器(PP,Packet Processor),用于完成各线卡之间的数据交换。其中,FAU可以设置在线卡上,FU可以设置在交换网板上。
为了降低交换网装置的成本以及保证装置具有较高兼容性,通常采用非定长交换的方式进行数据交换,即线卡将数据帧添加一个交换网帧头后直接发送至交换网装置,不需要对数据帧进行切片和重组,交换网装置将接收到的数据帧转发至相应的线卡。为了描述更加清楚,将发送数据帧到交换网装置的线卡称为入线卡,将接收交换网装置转发的数据帧的线卡称为出线卡,将入线卡到交换网装置的方向称为上行方向,将交换网装置到出线卡的方向称为下行方向。
具体实现通常为:针对每个线卡设置多个虚拟输出队列(VOQ,VirtualOutput 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中的数据帧达到一定数量等,具体可以根据实际需求进行预先设置。
然而,采用这种非定长交换方式的交换网装置不具备调度功能,不能够控制各VOQ发送至FU的数据帧流量,可能会引起FU缓存溢出从而造成数据帧的丢失。也就是说,现有技术无法保证数据交换业务的服务质量(QoS,Quality of Service)。
发明内容
有鉴于此,本发明提供了一种流量控制的方法、系统和装置,以便于保证数据交换业务的QoS。
一种流量控制的方法,针对各出线卡周期性执行以下步骤:
在当前周期内,确定针对该出线卡设置的输出队列OQ输出数据帧的流量所对应令牌数;
为以该出线卡为目的线卡的虚拟输出队列VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将分配的令牌数信息提供给相应的VOQ;
各VOQ按照与为自身分配的令牌数对应的流量发送数据帧,并经由核心交换单元FU将所述数据帧转发给各VOQ对应的出线卡。
一种流量控制的系统,该系统包括:出线卡调度器、入线卡调度器、VOQ和FU;
所述出线卡调度器,对应一个出线卡,用于在当前周期内,确定针对该出线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该出线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将令牌分配信息发送给所述VOQ对应的入线卡调度器;
所述入线卡调度器,每一个入线卡调度器对应针对一个入线卡设置的VOQ,用于根据接收到的令牌分配信息,将自身对应的、以所述出线卡为目的线卡的VOQ所分配的令牌数提供给对应的VOQ;
所述VOQ,以所述出线卡为目的线卡,用于按照与为自身分配的令牌数对应的流量,发送自身缓存的数据帧;
所述FU,用于接收所述VOQ发送的数据帧并转发给所述VOQ对应的出线卡。
一种流量控制的装置,该装置包括:出线卡调度器、入线卡调度器和VOQ;
所述出线卡调度器,用于在当前周期内,确定针对自身所连接线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将令牌分配信息发送给以该线卡为目的线卡的VOQ对应的入线卡调度器;
所述入线卡调度器,用于根据接收到的令牌分配信息,将本装置中各VOQ分配到的令牌数提供给本装置中的VOQ;
所述VOQ,用于按照与为自身分配的令牌数对应的流量发送自身缓存的数据帧。
由以上技术方案可以看出,本发明提供的方法、系统和装置,确定一个周期内针对出线卡设置的OQ输出数据帧的流量所对应的令牌数,为以该出线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,各VOQ按照与自身分配的令牌数对应的流量发送数据帧。也就是说,本发明通过分配令牌的方式,将交换网输出给出线卡的带宽分配给入线卡输入交换网的带宽,防止输入交换网的带宽超出交换网输出的带宽,避免交换网的FU缓存溢出所造成的数据帧丢失现象,从而保证数据交换业务的QoS。
附图说明
图1为现有技术中的交换网装置结构图;
图2为现有技术中的数据交换示意图;
图3为本发明实施例提供的主要方法流程图;
图4为本发明实施例提供的系统结构图;
图5为本发明实施例提供的另一种系统结构图;
图6为本发明实施例提供的流量控制装置结构图;
图7为本发明实施例提供的一个具体系统实例结构图;
图8为本发明实施例提供的以图7为基础的方法流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
首先对本发明提供的方法进行描述,图3为本发明实施例提供的主要方法流程图,在该实施例中可以初始为各VOQ分配令牌,使得在初始的一个周期内所有VOQ输出数据帧的流量与所有OQ输出数据帧的流量之间的差值小于或等于FU缓存,其中,各VOQ在初始的一个周期内按照为其分配的令牌数所对应的流量输出数据帧。如图3所示,针对各出线卡周期性执行以下步骤:
步骤301:在当前周期内,确定针对该出线卡设置的OQ输出数据帧的流量所对应令牌数。
本步骤中,可以对针对该出线卡设置的OQ进行输出测速,从而得到在当前周期内该OQ输出数据帧的流量,根据数据帧流量与令牌数之间的对应关系确定该OQ输出数据帧的流量所对应的令牌数。也可以在对OQ进行输出测速从而得到当前周期内OQ输出数据帧的流量后,根据预先在数据帧中携带的令牌消耗信息,确定该OQ输出数据帧的流量所对应的令牌数,其中,各入线卡的FAU在根据各数据帧的目的线卡将各数据帧送入其对应的VOQ中之前,根据各数据帧的长度将各数据帧的令牌消耗信息携带在各数据帧中,因此,可以根据数据帧中携带的令牌消耗信息、以及确定的OQ输出数据帧的流量,确定OQ输出数据帧所对应的令牌数。
在具体实施时,可以预先设定数据帧的长度与令牌数之间的对应关系,当确定数据帧的流量后,可以根据该流量对应的数据帧长度、以及数据帧长度与令牌数之间的对应关系,得到数据帧流量与令牌之间的对应关系;当然,也可以直接设定数据帧流量与令牌之间的对应关系。
步骤302:为以该出线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于确定的令牌数,并将分配的令牌数信息提供给相应的VOQ。
本步骤中为各VOQ分配令牌的策略可以有多种,只要使得分配的令牌总数小于或等于所述确定的令牌数即可。对于令牌分配策略在此仅举以下几个例子,但本发明并仅限于以下几个例子:
其一、将所述确定的令牌数平均分配给以该出线卡为目的线卡的VOQ。在此,可以不分优先级,对所有以该出线卡为目的线卡的VOQ进行平均分配。
其二、按照各VOQ的优先级,将确定的令牌数分配给以该出线卡为目的线卡的VOQ。例如,可以按照各VOQ的优先级为各VOQ设置分配权重系数,高优先级的分配权重系数相应较大,低优先级的分配权重系数相应较小,然后按照各VOQ的分配权重系数为各VOQ分配令牌数。
其三、按照各VOQ的需求状况,将确定的令牌数分配给以该出线卡为目的线卡的VOQ。例如,可以按照各VOQ的需求状况为各VOQ设置分配权重系数,需求大的分配权重系数相应较大,需求小的分配权重系数相应较小,然后按照各VOQ的分配权重系数为各VOQ分配令牌数。
其四、按照VOQ的优先级和需求状况,将确定的令牌数分配给以该出线卡为目的线卡的VOQ。例如,可以按照VOQ优先级从高到低的顺序,为以该出线卡为目的线卡的VOQ分配所需求的流量对应的令牌数,直至将确定的令牌数分配完毕或者分配完所有以该出线卡为目的线卡的VOQ。也可以按照该出线卡对应的入线卡将确定的令牌数进行平均分配后,在针对每一个入线卡设置的VOQ中,按照VOQ的优先级从高到低的顺序为以该出线卡为目的线卡的VOQ分配所需求的流量对应的令牌数,直至将平均分配的令牌数分配完毕或者已经完成针对该入线卡设置的所有VOQ的分配。
下面举一个具体的流程对上述第四种方式进行描述,假设OQ 1消耗的令牌数为X,OQ1所对应的VOQ分为高优先级和低优先级两种,假设OQ1对应的入线卡为入线卡1、入线卡2和入线卡3,入线卡1中针对OQ1的VOQ为高优先级的VOQ11和低优先级的VOQ12,入线卡2中针对OQ1的VOQ为高优先级的VOQ21和低优先级的VOQ22,入线卡3中针对OQ1的VOQ为高优先级的VOQ31和低优先级的VOQ32。
在进行分配时,可以首先确定高优先级的VOQ11、VOQ21和VOQ31所需求的令牌数和Y,如果X小于或等于Y,则将X个令牌平均分配给VOQ11、VOQ21和VOQ31,或按照需求分配给VOQ11、VOQ21和VOQ31;如果X大于Y,则将Y个令牌平均分配或按需求分配给VOQ11、VOQ21和VOQ31,再将剩余的X-Y个令牌平均分配或按需分配给低优先级的VOQ12、VOQ22和VOQ32。
也可以首先将X个令牌针对入线卡1、入线卡2和入线卡3进行平均分配,即每个线卡获取到X/3个令牌,然后在每个线卡中按照优先级需求进行分配。以入线卡1为例,如果X/3小于或等于VOQ11的需求,则将该X/3个令牌都分给VOQ11;如果X/3大于VOQ11的需求,则按需分配令牌给VOQ11,将剩余的令牌分配给VOQ12;如果剩余的令牌大于VOQ12的需求,则可以将按需分配给VOQ12后剩余的令牌分配给其它入线卡。直至将所有令牌分配完,或者没有剩余的令牌。
上述步骤301和302可以由出线卡端的出线卡调度器来执行,可以针对每一个出线卡均设置一个出线卡调度器,来完成步骤301和302,即出线卡调度功能。
本实施例在具体实现时,可以为各VOQ设置令牌桶,将为各VOQ分配的令牌放置在各VOQ的令牌桶中,各VOQ从自身的令牌桶中获取分配给自身的令牌数信息。
另外,步骤302中,将分配的令牌数信息提供给相应的VOQ可以为:通过复用已有的数据通道将分配的令牌数信息提供给相应的VOQ,例如,出线卡调度器可以将分配的令牌数信息通过复用数据通道发送给FU,由FU转发给各入线卡调度器,各入线卡调度器根据分配的令牌数信息,在相应VOQ的令牌桶中放置该VOQ被分配的令牌。也可以经由预先设置的控制信息交换器将分配的令牌数信息提供给相应的VOQ。
步骤303:各VOQ按照与为自身分配的令牌数对应的流量发送数据帧。
在一个周期内,各VOQ发送与自身的令牌桶中令牌数所对应流量范围内的数据帧,并在发送数据帧时消耗自身令牌桶中的令牌,消耗的令牌数与发送的数据帧流量对应。消耗的令牌数可以根据数据帧中携带的令牌消耗信息确定,控制令牌桶中令牌数的装置根据发送的数据帧中携带的令牌消耗信息,将令牌桶中的令牌减少发送数据帧所消耗的令牌数。或者,消耗的令牌数可以根据发送数据帧的流量、以及流量和令牌数之间的对应关系确定,控制令牌桶中令牌数的装置获取发送的数据帧的流量信息,根据数据帧流量与令牌之间的对应关系,将令牌桶中的令牌较少发送数据帧流量所对应的令牌数。其中,控制令牌桶中令牌数的装置可以为入线卡调度器。
在利用流量与令牌数之间的对应关系,具体确定消耗的令牌数的过程可以为:预先设定数据帧长度与令牌数之间的对应关系,在发送数据帧时,根据发送的数据帧长度、以及数据帧长度与令牌数之间的对应关系,确定发送的数据帧所消耗的令牌;当然,也可以直接预设数据帧流量与令牌数之间的对应关系,根据发送数据帧的流量确定消耗的令牌数。
VOQ在发送数据帧时,如果令牌桶中有令牌且令牌数足够发送该数据帧,则可以发送该数据帧;如果令牌桶中有令牌且令牌数不足够发送该数据帧,则为了保证能够线速发送,也可以允许VOQ发送该数据帧,并记录亏欠的令牌数,待下次分配令牌时补齐;如果令牌桶中没有令牌,则VOQ不能够发送该数据帧。
以上是对本发明提供的方法的描述,下面对本发明实施例提供的系统进行详细描述。图4为本发明实施例提供的系统结构图,图中,单线箭头表示控制信息流向,双线箭头表示数据帧流向。如图4所示,该系统可以包括:出线卡调度器401、入线卡调度器402、VOQ403和FU400。
其中,每一个出线卡调度器对应一个出线卡,该实施例中,以一个出线卡为例进行说明,其它出线卡对应系统的结构与此系统相同。每一个入线卡调度器对应一个入线卡,该入线卡调度器负责针对该入线卡设置的VOQ的调度工作,由于一个出线卡可能对应一个或多个入线卡,因此,入线卡调度器402可以为一个或多个,相应地,对应同一个出线卡的VOQ403可以为一个或多个,并且,针对同一个入线卡设置的VOQ中,对应同一个出线卡的VOQ也可以为一个或多个。
出线卡调度器401,用于在当前周期内,确定针对自身对应的出线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该出线卡为目的线卡的VOQ403分配令牌,使得分配的令牌总数小于或等于确定的令牌数,并将令牌分配信息发送给上述VOQ403对应的入线卡调度器402。
入线卡调度器402,用于根据接收到的令牌分配信息,将自身对应的、以该出线卡为目的线卡的VOQ403所分配的令牌数提供给对应的VOQ403;
VOQ403,用于按照与为自身分配的令牌数对应的流量发送自身缓存的数据帧。
其中,出线卡调度器401在分配令牌时,可以将确定的令牌数平均分配给VOQ403,也可以按照各VOQ403的优先级将确定的令牌数分配给VOQ403,也可以按照各VOQ403的需求状况将确定的令牌数分配给VOQ403,也可以按照各VOQ403的优先级和需求状况将确定的令牌数分配给VOQ403,也可以其它的分配策略。
FU400,用于接收所述VOQ发送的数据帧并转发给所述VOQ对应的出线卡。
入线卡调度器402还用于获取其对应VOQ403的需求状况,并将该需求状况提供给出线卡调度器401。
出线卡调度器401根据以该出线卡为目的线卡的各VOQ403的需求状况为各VOQ403分配令牌。
另外,该系统还可以包括:令牌桶404,每一个VOQ403对应一个令牌桶。令牌桶404,用于存储分配给自身对应VOQ403的令牌。
令牌桶404可以初始存储一定的令牌,使得在初始一个周期内,所有VOQ输出数据帧的流量与所有OQ输出数据帧的流量之间的差值小于或等于FU缓存。
入线卡调度器402,还用于将为VOQ403所分配的令牌注入对应的令牌桶404;在VOQ403发送数据帧时,将令牌桶中403的令牌减少发送数据帧所消耗的令牌数。
VOQ403从自身对应的令牌桶中获取为自身分配的令牌数。
该VOQ403中可以仅包含一个对应上述出线卡的VOQ,也可以包含多个不同优先级的、且对应上述出线卡的VOQ。
该系统还可以包括:FAU405,用于根据数据帧的长度,在数据帧中携带该数据帧的令牌消耗信息,并按照数据帧的目的线卡,将携带令牌消耗信息的数据帧送入其目的线卡对应的VOQ。当然,FAU405仍具有现有技术中的各项功能,即将来自入线卡的数据帧放入目的线卡对应的VOQ,并接收FU转发来的数据帧,并将该数据帧放入OQ中,在此不再赘述。
该系统还可以包括:控制信息交换器406,用于将出线卡调度器401发送的令牌分配信息转发给对应的入线卡调度器402。这是通过另外设置控制信息交换器的方式进行令牌分配信息的转发的,可以称为带外调度。本发明还可以采用另外一种令牌分配信息转发方式,此时该系统可以采用另外一种结构,如图5所示,FU400,还可以用于通过复用数据通道,将出线卡调度器401发送的令牌分配信息转发给对应的入线卡调度器402;当然,FU也同样具有现有技术中已有的功能,例如,接收VOQ403发送的数据帧并转发给该数据帧的目的线卡对应的FAU等,在此不再赘述。
由于每一个线卡在是入线卡的同时,还可能是出线卡,因此,每一个线卡端都可以同时具备出线卡调度器、入线卡调度器、VOQ和令牌桶。也就是说,每一个线卡端都可以具有一个流量控制装置,其结构如图6所示,图中单线箭头表征控制信息流向,双线箭头表征数据帧流向。该装置可以包括:出线卡调度器601、入线卡调度器602和VOQ603。
出线卡调度器601,用于在当前周期内,确定针对自身所连接线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将令牌分配信息发送给以该线卡为目的线卡的VOQ对应的入线卡调度器。
入线卡调度器602,用于根据接收到的令牌分配信息,将本装置中各VOQ603分配到的令牌数提供给本装置中的VOQ603;
VOQ603,用于按照与为自身分配的令牌数对应的流量发送自身缓存的数据帧。
另外,该装置还可以包括:令牌桶604,每一个VOQ603对应一个令牌桶,所述令牌桶604,用于存储分配给该令牌桶对应VOQ603的令牌;
入线卡调度器602,还用于将为本装置的VOQ603所分配的令牌注入对应的令牌桶604;在本装置的VOQ603发送数据帧时,将令牌桶604中的令牌减少发送数据帧所消耗的令牌数。
VOQ603,从自身对应的令牌桶604中获取为自身分配的令牌数。
该装置还可以包括:FAU605,用于根据数据帧的长度,在数据帧中携带该数据帧的令牌消耗信息,并将携带令牌消耗信息的数据帧送入该数据帧目的线卡对应的VOQ603。
其中,出线卡调度器、入线卡调度器、VOQ和令牌桶中的一个或任意组合可以设置在FAU中,或者设置在其它额外的设备中。
为了使上述方法和系统更加的清楚,下面结合一个具体的系统结构图对本发明的方法进行具体描述。以图7所示的系统结构为例,在该实施例中,线卡4作为出线卡时对应的入线卡为线卡1、线卡2和线卡3,其中,线卡1的VOQ1、线卡2的VOQ2、线卡3的VOQ3对应的目的线卡都为线卡4,该系统采用带外调度的方式。以下为在该结构基础上的流量控制过程。
初始在令牌桶1、令牌桶2、令牌桶3中分别注入令牌,使得在初始的一个周期内所有VOQ输出数据帧的流量与所有OQ输出数据帧的流量之间的差值小于或等于FU缓存。
然后,如图8所示,周期性执行以下步骤:
步骤801:出线卡调度器4确定当前周期内OQ4输出数据帧的流量所对应的令牌数。
步骤802:将该确定的令牌数分配给VOQ1、VOQ2和VOQ3。例如,可以将确定的令牌数平均分配给VOQ1、VOQ2和VOQ3,也可以根据入线卡调度器1、入线卡调度器2和入线卡调度器3分别发送来的VOQ1、VOQ2和VOQ3的需求信息,按需将确定的令牌数分配给VOQ1、VOQ2和VOQ3,也可以根据各VOQ1、VOQ2和VOQ3的优先级,按照优先级权重将确定的令牌数分配给VOQ1、VOQ2和VOQ3,也可以采用其它分配策略。
步骤803:将分配的令牌数信息通过控制信息交换器提供给入线卡调度器1、入线卡调度器2和入线卡调度器3。
将为VOQ1分配的令牌数信息通过控制信息交换器提供给入线卡调度器1、将为VOQ2分配的令牌数信息通过控制信息交换器提供给入线卡调度器2、将为VOQ3分配的令牌数信息通过控制信息交换器提供给入线卡调度器3。
步骤804:入线卡调度器1、入线卡调度器2和入线卡调度器3按照接收到的令牌数信息分别向令牌桶1、令牌桶2、令牌桶3中注入相应数量的令牌。
步骤805:VOQ1、VOQ2和VOQ3分别在令牌桶1、令牌桶2和令牌桶3中令牌数所限定的流量范围内发送数据帧给FU,且在发送数据帧时,消耗令牌桶中与发送数据帧流量对应的令牌。
FAU1、FAU2和FAU3分别接收线卡1、线卡2和线卡3发送来的数据帧,可以根据该数据帧的长度,在数据帧中携带令牌消耗信息,并将数据帧送入VOQ1、VOQ2和VOQ3中进行缓存。
以VOQ1为例,VOQ1在发送数据帧时,如果令牌桶1中有令牌且令牌数足够发送该数据帧,则可以发送该数据帧;如果令牌桶1中有令牌且令牌数不足够发送该数据帧,则为了保证能够线速发送,也可以允许VOQ1发送该数据帧,并记录亏欠的令牌数,待下次分配令牌时补齐;如果令牌桶1中没有令牌,则VOQ1不能够发送该数据帧。在发送数据帧时,入线卡调度器根据发送数据帧中携带的令牌消耗信息,相应减少令牌桶1中的令牌。VOQ2和VOQ3也执行同样的操作。
步骤806:FU将VOQ1、VOQ2和VOQ3发送的数据帧转发给FAU4,FAU4将接收到的数据帧送入OQ4进行缓存,OQ4再发送输入帧给线卡4。转入步骤801开始下一周期的操作。
由以上描述可以看出,本发明提供的方法、系统和装置,确定一个周期内针对出线卡设置的OQ输出数据帧的流量所对应的令牌数,为以该出线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,各VOQ按照与自身分配的令牌数对应的流量发送数据帧。也就是说,本发明通过分配令牌的方式,将交换网输出给出线卡的带宽分配给入线卡输入交换网的带宽,防止输入交换网的带宽超出交换网输出的带宽,从而避免交换网的FU缓存溢出所造成的数据帧丢失现象,从而保证数据交换业务的QoS。
并且,本发明可以根据各VOQ的优先级状况为各VOQ分配令牌数,从而保证高优先级业务的数据帧能够及时的发送;也可以根据各VOQ的需求状况为各VOQ分配令牌数,使得各VOQ能够充分的利用输入交换网的带宽,避免带宽浪费。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种流量控制的方法,其特征在于,针对各出线卡周期性执行以下步骤:
在当前周期内,确定针对该出线卡设置的输出队列OQ输出数据帧的流量所对应令牌数;
为以该出线卡为目的线卡的虚拟输出队列VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将分配的令牌数信息提供给相应的VOQ;
各VOQ按照与为自身分配的令牌数对应的流量发送数据帧,并经由核心交换单元FU将所述数据帧转发给各VOQ对应的出线卡。
2.根据权利要求1所述的方法,其特征在于,所述确定针对该出线卡设置的OQ输出数据帧的流量所对应的令牌数包括:
根据所述流量确定一个周期内OQ输出的数据帧流量;
根据数据帧流量与令牌数之间的对应关系、或者预先在数据帧中携带的令牌消耗信息,确定所述OQ输出数据帧的流量所对应的令牌数。
3.根据权利要求1所述的方法,其特征在于,为以该出线卡为目的线卡的VOQ分配令牌包括:将所述确定的令牌数平均分配给以该出线卡为目的线卡的VOQ;或者,
按照各VOQ的优先级,将所述确定的令牌数分配给以该出线卡为目的线卡的VOQ;或者,
按照各VOQ的需求状况,将所述确定的令牌数分配给以该出线卡为目的线卡的VOQ;或者,
按照VOQ的优先级和需求状况,将所述确定的令牌数分配给以该出线卡为目的线卡的VOQ。
4.根据权利要求3所述的方法,其特征在于,按照VOQ的优先级和需求状况,将所述确定的令牌数分配给以该出线卡为目的线卡的VOQ包括:
按照VOQ优先级从高到低的顺序,为以所述出线卡为目的线卡的VOQ分配所需求的流量对应的令牌数,直至将确定的令牌数分配完毕或者分配完所有以所述出线卡为目的线卡的VOQ;或者,
按照所述出线卡对应的入线卡,将所述确定的令牌数进行平均分配;在针对每一个入线卡设置的VOQ中,按照VOQ的优先级从高到低的顺序,为以所述出线卡为目的线卡的VOQ分配所需求的流量对应的令牌数,直至将平均分配的令牌数分配完毕或者已经完成针对该入线卡设置的所有VOQ的分配。
5.根据权利要求1所述的方法,其特征在于,将分配的令牌数信息提供给相应的VOQ包括:将分配的令牌数信息通过复用数据通道提供给相应的VOQ;或者,将分配的令牌数信息经由预先设置的控制信息交换器提供给相应的VOQ。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:为各VOQ设置令牌桶;
所述将分配的令牌数信息提供给相应的VOQ进一步包括:将为各VOQ分配的令牌放置在各VOQ的令牌桶中,各VOQ从自身的令牌桶中获取分配给自身的令牌数信息;
各VOQ按照与为自身分配的令牌数对应的流量发送数据帧给FU包括:各VOQ发送与自身的令牌桶中令牌数所对应流量范围内的数据帧,并在发送数据帧时消耗自身令牌桶中发送的数据帧流量所对应的令牌。
7.根据权利要求6所述的方法,其特征在于,各VOQ发送与自身的令牌桶中令牌数所对应流量范围内的数据帧包括:各VOQ在发送数据帧之前,如果自身对应的令牌桶中有令牌且令牌数足够发送该数据帧,则发送该数据帧;如果自身对应的令牌桶中有令牌且令牌数不足够发送该数据帧,则发送该数据帧,并记录亏欠的令牌数,待下次在该令牌桶中注入令牌时补齐该亏欠的令牌数;如果自身对应的令牌桶中没有令牌,则不发送该数据帧。
8.根据权利要求6所述的方法,其特征在于,在发送数据帧时消耗自身令牌桶中发送的数据帧流量所对应的令牌包括:所述数据帧中携带该数据帧的令牌消耗信息,控制令牌桶中令牌数的装置根据发送的数据帧中携带的令牌消耗信息,将令牌桶中的令牌减少发送数据帧所消耗的令牌数;或者,
控制令牌桶中令牌数的装置获取发送的数据帧的流量信息,根据数据帧流量与令牌之间的对应关系,将令牌桶中的令牌减少发送数据帧流量所对应的令牌数。
9.根据权利要求2或8所述的方法,其特征在于,所述令牌消耗信息是交换接入单元FAU在将数据帧送入其目的线卡对应的VOQ之前,根据该数据帧的长度,将该数据帧的令牌消耗信息携带在该数据帧中的。
10.根据权利要求1所述的方法,其特征在于,该方法还包括:初始为各VOQ分配令牌,使得在初始一个周期内所有VOQ输出数据帧的流量与所有OQ输出数据帧的流量之间的差值小于或等于FU缓存。
11.一种流量控制的系统,其特征在于,该系统包括:出线卡调度器、入线卡调度器、VOQ和FU;
所述出线卡调度器,对应一个出线卡,用于在当前周期内,确定针对该出线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该出线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将令牌分配信息发送给所述VOQ对应的入线卡调度器;
所述入线卡调度器,每一个入线卡调度器对应针对一个入线卡设置的VOQ,用于根据接收到的令牌分配信息,将自身对应的、以所述出线卡为目的线卡的VOQ所分配的令牌数提供给对应的VOQ;
所述VOQ,以所述出线卡为目的线卡,用于按照与为自身分配的令牌数对应的流量,发送自身缓存的数据帧;
所述FU,用于接收所述VOQ发送的数据帧并转发给所述VOQ对应的出线卡。
12.根据权利要求11所述的系统,其特征在于,该系统还包括:令牌桶,每一个VOQ对应一个令牌桶,所述令牌桶,用于存储分配给该令牌桶对应VOQ的令牌;
所述入线卡调度器,还用于将为所述VOQ所分配的令牌注入对应的令牌桶;在所述VOQ发送数据帧时,将令牌桶中的令牌减少发送数据帧所消耗的令牌数;
所述VOQ,还用于从自身对应的令牌桶中获取为自身分配的令牌数。
13.根据权利要求12所述的系统,其特征在于,该系统还包括:FAU,用于根据数据帧的长度,在数据帧中携带该数据帧的令牌消耗信息,并按照数据帧的目的线卡,将携带令牌消耗信息的数据帧送入其目的线卡对应的VOQ。
14.根据权利要求11所述的系统,其特征在于,所述FU,还用于通过复用数据通道,将所述出线卡调度器发送的令牌分配信息转发给对应的入线卡调度器;或者,该系统还包括:控制信息交换器,用于将所述出线卡调度器发送的令牌分配信息转发给对应的入线卡调度器。
15.根据权利要求10所述的系统,其特征在于,所述入线卡调度器还用于获取其对应VOQ的需求状况,并将所述需求状况提供给所述出线卡调度器;
所述出线卡调度器根据以该出线卡为目的线卡的各VOQ的需求状况为所述各VOQ分配令牌。
16.一种流量控制的装置,其特征在于,该装置包括:出线卡调度器、入线卡调度器和VOQ;
所述出线卡调度器,用于在当前周期内,确定针对自身所连接线卡设置的OQ输出数据帧的流量所对应的令牌数;为以该线卡为目的线卡的VOQ分配令牌,使得分配的令牌总数小于或等于所述确定的令牌数,并将令牌分配信息发送给以该线卡为目的线卡的VOQ对应的入线卡调度器;
所述入线卡调度器,用于根据接收到的令牌分配信息,将本装置中各VOQ分配到的令牌数提供给本装置中的VOQ;
所述VOQ,用于按照与为自身分配的令牌数对应的流量发送自身缓存的数据帧。
17.根据权利要求16所述的装置,其特征在于,该装置还包括:令牌桶,每一个VOQ对应一个令牌桶,所述令牌桶,用于存储分配给该令牌桶对应VOQ的令牌;
所述入线卡调度器,还用于将为本装置的VOQ所分配的令牌注入对应的令牌桶;在本装置的VOQ发送数据帧时,将令牌桶中的令牌减少发送数据帧所消耗的令牌数;
所述VOQ,从自身对应的令牌桶中获取为自身分配的令牌数。
18.根据权利要求16所述的装置,其特征在于,该装置还包括:FAU,用于根据数据帧的长度,在数据帧中携带该数据帧的令牌消耗信息,并将携带令牌消耗信息的数据帧送入该数据帧目的线卡对应的VOQ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101054357A CN101272345B (zh) | 2008-04-29 | 2008-04-29 | 一种流量控制的方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101054357A CN101272345B (zh) | 2008-04-29 | 2008-04-29 | 一种流量控制的方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101272345A CN101272345A (zh) | 2008-09-24 |
CN101272345B true CN101272345B (zh) | 2010-08-25 |
Family
ID=40006041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101054357A Expired - Fee Related CN101272345B (zh) | 2008-04-29 | 2008-04-29 | 一种流量控制的方法、系统和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101272345B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729386B (zh) * | 2008-11-03 | 2012-07-25 | 华为技术有限公司 | 一种基于令牌调度的流量控制方法及装置 |
CN101808037B (zh) * | 2010-03-15 | 2014-09-10 | 中兴通讯股份有限公司 | 交换网中流量管理的方法和装置 |
CN102035732B (zh) * | 2010-11-25 | 2013-12-04 | 华为技术有限公司 | 业务调度方法及装置 |
CN102075418B (zh) * | 2010-12-31 | 2014-05-07 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络数据流量控制设备及方法 |
CN102118314A (zh) * | 2011-02-28 | 2011-07-06 | 华为技术有限公司 | 流量管理的方法和管理装置 |
CN102118318A (zh) * | 2011-03-28 | 2011-07-06 | 华为技术有限公司 | 流量控制方法及装置 |
WO2013078584A1 (zh) | 2011-11-28 | 2013-06-06 | 华为技术有限公司 | 一种数据流交换控制方法及相关设备 |
CN103379038B (zh) | 2012-04-12 | 2018-08-03 | 南京中兴新软件有限责任公司 | 一种流量调度的装置及方法 |
CN102739531B (zh) * | 2012-06-19 | 2016-06-15 | 华为技术有限公司 | 流量整形方法和流量整形设备 |
CN105700940B (zh) * | 2014-11-25 | 2019-05-31 | 深圳市中兴微电子技术有限公司 | 一种调度器及调度器的动态复用方法 |
CN105763478A (zh) * | 2015-12-21 | 2016-07-13 | 中国电子科技集团公司第十五研究所 | 基于令牌桶算法的卫星数据地面传输网络流量控制系统 |
CN107689923B (zh) | 2016-08-04 | 2021-02-12 | 华为技术有限公司 | 报文处理方法及路由器 |
CN109787910B (zh) * | 2019-03-01 | 2021-01-15 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
CN113708945B (zh) * | 2020-05-20 | 2023-04-28 | 中国移动通信集团浙江有限公司 | 基于切片分组网的资源分配方法、装置及计算设备 |
CN113067778B (zh) * | 2021-06-04 | 2021-09-17 | 新华三半导体技术有限公司 | 一种流量管理方法及流量管理芯片 |
CN114465958B (zh) * | 2021-12-22 | 2024-04-26 | 天翼云科技有限公司 | 一种输入输出的控制方法、装置及介质 |
-
2008
- 2008-04-29 CN CN2008101054357A patent/CN101272345B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101272345A (zh) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101272345B (zh) | 一种流量控制的方法、系统和装置 | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
KR100328642B1 (ko) | 패킷흐름제어에관한장치및방법 | |
US5577035A (en) | Apparatus and method of processing bandwidth requirements in an ATM switch | |
US8000247B2 (en) | Bandwidth management apparatus | |
US7453810B2 (en) | Method and apparatus for closed loop, out-of-band backpressure mechanism | |
EP1804436B1 (en) | Methods and system to manage data traffic | |
US8553708B2 (en) | Bandwith allocation method and routing device | |
US20030185249A1 (en) | Flow control and quality of service provision for frame relay protocols | |
JPH0657016B2 (ja) | 輻湊制御型パケット交換方法及びその装置 | |
CA2272978A1 (en) | Novel method and apparatus for traffic shaping in a broadband fiber-based access system | |
JPH0846590A (ja) | データ伝送システム | |
WO2012070127A1 (ja) | 通信装置 | |
US20170187632A1 (en) | Telecommunication systems and methods using dynamic shaping for allocating network bandwidth | |
US7706391B2 (en) | Packet transmission method and device | |
CN101272348A (zh) | 一种带宽控制的方法和系统 | |
US6574232B1 (en) | Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit | |
JP2012186788A (ja) | パケット転送装置及びQoS制御回路の電力供給制御方法 | |
US8228797B1 (en) | System and method for providing optimum bandwidth utilization | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
US9729241B2 (en) | Telecommunication systems and methods using dynamic shaping for allocating network bandwidth | |
US7580352B2 (en) | Hub apparatus | |
KR20090007330A (ko) | 가중화된 공평 폴리싱을 위한 효율적 방법 및 시스템 | |
US7548511B2 (en) | Apparatus and method for preserving frame sequence and distributing traffic in multi-channel link and multi-channel transmitter using the same |
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 |
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. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100825 |
|
CF01 | Termination of patent right due to non-payment of annual fee |