交换设备及其防止流量冲击的报文处理方法

文档序号:7951536阅读:347来源:国知局
专利名称:交换设备及其防止流量冲击的报文处理方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种防止流量冲击的报文处理方法。
背景技术
交换设备是在各种组网结构中应用最为广泛的一种网络设备,随着三层、四层交换机的应用和发展,交换设备在网络运营中承担着越来越关键的任务。同时,针对交换设备的恶意攻击也相应增多。
在交换设备正常工作时,接收的报文首先由转发芯片处理。转发芯片通常对接收的报文根据设定的工作参数进行如下两种处理操作大多数报文通过转发芯片转发;另一些报文由转发芯片上送交换设备中的处理单元CPU(Central Process Unit,中央处理器),由CPU根据报文的协议进行相关计算、以及对报文进行分用和封装等。
当交换设备接收到大量需要CPU处理的报文时,CPU处于超负荷工作状态,会影响网络中正常报文的传输,甚至使重要的协议报文因超时而被丢弃,造成网络的瘫痪。
在图1所示的网络中,三层交换机121的端口1和三层交换机的端口2分别与组播源110连接;交换机121的端口3、交换机122的端口4与组播成员130连接在一个共享网段。交换机121和122运行PIM(Protocol IndependentMulticast,协议无关组播)协议。
当组播源110发送组播报文的时候,在一些情况下,组播报文会从交换机121和122同时转发到组播成员130所在的共享网段上,此时组播成员130就会接收到两份同样的组播流。为了避免出现这样的情况,在PIM协议中采用Assert(声明)机制来避免向一个网段重复转发组播流。当组播报文从端口3进入交换机121时,转发芯片识别出该报文为从组播转发表项的出接口接收到的组播报文,将该报文作为RPF(Reverse Path Forwarding,反向路径转发)检查错误报文转发至CPU,由CPU组装PIM协议的Assert报文并发送至交换机122和其他具有组播路由功能的设备,从而选出指定的三层转发设备对该组播流进行转发。这样,当组播报文流量大时、或者网络中另一台三层转发设备不支持Assert机制、或者有恶意攻击者持续地发送组播流时,CPU就不得不处理大量组播报文。
与此类似,在现有技术中,由转发芯片根据设定条件对报文是否需要上送CPU进行判断,并且会将所有判断结果为是的报文上送CPU,在需要上送CPU的报文流量大时就会对CPU造成冲击,影响网络的正常运行。

发明内容
本发明要解决的是现有技术中CPU被动接收转发芯片上送的报文导致易于遭受流量冲击的问题。
本发明所述交换设备中防止流量冲击的报文处理方法,包括以下步骤设置转发单元将具有预定特征的报文上送至处理单元;在处理单元接收到具有所述特征的报文后,设置转发单元直接转发具有所述特征的报文而不上送处理单元。
优选地,所述方法还包括处理单元对接收的具有所述特征的报文进行协议处理。
优选地,所述转发单元将具有所述特征的报文上送处理单元设置为以预定检测周期进行。
优选地,所述设置转发单元将具有所述特征的报文上送处理单元具体为处理单元删除与所述特征匹配的转发表项;
所述设置转发单元直接转发具有所述特征的报文而不上送处理单元具体为处理单元根据所述特征在转发单元中生成进行匹配转发且不上送处理单元的表项。
优选地,所述设置转发单元将具有所述特征的报文上送处理单元具体为将上送处理单元的通道添加到与所述特征匹配的转发表项的出接口集合中;所述设置转发单元直接转发具有所述特征的报文而不上送处理单元具体为在与所述特征匹配的转发表项的出接口集合中删除上送处理单元的通道。
本发明提供的另一种交换设备中防止流量冲击的报文处理方法包括以下步骤a)处理单元接收转发单元上送的具有预定特征的报文;b)处理单元根据所述特征生成对应的直接转发表项,供转发单元据以转发具有相同特征的报文;c)在满足设定删除条件时,删除所述特征对应的表项;转步骤a)。
优选地,所述方法还包括处理单元对接收的报文进行协议处理;所述满足设定删除条件是指达到预定检测周期。
本发明提供的一种交换设备,包括处理单元和转发单元,其中处理单元用来设置转发单元将具有预定特征的报文上送;在接收到具有所述特征的报文后,设置转发单元直接转发而不上送具有所述特征的报文;转发单元用来进行报文的直接转发和上送操作。
优选地,所述转发单元包括业务模块和表项存储模块,业务模块用来将接收报文与表项存储模块存储的表项进行特征匹配,匹配成功时根据对应表项进行转发操作,匹配不成功时将报文上送处理单元并进行广播。
优选地,所述处理单元通过删除表项存储模块中预定特征对应的表项、或在预定特征对应的表项的出接口集合中添加上送处理单元的通道来设置转发单元将具有预定特征的报文上送;所述处理单元通过在表项存储模块中添加预定特征对应的直接转发表项、或在预定特征对应的表项的出接口集合中删除上送处理单元的通道来设置转发单元直接转发而不上送具有预定特征的报文。
本发明对具有预定特征的报文,由处理单元控制转发单元是否向其上送,对少量具有该特征的报文进行协议处理,从而避免了必须处理所有具有相同特征的报文,在正常完成交换功能的同时防止了对处理单元的流量冲击,并且减轻了转发单元的工作负荷。


图1为一种可能造成流量冲击的网络结构示例;图2为本发明所述方法实施例一的流程图;图3为本发明所述方法实施例二的流程图;图4为本发明所述方法应用的交换设备的结构示意图。
具体实施例方式
在现有技术中,可能对处理单元造成流量冲击的情况通常是在一段时间内持续向交换设备发送某种类型的报文,这种类型的报文会由转发芯片上送处理单元,由处理单元根据报文所采用的协议进行相关处理。因处理单元对报文进行协议处理的速度往往低于转发芯片的转发速度,造成对处理单元的冲击。
这些情况的共同之处包括造成冲击的报文具有同样的特征;处理单元对上送的报文进行同样的重复处理,而重复处理和一次处理具有相同的效果。可见,只要减少处理单元对这些具有相同特征的报文的处理次数,即可在不对交换设备和网络的功能造成影响的情况下避免对处理单元造成流量冲击。减少处理单元处理次数的关键在于控制转发单元只将少量具有同样特征的报文上送处理单元。
本发明中防止流量冲击的报文处理方法实施例一的流程如图2所示。在步骤S210,设置转发单元将具有预定特征的报文上送处理单元。对转发单元的设置通常由处理单元进行,这样可以便于处理单元对报文上送进行控制。
在交换设备中,当转发单元接收到报文后,先在转发单元中的工作表中查找是否有与接收报文的特征匹配的表项,如果有,则根据匹配表项执行对应的转发操作;否则将报文上送处理单元并进行广播。因而,可以通过删除和增加预定特征对应的表项来设置具有该特征的报文上送和不上送处理单元。在增加预定特征对应的表项时,该表项为直接转发表项,即该表项的出接口集合中不包括上送处理单元的通道。
转发单元的工作表包括ACL(Access Control List,访问控制表)列表、MAC(Media Access Control,媒介接入控制)地址表、和/或IP(Internet Protocol,网际协议)FDB(Forwarding Database,转发表)表等,根据这些表中表项进行的转发操作包括二层交换转发、三层交换转发、丢弃报文等。
除增加和删除与预定特征对应的表项以外,还可以通过其他方式控制转发单元将具有预定特征的报文上送或不上送处理单元。例如,可以在与预定特征对应的表项的出接口集合中增加和删除上送处理单元的通道来设置具有预定特征的报文上送和不上送处理单元。在表项的出接口集合中增加上送处理单元的通道后,转发单元在将报文上送处理单元的同时还会按照原先的表项对报文进行常规处理。
在步骤S220,当有具有预定特征的报文进入转发单元后,处理单元接收转发单元上送的该报文。
在步骤S230,在处理单元接收到转发单元上送的具有预定特征的报文后,设置转发单元对具有特征的报文直接转发,而不上送处理单元。
如步骤S210中所述,设置转发单元不将具有预定特征的报文上送处理单元有多种方式可以实现。例如,增加预定特征对应的转发单元的工作表项、在预定特征对应的表项的出接口集合中增加上送处理单元的通道等。
在步骤S240,处理单元对接收的具有预定特征的报文进行协议处理。本步骤中处理单元对报文进行协议处理的方式与现有技术中相同,此处不再赘述。
可以设定一个预定检测周期,周期到时将具有预定特征的报文上送处理单元,由处理单元对其进行协议处理。这样,处理单元以预定检测周期监控具有预定特征的报文,以对网络的运行情况实时作出反应。
图3所示为本发明所述防止流量冲击的方法实施例二的流程。在步骤S301,处理单元接收转发单元上送的具有预定特征的报文。
在步骤S302,处理单元根据上送报文的特征生成对应的表项,下发至转发单元,该表项为直接转发表项,即该表项的出接口集合中不包括上送处理单元的通道。
在步骤S303,处理单元对接收的上送报文进行协议处理。
在步骤S304,转发单元根据处理单元生成的表项对具有预定特征的报文进行转发操作。与实施例一中相同,转发单元对报文的转发操作包括二层交换转发、三层交换转发、丢弃报文等。
在步骤S305,判断是否满足设定删除条件,如果是,执行步骤S306;否则转步骤S304。
在步骤S306,删除预定特征对应的表项;转步骤S301。
设定删除条件为处理单元对具有预定特征的报文进行检测的条件,可以由用户根据实际应用的需要来设置,例如将其设置为预定检测周期。
图4所示为应用上述报文处理方法的交换设备的结构示意图,处理单元410与转发单元420连接,转发单元420包括相互连接的业务模块421和表项存储模块422,这两个模块均连接至处理单元410。
处理单元410对转发单元420是否将接收的具有预定特征的报文上送进行控制。设置转发单元420将具有该特征的报文上送后,处理单元410一旦接收到具有该特征的报文,即设置转发单元420直接转发具有该特征的报文而不将其上送处理单元410。
转发单元420将接收的报文直接转发或上送处理单元410。业务模块421接收到报文后,将报文与表项存储模块422中存储的表项进行特征匹配。每个表项包括报文特征和对应的出接口集合,当接收报文与表项匹配成功时,业务模块421按照该表项的出接口集合发送该报文。当出接口集合中包括上送处理单元420的通道时,该报文会上送至处理单元410。如果接收报文与表项匹配不成功,业务模块421将该报文上送处理单元410。
处理单元410可以通过在表项存储模块422中添加预定特征对应的直接转发表项,即不包括上送处理单元410的通道的表项来设置具有预定特征的报文直接转发,也可以通过在预定特征对应的表项中删除上送处理单元410的通道来设置该报文直接转发。同样,处理单元410可以通过删除表项存储模块422中预定特征对应的表项来设置具有预定特征的报文上送,也可以通过在预定特征对应的表项中添加上送处理单元410的通道来设置该报文上送。
本发明的两个实施例及其应用的交换设备中,报文的预定特征可以是源和目的MAC地址、IP地址、组播报文等,只要能够由转发单元进行表项匹配即可。
以下仍以图1所示的网络结构为例,来说明本发明的应用。本发明可以同时应用在交换机121和122上,将预定特征设定为组播MAC地址;将预定检测周期设置为5秒。
取消现有技术中转发芯片对RPF检查错误报文的判断,让转发芯片将组播流二层广播到CPU。当CPU接收到组播报文后,马上在转发芯片中生成对应的组播MAC表项,该MAC表项不包含CPU端口,从而让后续接收的组播报文由转发芯片匹配该MAC表项转发而不将报文上送CPU。
CPU根据PIM协议对接收的组播报文进行处理,根据其携带的VLAN信息来判断是否来自组播转发表项的出接口,如果是,则该报文为RPF检查错误报文,触发PIM声明机制,由CPU组装Assert报文并发送。
为CPU生成的组播MAC表项设置一个以预定检测周期5秒定时的老化定时器,时间到时删除该MAC表项或者让该MAC表项的出接口集合包含CPU端口。定时到后,转发芯片又将组播报文上送到CPU,则上述过程重复进行,CPU周期性地对组播报文进行检测,看是否发生RPF检查错误的情况。
应用本发明后,设组播源110发送组地址为224.1.1.1的组播流,被两台交换机121和122同时转发,则交换机121从组播报文的出接口端口3收到相同组的组播报文。该组播报文被上送CPU,CPU接收到组播报文后立刻在转发芯片中生成源MAC地址为0x01005e010101的MAC地址表项,该表项不包含CPU端口。CPU对已经接收的组播报文作分析,发现该报文来自端口3所在的共享网段,通过查看组播转发表项,发现共享网段的出接口为端口3,则说明该报文为RPF检查错误报文,从而触发PIM声明机制。
这样,CPU最多只需在5秒的预定检测周期内接收并处理少量的组播报文,其余的组播报文由转发芯片进行处理,不论组播报文流量大,还是网络中其他三层转发设备不支持Assert机制,或是有恶意攻击者持续地发送组播流,都不会对CPU造成冲击。
可见,应用本发明后,对于大量的同类型报文,CPU需要处理其中的少量报文,避免其对CPU造成冲击;同时,本发明不需要转发芯片对报文是否需要上送CPU进行判断,减轻转发芯片的处理负担;并且本发明不涉及对标准协议的改动,具有良好的兼容性。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种交换设备中防止流量冲击的报文处理方法,其特征在于,包括以下步骤设置转发单元将具有预定特征的报文上送至处理单元;在处理单元接收到具有所述特征的报文后,设置转发单元直接转发具有所述特征的报文而不上送处理单元。
2.如权利要求1所述交换设备中防止流量冲击的报文处理方法,其特征在于,所述方法还包括处理单元对接收的具有所述特征的报文进行协议处理。
3.如权利要求1所述交换设备中防止流量冲击的报文处理方法,其特征在于所述转发单元将具有所述特征的报文上送处理单元设置为以预定检测周期进行。
4.如权利要求1至3任意一项所述交换设备中防止流量冲击的报文处理方法,其特征在于,所述设置转发单元将具有所述特征的报文上送处理单元具体为处理单元删除与所述特征匹配的转发表项;所述设置转发单元直接转发具有所述特征的报文而不上送处理单元具体为处理单元根据所述特征在转发单元中生成进行匹配转发且不上送处理单元的表项。
5.如权利要求1至3任意一项所述交换设备中防止流量冲击的报文处理方法,其特征在于,所述设置转发单元将具有所述特征的报文上送处理单元具体为将上送处理单元的通道添加到与所述特征匹配的转发表项的出接口集合中;所述设置转发单元直接转发具有所述特征的报文而不上送处理单元具体为在与所述特征匹配的转发表项的出接口集合中删除上送处理单元的通道。
6.一种交换设备中防止流量冲击的报文处理方法,其特征在于,包括以下步骤a)处理单元接收转发单元上送的具有预定特征的报文;b)处理单元根据所述特征生成对应的直接转发表项,供转发单元据以转发具有相同特征的报文;c)在满足设定删除条件时,删除所述特征对应的表项;转步骤a)。
7.如权利要求6所述交换设备中防止流量冲击的报文处理方法,其特征在于,所述方法还包括处理单元对接收的报文进行协议处理;所述满足设定删除条件是指达到预定检测周期。
8.一种交换设备,其特征在于,包括处理单元和转发单元,其中处理单元用来设置转发单元将具有预定特征的报文上送;在接收到具有所述特征的报文后,设置转发单元直接转发而不上送具有所述特征的报文;转发单元用来进行报文的直接转发和上送操作。
9.如权利要求8所述的交换设备,其特征在于所述转发单元包括业务模块和表项存储模块,业务模块用来将接收报文与表项存储模块存储的表项进行特征匹配,匹配成功时根据对应表项进行转发操作,匹配不成功时将报文上送处理单元并进行广播。
10.如权利要求9所述的交换设备,其特征在于所述处理单元通过删除表项存储模块中预定特征对应的表项、或在预定特征对应的表项的出接口集合中添加上送处理单元的通道来设置转发单元将具有预定特征的报文上送;所述处理单元通过在表项存储模块中添加预定特征对应的直接转发表项、或在预定特征对应的表项的出接口集合中删除上送处理单元的通道来设置转发单元直接转发而不上送具有预定特征的报文。
全文摘要
本发明公开了一种交换设备中防止流量冲击的报文处理方法,包括设置转发单元将具有预定特征的报文上送至处理单元;在处理单元接收到具有所述特征的报文后,设置转发单元直接转发具有所述特征的报文而不上送处理单元。本发明还公开了一种应用上述方法的交换设备。本发明对具有预定特征的报文,由处理单元控制转发单元是否向其上送,对少量具有该特征的报文进行协议处理,从而避免了必须处理所有具有相同特征的报文,在正常完成交换功能的同时防止了对处理单元的流量冲击,并且减轻了转发单元的工作负荷。
文档编号H04L12/56GK1801781SQ20061000039
公开日2006年7月12日 申请日期2006年1月10日 优先权日2006年1月10日
发明者吕琳, 周迪 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1