一种集中式mac地址学习的控制方法技术

技术编号:13328467 阅读:54 留言:0更新日期:2016-07-11 18:40
本发明专利技术公开了一种集中式mac地址学习的控制方法,包括:业务卡将所有未知mac地址上报至主控卡进行集中学习;主控卡根据配置的mac地址学习限制条件判断未知mac地址是否学习mac地址,主控卡为需要进行学习的未知mac地址分配唯一age表项索引ageid,并将该未知mac地址插入本地mac地址表和ageid_to_mac映射表,再通过mac地址学习消息将未知mac地址对应表项同步广播至设备中所有业务卡;主控卡每隔一个预设时间段后收集一次每个业务卡的age表,根据收集的age表判定mac地址表中的每一个mac地址是否需要老化,并将判定结果发送至对应业务卡,所述业务卡根据收到的判定结果删除老化的mac地址。本发明专利技术不仅可以灵活控制mac学习过程,而且提高了mac学习的稳定性与容错能力。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及一种集中式mac地址学习的控制方法
技术介绍
随着现代网络的发展,二层VPN(VirtualPrivateNetwork虚拟专用网络)技术的普及使用,现代高端路由设备对二层VPN业务mac地址学习和控制功能提出了更高的要求,能否高效、准确的进行mac地址学习,以及能否对mac学习过程和mac表项进行有效的控制显得尤为重要。在传统的路由设备中,mac学习主要由业务卡的NP(NetworkProcessor网络处理器)芯片完成,NP芯片检测到VPLS(VirtualPrivateLanService虚拟专用局域网业务)实例收到源mac地址未知的报文后,由NP内置的微码程序将该报文源mac地址、vlanid、接收端口等信息写入本地mac表,同时将这些信息广播到路由设备中的其他业务板卡进行板卡间mac表项的同步。虽然上述典型的学习方式能够快速的进行mac地址学习,但同时也存在诸多限制:1.学习报文丢失后不能提供补偿学习机制,漏学后无法恢复;2.单盘上电或重启后,本盘mac表无法与设备同步;3.由于mac表分散到各单盘,且由硬件维护,不便于集中管理维护。
技术实现思路
本专利技术所要解决的技术问题是传统mac学习方式难于管理、无法上电同步、板间同步以及mac学习过程中信令丢失造成漏学,且不能提供补偿学习的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供一种集中式mac地址学习的控制方法,包括:mac地址的集中学习控制方式为:业务卡将所有未知mac地址上报至主控卡进行集中学习;主控卡根据配置的mac地址学习限制条件判断未知mac地址是否学习mac地址,主控卡为需要进行学习的未知mac地址分配唯一age表项索引ageid,并将该未知mac地址插入本地mac地址表和ageid_to_mac映射表,再通过mac地址学习消息将未知mac地址对应表项同步广播至设备中所有业务卡;mac地址老化机制为:主控卡每隔一个预设时间段后收集一次每个业务卡的age表,根据收集的age表判定mac地址表中的每一个mac地址是否需要老化,并将判定结果发送至对应业务卡,所述业务卡根据收到的判定结果删除老化的mac地址。在上述方法中,所述主控卡中维护一个ageid资源池,该ageid资源池中存有age表中所有未被mac地址使用的age表项索引;同时,主控卡维护各vlan、vp学习到的mac地址数量计数器和mac地址学习限制条件配置。在上述方法中,在设备的主控卡和业务卡上都设有mac地址表、age表和ageid_to_mac映射表,其中,mac地址表中每个表项的活跃状态使用age表中一个表项记录,age表项索引ageid表示在age表中每个表项的索引;ageid_to_mac映射表每个表项存储一个mac地址转发信息,该表使用age表项索引ageid作为索引;对于age表,每完成一次老化过程,各个业务卡将本地NP中的age表各表项清0;当业务卡处理VPLS业务报文时,在本地mac地址表中查找与vpls业务报文源mac地址和VPLSID都一致的表项,若查找到该表项,NP从mac表中获取ageid,并将age表中与该ageid对应表项设置为1。在上述方法中,mac地址老化机制通过使用“2T”方式控制不活跃mac地址老化;“2T”方式为:每隔预设时间T主控卡发起老化命令,收集所有业务卡的age表,当连续2T时间内mac地址对应ageid在age表中对应表项都为0时,在mac地址表中删除该mac地址,并为对应ageid生成age老化控制字;如上所述,依次为age表中每个ageid生成2bit的age老化控制字,再将age老化控制字封装后通过age表控制消息广播至设备内所有业务卡,每个业务卡利用在ageid_to_mac映射表中ageid与mac表项一一对应的关系和每个ageid对应的age老化控制字来控制本地mac地址的增、删操作。在上述方法中,所述age表控制消息由MINM_HEAD、MSG_TYPE、SEQ_NO以及AGE_BIT_ARRAY字段组成,其中,MINM_HEAD为线卡间通信包头;MSG_TYPE代表消息类型;SEQ_NO为消息序号,最高位置1表示此消息为最后一个老化控制消息;AGE_BIT_ARRAY为与ageid对应mac地址表的表项控制状态,每个ageid对应的控制状态占用2bit位宽;控制状态包括:00/01表示ageid已被使用,不删除对应mac地址;10表示ageid已被使用,删除mac地址;11表示ageid未被使用。在上述方法中,主控卡下发每个age表中所有ageid的age老化控制字,不同ageid的age老化控制字按ageid从低到高依次存储于AGE_BIT_ARRAY中,每个消息能够存放4096个ageid的age老化控制字;当age表的age老化控制字容量超过4096个时,使用多个age表控制消息依次按序发送所有ageid的age老化控制字;对应的,业务卡依次接收所有age表控制消息,并依次检查所有ageid的age老化控制字,将age老化控制字为10的ageid对应的mac地址从mac地址表中删除。在上述方法中,若所述业务卡收到ageid的age老化控制字为00或者01,而本地ageid_to_mac映射表显示该ageid未使用时,则判断本地mac地址表中表项缺失;当业务卡本地mac地址表中表项缺失时,该业务卡使用补偿学习请求消息将缺失表项对应的ageid发送至主控卡;主控卡通过补偿学习应答消息将缺失表项发送给发送请求的业务卡;当业务卡本地mac地址表中表项存在多条缺失时,该业务卡将多个ageid封装进一个补偿学习请求消息,一个补偿学习请求消息最多同时请求256个ageid的表项缺失;当主控卡收到的补偿学习请求消息包含多个ageid时,主控卡将多个mac地址表项封装在一个补偿学习应答消息中,一个补偿学习应答消息最多支持封装32个mac地址表项。在上述方法中,当业务报文进入设备时,在每个业务卡上,业务报文的处理包括以下步骤:步骤111、业务卡的NP接收到业务报文;步骤112、判断接收到的业务报文是否为mac地址学习消息,如果是执行步骤113;否则,执行步骤115;步骤113、将mac地址学习消息中的mac地址、age表项索引、虚本文档来自技高网...

【技术保护点】
一种集中式mac地址学习的控制方法,其特征在于,包括:mac地址的集中学习控制方式为:业务卡将所有未知mac地址上报至主控卡进行集中学习;主控卡根据配置的mac地址学习限制条件判断未知mac地址是否学习mac地址,主控卡为需要进行学习的未知mac地址分配唯一age表项索引ageid,并将该未知mac地址插入本地mac地址表和ageid_to_mac映射表,再通过mac地址学习消息将未知mac地址对应表项同步广播至设备中所有业务卡;mac地址老化机制为:主控卡每隔一个预设时间段后收集一次每个业务卡的age表,根据收集的age表判定mac地址表中的每一个mac地址是否需要老化,并将判定结果发送至对应业务卡,所述业务卡根据收到的判定结果删除老化的mac地址。

【技术特征摘要】
1.一种集中式mac地址学习的控制方法,其特征在于,包括:
mac地址的集中学习控制方式为:
业务卡将所有未知mac地址上报至主控卡进行集中学习;主控卡根据
配置的mac地址学习限制条件判断未知mac地址是否学习mac地址,主控
卡为需要进行学习的未知mac地址分配唯一age表项索引ageid,并将该未
知mac地址插入本地mac地址表和ageid_to_mac映射表,再通过mac地址
学习消息将未知mac地址对应表项同步广播至设备中所有业务卡;
mac地址老化机制为:
主控卡每隔一个预设时间段后收集一次每个业务卡的age表,根据收
集的age表判定mac地址表中的每一个mac地址是否需要老化,并将判定
结果发送至对应业务卡,所述业务卡根据收到的判定结果删除老化的mac
地址。
2.如权利要求1所述的方法,其特征在于,所述主控卡中维护一个
ageid资源池,该ageid资源池中存有age表中所有未被mac地址使用的
age表项索引;
同时,主控卡维护各vlan、vp学习到的mac地址数量计数器和mac地
址学习限制条件配置。
3.如权利要求2所述的方法,其特征在于,在设备的主控卡和业务卡
上都设有mac地址表、age表和ageid_to_mac映射表,其中,mac地址表
中每个表项的活跃状态使用age表中一个表项记录,age表项索引ageid
表示在age表中每个表项的索引;ageid_to_mac映射表每个表项存储一个
mac地址转发信息,该表使用age表项索引ageid作为索引;
对于age表,每完成一次老化过程,各个业务卡将本地NP中的age表
各表项清0;当业务卡处理VPLS业务报文时,在本地mac地址表中查找与
vpls业务报文源mac地址和VPLSID都一致的表项,若查找到该表项,NP

\t从mac表中获取ageid,并将age表中与该ageid对应表项设置为1。
4.如权利要求3所述的方法,其特征在于,mac地址老化机制通过使
用“2T”方式控制不活跃mac地址老化;“2T”方式为:
每隔预设时间T主控卡发起老化命令,收集所有业务卡的age表,当
连续2T时间内mac地址对应ageid在age表中对应表项都为0时,在mac
地址表中删除该mac地址,并为对应ageid生成age老化控制字;
如上所述,依次为age表中每个ageid生成2bit的age老化控制字,
再将age老化控制字封装后通过age表控制消息广播至设备内所有业务卡,
每个业务卡利用在ageid_to_mac映射表中ageid与mac表项一一对应的关
系和每个ageid对应的age老化控制字来控制本地mac地址的增、删操作。
5.如权利要求4所述的方法,其特征在于,所述age表控制消息由
MINM_HEAD、MSG_TYPE、SEQ_NO以及AGE_BIT_ARRAY字段组成,其中,
MINM_HEAD为线卡间通信包头;
MSG_TYPE代表消息类型;
SEQ_NO为消息序号,最高位置1表示此消息为最后一个老化控制消息;
AGE_BIT_ARRAY为与ageid对应mac地址表的表项控制状态,每个ageid
对应的控制状态占用2bit位宽;控制状态包括:
00/01表示ageid已被使用,不删除对应mac地址;
10表示ageid已被使用,删除mac地址;
11表示ageid未被使用。
6.如权利要求5所述的方法,其特征在于,主控卡下发每个age表中
所有ageid的age老化控制字,不同ageid的age老化控制字按ageid从
低到高依次存储于AGE_BIT_ARRAY中,每个消息能够存放4096个ageid的
age老化控制字;
当age表的age老化控制字容量超过4096个时,使用多个age表控制
消息依次按序发送所有ageid的age老化控制字;对应的,业务卡依次接

\t收所有age表控制消息,并依次检查所有ageid的age老化控制字,将age
老化控制字为10的ageid对应的mac地址从mac地址表中删除。
7.如权利要求5所述的方法,其特征在于,若所述业务卡收到ageid
的age老化控制字为00或者01,而本地ageid_to_mac映射表显示该ageid
未使用时,则判断本地mac地址表中表项缺失;
当业务卡本地mac地址表中表项缺失时,该业务卡使用补偿学习请求
消息将缺失表项对应的ageid发送至主控卡;主控卡通过补偿学习应答消
息将缺失表项发送给发送请求的业务卡;
当业务卡本地mac地址表中表项存在多条缺失时,该业务卡将多个
ageid封装进一个补偿学习请求消息,一个补偿学习请求消息最多同时请求
256个ageid的表项缺失;当主控卡收到的补偿学习请求消息包含多个
ageid时,主控卡将多个mac地址表项封装在一个补偿学习应答消息中,一
个补偿学习应答消息最多支持封装32个mac地址表项。
8.如权利要求5所述的方法,其特征在于,当业务报文进入设备时,
在每个业务卡上,业务报文的处理包括以下步骤:
步骤1...

【专利技术属性】
技术研发人员:邓卉文程冠飞徐剑辉周万涛朱哲饶冀
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

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

1