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

文档序号:8342657阅读:来源:国知局
习装置实施例一的结构示意图;
[0028]图4为本发明MAC表项学习装置实施例二的结构示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]MAC转发表用于指导报文的快速转发,即根据MAC转发表确定具体通过网络设备的哪个端口转发报文,然而,MAC转发表的存储容量有限,因此,提高MAC转发表存储的MAC表项的有效性很重要。MAC转发表中的MAC表项存储MAC地址与端口号的对应关系,衡量MAC表项的有效性是根据MAC表项的利用率衡量的,即存储的MAC表项被利用的次数越多,MAC表项的有效性越高,若存储的MAC表项从未被利用过则认为该MAC表项为无效的MAC表项。MAC表项中具体存储哪些MAC表项是与MAC表项学习的方法有关的,因此,为了提高MAC表项学习的效率,本发明通过第一报文的目的MAC地址确定待学习的MAC表项的MAC地址,通过源MAC地址与第一报文的目的MAC地址相同的第二报文学习MAC表项的端口号,通过第一报文的目的MAC地址确定待学习的MAC表项的MAC地址,说明网络设备具有向第一报文的目的MAC地址对应的设备进行转发报文的需求,通过源MAC地址与第一报文的目的MAC地址相同的第二报文学习MAC表项的端口号,说明与第一报文的目的地址对应的设备状态良好,从而,通过第二报文学习MAC表项的端口号;也就是,本发明的MAC表项学习方法是根据用户的实际业务需求确定学习MAC表项,因此,能够提高MAC表项的学习效率。
[0031]下面以具体的实施例对本发明的技术方案进行详细描述。
[0032]图1为本发明MAC表项学习方法实施例一的流程示意图,本实施例的执行主体是网络设备,该网络设备是指具有报文转发功能的网络设备,例如,路由器、交换机和网关设备等。如图1所示,本实施例的方法如下:
[0033]SlOl:接收第一报文,若MAC转发表中未存储包含上述第一报文的目的MAC地址的第一 MAC表项,则在上述MAC转发表中添加第二 MAC表项,并确定上述第一报文的目的MAC地址为上述第二 MAC表项中的MAC地址。
[0034]其中,MAC转发表中包含至少一条MAC表项,MAC表项可以为包含MAC地址和端口号的MAC表项,也可以为只包含MAC地址、端口号为空或者为默认值的MAC表项,本发明中称前一种MAC表项为实MAC表项,后一种MAC表项为虚MAC表项。在SlOl中的若MAC转发表中未存储包含第一报文的目的MAC地址的第一 MAC表项,是指转发表中即未存储包含第一报文的目的MAC地址的实MAC表项,也未存储包含第一报文的目的MAC地址的虚MAC表项。在这种情况下,则在MAC转发表中添加第二 MAC表项,并确定第一报文的目的MAC地址为上述第二 MAC表项中的MAC地址,该步骤即建立了一个虚MAC表项,虚MAC表项中的MAC地址为第一报文的目的MAC地址。
[0035]S102:当在第一预设时间段内,接收到源MAC地址与第二 MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将接收第二报文的端口号确定为第二 MAC表项中的端口号。
[0036]其中,第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与上述第二 MAC表项中的MAC地址相同的报文的时刻。第一预设时间段也就是虚MAC表项的老化时间,即老化时间到了则删除该虚MAC表项,第一预设时间段具体为多长时间,依据实际应用而设定。
[0037]若在第一预设时间段内,接收到源MAC地址与第二 MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将第二报文的端口号确定为第二 MAC表项中的端口号,在SlOl步骤中的第二MAC表项相当于一个虚MAC表项,S102步骤相当于将该虚MAC表项转化成实MAC表项,S102中的第二 MAC表项包含MAC地址和端口号,第二 MAC表项中的MAC地址为第一报文的目的MAC地址,第二 MAC表项中的端口号为接收第二报文的端口号。
[0038]本实施例,通过接收第一报文,若MAC转发表中未存储包含第一报文的目的MAC地址的第一 MAC表项,则在MAC转发表中添加第二 MAC表项,并确定第一报文的目的MAC地址为第二 MAC表项中的MAC地址,当在第一预设时间段内,接收到源MAC地址与第二 MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将接收第二报文的端口号确定为第二 MAC表项中的端口号,从而,完成MAC表项学习。在该技术方案中,通过第一报文的目的MAC地址确定第二 MAC表项的MAC地址,通过接收源MAC地址与第二 MAC表项的MAC地址相同的第二报文的端口号确定第二 MAC表项的端口号,可以看出,网络中发送第一报文的设备具有与第二 MAC表项中的MAC地址对应的设备进行通信的需求,并且,第二 MAC表项中的MAC地址对应的设备处于良好的状态,因此,可以通过第二 MAC表项中的MAC地址对应的设备发送的第二报文学习第二 MAC表项中的端口号,即第二 MAC表项是根据用用户的实际业务需求而进行学习的,从而,降低了无效MAC的学习,提高了 MAC表项学习的效率。
[0039]在上述实施例中,当在第一预设时间段内,未接收到源MAC地址与第二 MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与第二 MAC表项的MAC地址相同的第三报文,则删除第二 MAC表项。此处的第二 MAC表项是指步骤SlOl中生成的第二 MAC表项,即虚MAC表项,若在第一预设时间段内,未接收到源MAC地址与第二 MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与第二 MAC表项的MAC地址相同的第三报文,则删除第二 MAC表项,则说明第二 MAC表项中的MAC地址对应的设备故障,或者,第二 MAC表项的MAC地址对应的设备无与其他设备进行通信的需求,或者是其他原因导致无法建立第二 MAC表项中的MAC地址与端口号的对应关系,则删除第二 MAC表项,即,删除虚MAC表项。从而,避免无效的MAC表项占用MAC转发表的存储空间,提高了 MAC转发表的利用率。
[0040]在上述实施中,当在第一预设时间段内,接收到目的MAC地址与第二 MAC表项的MAC地址相同的第三报文,则将第一预设时间段的起始时刻更新为接收第三报文的时刻。
[0041]在上述实施例中,在S102之后,当在第二预设时间段内,未接收到源MAC地址与第二 MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与第二 MAC表项的MAC地址相同的第五报文,则删除第二 MAC表项,该第二 MAC表项即实MAC表项,该第二 MAC表项中包含MAC地址和端口号。
[0042]其中,第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含第二 MAC表项的MAC地址的报文时刻。包含第二 MAC表项的MAC地址的报文可以为目的MAC地址为第二 MAC表项的MAC地址的报文,或者源MAC地址为第二 MAC表项的MAC地址的报文。第二预设时间段即实MAC的老化时间。第二预设时间段具体为多长时间,依据实际应用而设定。
[0043]若在实MAC的老化时间内,未接收到源MAC地址与第二 MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与第二 MAC表项的MAC地址相同的第五报文,则老化实MAC表项,即删除第二 MAC表项。
[0044]值得说明的是,第二预设时间段可以与第一预设时间段相同,也可以不相同,具体不作限定。
[0045]在上述实施例中,在S102之后,当在第二预设时间段内,接收到包含所述第二 MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二 MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二 MAC表项的MAC地址的报文为源MAC地址为所述第二 MAC表项的MAC地址的报文或者目的MAC地址为所述第二 MAC表项的MAC地址的报文。即,当在第二预设时间段内,接收到源MAC地址与第二 MAC表项的MAC地址相同的第四报文,则更新第二预设时间段的起始时刻为接收上述第四报文的时刻,当在第二预设时间段内,接收到目的MAC地址与第二 MAC表项的MAC地址相同
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1