MAC地址的查找转发方法和装置制造方法及图纸

技术编号:9671231 阅读:125 留言:0更新日期:2014-02-14 18:17
本发明专利技术提供一种MAC地址的查找转发方法和装置,包括:接收用户报文,根据所述用户报文中的目的MAC地址和VFI?ID确定目的平衡二叉树;根据所述MAC地址和VFI?ID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项;根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化;若确定出所述目的MAC地址需要老化,则对所述目的MAC地址进行老化。在进行MAC地址转发时对MAC地址进行老化,在对MAC地址老化时,不需要对目的平衡二叉树进行上锁,使得在对目的MAC地址老化时,目的平衡二叉树中除目的MAC地址以外的其他MAC地址可用于进行报文转发,提高了MAC地址的转发效率。

【技术实现步骤摘要】
MAC地址的查找转发方法和装置
本专利技术涉及数据通讯技术,尤其涉及一种媒体接入控制(MediaAccessControl,简称MAC)地址的查找转发方法和装置。
技术介绍
虚拟专用局域网服务(VirtualPrivateLANService,简称VPLS),是一种在多协议标签交换/网际协议(MultiProtocolLabelSwitch/InternetProtocol,简称MPLS/IP)网络中提供虚拟专用以太网的技术。使用VPLS,可以在多个提供商边缘(ProviderEdge,简称PE)设备间建立全网状的伪线(PseudoWire,简称PW),将二层以太网帧封装后通过MPLS网络使之在各个PE之间进行转发,从而建立一个点对多点的以太网VPN。PE设备作为交换机进行报文转发,交换机二层的转发特性,符合802.1D网桥协议标准。交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。地址学习线程如下:1、交换机接收网段上的所有用户报文,利用接收用户报文中的源MAC地址来建立一张包含源MAC地址、虚拟局域网标识(VirtualLocalAreaNetworkIdentity,简称VLANID)或虚拟转发实例标识(VirtualForwardInstanceIdentity,简称VFIID)、端口(port)的转发表;2、端口移动机制:交换机如果发现一个报文的入端口和报文中源MAC地址的所在端口(在交换机的MAC地址表中对应的端口)不同,就产生端口移动,将MAC地址重新学习到新的端口;3、地址老化机制:如果交换机在很长一段时间之内没有收到某台主机发出的报文,则该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。报文转发线程:1、交换机在MAC地址表中查找用户报文中的目的MAC地址,如果找到,就将该用户报文发送到相应的端口,如果找不到,就向所有的端口发送;2、如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;3、交换机向入端口以外的其它所有端口转发广播报文。但是,现有的MAC地址都是采用哈希链的方式存储,在转发时,交换机通过VLAN+MAC算出一个HASH值,然后查找HASH链,找到冲突MAC地址表,从该冲突MAC地址表中逐一进行比较找到MAC的出端口,通过出端口转发用户报文,若该冲突MAC地址表有N个MAC地址,则最坏的情况下,需要比较N次才能找到MAC地址的出端口,查找效率低,影响了MAC地址的转发效率,而且现有技术中,对MAC地址进行转发和老化时,需要对MAC地址表进行上锁,也会影响MAC地址的转发效率。具体来说,当根据某张MAC地址表转发时,需要对该MAC地址进行上锁,在转发时,不能对该MAC地址进行老化,相应地,在对MAC地址表进行老化时,也需要上锁,不能够查询该MAC地址表进行转发,从而也影响了MAC地址的转发效率。
技术实现思路
本专利技术提供一种媒体接入控制MAC地址的查找转发方法和装置,以提高MAC地址的转发效率。本专利技术第一方面提供一种媒体接入控制MAC地址的查找转发方法,包括:接收用户报文,根据所述用户报文中的目的MAC地址和虚拟转发实例标识VFIID确定目的平衡二叉树,所述目的平衡二叉树有N个节点,每个节点上存储有一个MAC地址表项,N大于等于1;根据所述目的MAC地址和VFIID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,所述目的MAC地址表项中包括所述目的MAC地址、所述VFIID以及所述目的MAC地址对应的目的端口;根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化;若确定出所述目的MAC地址需要老化,则对所述目的MAC地址进行老化,将所述用户报文广播出去,其中,在对所述目的MAC地址老化时,不对所述目的平衡二叉树上锁,所述目的平衡二叉树中除所述目的MAC地址以外的其他MAC地址可用于进行报文转发;若确定出所述目的MAC地址不需要老化,则从所述目的MAC地址对应的目的端口将所述用户报文转发出去。如上所述的MAC地址的查找转发方法,所述目的MAC地址表中的各MAC地址表项有序存储,则所述根据所述MAC地址和VFIID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,包括:根据所述目的MAC地址和VFIID采用二分查找法查找所述目的平衡二叉树,找到与所述目的MAC地址和VFIID匹配的目的MAC地址表项。如上所述的MAC地址的查找转发方法,所述根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化,包括:确定所述目的MAC地址是否为动态MAC地址;若否,则确定所述目的MAC不需要老化;若是,则根据所述目的MAC地址的有效标识位的值判断所述目的MAC地址是否有效,其中,所述有效标识位用于标识所述MAC地址是否有效;若无效,则确定所述目的MAC地址需要老化;若有效,则确定所述目的MAC地址不需要老化。如上所述的MAC地址的查找转发方法,所述接收用户报文,根据所述用户报文中的目的MAC地址和VFIID确定目的平衡二叉树之前,还包括:接收所述用户报文,对所述用户报文进行源MAC地址学习,当确定出MAC地址表中没有存储所述用户报文的源MAC地址时,确定所述MAC地址表中是否有可用的空闲资源;若有空闲资源,则根据所述源MAC地址的学习结果,生成所述目的MAC地址表项,将所述目的MAC地址表项插入所述目的平衡二叉树;若没有空闲资源,则遍历所述MAC地址表,确定出待老化的MAC地址,对所述待老化的MAC地址进行老化,释放所述待老化MAC地址占用的资源,其中,在对所述待老化的MAC地址进行老化时,不对所述待老化的MAC地址所在的目的平衡二叉树上锁,所述目的平衡二叉树中除所述待老化的MAC地址以外的其他MAC地址可用于进行报文转发;在对所述待老化的MAC地址进行老化删除后,根据所述源MAC地址的学习结果,生成所述目的MAC地址表项,将所述目的MAC地址表项插入所述目的平衡二叉树。如上所述的MAC地址的查找转发方法,所述接收用户报文,对所述用户报文进行源MAC地址学习之前,还包括:构建所述目的平衡二叉树,创建所述目的平衡二叉树的各节点。本专利技术第二方面提供一种媒体接入控制MAC地址的查找转发方法装置,包括:接收模块,用于接收用户报文,根据所述用户报文中的目的MAC地址和虚拟转发实例标识VFIID确定目的平衡二叉树,所述目的平衡二叉树有N个节点,每个节点上存储有一个MAC地址表项,N大于等于1;查找模块,用于据所述MAC地址和VFIID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,所述目的MAC地址表项中包括所述目的MAC地址、所述VFIID以及所述目的MAC地址对应的目的端口;老化模块,用于根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化;若确定出所述目的MAC地址需要老化,则对所述目的MAC地址进行老化,其中,在对所述目的MAC地址老化时,不对所述目的平衡二叉树上锁,所述目的平衡二叉树中除所述目的MAC地址以外的其他MAC地址可用于进行报文转发;发送模块,用于在所述老化模块对所述目的MAC地址进行老化后,广播所述用户报文,还用于在本文档来自技高网
...
MAC地址的查找转发方法和装置

【技术保护点】
一种媒体接入控制MAC地址的查找转发方法,其特征在于,包括:接收用户报文,根据所述用户报文中的目的MAC地址和虚拟转发实例标识VFI?ID确定目的平衡二叉树,所述目的平衡二叉树有N个节点,每个节点上存储有一个MAC地址表项,N大于等于1;根据所述目的MAC地址和VFI?ID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,所述目的MAC地址表项中包括所述目的MAC地址、所述VFI?ID以及所述目的MAC地址对应的目的端口;根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化;若确定出所述目的MAC地址需要老化,则对所述目的MAC地址进行老化,将所述用户报文广播出去,其中,在对所述目的MAC地址老化时,不对所述目的平衡二叉树上锁,所述目的平衡二叉树中除所述目的MAC地址以外的其他MAC地址可用于进行报文转发;若确定出所述目的MAC地址不需要老化,则从所述目的MAC地址对应的目的端口将所述用户报文转发出去。

【技术特征摘要】
1.一种媒体接入控制MAC地址的查找转发方法,其特征在于,包括:接收用户报文,根据所述用户报文中的目的MAC地址和虚拟转发实例标识VFIID确定目的平衡二叉树,所述目的平衡二叉树有N个节点,每个节点上存储有一个MAC地址表项,N为大于等于1的整数;根据所述目的MAC地址和VFIID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,所述目的MAC地址表项中包括所述目的MAC地址、所述VFIID以及所述目的MAC地址对应的目的端口;根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化;若确定出所述目的MAC地址需要老化,则对所述目的MAC地址进行老化,将所述用户报文广播出去,其中,在对所述目的MAC地址老化时,不对所述目的平衡二叉树上锁,所述目的平衡二叉树中除所述目的MAC地址以外的其他MAC地址可用于进行报文转发;若确定出所述目的MAC地址不需要老化,则从所述目的MAC地址对应的目的端口将所述用户报文转发出去。2.根据权利要求1所述的方法,其特征在于,所述目的MAC地址表中的各MAC地址表项有序存储,则所述根据所述MAC地址和VFIID查找所述目的平衡二叉树,找到与所述目的MAC地址对应的目的MAC地址表项,包括:根据所述目的MAC地址和VFIID采用二分查找法查找所述目的平衡二叉树,找到与所述目的MAC地址和VFIID匹配的目的MAC地址表项。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目的MAC地址表项确定所述目的MAC地址是否需要老化,包括:确定所述目的MAC地址是否为动态MAC地址;若否,则确定所述目的MAC不需要老化;若是,则根据所述目的MAC地址的有效标识位的值判断所述目的MAC地址是否有效,其中,所述有效标识位用于标识所述MAC地址是否有效;若无效,则确定所述目的MAC地址需要老化;若有效,则确定所述目的MAC地址不需要老化。4.根据权利要求1所述的方法,其特征在于,所述接收用户报文,根据所述用户报文中的目的MAC地址和VFIID确定目的平衡二叉树之前,还包括:接收所述用户报文,对所述用户报文进行源MAC地址学习,当确定出MAC地址表中没有存储所述用户报文的源MAC地址时,确定所述MAC地址表中是否有可用的空闲资源;若有空闲资源,则根据所述源MAC地址的学习结果,生成所述目的MAC地址表项,将所述目的MAC地址表项插入所述目的平衡二叉树;若没有空闲资源,则遍历所述MAC地址表,确定出待老化的MAC地址,对所述待老化的MAC地址进行老化,释放所述待老化MAC地址占用的资源,其中,在对所述待老化的MAC地址进行老化时,不对所述待老化的MAC地址所在的目的平衡二叉树上锁,所述目的平衡二叉树中除所述待老化的MAC地址以外的其他MAC地址可用于进行报文转发;在对所述待老化的MAC地址进行老化删除后,根据所述源MAC地址的学习结果,生成所述目的MAC地址表项,将所述目的MAC地址表项插入所述目的平衡二叉树。5.根据权利要求4所述的方法,其特征在于,所述接收用户报文,对所述用户报文进行源MAC地址学习之前,还包括:构建所述目的平衡二叉树,创建所述目的平衡二叉树的各节点。6.一种媒体接入控制MAC地址的查找转发...

【专利技术属性】
技术研发人员:唐友灿
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:

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

1