网络设备中带流量控制的快速分发网帧的方法

文档序号:7687295阅读:210来源:国知局
专利名称:网络设备中带流量控制的快速分发网帧的方法
技术领域
本发明涉及一种网络数据传输技术,尤其涉及一种网络设备中带流量控制的快速分发网帧的方法。
目前技术中,处理分发以太网帧的过程主要有两种一种处理过程如

图1所示,该方法在每个以太网接口都设有一个接收队列,以对以太网接口接收的以太网帧进行流量统计,进而便于路由器进行流量控制,然后,该以太网帧再加入相应的协议队列。这种处理方法使每个以太网帧到达协议层之前必须入两次队列,产生两次软件中断,因此,增加了以太网帧的处理环节,影响了以太网帧的分发速度。
另一种以太网帧的处理过程如图2所示,相对于上述方法,该方法没有针对以太网接口的接收队列,而是直接将分析后的以太网帧加入协议队列;每个以太网帧到达协议层之前只要入一次队列,产生一次软件中断。虽然该方法没有增加以太网帧的处理环节,但却无法实现对以太网接口进行可靠的流量控制,进而不能有效保护路由器,使之不处于超负荷工作状态。
本发明的目的是这样实现的网络设备中带流量控制的快速分发网帧的方法包括如下步骤(1)网络设备接收网帧;(2)将该网帧计入对应的虚拟接口队列,并根据需要调整与该虚拟接口队列对应的网络设备接口的工作状态;(3)根据网帧的协议类型将其加入相应的协议队列;(4)将该网帧进行分析处理后从协议队列中取出并分发;(5)对该网帧对应的虚拟接口队列中的网帧总量进行调整,并根据需要调整与该虚拟接口队列对应的网络设备接口的工作状态。
所述步骤(1)中的网络设备为路由器的以太网设备,所接收的网帧为以太网帧,步骤(5)中的网帧总量为以太网帧总量。
所述的步骤(2)具体步骤为(21)读取以太网帧的入接口信息;(22)根据该以太网帧的入接口信息确定与其对应的虚拟接口队列;
(23)判断虚拟接口队列中的以太网帧的总量是否大于设定的关阈值;(24)如果大于设定的关阈值,则丢弃该以太网帧,并禁止网络设备中该虚拟接口队列对应的以太网接口继续接收以太网帧;(25)如果小于设定的阈值,则允许该以太网帧加入虚拟接口队列,并将该虚拟接口队列中的以太网帧的总量加1。
所述的步骤(5)具体步骤为(51)确定所分发的以太网帧的入接口信息;(52)根据该入接口信息确定与该以太网帧对应的虚拟接口队列;(53)将该虚拟接口队列中的以太网帧的总量减1;(54)判断该虚拟接口队列中的以太网帧总量是否小于设定的开阈值,如果小于设定的开阈值,则令该以太网接口为允许接收以太网帧状态,否则,不做处理。
所述的虚拟接口队列为针对网络设备的以太网接口所创建的计数器。
步骤(3)所述的将以太网帧加入相应的协议队列是将结构形式为MBUF(一种存贮数据信息的数据结构)的以太网帧加入相应的协议队列。
MBUF结构的以太网帧中保存着以太网帧的内容及以太网帧的入接口信息。
步骤(5)中的以太网帧总量是指从以太网接口接收的并且被加入到各协议队列的,但还未从协议队列中取出的以太网帧总量。
由上述技术方案可以看出,本发明针对路由器等网络设备的以太网接口建立了一个虚拟接口队列,利用该虚拟接口队列对从该以太网接口接收的以太网帧进行流量统计,使路由器可以根据自身的处理能力控制以太网帧始终处于合理的流量状态,从而可避免路由器因流量超过了自身的处理能力而导致无法正常工作,提高了路由器在大流量数据长时间冲击下的稳定性。本发明中采用了虚拟接口队列对以太网帧的流量进行统计的方法使以太网帧在到达协议层之前只需入一次队列,产生一次软件中断,减少了对以太网帧进行分发过程中的处理环节,从而增加网络设备对以太网帧的分发速度,即提高了路由器的处理速度。
本发明所提供的技术方案实现流量控制策略的关键在于提出了以太网虚拟接口队列的机制。
图3中的协议队列不是针对接口的队列,而是针对协议的队列,即来自不同以太网接口的同一种协议的报文将进入同一个协议队列;并且,加入到协议队列的以太网帧是以MBUF(一种存贮数据信息的数据结构)的结构形式进行加入的,MBUF结构不仅可以保存以太网帧,同时还标明了该帧来自哪个接口。
为了实现以太网虚拟的接口队列,我们在每个接口上创建一个全局的计数器,即接口虚拟队列长度,用于纪录从该以太网接口接收的并且被加入到各协议队列的同时还未从协议队列中取出的以太网帧的总量。每当把帧加入到协议队列时,接口虚拟队列长度就加1;每当把帧从协议队列中取出时,即从MBUF结构中取出,根据MBUF结构所标明的该帧的入接口信息,即该帧来自哪个接口,将该帧对应的接口虚拟队列长度减1。有了这个计数器,我们就知道当前从某个以太网接口接收的没有被协议层及时处理被保存在队列中的帧的数量,这样便有了一个针对接口的接收队列,但是实际上该队列并不存在,因此称这个队列是接口虚拟队列,所创建的计数器统计的是接口虚拟队列长度。
有了虚拟接口队列和虚拟接口队列长度,针对接口进行流量控制就可以实现了。我们可以通过最简单的阈值流控实现本发明每个接口都有一个开阈值和一个关阈值;每当在硬件中断中,把帧加入到协议队列之前,判断虚拟接口队列长度是否大于关阈值,如果虚拟接口队列长度大于关阈值,就丢弃该帧,并且禁止相应以太网接口接收,这样该接口就暂时不会再产生以太网硬件接收中断;每当在协议层软件中断中,把帧从协议队列中取出后,判断虚拟接口队列长度是否小于开阈值,如果接口队列长度小于开阈值,就允许以太网接口接收,这样就可重新产生以太网硬件接收中断,这样便在接口虚拟队列上实现了真实而有效的的流量控制。
本发明中针对路由器的以太网设备所接收的以太网帧的具体处理流程如下,参见图4步骤1路由器的以太网设备接收到完整的以太网帧;步骤2读取所接收的以太网帧的入接口信息;步骤3根据以太网帧的入接口信息确定与其对应的虚拟接口队列;步骤4判断虚拟接口队列中的以太网帧的总量是否大于设定值,即关阈值,如果大于关阈值,执行步骤5,否则,执行步骤6;步骤5丢弃该以太网帧,并禁止网络设备中该以太网接口继续接收以太网帧;步骤6将该虚拟接口队列中的以太网帧的总量加1步骤7根据以太网帧的协议类型将其加入相应的协议队列;步骤8将该以太网帧进行分析处理后从协议队列中取出并分发;步骤9读取所分发的以太网帧的入接口信息;步骤10根据该入接口信息确定与该以太网帧对应的虚拟接口队列;
步骤11将该虚拟接口队列中的以太网帧的总量减1;步骤12判断该虚拟接口队列的以太网帧总量是否小于开阈值,如果小于开阈值,则执行步骤13,否则,执行步骤14;步骤13令该以太网接口为允许接收以太网帧状态;步骤14不做处理,令该以太网接口保持禁止接收以太网帧的状态。
通过上述针对路由器的以太网设备所接收的完整的以太网帧的具体处理过程,实现了对带流量控制的以太网帧的快速分发。另外,上述处理过程中的关阈值和开阈值可以采用相同的值,也可以采用不同的值。
权利要求
1.一种网络设备中带流量控制的快速分发网帧的方法,其特征在于,该方法包括如下步骤(1)网络设备接收网帧;(2)将该网帧计入对应的虚拟接口队列,并根据需要调整与该虚拟接口队列对应的网络设备接口的工作状态;(3)根据网帧的协议类型将其加入相应的协议队列;(4)将该网帧进行分析处理后从协议队列中取出并分发;(5)对该网帧对应的虚拟接口队列中的网帧总量进行调整,并根据需要调整与该虚拟接口队列对应的网络设备接口的工作状态。
2.根据权利要求1所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于所述步骤(1)中的网络设备为路由器的以太网设备,所接收的网帧为以太网帧,步骤(5)中的网帧总量为以太网帧总量。
3.根据权利要求2所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于所述的步骤(2)具体步骤为(21)读取以太网帧的入接口信息;(22)根据该以太网帧的入接口信息确定与其对应的虚拟接口队列;(23)判断虚拟接口队列中的以太网帧的总量是否大于设定的关阈值,(24)如果大于设定的关阈值,则丢弃该以太网帧,并禁止网络设备中该虚拟接口队列对应的以太网接口继续接收以太网帧;(25)如果小于设定的阈值,则允许该以太网帧加入虚拟接口队列,并将该虚拟接口队列中的以太网帧的总量加1。
4.根据权利要求3所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于所述的步骤(5)具体步骤为(51)确定所分发的以太网帧的入接口信息;(52)根据该入接口信息确定与该以太网帧对应的虚拟接口队列;(53)将该虚拟接口队列中的以太网帧的总量减1;(54)判断该虚拟接口队列中的以太网帧总量是否小于设定的开阈值,如果小于设定的开阈值,则令该以太网接口为允许接收以太网帧状态,否则,不做处理。
5.根据权利要求2所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于所述的虚拟接口队列为针对网络设备的以太网接口所创建的计数器。
6.根据权利要求2所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于步骤(3)所述的将以太网帧加入相应的协议队列是将结构形式为MBUF(一种存贮数据信息的数据结构)的以太网帧加入相应的协议队列。
7.根据权利要求6所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于MUBF结构的以太网帧中保存着以太网帧的内容及以太网帧的入接口信息。
8.根据权利要求2所述的网络设备中带流量控制的快速分发网帧的方法,其特征在于步骤(5)中的以太网帧总量是指从以太网接口接收的并且被加入到各协议队列的,但还未从协议队列中取出的以太网帧总量。
全文摘要
本发明涉及一种网络设备中带流量控制的快速分发网帧的方法。包括对于网络设备接收的网帧,首先,根据网帧的入接口信息将其计入对应的虚拟接口队列,并调整与该虚拟接口队列对应的网络设备接口的工作状态;然后,将网帧加入相应的协议队列进行分析处理后取出并分发,并对该网帧对应的虚拟接口队列中的网帧总量进行调整,同时调整与该虚拟接口队列对应的网络设备接口的工作状态。本发明可避免路由器因流量超过自身的处理能力而使其无法正常工作,提高了路由器在大流量数据长时间冲击下的稳定性。同时,本发明还可以减少对以太网帧进行分发过程中的处理环节,增加网络设备对以太网帧的分发速度,从而提高路由器的处理速度。
文档编号H04Q3/64GK1412999SQ0211784
公开日2003年4月23日 申请日期2002年5月22日 优先权日2002年5月22日
发明者唐正斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1