对并行排队层级结构中的流量进行整形的方法和系统的制作方法

文档序号:7635558阅读:172来源:国知局
专利名称:对并行排队层级结构中的流量进行整形的方法和系统的制作方法
技术领域
本发明一般涉及通信网络,更具体地说,涉及使用链路分段(fragmentation)和交织对排队层级结构中的网络流量进行整形(shape) 的系统和方法。
背景技术
高速网络被设计为运载具有大范围服务质量(QoS)要求的服务。定 义可以在其上配置QoS要求的流量类的层级结构是有用的。图l示出了这 样的层级结构的示例。存在三个级别。底部级别或根是定义物理接口的节 点102,流量将在该物理接口上传输。物理层表示所有的物理层实体,例 如以太网端口、 TDM信道、POS端口、畅通信道端口等。层级结构的下 一级别示出了三个逻辑接口 104、 106和108。逻辑层表示具有虚拟电路的 那些接口,虚拟电路例如是帧中继(FR)或虚拟LAN (VLAN)。层级结 构的第三级别由类组成。这里,逻辑接口 104具有相关类110和112。逻 辑接口 106具有类114、 116和118。逻辑接口 108具有相关类120和 122。类层包含分组队列,其中分组被排队等候传输。每个类例如可以表 示不同的顾客。因此,所有的类、逻辑接口和物理接口都用树结构的节点表示。与类 相对应的节点是叶子节点,即在层级结构中,它们离根节点最远。当分组 到达时,它们被放在与叶子节点相关联的队列中。个体节点可以被配置为 优先级节点。在图1中,用虚线画出优先级节点。优先级节点比它们的兄 弟节点具有更高的调度优先(preference),而不管其他的调度标准如何。例如,语音流量可以被指派为优先级类。链路分段和交织(LFI)是在低速接口上使用的方法,用于允许较高 优先级的流量向前移动或者与较低优先级的流量交织。大的分组大小、较 分段成较小的块,以提供较高优先级的流量被插入 到分组流中的机会。在传统系统中,分段和交织功能是在软件中执行的,并且物理成帧器 不知道LFI在被执行。因此,从软件角度来看,单个物理接口被使用并且流控制被表示为单个实体。最近开发的成帧器芯片将LFI功能中的一些并入到硬件中。这些成帧器现在将单个物理结构表示为两个分开的接口 一 个接口用于高优先级流量(未分段的),而另一个接口用于低优先级流 量,高优先级流量将与较低优先级的流量交织,低优先级流量将被分段成较小的块(chimk)。虽然这相对于软件提供了几个优点,但是引入了软件必须解决的新问题,这个问题是对流控制和跨越两个接口的物理接口整 形的管理。因此,需要一种方法和系统,该方法和系统允许多个流量流像它们是 单个流一样被整形,同时指定其中 一个流是不受限制的。发明内容公开了一种对多级排队层级结构中的流量进行整形的方法和系统。该 层级结构包括高优先级信道和低优先级信道,其中低优先级信道上的流量 被分段并与来自高优先级信道的流量交织,并且从高优先级信道和低优先级信道组合成的流量具有最大形状速率(shape rate)。所述方法包括将高 优先级令牌桶链接到低优先级令牌桶,从高优先级信道传输数据并且将低 优先级令牌桶縮减与所传输的数据相对应的量。仅在低优先级桶具有可用 令牌的情况下从低优先级信道传输数据。在本发明的另一技术方案中,对流量进行整形的系统一般包括整形设 备,该整形设备包括在高优先级设备和低优先级设备之间共享的实时令牌 桶。该令牌桶具有与最大形状速率相对应的填充速率。所述整形设备被配 置为将令牌桶縮减与从高优先级信道和低优先级信道传输的数据相对应的 量。仅在令牌桶具有可用令牌的情况下从低优先级信道传输数据,并且不 管令牌可用性如何都从高优先级信道传输数据。参照说明书的其余部分和附图,可以实现对本发明的特性和优点的进
一步了解。


图1示出了表示类层级结构的树。图2示出了用在本发明的一个实施例中的排队层级结构。图3是示出根据本发明的一个实施例用于整形流量的过程的流程图。图4示出了在实现本发明的实施例中有用的网络设备。在附图的数个视图中,相应的标号都指示相应的部分。
具体实施方式
下面的描述被提供用于使本领域普通技术人员能够制造和使用本发 明。具体实施例和应用的描述仅是作为示例提供的,本领域技术人员将会 容易地想到各种修改。这里所描述的一般原理可以应用于其他实施例和应 用,而不脱离本发明的范围。因此,本发明不局限于所示出的实施例,而 是与这里所描述的原理和特征一致的最宽范围一致。为了清楚起见,涉及 本发明相关技术领域中已知技术材料的细节未被详细描述。本发明在包括多个网络元件的数据通信网络的上下文中操作。在采用 本发明的网络中,某些元件可以是诸如路由器和交换机之类的网络设备。 利用这里所描述的方法和系统的流量管理系统或网络处理器可以位于这些 网络元件中的一个或多个中。该系统例如可以用在执行排队和分组调度的 路由器或交换机平台中,或者用在任何尝试对多个流量流进行整形的设备 中。这里所描述的系统和方法允许多个流量流像它们是单个流一样被整 形,同时指定其中一个流是不受限制的。该系统使用链路分段和交织(LFI)来允许较高优先级的流量在较低优先级的流量之前被发送。较低 优先级的分组在具有较高优先级的分组的物理链路上被分段和交织。在一 个实施例中,这里所公开的系统可以在例如共享端口适配器(SPA)上用 硬件实现LFI,而同时软件(或者硬件)被用于管理流控制和跨越高优先 级流量接口和低优先级流量接口的物理接口整形。要了解到可以对该系统
做出改变而不脱离本发明的范围。例如,可以使用物理层接口模块(PLIM)或其他合适的设备代替SPA。下面参照特定示例描述本发明,该示例与先前关于图1所描述的一 样,应用于三层的层级结构。然而,本发明不局限于任何特定的层级结构 级别数目、优先级级别数目或者节点数目或排列。例如,配置可以包括仅 仅单层、三层、五层或者任何其他数目的层。本发明的并行排队层级结构的一个实施例在图2中示出。该层级结构 包括三层物理层(节点210、 212和接口 202);逻辑层(节点214、 216、 222、 224);和类或叶子层(节点218、 220、 226、 228、 230、 232)。该系统包括单个信道化端口 202, LFI被配置在该端口上。端口适 配器或接口模块(例如,SPA或者PLIM) 204通过将两个延伸信道206、 208分配给物理端口来实现LFI。来自物理节点210、 212的数据经由SPI(系统分组接口) 250或者其他合适的链路被传输到端口适配器204。信 道206用于高优先级的流量,信道208用于较低优先级的流量(LFI流 量)。去往LFI信道208的流量被分段并且与来自高优先级信道206的流 量交织。物理层、逻辑层和类层上的实体是带宽受限流量流(BLT)。这些信 道中的每个都被分配了它们自己的物理层BLT,从而使得去往信道化端口 202的高优先级和低优先级流量在到达端口适配器204之前不会混合。带 宽受限流量流是分组流,其最大带宽以某种方式被约束或限制。物理层上 的BLT的示例是物理接口。去往特定物理接口的分组的整个流受接口的最 大带宽约束。该物理层调度并整形逻辑层BLT。逻辑层上的BLT的示例 是帧中继虚拟电路(VC)。逻辑层上的每个BLT可以被分配有保证的最 小带宽、最大带宽等等。类层上的BLT包含用于特定类的配置和状态参 数。在图2所示出的示例中,层级结构包括两个物理BLT210、 212。层级 结构还包括用于高优先级的延伸信道206的逻辑BLT 214、 216。单个类 BLT218、 220被分别分配给高优先级逻辑BLT 214、 216中的每一个。用 于低优先级的延伸信道208的层级结构是物理层和逻辑层的镜像,并且包
括物理BLT 212和逻辑BLT 222、 224。因此,对于每个高优先级的物理 和逻辑BLT,存在相应的低优先级的物理和逻辑BLT。在图2所示的示例 中,存在多个馈送(feed)低优先级逻辑BLT 222、 224的类BLT 226、 228、 230、 232。由于延伸信道206、 208两者被分配给同一物理信道化端口,因此它 们的总带宽是物理链路的带宽。这些信道中的每一个基于它们自己的出口 FIFO深度将延伸信道流控制信息(EFCI)状态报告给它们各自的物理层 BLT。图2中的箭头240、 242表示从延伸信道的出口 FIFO报告给各个信 道的物理层BLT的EFCI状态。物理层BLT被优选地整形为稍微高于物理 链路速度的速率,以避免严重依赖于ECFI系统来限制流量。SPI (系统分 组接口)端口级别流控制也被报告给每个物理层BLT (用图2中的线244 表示)。在图2所示的图中,假设高优先级的流量不必被整形(即,输入速率 小于分配给物理或虚拟接口的最大输出速率)。这条约束例如可以通过管 制(police)高优先级流量或者限制其速率来提供。然而,当确定物理 (或者虚拟)接口上的所有流量的最大速率时,在该接口上传输的高优先 级流量的量必须被考虑到。例如,如果物理接口具有10Mbps的最大速率 并且高优先级流量消耗1Mbps,那么低优先级流量必须被整形到9Mbps。 但是,由于高优先级流量的速率是动态的,因此低优先级流量的形状速率 被动态调整。整形机制利用实时令牌桶方案。令牌在每个单位时间被添加到桶中, 并且对于每个被传输的分组,令牌被从桶中移除。桶的填充速率等于流量 流必须遵守的最大形状速率。令牌例如可以等于一字节的数据。系统将高优先级数据结构的令牌桶252链接到低优先级数据结构的令 牌桶254。如图2的箭头246处所示,高优先级BLT 210包含指向LFI BLT 212的指针以调整令牌。因此,两个并行流量流共享同一个令牌桶。 当分组在高优先级流量流上传输时,高优先级分组使得共享的令牌桶被縮 减(decrement),从而限制低优先级流量流。高优先级流量流可以选择是 否忽略令牌桶状态(即,可以选择遵守形状/管制速率或者可以选择不遵守 形状/管制速率)。如果高优先级流量流选择不遵守形状/管制速率,那么 诸如管制器之类的其他机制可被用于保证高优先级流量不超过形状/管制速 率。每个令牌桶被配置为每个单位时间接收一定数目的令牌。然后,每次分组被传输时,令牌桶被縮减所传输的字节数。要了解到令牌桶可以被縮 减与所传输的数据相对应的任何值(例如分组长度或者某一系数的传输字 节)。同时,通过获取自最近一次传输以来的时间增量并将其乘以形状速率,令牌被增加回桶中。如果令牌桶变为负的,那么该BLT被调度器认为 对于传输来说不合格。然后,该BLT被放在实时日程表(RTC)中,以使 得在将来的某个规定时间,可以使该BLT对于传输来说合格。图3是示出利用这里所描述的系统对流量流进行整形的过程示例的流 程图。在步骤300,从物理层高优先级BLT发送流量。物理层的高优先级 BLT 210縮减物理层的低优先级/LFI BLT 212中针对正从高优先级BLT发 送的流量的令牌(步骤302)。因此,高优先级BLT 210通过縮减LFI BLT 212的令牌而从其偷取带宽,并且高优先级BLT被整形为仅仅防止在 端口适配器204上超限运行FIFO。这使得非LFI流量縮减两个令牌计数器 (一个用于其本身, 一个用于其相关LFI (同类)BLT) 。 LFIBLT212检 查其是否具有可用的令牌(步骤306)并且仅在其具有可用的令牌的情况 下传输数据(步骤308和310)。由于逻辑接口与它们的物理相应部分非常相似,它们具有特定的最大 带宽分配,因此高优先级逻辑BLT 214、 216和低优先级逻辑BLT 222、 224的总计不应超过分配给逻辑接口的最大带宽。为了防止这样,高优先 级逻辑BLT 214、 216具有分别指向相应的低优先级逻辑BLT 222、 224的 指针,如图2所示。高优先级逻辑BLT 214、 216縮减其镜像的低优先级 逻辑BLT222、 224的令牌,以防止逻辑接口的总带宽超过其限制。这里所描述的系统和方法也可以用作管制机制。例如,可以使多个管 制流穿到单个管制器,而同时允许这些流中的一个或多个不受管制器限 制。上述过程仅假设用于优先级流量的单个级别的优先级。然而,可能存
在多个优先级级别。这个通过提供多个优先级子树来解决,多个优先级子 树中的每一个对应于一个优先级级别。然后,指针将从所有的优先级子树 延伸到单个非优先级子树。图4示出了网络设备400,网络设备400可以用于实现操作图2所示 的层级结构和图3的调度技术的设备。在一个实施例中,网络设备400是 可编程机器,该可编程机器可以用硬件、软件或者其任何组合来实现。处 理器402执行存储在程序存储器404中的代码。程序存储器404是计算机 可读介质的一个示例。程序存储器404可以是易失性存储器。存储相同代 码的计算机可读介质的另一种形式将是非易失性存储装置,例如软盘、 CD-ROM、 DVD-ROM、硬盘、闪存等等。携带穿越网络的代码的载波是 计算机可读介质的另一示例。网络设备400通过多个线路卡406与物理介质接口 。线路卡406可以 包含以太网接口、 DSL接口、吉比特以太网接口、 IO吉比特以太网接口、 SONET接口等等。当分组是通过网络设备400而接收、处理和转发时,它 们可以被存储在分组存储器408中。网络设备400实现本发明所提供的所 有调度特征。分组传输操作可以部分地或者完全发生在其中一个线路卡406中。为 了实现根据本发明的功能,线路卡406可以包含与上面所讨论的那些类似 的处理和存储器资源,这些资源与网络设备结合为一个整体。从上述内容可以观察到,这里所描述的方法和系统具有许多优点。如 前所述,两个流量流被保持分开,直到它们实际在物理介质上被传输。这 种分开允许较高的保障级别,即保证正确的传输/QoS策略可以被独立地应 用于流量流。 一旦流被结合到单个排队实体中,就难以施加控制以允许希 望的传输行为了。要了解到这里所描述的示例和实施例仅用于说明目的,根据其的各种 修改和改变将被暗示给本领域技术人员,因此包括在本申请的精神和范围 内以及所附权利要求书的范围和它们的等同物的全部范围内。
权利要求
1.一种对多级排队层级结构中的流量进行整形的方法,该层级结构包括高优先级信道和低优先级信道,其中所述低优先级信道上的流量被分段并与来自所述高优先级信道的流量交织,并且从所述高优先级信道和低优先级信道组合成的流量具有最大形状速率,所述方法包括将高优先级令牌桶链接到低优先级令牌桶;从所述高优先级信道传输数据,并且将所述低优先级令牌桶缩减与所传输的数据相对应的量;以及仅在所述低优先级桶具有可用令牌的情况下从所述低优先级信道传输数据。
2. 如权利要求1所述的方法,其中,从所述高优先级信道传输数据包 括不管所述高优先级令牌桶的状态如何都传输数据。
3. 如权利要求1所述的方法,其中,流量的分段和交织在硬件中执行。
4. 如权利要求1所述的方法,其中,所述高优先级信道和低优先级信 道在共享的端口适配器处被组合。
5. 如权利要求1所述的方法,其中,所述高优先级信道和低优先级信 道包括带宽受限流量流。
6. 如权利要求1所述的方法,其中,所述层级结构包括三层。
7. 如权利要求6所述的方法,其中,所述层级结构包括物理层、逻辑 层和类层。
8. 如权利要求1所述的方法,还包括每个信道将延伸信道流控制信息 状态报告给各自的物理层节点。
9. 如权利要求1所述的方法,还包括将系统分组接口端口级别流控制 报告给物理层节点。
10. —种对多级排队层级结构中的流量进行整形的系统,该层级结构 包括高优先级信道和低优先级信道,其中从所述高优先级信道和低优先级 信道组合成的流量具有最大形状速率,所述系统包括整形设备,该整形设备包括在高优先级设备和低优先级设备之间共享 的实时令牌桶,该令牌桶具有与所述最大形状速率相对应的填充速率,所 述整形设备被配置为将所述令牌桶縮减与从所述高优先级信道和低优先级 信道传输的数据相对应的量;其中,仅在所述令牌桶具有可用令牌的情况下从所述低优先级信道传 输数据,并且不管令牌可用性如何都从所述高优先级信道传输数据。
11. 如权利要求IO所述的系统,其中,所述高优先级信道和低优先级 信道在共享的端口适配器处被组合。
12. 如权利要求IO所述的系统,其中,所述高优先级信道和低优先级信道包括带宽受限流量流。
13. 如权利要求IO所述的系统,其中,所述层级结构包括物理层、逻 辑层和类层。
14. 如权利要求13所述的系统,其中,高优先级逻辑节点包括指向至 少一个低优先级逻辑节点的指针。
15. —种对多级排队层级结构中的流量进行整形的计算机程序产品, 该层级结构包括高优先级信道和低优先级信道,其中所述低优先级信道上 的流量被分段并与来自所述高优先级信道的流量交织,并且从所述高优先级信道和低优先级信道组合成的流量具有最大形状速率,所述产品包括使得将高优先级令牌桶链接到低优先级令牌桶的代码;使得从所述高优先级信道传输数据并且将所述低优先级令牌桶縮减与 所传输的数据相对应的量的代码;以及使得仅在所述低优先级桶具有可用令牌的情况下从所述低优先级信道 传输数据的代码;以及存储这些代码的计算机可读介质。
16. 如权利要求15所述的产品,其中,使得从所述高优先级信道传输 数据的代码包括使得不管所述高优先级令牌桶的状态如何都传输数据的代 码。
17. 如权利要求15所述的产品,还包括将延伸信道流控制信息状态报 告给相应物理层节点的代码。
18. —种对多级排队层级结构中的流量进行整形的系统,该层级结构包括高优先级信道和低优先级信道,其中所述低优先级信道上的流量被分 段并与来自所述高优先级信道的流量交织,并且从所述高优先级信道和低优先级信道组合成的流量具有最大形状速率,所述系统包括 用于将高优先级令牌桶链接到低优先级令牌桶的装置;用于从所述高优先级信道传输数据并且将所述低优先级令牌桶縮减与所传输的数据相对应的量的装置;以及用于仅在所述低优先级桶具有可用令牌的情况下从所述低优先级信道 传输数据的装置。
19. 如权利要求18所述的系统,还包括用于在共享的端口适配器处组 合所述高优先级信道和低优先级信道的装置。
20. 如权利要求18所述的系统,还包括用于管制所述高优先级信道和 低优先级信道上的数据的装置。
全文摘要
公开了一种对多级排队层级结构中的流量进行整形的方法和系统。该层级结构包括高优先级信道和低优先级信道,其中低优先级信道上的流量被分段并与来自高优先级信道的流量交织,并且从高优先级信道和低优先级信道组合成的流量具有最大形状速率。所述方法包括将高优先级令牌桶链接到低优先级令牌桶,从高优先级信道传输数据并且将低优先级令牌桶缩减与所传输的数据相对应的量。仅在低优先级桶具有可用令牌的情况下从低优先级信道传输数据。
文档编号H04L12/28GK101151846SQ200680001731
公开日2008年3月26日 申请日期2006年2月6日 优先权日2005年2月28日
发明者巴瑞·S·伯恩斯, 布雷恩·希特施尔, 提姆·韦伯斯特, 穆罕默德·伊尔马尔·踏塔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1