CN115334046B - 一种mac地址删除方法及装置 - Google Patents

一种mac地址删除方法及装置 Download PDF

Info

Publication number
CN115334046B
CN115334046B CN202210780240.2A CN202210780240A CN115334046B CN 115334046 B CN115334046 B CN 115334046B CN 202210780240 A CN202210780240 A CN 202210780240A CN 115334046 B CN115334046 B CN 115334046B
Authority
CN
China
Prior art keywords
port
state
mac address
switch
tcam
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.)
Active
Application number
CN202210780240.2A
Other languages
English (en)
Other versions
CN115334046A (zh
Inventor
张杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202210780240.2A priority Critical patent/CN115334046B/zh
Publication of CN115334046A publication Critical patent/CN115334046A/zh
Application granted granted Critical
Publication of CN115334046B publication Critical patent/CN115334046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请实施例公开了一种MAC地址删除方法及装置。该MAC地址删除方法包括:所述交换设备监测第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第一端口处于正常运行状态,所述DOWN态指示所述第一端口处于故障状态;若所述第一端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述TCAM中的与所述第一端口关联的所述第一MAC地址。本申请实施例的MAC地址删除方法,有助提高MAC地址删除效率。

Description

一种MAC地址删除方法及装置
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种MAC地址删除方法及装置。
背景技术
在通信领域,交换设备处理报文的基本模式是基于源MAC地址(Media AccessControl Address)的学习和目的MAC地址的转发。当交换设备从某个端口收到一个报文,先读取所述报文中的源MAC地址,然后在MAC表查找源MAC地址对应的表项。若所述报文的源MAC地址不在所述MAC表中,则将所述源MAC地址和接收报文的源端口记录到MAC表中,这个过程称可以称为MAC学习。交换设备读取所述报文中目的MAC地址,并在MAC表中查找目的MAC地址所对应的表项。若查到目的MAC地址所对应的端口,则交换设备把所述报文从所述端口发送出去。
在报文转发前,若所述交换设备检测到待转发链路出现故障,如交换设备端口或报文接收侧端口发生故障,为了防止经此故障线路转发的报文被丢弃,所述交换设备可以发出删除命令来删除所述MAC表中属于此端口学习到的MAC条目,这个过程称可以称为MAC删除。交换设备重新学习MAC地址后切换端口进行报文转发。
在上述报文转发过程中,发明人发现交换设备的某个端口下学习到的MAC条目高达几千条,在删除某端口对应的MAC地址时,大量的表项查询可能会耗费较长的时间,MAC地址删除时间可能比较长。
发明内容
本申请实施例提供了一种MAC地址删除方法及装置,可以提高交换设备查询故障端口对应的MAC地址效率,进而提高MAC地址的删除效率。
第一方面,本申请技术方案提供了一种MAC地址删除方法,所述方法应用于交换设备,所述交换设备包括多个端口、三态内容寻址存储器(Ternary Content AddressableMemory,TCAM)和静态随机存取存储器(static random-access memory,SRAM),所述MAC地址保存在TCAM或SRAM;
所述方法包括:
所述交换设备监测所述多个端口中的至少一个端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述至少一个端口处于正常运行状态,所述DOWN态指示所述至少一个端口处于故障状态;
所述交换设备确定所述多个端口中的至少一个端口是否为保护端口;
若所述至少一个端口状态由UP态变为DOWN态,所述至少一个端口为保护端口,所述交换设备删除保存在所述TCAM中的与所述保护端口关联的MAC地址;
若所述至少一个端口状态由UP态变为DOWN态,所述至少一个端口为非保护端口,所述交换设备删除保存在所述SRAM中的与所述非保护端口关联的MAC地址。
其中,查找保存在TCAM中的数据可以为硬件查找法。在利用该硬件查找方法进行查找时,TCMA中的所有数据可以在同一时刻被查询,查找速度不受保存在TCMA中数据大小影响,在一个时钟周期可以完成一次查找。查找保存在SRAM中的数据可以为软件查找方法,在利用该软件查找方法进行查找时,可以使用二态顺序查找方法,查找速度受到保存在SRAM中数据量的影响,在多个时钟周期完成一次查找。
采用如上技术方案,一方面基于TCAM的硬件查询方法,提高了保护端口上MAC地址查询效率;另一方面SRAM用于保存非保护端口学习到的MAC地址,MAC地址数量相对减少,一定程度也提高了第二MAC表查询效率,进而可以提高交换设备删除MAC地址的效率。
可以理解的,上述技术方案中,交换设备监测所述多个端口中的至少一个端口的状态是否由UP态变为DOWN态和交换设备确定所述至少一个端口是否为保护端口无先后顺序。例如,交换设备可以先监测所述多个端口中的至少一个端口的状态是否由UP态变为DOWN态,然后再确定所述多个端口中的至少一个端口是否为保护端口。交换设备也可以先确定所述多个端口中的至少一个端口是否为保护端口,然后再监测所述多个端口中的至少一个端口的状态是否由UP态变为DOWN态。
第二方面,本申请技术方案提供了一种MAC地址删除方法,所述方法应用于交换设备,所述交换设备包括第一端口和三态内容寻址存储器TCAM,第一MAC地址保存在TCAM,所述第一MAC地址与所述第一端口关联;
所述方法包括:
所述交换设备监测所述第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第一端口处于正常运行状态,所述DOWN态指示所述第一端口处于故障状态;
若所述第一端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述TCAM中的与所述第一端口关联的所述第一MAC地址。
由上技术方案可知,查找保存在TCAM中的数据可以为硬件查找法。在利用该硬件查找方法进行查找时,TCMA中的所有数据可以在同一时刻被查询,查找速度不受保存在TCMA中数据大小影响,在一个时钟周期可以完成一次查找,这样可以提高交换设备查找与第一端口关联的第一MAC地址,进而可以提高交换设备删除与第一端口关联的第一MAC地址。
在一种实现方式中,所述第一端口为保护端口。
在一种实现方式中,所述交换设备还包括SRAM,所述SRAM中保存第二MAC地址,所述第二MAC地址与所述第二端口关联,所述方法还包括:
所述交换设备监测所述第二端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第二端口处于正常运行状态,所述DOWN态指示所述第二端口处于故障状态;
若所述第二端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述SRAM中的与所述第二端口关联的所述第二MAC地址。
其中,所述第二端口可以为非保护端口。
第三方面,本申请技术方案提供了一种交换设备,所述交换设备包括第一端口、三态内容寻址存储器TCAM和处理器;其中,所述处理器与所述第一端口和所述TCAM耦合;
所述TCAM用于保存第一MAC地址,所述第一MAC地址与所述第一端口关联;
所述处理器,用于:
监测所述第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第一端口处于正常运行状态,所述DOWN态指示所述第一端口处于故障状态;
若所述第一端口的状态由UP态变为DOWN态,删除保存在所述TCAM中的与所述第一端口关联的所述第一MAC地址。在一种实现方式中,所述第一端口为保护端口。
在一种实现方式中,所述设备还包括SRAM和第二端口,所述SRAM用于保存第二MAC地址,所述第二MAC地址与所述第二端口关联,所述处理器与所述第二端口耦合;
所述处理器还用于:
监测所述第二端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第二端口处于正常运行状态,所述DOWN态指示所述第二端口处于故障状态;若所述第二端口的状态由UP态变为DOWN态,删除保存在所述SRAM中的与所述第二端口关联的所述第二MAC地址。
其中,所述第二端口为非保护端口。
可以看出,保护端口上学习的MAC地址可以保存在TCAM中,该非保护端口上学习的MAC地址可以保存在SRAM中。这样,SRAM中保存的MAC地址数量相对减少,可以提高SRAM内部MAC地址查询效率。进而提高交换设备的非保护端口的MAC地址删除效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1是本申请实施例通信网络的示意图;
图2是本申请实施例交换机结构意图;
图3是本申请实施例交换机另一种结构意图;
图4是本申请实施例提供的一种MAC地址删除示意图;
图5是本申请实施例提供的另一种MAC地址删除示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚的描述。
本申请实施例中术语“第一”“第二”等字样不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
本申请实施例中术语“至少一个”的含义是指一个或多个,本申请实施例中术语“多个”的含义是指两个或两个以上。
还应理解,术语“如果”可被解释为“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
参见图1,为本申请实施例通信网络示意图。该通信网络包括交换设备、因特网和服务器。具体地,交换设备包括交换机A和交换机B。该交换机A包括端口1、端口2和端口3。该交换机B包括端口4、端口5和端口6。该交换机A通过端口1与因特网通信。例如,因特网侧可以设置有网络设备,该交换机A可以通过端口1与该因特网侧的网络设备通信。该交换机B通过端口4与该因特网通信。该交换机B可以通过端口4与该因特网侧的网络设备通信。该交换机A通过端口2和端口5与该交换机B通信。该交换机A通过端口3与该服务器通信。该交换机B通过端口6与该服务器通信。
可以理解的,本实施例中的交换机可以为连接计算机等网络设备。该交换机是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。本发明实施例对此不做限定。
在现有方案中,交换机通过学习到的MAC地址来进行报文转发,实现网络设备之间的通信。发明人发现交换机某个端口下学习到的MAC条目高达几千条,上述条目均存储在静态随机存取存储器SRAM中,由于SRAM为二态顺序查找,在MAC地址学习和删除时,大量的表项查询可能会耗费较长的时间,MAC地址删除时间可能比较长。为了解决上述问题,发明人提出了本申请实施例的MAC地址学习和删除方法及装置。
在一种实现方式中,参见图2,为本发明实施例中交换机的结构示意图。该交换机可以为交换机A的结构示意图。交换机200包括端口210、三态内容寻址存储器(TernaryContent Addressable Memory,TCAM)220和处理器230。如图2所示,端口210可以用于转发报文。另外,端口210还可以用于跟外部设备连接,形成链路。TCAM 220与处理器230耦合。TCAM 220可以用于保存MAC表,该MAC表可以用于保存端口210学习的MAC地址。
其中,端口210可以包括端口1、端口2或端口3。例如,端口210可以为端口1或端口3。再例如,端口210可以包括端口1和端口2。再例如,端口210可以包括端口1、端口2和端口3。
在另一种实现方式中,参见图3,交换机还包括SRAM 240。SRAM 240与处理器230耦合。该SRAM 240也可以用于保存MAC表,该MAC表用于保存端口210学习的MAC地址。其中,SRAM中保存的MAC地址与TCAM中保存的MAC地址对应不同的端口。
在一种实现方式中,上述MAC表可以包括交换机A学习的MAC地址及对应端口信息,该端口信息可以是物理端口标识。在另一种实现方式中,MAC表还可以包括虚拟局域网(virtual local area network,VLAN)标识(ID)。
在上述交换机200中,处理器230可以是通用中央处理器(central processingunit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(networkprocesser,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic arraylogic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
处理器230可以用于生成和管理MAC表以及监控各端口状态;上述管理MAC可以理解为交换机200可以向MAC表动态的添加学习到MAC地址或删除故障端口对应的MAC地址。
可以理解的,交换机200可以执行本申请下述各实施例的MAC地址学习与删除方案。具体的,交换机200的处理器230可以执行本申请下述各实施例的MAC地址学习与删除方案。
在一种实现方式中,处理器可以调用存储器中程序/指令来实现本申请实施例中的MAC地址学习与删除方案。其中,存储器可以是TCAM,SRAM,只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由处理器存取的任何其它介质,但不限于此。存储器例如是独立存在,也可以与处理器连接。存储器也可以和处理器集成在一起。
此外,处理器210还可以用于转发控制,维护一些软件表项(例如软件路由表、软件ARP(address resolution protocol)表等。
如上内容以交换机A为例进行阐述,可以理解的,交换机B也可以具有与交换机A相同或类似的结构和功能。
实施例一
本发明实施例提供一种MAC地址学习与删除装置。该MAC地址学习与删除的装置可以为交换机,例如图1中的交换机A或交换机B。下面以交换机A为例对本发明实施例进行阐述。
本发明实施例中的交换机A包括端口1、端口2和端口3。其中,端口3可以作为保护端口。具体的,用户可以对交换机A的端口进行配置,例如用户可以把交换机A的端口3配置为保护端口。
其中,用户对端口3的配置可以为:基于服务器所承载的业务类型,例如服务器承载了重要的业务,为了保证端口3在故障的情况下,业务数据流量可以快速切换,用户将端口3设置为保护端口。此外,用户还可以根据交换机组网中的互连关系配置保护端口,例如在图1所示的通信网络,对于交换机A而言,用户可以将该交换机A与交换机B互连的端口2设置为保护端口。用户可以设置保护端口列表,该保护端口列表用于保存和管理用户设定的保护端口,所述保护列表如表1所示。
表1交换机A保护端口列表。
本发明实施例提供的MAC地址学习,可以包括如下两种实现方式:
在一种实现方式中,交换机A通过端口3接收服务器发送的报文。交换机A可以记录接收端口为端口3。交换机A基于表1可以确定端口3为保护端口。交换机A解析端口3接收到的报文,获得服务器的MAC地址。交换机A基于服务器的MAC地址可以查找第一MAC表,该第一MAC表可以保存在TCAM中。若交换机A在第一MAC表中查到服务器的MAC地址,可以丢弃所获取的MAC地址;若交换机A在第一MAC表中未查到服务器的MAC地址,交换机A把端口3以及获得的服务器的MAC地址保存在第一MAC表中。
可以理解的,在该实现方式中,交换机A将保护端口列表中端口上学习的MAC地址存储在第一MAC表中。
交换机A可以通过端口1接收网络侧的网络设备发送的报文。交换机A可以记录接收端口为端口1。交换机A基于表1可以确定端口1为非保护端口。交换机A解析端口1接收到的报文,获得网络设备的MAC地址。交换机A基于网络设备的MAC地址查找第二MAC表,该第二MAC表可以保存在SRAM中。若交换机A在第二MAC表中查到网络的MAC地址,可以丢弃获取的MAC地址。若交换机A在第二MAC表中未查到网络设备的MAC地址,交换机A把端口3以及获得的网络设备的MAC地址保存在第二MAC表中。
在该实现方式中,查找保存在TCAM中的数据为硬件查找法。在利用该硬件查找方法进行查找时,TCMA中的所有数据可以在同一时刻被查询,查找速度不受保存在TCMA中数据大小影响,在一个时钟周期可以完成一次查找。查找保存在SRAM中的数据为软件查找方法,在利用该软件查找方法进行查找时,使用二态顺序查找方法,查找速度受到保存在SRAM中数据量的影响,在多个时钟周期才能完成一次查找,查找速度较慢。
本发明实施例在MAC地址学习时,交换机A将在保护端口上学习的MAC地址存储在TCAM中,例如可以存储在TCAM中的第一MAC表。在对其它保护端口学习时,交换机A可以采用硬件查找法查找保存在TCAM中的第一MAC表,确定第一MAC表是否保存了学习的MAC地址。
采用该技术方案,一方面基于TCAM的硬件查询方法,提高了保护端口上MAC地址学习效率;另一方面SRAM用于保存非保护端口学习到的MAC地址,MAC地址数量相对减少,一定程度也提高了第二MAC表查询效率,进而提高了非保护端口MAC地址学习效率。因此,本发明实施例可以提高交换机的MAC地址学习效率。
在另一种实现方式中,交换机A通过端口3接收服务器发送的报文。交换机可以记录接收报文的端口为端口3。交换机A基于表1可以确定端口3为保护端口。交换机A解析端口3接收到的报文,获得服务器的MAC地址和虚拟局域网标识(VLAN ID)。交换机A基于服务器的MAC地址和VLAN ID查找第一MAC表,该第一MAC表存储在TCAM中;若交换机A在第一MAC表中查到服务器的MAC地址和VLAN ID,则可以丢弃获取的MAC地址和VLAN ID;若交换机A在第一MAC表中未查到服务器的MAC地址和VLAN ID,交换机A把端口3、服务器的MAC地址和VLANID保存在第一MAC表中。
交换机A通过端口1接收网络设备发送的报文。交换机A可以记录接收报文的端口为端口1。交换机A基于表1可以确定端口1为非保护端口。交换机A解析端口1接收到的报文,获得网络设备的MAC地址和VLAN ID。交换机A基于网络设备的MAC地址和VLAN ID查找第二MAC表,该第二MAC表存储在SRAM中;若交换机A在第二MAC表中查到网络的MAC地址和VLANID,则丢弃获取的MAC地址和VLAN ID;若交换机A在第二MAC表中未查到服务器的MAC地址和VLAN ID,交换机A把端口3、网络设备的MAC地址和VLAN ID保存在第二MAC表中。
在该实现方式中,查找保存在TCAM中的数据为硬件查找法。在利用该硬件查找方法进行查找时,TCMA中的所有数据可以在同一时刻被查询,查找速度不受保存在TCMA中数据大小影响,在一个时钟周期可以完成一次查找。查找保存在SRAM中的数据为软件查找方法,在利用该软件查找方法进行查找时,使用二态顺序查找方法,查找速度受到保存在SRAM中数据量的影响,在多个时钟周期才能完成一次查找,查找速度较慢。
本实施例在MAC地址学习时,交换机A将在保护端口上学习到的MAC地址存储在TCAM中,例如可以存储在TCAM中的第一MAC表。在对其它保护端口学习时,交换机A可以采用硬件查找方法查找保存在TCAM中的第一MAC表,确定第一MAC表是否保存了本次学习的MAC地址。
采用该技术方案,一方面基于TCAM的硬件查询方法,提高了保护端口上MAC地址学习效率;另一方面SRAM用于保存非保护端口学习到的MAC地址,MAC地址数量相对减少,一定程度也提高了第二MAC表查询效率,进而提高了非保护端口MAC地址学习效率。因此,本发明实施例可以提高交换机的MAC地址学习效率。
本发明实施例提供的MAC地址删除,可以包括如下两种实现方式:
在一种实现方式中,交换机A通过监听端口的状态确定端口是否出现故障。例如,交换机A的每个端口在初始化后,端口状态可以被设置为UP态,该UP态可以用于指示端口处于可使用状态。交换机A可以对每个端口的状态进行检测。若检测到某个端口出现物理故障或协议故障,交换机A可将该端口状态设置为DOWN态,该DOWN态可以用于指示该端口处于故障状态。当交换机A确定某端口状态由UP态转变为DOWN态,交换机A可以删除MAC表中与该端口关联的MAC地址。
例如,交换机A对端口1、端口2和端口3进行初始化后,将端口1、端口2和端口3的状态设定为UP态,这样端口1、端口2和端口3处于可使用状态。若交换机A检测到端口3出现物理故障时,将端口3的状态设置为DOWN态。当交换机A确定端口3的端口状态由UP态转变为DOWN态,端口3为保护端口,交换机A删除保存在TCAM中的第一MAC表中端口3对应的MAC地址。在另一种实现方案中,如果第一MAC表中还包括VLAN ID,端口3为保护端口,交换机A删除保存在TCAM中的第一MAC表中端口3对应的MAC地址和VLAN ID。
当交换机A检测到端口1出现物理故障,将端口1的状态设置为DOWN态。当交换机A确定端口1的端口状态由UP态转变为DOWN态,端口1为非保护端口,交换机A删除保存在SRAM中的第二MAC表中端口1对应的MAC地址。此外,如果第二MAC表中还包括VLAN ID,端口1为非保护端口,交换机A删除保存在SRAM中的第二MAC表中端口1对应的MAC地址和VLAN ID。
在本实施例中,在保护端口故障的情况下,交换机A可以基于TCAM的硬件查找方法查找第一MAC表,确定第一MAC表是否保存本次学习的MAC地址。采用该技术方案,一方面基于TCAM的硬件查询方法,并发查找提高了查询效率,进而提高了交换机A对保护端口MAC地址的删除效率;另一方面SRAM用于保存在非保护端口学习到的MAC地址,MAC地址数量相对减少。在非保护端口故障的情况下,一定程度提高了第二MAC表查询效率,进而提高了交换机A对非保护端口MAC地址删除效率。因此,本发明实施例可以提高交换机的MAC地址删除效率。
在另一种实现方式中,交换机A通过监听各端口通信对端设备的反馈信号,该反馈信号用于指示端口对应的通信链路是否故障。当交换机A在预定时间内收到反馈信号时,交换机A确定端口对应的通信链路处于正常状态。若交换机A在预定时间内在某一端口未收到反馈信号,交换机A确认该端口对应的通信链路出现故障。交换机A删除MAC表中与该端口关联的MAC地址。
例如,交换机A通过端口1、端口2和端口3分别监听网络设备、交换机B、服务器的反馈信号。若在预定时间内,交换机通过端口3未收到服务器的反馈信号,交换机A确定端口3对应的通信链路出现故障。交换机A基于表1确定端口3为保护端口,删除第一MAC表中端口3对应的MAC地址,该第一MAC表保存于TCAM。在另一种实现方案中,如果第一MAC表中还包括VLAN ID,当交换机A基于表1确定端口3为保护端口,交换机A删除第一MAC表中端口3对应的MAC地址和VLAN ID。
若在预定时间内,交换机A通过端口1未收到网络设备的反馈信号,交换机A确定端口1对应的通信链路出现故障。交换机A基于表1确定端口1为非保护端口,则交换机A删除第二MAC表中端口1对应的MAC地址,该第二MAC表保存于SRAM中。在另一种实现方案中,如果第二MAC表中还包括VLAN ID,当交换机A根据表1确定端口1非保护端口,交换机A删除第二MAC表中端口1对应的MAC地址和VLAN ID。
在本发明的实施例中,在保护端口对应通信链路故障的情况下,交换机A可以基于TCAM的硬件查找方法查找第一MAC表,确定第一MAC表是否保存本次学习的MAC地址。采用该技术方案,一方面基于TCAM的硬件查询方法,并发查找提高了查询效率,进而提高了交换机A对保护端口MAC地址删除效率;另一方面SRAM用于保存在非保护端口学习到的MAC地址,MAC地址数量相对减少。在非保护端口对应通信链路故障的情况下,一定程度提高了第二MAC表查询效率,进而提高了交换机A对非保护端口MAC地址删除效率。因此,本发明实施例的方案可以提高交换机的MAC地址删除效率。
本实施例提供的另一种MAC地址学习,可以包括如下两种实现方式:
在一种实现方式中,交换机A通过端口3接收服务器发送的报文。交换机A可以记录接收报文的端口为端口3。交换机A解析端口3接收到的报文,获得服务器的MAC地址。交换机A基于服务器的MAC地址可以查找MAC表,该MAC表可以保存在TCAM中。若交换机A在MAC表中查到服务器的MAC地址,可以丢弃所获取的MAC地址;若交换机A在MAC表中未查到服务器的MAC地址,交换机A把端口3以及获得的服务器的MAC地址保存在MAC表中。
在另一种实现方式中,交换机A通过端口3接收服务器发送的报文。交换机A可以记录接收报文的端口为端口3。交换机A解析端口3接收到的报文,获得服务器的MAC地址和VLAN ID。交换机A基于服务器的MAC地址和VLAN可以查找MAC表,该MAC表可以保存在TCAM中。若交换机A在MAC表中查到服务器的MAC地址和VLAN,可以丢弃所获取的MAC地址和VLAN;若交换机A在MAC表中未查到服务器的MAC地址和VLAN,交换机A把端口3以及获得的服务器的MAC地址和VLAN保存在MAC表中。
在上述两种学习实现方式中,TCMA中的所有数据可以在同一时刻被查询,查找速度不受保存在TCMA中数据大小影响,在一个时钟周期可以完成一次查找。采用该技术方案,基于TCAM的硬件查询方法,提高了保护端口上MAC地址学习效率。因此,本发明实施例可以提高交换机的MAC地址学习效率。
本实施例提供的另一种MAC地址删除,可以包括如下两种实现方式:
在一种实现方式中,交换机A通过监听端口的状态确定端口是否出现故障。例如,交换机A的每个端口在初始化后,端口状态可以被设置为UP态,该UP态可以用于指示端口处于可使用状态。交换机A对每个端口的状态进行检测。若检测到某个端口出现物理故障或协议故障,交换机A可将该端口状态设置为DOWN态,该DOWN态可以用于指示该端口处于故障状态。当交换机A确定某端口状态由UP态转变为DOWN态,交换机A可以删除MAC表中与该端口关联的MAC地址。
例如,交换机A对端口1、端口2和端口3进行初始化后,将端口1、端口2和端口3的状态设定为UP态,这样端口1、端口2和端口3处于可使用状态。若交换机A检测到端口3出现物理故障时,将端口3的状态设置为DOWN态。当交换机A确定端口3的端口状态由UP态转变为DOWN态,交换机A删除保存在TCAM中的MAC表中端口3对应的MAC地址。在另一种实现方案中,如果第一MAC表中还包括VLAN ID,交换机A删除保存在TCAM中的MAC表中端口3对应的MAC地址和VLAN ID。
在另一种实现方式中,交换机A通过监听各端口通信对端设备的反馈信号,该反馈信号用于指示端口对应的通信链路是否故障。当交换机A在预定时间内收到反馈信号时,交换机A确定端口对应的通信链路处于正常状态。若交换机A在预定时间内在某一端口未收到反馈信号,交换机A确认该端口对应的通信链路出现故障。交换机A删除MAC表中与该端口关联的MAC地址。
例如,交换机A通过端口1、端口2和端口3分别监听网络设备、交换机B、服务器的反馈信号。若在预定时间内,交换机通过端口3未收到服务器的反馈信号,交换机A确定端口3对应的通信链路出现故障。交换机A删除MAC表中端口3对应的MAC地址,该MAC表保存于TCAM。在另一种实现方案中,如果MAC表中还包括VLAN ID,交换机A删除MAC表中端口3对应的MAC地址和VLAN ID。
在上述两个实现方式中,交换机A可以基于TCAM的硬件查找方法查找MAC表,确定第一MAC表是否保存本次学习的MAC地址。采用该技术方案,基于TCAM的硬件查询方法,并发查找提高了查询效率,进而提高了交换机A对保护端口MAC地址的删除效率。因此,本发明实施例可以提高交换机的MAC地址删除效率。
实施例二
结合上述实施例和附图,本申请又一实施例提供一种MAC地址删除方法。参见图4,该方法包括:
S110、交换设备监测第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示端口处于正常运行状态,所述DOWN态指示端口处于故障状态;
在一种实现方案中,第一端口可以为交换设备的全部端口。交换设备将全部端口学习的第一MAC地址保存在TCAM中。然后交换设备监测全部端口的状态变化,确定端口是否有出现端口故障。
可以理解的,交换设备将全部端口学习的第一MAC地址保存在TCAM中,例如,交换设备具有3个端口,分别为端口1、端口2和端口3。在端口1上接收来自设备1的报文,学习到的MAC地址为MAC1;在端口2上接收来自设备2的报文,学习到的MAC地址为MAC2;在端口3上接收来自设备3的报文,学习到的MAC地址为MAC3;交换设备将上述3个端口上学习的MAC地址MAC1、MAC2和MAC3保存于TCAM中。
在另一个实现方案中,第一端口可以为交换设备的部分端口。交换设备将该部分端口上学习的MAC地址保存在TCAM中。
示例性的,该部分端口可以为用户设定的保护端口。交换设备将在保护端口学习的MAC地址保存在TCAM中。然后交换设备监测保护端口的状态变化,以确定保护端口是否出现端口故障。
在上述两种方案中,交换设备可以将MAC地址与MAC地址关联的第一端口保存在TCAM。
S120、若所述第一端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述TCAM中的与所述第一端口关联的MAC地址。
在一种实现方案中,当第一端口为交换设备的全部端口时,若所述第一端口的状态由UP态变为DOWN态,交换设备可以确定至少一个端口故障。为了保证通信数据交换设备的故障端口丢弃,交换设备删除TCAM中该端口关联的MAC地址。
在另一个实现的方案中,当第一端口为交换设备的部分端口时,若所述第一端口的状态由UP态变为DOWN态,交换设备可以确定该部分端口至少一个端口出现故障,则为了保证数据不具备故障端口丢弃,则交换机删除TCAM中该故障端口关联的MAC地址。
示例性的,该部分端口可以为用户设定的保护端口。若交换设备监测到至少一个保护端口状态由UP态变为DOWN态,则交换设备可以确定至少一个保护端口出现故障。为了保证数据不被至少一个故障端口丢弃,交换设备删除TCAM中保护端口关联的MAC地址。
在本实施例中,交换设备可以基于TCAM的硬件查找方法查找MAC表,确定MAC表是否保存本次学习的MAC地址。采用该技术方案,基于TCAM的硬件查询方法,并发查找提高了查询效率,进而提高了交换设备对端口MAC地址的删除效率。因此,本实施例可以提高交换设备的MAC地址删除效率。
在该实施例中,当第一端口可以是交换设备部分端口时,交换设备的其余端口可以作为第二端口。交换设备将在第二端口学习的MAC地址存储在SRAM中。参见图5,该MAC删除方法还可以包括:
S130、所述交换设备监测第二端口的状态是否由UP态变为DOWN态;
在一种实现方案中,第二端口可以为非保护端口。交换设备将非保护端口学习的MAC地址存储在SRAM中。
S140、若所述第二端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述SRAM中的与所述第二端口关联的MAC地址。
在一种实现方案中,第二端口为非保护端口,若非保护端口状态由UP态变为DOWN态,交换设备确定至少一个非保护端口故障。为了保证数据不被至少一个故障端口丢弃,交换设备删除SRAM中保护非保护端口关联的MAC地址。
在本实施例中,将部分端口学习的MAC地址保存在TCAM,在该部分端口对应通信链路故障的情况下,交换设备可以基于TCAM的硬件查找方法查找第一MAC表,确定第一MAC表是否保存本次学习的MAC地址。采用该技术方案,一方面基于TCAM的硬件查询方法,并发查找提高了查询效率,进而提高了交换设备对部分端口MAC地址删除效率;另一方面SRAM用于保存其余部分端口学习到的MAC地址,MAC地址数量相对减少。在该其余部分端口对应通信链路故障的情况下,一定程度提高了第二MAC表查询效率,进而提高了交换设备对其余端口MAC地址删除效率。因此,本发明实施例的该方案可以提高交换机的MAC地址删除效率。
在该实施例中,术语第一端口和第二端口是用于区分交换设备的不同端口。具体端口数目和顺序等不应受上述术语的限制。
应理解,本申请实施例中提到的“一个实施例”、“一实施例”、“一种实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种媒体存取控制位址MAC地址删除方法,所述方法应用于交换设备,所述交换设备包括多个端口、三态内容寻址存储器TCAM和静态随机存取存储器SRAM,其特征在于:
所述MAC地址保存在所述TCAM或所述SRAM;
所述方法包括:
所述交换设备监测所述多个端口中的至少一个端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述至少一个端口处于正常运行状态,所述DOWN态指示所述至少一个端口处于故障状态;
所述交换设备确定所述多个端口中的至少一个端口是否为保护端口;
若所述至少一个端口状态由UP态变为DOWN态,所述至少一个端口为保护端口,所述交换设备删除保存在所述TCAM中的与所述保护端口关联的MAC地址;
若所述至少一个端口状态由UP态变为DOWN态,所述至少一个端口为非保护端口,所述交换设备删除保存在所述SRAM中的与所述非保护端口关联的MAC地址。
2.一种MAC地址删除方法,所述方法应用于交换设备,所述交换设备包括第一端口、第二端口、三态内容寻址存储器TCAM和静态随机存取存储器SRAM,其特征在于:
第一MAC地址保存在所述TCAM,所述第一MAC地址与所述第一端口关联;
第二MAC地址保存在所述SRAM,所述第二MAC地址与所述第二端口关联;
所述方法包括:
所述交换设备监测所述第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第一端口处于正常运行状态,所述DOWN态指示所述第一端口处于故障状态;
若所述第一端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述TCAM中的与所述第一端口关联的所述第一MAC地址;
所述交换设备监测所述第二端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第二端口处于正常运行状态,所述DOWN态指示所述第二端口处于故障状态;
若所述第二端口的状态由UP态变为DOWN态,所述交换设备删除保存在所述SRAM中的与所述第二端口关联的所述第二MAC地址。
3.根据权利要求2所述的方法,其特征在于,所述第一端口为保护端口。
4.根据权利要求2或3所述的方法,其特征在于,所述第一MAC地址和与所述第一MAC地址关联的所述第一端口保存在所述TCAM。
5.根据权利要求2或3所述的方法,其特征在于,所述第二端口为非保护端口。
6.一种交换设备,其特征在于,所述交换设备包括第一端口、第二端口、三态内容寻址存储器TCAM、静态随机存取存储器SRAM和处理器;其中,所述处理器与所述第一端口和所述TCAM耦合,所述处理器与所述第二端口耦合;
所述TCAM用于保存第一MAC地址,所述第一MAC地址与所述第一端口关联;
所述SRAM用于保存第二MAC地址,所述第二MAC地址与所述第二端口关联;
所述处理器,用于:
监测所述第一端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第一端口处于正常运行状态,所述DOWN态指示所述第一端口处于故障状态;
若所述第一端口的状态由UP态变为DOWN态,删除保存在所述TCAM中的与所述第一端口关联的所述第一MAC地址;
监测所述第二端口的状态是否由UP态变为DOWN态;其中,所述UP态指示所述第二端口处于正常运行状态,所述DOWN态指示所述第二端口处于故障状态;若所述第二端口的状态由UP态变为DOWN态,删除保存在所述SRAM中的与所述第二端口关联的所述第二MAC地址。
7.根据权利要求6所述的设备,其特征在于,所述第一端口为保护端口。
8.根据权利要求6或7所述的设备,其特征在于:所述第一MAC地址和与所述第一MAC地址关联的所述第一端口保存在所述TCAM。
9.根据权利要求6或7所述的设备,其特征在于,所述第二端口为非保护端口。
CN202210780240.2A 2022-07-04 2022-07-04 一种mac地址删除方法及装置 Active CN115334046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210780240.2A CN115334046B (zh) 2022-07-04 2022-07-04 一种mac地址删除方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210780240.2A CN115334046B (zh) 2022-07-04 2022-07-04 一种mac地址删除方法及装置

Publications (2)

Publication Number Publication Date
CN115334046A CN115334046A (zh) 2022-11-11
CN115334046B true CN115334046B (zh) 2023-09-01

Family

ID=83917105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210780240.2A Active CN115334046B (zh) 2022-07-04 2022-07-04 一种mac地址删除方法及装置

Country Status (1)

Country Link
CN (1) CN115334046B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393028B1 (en) * 1999-02-25 2002-05-21 Advanced Micro Devices, Inc. Method and apparatus for providing EOF for frame modification
CN1822565A (zh) * 2004-10-15 2006-08-23 阿尔卡特公司 具有mac表溢出保护的网络
CN101572668A (zh) * 2009-05-21 2009-11-04 中兴通讯股份有限公司 一种删除mac地址的方法及装置
CN101834788A (zh) * 2010-04-16 2010-09-15 福建星网锐捷网络有限公司 媒体访问控制地址表项的存储操作方法、装置及设备
CN103731355A (zh) * 2013-12-31 2014-04-16 迈普通信技术股份有限公司 避免mac地址学习时哈希冲突的方法及***
WO2016101488A1 (zh) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 一种三态内容可寻址存储器tcam查表方法及装置
CN108199962A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 地址迁移方法、装置、网络设备及可读存储介质
WO2022089212A1 (zh) * 2020-10-26 2022-05-05 华为技术有限公司 故障处理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4918862B2 (ja) * 2007-01-05 2012-04-18 富士通株式会社 リンクトレースフレーム転送プログラム、リンクトレースフレーム転送装置、リンクトレースフレーム転送方法
JP6446986B2 (ja) * 2014-10-14 2019-01-09 富士通株式会社 情報処理システム、制御装置、制御装置の制御プログラム、およびスイッチ装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393028B1 (en) * 1999-02-25 2002-05-21 Advanced Micro Devices, Inc. Method and apparatus for providing EOF for frame modification
CN1822565A (zh) * 2004-10-15 2006-08-23 阿尔卡特公司 具有mac表溢出保护的网络
CN101572668A (zh) * 2009-05-21 2009-11-04 中兴通讯股份有限公司 一种删除mac地址的方法及装置
CN101834788A (zh) * 2010-04-16 2010-09-15 福建星网锐捷网络有限公司 媒体访问控制地址表项的存储操作方法、装置及设备
CN103731355A (zh) * 2013-12-31 2014-04-16 迈普通信技术股份有限公司 避免mac地址学习时哈希冲突的方法及***
WO2016101488A1 (zh) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 一种三态内容可寻址存储器tcam查表方法及装置
CN105791126A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种三态内容可寻址存储器tcam查表方法及装置
CN108199962A (zh) * 2017-12-22 2018-06-22 新华三技术有限公司 地址迁移方法、装置、网络设备及可读存储介质
WO2022089212A1 (zh) * 2020-10-26 2022-05-05 华为技术有限公司 故障处理方法和装置

Also Published As

Publication number Publication date
CN115334046A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
CN109587065B (zh) 转发报文的方法、装置、交换机、设备及存储介质
US7019674B2 (en) Content-based information retrieval architecture
US5815664A (en) Address reporting device and method for detecting authorized and unauthorized addresses in a network environment
US8599858B1 (en) System and method for keep alive message aging
US20050147113A1 (en) Method and apparatus for a four-way hash table
CN105791126B (zh) 一种三态内容可寻址存储器tcam查表方法及装置
CN108600099B (zh) 一种报文转发方法、装置及叶子设备
CN113839862B (zh) Mclag邻居之间同步arp信息的方法、***、终端及存储介质
CN109981464B (zh) 一种在fpga中实现的tcam电路结构及其匹配方法
WO2008101423A1 (fr) Système et procédé de montage en pont
US11146476B2 (en) MSDC scaling through on-demand path update
CN115334046B (zh) 一种mac地址删除方法及装置
US7400623B2 (en) Method and apparatus for managing medium access control (MAC) address
CN113364662A (zh) 一种报文处理方法、装置、存储介质和电子设备
CN103560968A (zh) 交换机硬件主机路由表更新方法、装置和交换机
JPH09321789A (ja) ルータが2重化されたネットワークシステムおよびルータが2重化されたネットワークシステムの障害対策方法
US20230106077A1 (en) Distributed Storage System, Exception Handling Method Thereof, and Related Apparatus
CN115550290A (zh) 一种在存储区域网络中实现Zone隔离的方法及设备
TWI739320B (zh) 網路通訊裝置以及網路映射表的操作方法
CN108600075B (zh) 一种故障处理方法及装置
AT&T
CN111556179A (zh) Arp表项更新方法和装置
WO2022206397A1 (zh) 一种缓存方法及集成电路
KR100441033B1 (ko) 스위칭 데이터베이스 캐시 관리 시스템
CN114007152B (zh) 一种针对光纤交换机的端口汇聚处理方法及装置

Legal Events

Date Code Title Description
PB01 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