[发明专利]组播流控方法、系统及现场可编程门阵列有效
申请号: | 200810118195.4 | 申请日: | 2008-08-14 |
公开(公告)号: | CN101340393A | 公开(公告)日: | 2009-01-07 |
发明(设计)人: | 孟丹;张德宁;邓新红 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L12/18 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组播流控 方法 系统 现场 可编程 门阵列 | ||
技术领域
本发明涉及组播技术领域,具体涉及组播流控方法、系统及现场可编程门阵列(FPGA,Field Programmable Gate Array)。
背景技术
在采用交换网技术的高性能分布式设备中,需要借助流控技术控制入接口发送报文的速率,保证交换网不发生拥塞丢包。
图1为单播报文板间转发系统模型,如图1所示,单播报文从两个入接口板LPU_a和LPU_b发出,经过交换网到达出接口板LPU_c。定义数据流从入接口板到交换网为上行阶段,定义数据流从交换网到出接口板为下行阶段。下行出接口板参考各个入接口板的实际流量,将出口带宽公平分配给各个上行入接口板,上行入接口板根据分配到的带宽调度单播报文发送给下行出接口板。这套调度机制由接口板中的FPGA实现,采用的是下行驱动上行的模式,可以避免上行不受控制地发送流量给同一个下行出接口板,而导致交换网在该下行出接口板处发生拥塞,进而导致丢包。
FPGA单播调度方式如图2所示,具体如下:
01:入接口板的FPGA在本板的报文缓存中,为每个出接口板划分一个单播队列,每个队列内部再进一步根据优先级划分为多个子队列。同时,FPGA为每个出接口板维护一个令牌桶,令牌桶中的令牌数定时递增,每次递增的令牌数由出接口板的出口带宽决定。
当某个出接口板的出口带宽增加时,该出接口板会通知各入接口板增大该出接口板对应的令牌桶定时递增的令牌数;当某个出接口板的出口带宽减少时,该出接口板会通知各入接口板减少该出接口板对应的令牌桶定时递增的令牌数。
02:上行调度时,入接口板的FPGA根据出接口板序号在单播队列之间进行轮询,若某个队列中有报文,则进一步在该队列的子队列之间基于优先级选择报文。
优先选择高优先级子队列中的报文,若高优先级子队列为空,则选择低优先级子队列中的报文。
03:在发送被选择的报文之前进行令牌评估,当报文的出接口板对应的令牌桶中有令牌时,将报文发送到交换网;否则,废弃本次选择的报文,继续轮询下一个队列。
交换网本身支持组播复制,其内部有二层组播表,可以基于组播ID将报文复制到多个出接口板。由于组播报文要发往多个下行出接口板,因此,无法通过一个出接口板的带宽给组播报文确定带宽。目前,组播板间转发有三种模式:
模式一:
上行发送组播板间报文时,由CPU负责对组播报文进行复制,将复制后的多份报文通过交换网分发给不同的出接口板。
模式二:
采用带流控功能的交换芯片,这类交换芯片大多将报文缓存、队列管理、队列调度和交换网集成在一起。组播报文从报文缓存中读出后,被复制成多份,根据出接口板的不同送到队列管理模块的不同队列,和单播报文一起排队等待调度,被调度后通过交换网送到不同的出接口板。
模式三:
采用支持组播复制的交换网。如图3所示,组播报文从入接口板LPU_a发出,经过交换网复制发送到两个出接口板LPU_b和LPU_c。在该模式下的交换网,其单播流控算法比较完备,通过下行带宽分配来驱动上行单播报文调度,但是因为组播报文对应多个出接口板,无法使用下行驱动上行调度的模式,只能采用上行分配固定带宽并辅助考虑下行剩余带宽的方式。
模式一和模式二类似,都是在上行进行组播复制,交换网只是起到报文交换的作用。因为复制发生在进入交换网之前,一份组播报文在进入交换网时已经变成多份,增加了交换网的负担,而且无法利用交换网的组播复制功能。另外模式一受CPU处理能力的限制和复制报文时内存访问瓶颈的影响,性能比较低。
模式三对单播报文有非常好的流控效果,但是因为下行带宽使用情况只是组播调度的一个参考,主要靠上行分配固定带宽给组播报文,组播报文的流控效果比较差,可能会导致交换网因为内部缓冲区溢出而丢包,而导致本来有流控的单播报文也被丢弃。
发明内容
本发明提供组播流控方法、系统及FPGA,以在采用交换网技术的分布式环境中,提高组播流控性能。
本发明的技术方案是这样实现的:
一种组播流控方法,应用在采用交换网技术的分布式环境中,入接口板为每个出接口板设置一个单播队列,入接口板单独设置一个组播队列,该方法包括:
入接口板将接收到的组播报文缓存到组播队列;
入接口板对组播队列和所有出接口板的单播队列进行轮询,若轮询结果为组播报文,则在组播报文的出接口板中,选择具有可用带宽的出接口板,将组播报文发送给所选择的出接口板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810118195.4/2.html,转载请声明来源钻瓜专利网。