一种MAC地址学习的方法及装置制造方法及图纸

技术编号:32509818 阅读:19 留言:0更新日期:2022-03-02 10:52
本申请提供了一种MAC地址学习的方法及装置,应用于网络设备,所述方法包括:解析接收到的目标报文,并获得对应的报文信息,其中,所述报文信息包含所述目标报文的目标报文类型;判断所述目标报文类型是否属于预设报文类型;如果判断结果为是,则针对所述目标报文进行MAC地址学习。本申请可以在不提高硬件性能与成本的前提下,减少网络设备所需处理的流量,避免流量超出网络设备的性能上限,或者减少由于超出性能上限而导致的丢包。同时,可以在不提高MAC地址信息的记录数量上限的前提下,减少网络设备所需学习的MAC地址信息的数量,以提高MAC地址学习模块的空间利用率。MAC地址学习模块的空间利用率。MAC地址学习模块的空间利用率。

【技术实现步骤摘要】
一种MAC地址学习的方法及装置


[0001]本专利技术涉及通讯
,尤其涉及一种MAC地址学习的方法及装置。

技术介绍

[0002]根据国际标准化组织(ISO)所制订的七层模型(Open System Interconnection,OSI),每一层都有不同标识符,用来区分不同的设备,并实现彼此对等的进行通信。MAC地址属于该模型的第二层数据链路层的标识符,在数据链路层中标识一台唯一的设备。作为网络中交换与传输的数据单元,报文包含着源MAC地址与目标MAC地址。当接收到报文时,网络设备会根据目的MAC地址查找对应的输出端口,以通过查找到的输出端口对该报文进行转发。如果网络设备并未记录目的MAC地址和输出端口的对应关系,就会对除输入端口之外的所有端口进行“泛洪”,导致增加不必要的流量负担。
[0003]在相关技术中,网络设备在报文转发的过程中,会通过MAC地址学习来记录报文的源MAC地址与输入端口之间的对应关系,以用于后续对需要发送至该源MAC地址的报文进行快速转发至正确的端口。这种方式一定程度上的确有效地减少了流量负担。
[0004]然而,网络传输的流量在是动态变化的,当流量超出网络设备进行MAC地址学习的性能上限时,部分流量的MAC地址可能无法被学习到,导致出现丢包的现象。同时,网络设备能够学习的MAC地址信息存在数量上限,当需要学习的MAC地址信息过多时,即便流量不大也可能导致部分MAC地址信息无法记录。

技术实现思路

[0005]有鉴于此,本申请提供了一种MAC地址学习的方法及装置,以解决相关技术中存在的不足。
[0006]具体地,本申请是通过如下技术方案实现的:
[0007]根据本申请实施例的第一方面,提供了一种MAC地址学习的方法,应用于网络设备,所述方法包括:
[0008]解析接收到的目标报文,并获得对应的报文信息,其中,所述报文信息包含所述目标报文的目标报文类型;
[0009]判断所述目标报文类型是否属于预设报文类型;
[0010]如果判断结果为是,则针对所述目标报文进行MAC地址学习。
[0011]根据本申请实施例的第二方面,提供了一种MAC地址学习的装置,应用于交换机设备中,所述装置包括:
[0012]报文解析模块,用于解析接收到的目标报文,获得对应的报文信息,其中,所述报文信息包含所述目标报文的目标报文类型;
[0013]报文类型判断模块,用于判断所述目标报文类型是否为预设报文类型;
[0014]MAC地址学习模块,用于如果判断结果为是,则针对所述目标报文进行MAC地址学习。
[0015]根据本申请实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法的步骤。
[0016]根据本申请实施例的第四方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法的步骤。
[0017]在本申请所提供的技术方案中,通过对接收到的报文进行类型识别,并仅对预设类型的报文进行MAC地址学习,而非针对所有报文均进行MAC地址学习,可以在不提高硬件性能与成本的前提下,减少网络设备所需处理的流量,避免流量超出网络设备的性能上限,或者减少由于超出性能上限而导致的丢包。同时,本申请可以减少网络设备需要学习的MAC地址,可以在不提高MAC地址信息的记录数量上限的前提下,减少网络设备所需学习的MAC地址信息的数量,避免超出上述的记录数量上限,或者减少由于超出记录数量上限而无法学习到的MAC地址信息的数量。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0020]图1是根据本申请一示例性实施例提供的一种MAC地址学习的方法的流程示意图。
[0021]图2是MAC地址学习原理示意图。
[0022]图3是根据本申请一示例性实施例提供的另一种MAC地址学习的方法的流程示意图。
[0023]图4是根据本申请一示例性实施例中的一种电子设备的示意结构图。
[0024]图5是根据本申请一示例性实施例中的一种MAC地址学习的装置的结构示意图。
具体实施方式
[0025]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0026]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0027]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第
一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0028]本申请提供一种基于报文类型的MAC地址学习方法,该方法应用于网络设备,为对本申请的技术方案进行说明。下面通过具体实施例对本申请的技术方案进行阐述:
[0029]图1是根据本申请一示例性实施例提供的一种MAC地址学习的方法的流程图,如图1所示,该方法可以包括以下步骤:
[0030]S101,解析接收到的目标报文,并获得对应的报文信息,其中,所述报文信息包含所述目标报文的目标报文类型。
[0031]当一设备需要传输信息至另一台设备时,需要经过网络设备(例如交换机)的转发,那么可以将该网络设备所接收到的报文称为目标报文。而目标报文类型用于表征该所述目标报文的类型。
[0032]在一实施例中,可以通过解析目标报文中的类型字段得到该目标报文的原始报文类型,并将其作为上述的目标报文类型。例如,解析ARP报文中的“type”字段得到的报文类型为“0x0806”,同理可得到LLDP报文的报文类型为“0x88cc”。
[0033]在另一实施例中,可以在解析目标报文中的类型字段得到该目标报文的原始报文类型后,进一步确定出预先设置的与该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MAC地址学习的方法,其特征在于,应用于网络设备,所述方法包括:解析接收到的目标报文,并获得对应的报文信息,其中,所述报文信息包含所述目标报文的目标报文类型;判断所述目标报文类型是否属于预设报文类型;如果判断结果为是,则针对所述目标报文进行MAC地址学习。2.根据权利要求1所述的方法,其特征在于,所述网络设备中设置有FPGA芯片,所述FPGA芯片通过烧录的配置文件形成有接收模块、解析模块和学习模块;所述报文信息还包含所述目标报文的MAC地址信息;所述解析接收到的目标报文,包括:通过所述解析模块对所述接收模块接收到的所述目标报文进行解析,以得到所述报文信息;所述判断所述目标报文类型是否属于预设报文类型,包括:通过所述学习模块获取所述解析模块生成的所述报文信息,并判断所述报文信息所含的目标报文类型是否属于所述预设报文类型;所述针对所述目标报文进行MAC地址学习,包括:在判断结果为是的情况下,通过所述学习模块对所述报文信息所含的MAC地址信息进行MAC地址学习。3.根据权利要求1所述的方法,其特征在于,所述获得对应的报文信息,包括:解析所述目标报文得到原始报文类型;确定对应于所述原始报文类型的预设类型标识,以作为所述目标报文类型;其中,所述预设类型标识的长度小于所述原始报文类型的长度。4.根据权利要求1所述的方法,其特征在于,所述针对所述目标报文进行MAC地址学习,包括:检测内存中存储的已学习MAC地址信息,以确定是否存在与所述目标报文相同的已学习MAC地址信息;如果不存在,则从地址资源池中读取一剩余的预分配内存地址,并写入所述目标报文的MAC地址信息;其中,所述地址资源池用于维护供存储已学习到的...

【专利技术属性】
技术研发人员:王喆赵旭东宋献斌
申请(专利权)人:杭州迪普信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1