交换机端口控制方法和装置的制作方法

文档序号:7741150阅读:144来源:国知局
专利名称:交换机端口控制方法和装置的制作方法
技术领域
本发明实施例涉及交换机控制技术,尤其涉及一种交换机端口控制方法和装置。
背景技术
交换机(Switch)是网络中的常见设备,其具有多个端口,每个端口一般又可通过 下级的交换机或集线器(HUB)连接多个用户的网络设备。在实际网络应用中,每一台网络 设备都拥有一个全球唯一的媒体访问控制(MediumAccess Control,简称MAC)地址,但是, 在交换机的使用过程中仍然存在MAC地址漂移(MAC Flapping)问题。所谓MAC地址漂移, 就是MAC地址发生了移动。当某个源MAC地址的报文从交换机的一个端口接入时,交换机 就会学习到这个报文的MAC地址与端口的对应关系,在这个MAC地址没有老化前,又有相同 源MAC地址的报文从交换机的另外一个端口接入,也就是MAC地址从一个端口移动到了另 一个端口时,就发生了 MAC地址漂移。实际网络应用中,各网络设备的MAC地址通常是唯一的,所以由于网络设备MAC地 址重复而导致MAC地址漂移的可能性很小。出现MAC地址漂移的原因主要有两方面,即用 户侧网络形成环路和仿冒攻击。当某一用户的网络设备发送出一个报文,若报文经过两条 路径发送到同一交换机的不同端口,则称为用户侧网络形成环路。所谓仿冒攻击,即非法用 户仿冒合法MAC地址,非法接入网络的行为。现有技术通过克服MAC地址漂移问题的手段是将发生MAC地址漂移的端口进行阻 断或者上报告警。但是,发明人在进行本发明的研究过程中,发现现有技术存在如下缺陷 检测到MAC地址漂移即阻断端口,将导致该端口下其他用户无法实现业务,这些用户和上 层网络之间的业务都将中断。

发明内容
本发明实施例提供一种交换机端口控制方法和装置,以有效解决用户侧网络成环 和仿冒攻击的问题。本发明实施例提供了一种交换机端口控制方法,包括当监测到媒体访问控制地址发生漂移时,将所述媒体访问控制地址的状态设置为 阻断状态;监测与端口对应的处于阻断状态的媒体访问控制地址的个数以获得阻断个数 值;当监测到所述阻断个数值达到个数门限值时,阻断所述端口,并将所述端口下的 媒体访问控制地址的状态均设置为正常状态。本发明实施例还提供了一种交换机端口控制装置,包括地址状态机,用于当监测到媒体访问控制地址发生漂移时,将所述媒体访问控制 地址的状态设置为阻断状态;阻断监测模块,用于监测与端口对应的处于阻断状态的媒体访问控制地址的个数以获得阻断个数值;端口阻断模块,用于当监测到所述阻断个数值达到个数门限值时,阻断所述端口, 并将所述端口下的媒体访问控制地址的状态均设置为正常状态。本发明所提供的交换机端口控制方案,既解决了用户侧网络成环问题,又解决了 仿冒攻击问题,提高了实现用户业务的可靠性,对网络情况的适应性强,且能够降低占用的 交换机控制资源。


图1为仿冒攻击的情况示意图;图2为用户侧网络成环的情况示意图;图3为本发明实施例一提供的交换机端口控制方法的流程图;图4为本发明实施例二提供的交换机端口控制方法中状态设置步骤的流程图;图5为本发明实施例三提供的交换机端口控制方法中状态设置步骤的流程图;图6为本发明实施例三中地址状态关系示意图;图7为本发明实施例四提供的交换机端口控制装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一图3为本发明实施例一提供的交换机端口控制方法的流程图,该方法可以由交换 机中的控制装置来执行,实现对各端口进行控制,对于每一个端口所执行的控制方法相同, 具体包括如下步骤步骤310、当控制装置监测到MAC地址发生漂移时,将该MAC地址的状态设置为阻 断状态。步骤320、控制装置监测与端口对应的处于阻断状态的MAC地址的个数以获得阻 断个数值。步骤330、当控制装置监测到该端口中的阻断个数值达到个数门限值时,阻断该端 口,并将该端口下的MAC地址的状态均设置为正常状态。本实施例中,将MAC地址的状态设置为阻断状态,即阻断该MAC地址,可以采 用将阻断状态下的MAC地址下发至交换芯片表项中,使该MAC地址成为黑洞MAC地址 (BlackHole MAC Address)的方式,交换芯片在执行转发控制时,可以根据交换芯片表项中 的黑洞MAC地址进行匹配,丢弃匹配到的报文。采用设置为黑洞MAC地址的方式,将学习到 该MAC地址的端口所属的虚拟局域网(Virtual Local Area Network,简称VLAN)内所有端 口采用该MAC地址作为源地址或目的地址的报文均丢弃,不再进行处理,从而达到阻断MAC 地址的效果。而该交换机上其他VLAN内的端口不阻断该MAC地址。阻断端口即将该端口 要接收或发送的报文丢弃,不再使用该端口,具体可以通过设置寄存器来实现端口阻断、阻断端口后无需判断该被阻断的端口所收发报文的MAC地址是否被阻断,而是控制该端口丢 弃所有收发的报文。具体应用中,交换机中CPU可作为控制装置对各端口进行检测和控制。当发生MAC 地址漂移时,对应的报文会携带着端口信息被上送至CPU处理,控制装置由此监测到MAC地 址是否漂移,以便更新MAC地址对应的状态。本实施例的技术方案,通过对每个端口中阻断状态MAC地址进行数量统计,当阻 断MAC地址的数量达到一定阈值时,即将该端口整个阻断。阻断整个端口的同时,将该端口 下阻断状态的MAC地址恢复为正常状态,则在其他未阻断端口中,该MAC地址被释放,其报 文不再被丢弃。如图1所示为仿冒攻击的情况示意图,图中虚线箭头表示仿冒攻击流,实线箭头 表示正常业务流,由图1可知,交换机的端口一和端口 二处将发生MAC地址漂移,该MAC地 址将在端口一和端口二均被阻断。采用上述技术方案,对于仿冒用户进行非法接入的情况, 同一个端口下出现多个MAC地址漂移的可能性不大,此时不会阻断端口,只会阻断MAC地 址。由于仿冒攻击而产生的MAC地址漂移,只有攻击者和被仿冒者才受到影响,减少了其他 正常用户受影响的可能。如图2所示为用户侧网络成环的情况示意图,多个用户通过第一交换机和第二交 换机接入网络,此时第二交换机的同一个端口下若出现多于个数门限值的MAC地址漂移的 情况,则判断为是由于用户侧网络成环而引起的。所以,对于用户侧网络成环产生的MAC地 址漂移,当某个端口下阻断的MAC地址数目达到某一阈值时就阻断该端口,阻断环路流量, 但该端口下被阻断过的MAC地址被释放,从另一路径达到另一个端口的该MAC地址报文可 以被接收和发送,这样就能解决用户侧网络成环问题。因此,上述技术方案,既解决了用户侧网络成环问题,又解决了仿冒攻击问题,提 高了实现用户业务的可靠性,对网络情况的适应性强,且能够降低占用的交换机控制资源。在本实施例的基础上,当存在静态MAC地址时,不对应静态MAC地址的更新其状 态。静态MAC地址是由人手工设定的,指定了入端口和出端口,所以静态MAC地址不会出现 用户侧成环的现象。对于静态MAC地址,当在非设定的其他端口获取到包含该静态MAC地 址的报文时,由于与人为设定端口不符,则丢弃该报文,所以静态MAC地址不会因漂移而触 发状态变更。具体应用中,当监测到MAC地址发生漂移时,将MAC地址的状态设置为阻断状态的 方式可以为当监测到MAC地址发生漂移时,更新该MAC地址的阻断计数值,并判断该阻断 计数值是否达到计数门限值,当阻断计数值达到计数门限值时,则将该MAC地址的状态设 置为阻断状态。上述技术方案在MAC地址漂移次数达到设定数量时才进行阻断,避免由于调试、 配置等原因而将偶然产生的MAC地址漂移也一并阻断。实施例二图4为本发明实施例二提供的交换机端口控制方法中状态设置步骤的流程图,在 本实施例中,进一步优化了对MAC地址所对应状态的控制。MAC地址的状态可以包括正常 (Normal)状态、暂时阻断(Tentative Block)状态和阻断(Block)状态。其中,暂时阻断 状态和阻断状态都可以阻断MAC地址,而阻断状态相对于暂时阻断而言是一种永久阻断状态。具体地,正常状态的MAC地址没有发生MAC地址漂移,采用该MAC地址作为源地址和目 的地址的报文可以正常转发。暂时阻断状态的MAC地址因MAC地址漂移而被阻断,采用该 MAC地址作为源地址和目的地址的报文都将被丢弃。阻断状态的MAC地址因MAC地址漂移 次数累计达到允许的最大次数而被阻断。则当控制装置监测到MAC地址发生漂移时,将该MAC地址的状态设置为阻断状态 的流程可以具体包括如下步骤步骤410、当控制装置监测到MAC地址发生漂移时,更新该MAC地址的阻断计数值。步骤420、控制装置判断阻断计数值是否达到计数门限值,若否,则执行步骤430, 若是,则控制装置将该MAC地址的状态设置为阻断状态。步骤430、控制装置将MAC地址的状态设置为暂时阻断状态,启动该MAC地址的阻 断计时器并监测阻断计时器的计时值。步骤440、当控制装置监测到处于暂时阻断状态的该MAC地址对应的计时值达到 计时门限值时,将该MAC地址的状态设置为正常状态。此时可以将该阻断计时器停止并清 零,也可以在该阻断计时器下次启动时清零。在本实施例中,每个MAC地址所对应的状态值、阻断计数值、计时值都可以通过软 件来实现。可以对应每个MAC地址分配数个的数值位,成为一个对应该MAC地址的节点。每 个数值位记录一个值,由控制装置对各个节点进行更新。例如,控制装置按照设定周期,例 如1秒,将每个启动的阻断计时器的计时值加一。当已阻断过的MAC地址恢复至正常状态 时,其对应的计时值清零,阻断计时器停止运行,即控制装置不再周期性的增加阻断计时器 的计时值。当监测到对阻断计数值的更新时,即将阻断计数值递增加一,以记录该MAC地址 被阻断的次数。采用本实施例的技术方案,一方面,对于发生漂移的MAC地址,首先记为暂时阻断 状态,计时门限值为预设MAC地址持续被阻断的时间,在暂时阻断状态下由于MAC地址被阻 断,所以不会接收报文而再次发生MAC地址漂移,因此,阻断计时器不会在暂时阻断状态下 由于漂移而停止。在实际应用中,由于调试、配置等原因,可能会发生MAC地址的暂时性漂 移,不必根据少量的漂移现象就永久阻断MAC地址。另一方面,对于MAC地址的阻断次数进 行记录,计数门限值为预设的MAC地址的最大暂时阻断次数值,若某个MAC地址的阻断次数 达到设定的计数门限值时,则将该MAC地址设为阻断状态,不能再自动恢复为正常状态。实施例三图5为本发明实施例三提供的交换机端口控制方法中状态设置步骤的流程图,本 实施例以实施例二为基础,进一步优化MAC地址的状态控制。本实施例中,MAC地址的状态 包括四种正常状态、暂时阻断状态、暂时撤销(Retry)状态和阻断状态。其中进一步增加 的暂时撤销状态,其对应的MAC地址表示因MAC地址漂移而被阻断过,但达到阻断最大时间 后,暂时撤销对此MAC地址的阻断。在本实施例中,当控制装置监测到处于暂时阻断状态的 MAC地址对应的该阻断计时器的计时值达到计时门限值时,将该漂移的MAC地址的状态设 置为正常状态的流程具体包括如下步骤步骤510、当控制装置监测到处于暂时阻断状态的MAC地址对应的该阻断计时器 的计时值达到第一计时门限值时,将该MAC地址的状态设置为暂时撤销状态。第一计时门限值是暂时阻断状态下MAC地址被阻断的持续时间。
步骤520、当控制装置监测到处于暂时撤销状态的MAC地址发生漂移时,更新该 MAC地址的阻断计数值。步骤530、控制装置判断该阻断计数值是否达到计数门限值,若否,则执行步骤 讨0,若是,将该MAC地址的状态设置为阻断状态。步骤M0、控制装置将该MAC地址的状态设置为暂时阻断状态,启动阻断计时器并 监测计时值。启动该阻断计时器时将该阻断计时器的计时值清零。步骤550、若该MAC地址在暂时撤销状态下没有再次发生漂移,阻断计时器继续计 时,则当控制装置监测到处于暂时撤销状态的该MAC地址对应的计时值进一步达到第二计 时门限值时,将该MAC地址的状态设置为正常状态,将阻断计数值清零。此时可以将该阻断 计时器停止并清零,也可以在该阻断计时器下次启动时清零。第二计时门限值和第一计时 门限值之间的差值为暂时撤销状态持续的时间,第二计时门限值实际上为暂时阻断状态的 MAC地址可恢复至正常状态的持续时间,本实施例中第二计时门限值大于第一计时门限值。在本实施例中,MAC地址对应四种状态,状态之间的关系如图6所示。对于合法的 报文,控制装置可以将该报文的MAC地址在地址状态机中进行地址控制。地址状态机的状 态计算过程具体如下在正常状态下,若发生漂移,则将正常状态转换为暂时阻断状态。在暂时阻断状态下,若设定时间内未再次发生漂移,则将暂时阻断状态转换为暂 时撤销状态,暂时撤销状态下的MAC地址对应的报文被正常处理。在暂时撤销状态下,若监测到MAC地址漂移,则将阻断计数值加一,此时若阻断计 数值未达到计数门限值,则将暂时撤销状态转换为暂时阻断状态,若设定时间内没有监测 到MAC地址漂移,则恢复到正常状态,将阻断计数值清零。在暂时撤销状态下,若由于发生漂移而使得阻断计数值达到门限值,则将MAC地 址的状态转换为阻断状态。在暂时撤销状态下,若该MAC地址在阻断计时器达到第二计时门限值前没有再次 发生漂移,则恢复至正常状态。在暂时阻断状态、暂时撤销状态和永久阻断状态下,都可以通过人工设定来将MAC 地址状态恢复至正常状态。设置四个状态,可以满足用户的使用需求,不必一发生MAC地址漂移就立刻设置 为永久阻断状态。在设备安装、调试、网络升级时发生MAC地址漂移的可能性较大,设置上 述四个状态,可以实现暂时阻断,然后自动恢复,无须人工干预。采用本发明实施例的技术方案,能有效处理各种原因产生的MAC地址漂移,有效 阻断环路流量,拒绝攻击访问,且对正常业务的影响降低到最小。实施例四图7为本发明实施例四提供的交换机端口控制装置的结构示意图,该控制装置可 以集成在交换机中,具体包括地址状态机710、阻断监测模块720和端口阻断模块730。其 中,地址状态机710用于当监测到MAC地址发生漂移时,将该MAC地址的状态设置为阻断状 态。阻断监测模块720用于监测与端口对应的处于阻断状态的MAC地址的个数以获得阻断 个数值。端口阻断模块730用于当监测到阻断个数值达到个数门限值时,阻断该端口,并将 该端口下的MAC地址的状态均设置为正常状态。
可以对应各个MAC地址分别设置阻断计时器和阻断计数器,地址状态机通过监测 漂移现象,以及阻断计时器和阻断计数器来进行状态控制。在本实施例中,该阻断状态相当于一种永久的阻断状态,MAC地址的状态还可以进 一步包括暂时阻断状态。该地址状态机710具体包括阻断计数模块716、暂时阻断模块 711、正常模块712和永久阻断模块713。其中,阻断计数模块716用于当监测到MAC地址 发生漂移时,更新MAC地址的阻断计数值,并判断阻断计数值是否达到计数门限值。暂时阻 断模块711用于当阻断计数模块716判断阻断计数值未达到计数门限值时,则将该MAC地 址的状态设置为暂时阻断状态,启动该MAC地址的阻断计时器并监测计时值。永久阻断模 块713用于当阻断计数模块716判断阻断计数值达到计数门限值时,则将MAC地址的状态 设置为阻断状态。正常模块712用于当监测到处于暂时阻断状态的该MAC地址对应的计时 值达到计时门限值时,将该MAC地址的状态设置为正常状态。进一步的,正常模块712可以具体包括暂时撤销模块714和恢复正常模块715。 其中,暂时撤销模块714用于当监测到处于暂时阻断状态的MAC地址对应的阻断计时器的 计时值达到第一计时门限值时,将该MAC地址的状态设置为暂时撤销状态。恢复正常模块 715用于当监测到处于暂时撤销状态的MAC地址对应的阻断计时器的计时值达到第二计时 门限值时,将该MAC地址的状态设置为正常状态,本实施例中第二计时门限值大于第一计 时门限值。在暂时撤销状态下,若监测到MAC地址漂移,则由触发阻断计数模块716执行相 应的操作。本发明实施例所提供的交换机端口控制装置可以执行本发明的交换机端口控制 方法,具备相应的功能模块。采用上述技术方案,既解决了用户侧网络成环问题,又解决了 仿冒攻击问题,提高了实现用户业务的可靠性,对网络情况的适应性强,且能够降低占用的 交换机控制资源。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
1.一种交换机端口控制方法,其特征在于,包括当监测到媒体访问控制地址发生漂移时,将所述媒体访问控制地址的状态设置为阻断 状态;监测与端口对应的处于阻断状态的媒体访问控制地址的个数以获得阻断个数值;当监测到所述阻断个数值达到个数门限值时,阻断所述端口,并将所述端口下的媒体 访问控制地址的状态均设置为正常状态。
2.根据权利要求1所述的控制方法,其特征在于,当监测到媒体访问控制地址发生漂 移时,将所述媒体访问控制地址的状态设置为阻断状态包括当监测到媒体访问控制地址发生漂移时,更新所述媒体访问控制地址的阻断计数值, 并判断所述阻断计数值是否达到计数门限值,当所述阻断计数值达到计数门限值时,则将 所述媒体访问控制地址的状态设置为阻断状态。
3.根据权利要求2所述的控制方法,其特征在于,还包括当所述阻断计数值未达到计数门限值时,则将所述媒体访问控制地址的状态设置为暂 时阻断状态,启动所述媒体访问控制地址的阻断计时器并监测计时值;当监测到处于暂时阻断状态的所述媒体访问控制地址对应的所述计时值达到计时门 限值时,将所述媒体访问控制地址的状态设置为正常状态。
4.根据权利要求3所述的控制方法,其特征在于,当监测到处于暂时阻断状态的所述 媒体访问控制地址对应的所述计时值达到计时门限值时,将所述媒体访问控制地址的状态 设置为正常状态包括当监测到处于暂时阻断状态的所述媒体访问控制地址对应的所述计时值达到第一计 时门限值时,将所述媒体访问控制地址的状态设置为暂时撤销状态;当监测到处于暂时撤销状态的所述媒体访问控制地址对应的所述计时值达到第二计 时门限值时,将所述媒体访问控制地址的状态设置为正常状态。
5.根据权利要求1所述的控制方法,其特征在于,将所述媒体访问控制地址的状态设 置为阻断状态包括将所述媒体访问控制地址下发至交换芯片表项成为黑洞媒体访问控制地址。
6.一种交换机端口控制装置,其特征在于,包括地址状态机,用于当监测到媒体访问控制地址发生漂移时,将所述媒体访问控制地址 的状态设置为阻断状态;阻断监测模块,用于监测与端口对应的处于阻断状态的媒体访问控制地址的个数以获 得阻断个数值;端口阻断模块,用于当监测到所述阻断个数值达到个数门限值时,阻断所述端口,并将 所述端口下的媒体访问控制地址的状态均设置为正常状态。
7.根据权利要求6所述的控制装置,其特征在于,所述地址状态机包括阻断计数模块,用于当监测到媒体访问控制地址发生漂移时,更新所述媒体访问控制 地址的阻断计数值,并判断所述阻断计数值是否达到计数门限值;暂时阻断模块,用于当所述阻断计数模块判断所述阻断计数值未达到计数门限值时, 则将所述媒体访问控制地址的状态设置为暂时阻断状态,启动所述媒体访问控制地址的阻 断计时器并监测计时值;永久阻断模块,用于当所述阻断计数模块判断所述阻断计数值达到计数门限值时,则 将所述媒体访问控制地址的状态设置为阻断状态;正常模块,用于当监测到处于暂时阻断状态的所述媒体访问控制地址对应的所述计时 值达到计时门限值时,将所述媒体访问控制地址的状态设置为正常状态。
8.根据权利要求7所述的控制装置,其特征在于,所述正常模块包括 暂时撤销模块,用于当监测到处于暂时阻断状态的所述媒体访问控制地址对应的所述 计时值达到第一计时门限值时,将所述媒体访问控制地址的状态设置为暂时撤销状态;恢复正常模块,用于当监测到处于暂时撤销状态的所述媒体访问控制地址对应的所述 计时值达到第二计时门限值时,将所述媒体访问控制地址的状态设置为正常状态。
全文摘要
本发明实施例提供一种交换机端口控制方法和装置。该方法包括当监测到媒体访问控制地址发生漂移时,将媒体访问控制地址的状态设置为阻断状态;监测与端口对应的处于阻断状态的媒体访问控制地址的个数以获得阻断个数值;当监测到阻断个数值达到个数门限值时,阻断端口,并将端口下的媒体访问控制地址的状态均设置为正常状态。本发明所提供的交换机端口控制方案,既解决了用户侧网络成环问题,又解决了仿冒攻击问题,提高了实现用户业务的可靠性,对网络情况的适应性强,且能够降低占用的交换机控制资源。
文档编号H04L29/06GK102136960SQ20101010406
公开日2011年7月27日 申请日期2010年1月27日 优先权日2010年1月27日
发明者周道龙, 顾荣伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1