协议报文发送方法及装置的制作方法

文档序号:7887577阅读:100来源:国知局
专利名称:协议报文发送方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种协议报文发送方法及装置。
背景技术
在交换机系统中,为了能够对协议报文进行处理,交换芯片一般都会连接一个 CPU。协议报文通过交换芯片上送给CPU进行处理,CPU通过交换芯片把协议报文发出,由于成本等原因,CPU的配置一般不会很高,只要能够满足必要的协议处理和配置下发就可以。 而且,即使采用高配置的CPU,当存在大量的协议报文攻击CPU时,也会导致CPU的利用率过高,从而使得一些重要的协议报文无法被处理,甚至会导致网络设备不能正常运行或者是网络业务中断。现有技术中存在一些防止CPU受到攻击的方法,然而,在这些方法中,有些只是针对某种协议报文进行控制而不难以对所有的协议报文进行控制;有些方法通过关闭交换芯片的物理端口或者禁止某些物理端口从而实现对所有的协议报文进行控制,然后,再定期检测是否打开被关闭的端口或者是否允许协议报文的上送,这样就会产生一个问题当端口的协议报文攻击消失后,协议报文的上送需要延迟一段时间才能恢复到正常状态,进一步的,也会导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU的问题。针对上述的问题,目前尚未提出有效的解决方案。

发明内容
本发明提供了一种协议报文发送方法及装置,以至少解决现有技术中当有端口存在CPU攻击时,只能停止对所有端口中该协议的上送,或者是只能通过关闭存在攻击的端口的方式来避免CPU受到攻击而造成的在该端口的攻击消失时,从而导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU 的问题。根据本发明的一个方面,提供了一种协议报文发送方法,包括分别检测中央处理器CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;判断出数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文,其中,标识信息用于标识协议报文是通过存在攻击的端口发送的。优选地,上述方法还包括当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,确定所述端口为存在攻击的端口 ;在通过所述存在攻击的端口发送的协议报文中设置所述标识信息。优选地,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后, 还包括将所述协议报文按照协议报文的类型发送到CPU端口中对应于所述协议报文的类型的队列中,其中,所述队列与所述协议报文的类型存在对应的关系。优选地,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后,还包括当所述存在攻击的端口上单位时间内通过的协议报文的数量小于或等于所述第二预定阈值时,停止对所述存在攻击的端口发送的所述协议报文设置标识信息。优选地,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息的步骤包括设置ACL在通过所述存在攻击的端口发送的协议报文中设置预定颜色,将所述预定颜色作为所述标识信息;CPU丢弃带有所述标识信息的协议报文的步骤包括当CPU检测到队列中存在协议报文的颜色所述预定颜色时,丢弃颜色为所述预定颜色的协议报文。优选地,在判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文之前,还包括根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的所述第一预定阈值。优选地,上述装置还包括确定单元,用于当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,确定所述端口为存在攻击的端口 ;第一设置单元,用于在通过所述存在攻击的端口发送的协议报文中设置所述标识信息。优选地,上述装置还包括第二设置单元,用于在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后,当所述存在攻击的端口上单位时间内通过的协议报文的数量小于或等于所述第二预定阈值时,停止对所述存在攻击的端口发送的所述协议报文设置标识信息。优选地,上述装置还包括第三设置单元,用于在判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文之前,根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的所述第一预定阈值。根据本发明的另一方面,提供了一种协议报文发送装置,包括检测单元,用于分别检测中央处理器CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;丢弃单元,用于在判断出数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文,其中,标识信息用于标识协议报文是通过存在攻击的端口发送的。在本发明中,当CPU出口上某个队列中预定时间内通过的报文的数量大于预定阈值时,就丢弃在该队列中由存在攻击的端口发送的协议报文。本发明解决了现有技术中,当有端口存在CPU攻击时,只能停止对所有端口中该协议的上送,或者是只能通过关闭存在攻击的端口的方式来避免CPU受到攻击而造成的在该端口的攻击消失时,从而导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU的问题,实现了在CPU端口上送的报文数量过多时,只丢弃存在攻击的端口上送的报文,从而达到了在避免CPU受到攻击的同时,保证了正常端口上送的报文的可以正常上送,通过该存在攻击的端口上送的其他报文也可以被正常上送,提高了系统的安全性和稳定性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的协议报文发送方法的一种优选流程图;图2是根据本发明实施例的协议报文发送方法中设置标识信息的一种优选流程图3是根据本发明实施例的协议报文发送装置的一种优选结构框图;图4是根据本发明实施例的协议报文发送装置的另一种优选结构框图;图5是根据本发明实施例的协议报文发送方法的又一种优选流程图;图6是根据本发明实施例的协议报文发送方法的又一种优选流程图;图7是根据本发明实施例的协议报文发送方法的另一种优选流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例1如图1所示,本发明提供了一种优选的协议报文发送方法,该方法包括S102 分别检测CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;S104 判断出数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文,其中,标识信息用于标识协议报文是通过存在攻击的端口发送的。在上述优选实施例中,当CPU出口上某个队列中预定时间内通过的报文的数量大于预定阈值时,就丢弃在该队列中由存在攻击的端口发送的协议报文。本发明解决了现有技术中当有端口存在CPU攻击时,只能停止对所有端口中该协议的上送,或者是只能通过关闭存在攻击的端口的方式来避免CPU受到攻击而造成的在该端口的攻击消失时,从而导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU的问题,本优选实施方式实现了在CPU端口上送的报文数量过多时, 只丢弃存在攻击的端口上送的报文,从而达到了在避免CPU受到攻击的同时,保证了正常端口上送的报文的可以正常上送,通过该存在攻击的端口上送的其他报文也可以被正常上送,提高了系统的安全性和稳定性。在本发明一个优选实施方式中,如图2所示,对于上述优选实施方式中的标识信息可以通过如下步骤得到S202:当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,可以将该端口确定为存在攻击的端口 ;S204 在通过存在攻击的端口发送的协议报文中设置标识信息。在上述优选实施方式中,对交换芯片上出来CPU端口外的其他端口进行检测,为这些端口设定预定的阈值,当通过端口的协议报文的数量过大时,则认为该端口存在攻击, 将该端口上送的协议报文都增加标识,从而使得CPU端口可以确定这些报文是通过存在攻击的端口上送的,从而使得CPU端口对应的队列的上送值过大时,可以根据这些标识将存在攻击的报文优先丢弃,从而保证了其他协议报文的正常上送,在避免CPU攻击的同时,保证了网络设备的正常运行。在本发明一个优选实施方式中,交换芯片将协议报文上送到CPU端口上的与协议报文的类型对应的队列当中,优选的,在CPU端口上存在很多的队列,可以设置每个队列对应一种协议报文,每种协议报文被送到CPU端口后会通过自身对应的队列发送到CPU。在上述优选实施方式中,为每种协议报文设置对应的队列,从而使得可以按照协议类型的种类进行上送,当一种协议报文发生攻击时,并不会影响对其他协议报文的上送。在本发明一个优选实施方式中,在通过存在攻击的端口发送的协议报文中设置标识信息之后,还包括当存在攻击的端口上单位时间内通过的协议报文的数量小于或等于第二预定阈值时,停止对存在攻击的端口发送的协议报文设置标识信息。在上述优选实施方式中,当端口上的攻击消失后,停止对通过该端口上送的协议报文设置标识信息,从而可以保证该端口正常上送的协议报文可以被送到CPU进行处理。在本发明一个优选实施方式中,在通过存在攻击的端口发送的协议报文中设置标识信息的步骤包括可以通过设置ACL在通过存在攻击的端口发送的协议报文中设置预定颜色,将预定颜色作为标识信息;CPU丢弃带有标识信息的协议报文的步骤包括当CPU检测到队列中存在协议报文的颜色预定颜色时,丢弃颜色为预定颜色的协议报文,优选的,可以将存在攻击的端口发送的协议报文的颜色设置为黄色,将正常端口发送的协议报文的颜色设置为绿色。在上述优选实施方式中,通过为协议报文设置不同的颜色标识,从而将存在攻击的端口上传的协议报文与正常端口上送的协议报文进行区分,比较容易实现,操作起来比较简单。在本发明各个优选实施方式的基础上,可以根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的第一预定阈值,从而使得可以根据协议报文本身的发送频率的需求或者是系统所需的协议报文的数量的不同为不同的协议报文设置不同的上送阈值,保证了实现上的合理性。实施例2基于图1-2所示的优选的协议报文发送方法,本发明还提供了一种优选的协议报文发送装置,如图3所示,该装置包括检测单元302和丢弃单元304,下面对上述结构进行详细描述。检测单元302,用于分别检测中央处理器CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;丢弃单元304,连接至检测单元302,用于在判断出检测单元302检测得到的数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文,其中,标识信息用于标识协议报文是通过存在攻击的端口发送的。在上述优选实施例中,当CPU出口上某个队列中预定时间内通过的报文的数量大于预定阈值时,就丢弃在该队列中由存在攻击的端口发送的协议报文。本发明解决了现有技术中,当有端口存在CPU攻击时,只能停止对所有端口中该协议的上送,或者是只能通过关闭存在攻击的端口的方式来避免CPU受到攻击而造成的在该端口的攻击消失时,从而导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU的问题,本优选实施方式实现了在CPU端口上送的报文数量过多时, 只丢弃存在攻击的端口上送的报文,从而达到了在避免CPU受到攻击的同时,保证了正常端口上送的报文的可以正常上送,通过该存在攻击的端口上送的其他报文也可以被正常上送,提高了系统的安全性和稳定性。在本发明一个优选实施方式中,如图4所示,协议报文发送装置还包括确定单元 402,用于当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,确定端口为存在攻击的端口 ;第一设置单元404,连接至确定单元402,用于在通过确定单元 402确定的存在攻击的端口发送的协议报文中设置标识信息。在上述优选实施方式中,对交换芯片上出来CPU端口外的其他端口进行检测,为这些端口设定预定的阈值,当通过端口的协议报文的数量过大时,则认为该端口存在攻击,将该端口上送的协议报文都增加标识, 从而使得CPU端口可以确定这些报文是通过存在攻击的端口上送的,从而使得CPU端口对应的队列的上送值过大时,可以根据这些标识将存在攻击的报文优先丢弃,从而保证了其他协议报文的正常上送,在避免CPU攻击的同时,保证了网络设备的正常运行。在本发明一个优选实施方式中,交换芯片将协议报文上送到CPU端口上的与协议报文的类型对应的队列当中,优选的,在CPU端口上存在很多的队列,可以设置每个队列对应一种协议报文,每种协议报文被送到CPU端口后会通过自身对应的队列发送到CPU。在上述优选实施方式中,为每种协议报文设置对应的队列,从而使得可以按照协议类型的种类进行上送,当一种协议报文发生攻击时,并不会影响对其他协议报文的上送。在本发明一个优选实施方式中,如图5所示,协议报文发送装置还包括第二设置单元502,连接至第一设置单元404,用于在第一设置单元404在通过存在攻击的端口发送的协议报文中设置标识信息之后,当存在攻击的端口上单位时间内通过的协议报文的数量小于或等于第二预定阈值时,停止对存在攻击的端口发送的协议报文设置标识信息。在上述优选实施方式中,当端口上的攻击消失后,停止对通过该端口上送的协议报文设置标识信息,从而可以保证该端口正常上送的协议报文可以被送到CPU进行处理。在本发明一个优选实施方式中,第一设置单元404,可以通过设置ACL在通过存在攻击的端口发送的协议报文中设置预定颜色,将预定颜色作为标识信息;CPU丢弃带有标识信息的协议报文的步骤包括当CPU检测到队列中存在协议报文的颜色预定颜色时,丢弃颜色为预定颜色的协议报文,优选的,可以将存在攻击的端口发送的协议报文的颜色设置为黄色,将正常端口发送的协议报文的颜色设置为绿色。在上述优选实施方式中,通过为协议报文设置不同的颜色标识,从而将存在攻击的端口上传的协议报文与正常端口上送的协议报文进行区分,比较容易实现,操作起来比较简单。在本发明一个优选实施方式中,如图6所示,协议报文发送装置还包括第三设置单元602,连接至检测单元302,用于在判断出数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文之前,根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的第一预定阈值,从而使得可以根据协议报文本身的发送频率的需求或者是系统所需的协议报文的数量的不同为不同的协议报文设置不同的上送阈值,保证了实现上的合理性。实施例3本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。CPU端口,即交换芯片与CPU相连的物理端口,在CPU端口的出口上形成一定数量的队列,对每个队列进行限速,也就是限制队列每秒最多能够通过的协议报文的数目,从交换芯片其它端口进入的协议报文通过CPU端口把协议报文上送到CPU,优选的,类型不同的协议报文被分在CPU出口上不同的队列,这样如果存在端口有一种协议报文通过交换芯片攻击CPU,那么交换芯片其它的协议报文的上送不会受到影响,只有其它端口正常上送的同种协议报文才会受到影响。为了避免这个问题,CPU收包任务在进行收包的同时监控协议报文上送异常的端口,当在一定时间内这个端口上送协议报文特别多时,则认为这个端口存在协议攻击,那么通过ACL将存在攻击的端口上送的所有协议报文的颜色设置为黄色(优选的,正常协议报文为绿色),这样即使是同种协议报文在CPU端口出口上的同一个队列,如果存在拥塞,将优选丢弃颜色为黄色的协议报文,并不会影响其他端口相同协议报文的上送。当攻击消失的一段时间后,CPU收包任务检测端口的攻击是否已经消失,在这段时间内通过该端口的协议报文仍然可以正常上送,优选的,在队列没有发生拥塞的情况下,颜色为黄色的协议报文也可以正常上送,不必等到CPU收包任务把端口的ACL (设置端口上送 CPU的协议报文的颜色为黄色)取消掉。通过上述方法,在端口发生协议报文攻击CPU的时候,其它端口的所有协议报文都不会受到影响,本端口协议报文也可以在协议攻击消失后立刻正常上送。通过上述优选的协议报文发送方法,本发明还给出了一个具体的实施例以便更好的解释本发明,如图7所示,该方法的包括步骤S702至步骤S712。步骤S702 初始化,设置交换芯片的ACL匹配的协议报文的内容,将需要的协议报文送到CPU端口,ACL同时把不同的协议报文上送到CPU端口不同的队列中,CPU端口的每个队列根据需要限制每秒最多可以通过的报文。步骤S704 =CPU将交换芯片的CPU端口收到的协议报文,根据协议报文的协议类型上送给对应的上层协议处理。步骤S706 =CPU收包任务一直运行,当交换芯片有协议报文上送到CPU端口时,CPU 收包任务把协议报文交给相应的上层对协议报文进行处理,CPU收包任务同时监控所有端口收到协议报文的状况,判断是否需要进行端口安全状态的切换,如果不需要,则转而执行步骤S704,否则,执行步骤S708。步骤S708 如果在一定时间内端口收到的协议报文小于预定的阈值就认为该端口为正常端口,如果在一定时间内端口收到的协议报文大于预定阈值就认为该端口为存在攻击的端口,判断端口安全状态的切换状态,当端口从正常端口变为存在攻击的端口时,执行步骤S710 ;当端口从存在攻击的端口变为正常端口时,转而执行步骤S712。步骤S710 将该端口上送CPU的所有协议报文的颜色设置为黄色。步骤S712 将该端口上送CPU的所有协议报文的颜色设置为绿色。重复步骤S704至步骤S712就可以解决端口上送的协议报文攻击CPU的问题,提高了系统的安全性和稳定性。从以上的描述中,可以看出,本发明实现了如下技术效果本发明引入一种基于交换芯片的解决协议报文攻击CPU的方法,当交换芯片中出现有端口通过协议报文攻击CPU时,其它端口上送CPU的所有协议报文不会受到任何影响, 当该端口的协议报文攻击消失时,通过该端口上送的正常协议报文上送CPU可以立刻生效,通过本发明的方案简单、高效地解决了协议报文攻击CPU的问题,提高了交换机系统的安全性和稳定性。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种协议报文发送方法,其特征在于,包括分别检测中央处理器CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文,其中,所述标识信息用于标识所述协议报文是通过存在攻击的端口发送的。
2.根据权利要求1所述的方法,其特征在于,还 包括当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,确定所述端口为存在攻击的端口;在通过所述存在攻击的端口发送的协议报文中设置所述标识信息。
3.根据权利要求2所述的方法,其特征在于,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后,还包括将所述协议报文按照协议报文的类型发送到CPU端口中对应于所述协议报文的类型的队列中,其中,所述队列与所述协议报文的类型存在对应的关系。
4.根据权利要求2所述的方法,其特征在于,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后,还包括当所述存在攻击的端口上单位时间内通过的协议报文的数量小于或等于所述第二预定阈值时,停止对所述存在攻击的端口发送的所述协议报文设置标识信息。
5.根据权利要求4所述的方法,其特征在于,在通过所述存在攻击的端口发送的协议报文中设置所述标识信息的步骤包括设置ACL在通过所述存在攻击的端口发送的协议报文中设置预定颜色,将所述预定颜色作为所述标识信息;CPU丢弃带有所述标识信息的协议报文的步骤包括当CPU检测到队列中存在协议报文的颜色所述预定颜色时,丢弃颜色为所述预定颜色的协议报文。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文之前,还包括根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的所述第一预定阈值。
7.一种协议报文发送装置,其特征在于,包括检测单元,用于分别检测中央处理器CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;丢弃单元,用于在判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文,其中,所述标识信息用于标识所述协议报文是通过存在攻击的端口发送的。
8.根据权利要求7所述的装置,其特征在于,还包括确定单元,用于当交换芯片的一个或者多个端口发送的协议报文的数量大于第二预定阈值时,确定所述端口为存在攻击的端口 ;第一设置单元,用于在通过所述存在攻击的端口发送的协议报文中设置所述标识信肩、ο
9.根据权利要求8所述的装置,其特征在于,还包括第二设置单元,用于在通过所述存在攻击的端口发送的协议报文中设置所述标识信息之后,当所述存在攻击的端口上单位时间内通过的协议报文的数量小于或等于所述第二预定阈值时,停止对所述存在攻击的端口发送的所述协议报文设置标识信息。
10.根据权利要求7至9中任一项所述的装置,其特征在于,还包括第三设置单元,用于在判断出所述数量大于第一预定阈值时,所述CPU丢弃所述报文队列中带有标识信息的协议报文之前,根据协议报文的类型和/或当前的系统状况对不同的队列设置不同的所述第一预定阈值。
全文摘要
本发明公开了一种协议报文发送方法及装置,其中,该方法包括分别检测CPU出口上的对应于不同类型的协议的报文队列中在预定时间内通过的报文的数量;判断出数量大于第一预定阈值时,CPU丢弃报文队列中带有标识信息的协议报文,其中,标识信息用于标识协议报文是通过存在攻击的端口发送的。本发明解决了现有技术中,当有端口存在CPU攻击时,只能停止对所有端口中该协议的上送,或者是只能通过关闭存在攻击的端口的方式来避免CPU受到攻击而造成的在该端口的攻击消失时,从而导致有些正常的端口上送的该报文无法被上送到CPU或者是从该端口上送的其他正常的报文无法被上送到CPU的问题。
文档编号H04L29/06GK102447711SQ20121001545
公开日2012年5月9日 申请日期2012年1月18日 优先权日2012年1月18日
发明者潘庭山 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1