一种报文限速的方法和装置与流程

文档序号:11156407阅读:270来源:国知局
一种报文限速的方法和装置与制造工艺
本申请涉及网络通信
技术领域
,特别涉及一种报文限速的方法和装置。
背景技术
:目前由于分布式网络设备由于业务处理能力丰富,转发性能强大等,在网络中广泛应用,其中在分布式网络设备中一般包含主控板和业务板。当业务板接收到报文时,业务板可以将本机报文上传至主控板CPU,由主控板CPU对本机报文进行处理,将业务报文上传至业务板CPU,由业务板CPU对业务报文进行转发处理。由于主控板CPU的处理能力有限,当业务板将本机报文上送大量的本机报文至主控板CPU时,主控板CPU无法正常处理能力范围的本机报文,因此主控板CPU接收到大量的本机报文后,会造成网络瘫痪或者设备脱管等问题。为保证网络的稳定性,因此对于主控板CPU的保护显得十分重要。技术实现要素:有鉴于此,本申请提供一种报文限速的方法和装置,应用于分布式网络设备,提高网络运行时的稳定性。具体地,本申请是通过如下技术方案实现的:一种报文限速的方法,应用于分布式网络设备,所述分布式网络设备包括主控板和至少一个业务板,包括:业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型;将该协议报文添加至与该报文类型对应的限速队列,并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。一种报文限速的装置,应用于分布式网络设备,所述分布式网络设备包括主控板和至少一个业务板,包括:判断单元,用于业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;确定单元,用于如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型;上送单元,用于将该协议报文添加至与该报文类型对应的限速队列,并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。由于将同一协议类型中的各种不同类型的报文添加至不同的限速队列中,并对各种不同类型的协议报文分别设置限速阈值。因此分布式网络设备可以对同一协议类型中的不同类型的协议报文,进行更加细化地控制,从而提高网络运行的稳定性。附图说明图1为本申请一示例性实施例示出的一种报文限速的方法流程图;图2本申请一示例性实施例示出的一种限速队列示意图;图3为本申请一种报文限速装置所在分布式网络设备的一种硬件结构图;图4为请一示例性实施例示出的一种报文限速的装置。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在现有技术中,分布式网络设备包含主控板和至少一个业务板。其中,在该分布式网络设备中存在若干限速队列,每一个限速队列中缓存若干同一协议的协议报文。当业务板接收到协议报文时,业务板可以判断该协议报文的协议类型,然后根据协议类型,将该协议报文添加至与该协议类型对应的限速队列中。由于主控板CPU的处理能力有限,当业务板上送至主控板CPU的大量协议报文数量超过主控板CPU的处理能力时,会导致网络的瘫痪。因此,现有技术中,在分布式网络设备对限速队列设置的限速阈值。当添加任一协议报文至任一限速队列中,导致该限速队列中的协议报文数量超过预设的限速阈值时,可以将该协议报文丢弃。然而,在现有技术中,当该协议中的关键报文被丢弃时,可能会造成该协议业务的异常中断,甚至导致网络故障。比如,当被丢弃的报文是路由协议的保活报文时,可能会导致路由协议的邻居中断与本设备的连接,从而引起网络的路由震荡故障。因此,为了解决现有技术中的问题,本申请提供了一种报文限速的方法和装置,应用于分布式网络设备,通过业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型,并将该协议报文添加至与该报文类型对应的限速队列;并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。由于将同一协议类型中的各种不同类型的报文添加至不同的限速队列中,并对各种不同类型的协议报文分别设置限速阈值。因此分布式网络设备可以对同一协议类型中的不同类型的协议报文,进行更加细化地控制,从而提高网络运行的稳定性。请参见图1,图1为本申请一示例性实施例示出的一种报文限速的方法流程图,应用于分布式网络设备,具体执行以下步骤:步骤101:业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;例如,上述协议报文为路由协议的报文,路由协议包含很多协议,比如OSPF协议、BGP协议。其中,OSPF协议和BGP协议支持多种报文类型,OSPF协议和BGP协议中均包括保活报文和非保活报文两类。步骤102:如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型,并将该协议报文添加至与该报文类型对应的限速队列;并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。在本申请示出的实施方式中,分布式网络设备中包含主控板和至少一个业务板。其中,上述主控板用于对整个分布式网络设备的管理,配置参数的下发以及本机报文的处理。上述业务板用于将接收到的报文进行解析,将本机报文上送至主控板,将业务报文进行转发。另外,在分布式网络设备中预先配置了若干限速队列,其中将无需区分同一协议类型中具体不同报文类型的报文,或者同一协议类型中无法区分出报文类型的报文添加至一个限速队列。将需要区分同一协议类型中具体不同报文类型的报文,根据报文的报文类型,分别添加至不同的限速队列。请参见图2,图2本申请一示例性实施例示出的一种限速队列示意图。在图2中,将同一类型中具体不同报文类型的报文,根据报文的报文类型,分别添加在对应的限速队列中。通常在网络运行中,不同报文类型的报文数量是不相等的,因此在对不同限速队列中限速阈值的设置时,也可以根据需要进行分别设置。在本实施例中,当业务板接收到报文时,业务板可以根据该报文的目的IP地址查找路由表。当目的IP地址为本设备时,则表明该报文为协议报文,然后业务板需要将该报文上送至主控板。当目的IP地址不是本设备时,根据查找到的对应于该报文的转发信息将该报文转发出去。在示出的一种实施方式中,如果该报文为需要上送主控板的协议报文,业务板可以判断该协议报文的协议类型是否支持多种报文类型。比如,该协议报文为路由协议报文时,路由协议支持多种报文类型,包括保活报文和非保活报文。如果该协议报文的协议类型支持多种报文类型,在这样的情况下,业务板可以确定该协议报文属于哪一种报文类型的报文。然后将该协议报文添加至与该协议报文对应的限速队列中。例如,如果该协议报文属于路由协议报文中的保活报文,那么可以将该协议报文添加至保活报文的限速队列中。当将该协议报文添加至对应的限速队列中时,业务板可以判断该限速队列中的报文数量是否超过为该限速队列设置的限速阈值。如果该限速对列中的报文数量超过为该限速队列设置的限速阈值,那么业务板可以将该协议报文丢弃;如果该限速队列中的报文数量未超过为该限速队列设置的限速阈值,那么业务板可以将该协议报文上送至主控板。如果该协议报文的协议类型不支持多种报文类型,在这样的情况下,业务板可以将该协议报文添加至与该协议报文对应的限速队列中。然后业务板可以判断该限速队列中的报文数量是否超过为该限速队列设置的限速阈值。如果该限速对列中的报文数量超过为该限速队列设置的限速阈值,那么业务板可以将该协议报文丢弃;如果该限速队列中的报文数量未超过为该限速队列设置的限速阈值,那么业务板可以将该协议报文上送至主控板。通过这样的方式,将同一协议类型中的各种不同类型的报文添加至不同的限速队列中,并对各种不同类型的协议报文分别设置限速阈值,因此可以对同一种协议报文中的不同类型的报文进行更加细化地控制,从而提高网络运行的稳定性。在本申请提供的技术方案中,所述协议报文的协议类型支持的多种类型的优先级不同。当所述协议报文为路由协议报文时,那么所述优先级高的报文类型为保活报文,优先级低的报文类型为非保活报文。采用这样的方式,业务板可以将优先级更高的协议报文优先上送至主控板,而不被丢弃,将优先级更低的协议报文优先丢弃。由于优先级越高的协议报文,在网络运行中起到的作用更大,因此采用这样的方式,可以提高网络运行的稳定性。以所述协议报文为路由协议报文,其中所述路由协议为OSPF(OpenShortestPathFirst,开放式最短路径优先)和BGP(BorderGatewayProtocol,边界网关协议)为例。首先可以将不同类型的协议划分为两类,其中第一类是不需要区分或者不容易区分具体内部类型的协议的报文,将这样的报文添加至一个限速队列;第二类是将需要区分内部类型的协议的报文;比如OSPF和BGP。因为这两个协议中包含保活报文和非保活报文两种,保活报文对于维持网络运行的稳定性至关重要,因此对于这两个协议的报文,需要将该协议中的保活报文和非保活报文添加至不同的限速队列中。在本例中,将保活报文添加至限速队列1中,将非保活报文添加至限速队列2中。由于不同类型的报文存在优先级,在对限速队列设置限速阈值时,可以根据不同报文类型的报文数量对各限速队列进行限速阈值的设定。比如,由于保活报文的数量比较少,非保活报文的数量比较多,因此限速队列1的限速阈值要比限速队列2的限速阈值要小一些。当分布式网络设备的业务板接收到对端分布式网络设备发送的报文时,如果该报文为本机报文,那么业务板需要将该报文上送至主控板。当将该报文上送主控板时,业务板可以先判断该报文是本例中所述的第一类报文还是第二类报文。如果该报文是第一类报文,那么将该报文添加至与第一类报文对应的限速队列。如果该报文是第二类报文,在本例中,即为OSPF和BGP协议报文,那么需要进一步判断该报文是否是保活报文。对于判断OSPF协议报文是否是保活报文,可以通过判断OSPF首部的TYPE字段是否是1,如果是,说明是HELLO报文(即为保活报文);如果否,说明是非保活报文。对于判断BGP协议报文是否是保活报文,可以通过判断BGP首部的TYPE字段是否是4,如果是,说明是KEEPALIVE报文(即为保活报文);如果否,说明是非保活报文。如果该报文是保活报文,那么将该报文添加至限速队列1;如果该报文是非保活报文,那么将该报文添加至限速队列2。请参见表1,表1为本申请一示例性实施例示出的路由协议的限速队列示意表。BBBBBBBBA表1按照现有技术,OSPF协议报文或者BGP报文直接添加至路由协议对应的限速队列。其中,表1中的B为非保活报文,A为保活报文。当该限速队列中的报文数量超过预设的限速阈值时,那么设备会将保活报文A丢弃,那么会影响网络运行的稳定性,甚至出现网络故障。请参见表2,表2为本申请一示例性实施例示出的限速队列1的示意表。请参见表3,表3为本申请一示例性实施例示出的限速队列2的示意表。A表2BBBBBBBB表3按照本申请提供的技术方案,由于报文A是保活报文,所以业务板需要将报文A添加至表2所示的限速队列1中;由于报文B是非保活报文,所述业务板将报文B添加至表3所示的限速队列2中。当业务板接收到大量的报文B后,导致限速队列中的报文数量超过了预设的限速阈值时,设备会将后续添加至限速队列中的报文丢弃,由于报文A添加至另一限速队列,因此业务板并不会将报文A丢弃,从而可以维持网络运行的稳定性。由以上本申请提供的技术方案可见,通过业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型,并将该协议报文添加至与该报文类型对应的限速队列;并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。由于将同一协议类型中的各种不同类型的报文添加至不同的限速队列中,并对各种不同类型的协议报文分别设置限速阈值。因此分布式网络设备可以对同一协议类型中的不同类型的协议报文,进行更加细化地控制,从而提高网络运行的稳定性。与前述一种报文限速的方法的实施例相对应,本申请还提供了一种报文限速的装置的实施例。本申请一种报文限速的装置的实施例可以应用在分布式网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在分布式网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请一种报文限速装置所在分布式网络设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的分布式网络设备通常根据该报文限速的实际功能,还可以包括其他硬件,对此不再赘述。请参考图4,图4为请一示例性实施例示出的一种报文限速的装置,应用于分布式网络设备,所述分布式网络设备包括主控板和至少一个业务板,所述装置包括:判断单元410,确定单元420,上送单元430。其中,所述判断单元410,用于业务板在将接收到的协议报文上送主控板时,判断所述协议报文的协议类型是否支持多种报文类型;所述确定单元420,用于如果所述协议报文的协议类型支持多种报文类型,确定所述协议报文的报文类型;所述上送单元430,用于将该协议报文添加至与该报文类型对应的限速队列,并在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送所述主控板;其中,不同的报文类型分别对应不同的限速队列。在本实施例中,所述上送单元430进一步用于:如果所述协议报文的协议类型不支持多种报文类型,将所述协议报文添加至与该协议报文的协议类型对应的限速队列;在该限速队列中的协议报文的数量未超过预设的限速阈值时,将该协议报文上送至所述主控板。另外,在本申请示出的装置中,与不同的报文类型分别对应的限速队列的限速阈值不同。所述协议报文的协议类型支持的多种报文类型的优先级不同;其中,当所述协议报文为路由协议报文时,所述优先级高的报文类型为保活报文。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1