结合虚拟监控组和car速率限制提高转发效率的路由器的制作方法

文档序号:7971200阅读:241来源:国知局
专利名称:结合虚拟监控组和car速率限制提高转发效率的路由器的制作方法
技术领域
本发明涉及计算机网络通信,具体涉及一种互联网协议(IP)网络中为实 现服务质量保证而提高转发效率和速度的路由器。
背景技术
随着互联网的迅速发展,网络提供的业务功能日趋完善,网络的服务质 量成为网络运营商,网络设备制造商以及网络用户关注的重点,也是开发人 员的研究热点。
研究人员已经设计出多种装置和调度算法来保证网络的服务质量,各种 装置包括拥塞避免,报文分类,拥塞管理,流量整形等,各种装置的作用体 现在服务质量保证的不同阶段,例如拥塞避免是在数据入口处对数据包进行 过滤以避免发送队列出现拥塞;报文分类是在接收到数据包后,送入队列之 前,是队列设计的基础;拥塞管理是队列调度时决定以何种方式发送队列中 的数据包;流量整形是对某一网络的某一连接的流量进行监控,以防止流量 的突发。调度方法包括公平队列调度(Fair Queuing, FQ),优先级队列调度 (PriorityQueuing, PQ),定制队列调度(CustomQueuing, CQ),加权公平队列 (Weighted Fair Queuing, WFQ)以及基于类的加权公平队列(Class Based Weighted Fair Queuing, CBWFQ)等。每种调度方法都针对不同的网络服务 要求,以保证相应的网络服务质量。例如公平队列调度给与所有的队列相同 的调度机会;优先级队列调度将数据流根据优先级进行简单分级并实施基于 优先级的队列调度;定制队列调度根据用户对资源的分配给不同的队列分配 不同的调度比例;加权公平队列调度是在保证公平的基础上对不同优先级业 务的区别对待。基于类的加权公平队列相当于CQ, PQ和WFQ的结合,提 供了实时调度队列和加权队列。每种调度队列都有其优点和不足,适用范围 也都有一定的限制,需要针对具体的情况进行选择。
但是现有方法中对队列的管理还没有给予特别的关注。 一般路由器中可 以允许用户配置的服务质量保证队列的数目少至几十条多至几百条,如何有 效的管理这些队列,对提高路由器的转发速度有很大的影响。另外,网络流 量都是突发性的,往往是一段时间内有持续且大量的流量经过,而其他时间 没有流量,因此对服务队列的管理和调度也不应该是一成不变的。
中国专利CN01117978与本发明提出的路由器较为相似。中国专利 CN01117978将数据包分类进入三种服务队列,包括尽力而为服务队列,负 载可控服务队列和保证服务队列,每种队列中可以包含多条虚拟队列,存放 不同分类的数据包。这种方法仅提供三种服务队列,且仅仅是将虚拟队列简 单的罗列进三种队列中,没有进行有效的监控和管理,可以满足的服务质量 要求也比4交少。

发明内容
本发明需要解决的技术问题是一种路由器,在对队列进行分类的基础 上,进一步管理从而提高数据包的转发速度和效率、提供高质量的网络服务 质量保证。
本发明的上述技术问题这样解决,提供一种路由器,位于相邻网络之 间,包括
端口 用于接收通过CAR速率限制的数据包和发送数据包; 存储器划分给各个队列并由虚拟监控組监控; 中心处理器依触发根据所述虛拟监控组的优先级从其内所述队列中调 用并转发数据包。
按照本发明提供的路由器,所述虚拟监控组中的所有队列是同一类,包 括实时队列、默认队列、统计复用队列和绝对资源保证队列中的一种或多种。
按照本发明提供的路由器,所述转发是根据定时器或接收的数据包触发。
按照本发明提供的路由器,所述CAR速率限制包括字节令牌或数据包 令牌方式。
按照本发明提供的路由器,若Lasttick小于Nowtick, Token = (Nowtick -Lasttick)*Bandwidth+Lasttoken; Lasttick大于Nowtick, Token = (Lasttick -Nowtick+ Oxffffffff)*Bandwidth+Lasttoken;其中,Token是该队列获得的令 牌数,Lasttoken是上次发包结束时该队列剩余的队列数,Lasttick是该队列 上一次收到数据包的系统时间,Nowtick是本次收到数据包的系统时间; Bandwidth是该队列分配的带宽,如果该队列允许统计复用,贝']Bandwidth 是该队列分配带宽与其他队列可统计复用的带宽的总和。
按照本发明提供的路由器,若Lasttick小于Nowtick, Nowtoken = (Nowtick - Lasttick)承Bandwi她;若Lasttick大于Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)*Bandwidth;其中Nowtoken是该队列当前 所剩余的令牌。
按照本发明提供的路由器,所述监控是指一定时间内有或没有新数据包 的被端口接收放入所述虚拟监控组内的队列,有为可用队列;所述转发仅从 所述可用队列中读取。
本发明提供的路由器,入队时采用承诺访问速率Committed Access Rate,简称CAR,进行速率限制,选取简单的令牌计算方法,同时兼顾了网 络转发效率,首次提出虚拟监控组的概念,利用虚拟监控组管理实队列,在 实施具体转发之前,实队列不直接面对调度模块,使调度更加简单快捷,出 队时根据队列所属虚拟监控组的优先级以及队列本身的带宽要求决定数据 包出队的顺序和数量,可以同时提供低时延服务和带宽统计复用服务,绝对 资源保证服务和尽力而为服务,充分利用接口带宽。该方法适用面比较广, 可以应用于基于流的服务质量保证,基于类的服务质量保证,点到点或者点 到多点的服务质量保证,可以提供实时队列,默认队列,统计复用队列和绝 对资源保证队列。


下面结合附图和具体实施例进一步对本发明进行详细说明。 图1为本发明路由器中各模块间的关系示意图。
图2为本发明路由器中虚拟监控组模块的结构及其与实队列的关系示意图。
图3为本发明路由器中接口管理模块结构与虛拟监控组模块的关系示意图。
图4为本发明的CAR队列管理实现方法的lt据包进入实队列的处理流 程图。
图5为本发明的CAR队列管理实现方法的队列调度处理流程图。
具体实施例方式
按照本发明提供的CAR队列管理方法,所述虛拟监控组管理两类队列, 即空闲队列和可用队列。 一定时间内没有彩:据包到达的队列称为空闲队列, 否则称为可用队列。关于空闲队列和可用队列的实现和管理,本发明申请人 已在另一篇专利申请文档《一种计算机网络数据包转发的队列管理方法》中 详细介绍。本发明具体实施例中出现的队列指可用队列。
首先,说明本发明主要思想本发明提出一种可以满足复杂的网络服务 质量要求、用于服务质量保证的计算机网络节点装置和方法,入队时采用承 诺访问速率Committed Access Rate,简单CAR进行速率限制,选取简单的 令牌计算方法,同时兼顾了网络转发效率,首次提出虚拟监控组的概念,利 用虚拟监控组管理实队列,在实施具体转发之前,实队列不直接面对调度模 块,使调度更加简单快捷,出队时根据队列所属虛拟监控组的优先级以及队 列本身的带宽要求决定数据包出队的顺序和数量,可以同时提供低时延服务 和带宽统计复用服务,绝对资源保-〖正服务和尽力而为服务,充分利用接口带 宽。该方法适用面比较广,可以应用于基于流的服务质量保证,基于类的服 务质量保证,点到点或者点到多点的服务质量保证,可以提供实时队列,默 认队列,统计复用队列和绝对资源保证队列。
第二,说明本发明提供的计算机网络节点装置,该装置包括以下模块
收包模块,用于从物理接口接收数据包;
分类模块,用于对数据包进行分类,也就是为数据包选择合适的队列; CAR模块,用于对流量进行监控,防止某网络连接的流量突发或者限
制其流出网络连接的速度;
令牌计算模块,用于计算某个流或者某个类在一段时间内获得的令牌数
目;
虛拟监控组模块,用于对具有相同属性的某些队列进行统一管理,简化
调度过程;
接口管理模块,用于存储某个接口的收发包统计数据,接口下虚拟监控 组的配置数目,该接口最近一次调用的虚拟监控组,该接口的带宽分配大小, 该接口待发送的数据包数目,该接口收发数据包的统计数据等。
实队列模块,用于存放待发送的数据包,实队列模块中包含所有根据用 户的配置所生成的实队列。
调度模块,用于从队列中取出待发送的数据包,并发送该数据包,调度 模块针对用户不同的配置采用不同的调度算法。
其中,所述收包模块是整个服务质量保证流程的辅助模块,分类模块是 服务质量保证流程的真正的操作入口, CAR模块是服务质量保证流程的第 一步骤,令牌计算模块是CAR模块的辅助部分,CAR模块和令牌计算模块 和虚拟监控组模块对实队列进行操作,调度模块同时对虚拟监控组模块和虚 拟监控组中的实队列进行操作。
进一步地,收包模块根据不同的物理接口类型对该接口接收到的数据包 进行处理,将数据包整合成统一的结构,方便后面模块对数据包的统一处理;
进一步地,所述分类模块可以有多种分类标准和规则,例如根据数据包 的优先级分类,或者根据数据包的目的地址和源地址分类等;
进一步地,CAR是流量整形的一种方法,它规定了数据包以何种速度 进入或者离开队列,对超过速度限制的包进行丢弃。
进一步地,所述令牌是CAR操作中的一种限速方式,可以分为字节令 牌和包令牌,使用字节令牌的CAR仅允许包容量小于令牌大小的数据包进 入队列,使用包令牌的CAR仅当令牌大于0时才允许数据包进入队列。
进一步地,实队列就是真正存储待发送数据包的队列,虚拟监控组是某 些具有相同特征实队列的集合,它本身并不存储数据包,但是它对属于本虚 拟监控组的所有实队列中的数据包进行管理。
进一步地,调度是指数据包的出队,调度往往是采用某种算法来决定何 时取某个队列的某个数据包。
第三,说明本发明用于服务质量保证的所迷CAR队列管理方法,包括 步骤A.用户在使用服务质量保证功能之前对需要服务质量保证的网络
流量进行配置,系统根据用户的配置预先生成与各种流量类别相对应的实队
列;
进一步地,用户进行服务质量保证的配置方法包括网络流量分类和带宽 申请,其中网络流量分类包括根据数据包的优先级进行数据包分类,或者根 据数据包的源地址和目的地址进行数据包分类,又或者根据数据包的某些字 段进行数据包分类等;带宽申请是为各个网络流量在网络某个节点处所允许 的最大带宽进行设置,网络实际转发时,该流量的转发速度不能超过最大带 宽;
进一步地,接口管理模块中记录了接口的带宽分配信息,如果用户申请 的带宽超过接口剩余带宽的分配能力,用户的带宽申请将会失败,用户对此 网络流量的配置也会失败,不会生成相应的实队列;
步骤B.虚拟监控组模块根据已配置队列的服务质量要求和分类情况实 时的调整已创建的虚拟监控组的数目,以及每个虛拟监控组中包含实队列的 数目,同时虚拟监控组中还包含该虚拟监控组所辖实队列的收发包统计数 据,该虚拟监控组最近被调用模块调用的实队列,该虛拟监控组中所辖实队 列中待发送的数据包的总和,以及该虚拟监控组所辖实队列的头队列指针 等。完成用户配置后就等待数据包的到来;
步骤C.收包模块从物理接口接收数据包;
步骤D.分类模块对接收的数据包进行分类
进一步地,分类标准可以根据数据包的优先级,或者数据报文中的某些 字段进行分类,提供基于类的服务质量保证;也可以是根据数据包的源地址, 目的地址,源端口和目的端口进行分类,提供基于流的服务质量保证;还可 以是根据目的地址和/或源地址进行分类,提供点到点或者点到多点的服务 质量保证;
步骤E.CAR模块操作的对象是各个实队列,对于某个实队列,CAR根
据该队列对带宽的要求计算出需要进行限速的上限,操作过程如步骤F,凡 是超过上限的网络流量都被丟弃;
步骤F.在CAR模块进行限速的操作中,需要调用令牌计算模块计算在 某一个时刻,某个队列所能接受的网络流量的上限。令牌计算模块采用以下 算法
Token = (Nowtick-Lasttick) * Bandwi她+Lasttoken (表达式l) Token = (Lasttick-Nowtick+Oxffffffff) * Bandwidth+Lasttoken (表达式2)
其中Token是此时该队列获得的令牌数,Lasttoken是上次发包结束时 该队列剩余的队列数。Lasttick是该队列上一次收到数据包的系统时间, Nowtick是本次收到数据包的系统时间,如果Lasttick小于Nowtick说明系 统时间没有发生翻转,则采用表达式1;如果Lasttick大于Nowtick说明系 统时间发生翻转了,采用表达式2。 Bandwidth是该队列分配的带宽,如果 该队列允许统计复用,则Bandwidth是该队列分配带宽与其他队列可统计复 用的带宽的总和;
步骤G.通过CAR模块限速后的数据包,根据其分类情况选择进入实 队列模块的相应队列中;
步骤H.调度模块通过定时器触发,或者通过收包触发,从实队列中调 用并转发数据包。调度模块的调度算法采用基于优先级和带宽保证的轮转调 度方法,也就是调度模块会首先保证优先级高的虛拟监控组中的数据包优先 发送,对于同属一个虚拟监控组的实队列采用轮转调度的方法;
进一步地,各实队列带宽通过前面的CAR模块来保证,调度模块可以 采用多种调度方法来调用并转发数据包,例如WFQ, CQ或者PQ等,在本 发明实例中,仅以轮转调度为例说明调度的具体过程;
进一步地,调度模块首先检查接口管理模块中记录的最近一次做过发包 操作的虚拟监控组,如果该虚拟监控组的优先级最高,调度模块进行步骤I; 如果该虚拟监控组的优先级居中,调度模块进行步骤J;如果该虛拟监控组 的优先级最低,调度模块进行步骤K;
步骤I.虛拟监控组模块中记录了该虛拟监控组最近被调用模块调用的
最后一个实队列,调用4莫块,人该实队列开始检查,如果该队列有4寺发送的凄t 据包则转发这些数据包,然后继续向下检查其它实队列是否有待发送的数据 包,直到调用模块发送完该虛拟监控组中所有后续实队列的数据包。调度模 块继续按照优先级从高到低的顺序检查并发送其他优先级的虚拟监控组中 待发送的数据包,所有这些调度转发的前提是该接口仍有发送数据包的能 力,在调度过程中实时更新虛拟监控组模块和接口管理模块中的收发包统计 数据以及待发送数据包的数目,在此次调度模块操作结束后,更新接口管理 模块中的最近一次调度的虚拟监控组,和更新最后调用的虛拟监控组中最近
被调用的实队列;
步骤J.调度模块首先检查高优先级虛拟监控组模块,如果高优先级虛 拟监控组模块中记录有待发送的数据包,调度模块将更新接口管理模块中的 最近一次调度的虚拟监控组,改为高优先级的虛拟监控组,然后依照步骤H 进行调度转发;
步骤K.调度模块首先检查高优先级虚拟监控组,如果高优先级虚拟监 控组中记录有待发送的数据包,调度模块依照步骤I进行调度转发;如果高 优先级虚拟监控组中没有待发送的数据包,调度模块检查中优先级的虚拟监 控组,如果中优先级虚拟监控组中记录有待发送的数据包,调度模块将更新 接口管理模块中的最近一次调度的虚拟监控组,改为中优先级的虚拟监控 组,然后依照步骤H进行调度转发;
进一步地,通常高优先级的数据包对服务质量的要求是绝对保证网络流 量的带宽并且实现低时延,也就是当网络流量在带宽允许范围内,只要有高 优先级的数据包待发送,调度模块将停止对中优先级和低优先级虚拟监控组 的调度,转而调度高优先级虚拟监控组;
进一步地,通常中优先级的数据包对服务质量的要求是绝对保证网络流 量的带宽,但是对时延的要求并不是高,有时也会要求对中优先级的所有网 络流量进行带宽的统计复用;
进一步地,带宽的统计复用是为了充分利用物理接口的带宽而提出的一 种带宽复用方式,当某个队列在某时刻网络流量低于其分配的带宽时,统计 复用原则允许其他队列占用该队列已经申请分配的带宽;
进一步地,为保证高优先级队列中数据包的低时延,分配给高优先级队 列的带宽不被用作统计复用;
进一步地,带宽统计复用的实现在令牌计算模块所采用的算法中有休
现;
最后,结合本发明在路由器中的具体实现进一步详细说明本发明方法
(-)本发明路由器,结构如图l所示,包括收包模块ll,分类模块12, CAR模块13,令牌计算模块14,虚拟监控组模块15,接口管理模块16和 调度模块17;其中
收包模块11,用于从物理接口接收数据包,丟弃有错误的数据包,将 有效的数据包送往分类模块。
分类模块12,用于根据用户事先配置好的分类标准对收包模块送来的 数据包进行分类,判断该数据包所对应的实队列。
CAR模块13,用于根据用户为某队列配置的带宽对该队列的网络流量 进行限速,其操作的对象是各个实队列。
令牌计算模块14,用于计算一段时间内,某实队列应该获得的令牌数, 算法如下
若Lasttick<Nowtick, Nowtoken = (Nowtick - Lasttick"Bandwi她;若 Lasttick〉Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)承Bandwi她; 其中,Lasttick是该队列上一次收到数据包的系统时间,Nowtick是本次收到 数据包的系统时间,如果Lasttick小于Nowtick说明系统时间没有发生翻转, 则采用表达式1;如杲Lasttick大于Nowtick说明系统时间发生翻转了 ,采 用表达式2。 Bandwidth是该队列分配的带宽,如果该队列允许统计复用, 则Bandwidth是该队列分配带宽与其他队列可统计复用的带宽的总和;
虚拟监控组模块15,用于集合具有相同优先级的所有实队列,它包括 该虛拟监控组所辖实队列的收发包统计数据,该虚拟监控组所辖实队列的数 目,该虚拟监控组最近被调用模块调用的实队列,该虚拟监控组中所辖实队 列中待发送的数据包的总和,亦即所辖实队列的头队列指针等,虚拟监控组 方便调度模块判断某一优先级队列是否需要调度处理,并决定采用怎样的调
度方式。
接口管理模块16,用于存储某个接口的收发包统计数据,接口下虚拟
监控组的配置数目,该接口最近一次发包来自亍哪个虛拟监控组,该接口的 带宽分配情况,该接口待发送的数据包数目,以及所辖第一个虚拟监控组的 指针等。
实队列模块17,用于存储待发送的数据包,并记录该实队列的下面一 个实队列的指针。
调度模块18,用于根据接口的队列配置和当前的数据包存储情况决定 采用怎样的队列调度方式。
收包模块11是服务质量保证流程的入口 ,虚拟监控组模块15和接口模 块16根据用户对网络流量的配置预先生成,并在流程中实时更新,CAR模 块13通过调用令牌计算模块14对进入实队列的网络流量进行限速,限速后 把待发送的数据包送入实队列模块17的相应实队列中,调度模块18实施对 数据包的调用和转发。
(二)如图2所示,实队列;溪块17是才艮据用户对网络流量的分类和配置实 时生成的,数据包在实队列中首尾相连的排放。同属一个虚拟监控组的实队 列按照其加入虚拟监控组的先后顺序组成一条实队列的链,位于链头的实队 列的指针被记录在虚拟监控組中,每个实队列都记录它下面一个实队列的指 针。
曰如图3所示,接口管理模块16中记录了该接口下根据用户配置所生 成的虛拟监控组的数目,第一个虚拟监控组的指针,该接口已经分配的带宽 的大小,该接口所辖虚拟监控组待发送的数据包的总和,最近被调用的虚拟 监控组,以及该接口所辖虛拟监控组收发数据包的总和。
卿当接收数据包进入实队列时,本发明路由器虚拟监控组分类和队列 CAR限速的处理流程,如图4所示,具体包括以下步骤
401) 收包模块从物理端口接收数据包。
402) 分类模块对数据包进行分类。
403) 该数据包是否需要进行服务质量保证。如果是则跳往步骤405,否 则跳往步骤404。
404)直接转发该数据包。
405 )确定该数据包所属的虛拟监控组,根据虚拟监控组中的服务类型 判断该数据包所属实队列是否需要进行统计复用。如果是则跳往步骤407, 否则跳往步骤406。
406) 确定该数据包所属实队列,读取实队列中记录的上一次收到数据 包的系统时间Lasttick,当前系统时间Nowtick,以及该队列的带宽Bandwidth。
407) 确定该数据包所属实队列,读取实队列中记录的上一次收到数据 包的系统时间Lasttick,当前系统时间Nowtick,该队列的带宽Bandwidthl, 以及该接口目前可复用的带宽Bandwidth2。该实队列目前总共可用的带宽为 Bandwidth = Bandwidth 1 + Bandwi她2。
408) 调用令牌计算模块计算该实队列当前所剩余的令牌Nowtoken。如 果Lasttick〈Nowtick, Nowtoken = (Nowtick隱Lasttick)*Bandwidth; 长口果 Lasttick〉Nowtick, Nowtoken = (Lasttick — Nowtick + Oxffffffff)*Bandwidth。
409) 该数据包的大小是否大于Nowtoken 如果是则跳往步骤410,否则 跳往步骤411。
410) 丟弃该数据包。
411 )将该数据包放入所属实队列中,如果实队列中有多个数据包,则 将该数据包放在最后面。
412 )修改该数据包所属虛拟监控组的收发包统计数据。
413) 驱动调度模块进行数据包的调度。
414) 结束数据包进入实队列的处理流程。
ffi)本发明路由器按虚拟监控组优先级出队调度处理流程,如图5所示, 具体包括以下步骤
501) 调度模块受到驱动,开始调度流程。
502) 调度模块读接口控制模块中的最近一次调度过的虚拟监控组。 503 )判断该虚拟监控组的优先级是高优先级虚拟监控组,中优先级虚
拟监控组,和低优先级虛拟监控组的哪一组。如果是高优先级虚拟监控组则 跳往步骤504,如果是中优先级虚拟监控组则跳往步骤512,如果是低优先级 虚拟监控组则跳往步骤515 。
504 )将接口控制模块中最近一次调用的虚拟监控组更新为高优先级虚
拟监控组,读取高优先级虚拟监控组中最近一次调度的实队列。
505 )判断该实队列中是否有待发送数据包,如果是则跳往步骤506,否 则if兆往步-骤508。
506 )判断物理接口是否仍有发送数据包的能力。如果是则跳往步骤507, 否则跳往步骤520。
507 )将该虛拟监控组中最近一次调度的实队列更新为本实队列,发送 该实队列中待发送的数据包。返回步骤505继续进行。
508 )寻找该虚拟监控组所辖实队列链中下一个有待发送数据包的实队列。
509)是否找到有待发送数据包的实队列。如果是则跳往步骤506,否则 跳往步骤510。
510 )将接口管理模块中最近一次调度的虛拟监控组更新为优先级仅次 于本优先级的下一优先级虚拟监控组。如果本虚拟监控组是最低优先级,则 接口管理模块中最近一次调度的虚拟监控组更新为最高优先级虚拟监控组。
511 )判断接口管理模块中最近一次调度的虚拟监控组是哪一个虚拟监 控组。如果是高优先级虚拟监控组则跳往步骤504,如果是中优先级虚拟监 控组则跳往步骤512,如果是低优先级虚拟监控组则跳往步骤515 。
512 )将接口控制模块中最近一次调用的虚拟监控组更新为中优先级虚 拟监控组,读取中优先级虚拟监控组中最近一次调度的实队列。
513 )读取高优先级虚拟监控组中待发送数据包数目。 514)待发送数据包是否为0。如果是则跳往步骤505,否则跳往步骤504。 515 )将接口控制模块中最近一次调用的虚拟监控组更新为低优先级虚
拟监控组,读取中优先级虚拟监控组中最近一次调度的实队列。
516) 读取高优先级虚拟监控组中待发送数据包数目。
517) 待发送数据包是否为0。如果是则跳往步骤518,否则跳往步骤504。
518) 读取中优先级虚拟监控组中待发送数据包数目。
519) 待发送数据包是否为0。如果是则跳往步骤505,否则跳往步骤512。
520) 停止本次调度。
权利要求
1、一种路由器,位于相邻网络之间,其特征在于,包括端口用于接收通过CAR速率限制的数据包和发送数据包;存储器划分给各个队列并由虚拟监控组监控;中心处理器依触发根据所述虚拟监控组的优先级从其内所述队列中调用并转发数据包。
2、 根据权利要求1所述路由器,其特征在于,所述虚拟监控组中的 所有队列是同一类,包括实时队列、默认队列、统计复用队列和绝对资源保 证队列中的一种或多种。
3、 根据权利要求1所述路由器,其特征在于,所述转发是根据定时 器或接收的数据包触发。
4、 根据权利要求1所述路由器,其特征在于,所述CAR速率限制包 括字节令牌或数据包令牌方式。
5、 根据权利要求1或4所述路由器,其特征在于,若Lasttick小于 Nowtick, Token = (Nowtick - Lasttick)*Bandwidth+Lasttoken; Lasttick大于 Nowtick, Token = (Lasttick - Nowtick + Oxffffffff)*Bandwidth+Lasttoken;其 中,Token是该队列获得的令牌数,Lasttoken是上次发包结束时该队列剩余 的队列数,Lasttick是该队列上一次收到数据包的系统时间,Nowtick是本次 收到数据包的系统时间;Bandwidth是该队列分配的带宽,如果该队列允许 统计复用,则Bandwidth是该队列分配带宽与其他队列可统计复用的带宽的 总和。
6、 根据权利要求5所述路由器,其特征在于,若Lasttick小于Nowtick, Nowtoken = (Nowtick - Lasttick)承Bandwi她;若Lasttick大于Nowtick, Nowtoken = (Lasttick - Nowtick + Oxffffffff)*Bandwidth;其中Nowtoken是该队列当前所剩余的令牌。
7、 根据权利要求1所述路由器,其特征在于,所述监控是指一定时间内有或没有新凝:据包的#1端口接收i支入所述虚拟监控组内的队列,有为可用队列;所述转发仅从所述可用队列中读取。
全文摘要
本发明涉及一种路由器,位于相邻网络之间,包括端口用于接收通过CAR速率限制的数据包和发送数据包;存储器划分给各个队列并由虚拟监控组监控;中心处理器依触发根据所述虚拟监控组的优先级从其内所述队列中调用并转发数据包。这种路由器,选取简单的令牌计算方法,同时兼顾了网络转发效率,利用虚拟监控组管理队列,使调度更加简单快捷,同时可以提供低时延服务和带宽统计复用服务,绝对资源保证服务和尽力而为服务,其适用面广,可以应用于基于流的服务质量保证,基于类的服务质量保证,点到点或者点到多点的服务质量保证。
文档编号H04L12/56GK101188547SQ20061014582
公开日2008年5月28日 申请日期2006年11月17日 优先权日2006年11月17日
发明者顾颖杰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1