一种报文处理方法、mac地址漂移的检测方法及装置的制作方法

文档序号:7702522阅读:416来源:国知局
专利名称:一种报文处理方法、mac地址漂移的检测方法及装置的制作方法
技术领域
本发明涉及网络领域,尤其涉及一种报文处理方法、MAC地址漂移的检测方法及装置。
背景技术
环路的形成都是由于目的路径不明确导致混乱而造成的,例如一个广播信息经过两个交换机的时候会不断恶性循环产生广播,造成环路。无论是企业还是电信运营商,环路问题一直是导致网络质量下降甚至瘫痪的主要问题之一,因此应运而生各种检测环路的方法和策略。MAC (Medium Access Control,介质访问控制)地址漂移告警是其中较为普遍的一种,通过检测MAC地址漂移的发生,判断是否存在网络环路,向网络管理者告警并及时解除环路,维护网络的稳定。MAC地址漂移存在两种情况,一种是端口绑定的静态MAC地址,在交换机的另一个端口出现,MAC地址发生漂移;另一种是一个端口先动态的学到一个MAC地址,此MAC地址在交换机另一个端口又被学习到。当前,以太网交换机使用 ASIC (Application Specific Integrated Circuits, 专用集成电路)芯片实现数据的交换,CPU (Central Processing Unit,中央处理器)负责控制功能。MAC地址漂移检测需要通过ASIC进行MAC地址的学习和报文的转发,发现MAC 地址漂移报文时上交CPU处理。CPU进行漂移MAC地址的统计,当MAC地址漂移频率超过设定的环路告警阈值时,向上层网络管理员进行告警,管理员根据告警信息进行问题的定位和处理。如果需要立即处理检测出的环路,可以预先配置端口在发现环路时阻塞相关端口, 及时解除环路,以保证其他端口业务的正常运行。上述方法可以有效的检测网络中存在的环路,但也存在一定的漏洞。如果遇到网络攻击,难以保证CPU的安全,而CPU的安全关系着网络的稳定和所有业务的正常运行。

发明内容
本发明要解决的技术问题是在MAC地址漂移检测的过程中,如何防止CPU利用率过高,以保护CPU的安全和其他业务的运行稳定。为了解决上述问题,本发明提供了一种报文处理方法,包括
根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件; 如果MAC地址漂移的情况满足保护条件则停止将MAC地址漂移报文上报给所述CPU。进一步地,所述判断MAC地址漂移的情况是否满足保护条件是指
判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。进一步地,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还包括 判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发
出告警或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。 进一步地,所述停止将MAC地址漂移报文上报给所述CPU的步骤后还包括
等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复将MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。
进一步地,在恢复将MAC地址漂移报文上报给所述CPU的步骤前还包括
判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复将MAC地址漂移报文上报给所述CPU的步骤。本发明还提供了一种报文处理装置,包括
判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;
操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时,停止将MAC 地址漂移报文上报给所述CPU。进一步地,所述判断模块判断MAC地址漂移的情况是否满足保护条件是指 所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或
MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。进一步地,所述判断模块还用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。进一步地,所述操作模块还用于在停止将MAC地址漂移报文上报给所述CPU后, 等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空,则恢复将 MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。进一步地,所述操作模块还用于在恢复将MAC地址漂移报文上报给所述CPU前, 先判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复将MAC地址漂移报文上报给所述 CPU。本发明还提供了一种介质访问控制地址漂移的检测方法,包括 将MAC地址漂移报文上报给CPU ;
所述CPU根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件,如果满足则停止MAC地址漂移报文上报。进一步地,所述判断MAC地址漂移的情况是否满足保护条件是指
判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。进一步地,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还包括 判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发
出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。进一步地,所述停止MAC地址漂移报文上报的步骤后还包括
等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复 MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。进一步地,在恢复MAC地址漂移报文上报的步骤前还包括
判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复MAC地址漂移报文上报的步骤。本发明还提供了一种以太网交换机,包括 中央处理器CPU;
专用集成电路ASIC芯片,用于将MAC地址漂移报文上报给所述CPU ; 其特征在于,所述CPU包括
判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;
操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时停止MAC地址漂移报文上报。进一步地,所述判断模块判断MAC地址漂移的情况是否满足保护条件是指 所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或
MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。进一步地,所述判断模块还用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。进一步地,所述操作模块还用于在停止MAC地址漂移报文上报后,等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空则恢复MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。进一步地,所述操作模块还用于在恢复MAC地址漂移报文上报前,先判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复MAC地址漂移报文上报。本发明的技术方案通过对单一 MAC地址漂移频率的限制和总MAC漂移数量的限制,适时的关闭MAC地址漂移检测报文上报,在不影响环路检测的情况下,避免报文频繁的上交CPU而造成的CPU因为处理漂移报文持续处于利用率较高程度的情况,保护了 CPU的安全,维护了网络的稳定和其它业务的正常运行。本发明的优化方案通过间断的回复MAC 地址漂移环路检测,保证了网络的安全和稳定。


图1是实施例三中例子的流程示意图之一;
7图2是实施例三中例子的流程示意图之二。
具体实施例方式下面将结合附图及实施例对本发明的技术方案进行更详细的说明。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明的提出是考虑到目前使用MAC地址漂移检测环路的方法中,主要集中在关注MAC地址漂移的检测方法和告警阈值的设计上。ASIC芯片已经能很好实现漂移报文的标识和上送CPU的处理,但都忽视了在不能达到环路告警阈值时,MAC地址漂移检测功能对 CPU的负担。利用MAC地址漂移漏洞对网络进行攻击时,交换机CPU会持续处于利用率较高的程度,也因此会影响其他业务和网络的稳定。现有方法中,MAC地址漂移的统计和处理需要依赖CPU完成,对CPU造成较大的负担,MAC地址漂移功能开启的过程中,应尽量少的占用CPU资源。但是目前只能对超过环路告警阈值的情况进行告警和解除环路,在网络中一旦出现多个MAC地址报文同时发生漂移,而每个MAC地址漂移的发生频率又不能达到环路告警阈值的情况时,就无法利用阻塞端口阻止报文上交CPU,所有MAC地址漂移报文都上交CPU,从而会对CPU造成较大的负担, 使CPU持续处于利用率较高的状态。基于对以上问题的认识和发现,提出了本发明的技术方案。实施例一,一种报文处理方法,包括
根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件; 如果MAC地址漂移的情况满足保护条件则停止将MAC地址漂移报文上报给所述CPU。本实施例中,所述判断MAC地址漂移的情况是否满足保护条件可以但不限于是指
判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。也就是说MAC漂移统计链表长度达到或超过预设的第一保护阈值、MAC地址漂移发生频率达到或超过预设的第二保护阈值这两种情况只要发生一种,就判断MAC地址漂移的情况满足保护条件。这里列举了两种判断满足保护条件的情况,实际应用时可以不限于此,可以按照需求设置别的保护条件,而且也不排除将保护条件设置为上述两个情况都发生;只要满足设置的保护条件,就停止将MAC地址漂移报文上报给所述CPU。另外实际应用时,所述判断MAC地址漂移的情况是否满足保护条件可以只指任一种情况,而对另一种情况不予考虑(即另一种情况即使发生也不算满足保护条件),也就是说除了上文所述的判断方式以外,还可以包括下述两种实施方式
第一种实施方式
所述判断MAC地址漂移的情况是否满足保护条件是指判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值。
第二种实施方式
所述判断MAC地址漂移的情况是否满足保护条件是指判断MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。本实施例中,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还可以包括
判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。也就是说,当MAC地址漂移频率达到或超过环路告警阈值时,只要采取了解除环路的措施(即阻塞相关端口),那么无论是否发出告警,都不用再去判断是否满足保护条件。另外,MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下,发出告警的步骤和判断MAC地址漂移的情况是否满足保护条件的步骤先后次序不限,也可以并行。由于所述第二保护阈值通常会大于所述环路告警阈值,因此如果MAC地址漂移发生频率没达到环路告警阈值,就必然也不会达到所述第二保护阈值;而如果MAC地址漂移发生频率达到或超过环路告警阈值,则MAC地址漂移发生频率有可能达到或超过第二保护阈值。本实施例可保证在MAC地址漂移频率未达到环路告警阈值的情况下,CPU不会因为处理MAC漂移报文而长时间处于利用率较高的程度。本实施例中,所述停止将MAC地址漂移报文上报给所述CPU的步骤后还可以包括
等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复将MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。本实施例中,无论按哪种方式判断MAC地址漂移的情况是否满足保护条件,在恢复将MAC地址漂移报文上报给所述CPU的步骤前还可以包括判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复将MAC地址漂移报文上报给所述CPU的步骤。所述第一时间、第二时间的长度可以相同,也可以不同;可根据试验或经验确定长度。实施例二,一种报文处理装置,包括
判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;
操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时,停止将MAC 地址漂移报文上报给所述CPU。本实施例中,所述判断模块判断MAC地址漂移的情况是否满足保护条件可以但不限于是指
所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或 MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。
也就是说MAC漂移统计链表长度达到或超过预设的第一保护阈值、MAC地址漂移发生频率达到或超过预设的第二保护阈值这两种情况只要发生一种,所述判断模块就判断 MAC地址漂移的情况满足保护条件。这里列举了两种判断满足保护条件的情况,实际应用时可以不限于此,可以按照需求设置别的保护条件,而且也不排除将保护条件设置为上述两个情况都发生;只要满足设置的保护条件,就停止将MAC地址漂移报文上报给所述CPU。另外实际应用时,所述判断模块判断MAC地址漂移的情况是否满足保护条件可以只指任一种情况,而对另一种情况不予考虑(即另一种情况即使发生也不算满足保护条件),也就是说除了上文所述的判断方式以外,还可以包括下述两种实施方式
第一种实施方式
所述判断模块判断MAC地址漂移的情况是否满足保护条件是指判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值。第二种实施方式
所述判断模块判断MAC地址漂移的情况是否满足保护条件是指判断MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。本实施例中,所述判断模块还可以用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC 地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。也就是说,当MAC地址漂移频率达到或超过环路告警阈值时,只要采取了解除环路的措施(即阻塞相关端口),那么无论是否发出告警,都不用再去判断是否满足保护条件。另外,MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下,发出告警的步骤和判断MAC地址漂移的情况是否满足保护条件的步骤先后次序不限,也可以并行。由于所述第二保护阈值通常会大于所述环路告警阈值,因此如果MAC地址漂移发生频率没达到环路告警阈值,就必然也不会达到所述第二保护阈值;而如果MAC地址漂移发生频率达到或超过环路告警阈值,则MAC地址漂移发生频率有可能达到或超过第二保护阈值。本实施例中,所述操作模块还可以用于在停止将MAC地址漂移报文上报给所述 CPU后,等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空,则恢复将MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。本实施例中,无论所述判断模块按哪种方式判断MAC地址漂移的情况是否满足保护条件,所述操作模块还可以用于在恢复将MAC地址漂移报文上报给所述CPU前,先判断 MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复将MAC地址漂移报文上报给所述CPU。所述第一时间、第二时间的长度可以相同,也可以不同;可根据试验或经验确定长度。
10
本实施例中,该装置中的判断模块和操作模块、或其中之一可以但不限于由以太网交换机中的CPU实现,如果操作模块由其它装置实现,则停止将MAC地址漂移报文上报给所述CPU可以是指拦截上报给所述CPU的MAC地址漂移报文,也可以是指示所述CPU停止接收MAC地址漂移报文。其它具体细节可参见实施例一。实施例三,一种介质访问控制地址漂移的检测方法,包括 将MAC地址漂移报文上报给CPU ;
所述CPU根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件,如果满足则停止MAC地址漂移报文上报。本实施例中,所述判断MAC地址漂移的情况是否满足保护条件可以但不限于是指
判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。也就是说MAC漂移统计链表长度达到或超过预设的第一保护阈值、MAC地址漂移发生频率达到或超过预设的第二保护阈值这两种情况只要发生一种,就判断MAC地址漂移的情况满足保护条件。这里列举了两种判断满足保护条件的情况,实际应用时可以不限于此,可以按照需求设置别的保护条件,而且也不排除将保护条件设置为上述两个情况都发生;只要满足设置的保护条件,就停止MAC地址漂移报文上报。另外实际应用时,所述判断MAC地址漂移的情况是否满足保护条件可以只指任一种情况,而对另一种情况不予考虑(即另一种情况即使发生也不算满足保护条件),也就是说除了上文所述的判断方式以外,还可以包括下述两种实施方式
第一种实施方式
所述判断MAC地址漂移的情况是否满足保护条件是指判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值。第二种实施方式
所述判断MAC地址漂移的情况是否满足保护条件是指判断MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。本实施例中,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还可以包括
判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。也就是说,当MAC地址漂移频率达到或超过环路告警阈值时,只要采取了解除环路的措施(即阻塞相关端口),那么无论是否发出告警,都不用再去判断是否满足保护条件。另外,MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下,发出告警的步骤和判断MAC地址漂移的情况是否满足保护条件的步骤先后次序不限,也可以并行。
11
由于所述第二保护阈值通常会大于所述环路告警阈值,因此如果MAC地址漂移发生频率没达到环路告警阈值,就必然也不会达到所述第二保护阈值;而如果MAC地址漂移发生频率达到或超过环路告警阈值,则MAC地址漂移发生频率有可能达到或超过第二保护阈值。本实施例可保证在MAC地址漂移频率未达到环路告警阈值的情况下,CPU不会因为处理MAC漂移报文而长时间处于利用率较高的程度。下面用一个具体例子进行说明,该例子中,由ASIC芯片将MAC地址漂移报文上报给CPU,由CPU判断MAC地址漂移的情况是否满足保护条件,如果满足则停止MAC地址漂移报文;实际应用时,不限于此。参考图1,该例子包括下列步骤
步骤101 判断以太网交换机当前端口是否阻塞,阻塞时丢弃报文;未阻塞时,正常进行MAC地址的学习和报文的转发。报文的处理都是通过ASIC芯片实现,不需要CPU参与。步骤102 判断ASIC芯片是否开启了 MAC地址漂移检测功能。未开启漂移检测时, 按照现有流程处理。步骤103 开启MAC地址漂移检测功能时,判断当前报文是否为MAC地址漂移报文。为MAC地址漂移报文时,将报文上送CPU处理,上送原因标识为MAC地址漂移。不是 MAC地址漂移报文时按照现有流程处理。步骤104 根据报文上送CPU原因进行判断,对MAC地址漂移情况进行统计,包括所属VLAN,MAC地址漂移发生时间,MAC地址漂移发生次数等相关信息。步骤105 判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时,向上层网管发出告警,等待处理或者立即阻塞相关端口,解除环路,以保证其它业务的正常运行。步骤106 =MAC地址漂移频率未达到环路告警阈值时,判断MAC地址漂移的情况是否满足保护条件,本例子中是达到或超过预设的保护阈值,所述保护阈值包括所述第一、第二保护阈值;达到或超过保护阈值,则停止因为MAC地址漂移上交报文给CPU,以保证CPU 不会因为处理MAC地址漂移报文而长时间处于利用率较高的程度。其中,根据步骤105中处理方案的不同,可以有两种应用情况 第一种情况
步骤105中,当MAC地址漂移频率达到或超过环路告警阈值时不仅向上层网管发出告警,还阻塞了相关端口,解除环路;此时就无需进行步骤106 ;在MAC地址漂移频率未达到环路告警阈值时才进行步骤106。步骤106判断MAC地址漂移统计链表长度是否达到或超过CPU保护阈值,当达到或超过CPU保护阈值时,表示在多个端口上都发生了 MAC地址漂移,或者是多个MAC地址在统计周期内都发生了漂移,因此停止报文因为MAC地址漂移原因上交CPU。第二种情况
当使用MAC地址漂移检测环路时,如果手动处理环路,而不是自动阻塞相关端口,可避免因为检测错误阻塞端口,影响正常业务。此时在步骤105中当MAC地址漂移频率达到或超过环路告警阈值时仅向上层网关发出告警信息,并不阻塞相关端口,不解除环路。在这种情况下,MAC地址漂移告警会以MAC漂移统计的统计周期向网管发送告警信息。通常此周期时间较短,造成上层网管人员会频繁收到环路告警。该情况下,MAC地址漂移频率未达到环路告警阈值时会进行步骤106,达到或超过环路告警阈值时也进行步骤106。相应的,步骤106中判断当前MAC地址漂移发生频率是否达到或超过CPU保护阈值,达到或超过时停止报文因为MAC地址漂移原因上交CPU。本实施例保护CPU利用率的同时,避免了上层网管频繁收到环路告警。停止MAC地址漂移检测报文上报给CPU后,无法继续检测网络环路,因此需要定时恢复将MAC地址漂移检测报文上报给CPU,以满足在保护CPU安全的同时,保证网络的稳定。本实施例中,所述停止MAC地址漂移报文上报的步骤后还可以包括
等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复 MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。本实施例中,无论按哪种方式判断MAC地址漂移的情况是否满足保护条件,在恢复MAC地址漂移报文上报的步骤前还可以包括判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复MAC地址漂移报文上报的步骤。所述第一时间、第二时间的长度可以相同,也可以不同;可根据试验或经验确定长度。本实施例中,可以但不限于用计时器或定时器来对所述第一、第二时间进行计时; 上述步骤一个具体实例中,第一时间和第二时间相同,用一个恢复MAC地址漂移检测计时器进行计时,该实例如图2所示,包括
步骤201 因为保护CPU利用率而停止上报MAC地址漂移检测报文。步骤202 启动恢复MAC地址漂移检测计时器。步骤203 判断计时器是否到时(即达到所述第一 /第二时间),未到时继续计时。步骤204 计时器到时,判断MAC地址漂移报文的队列是否为空,不为空时,仍存在停止MAC地址漂移报文上报前队列中的MAC漂移通知消息。重新启动恢复MAC地址漂移检测计时器;这样可以等待报文清空。避免队列中的报文影响重新开启MAC地址漂移检测报文上报后的统计分析。步骤205 队列为空时,判断MAC地址漂移统计链表长度是否达到或超过所述第一保护阈值。达到或超过第一保护阈值时,重新启动恢复MAC地址漂移检测计时器。这样可以等待MAC地址漂移统计链表的部分结点老化。步骤206 重新开启MAC地址漂移检测报文上报,继续检测环路。实施例四,一种以太网交换机,包括 中央处理器CPU;
专用集成电路ASIC芯片,用于将MAC地址漂移报文上报给所述CPU ; 所述CPU包括
判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;
操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时停止MAC地址漂移报文上报。本实施例中,所述判断模块判断MAC地址漂移的情况是否满足保护条件可以但不限于是指
所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或 MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。也就是说MAC漂移统计链表长度达到或超过预设的第一保护阈值、MAC地址漂移发生频率达到或超过预设的第二保护阈值这两种情况只要发生一种,所述判断模块就判断 MAC地址漂移的情况满足保护条件。这里列举了两种判断满足保护条件的情况,实际应用时可以不限于此,可以按照需求设置别的保护条件,而且也不排除将保护条件设置为上述两个情况都发生;只要满足设置的保护条件,就停止MAC地址漂移报文上报。另外实际应用时,所述判断模块判断MAC地址漂移的情况是否满足保护条件可以只指任一种情况,而对另一种情况不予考虑(即另一种情况即使发生也不算满足保护条件),也就是说除了上文所述的判断方式以外,还可以包括下述两种实施方式
第一种实施方式
所述判断模块判断MAC地址漂移的情况是否满足保护条件是指判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值。第二种实施方式
所述判断模块判断MAC地址漂移的情况是否满足保护条件是指判断MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。本实施例中,所述判断模块还可以用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC 地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。也就是说,当MAC地址漂移频率达到或超过环路告警阈值时,只要采取了解除环路的措施(即阻塞相关端口),那么无论是否发出告警,都不用再去判断是否满足保护条件。另外,MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下,发出告警的步骤和判断MAC地址漂移的情况是否满足保护条件的步骤先后次序不限,也可以并行。由于所述第二保护阈值通常会大于所述环路告警阈值,因此如果MAC地址漂移发生频率没达到环路告警阈值,就必然也不会达到所述第二保护阈值;而如果MAC地址漂移发生频率达到或超过环路告警阈值,则MAC地址漂移发生频率有可能达到或超过第二保护阈值。本实施例可保证在MAC地址漂移频率未达到环路告警阈值的情况下,CPU不会因为处理MAC漂移报文而长时间处于利用率较高的程度。本实施例中,所述操作模块还可以用于在停止MAC地址漂移报文上报后,等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空,则恢复MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。
14
本实施例中,无论所述判断模块按哪种方式判断MAC地址漂移的情况是否满足保护条件,所述操作模块还用于在恢复MAC地址漂移报文上报前,先判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复MAC地址漂移报文上报。所述第一时间、第二时间的长度可以相同,也可以不同;可根据试验或经验确定长度。其它实现细节可参见实施例三。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
1权利要求
1.一种报文处理方法,包括根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;如果MAC地址漂移的情况满足保护条件则停止将MAC地址漂移报文上报给所述CPU。
2.如权利要求1所述的方法,其特征在于,所述判断MAC地址漂移的情况是否满足保护条件是指判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。
3.如权利要求1所述的方法,其特征在于,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还包括判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。
4.如权利要求1到3中任一项所述的方法,其特征在于,所述停止将MAC地址漂移报文上报给所述CPU的步骤后还包括等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复将MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。
5.如权利要求4所述的方法,其特征在于,在恢复将MAC地址漂移报文上报给所述CPU 的步骤前还包括判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复将MAC地址漂移报文上报给所述CPU的步骤。
6.一种报文处理装置,其特征在于,包括判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时,停止将MAC 地址漂移报文上报给所述CPU。
7.如权利要求6所述的装置,其特征在于,所述判断模块判断MAC地址漂移的情况是否满足保护条件是指所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或 MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。
8.如权利要求6所述的装置,其特征在于所述判断模块还用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。
9.如权利要求6到8中任一项所述的装置,其特征在于所述操作模块还用于在停止将MAC地址漂移报文上报给所述CPU后,等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空,则恢复将MAC地址漂移报文上报给所述CPU,如果不为空则重新等待所述第一时间后再次判断。
10.如权利要求9所述的装置,其特征在于所述操作模块还用于在恢复将MAC地址漂移报文上报给所述CPU前,先判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复将MAC地址漂移报文上报给所述CPU。
11.一种介质访问控制地址漂移的检测方法,包括将MAC地址漂移报文上报给CPU ;所述CPU根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件,如果满足则停止MAC地址漂移报文上报。
12.如权利要求11所述的方法,其特征在于,所述判断MAC地址漂移的情况是否满足保护条件是指 判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。
13.如权利要求11所述的方法,其特征在于,所述判断MAC地址漂移的情况是否满足保护条件的步骤前还包括判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下进行所述判断MAC地址漂移的情况是否满足保护条件的步骤。
14.如权利要求11到13中任一项所述的方法,其特征在于,所述停止MAC地址漂移报文上报的步骤后还包括等待预定长度的第一时间后,判断MAC地址漂移报文队列是否为空;如果为空,则恢复 MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。
15.如权利要求14所述的方法,其特征在于,在恢复MAC地址漂移报文上报的步骤前还包括判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则进行所述恢复MAC地址漂移报文上报的步骤。
16.一种以太网交换机,包括中央处理器CPU;专用集成电路ASIC芯片,用于将MAC地址漂移报文上报给所述CPU ;其特征在于,所述CPU包括判断模块,用于根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;操作模块,用于当所述判断模块判断MAC地址漂移的情况满足保护条件时停止MAC地址漂移报文上报。
17.如权利要求16所述的以太网交换机,其特征在于,所述判断模块判断MAC地址漂移的情况是否满足保护条件是指所述判断模块判断MAC漂移统计链表长度是否达到或超过预设的第一保护阈值,或MAC地址漂移发生频率是否达到或超过预设的第二保护阈值。
18.如权利要求16所述的以太网交换机,其特征在于所述判断模块还用于在判断MAC地址漂移的情况是否满足保护条件前,先判断MAC地址漂移频率是否达到或超过环路告警阈值,达到或超过环路告警阈值时发出告警、或发出告警并解除环路;MAC地址漂移频率未达到环路告警阈值时、或MAC地址漂移频率达到或超过环路告警阈值但不解除环路的情况下则判断MAC地址漂移的情况是否满足保护条件。
19.如权利要求16到18中任一项所述的以太网交换机,其特征在于所述操作模块还用于在停止MAC地址漂移报文上报后,等待预定长度的第一时间,然后判断MAC地址漂移报文队列是否为空;如果为空则恢复MAC地址漂移报文上报,如果不为空则重新等待所述第一时间后再次判断。
20.如权利要求19所述的以太网交换机,其特征在于所述操作模块还用于在恢复MAC地址漂移报文上报前,先判断MAC漂移统计链表长度是否达到或超过所述第一保护阈值,如果达到或超过则重新等待预定长度的第二时间后再次判断,如果没达到则恢复MAC地址漂移报文上报。
全文摘要
本发明公开了一种报文处理方法、MAC地址漂移的检测方法及装置;所述报文处理方法包括根据MAC地址漂移报文的上报情况,判断MAC地址漂移的情况是否满足保护条件;如果MAC地址漂移的情况满足保护条件则停止将MAC地址漂移报文上报给所述CPU。本发明能防止CPU利用率过高,以保护CPU的安全和其他业务的运行稳定。
文档编号H04L12/56GK102223269SQ20111017048
公开日2011年10月19日 申请日期2011年6月23日 优先权日2011年6月23日
发明者王晓舟 申请人:瑞斯康达科技发展股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1