本发明专利技术公开了一种介质接入控制地址学习的方法,其包括步骤:由接收方的底层网络处理器从报文中提取介质接入控制转发条目所需的信息;写入一环形队列;依协议收到该收集好的信息,形成转发条目更新入所述环形队列。本发明专利技术方法通过充分利用底层网络处理器对报文的高效分析和处理能力,提高了MAC学习的效率,并且能够有效地加入老化处理,防止了组网微变引起的MAC地址学习错误的问题。
【技术实现步骤摘要】
本专利技术涉及一种数据网络通信技术方法,尤其涉及的是一种虚拟专用网的介质接入控制MAC地址学习方法。
技术介绍
现有技术中,虚拟专用网(VPN)技术是运营商为用户提供跨区域网络连接的一种常用技术,VPN的实现主要包括基于BGP与MPLS技术的第三层VPN(L3VPN)和基于ATM技术的第二层VPN(L2VPN)。 现有的3层VPN技术已经发展成熟,但由于3层VPN是提供IP层的数据支持,路由由运营商管理,在保密性方面是个劣势。而L2VPN是基于介质接入控制MAC的,以VPLS(虚拟专用局域网服务VirtualPrivate LAN Service)为代表的L2VPN能够提供点到多点的交换式以太网业务,是IP/MPLS、VPN、以太网交换等多种技术的完美结合。而其中对MAC地址的学习,是L2VPN技术的一个关键点,是决定路由器转发效率的一个关键。 在图1所示的应用环境中,用户边界CE1(Custom Edge)、CE2、CE3处于同一个VPLS域VPLSA中,他们经过一个包交换的网络(如MPLS网络)连接起来。各个支持边界PE(Provider Edge)都时具有VPLS能力的设备,各个PE之间建立全网状(Full Mesh)的PW连接。 如果CE1和CE3要进行通信,CE1首先要学习到CE3的MAC地址,该MAC地址的学习是基于数据流进行的。同时,在PE1上要求有到PE3的两层标签,一个为外层的包交换标签,用于穿越MPLS网络;一个为内层的PW(VC)标签。 当PE1收到目的地址为CE3的MAC帧时,PE根据MAC地址和VCID以及其他的信息查到到达PE3的内、外层标签,并将标签加入到数据帧中在MPLS网络上进行传送。 数据到达PE3后,将剩下内层标签,PE3根据内层标签和MAC地址从而得到CE3所在的PE3的连接端口,并从该端口上发送出去,数据将到达CE3。从而完成了CE1和CE3的通信。 在现有技术的处理过程中,对MAC帧的处理都是将整个报文直接上送协议层,由协议层收集相关的信息形成转发的条目,通告给底层后做转发处理。这种处理方式需要由上层进行报文分析,效率低下,没有发挥底层网络处理器高效的报文分析和处理功能。 因此,现有技术存在缺陷,而有待于改进和发展。
技术实现思路
本专利技术的目的在于提供,所要解决的技术问题是针对现有技术的将MAC报文直接上送协议处理而产生的效率低下的问题,有效的防止MAC地址学习的错误,充分发挥底层芯片的高效的报文分析和处理能力。 本专利技术的技术方案包括,其包括步骤A0、由接收方的底层网络处理器从报文中提取介质接入控制转发条目所需的信息;B0、写入一环形队列;C0、依协议收到该收集好的信息,形成转发条目更新入所述环形队列。 所述的方法,其中,所述方法具体还包括A、对收到的报文判断是否需要进行介质接入控制地址学习; B、对需要进行介质接入控制地址学习的,提取相应信息写入所述环形队列;C、将队列中的信息提交上层,上层生成完整的转发条目,更新到所述环形队列。 所述的方法,其中,在VPLS功能模式下,所述步骤B中包括B1、从报文中提取VPN ID、源介质接入控制地址、数据包入接口和数据包入PW标签;B2、根据所述步骤B1中获得信息,构造一介质接入控制转发条目;B3、根据该介质接入控制条目中内层标签值,将该条目挂在相应得VPLS路由条目下面,以便后续对条目的管理和操作。 所述的方法,其中,所述环形队列采用双向链表,以方便老化操作。 所述的方法,其中,所述介质接入控制条目中仅保留介质接入控制地址、VPN ID、本地标志和相应的指针域,其指针指向路由器入口。 本专利技术所提供的,通过充分利用底层网络处理器对报文的高效分析和处理能力,提高了MAC学习的效率,并且能够有效地加入老化处理,防止了组网微变引起的MAC地址学习错误的问题。附图说明图1是现有技术的一种需求组网图;图2是实现本专利技术方法的流程示意图;图3是实现本专利技术方法的链表组织结构示意图;图4是本专利技术方法的详细流程图;图5是本专利技术方法的应用组网示意图。具体实施方式以下结合附图,将对本专利技术的各较佳实施例进行更为充分的说明。 本专利技术的介质接入控制地址学习的方法,其基本思想是由底层网络处理器从报文中提取MAC转发条目所需的信息,写入一个环形队列,协议收到该收集好的信息形成转发条目更新下来,省去了协议对报文的分析过程,大大提高了性能。 本专利技术的该MAC学习方法的技术方案具体包括A对收到的报文判断是否需要进行MAC学习;B需要进行MAC学习的,提取相应信息写入环形队列;C将队列中的信息提交上层,上层生成完整的转发条目,更新到队列;特殊的在VPLS功能模式下,进一步的,步骤B中包括B1从报文中提取VPN ID、源MAC地址、数据包入接口和数据包入PW标签;B2根据B1中获得信息,构造一个结构类似于路由表条目的MAC转发条目;B3根据该MAC条目中内层标签值,将该条目挂在相应得VPLS路由条目下面,以便后续对条目的管理和操作;B4链表可以采用双向链表,以方便老化操作;具体的组织方式参见附图3。 B5考虑到内存空间的问题,可将MAC条目中仅保留MAC地址、vpnid、本地标志和相应的指针域,指针指向router_entry,以简化对外层标签操作时的处理。 如图4所示的本专利技术较佳实施例,实现本专利技术方法具体包括以下步骤步骤11从报文中获取源MAC地址;步骤12根据源MAC和VPN ID查找vpls转发表,如果没有找到条目,直接跳转至步骤21,进行MAC学习,找到则继续步骤13;步骤13进步根据MAC转发条目内容判断是否需要进行MAC学习。 步骤131检验数据包的入接口号与转发条目中的入接口号是否一致,一致则继续步骤132,不一致,则跳转至步骤21;步骤132检验数据包的入标签PW与转发条目中的PW值是否一致,一致则执行步骤14,不一致跳转至步骤21。 步骤14不需要进行MAC学习,更新老化标志位,跳转步骤25;步骤21源MAC学习开始,获取环形队列的头、尾指针;步骤22判断是否可进行MAC入列操作;步骤221判断如果队列为空,即头指针等于尾指针,对列为空,则直接将MAC入列,跳转执行步骤23,否则继续步骤221;步骤222判断如果队列已满,入列操作结束,跳至步骤25,否则继续步骤223;步骤223遍历队列,检验要增加的源MAC是否在队列中,如果在则入列操作结束,跳转执行步骤25,否则继续步骤23。 步骤23MAC入列,置相关标志位,存入MAC地址、vpnid、入端口号、pw标签等。存入的数据结构类似于路由表的结构,便于操作;步骤24队尾指针更新;步骤25MAC入列操作结束。 需说明的是MAC入列后,驱动会及时将链表中的待MAC学习的条目通告上层,上层更新后同步下来,再次收到相同MAC的报文,即可成功转发。对于由于队列满而没有成功入列的报文,只能在下次收到同MAC报文时重新入列。 如图5所示,CE1、CE2,CE3分别是某企业在三个城市A,B,C的分公司对应的边缘路由器,分别通过PE1、PE2、PE3接入公网(MPLS交换网),三者之间建立了全网的PW连接,PE上均支持VPLS业务,三者位于同一个VPLS域本文档来自技高网...
【技术保护点】
一种介质接入控制地址学习的方法,其包括步骤:A0、由接收方的底层网络处理器从报文中提取介质接入控制转发条目所需的信息;B0、写入一环形队列;C0、依协议收到该收集好的信息,形成转发条目更新入所述环形队列。
【技术特征摘要】
为准。权利要求1.一种介质接入控制地址学习的方法,其包括步骤A0、由接收方的底层网络处理器从报文中提取介质接入控制转发条目所需的信息;B0、写入一环形队列;C0、依协议收到该收集好的信息,形成转发条目更新入所述环形队列。2.根据权利要求1所述的方法,其特征在于,所述方法具体还包括A、对收到的报文判断是否需要进行介质接入控制地址学习;B、对需要进行介质接入控制地址学习的,提取相应信息写入所述环形队列;C、将队列中的信息提交上层,上层生成完整的转发条目,更新到所述环形队列。3.根据权利要求2所述的方法,其特征在于,在V...
【专利技术属性】
技术研发人员:叶志宁,龚超美,胡龙斌,潘建农,于伟,曲原,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。