Mac表项学习方法和装置的制造方法

文档序号:8342657阅读:447来源:国知局
Mac表项学习方法和装置的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术,尤其涉及一种媒体接入控制(Media AccessControl,以下简称:MAC)表项学习方法和装置。
【背景技术】
[0002]MAC转发表用于指导报文的快速转发,通常包含至少一条MAC表项,每条MAC表项中包含MAC地址和端口号,其中,一条MAC表项中的端口号是指网络设备与该MAC表项中的MAC地址对应的设备进行通信时所使用的端口的序号,每一条MAC表项会对应一个老化时间,一般情况下,若在老化时间到达之前未收到源MAC地址或者目的MAC地址为MAC表项中的MAC地址的报文,则删除对应的MAC表项,若在老化时间到达之前收到源MAC地址或者目的MAC地址为MAC表项中的MAC地址的报文,则刷新老化时间,即重新计时。
[0003]现有技术中,网络设备基于接收的报文的源MAC地址学习MAC表项,即报文进入网络设备后,若MAC转发表中不存在上述报文中的源MAC地址对应的MAC表项,则基于上述报文中的源MAC地址学习MAC表项,即在MAC转发表中存储上述报文的源MAC地址和端口号,该端口号是网络设备接收上述报文的端口的序号。
[0004]然而,采用现有技术的方法,存在学习到的MAC表项不是用户所需要的MAC表项,即学习到无效的MAC表项,从而,降低MAC表项学习的效率。

【发明内容】

[0005]本发明实施例提供一种MAC表项学习方法和装置,以提高MAC表项学习的效率。
[0006]本发明实施例第一方面提供一种MAC表项学习方法,包括:
[0007]接收第一报文,若媒体接入控制MAC转发表中未存储包含所述第一报文的目的MAC地址的第一 MAC表项,则在所述MAC转发表中添加第二 MAC表项,并确定所述第一报文的目的MAC地址为所述第二 MAC表项中的MAC地址;
[0008]当在第一预设时间段内,接收到源MAC地址与所述第二 MAC表项中的MAC地址相同的第二报文,则学习接收所述第二报文的端口号,将所述接收第二报文的端口号确定为所述第二 MAC表项中的端口号,所述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与所述第二 MAC表项中的MAC地址相同的报文的时刻。
[0009]结合第一方面,在第一种可能的实现方式中,所述方法还包括:当在所述第一预设时间段内,未接收到源MAC地址与所述第二 MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第三报文,则删除所述第二 MAC表项。
[0010]结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:当在所述第一预设时间段内,接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第三报文,则将所述第一预设时间段的起始时刻更新为接收所述第三报文的时刻。
[0011]结合第一方面或第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述确定接收所述第二报文的端口号为所述第二 MAC表项中的端口号之后,还包括:
[0012]当在第二预设时间段内,未接收到源MAC地址与所述第二 MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第五报文,则删除所述第二 MAC表项;
[0013]其中,所述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含所述第二 MAC表项的MAC地址的报文的时刻,所述包含所述第二 MAC表项的MAC报文为源MAC地址为所述第二 MAC表项的MAC地址的报文或者目的MAC地址为所述第二 MAC表项的MAC地址的报文;
[0014]结合第一方面或第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述确定接收所述第二报文的端口号为所述第二 MAC表项中的端口号之后,还包括:
[0015]当在第二预设时间段内,接收到包含所述第二 MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二 MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二 MAC表项的MAC地址的报文为源MAC地址为所述第二 MAC表项的MAC地址的报文或者目的MAC地址为所述第二 MAC表项的MAC地址的报文。
[0016]本发明实施例第二方面一种MAC表项学习装置,包括:
[0017]接收模块,用于接收第一报文,若媒体接入控制MAC转发表中未存储包含所述第一报文的目的MAC地址的第一 MAC表项,则在所述MAC转发表中添加第二 MAC表项,并确定所述第一报文的目的MAC地址为所述第二 MAC表项中的MAC地址;
[0018]处理模块,用于当在第一预设时间段内,接收到源MAC地址与所述第二 MAC表项中的MAC地址相同的第二报文,则学习接收所述第二报文的端口号,将所述接收第二报文的端口号确定为所述第二 MAC表项中的端口号,所述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与所述第二 MAC表项中的MAC地址相同的报文的时刻。
[0019]结合第二方面,在第一种可能的实现方式中,所述处理模块还用于当在所述第一预设时间段内,未接收到源MAC地址与所述第二 MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第三报文,则删除所述第二 MAC表项。
[0020]结合第二方面或第一种可能的实现方式,在第二种可能的实现方式中,所述处理模块还用于当在所述第一预设时间段内,接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第三报文,则将所述第一预设时间段的起始时刻更新为接收所述第三报文的时刻。
[0021]结合第二方面或第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述处理模块还用于确定接收所述第二报文的端口号为所述第二 MAC表项中的端口号之后,当在第二预设时间段内,未接收到源MAC地址与所述第二 MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与所述第二 MAC表项的MAC地址相同的第五报文,则删除所述第二 MAC表项;其中,所述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含所述第二 MAC表项的MAC地址的报文的时刻,所述包含所述第二 MAC表项的MAC报文为源MAC地址为所述第二 MAC表项的MAC地址的报文或者目的MAC地址为所述第二 MAC表项的MAC地址的报文;
[0022]结合第二方面或第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述处理模块还用于确定接收所述第二报文的端口号为所述第二MAC表项中的端口号之后,当在第二预设时间段内,接收到包含所述第二 MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二 MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二 MAC表项的MAC地址的报文为源MAC地址为所述第二 MAC表项的MAC地址的报文或者目的MAC地址为所述第二 MAC表项的MAC地址的报文。
[0023]本实施例提供的MAC表项学习方法和装置,通过接收第一报文,若MAC转发表中未存储包含第一报文的目的MAC地址的第一 MAC表项,则在MAC转发表中添加第二 MAC表项,并确定第一报文的目的MAC地址为第二 MAC表项中的MAC地址,当在第一预设时间段内,接收到源MAC地址与第二 MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将接收第二报文的端口号确定为第二 MAC表项中的端口号,从而,完成MAC表项学习。相当于,第二 MAC表项是根据用用户的实际业务需求而进行学习的,从而,降低了无效MAC的学习,提高了 MAC表项学习的效率。
【附图说明】
[0024]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本发明MAC表项学习方法实施例一的流程不意图;
[0026]图2为本发明MAC表项学习方法实施例二的流程示意图;
[0027]图3为本发明MAC表项学
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1