发明内容
有鉴于此,本申请提供一种媒介访问控制地址表项处理方法和设备。,在删除MAC地址表项时,能够节省时间和资源的开销。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种媒介访问控制MAC地址表项处理方法,应用于多生成树实例MSTI的组网中的设备,包括:
当所述组网中任一MSTI拓扑发生变化时,该设备确定与该MSTI绑定的任一端口的该MSTI端口状态;
当确定该MSTI端口状态为转发Forwarding状态时,该设备若通过该端口接收到数据报文,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中;
当确定该MSTI端口状态为丢弃Discarding状态时,该设备根据该端口的端口号和该MSTI的MSTI ID查找MAC地址表项,并删除查找到的所有MAC地址表项;若通过该端口接收到数据报文时,不配置MAC地址表项。
一种设备,可应用于基于多生成树实例的MSTI的组网中,该设备包括:确定单元、感知单元、接收单元、学习单元和删除单元;
所述确定单元,用于当所述组网中任一MSTI拓扑发生变化时,该设备确定与该MSTI绑定的任一端口的该MSTI端口状态;
所述接收单元,用于通告所述端口接收数据报文;
所述处理单元,用于当所述确定单元确定该MSTI端口状态为转发Forwarding状态,且所述接收单元通过该端口接收到数据报文时,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中;当所述确定单元确定该MSTI端口状态为丢弃Discarding状态时,根据该端口的端口号和该MSTI的MSTI ID查找MAC地址表项,并删除查找到的所有MAC地址表项;若所述接收单元通过该端口接收到数据报文时,不配置MAC地址表项。
综上所述,本申请通过组网中任一MSTI拓扑发生变化时,确定与该MSTI绑定的任一端口的该MSTI端口状态;当需要配置MAC地址表项时,将MSTI ID配置到该MAC地址表项时,当需要删除MAC地址表项时,以端口号和MSTI ID作为查找MAC地址表项的依据,在删除MAC地址表项时,能够节省时间和资源的开销。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种MAC地址表项处理方法,应用于基于MSTI的组网中的设备,该组网中可运行MSTP协议、快速环网保护协议(RRPP)协议或支持VLANignore功能,即基于MSTI的组网都可用于实现本发明实施例中提出的技术方案。
本发明实施例中通过上述组网中的设备,在接收到数据报文,且根据该数据报文配置MAC地址表项时,将与该数据报文所属的VLAN绑定的MSTI ID添加到MAC地址表项时;在删除MAC地址表项时,以MSTI ID和端口号作为依据,节省了时间和资源的开销。
实施例一
参见图1,图1为本发明实施例一中MAC地址表项处理方法流程示意图。具体步骤为:
步骤101,当组网中任一MSTI拓扑发生变化时,设备确定与该MSTI绑定的任一端口的该MSTI端口状态。
当组网中的MSTI拓扑发生变化时,在该MSTI中的设备存在端口与该MSTI绑定,可能存在多个,这里以其中一个端口为例,因此需要确定该MSTI拓扑发生变化后,即重新进行拓扑计算后,该端口的该MSTI端口状态的当前状态。当某一个设备的端口由up到down,或由down到up都有可能引起该组网的拓扑发生变化。
步骤102,当确定该MSTI端口状态为Forwarding状态时,该设备若通过该端口接收到数据报文,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中,结束本流程。
本步骤中查找与VLAN绑定的MSTI ID具体实现时,通过查找本地配置的VLAN表项。参见表1,表1为本地配置的VLAN表项包含的内容。
VLAN ID |
MSTI ID |
1 |
1 |
2-3 |
2 |
4-10 |
3 |
表1
由表1中可见各VLAN ID与MSTI ID的对应关系。如果该报文所属的VLAN的VLAN ID为3,则会查找到其对应的MSTI ID为2将该MS TI ID添加到MAC地址表项中。参见表2,表2为本发明实施例中配置的MAC地址表项包含的内容。
VLAN ID |
3 |
MAC address |
数据报文的源MAC地址 |
MSTI ID |
2 |
Forward Info |
转发信息的具体内容 |
表2
由表2可见,本发明具体实施例中配置的MAC地址表项中增加了MSTI ID的内容。
当确定该MSTI端口状态为Forwarding状态,且通过该端口接收到数据报文时,根据该接收到的报文的目的MAC地址查找MAC地址表项,并根据查找结果转发接收到的数据报文。转发报文的过程同现有实现一致,这里不再详细赘述。
步骤103,当确定该MSTI端口状态为Discarding状态时,该设备根据该端口的端口号和该MSTI的MSTI ID查找MAC地址表项,并删除查找到的所有MAC地址表项;若通过该端口接收到数据报文时,不配置MAC地址表项。
本步骤中确定该MS TI端口状态为Discarding状态时,不再通过端口号和VLAN ID查找要删除的MAC地址表项,而是通过端口号和MSTI ID查找要删除的MAC地址表项。这样实现要比通过VLAN和端口为索引的实现方式节省时间和资源开销,避免了因MAC地址表项删除周期过长,而影响数据流的转发。尤其是对于多VLAN,离散VLAN的情况,本发明具体实施例的实现方法的上述优点更加突出。并且在接收到数据报文时,不根据接收的数据报文配置MAC地址表项。
当确定该MSTI端口状态为Discarding状态,且通过该端口接收到数据报文,不转发接收的数据报文。通常的处理方式是丢弃该接收的数据报文。
实施例二
参见图2,图2为本发明实施例二中MAC地址表项处理方法流程示意图。具体步骤为:
步骤201,当组网中任一MSTI拓扑发生变化时,设备确定与该MSTI绑定的任一端口的该MSTI端口状态。
步骤202,当确定该MSTI端口状态为去使能Disabled状态时,该设备若通过该端口接收到数据报文,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中。
步骤203,该设备根据该接收到的报文的目的MAC地址查找MAC地址表项,根据查找结果转发接收到的数据报文。
实施例三
参见图3,图3为本发明实施例三中MAC地址表项处理方法流程示意图。具体步骤为:
步骤301,当组网中任一MSTI拓扑发生变化时,设备确定与该MSTI绑定的任一端口的该MSTI端口状态。
步骤302,当确定该MSTI端口状态为Learning状态时,设备若通过该端口接收到数据报文,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中。
步骤303,该设备不转发接收到的数据报文。
实施例四
由于本发明具体实施例一到三中可见,将MSTI ID配置到了MAC地址表项中,当修改VLAN和MSTI ID的映射关系时,不仅更新本地配置的VLAN表项,同时更新相关MAC地址表项,具体实现为:修改任一VLAN绑定的MSTI ID时,该设备将该VLAN的VLAN表项中修改前的MSTI ID更新为修改后的MSTI ID,将该VLAN对应的MAC地址表项中修改前的MSTI ID更新为修改后的MSTI ID。使VLAN表项中VLAN ID和MSTI ID的映射同MAC地址表项中的VLAN和MSTI ID的映射关系保持一致。
如表1中VLAN2到VLAN3捆绑到MSTI实例2中,现在该映射关系发生变化,将VLAN3捆绑到MSTI实例3中,VLAN2仍然捆绑到MSTI实例1中,则将VLAN3对应的VLAN表项中的MSTI ID中的2修改为3,在MAC地址表项中将VLAN3对应的MSTI ID由2修改为3。
本发明具体实施例中基于同样的发明构思,还提出一种设备,可应用于基于多生成树实例MSTI的组网中。参见图4,图4为本发明具体实施例中应用于上述技术的设备的结构示意图。该设备包括:确定单元401、接收单元402和处理单元403。
确定单元401,用于当所述组网中任一MSTI拓扑发生变化时,确定与该MSTI绑定的任一端口的该MSTI端口状态。
接收单元402,用于通过所述端口接收数据报文。
处理单元403,用于当确定单元401确定该MSTI端口状态为转发Forwarding状态,且接收单元401通过该端口接收到数据报文时,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTI ID添加到所述MAC地址表项中;当确定单元401确定该MSTI端口状态为丢弃Discarding状态时,根据该端口的端口号和该MSTI的MSTI ID查找MAC地址表项,并删除查找到的所有MAC地址表项;若接收单元402通过该端口接收到数据报文时,不配置MAC地址表项。
较佳地,该设备进一步包括:发送单元404。
处理单元403,进一步用于当确定单元401确定该MSTI端口状态为转发Forwarding状态,且接收单元402通过该端口接收到数据报文时,根据该接收到的报文的目的MAC地址查找MAC地址表项。
发送单元404,用于根据处理单元403查找结果转发接收到的数据报文;当确定单元403确定该MSTI端口状态为Discarding状态,且接收单元402通过该端口接收到数据报文时,不转发接收的数据报文。
较佳地,该设备进一步包括:发送单元404。
处理单元403,进一步用于当确定单元401确定该MSTI端口状态为去使能Disabled状态,且接收单元402通过该端口接收到数据报文时,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MSTI ID,将查找到的MSTIID添加到所述MAC地址表项中;并根据该接收到的报文的目的MAC地址查找MAC地址表项。
发送单元404,用于根据处理单元403查找结果转发接收到的数据报文。
较佳地,该设备进一步包括:发送单元404。
处理单元403,进一步用于当确定单元401确定该MSTI端口状态为学习Learning状态,且接收单元402通过该端口接收到数据报文时,根据该数据报文配置MAC地址表项,并查找与该数据报文所属的VLAN绑定的MS TI ID,将查找到的MS TI ID添加到所述MAC地址表项中。
发送单元404,用于当确定单元401确定该MS TI端口状态为学习Learning状态,且接收单元402通过该端口接收到数据报文时,不转发接收的数据报文。
较佳地,该设备进一步包括:更新单元405。
更新单元405,用于修改任一VLAN绑定的MS TI ID时,将该VLAN的VLAN表项中修改前的MS TI ID更新为修改后的MSTI ID,将处理单元403上该VLAN对应的MAC地址表项中修改前的MSTI ID更新为修改后的MS TI ID。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中组网中任一MSTI拓扑发生变化时,确定与该MSTI绑定的任一端口的该MSTI端口状态;当需要配置MAC地址表项时,将MSTIID配置到该MAC地址表项时,当需要删除MAC地址表项时,以端口号和MSTI ID作为查找MAC地址表项的依据,在删除MAC地址表项时,能够节省时间和资源的开销。
本发明具体实施例的实现要比通过VLAN和端口为索引的实现方式节省时间和资源开销,避免了因MAC地址表项删除周期过长,而影响数据流的转发。尤其是对于多VLAN,离散VLAN的情况,本发明具体实施例中通过端口和MSTI为索引删除MAC地址表项的实现方式的上述优点更加突出。
本发明具体实施例中还给出了修改VLAN与MSTI ID的映射关系时,不仅更新VLAN表项,还及时更新该VLAN在MAC地址表项中对应的MS TI ID,使VLAN表项中VLAN和MSTI ID的映射同MAC地址表项中的VLAN和MSTI ID的映射关系保持一致。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。