一种防止数据流拥塞的方法

文档序号:7626633阅读:318来源:国知局
专利名称:一种防止数据流拥塞的方法
技术领域
本发明涉及一种在网络设备中防止数据流过大而造成拥塞的方法。其中涉及到各种使用ASIC芯片的网络设备,包括路由器和交换机等。
背景技术
现实中网络情况越来越复杂,其中有很多报文是送往CPU的,很容易导致拥塞。其后果一是占用大量CPU资源,二是可能造成重要报文丢失或者处理不及时。
目前最常用的方法是采样不同优先级队列调度。重要的数据包存放在高优先级队列中确保能够及时处理。然而实际中这样仍有两个不足第一是因为正常情况下,要保护的重要包(如协议报文)并不是很多,而普通数据包数量要高出几个数量级,因此这种方法并不能解决CPU资源被大量占用的问题;第二是很多重要信息是包含在普通数据包中的(如单播ARP),还有某些协议必须靠流驱动(如组播协议),这些数据包数目流量大,而它们都是在同一个低优先级,可能导致某些信息被淹没。实际中,正是这些低优先级的数据包造成了拥塞。而如何防止这些数据流拥塞产生,现有技术没有给出一个可行的方法。

发明内容
本发明要解决的技术问题是,针对目前优先级队列调度的不足而提出一种新的防止数据流拥塞的有效方法,该方法能够使CPU按照自己的节奏有选择地容许某些数据报文进入,从而确保拥塞不产生,并保证重要报文不会被淹没。
本发明的一种防止数据流拥塞的有效方法,它包括以下步骤1、单独设置一个调度任务;该任务保留需要上送的普通数据报文信息,根据系统实际情况,对于高优先级的报文(如各种协议报文)可以不参与管理;2、调度基于时间片;每到一个时间片,任务根据需要开启某一个或几个上送数据包的开关,以控制普通数据报文上送CPU的节奏。
上述方法中,为每一类数据报文分别设置一个上送开关;
上述方法中,时间片的长度可以根据CPU处理数据报文的能力或者系统要求调整;从CPU角度看,这种调动确保不会产生无限制的数据包涌入。
上述方法中,对时间片加权,以保证某些类数据报文不被丢失;实际情况中,用作驱动作用的数据流报文往往只需要上送很少几个就行了,但数据流本身速率却很高,这种方式能够确保不会有过多重复包进入。
与现有技术相比,本发明方法能够保证CPU不被无限制的数据包拥塞,同时不会淹没重要信息。本方法不涉及高优先级报文的处理,因此对高优先级报文不会造成任何影响。加强了产品的稳定性。


图1是收包调动任务流程图。
具体实施例方式
下面结合图1所示收包调度任务的实施例,具体说明本方法。
参照图1,本方法主要有以下步骤1、交换机开启一个收包调度任务;2、当交换机需要某一种数据包时,首先通知调度任务;3、调度任务登记该类数据包,并根据要求设置时间片长度;4、当时间片到时,调度任务开启这类包的接受开关,这个时间段内,此类数据包都能交到CPU;5、时间片满后,调度任务关闭此接受开关,此时这类数据包将被丢弃,直到下一个时间片到来。
权利要求
1.一种防止数据流拥塞的方法,其特征在于,它包括以下步骤1)单独设置一个调度任务;该任务保留需要上送的数据报文信息,根据系统实际情况,对于高优先级的报文参与管理或不参与管理;2)调度基于时间片;每到一个时间片,任务根据需要开启某一个或几个上送数据包的开关,以控制数据报文上送CPU的节奏。
2.根据权利要求1所述的防止数据流拥塞的方法,其特征在于,为每一类数据报文分别设置一个上送开关。
3.根据权利要求1所述的防止数据流拥塞的方法,其特征在于,所述时间片的长度根据CPU处理数据报文的能力或者系统要求调整。
4.根据权利要求1所述的防止数据流拥塞的方法,其特征在于,对所述时间片加权,以保证某些类数据报文不被丢失。
全文摘要
本发明提出一种防止数据流拥塞的方法,它包括1.单独设置一个调度任务;该任务保留需要上送的普通数据报文信息,根据系统实际情况,对于高优先级的报文可以不参与管理;2.调度基于时间片;每到一个时间片,任务根据需要开启某一个或几个上送数据包的开关,以控制普通数据报文上送CPU的节奏。本发明方法能够保证CPU不被无限制的数据包拥塞,同时不会淹没重要信息。本方法不涉及高优先级报文的处理,因此对高优先级报文不会造成任何影响。加强了产品的稳定性。
文档编号H04L12/56GK1956411SQ200510116730
公开日2007年5月2日 申请日期2005年10月28日 优先权日2005年10月28日
发明者范力涵 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1