CN106231007A - 一种防止mac地址漂移的方法及装置 - Google Patents
一种防止mac地址漂移的方法及装置 Download PDFInfo
- Publication number
- CN106231007A CN106231007A CN201610822614.7A CN201610822614A CN106231007A CN 106231007 A CN106231007 A CN 106231007A CN 201610822614 A CN201610822614 A CN 201610822614A CN 106231007 A CN106231007 A CN 106231007A
- Authority
- CN
- China
- Prior art keywords
- port
- message
- source mac
- bundling
- network access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种防止MAC地址漂移的方法及装置,所述方法包括:从所述网络接入设备的至少一个端口接收第一报文;查询是否已经存储有与所述源MAC地址绑定的绑定端口;当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发;当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。所述方法将从未绑定的端口接收的第一报文丢弃掉,既可避免出现以太网环路以及其引发的广播风暴,也防止了MAC地址漂移的问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种防止MAC地址漂移的方法及装置。
背景技术
在以太网络应用中,由于错误的配置或者连接,会出现以太网环路的情况,导致MAC(Media Access Control,介质访问控制)地址漂移,使得网络不可用。目前,通过支持STP(Spanning Tree Protocol,生成树协议)协议等的高端可管理交换机可以部分解决MAC地址漂移问题,但是支持STP等协议的交换机,其价格均较为昂贵。
发明内容
有鉴于此,本发明实施例的目的在于提供一种防止MAC地址漂移的方法及装置。
第一方面,本发明实施例提供一种防止MAC地址漂移的方法,所述方法包括:从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址;查询是否已经存储有与所述源MAC地址绑定的绑定端口;当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发;当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
第二方面,本发明实施例提供一种防止MAC地址漂移的装置,所述装置包括:接收模块,用于从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址;查询模块,用于查询是否已经存储有与所述源MAC地址绑定的绑定端口;第一处理模块,用于当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发;第二处理模块,用于当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
与现有技术相比,本发明实施例提供的一种防止MAC地址漂移的方法及装置,从所述网络接入设备的一个或多个端口接收到第一报文,仅将绑定端口接收到的第一报文从未接收到所述第一报文到端口转发,而将从未绑定的端口接收的第一报文丢弃或不处理,通过这种方式,既可避免出现以太网环路以及其引发的广播风暴,也防止了MAC地址漂移的问题,并且不需要支持STP等协议的交换机即可实现。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种网络接入设备与终端交互的示意图。
图2是本发明实施例提供的另一种网络接入设备与终端交互的示意图。
图3是本发明实施例提供的一种防止MAC地址漂移的方法的流程图。
图4是本发明实施例提供的一种防止MAC地址漂移的方法中的部分流程图。
图5是本发明实施例提供的一种防止MAC地址漂移的方法中的步骤S350的流程图。
图6是本发明实施例提供的一种防止MAC地址漂移的装置的功能模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或时间先后。
如图1所示,是本发明实施例提供的一种网络接入设备(如图1中所示201至203)与终端100进行交互的示意图。所述网络接入设备201分别与所述网络接入设备202及所述网络接入设备203连接,所述网络接入设备202与网络接入设备203也相互连接,即所述网络接入设备201分别通过端口P1与所述网络接入设备202的端口P3连接,通过端口P2与所述网络接入设备203的端口P7连接,所述网络接入设备202通过端口P5与所述网络接入设备203的端口P6连接。所述终端100与所述网络接入设备202的端口P4相连。可以理解的是,图1所述的组网方式是一种较常见的交换机环网组网方式。
在如1所示的组网方式下,终端100发送一个单播报文或广播报文到网络接入设备202,所述单播报文或广播报文中包括终端设备的源MAC地址地址MAC_100,所述网络接入设备202从端口P4接收到所述单播报文或广播报文,并将所述单播报文或广播报文从端口P3,端口P4转发出去。网络接入设备201从端口P1接收到所述单播报文或广播报文,并从端口P2发送出去,当网络接入设备203从端口P6接收到所述单播报文或广播报文,并从端口P7发送出去,当网络接入设备203从端口P7接收到所述单播报文或广播报文,并从端口P6发送出去,这样导致会导致网络接入设备202及所述网络接入设备201将分别再次收到所述单播报文或广播报文,以此反复,所述单播报文或广播报文一直在由所述三台网络接入设备构成的环网中不停转发,这样就导致了广播风暴,进一步的导致了MAC地址漂移。
如图2所示,是本发明实施例提供的另一种网络接入设备(如图2中所示204及205)与终端(如图2中所示101至103)进行交互的示意图。所述网络接入设备204与所述网络接入设备205通过双链路进行连接,即所述网络接入设备204的端口P9与所述网络接入设备205的端口P11相连接形成一条通信链路,所述网络接入设备204的端口P10与所述网络接入设备205的端口P12相连接形成一条通信链路,所述网络接入设备204与所述网络接入设备205可以分别通过这2条链路进行通信。可以理解的是,这种组网方式能够简单的实现链路冗余,保证了数据传输的可靠性。所述终端101与所述网络接入设备204的端口P8连接,所述终端102及终端103分别与所述网络接入设备205的端口P13及端口P14连接。
在如图2所示的组网方式下,终端101发送一个单播报文或广播报文到网络接入设备204的端口P8,网络接入设备204通过端口P8及端口P10分别将所述一个单播报文或广播报文转发到所述网络接入设备205,当网络接入设备205从端口P11接收到所述一个单播报文或广播报文时,将从端口P12、端口P13及端口P14转发,当网络接入设备205从端口P12接收到所述一个单播报文或广播报文时,将从端口P11、端口P13及端口P14转发,自此,所述网络接入设备204将再次收到所述一个单播报文或广播报文,以此反复,所述一个单播报文或广播报文一直在由所述两台网络接入设备204及205构成的网络中不停转发,这样将导致广播风暴,进一步的导致了MAC地址漂移。
可以理解的是,图1及图2只是对网络接入设备与终端交互环境的简单示意图,本发明提供的实施例的运行环境并不局限于此,例如,可以加入更多数量的终端及网络接入设备构成更大的环网方式。图1及图2中示出的网络接入设备(如图1中所示201及203,如图2中所示204及205)可以是汇聚交换机、路由器(如图1中所示202及203,如图2中所示205)或无管理交换机(如图1中所示202及203,如图2中所示205)。可以理解的是,图1中所示202及203及如图2中所示205也可以是汇聚交换机、路由器,根据组网需求决定。所述终端可以是个人电脑(Personal computer,PC)、平板电脑、智能手机、个人数字助理(Personaldigital assistant,PDA)等。
图3示出了本发明实施例提供的一种防止MAC地址漂移的方法的流程图,请参阅图3,本实施例描述的是网络接入设备的处理流程,所述方法包括:
步骤S310,从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址。
所述第一报文可以是LLDP报文,ARP(Address Resolution Protocol,地址解析协议)报文,或者其它的单播报文或广播报文。
所述LLDP报文中封装了本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(TyPe/Length/Value,类型/长度/值)的信息,用于探测链路通信状况的报文,接收到所述LLDP报文的网络接入设备只需将其进行解析并存储相关信息即可,无需进行转发或者响应。
所述ARP(Address Resolution Protocol,地址解析协议),是指根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP报文广播到网络上的所有主机,当目标设备接收到所述ARP请求,会向所述主机返回ARP响应报文,若网络接入设备接收到所述ARP报文,则进行透明到转发。当主机接收到返回的ARP响应消息,以此确定目标设备的物理地址。
对于其它单播或广播报文,网络接入设备则解析所述单播或广播报文的目的地址,以此来判定下一步的处理方式,例如丢弃,转发等。
其中,所述第一报文是否选用LLDP报文取决于所述终端是否支持LLDP报文,所述网络接入设备在接收到所述终端发送的LLDP报文后能够解析出接收到的报文为LLDP报文,并在解析并存储相关信息后,不再进行转发或者响应。若所述终端不支持LLDP报文,则所述第一报文可以选择ARP(Address Resolution Protocol,地址解析协议)报文,或者其它的单播报文或广播报文来实现。
步骤S320,查询是否已经存储有与所述源MAC地址绑定的绑定端口。
作为一种实施方式,所述网络接入设备中可以存储有一张端口绑定表,将源MAC地址及所述绑定端口绑定后存储进所述网络接入设备中的端口绑定表,当需要查询是否已经存储有与所述源MAC地址绑定的绑定端口时,可以从所述端口绑定表中进行查询。
步骤S330,当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
其中,所述预设报文可以是LLDP(Link Layer Discovery Protocol,链路层发现协议)报文。可以理解的是,由于所述LLDP报文自身的特性,即“接收到所述LLDP报文的网络接入设备只需将其进行解析并存储相关信息即可,无需进行转发或者响应”,因此,当所述第一报文判定为LLDP报文时,则丢弃所述第一报文。当然,可以理解的是,对于其它只需网络接入设备接收而无需响应的报文,都可以作为所述预设报文的实施方式。
可以理解的是,若接收到所述第一报文的端口中不包括所述绑定端口,则将各个端口接收到的第一报文都丢弃。
例如,请参阅图1,当所述网络接入设备201已经将终端100的源MAC地址MAC_100与端口P1进行绑定,此时终端100发送第一报文到网络接入设备202的端口P4,网络接入设备202将所述第一报文从端口P3及端口P5转发出去,网络接入设备203从端口P6接收到所述第一报文,并将所述第一报文从端口P7发出,即此时网络接入设备201将从端口P1及端口P2均接收到第一报文,若解析出所述第一报文为预设报文,例如LLDP报文,则丢弃所述LLDP报文,若所述第一报文不为预设报文,则将从端口P1接收到的第一报文从未接收的端口(图中未示出)转发出去,而此时从端口P2接收到的第一报文则丢弃,通过这种方式,使得所述第一报文不会在由所述网络接入设备201,网络接入设备202及网络接入设备203构成的环网中国年反复转发,从而避免了广播风暴,进一步的防止了MAC地址漂移。
又如,请参阅图2,当所述网络接入设备204已经将终端102的源MAC地址MAC_102与端口P9进行绑定,此时终端102发送第一报文到网络接入设备205的端口P13,网络接入设备205将所述第一报文从端口P11、端口P12及端口P14转发,则此时网络接入设备204将从端口P9及端口10都接收到第一报文,由于此时源MAC地址MAC_102的绑定端口为端口P9,则此时网络接入设备204判断所述第一报文的类型,如果为预设报文则丢弃,如果不是,则网络接入设备204仅将端口P9接收到第一报文,从未接收到第一报文的端口转发出去,即端口P8,对于从端口P10接收到的第一报文,则网络接入设备204直接丢弃,通过这种方式,使得通过端口P9接收到的报文再从端口P10发出,通过端口P10接收到的报文再从P9发出,以此来解决避免了广播风暴的问题,进一步的防止了MAC地址漂移。
步骤S340,当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
步骤S340的实施方式由多种,作为一种实施方式,若接收所述第一报文的端口个数为一个,则将所述源MAC地址与接收所述第一报文的端口绑定并存储,将接收所述第一报文的端口作为与所述源MAC地址绑定的绑定端口;若接收所述第一报文的端口个数为多个,则从接收所述第一报文的多个端口中选择一个,将所述源MAC地址与选择的端口绑定并存储,将所述选择的端口作为与所述源MAC地址绑定的绑定端口。
其中,从接收所述第一报文的多个端口中选择一个端口的实施方式有多种,例如,可以从实施多个端口中随机选择一个,也可以按照预设的选择策略进行选择,例如可以根据所述多个端口当前各自收发报文的数据量进行优先级的排序,对当前相对较空闲的端口赋予较高的优先级,当然,预设的选择策略的实施方式也有很多种,并不局限于此。
进一步的,在将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定并存储之后,请参阅图4,所述方法还包括步骤S341:
步骤S341:判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
例如,请参阅图2,若终端101发送第一报文到网络接入设备204的端口P8,若此时网络接入设备204还未存储与所述源MAC地址MAC_101绑定的绑定端口,由于此时网络接入设备204只从端口P8接收到所述第一报文,则网络接入设备204将所述源MAC地址MAC_101与端口P8进行绑定,将端口P8作为与所述源MAC地址绑定的绑定端口。进一步的,判断所述第一报文的类型,若所述第一报文为预设报文,例如LLDP报文,则丢弃所述第一报文,否则,将所述第一报文从端口P9及端口P10转发出去。
若终端102发送第一报文到网络接入设备205的端口P13,网络接入设备205将所述第一报文从端口P11、端口P12及端口P14转发,则此时网络接入设备204将从端口P9及端口10都接收到第一报文,若此时网络接入设备204还未存储与所述源MAC地址MAC_102绑定的绑定端口,此时网络接入设备204可以选择端口P9或者P10作为所述源MAC地址MAC_102绑定的绑定端口,假设网络接入设备204选择端口P9,则网络接入设备204将所述源MAC地址MAC_102与端口P9进行绑定,将端口P9作为与所述源MAC地址绑定的绑定端口。进一步的,判断所述第一报文的类型,若所述第一报文为预设报文,例如LLDP报文,则丢弃所述第一报文,否则,仅将所述第一报文从端口P8转发出去。
考虑到若将终端的源MAC地址与接收所述第一报文的端口中的其中一个端口绑定后,可能会出现终端掉线或者其它情况导致的终端失效的情况。因此,作为一种实施方式,请参阅图5,所述方法还可以包括S350,
步骤S351:若第二预设时间内,从剩余端口中的至少一个端口接收到第一报文的频率大于预定阈值时,通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文,其中,所述剩余端口是指从所述网络接入设备的多个端口中除去所述绑定端口后的剩余端口。
所述网络接入设备网络通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文的实施方式有多种,所述步骤S351只是其中一种实施方式,可以理解的是,所述网络接入设备可以根据需求在任何情况下通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文。
所述第二报文可以有多种,例如ARP报文,此时对应于步骤S352中的第二报文的响应信息即为ARP响应报文。当然,第二报文及第二报文的响应信息的实施方式并不局限于此,此处不再赘述。进一步的,若所述第一报文也为ARP报文时,此时,所述第一报文及第二报文相同,且均为ARP报文。
若第二预设时间较长,且所述预定阈值设置较大时,表明则一段较长时间内,所述网络接入设备仍然频繁的从剩余端口中的至少一个端口接收到第一报文,则此时可以发送第二报文到所述源MAC地址对应的终端,去探测所述源MAC地址对应的终端是否还有效。当然,所述第二预设时间及所述预定阈值的设置可以根据需求进行设置,也可以设置较短都第二预设时间或较小的预定阈值,特别的,也可以将所述预定阈值设置为1,此时表明,只要从剩余端口中的至少一个端口接收到一次所述第一报文,即需要去探测所述源MAC地址对应的终端是否还有效。
例如,请参阅图2,假设网络接入设备204已经将终端101的源MAC地址MAC_101与端口P8绑定,若此时网络接入设备204在第二预设时间内仍然从端口P9及端口P10接收到源MAC地址MAC_101的第一报文,则网络接入设备204从端口P8发送第二报文到终端101,例如发送ARP请求到终端101。
步骤S352:若第一预设时间内,未收到所述终端对所述第二报文的响应信息,则将所述源MAC地址与所述绑定端口解除绑定。
其中,所述第一预设时间与所述第二预设时间的设置并无必然联系,可以根据需求分别设置,当然,所述第一预设时间与所述第二预设时间也可以设置为一样。
接上例,当网络接入设备204从端口P8发送第二报文到终端101,若在第一预设时间内,未收到所述终端101对所述第二报文的响应信息,例如ARP响应报文,则网络接入设备204将所述源MAC地址MAC_101与所述绑定端口P8解除绑定。进一步的,可以重复上述步骤再次将所述源MAC地址MAC_101与网络接入设备204的其它端口进行绑定,此处不再赘述。
请参阅图2,下面以图2所示的组网方式下,在不同的第一报文的实施方式下,对整个流程进行说明。
(1)第一报文为LLDP报文:
当终端101发送LLDP报文到网络接入设备204的端口P8,此时网络接入设备204将终端101的源MAC地址MAC_101与所述端口P8进行绑定,且由于网络接入设备204支持LLDP报文,因此不会将所述LLDP报文进行转发,而是将LLDP报文丢弃。若此时终端101再次发送单播或广播报文到网络接入设备204的端口P8,网络接入设备204将通过端口P9及端口P10转发出去,由于通过端口P9转发出去的单播或广播报文会通过网络接入设备204的端口P10再接收到,通过端口P10转发出去的单播或广播报文会通过网络接入设备204的端口P9再接收到,但是此时网络接入设备204发现所述单播或广播报文均不是来自绑定端口的端口P8接收到的,则认为所述单播或广播报文是非法报文,则丢弃,从而阻断了广播风暴。
当终端102发送LLDP报文到网络接入设备205的端口P13,由于所述网络接入设备205为无管理交换机,因此网络接入设备205通过端口P11及端口P12将所述LLDP报文透明转发到网络接入设备204,网络接入设备204通过端口P9及端口P10接收到所述LLDP报文,从端口P9及端口P10任意选择一个端口作为绑定端口,假设为端口P9,将终端102的源MAC地址MAC_102与所述端口P9进行绑定。若此时终端102再次发送单播或广播报文到网络接入设备205的端口P13,网络接入设备205将通过端口P11及端口P12将所述单播或广播报文透明转发到网络接入设备204,此时网络接入设备204仅将从绑定端口P9接收到的单播或广播报文从未接收到所述单播或广播报文的端口P8处转发出去,而不会从已经接收到所述单播或广播报文的端口P10处转发出去,并且将从端口P10接收到的所述单播或广播报文丢弃。
通过上述的方式,从终端101到终端102的单播通信方式,最后只有一条通信链路,即:终端101-网络接入设备204的端口P8-网络接入设备204的端口P9-网络接入设备205的端口P11-网络接入设备205的端口P13-终端102,不再出现环路。
(2)第一报文及第二报文均为ARP报文:
当终端101发送ARP报文到网络接入设备204的端口P8,此时网络接入设备204将终端101的源MAC地址MAC_101与所述端口P8进行绑定,且网络接入设备204将通过端口P9及端口P10将所述ARP报文转发出去,由于通过端口P9转发出去的ARP报文会通过网络接入设备204的端口P10再接收到,通过端口P10转发出去的ARP报文会通过网络接入设备204的端口P9再接收到,但是此时网络接入设备204发现所述ARP报文均不是来自绑定端口的端口P8接收到的,则认为所述ARP报文是非法报文,则丢弃,从而阻断了广播风暴。
进一步的,若第二预设时间内,网络接入设备204仍从端口P9及端口P10接收到源MAC地址MAC_101的报文,此时网络接入设备204将通过绑定端口P8向终端101发送ARP报文,若在第一预设时间内,没有收到终端101发送的ARP响应报文,则网络接入设备204认为所述终端101失效,将所述源MAC地址MAC_101与端口P8解绑,并重新通过上述方式,进行端口绑定。
当终端102发送ARP报文到网络接入设备205的端口P13,由于所述网络接入设备205为无管理交换机,因此网络接入设备205通过端口P11及端口P12将所述ARP报文透明转发到网络接入设备204,网络接入设备204通过端口P9及端口P10接收到所述ARP报文,从端口P9及端口P10任意选择一个端口作为绑定端口,假设为端口P9,将终端102的源MAC地址MAC_102与所述端口P9进行绑定。若此时终端102再次发送单播或广播报文到网络接入设备205的端口P13,网络接入设备205将通过端口P11及端口P12将所述单播或广播报文透明转发到网络接入设备204,此时网络接入设备204仅将从绑定端口P9接收到的单播或广播报文从未接收到所述单播或广播报文的端口P8处转发出去,而不会从已经接收到所述单播或广播报文的端口P10处转发出去,并且将从端口P10接收到的所述单播或广播报文丢弃。
通过上述的方式,从终端101到终端102的单播通信方式,最后只有一条通信链路,即:终端101-网络接入设备204的端口P8-网络接入设备204的端口P9-网络接入设备205的端口P11-网络接入设备205的端口P13-终端102,不再出现环路。
于本实施例中,不需要网络接入设备204对LLDP报文支持即可实现,因此对网络接入设备的要求更低,实现起来更加简单有效。
可以理解的是,当第一报文为LLDP报文,第二报文为ARP报文,本方法的实施方式类似,此处就不再赘述。
本发明实施例提供的防止MAC地址漂移的方法,从所述网络接入设备的一个或多个端口接收到第一报文,仅将绑定端口接收到的第一报文从未接收到所述第一报文到端口转发,而将从未绑定的端口接收的第一报文丢弃或不处理,通过这种方式,既可避免出现以太网环路以及其引发的广播风暴,也防止了MAC地址漂移的问题,并且不需要支持STP等协议的交换机即可实现。
请参阅图6,是本发明实施例提供的防止MAC地址漂移的装置210的功能模块示意图。所述防止MAC地址漂移的装置210可以运行于所述网络接入200。所述防止MAC地址漂移的装置210包括接收模块211、查询模块212、第一处理模块213以及第二处理模块214。
所述接收模块211,用于从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址。
所述查询模块212,用于查询是否已经存储有与所述源MAC地址绑定的绑定端口。
所述第一处理模块213,用于当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
所述第二处理模块214,用于当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
作为一种实施方式,所述第二处理模块214,具体用于若接收所述第一报文的端口个数为一个,则将所述源MAC地址与接收所述第一报文的端口绑定并存储,将接收所述第一报文的端口作为与所述源MAC地址绑定的绑定端口;若接收所述第一报文的端口个数为多个,则从接收所述第一报文的多个端口中选择一个,将所述源MAC地址与选择的端口绑定并存储,将所述选择的端口作为与所述源MAC地址绑定的绑定端口。
作为一种实施方式,所述装置还可以包括第三处理模块215,用于判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
作为另一种所述方式,所述装置还可以包括发送模块216以及第四处理模块217,
所述发送模块216,用于通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文。
所述第四处理模块217,用于若第一预设时间内,未收到所述终端对所述第二报文的响应信息,则将所述源MAC地址与所述绑定端口解除绑定。
以上各模块可以是由软件代码实现,也同样可以由硬件例如集成电路芯片实现。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的防止MAC地址漂移的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种防止MAC地址漂移的方法,应用于网络接入设备,所述网络接入设备包括多个端口,其特征在于,所述方法包括:
从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址;
查询是否已经存储有与所述源MAC地址绑定的绑定端口;
当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发;
当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
2.根据权利要求1所述的方法,其特征在于,在将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定并存储之后,所述方法还包括:
判断所述第一报文的类型;
若所述第一报文为预设报文,则丢弃所述第一报文;
否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
3.根据权利要求1所述的方法,其特征在于,在所述将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定之后,所述方法还包括:
通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文;
若第一预设时间内,未收到所述终端对所述第二报文的响应信息,则将所述源MAC地址与所述绑定端口解除绑定。
4.根据权利要求3所述的方法,其特征在于,所述通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文,包括:
若第二预设时间内,从剩余端口中的至少一个端口接收到第一报文的频率大于预定阈值时,通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文,其中,所述剩余端口是指从所述网络接入设备的多个端口中除去所述绑定端口后的剩余端口。
5.根据权利要求1所述的方法,其特征在于,所述将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口,包括:
若接收所述第一报文的端口个数为一个,则将所述源MAC地址与接收所述第一报文的端口绑定并存储,将接收所述第一报文的端口作为与所述源MAC地址绑定的绑定端口;
若接收所述第一报文的端口个数为多个,则从接收所述第一报文的多个端口中选择一个,将所述源MAC地址与选择的端口绑定并存储,将所述选择的端口作为与所述源MAC地址绑定的绑定端口。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述预设报文为LLDP报文。
7.一种防止MAC地址漂移的装置,其特征在于,所述装置包括:
接收模块,用于从所述网络接入设备的至少一个端口接收第一报文,所述第一报文中包括源MAC地址;
查询模块,用于查询是否已经存储有与所述源MAC地址绑定的绑定端口;
第一处理模块,用于当已经存储有与所述源MAC地址绑定的绑定端口,判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发;
第二处理模块,用于当还未存储与所述源MAC地址绑定的绑定端口,将所述源MAC地址与接收所述第一报文的端口中的其中一个端口绑定,将被绑定的端口作为绑定端口。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括第三处理模块,用于判断所述第一报文的类型;若所述第一报文为预设报文,则丢弃所述第一报文;否则,将仅从所述绑定端口接收到的第一报文从未接收到所述第一报文的端口转发。
9.根据权利要求7所述的装置,其特征在于,所述第二处理模块,具体用于若接收所述第一报文的端口个数为一个,则将所述源MAC地址与接收所述第一报文的端口绑定并存储,将接收所述第一报文的端口作为与所述源MAC地址绑定的绑定端口;若接收所述第一报文的端口个数为多个,则从接收所述第一报文的多个端口中选择一个,将所述源MAC地址与选择的端口绑定并存储,将所述选择的端口作为与所述源MAC地址绑定的绑定端口。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括发送模块以及第四处理模块,
所述发送模块,用于通过所述绑定端口,向所述源MAC地址对应的终端发送第二报文;
所述第四处理模块,用于若第一预设时间内,未收到所述终端对所述第二报文的响应信息,则将所述源MAC地址与所述绑定端口解除绑定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610822614.7A CN106231007B (zh) | 2016-09-14 | 2016-09-14 | 一种防止mac地址漂移的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610822614.7A CN106231007B (zh) | 2016-09-14 | 2016-09-14 | 一种防止mac地址漂移的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106231007A true CN106231007A (zh) | 2016-12-14 |
CN106231007B CN106231007B (zh) | 2019-04-12 |
Family
ID=58075054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610822614.7A Active CN106231007B (zh) | 2016-09-14 | 2016-09-14 | 一种防止mac地址漂移的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106231007B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429687A (zh) * | 2018-05-31 | 2018-08-21 | 新华三技术有限公司 | 报文转发方法和装置 |
CN111404940A (zh) * | 2020-03-17 | 2020-07-10 | 深信服科技股份有限公司 | 一种数据包识别方法、装置及电子设备和存储介质 |
CN112351471A (zh) * | 2020-08-24 | 2021-02-09 | 深圳Tcl新技术有限公司 | 设备接入网关的方法、网关设备及计算机可读存储介质 |
CN112738869A (zh) * | 2020-12-29 | 2021-04-30 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005412A (zh) * | 2007-01-29 | 2007-07-25 | 中兴通讯股份有限公司 | 一种防止端口环路检测报文攻击的实现方法及系统 |
CN101155109A (zh) * | 2006-09-30 | 2008-04-02 | 华为技术有限公司 | 一种以太网交换系统及设备 |
CN102843440A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 一种防止媒体访问控制地址漂移的方法及网络处理设备 |
CN105704020A (zh) * | 2014-11-25 | 2016-06-22 | 华为技术有限公司 | 环路避免方法,设备和系统 |
-
2016
- 2016-09-14 CN CN201610822614.7A patent/CN106231007B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155109A (zh) * | 2006-09-30 | 2008-04-02 | 华为技术有限公司 | 一种以太网交换系统及设备 |
CN101005412A (zh) * | 2007-01-29 | 2007-07-25 | 中兴通讯股份有限公司 | 一种防止端口环路检测报文攻击的实现方法及系统 |
CN102843440A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 一种防止媒体访问控制地址漂移的方法及网络处理设备 |
CN105704020A (zh) * | 2014-11-25 | 2016-06-22 | 华为技术有限公司 | 环路避免方法,设备和系统 |
Non-Patent Citations (1)
Title |
---|
烽火网络有限责任公司: "一种MAC漂移检测功能的实现与应用", 《邮电设计技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429687A (zh) * | 2018-05-31 | 2018-08-21 | 新华三技术有限公司 | 报文转发方法和装置 |
CN108429687B (zh) * | 2018-05-31 | 2021-04-27 | 新华三技术有限公司 | 报文转发方法和装置 |
CN111404940A (zh) * | 2020-03-17 | 2020-07-10 | 深信服科技股份有限公司 | 一种数据包识别方法、装置及电子设备和存储介质 |
CN111404940B (zh) * | 2020-03-17 | 2022-01-21 | 深信服科技股份有限公司 | 一种数据包识别方法、装置及电子设备和存储介质 |
CN112351471A (zh) * | 2020-08-24 | 2021-02-09 | 深圳Tcl新技术有限公司 | 设备接入网关的方法、网关设备及计算机可读存储介质 |
CN112351471B (zh) * | 2020-08-24 | 2024-04-30 | 深圳Tcl新技术有限公司 | 设备接入网关的方法、网关设备及计算机可读存储介质 |
CN112738869A (zh) * | 2020-12-29 | 2021-04-30 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、装置、设备及介质 |
CN112738869B (zh) * | 2020-12-29 | 2022-12-20 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106231007B (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102006184B (zh) | 堆叠链路管理方法、装置及网络设备 | |
CN102422600B (zh) | 混合节点中提供的方法、相关网络以及相关网络单元 | |
CN102404181B (zh) | 应用链路状态路由的二层协议中的地址对应关系发送方法 | |
CN103348637B (zh) | 用于混合通信网络中的帧递送路径选择的方法和装置 | |
CN102938794A (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
CN101471875B (zh) | 基于环路的报文传送方法、网络系统和节点设备 | |
CN106231007A (zh) | 一种防止mac地址漂移的方法及装置 | |
CN102299835B (zh) | 环网故障切换方法和装置 | |
CN101052022B (zh) | 一种虚拟专用网用户访问公网的系统和方法 | |
CN102347889B (zh) | 一种分层虚拟专用局域网中的报文转发方法、系统和装置 | |
CN108768866A (zh) | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 | |
CN100568822C (zh) | 一种基于弹性分组环的业务拓扑图形化显示方法 | |
CN101771604B (zh) | 路由探测方法、系统以及中间路由装置 | |
CN101729391A (zh) | 获取链路汇聚组信息的方法、节点和系统 | |
CN105490957A (zh) | 一种负载分担方法及装置 | |
CN107026790B (zh) | 一种转发控制方法及设备 | |
CN103428088A (zh) | 一种树根分配、报文处理的方法及路由网桥 | |
CN101483571B (zh) | 一种rrpp的配置方法、系统及设备 | |
CN105490911A (zh) | 虚拟局域网的映射方法和装置 | |
CN102215231A (zh) | 一种转发数据的方法及网关 | |
CN101924698B (zh) | 基于ip单播路由的二层域负载均衡方法、系统和设备 | |
CN101702664B (zh) | 虚拟局域网的数据传输方法、设备与系统 | |
CN103795635A (zh) | 控制报文广播的处理方法、设备和系统 | |
CN102868775A (zh) | 地址解析协议表容量的扩展方法、报文转发方法和装置 | |
CN103763196A (zh) | 一种多播源过滤表项处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |