一种流控方法和装置制造方法及图纸

技术编号:8836722 阅读:170 留言:0更新日期:2013-06-22 22:09
本发明专利技术公开了一种流控方法,应用于包括多转发核的网络设备中,该方法包括:任一转发核接收到未知组播报文时,查找该未知组播报文对应的trap表项,若未查找到该未知组播报文对应的trap表项,则为该未知组播报文创建trap表项,并将该未知组播报文上送进行组播协议进程处理的控制核;若查找到该未知组播报文对应的trap表项,则确定该未知组播报文上送进行组播协议进程处理的转发核的速率是否高于预设速率阈值,如果是,将该未知组播报文丢弃;否则,将该未知组播报文上送进行组播协议进程处理的控制核。基于同样的发明专利技术构思,本发明专利技术还提出一种装置,能够防止大量的未知组播报文上送进行组播协议进程处理的控制核。

【技术实现步骤摘要】
一种流控方法和装置
本专利技术涉及通信
,特别涉及一种流控方法和装置。
技术介绍
随着IP网络的高速发展,组播技术的应用也越来越广泛,同时对CPU的处理能力也提高了要求,因此伴随着多核的网络设备的广泛应用。由于组播数据流量有时会非常大,在组播转发表项下发之前,会有大量的未知组播报文被上送CPU进行组播协议进行处理,尤其是同一未知组播流量的大量报文在其转发表项由CPU下发之前会重复上送CPU处理,使CPU接收大量无效报文,导致CPU负担过重。
技术实现思路
有鉴于此,本专利技术提供一种流控方法和装置,能够防止大量的未知组播报文上送进行组播协议进程处理的控制核,降低处理未知组播报文的负担。为解决上述技术问题,本专利技术的技术方案是这样实现的:一种流控方法,应用于包括多转发核的网络设备中,所述方法包括:任一所述转发核接收到未知组播报文时,查找该未知组播报文对应的trap表项,若未查找到该未知组播报文对应的trap表项,则为该未知组播报文创建trap表项,并将该未知组播报文上送进行组播协议进程处理的控制核;若查找到该未知组播报文对应的trap表项,则确定该未知组播报文上送进行组播协议进程处理的控制核的速率是否高于预设速率阈值,如果是,将该未知组播报文丢弃;否则,将该未知组播报文上送进行组播协议进程处理的控制核。一种流控装置,所述装置包括:接收单元、查找单元、创建单元、确定单元和处理单元;所述接收单元,用于接收未知组播报文;所述查找单元,用于当所述接收单元接收到未知组播报文时,查找该未知组播报文对应的trap表项;所述创建单元,用于当所述查找单元未查找到该未知组播报文对应的trap表项时,为该未知组播报文创建trap表项;所述确定单元,用于当所述查找单元查找到该未知组播报文对应的trap表项时,确定该未知组播报文上送进行组播协议进程处理的控制核的速率是否高于预设速率阈值;所述处理单元,用于当所述创建单元为该未知组播报文创建trap表项后;或,当所述确定单元确定该未知组播报文上送进行组播协议进程处理的控制核的速率不高于预设速率阈值时,将该未知组播报文上送进行组播协议进程处理的控制核;当所述确定单元确定该未知组播报文上送进行组播协议进程处理的控制核的速率低于预设速率阈值时,将该未知组播报文丢弃。综上所述,本专利技术通过对网络设备中的各转发核接收的未知组播报文进行trap表项匹配,已经建立了trap表项的未知组播报文需确定其上送进行组播协议进程处理的转发核的速率进行判断,对于上送速率小的未知组播报文上送,上送速率大的未知组播报文直接丢弃。能够防止大量的未知组播报文上送进行组播协议进程处理的转发核。附图说明图1为本专利技术实施例中流控方法流程示意图;图2为本专利技术具体实施例中控制未知组播报文上送进行组播协议进程处理的控制核的流程示意图;图3为本专利技术具体实施例中流控装置结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。本专利技术提出一种流控方法,通过包括多个转发核的网络设备实现控制未知组播报文上送进行组播协议进程处理的控制核。该网络设备中任一转发核处理未知组播报文流程一致,下面通过任一转发核的处理来说明本专利技术是如何进行流控的。参见图1,图1为本专利技术实施例中流控方法流程示意图。具体步骤包括:步骤101,任一转发核接收到未知组播报文。步骤102,该转发核是否查找到该未知组播报文对应的trap表项,如果是,执行步骤103;否则,执行步骤104。步骤103,确定该未知组播报文上送进行组播协议进程处理的控制核的速率是否高于预设速率阈值,如果是,执行步骤106;否则,执行步骤105。本步骤中的控制核,可以同多转发核在一个设备上,也可以同转发核在不同设备上。步骤104,为该未知组播报文创建未知组播业务报文上交限速表项(trap表项)。步骤105,将该未知组播报文上送进行组播协议进程处理的控制核。该流程结束。步骤106,将该未知组播报文丢弃。步骤104之后步骤105之前,将该转发核的trap表项个数加1;步骤104中为该未知组播报文创建trap表项之前,该方法进一步包括:确定该转发核的trap表项个数是否大于预设门限值,如果是,执行步骤106;否则,执行步骤104。步骤104中为该未知组播报文创建的trap表项包括该未知组播报文的源地址、组地址、VRF和转发核ID;步骤102中查找该未知组播报文对应的trap表项的方法为:根据接收的该未知组播报文的转发核ID对应的trap表项,通过源地址、组地址、VRF进行匹配,都匹配则确定查找到该未知组播报文对应的trap表项;否则,确定未查找到该未知组播报文对应的trap表项。即源地址、组地址、VRF任意一项不一致则认为不匹配。为该未知组播报文创建trap表项,并将该报文上送进行组播协议进程处理的控制核之后,该方法进一步包括:将该trap表项的更新标志位置为有效。进行trap表项老化定时,定时到时,遍历该转发核上的所有trap表项,确定任一trap表项的更新标志位是否置为无效,如果是,将置为无效的trap表项放入链表回收队列,并将该转发核的trap表项减少对应放入所述链表回收队列的trap表项数目;否则,将该更新标志位置为无效。该方法进一步包括:进行trap表项回收定时,定时到时,删除该转发核上所述回收队列里的所有trap表项。下面结合附图,详细说明本专利技术具体实施例中如何进行未知组播报文的上送的。参见图2,图2为本专利技术具体实施例中控制未知组播报文上送进行组播协议进程处理的控制核的流程示意图。具体步骤为:步骤201,任一转发核接收组播报文。网络设备接收到组播报文时,根据该组播报文携带的源地址、组地址和VRF进行hash,将hash值与各转发核的ID值匹配,匹配到哪个转发核,哪个转发核就会接收到该组播报文。步骤202,确定接收的组播报文是否为未知组播报文,如果是,执行步骤204;否则,执行步骤203。接收到该组播报文,根据该设备上的所有转发表项中匹配该组播报文携带的源地址、组地址和VRF,匹配到,则根据匹配到的转发表项将该组播报文转发,未匹配到则确定该组播报文为未知组播报文。其中,该设备上的转发表项是进行组播协议进程处理的控制核对未知组播报文进行处理后下发给该设备的转发表项。步骤203,根据该设备上的转发表项转发该组播报文。本流程结束。步骤204,查找trap表项,是否存在该未知组播的trap表项,如果是,执行步骤209;否则,执行步骤205步骤205,确定该转发核的trap表项个数是否大于预设门限值,如果是,执行步骤206;否则,执行步骤210。步骤206,为该未知组播报文创建trap表项,是否创建成功,如果是,执行步骤207;否则,执行步骤210。本步骤中如果内存不足等原因,可能造成trap表项创建不成功。创建的该trap表项存储该未知组播报文的源地址、组地址、VRF和转发核ID。由于本专利技术具体实施例中的网络设备的CPU包括多转发核,因此将创建的新的trap表项挂接到对应转发核的头结点上,因此,在该网络设备启动时需对每个转发核的trap表项进行初始化,即初始化trap表项的头结点,该转发核上创建了新的trap表项相本文档来自技高网...
一种流控方法和装置

【技术保护点】
一种流控方法,应用于包括多转发核的网络设备中,其特征在于,所述方法包括:任一所述转发核接收到未知组播报文时,查找该未知组播报文对应的trap表项,若未查找到该未知组播报文对应的trap表项,则为该未知组播报文创建trap表项,并将该未知组播报文上送进行组播协议进程处理的控制核;若查找到该未知组播报文对应的trap表项,则确定该未知组播报文上送进行组播协议进程处理的控制核的速率是否高于预设速率阈值,如果是,将该未知组播报文丢弃;否则,将该未知组播报文上送进行组播协议进程处理的控制核。

【技术特征摘要】
1.一种流控方法,应用于包括多转发核的网络设备中,其特征在于,所述方法包括:任一所述转发核接收到未知组播报文时,查找该未知组播报文对应的未知组播业务报文上交限速trap表项,若未查找到该未知组播报文对应的trap表项,则为该未知组播报文创建trap表项,并将该未知组播报文上送进行组播协议进程处理的控制核;若查找到该未知组播报文对应的trap表项,则确定该未知组播报文上送进行组播协议进程处理的控制核的速率是否高于预设速率阈值,如果是,将该未知组播报文丢弃;否则,将该未知组播报文上送进行组播协议进程处理的控制核。2.根据权利要求1所述的方法,其特征在于,所述为该未知组播报文创建trap表项之后,所述方法进一步包括:将该转发核的trap表项个数加1;所述为该未知组播报文创建trap表项之前,该方法进一步包括:确定所述转发核的trap表项个数是否大于预设门限值,如果是,丢弃该未知组播报文;否则,执行所述为该未知组播报文创建trap表项及后续步骤。3.根据权利要求2所述的方法,其特征在于,所述为该未知组播报文创建的trap表项包括该未知组播报文的源地址、组地址、VRF和转发核ID;所述查找该未知组播报文对应的trap表项的方法为:根据接收的该未知组播报文的转发核ID对应的trap表项,通过源地址、组地址、VRF进行匹配,都匹配则确定查找到该未知组播报文对应的trap表项;否则,确定未查找到该未知组播报文对应的trap表项。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述为该未知组播报文创建trap表项,并将该报文上送进行组播协议进程处理的控制核之后,所述方法进一步包括:将该trap表项的更新标志位置为有效;进行trap表项老化定时,定时到时,遍历该转发核上的所有trap表项,确定任一trap表项的更新标志位是否置为无效,如果是,将置为无效的trap表项放入链表回收队列,并将该转发核的trap表项个数减少对应放入所述链表回收队列的trap表项数目;否则,将该更新标志位置为无效。5.根据权利要求4所述的方法,其特征在于,所述方法进一步包括:进行trap表项回收定时,定时到时,删除该转发核上所述回收队列里的所有trap表项。6.一种流控装置,其特征在于,所述装置包括:接收单元、查找单元、创建单元、确定单元和处理单元;所述接收单元,用于接收未知组播报文;所述查找单元,用于当所述接收单元接收到未知组播报文时,查找该未...

【专利技术属性】
技术研发人员:张博吴迪赵春刚
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1