专利名称:一种不同mst域之间的数据传输方法和设备的制作方法
技术领域:
本发明涉及通信技术领域,特别是涉及一种不同MST域之间的数据传输方法和设备。
背景技术:
MSTP(Multiple Spanning Tree Protocol,多实例生成树协议)具有以下特点 (I)MSTP通过设置VLAN(Virtual Local Area Network,虚拟局域网)与生成树的对应关系表(即VLAN映射表),将VLAN与生成树进行联系;并通过实例的概念,将多个VLAN捆绑到一个实例中,以节省通信开销和降低资源占用率。(2)MSTP将环路网络修剪成无环树型网络,以避免报文在环路网络中的循环;提供数据转发的多个冗余路径,以实现负载分担。(3) MSTP将一个交换网络划分成多个MST (Multiple Spanning Tree,多生成树)域,每个MST 域由交换网络中的多台设备及之间的网段所构成,这些设备之间在物理上有链路连通;且每个MST域内形成多棵生成树,生成树之间彼此独立。如图1所示,为存在多个MST域(MST域(Region) 1-MST域4)的网络拓扑示意图, 每个MST域内设备具有相同MST域配置,且需要具有以下特点才被识别为同一 MST域均使能生成树协议、域名相同、VLAN与MSTI (Multiple Spanning Tree hstance,多生成树实例)间映射关系的配置相同、MSTP修订级别的配置相同。在引入MST域后,MST域内设备可通过VLAN与MSTI间映射关系生成多棵生成树网络拓扑,从而实现VLAN的负载分担。然而,由于不同MST域之间的VLAN与MSTI间映射关系的配置不相同,因此现有技术中,不同MST域之间无法实现VLAN负载分担。
发明内容
本发明提供一种不同MST域之间的数据传输方法和设备,以在不同MST域之间实现VLAN负载分担。为了达到上述目的,本发明提供一种不同多生成树MST域之间的数据传输方法, 应用于包括多个MST域的多实例生成树协议MSTP网络中,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN与实例映射关系,该方法包括MST域内的虚拟代理设备根据所述公有VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态;当有域边界端口在所述虚拟代理设备上时,所述虚拟代理设备根据所述转发状态与其它MST域内设备进行数据传输;和/或,当有域边界端口不在所述虚拟代理设备上时, 所述虚拟代理设备将所述转发状态通知给域边界端口所在设备,由所述域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输。所述MST域内的虚拟代理设备根据所述公有VLAN与实例映射关系计算所述MST 域内的各域边界端口在不同实例上的转发状态,具体包括所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,并利用从所述域边界端口映射表中记录的域边界端口接收到的来自其它MST域的网桥协议数据单元BPDU报文、以及所述公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。 所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,具体包括在第一次从域边界端口接收到来自其它MST域的BPDU报文时,所述虚拟代理设备获得所述域边界端口的信息,所述域边界端口的信息包括所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;所述虚拟代理设备通过所述域边界端口映射表记录所述域边界端口、所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识、以及所述域边界端口的STP属性信息之间的对应关系。所述虚拟代理设备获得所述域边界端口的信息,具体包括当域边界端口在所述虚拟代理设备上时,所述虚拟代理设备获得自身的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;当域边界端口不在所述虚拟代理设备上时,所述虚拟代理设备接收所述域边界端口所在设备发送的所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息。从域边界端口接收到来自其它MST域的BPDU报文,具体为当域边界端口在所述虚拟代理设备上时,所述虚拟代理设备从所述域边界端口接收来自其它MST域的BPDU报文;当域边界端口不在所述虚拟代理设备上时,在从所述域边界端口接收到来自其它 MST域的BPDU报文后,所述虚拟代理设备接收所述域边界端口所在设备发送的来自其它域的BPDU报文。所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,之后还包括所述虚拟代理设备为所述域边界端口映射表中记录的域边界端口生成BPDU报文,并通过所述域边界端口将所述BPDU报文发送给其它MST域,由其它MST域内的虚拟代理设备根据BPDU报文以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。所述多个MST域内的设备上配置有VLAN分配表以及域边界端口状态分配表;所述 VLAN分配表用于记录VLAN与公有生成树组STG之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述虚拟代理设备和/或域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输,具体包括当需要发送VLAN数据时,所述虚拟代理设备和/或域边界端口所在设备通过所述 VLAN查询所述VLAN分配表,获得所述VLAN对应的公有STG ;所述虚拟代理设备和/或域边界端口所在设备通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所述公有STG上所对应的转发状态;
所述虚拟代理设备和/或域边界端口所在设备通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。所述域边界端口状态分配表中记录的转发状态为所述虚拟代理设备和/或域边界端口所在设备在获得域边界端口在不同实例上的转发状态后,记录到所述域边界端口状态分配表中的。所述虚拟代理设备和/或域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输,具体包括当所述转发状态为转发Rewarding状态时,所述虚拟代理设备和/或域边界端口所在设备将VLAN数据发送给其他其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,所述虚拟代理设备和/或域边界端口所在设备丢弃VLAN数据。一种不同多生成树MST域之间的数据传输设备,应用于包括多个MST域的多实例生成树协议MSTP网络中,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN 与实例映射关系,该设备为MST域内的虚拟代理设备,且该设备包括计算模块,用于根据所述公有VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态;处理模块,用于当有域边界端口在虚拟代理设备上时,根据所述转发状态与其它 MST域内设备进行数据传输;和/或,当有域边界端口不在虚拟代理设备上时,将所述转发状态通知给域边界端口所在设备,由域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输。所述计算模块,具体用于通过域边界端口映射表记录所述MST域内各域边界端口的信息,并利用从所述域边界端口映射表中记录的域边界端口接收到的来自其它MST域的网桥协议数据单元BPDU报文、以及所述公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。所述计算模块,进一步用于在第一次从域边界端口接收到来自其它MST域的BPDU 报文时,获得所述域边界端口的信息,所述域边界端口的信息包括所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;以及通过所述域边界端口映射表记录所述域边界端口、所述域边界端口所在设备的 MAC地址、所述域边界端口的端口标识、以及所述域边界端口的STP属性信息之间的对应关系。所述计算模块,进一步用于当域边界端口在虚拟代理设备上时,获得自身的MAC 地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;当域边界端口不在虚拟代理设备上时,接收所述域边界端口所在设备发送的所述域边界端口所在设备的 MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息。所述处理模块从域边界端口接收到来自其它MST域的BPDU报文时,具体用于当域边界端口在虚拟代理设备上时,从所述域边界端口接收来自其它MST域的BPDU报文;当域边界端口不在虚拟代理设备上时,在从所述域边界端口接收到来自其它MST域的BPDU报文后,接收所述域边界端口所在设备发送的来自其它域的BPDU报文。所述处理模块,还用于为所述域边界端口映射表中记录的域边界端口生成BPDU报文,并通过所述域边界端口将所述BPDU报文发送给其它MST域,由其它MST域内的虚拟代理设备根据BPDU报文以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。所述多个MST域内的设备上配置有VLAN分配表以及域边界端口状态分配表;所述 VLAN分配表用于记录VLAN与公有生成树组STG之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述处理模块,具体用于当需要发送VLAN数据时,通过所述VLAN查询所述VLAN 分配表,获得所述VLAN对应的公有STG ;通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所述公有STG上所对应的转发状态;通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。所述处理模块,进一步用于当所述转发状态为转发forwarding状态时,将VLAN数据发送给其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,丢弃VLAN 数据。一种不同多生成树MST域之间的数据传输设备,应用于包括多个MST域的多实例生成树协议MSTP网络中,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN 与实例映射关系,该设备为域边界端口所在设备,且与MST域内的虚拟代理设备通信,且该设备包括通信模块,用于在MST域内的虚拟代理设备根据所述公有VLAN与实例映射关系计算出所述MST域内的各域边界端口在不同实例上的转发状态后,接收来自所述虚拟代理设备发送的所述转发状态;处理模块,用于根据所述转发状态与其它MST域内设备进行数据传输。所述通信模块,还用于在第一次从域边界端口接收到来自其它MST域的BPDU报文时,获得所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;并将所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息发送给所述虚拟代理设备。所述多个MST域内的设备上配置有VLAN分配表以及域边界端口状态分配表;所述 VLAN分配表用于记录VLAN与公有生成树组STG之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述处理模块,具体用于当需要发送VLAN数据时,通过所述VLAN查询所述VLAN 分配表,获得所述VLAN对应的公有STG ;通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所属公有STG上所对应的转发状态;通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。所述处理模块,进一步用于当所述转发状态为转发forwarding状态时,将VLAN数据发送给其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,丢弃VLAN 数据。与现有技术相比,本发明至少具有以下优点通过在多个MST域内的各设备上配置相同的公有VLAN与实例映射关系,以实现不同MST域之间流量的负载分担;且可以充分利用不同MST域之间的空闲链路,从而降低域边界端口所在链路发生拥塞的可能性。
图1是现有技术中存在多个MST域的网络拓扑示意图;图2是本发明提供的一种不同MST域之间的数据传输方法流程图;图3是本发明提供的存在MST 1域和MST 2域的应用场景示意图;图4是本发明提供的MST 1域内的MSTI示意图;图5是本发明提供的两个不同MST域之间实现不同生成树的组网图;图6是本发明提出的一种不同MST域之间的数据传输设备的结构图;图7是本发明提出的另一种不同MST域之间的数据传输设备的结构图。
具体实施例方式本发明提出一种不同MST域之间的数据传输方法,该方法应用于包括多个MST域的MSTP网络中,在多个MST域内的所有设备上,均配置有公有VLAN与实例映射关系以及私有VLAN与实例映射关系,且同一 MST域内的设备上配置的私有VLAN与实例映射关系相同, 不同MST域内的设备上配置的公有VLAN与实例映射关系相同。具体的,需要为每台设备配置私有VLAN与实例映射关系和公有VLAN与实例映射关系;私有VLAN与实例映射关系用于同一 MST域内的负载分担(即同一 MST域内的设备根据私有VLAN与实例映射关系来生成MST域内的MSTI,以进行流量转发的负载分担);公有 VLAN与实例映射关系用于不同MST域之间的负载分担(即不同MST域之间根据公有VLAN 与实例映射关系来生成MST域间的MSTI,以进行流量转发的负载分担)。此外,需要注意的是,域名、修订级别等配置信息也需要区分私有和公有,本发明中不再赘述。由于为每台设备配置有私有VLAN与实例映射关系和公有VLAN与实例映射关系, 因此需要对现有MSTP BPDU (Bridge Protocol Data Unit,网桥协议数据单元)报文格式进行扩展,如表1所示,为了兼容现有的BPDU报文,在现有BPDU报文后增加Public MSTI Configuration字段,并通过Private MSTIConfiguration表示私有VLAN与实例映射关系所对应的相关信息,通过Public MSTI Configuration表示私有VLAN与实例映射关系所对应的相关信息。表 1
现有MSTP BPDU字段名称扩展后的MSTP BPDU字段名称 · · · ■ _
MSTI ConfigurationPrivate MSTI Configuration
(may be absent)(may be absent)
Public MSTI Configuration (may be absent) 本发明中,为了实现不同MST域之间的负载分担,需要将MST域虚拟成一台设备,并从MST域内选择一个设备作为MST域的虚拟代理设备,该MST域内的域边界端口为该虚拟代理设备的端口,且MST域的所有域边界端口发送和接收的BPDU报文均由该虚拟代理设备负责计算和处理(如计算出MST域内所有域边界端口的端口角色和转发状态,在后续过程中详细说明)。需要注意的是,由于不同MST域的虚拟代理设备(每个MST域均会选择出其对应的虚拟代理设备)具有相同的公有VLAN与实例的映射关系,因此不同MST域的虚拟代理设备将被认为在同一 MST域中,且在不同MST域的虚拟代理设备属于同一 MST域后,域边界端口的端口角色和转发状态均可以由MST域的虚拟代理设备计算得到,从而实现不同MST域之间按照公有VLAN与实例映射关系得到的不同生成树拓扑进行负载分担(即不同MST域之间生成公有MSTI,MST域间流量按照公有MSTI进行转发)。在从MST域内选择出一个设备作为MST域的虚拟代理设备的过程中,可以根据实际情况任意选择,如可以选择MST域实例0的域根设备成为本MST域的虚拟代理设备。基于上述情况,如图2所示,该数据传输方法包括以下步骤步骤201,MST域内设备根据私有VLAN与实例映射关系计算MST域内各端口在不同实例上的转发状态;以及,MST域内的虚拟代理设备根据公有VLAN与实例映射关系计算 MST域内的各域边界端口在不同实例上的转发状态。一、计算MST域内各端口在不同实例上的转发状态。在同一个MST域内,MST域内各设备根据私有VLAN与实例映射关系计算MST域内各端口在不同实例上的转发状态,继而可以根据MST域内各端口在不同实例上的转发状态生成MST域内的私有MSTI。具体的,MST域内各设备可根据BPDU报文中Pfivate MSTI Configuration字段、以及私有VLAN与实例映射关系计算出MST域内MSTI,且MST域内流量按照MST域内的MSTI进行转发。二、计算MST域内的各域边界端口在不同实例上的转发状态。在不同MST域之间,由MST域内的虚拟代理设备根据公有VLAN与实例映射关系计算MST域内的各域边界端口在不同实例上的转发状态,继而可以根据各域边界端口在不同实例上的转发状态生成多个MST域之间的公有MSTI。具体的,MST域内的虚拟代理设备通过域边界端口映射表记录MST域内各域边界端口的信息,并利用从域边界端口映射表中记录的域边界端口接收到的来自其它MST域的BPDU报文、以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态;以及,为域边界端口映射表中记录的域边界端口生成BPDU报文,通过域边界端口将BPDU报文发送给其它MST域,由其它MST域内的虚拟代理设备根据BPDU报文及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。由于虚拟代理设备负责计算和处理MST域的所有域边界端口发送和接收的BPDU 报文,且由于MST域可能存在多个域边界端口,多个域边界端口又可能在不同设备上,因此虚拟代理设备需要为MST域的所有域边界端口维护域边界端口映射表(用于记录MST域内各域边界端口的信息);通过该域边界端口映射表,虚拟代理设备可以获知其它MST域的 BPDU报文是从哪个域边界端口收到的,继而可计算出该域边界端口的端口角色和转发状态。本发明中,虚拟代理设备通过域边界端口映射表记录MST域内各域边界端口的信息,具体包括在第一次从域边界端口接收到来自其它MST域的BPDU报文(此时可确定接收到BPDU报文的端口为域边界端口)时,虚拟代理设备获得域边界端口的信息,该域边界端口的信息包括但不限于域边界端口所在设备的MAC地址、域边界端口的端口标识以及域边界端口的STP (Spanning Tree Protocol,生成树协议)属性信息;之后,虚拟代理设备通过域边界端口映射表记录该域边界端口(如域边界端口1等标识)、该域边界端口所在设备的MAC地址、域边界端口的端口标识(实际端口标识)、域边界端口的STP属性信息之间的对应关系。其中,域边界端口映射表中记录的域边界端口的信息并不局限于上述信息;例如还可以有域边界端口的端口优先级,域边界端口的端口路径开销,以及其它STP属性等信息,在此不再赘述。此外,在虚拟代理设备通过域边界端口映射表记录MST域内各域边界端口的信息之后,如果网络部署情况发生变化,域边界端口映射表中记录的域边界端口不再是域边界端口时,则虚拟代理设备还需要从域边界端口映射表中删除该域边界端口的信息。需要注意的是,基于不同的组网情况,域边界端口可以在虚拟代理设备上(即域边界端口所在设备为虚拟代理设备),也可以不在虚拟代理设备上(即域边界端口所在设备不是虚拟代理设备);对于多个域边界端口来说,可有域边界端口所在设备为虚拟代理设备,也可有域边界端口所在设备不是虚拟代理设备。因此,当域边界端口在虚拟代理设备上时,虚拟代理设备获得域边界端口的信息, 包括虚拟代理设备在从域边界端口接收到来自其它MST域的BPDU报文(可确定接收到 BPDU报文的端口为MST域的域边界端口 )时,可直接获得自身的MAC地址、域边界端口的端口标识以及域边界端口的STP属性信息。虚拟代理设备利用接收到的来自其它MST域的BPDU报文、以及公有VLAN与实例映射关系计算域边界端口的在不同实例上转发状态,包括虚拟代理设备在从域边界端口接收到来自其它MST域的BPDU报文后,可利用BPDU报文中携带的信息、域边界端口映射表中记录的信息、MSTP的生成树算法、以及公有VLAN与实例映射关系进行计算,以得到域边界端口在不同实例上的角色和转发状态。当域边界端口不在虚拟代理设备上时,虚拟代理设备获得域边界端口的信息包括在域边界端口所在设备从域边界端口接收到来自其它MST域的BPDU报文(域边界端口所在设备确定接收到BPDU报文的端口为MST域的域边界端口)时,域边界端口所在设备获得自身的MAC地址、域边界端口的端口标识以及域边界端口的STP属性信息,并将获得的 MAC地址、域边界端口的端口标识以及域边界端口的STP属性信息(可将信息封装到报文中)发送给虚拟代理设备;之后,虚拟代理设备接收域边界端口所在设备发送的域边界端口所在设备的MAC地址、域边界端口的端口标识以及域边界端口的STP属性信息。虚拟代理设备利用接收到的来自其它MST域的BPDU报文、以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态,包括在域边界端口所在设备从域边界端口接收到来自其它MST域的BPDU报文时,域边界端口所在设备将来自其它MST域的 BPDU报文(可将BPDU报文封装在报文中)发送给虚拟代理设备;之后,虚拟代理设备接收域边界端口所在设备发送的来自其它MST域的BPDU报文,并可利用BPDU报文中携带的信息、域边界端口映射表中记录的信息、MSTP的生成树算法、以及公有VLAN与实例映射关系进行计算,以得到域边界端口在不同实例上的端口角色和转发状态。
步骤202,MST域内设备根据MST域内各端口在不同实例上的转发状态与本MST域内其它设备进行数据传输;以及,域边界端口所在设备根据MST域内的各域边界端口在不同实例上的转发状态与其它MST域内设备进行数据传输。在同一个MST域内的数据传输过程中,MST域内设备可以直接根据MST域内各端口在不同实例上的转发状态与本MST域内其它设备进行数据传输;在不同MST域之间的数据传输过程中,当有域边界端口在虚拟代理设备上时,则虚拟代理设备可以直接根据转发状态与其它MST域内设备进行数据传输;和/或,当有域边界端口不在虚拟代理设备上时, 则虚拟代理设备需要将转发状态通知给域边界端口所在设备,由域边界端口所在设备根据该转发状态与其它MST域内设备进行数据传输。本发明中,在多个MST域内的各设备上均配置有VLAN分配表、域内端口状态分配表以及域边界端口状态分配表;该VLAN分配表用于记录VLAN与公有STG(Spanning Tree Group,生成树组)、私有STG之间的对应关系;该域内端口状态分配表用于记录域内端口、 私有STG与转发状态之间的对应关系;该域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系。其中,域内端口状态分配表中的转发状态由设备本身计算得到;域边界端口状态分配表中的转发状态由虚拟代理设备计算得到。具体的,二层拓扑协议在数据上的负载分担和转发控制是通过MSTP的寄存器实现的,且和MSTP相关的寄存器包括VLAN分配表和端口状态分配表;MSTP的每个实例对应一组VLAN,通过将一个实例映射到一个硬件STG上来实现,即将多个VLAN映射到一个STG 上,再使STG和实例一一对应。基于此,当设备具有私有VLAN与实例映射关系、公有VLAN 与实例映射关系后,需要对应的配置有私有STG和公有STG;且需要对应的配置有域内端口状态分配表和域边界端口状态分配表。因此,根据VLAN与实例的映射关系,VLAN可分别对应私有STG和公有STG ;VLAN 分配表中将记录VLAN与公有STG、私有STG之间的对应关系;且一个VLAN对应唯一的私有 STG和公有STG,一个私有STG或一个公有STG可对应多个VLAN。如表2、表3、表4所示,分别为VLAN分配表、域内端口状态分配表以及域边界端口状态分配表。表 权利要求
1.一种不同多生成树MST域之间的数据传输方法,应用于包括多个MST域的多实例生成树协议MSTP网络中,其特征在于,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN与实例映射关系,该方法包括MST域内的虚拟代理设备根据所述公有VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态;当有域边界端口在所述虚拟代理设备上时,所述虚拟代理设备根据所述转发状态与其它MST域内设备进行数据传输;和/或,当有域边界端口不在所述虚拟代理设备上时,所述虚拟代理设备将所述转发状态通知给域边界端口所在设备,由所述域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输。
2.如权利要求1所述的方法,其特征在于,所述MST域内的虚拟代理设备根据所述公有 VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态,具体包括所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,并利用从所述域边界端口映射表中记录的域边界端口接收到的来自其它MST域的网桥协议数据单元BPDU报文、以及所述公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。
3.如权利要求2所述的方法,其特征在于,所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,具体包括在第一次从域边界端口接收到来自其它MST域的BPDU报文时,所述虚拟代理设备获得所述域边界端口的信息,所述域边界端口的信息包括所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;所述虚拟代理设备通过所述域边界端口映射表记录所述域边界端口、所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识、以及所述域边界端口的STP属性信息之间的对应关系。
4.如权利要求3所述的方法,其特征在于,所述虚拟代理设备获得所述域边界端口的信息,具体包括当域边界端口在所述虚拟代理设备上时,所述虚拟代理设备获得自身的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;当域边界端口不在所述虚拟代理设备上时,所述虚拟代理设备接收所述域边界端口所在设备发送的所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息。
5.如权利要求2或3所述的方法,其特征在于,从域边界端口接收到来自其它MST域的 BPDU报文,具体为当域边界端口在所述虚拟代理设备上时,所述虚拟代理设备从所述域边界端口接收来自其它MST域的BPDU报文;当域边界端口不在所述虚拟代理设备上时,在从所述域边界端口接收到来自其它MST 域的BPDU报文后,所述虚拟代理设备接收所述域边界端口所在设备发送的来自其它域的 BPDU报文。
6.如权利要求2所述的方法,其特征在于,所述虚拟代理设备通过域边界端口映射表记录所述MST域内各域边界端口的信息,之后还包括所述虚拟代理设备为所述域边界端口映射表中记录的域边界端口生成BPDU报文,并通过所述域边界端口将所述BPDU报文发送给其它MST域,由其它MST域内的虚拟代理设备根据BPDU报文以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。
7.如权利要求1所述的方法,其特征在于,所述多个MST域内的设备上配置有VLAN分配表以及域边界端口状态分配表;所述VLAN分配表用于记录VLAN与公有生成树组STG之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述虚拟代理设备和/或域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输,具体包括当需要发送VLAN数据时,所述虚拟代理设备和/或域边界端口所在设备通过所述VLAN 查询所述VLAN分配表,获得所述VLAN对应的公有STG ;所述虚拟代理设备和/或域边界端口所在设备通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所述公有STG上所对应的转发状态;所述虚拟代理设备和/或域边界端口所在设备通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。
8.如权利要求7所述的方法,其特征在于,所述域边界端口状态分配表中记录的转发状态为所述虚拟代理设备和/或域边界端口所在设备在获得域边界端口在不同实例上的转发状态后,记录到所述域边界端口状态分配表中的。
9.如权利要求1或7所述的方法,其特征在于,所述虚拟代理设备和/或域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输,具体包括当所述转发状态为转发forwarding状态时,所述虚拟代理设备和/或域边界端口所在设备将VLAN数据发送给其他其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,所述虚拟代理设备和/或域边界端口所在设备丢弃VLAN数据。
10.一种不同多生成树MST域之间的数据传输设备,应用于包括多个MST域的多实例生成树协议MSTP网络中,其特征在于,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN与实例映射关系,该设备为MST域内的虚拟代理设备,且该设备包括计算模块,用于根据所述公有VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态;处理模块,用于当有域边界端口在虚拟代理设备上时,根据所述转发状态与其它MST 域内设备进行数据传输;和/或,当有域边界端口不在虚拟代理设备上时,将所述转发状态通知给域边界端口所在设备,由域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输。
11.如权利要求10所述的设备,其特征在于,所述计算模块,具体用于通过域边界端口映射表记录所述MST域内各域边界端口的信息,并利用从所述域边界端口映射表中记录的域边界端口接收到的来自其它MST域的网桥协议数据单元BPDU报文、以及所述公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。
12.如权利要求11所述的设备,其特征在于,所述计算模块,进一步用于在第一次从域边界端口接收到来自其它MST域的BPDU报文时,获得所述域边界端口的信息,所述域边界端口的信息包括所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息; 以及通过所述域边界端口映射表记录所述域边界端口、所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识、以及所述域边界端口的STP属性信息之间的对应关系。
13.如权利要求12所述的设备,其特征在于,所述计算模块,进一步用于当域边界端口在虚拟代理设备上时,获得自身的MAC地址、 所述域边界端口的端口标识以及所述域边界端口的STP属性信息;当域边界端口不在虚拟代理设备上时,接收所述域边界端口所在设备发送的所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息。
14.如权利要求11或12所述的设备,其特征在于,所述处理模块从域边界端口接收到来自其它MST域的BPDU报文时,具体用于当域边界端口在虚拟代理设备上时,从所述域边界端口接收来自其它MST域的BPDU报文;当域边界端口不在虚拟代理设备上时,在从所述域边界端口接收到来自其它MST域的BPDU报文后,接收所述域边界端口所在设备发送的来自其它域的BPDU报文。
15.如权利要求11所述的设备,其特征在于,所述处理模块,还用于为所述域边界端口映射表中记录的域边界端口生成BPDU报文, 并通过所述域边界端口将所述BPDU报文发送给其它MST域,由其它MST域内的虚拟代理设备根据BPDU报文以及公有VLAN与实例映射关系计算域边界端口在不同实例上的转发状态。
16.如权利要求10所述的设备,其特征在于,所述多个MST域内的设备上配置有VLAN 分配表以及域边界端口状态分配表;所述VLAN分配表用于记录VLAN与公有生成树组STG 之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述处理模块,具体用于当需要发送VLAN数据时,通过所述VLAN查询所述VLAN分配表,获得所述VLAN对应的公有STG ;通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所述公有STG上所对应的转发状态;通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。
17.如权利要求10或16所述的设备,其特征在于,所述处理模块,进一步用于当所述转发状态为转发forwarding状态时,将VLAN数据发送给其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,丢弃VLAN数据。
18.—种不同多生成树MST域之间的数据传输设备,应用于包括多个MST域的多实例生成树协议MSTP网络中,其特征在于,所述多个MST域内的设备上配置有相同的公有虚拟局域网VLAN与实例映射关系,该设备为域边界端口所在设备,且与MST域内的虚拟代理设备通信,且该设备包括通信模块,用于在MST域内的虚拟代理设备根据所述公有VLAN与实例映射关系计算出所述MST域内的各域边界端口在不同实例上的转发状态后,接收来自所述虚拟代理设备发送的所述转发状态;处理模块,用于根据所述转发状态与其它MST域内设备进行数据传输。
19.如权利要求18所述的设备,其特征在于,所述通信模块,还用于在第一次从域边界端口接收到来自其它MST域的BPDU报文时, 获得所述域边界端口所在设备的介质访问控制MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息;并将所述域边界端口所在设备的MAC地址、所述域边界端口的端口标识以及所述域边界端口的STP属性信息发送给所述虚拟代理设备。
20.如权利要求18所述的设备,其特征在于,所述多个MST域内的设备上配置有VLAN 分配表以及域边界端口状态分配表;所述VLAN分配表用于记录VLAN与公有生成树组STG 之间的对应关系;所述域边界端口状态分配表用于记录域边界端口、公有STG与转发状态之间的对应关系;所述处理模块,具体用于当需要发送VLAN数据时,通过所述VLAN查询所述VLAN分配表,获得所述VLAN对应的公有STG ;通过所述公有STG以及域边界端口查询所述域边界端口状态分配表,获得所述域边界端口在所属公有STG上所对应的转发状态;通过所述转发状态与其它MST域内设备进行所述VLAN数据的传输。
21.如权利要求18或20所述的设备,其特征在于,所述处理模块,进一步用于当所述转发状态为转发forwarding状态时,将VLAN数据发送给其它MST域内设备;或者,当所述转发状态为丢弃Discarding状态时,丢弃VLAN数据。
全文摘要
本发明公开了一种不同MST域之间的数据传输方法和设备,该方法包括MST域内的虚拟代理设备根据公有VLAN与实例映射关系计算所述MST域内的各域边界端口在不同实例上的转发状态;所述虚拟代理设备将所述转发状态通知给域边界端口所在设备,所述域边界端口所在设备根据所述转发状态与其它MST域内设备进行数据传输。本发明中,可实现不同MST域之间流量的负载分担。
文档编号H04L12/46GK102497324SQ201110434578
公开日2012年6月13日 申请日期2011年12月22日 优先权日2011年12月22日
发明者王佳炳 申请人:杭州华三通信技术有限公司