基于媒体访问控制层的报文转发方法和装置制造方法及图纸

技术编号:3501731 阅读:175 留言:0更新日期:2012-04-11 18:40
一种基于媒体访问控制层的报文转发方法,其特征在于,该方法包括:    (a)建立以源MAC地址和目的MAC地址为索引的MAC快转表;    (b)当报文到达的时候,解析报文源MAC地址和目的MAC地址,并查找上述MAC快转表,如果所述MAC快转表中不存在匹配表项,对该报文进行按目的MAC转发处理;并将转发处理结果记录在所述MAC快转表中;如果所述MAC快转表中存在匹配表项,直接调用该匹配表项中转发处理结果转发报文。

【技术实现步骤摘要】

本专利技术涉及数字通信技术,特别地涉及一种基于媒体访问控制层(Medium Access Control,MAC)的报文转发方法及装置。
技术介绍
随着局域网(Local Access Network,LAN)的不断普及,尤其是虚拟局域网(Virtual Local Access Network,VLAN)、无线局域网(Wireless LocalAccess Network,WLAN)的不断发展,基于MAC的报文转发数据量越来越大,对报文转发的效率也要求越来越高。现有技术中,基于MAC的报文转发通常采用标准的桥转发方法,以VLAN为例,在MAC入端口接收到数据报文后,该报文的转发过程如图1所示,包括下述步骤步骤101,对接收到的报文进行解析,提取该报文二层头中的源MAC地址、目的MAC地址、VLAN信息等信息;步骤102,根据当前报文计算VLAN的ID;步骤103,对报文进行ACL、镜像等预定策略处理;步骤104,对源MAC地址进行学习,维护MAC地址转发表项;步骤105,按照目的MAC地址进行报文的二层转发,即在MAC地址转发表中查找与目的MAC地址对应的端口(此时还需要保证入VLAN的ID和出VLAN的ID一致),如果MAC地址转发表中存在目的MAC地址,将报文数据包直接复制到该目的MAC地址对应的端口,如果地址表中没有找到目的MAC地址,则将该报文数据广播到该VLAN内所有端口上,当目的MAC地址所对应的端口对源MAC地址所对应的端口有回应时,对该目的MAC地址进行学习,在MAC地址转发表中记录该目的MAC地址;步骤106,对要输出的报文进行ACL、镜像等策略处理;步骤107,对要输出的报文进行QoS度量、修改优先级等处理;步骤108,根据报文的QoS特征进行队列调度以满足服务质量要求,按照调度的顺序先后进行报文转发。 对上述报文转发的方法进行一点说明MAC地址转发表各个表项值一般包括源MAC地址、目的MAC地址以及VLAN的ID。 从上述基于MAC的报文转发方法可以看出,对于所有需要转发的报文,为获得二层载荷以前的二层封装头都需要经过同样的处理过程,这样在报文数据流较大的情况下,对执行上述工作的中央处理器(Central processing unit,CPU)或者网络处理器(Network Processor,NP)的压力都很大;而且在上述报文的转发过程中,步骤104是源MAC地址的学习过程,由此可见对于源MAC地址的学习也是逐包进行的,数据处理量较大,由此也将给CPU或者NP带来很大的数据处理压力。
技术实现思路
本专利技术提供一种基于媒体访问控制层的报文转发方法和装置,解决现有技术中所有数据报文都经过相同的处理过程所造成的转发效率低的问题。 本专利技术的一个方面提供了一种基于媒体访问控制层的报文转发方法,包括(a)建立以源MAC地址和目的MAC地址为索引的MAC快转表;(b)当报文到达的时候,解析报文源MAC地址和目的MAC地址,并查找上述MAC快转表,如果所述MAC快转表中不存在匹配表项,对该报文进行按目的MAC转发处理;并将转发处理结果记录在所述MAC快转表中;如果所述MAC快转表中存在匹配表项,直接调用该匹配表项中转发处理结果转发报文。 进一步地,所述转发处理结果为二层载荷以前的二层封装报头信息,所述调用转发处理结果具体为用已经记录的二层封装报头信息替换原有报文的二层封装报头。 进一步地,所述的(a)中,建立以源MAC地址和目的MAC地址为索引的MAC快转表是在首次报文转发结束时,并将该次报文的转发处理结果记录在MAC快转表中。 进一步地,该方法还包括(d)按照设定的老化定时时间启动MAC快转表表项老化,在所述老化定时时间内,如果所述MAC快转表中的某一表项没有匹配报文到达则删除该表项,如果有匹配报文到达则将老化定时时间刷新。 进一步地,该方法还包括(e)在预定时间内启动源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地址转发表。 与现有技术相比,本专利技术存在如下显著优点(1)对于源MAC地址和目的MAC地址相同的需要转发报文,利用其二层头封装格式完全一样这一特点,省略了报文转发的多个步骤,直接进行报文贴头转发,使得转发效率得到了提高;(2)对源MAC地址的学习过程也是定时进行的,而非逐包进行,有效地减少了是CPU或者NP的数据处理压力。附图说明图1为现有技术中基于MAC的报文转发方法流程图;图2为本专利技术实施例中基于MAC的报文转发方法流程图;图3为本专利技术实施例中基于MAC的报文转发装置结构框图。具体实施方式本专利技术的设计思想是设置一个以源MAC地址和目的MAC地址为索引的MAC快转表,该MAC快转表的表项内容还包括对应于上述源MAC地址和目的MAC地址的转发报文的二层载荷以前的二层封装报头,MAC入端口接收到报文后,直接以源MAC地址和目的MAC地址为索引查找MAC快转表,获取最终转发报文的二层载荷以前的二层封装报头信息,然后将此报文的封装替换为查找MAC快转表获取的封装形式,从MAC快转表项中维护的出端口发送出去。 下面结合附图和具体实施例对本专利技术作进一步地介绍,但不作为对本专利技术的限定。 一种基于MAC层的报文转发方法,包括下述步骤步骤201,当MAC入端口首次接收到需要转发的报文时,按照现有技术中的普通目的MAC转发方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于媒体访问控制层的报文转发方法,其特征在于,该方法包括(a)建立以源MAC地址和目的MAC地址为索引的MAC快转表;(b)当报文到达的时候,解析报文源MAC地址和目的MAC地址,并查找上述MAC快转表,如果所述MAC快转表中不存在匹配表项,对该报文进行按目的MAC转发处理;并将转发处理结果记录在所述MAC快转表中;如果所述MAC快转表中存在匹配表项,直接调用该匹配表项中转发处理结果转发报文。2.如权利要求1所述的方法,其特征在于,所述转发处理结果为二层载荷以前的二层封装报头信息,所述调用转发处理结果具体为用已经记录的二层封装报头信息替换原有报文的二层封装报头。3.如权利要求1或2所述的方法,其特征在于,所述的(a)中,建立以源MAC地址和目的MAC地址为索引的MAC快转表是在首次报文转发结束时,并将该次报文的转发处理结果记录在MAC快转表中。4.如权利要求1或2所述的方法,其特征在于,该方法还包括(d)按照设定的老化定时时间启动MAC快转表表项老化,在所述老化定时时间内,如果所述MAC快转表中的某一表项没有匹配报文到达则删除该表项,如果有匹配报文到达则将老化定时时间刷新。5.如权利要求1或2所述的方法,其特征在于,该方法还包括(e)在预定时间内启动源MAC地址学习,在非预定时间内停止源MAC地址学习;其中在源MAC地址学习过程中,如果发现相同的源MAC地址再次被学习到,则以新的学习结果刷新MAC快转表以及MAC地址转发表。6.一种基于媒体访问控制层的报文转发装置,包括报文解析单元,用于对接收到的报文进行解析,提取该报文二层头中的源MAC地址、目的MAC地址信息;转发单...

【专利技术属性】
技术研发人员:张志飞张海涛
申请(专利权)人:杭州华为三康技术有限公司
类型:发明
国别省市:

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

1