一种在TRILL网络中生成组播转发表项的方法及路由桥与流程

文档序号:13767536阅读:140来源:国知局
本发明涉及通信领域,尤其涉及一种在多链路透明互联(英文:TransparentInterconnectionofLotsofLinks,简称:TRILL)网络中生成组播转发表项的方法及路由桥。
背景技术
:TRILL协议是由互联网工程任务组(英文:InternetEngineeringTaskForce,简称:IETF)提出的一种大二层网络协议,通过扩展中间系统到中间系统(英文:IntermediateSystemtoIntermediateSystem,简称:IS-IS)协议实现二层网络路由。在TRILL网络(英文:campus)中,运行TRILL协议的设备叫做路由桥(英文:RoutingBridge,简称:RB)。目前,为了在TRILL网络中实现属于同一组播组的组播报文的转发,需要各个RB分别计算该组播组的组播转发表项。以TRILL网络的一个RB为例,该RB根据TRILL网络中加入同一组播组的所有RB,生成该RB对应的该组播组的组播转发表项,以用于该RB对该组播组的组播报文进行转发。然而,发明人经过研究发现,对于物理隔离的两个区域来说,通常需要对属于同一组播组的组播报文进行隔离,例如对于一个组播组的组播报文来说,即使物理隔离的两个区域内都存在加入该组播组的RB,该组播组的组播报文也不能从其中一个区域转发到另一个区域。但是目前在生成一个组播组的组播转发表项时,主要基于的是TRILL网络中加入该组播组的所有RB,因此即使这些RB位于物理隔离的两个区域,该组播组的组播报文还是会跨区域转发到该组播组的所有RB。即,目前并不能在物理隔离的两个区域之间,对属于同一组播组的组播报文进行隔离。技术实现要素:本发明解决的技术问题在于提供一种在TRILL网络中生成组播转发表项的方法及路由桥,以在物理隔离的两个区域之间,实现对属于同一组播组的组播报文的隔离。本发明第一方面提供一种在多链路透明互联TRILL网络中生成组播转发表项的方法,所述TRILL网络包括物理隔离的第一区域和第二区域;第一路由桥RB位于所述第一区域中,通过所述第一RB的第一物理端口与所述第二区域物理连接;所述方法包括:所述第一RB接收隔离指示,所述隔离指示用于指示在所述第一物理端口上对至少一个组播组进行隔离;所述第一RB获取所述第一RB上所述至少一个组播组的所有出接口;所述第一RB从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。在第一方面的第一种可能的实现方式中,所述第一RB获取所述第一RB上所述至少一个组播组的所有出接口,包括:所述第一RB获取所述至少一个组播组中每个组播组的原始组播转发表项中的出接口;所述第一RB从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项,包括:所述第一RB从每个包括所述第一物理端口的所述原始组播转发表项中,删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一RB获取所述第一RB上所述至少一个组播组的所有出接口,包括:所述第一RB获取所述至少一个组播组中每个组播组的原始组播转发表项中的出接口;所述第一RB从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项,包括:所述第一RB从每个包括所述第一物理端口的所述原始组播转发表项中,删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。结合第一方面、第一方面的第一种至第二种中任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一RB通过所述第一RB的第一物理端口与所述第二区域物理连接,包括:所述第一RB通过所述第一RB的所述第一物理端口与第二RB的第二物理端口物理连接,所述第二RB位于所述第二区域;所述方法还包括:所述第一RB向所述第二物理端口发送第二隔离指示,所述第二隔离指示用于指示所述第二RB对所述至少一个组播组进行隔离。结合第一方面、第一方面的第一种至第三种中任一种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:所述第一RB接收隔离解除指示,所述隔离解除指示用于指示在所述第一物理端口上对所述至少一个组播组解除隔离;所述第一RB获取所述至少一个组播组中每个组播组的组播转发表项,将所述第一物理端口作为出接口添加在每个获取到的组播转发表项中。结合第一方面、第一方面的第一种至第四种中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,还包括:所述第一RB获取所述TRILL网络的至少一个根RB;所述第一RB获取所述第一RB上所述至少一个组播组的所有出接口,包括:所述第一RB获取所述至少一个根RB中每个根RB分别对应的,所述第一RB上所述至少一个组播组的所有出接口;所述第一RB从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项,包括:所述第一RB从每个所述根RB分别对应的,所述第一RB上所述至少一个组播组的所有出接口中,分别删除所述第一物理端口,以生成每个所述根RB分别对应的所述至少一个组播组中每个组播组的组播转发表项。本发明第二方面提供一种路由桥RB,所述RB位于多链路透明互联TRILL网络的第一区域中,所述第一区域和所述TRILL网络的第二区域物理隔离;所述RB包括:第一物理端口,用于与所述第二区域物理连接;接收单元,用于接收隔离指示,所述隔离指示用于指示在所述第一物理端口上对至少一个组播组进行隔离;处理单元,用于获取所述RB上所述至少一个组播组的所有出接口,以及从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。在第二方面的第一种可能的实现方式中,所述处理单元具体用于:获取所述至少一个组播组中每个组播组的原始组播转发表项中的出接口,以及从每个包括所述第一物理端口的所述原始组播转发表项中,删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述隔离指示为第一隔离指示;所述第一隔离指示用于指示对所述至少一个组播组进行隔离;所述接收单元具体用于通过所述第一物理端口接收所述第一隔离指示。结合第二方面、第二方面的第一种至第二种中任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述RB还包括发送单元;所述第一物理端口具体用于与另一RB的第二物理端口物理连接,所述另一RB位于所述第二区域;所述发送单元用于,向所述第二物理端口发送第二隔离指示,所述第二隔离指示用于指示所述另一RB对所述至少一个组播组进行隔离。结合第二方面、第二方面的第一种至第三种中任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收单元还用于,接收隔离解除指示,所述隔离解除指示用于指示在所述第一物理端口上对所述至少一个组播组解除隔离;所述处理单元还用于,根据所述接收单元接收的所述隔离解除指示,获取所述至少一个组播组中每个组播组的组播转发表项,将所述第一物理端口作为出接口添加在每个获取到的组播转发表项中。结合第二方面、第二方面的第一种至第四种中任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述处理单元还用于,获取所述TRILL网络的至少一个根RB;当获取所述RB上所述至少一个组播组的所有出接口,以及从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项时,所述处理单元具体用于获取所述至少一个根RB中每个根RB分别对应的,所述RB上所述至少一个组播组的所有出接口,以及从每个所述根RB分别对应的,所述RB上所述至少一个组播组的所有出接口中,分别删除所述第一物理端口,以生成每个所述根RB分别对应的所述至少一个组播组中每个组播组的组播转发表项。通过上述技术方案可知,在本发明中,TRILL网络包括物理隔离的第一区域和第二区域,其中第一RB位于所述第一区域中,并通过第一物理端口与所述第二区域物理连接。当所述第一RB接收到在所述第一物理端口上对至少一个组播组的隔离指示,说明需要在物理隔离的所述第一区域和所述第二区域之间对所述至少一个组播组的组播报文进行隔离。因此所述第一RB会获取所述第一RB上所述至少一个组播组的所有出接口,并从所述所有出接口中删除所述第一物理端口,从而使所述至少一个组播组中每个组播组的组播转发表项都不包括所述第一物理端口。当所述第一RB接收到所述至少一个组播组的组播报文时,由于所述组播转发表项中不包括所述第一物理端口,所述第一RB也就不再将所述至少一个组播组的组播报文通过所述第一物理端口转发至所述第二区域,从而实现了在物理隔离的两个区域之间,对属于同一组播组的组播报文的隔离。附图说明图1为一种TRILL网络的结构示意图;图2为本发明实施例提供的一种在TRILL网络中生成组播转发表项的方法的流程示意图;图3为图2所示的实施例中TRILL网络的一种可能的拓扑;图4为本发明实施例提供的另一种在TRILL网络中生成组播转发表项的方法的流程示意图;图5为图4所示的实施例中TRILL网络的一种可能的拓扑;图6为本发明实施例提供的一种RB的装置实施例的结构示意图;图7为本发明实施例提供的另一种RB的装置实施例的结构示意图。具体实施方式为了在TRILL网络实现属于同一组播组的组播报文的转发,需要各个RB分别计算该组播组的组播转发表项。下面以图1所示的TRILL网络为例,介绍一种生成组播转发表项的方式。首先,RB1会根据TRILL网络中的所有RB分别发布的nickname(别名)的优先级,选举出一个或多个根(root)RB,rootRB1计算出每个rootRB分别对应的分发树(distributiontree)。其中,TRILL网络中每个RB选举出的rootRB一般是相同的。分发树表示的是TRILL协议报文的转发路径,对于每个RB来说,分发树可以表示成默认组播组的组播转发表项,其中TRILL网络中所有的RB都加入所述默认组播组中。每个RB可以根据该RB的默认组播组的组播转发表项转发TRILL协议报文,例如分发树如图1所示时,RB1通过port4接收到RB3发送的TRILL协议报文后,会通过port1、port2和port3转发该TRILL协议报文。在本发明实施例中,TRILL协议报文通常携带有RB加入的组播组信息,每个RB通过定期发送TRILL协议报文,使得其他RB能够获取到每个RB加入的组播组。因此,对于TRILL网络的一个RB来说,该RB可以根据TRILL网络中加入同一组播组的所有RB,生成该RB对应的该组播组的组播转发表项,以用于该RB对该组播组的组播报文进行转发。仍以图1所示的TRILL网络为例,rootRB为RB3时分发树如图1所示,RB1根据其他RB发送的TRILL协议报文,得到了RB8和RB9加入组播组01的信息,从而RB1对所述分发树进行剪枝,得到了如表1所示的组播组01的组播转发表项。组播转发表中的每个表项包括:rootRB、组播组以及出接口。当RB1通过port2收到组播组01的组播报文时,会通过port1向RB9转发该组播报文。表1rootRB组播组出接口RB301port1port2………………然而,发明人经过研究发现,对于物理隔离的两个区域来说,通常需要对属于同一组播组的组播报文进行隔离,其中,隔离即包括单向隔离也包括双向隔离,单向隔离指的是,对于属于同一组播组的组播报文来说,即使物理隔离的两个区域内都存在加入该组播组的RB,该组播报文也不能从其中一个区域转发到另一个区域,双向隔离指的是,该组播报文即不能从其中一个区域转发到另一个区域,也不能反方向转发。但是目前在生成一个组播组的组播转发表项时,主要基于的是TRILL网络中加入该组播组的所有RB,因此即使这些RB位于物理隔离的两个区域,该组播组的组播报文还是会跨区域转发到该组播组的所有RB。例如以图1所示的TRILL网络为例,即使RB8和RB9位于物理隔离的两个区域,RB9还是能够接收到RB8转发的组播组01的组播报文。可见目前并不能在物理隔离的两个区域之间,对属于同一组播组的组播报文进行单向或者双向隔离。为了使得在物理隔离的两个区域之间实现属于同一组播组的组播报文的隔离,能够采用的一种做法就是使得其中一个区域内加入该组播组的RB不能正常工作,从而不会接收到另一个区域转发的该组播组的组播报文,显然这种做法将使得大量的RB不能正常工作,造成了较大的资源浪费。此外,为了实现组播报文的隔离,也可以对其中一个区域中加入该组播组的所有RB进行配置,使其全部加入其他的组播组,但是这种方法操作起来十分繁琐。本发明实施例能够提供一种在TRILL网络中生成组播转发表项的方法及路由桥,以在物理隔离的两个区域之间,实现对属于同一组播组的组播报文的隔离。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。如图2所示,本发明实施例提供了在TRILL网络中生成组播转发表项的一种方法实施例。本实施例的TRILL网络包括物理隔离的第一区域和第二区域,第一RB位于所述第一区域中,通过所述第一RB的第一物理端口与所述第二区域物理连接。例如图3示出了本实施例的TRILL网络的一种可能的拓扑。其中图3中的port1即为第一物理端口。在本发明实施例中,物理隔离的两个区域指的是物理上不在同一个区域范围内的两个区域,比如可以是两个机房、两个性能优化数据中心(英文:performanceoptimizeddatacenter,简称:POD)域等等。本实施例的方法包括:S201:第一RB接收隔离指示,所述隔离指示用于指示在所述第一物理端口上对至少一个组播组进行隔离。在本发明实施例中,当需要阻止所述第一RB将所述至少一个组播组的组播报文通过所述第一物理端口从所述第一区域转发到所述第二区域时,所述第一RB会接收到所述隔离指示。其中,所述第一RB接收所述隔离指示的方式可以有多种,例如所述第一RB接收其他设备发送的所述隔离指示,其中所述第一RB可以通过所述第一物理端口接收所述隔离指示,也可以通过除了所述第一物理端口之外的其他端口接收所述隔离指示。又例如,用户在所述第一RB上通过输入命令等方式对所述第一RB进行配置后,所述第一RB接收到所述隔离指示。所述第一RB可以是通过所述第一物理端口接收到所述隔离指示,也可以通过所述第一物理端口之外的其他端口接收到所述隔离指示,本发明实施例对此并不加以限定。在本发明实施例中,一个组播组可以对应一个或多个虚拟局域网(英文:virtuallocalareanetwork,简称:VLAN),一般情况下,一个组播组对应一个VLAN。S202:所述第一RB获取所述第一RB上所述至少一个组播组的所有出接口。所述第一RB上所述至少一个组播组的所有出接口,指的是所述第一RB上用于连接TRILL网络中加入所述至少一个组播组的所有RB的所有出接口。其中,出接口是指RB上远离rootRB的能够对外连接的物理端口。其中,所述第一RB可以根据所述TRILL网络中加入所述至少一个组播组的所有RB,以及所述TRILL网络的分发树,获取所述所有出接口。由于所述TRILL网络中的每个RB可以定期发送TRILL协议报文,使得其他RB能够获取到每个RB加入的组播组。因此,所述第一RB可以根据所述TRILL网络中的所有RB发送的TRILL协议报文,获取到TRILL网络中加入所述至少一个组播组的所有RB。S203:所述第一RB从步骤S202中获取的所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。本发明实施例中,为了能够实现阻止所述第一RB将所述至少一个组播组的组播报文通过所述第一物理端口从所述第一区域转发到所述第二区域,所述第一RB会从所述所有出接口中删除所述第一物理端口,从而根据剩余的出接口,生成所述至少一个组播组中每个组播组的组播转发表项。其中,所述第一RB具体可以是生成包括所述至少一个组播组中每个组播组的组播转发表项的组播转发表。例如TRILL网络如图3所示时,假设所述至少一个组播组包括一个组播组,且所述组播组的rootRB为第三RB,步骤202中所述第一RB获取到的所有出接口包括:port1、port2和port3,则在步骤S203中所述第一RB将所述port1删除,从而根据所述port2和所述port3生成包括所述组播组的组播转发表项的组播转发表。假设所述至少一个组播组包括两个组播组,第七RB加入了第一组播组,而第八RB和第九RB加入了第二组播组,所述第一组播组和所述第二组播组的rootRB均为所述第三RB,步骤202中所述第一RB获取到的所述第一组播组的所有出接口包括所述port3,所述第二组播组的所有出接口包括所述port1和所述port2,则在步骤S203中所述第一RB对所述第一组播组的出接口不做处理,将所述第二组播组的出接口中的port1删除,从而根据port2和port3生成包括所述第一组播组和第二组播组的组播转发表,即所述组播转发表包括所述第一组播组的组播转发表项和所述第二组播组的组播转发表项。当所述第一RB基于所述至少一个组播组中每个组播组的组播转发表项,对所述至少一个组播组的组播报文进行转发时,也就不会将所述至少一个组播组的组播报文通过所述第一物理端口转发至所述第二区域中。由于在没有接收到所述隔离指示时,所述第一RB一般会包括所有组播组的原始组播转发表,而该原始组播组转发表中实际上已经包括每个组播组的所有出接口,因此本实施例中可以直接从该原始组播转发表中,出接口包括所述第一物理端口的表项中删除所述第一物理端口。在具体实现时,步骤S202包括:所述第一RB获取所述至少一个组播组中每个组播组的原始组播转发表项中的出接口;步骤S203中包括:从每个包括所述第一物理端口的所述原始组播转发表项中,删除所述第一物理端口,以生成本实施例的所述至少一个组播组中每个组播组的组播转发表项,实际上即对所述原始组播转发表进行更新。需要说明的是,本实施例中的所述至少一个组播组可以包括一个或多个组播组,当包括多个组播组时,步骤S202中的所述所有出接口包括:所述第一RB上每个组播组的出接口。因此步骤S203在删除所述第一物理端口时,实际上是从每个组播组的出接口中,分别删除所述第一物理端口,从而使得生成的每个组播组的组播转发表项都不再包括所述第一物理端口。通过上述技术方案可知,在本发明实施例中,TRILL网络包括物理隔离的第一区域和第二区域,其中第一RB位于所述第一区域中,并通过第一物理端口与所述第二区域物理连接。当所述第一RB接收到在所述第一物理端口上对至少一个组播组的隔离指示,说明需要在物理隔离的所述第一区域和所述第二区域之间对所述至少一个组播组的组播报文进行隔离。因此所述第一RB会获取所述第一RB上所述至少一个组播组的所有出接口,并从所述所有出接口中删除第一物理端口,从而使所述至少一个组播组中每个组播组的组播转发表项都不包括所述第一物理端口。因此当所述第一RB接收到所述至少一个组播组的组播报文时,所述第一RB也就不再将所述至少一个组播报文通过所述第一物理端口转发至所述第二区域。其中,若所述至少一个组播组的组播报文不会通过所述第一物理端口外的其他端口转发至所述第二区域,例如所述第一区域和所述第二区域仅通过所述第一物理端口相连,或者所述第一区域和所述第二区域之间除了所述第一物理端口之外还通过其他端口相连,但是所述至少一个组播组的组播报文不会通过该其他端口从所述第一区域转发至所述第二区域,则本实施例能够实现对所述至少一个组播组的组播报文,从所述第一区域至所述第二区域的单向隔离。可见本实施例在物理隔离的两个区域之间,实现了对属于同一组播组的组播报文的隔离。本发明实施例在物理隔离的两个区域之间,实现对属于同一组播组的组播报文的隔离时,无需使得其中一个区域的RB不能正常工作,从而不会造成资源浪费。此外也无需通过配置的方式使得其中一个区域的所有RB加入到其他的组播组,而只需在两个区域连接的RB上对组播转发表项进行更改,因此操作起来也比较简便。在本发明实施例中,所述隔离指示可以包括在向所述第一RB发送的TRILL协议报文中,例如在目前的TRILL协议报文中增加类型长度值(英文:type-length-value,简称:TLV)格式的信息以携带所述隔离指示,因此本实施例的步骤S201可以包括:所述第一RB接收TRILL协议报文;所述TRILL协议报文中包括TLV格式的所述隔离指示;所述第一RB从所述TRILL协议报文中获取所述隔离指示。在本发明实施例中,所述第一RB也可以根据接收所述隔离指示的物理端口,获知需要在哪个端口上进行隔离。因此本实施例中,所述隔离指示为第一隔离指示;所述第一隔离指示用于指示对至少一个组播组进行隔离;本实施例的步骤S201可以包括:所述第一RB通过所述第一物理端口接收所述第一隔离指示。也就是说所述第一RB接收到的所述第一隔离指示中并没有指示出在哪个端口上进行隔离,而所述第一RB根据接收所述第一隔离指示的物理端口,也就是所述第一物理端口,获知需要在所述第一物理端口上进行隔离。为了能够进一步使得所述至少一个组播组的组播报文,不会通过所述第一物理端口从所述第二区域转发至所述第一区域,即实现双向隔离。本实施例中,所述第一RB通过所述第一RB的所述第一物理端口与所述第二区域物理连接,具体可以包括:所述第一RB通过所述第一RB的所述第一物理端口与第二RB的第二物理端口物理连接,其中所述第二RB位于所述第二区域。本实施例的方法还可以包括:所述第一RB向所述第二物理端口发送第二隔离指示,所述第二隔离指示用于指示所述第二RB对所述至少一个组播组进行隔离,从而可以使得所述第二RB生成不包括所述第二物理端口的所述至少一个组播组的组播转发表项,以实现所述第二RB不会将所述至少一个组播组的组播报文通过所述第二物理端口转发至所述第一区域。其中,所述第一RB可以是在步骤S201中接收到所述隔离指示后,即获知需要在所述第一区域和所述第二区域之间实现双向隔离,因此向所述第二物理端口发送所述第二隔离指示。所述隔离指示可以是所述第一RB接收到的其他设备发送的所述隔离指示,也可以是用户在所述第一RB上通过输入命令等方式对所述第一RB进行配置后,所述第一RB接收到所述隔离指示。其中,所述第二RB可以通过执行以下步骤生成不包括所述第二物理端口的所述至少一个组播组的组播转发表项:所述第二RB通过所述第二物理端口接收所述第二隔离指示,所述第二RB获取所述第二RB上所述至少一个组播组的所有出接口;所述第二RB从所述第二RB上所述至少一个组播组的所有出接口中删除所述第二物理端口,以在所述第二RB上生成所述至少一个组播组中每个组播组的组播转发表项。在本发明实施例中,在配置了对所述至少一个组播组的隔离之后,还可以解除该隔离,从而使所述第一RB恢复向所述第二区域转发所述至少一个组播组的组播报文的功能。具体实现方式是,所述第一RB接收隔离解除指示,所述隔离解除指示用于指示在所述第一物理端口上对所述至少一个组播组解除隔离;所述第一RB获取所述至少一个组播组中每个组播组的组播转发表项,将所述第一物理端口作为出接口添加在每个获取到的组播转发表项中。在本发明实施例中,对于不同的rootRB,所述第一RB上所述至少一个组播组的所有出接口可能不同。例如当第七RB和第八RB加入到一个组播组VLAN100时,若rootRB为第三RB,所述第一RB上VLAN100的所有出接口可能包括port2和port3;若rootRB为所述第一RB时,所述第一RB上VLAN100的所有出接口可能包括port2和port4。因此,本实施例还可以包括:所述第一RB获取所述TRILL网络的至少一个根RB;本实施例中的步骤S202可以包括:所述第一RB获取所述至少一个rootRB中每个rootRB分别对应的,所述第一RB上所述至少一个组播组的所有出接口,步骤S203可以包括:所述第一RB从每个所述rootRB分别对应的,所述第一RB上所述至少一个组播组的所有出接口中,分别删除所述第一物理端口,以生成每个所述rootRB分别对应的所述至少一个组播组中每个组播组的组播转发表项。因此无论是根据哪个rootRB对应的组播转发表项进行转发,所述至少一个组播组的组播报文都不会通过所述第一物理端口转发到所述第二区域中。下面介绍本发明的一个优选的实施例,在该实施例中,以所述至少一个组播组仅包括一个组播组VLAN100,并且所述第一区域和所述第二区域分别为POD域为例加以说明,在本发明的其他实施例中,并不对所述至少一个组播组,以及所述第一区域和所述第二区域进行上述限定。如图4所示,本发明实施例提供了在TRILL网络中生成组播转发表项的另一种方法实施例。本实施例的TRILL网络,包括物理隔离的POD1域和POD2域,第一RB位于所述POD1域中,第二RB位于所述POD2域中,所述第一RB通过所述第一RB的第一物理端口与所述第二RB的第二物理端口物理连接。例如图5示出了本实施例的TRILL网络的一种可能的拓扑。其中port1即为所述第一物理端口,port5即为所述第二物理端口。本实施例的方法包括:S401:所述第二RB接收到用户隔离指示,通过所述第二物理端口向所述第一物理端口发送TRILL协议报文,该TRILL协议报文中包括TLV格式的对VLAN100的隔离指示。其中,可以是用户在所述第二RB上通过输入命令等方式对所述第二RB进行配置后,所述第二RB接收到所述用户隔离指示。所述第二RB在发送所述TRILL协议报文中之前还可以判断,所述第一物理端口是否配置有隔离功能,如果是,则发送上述包括对VLAN100的隔离指示的TRILL协议报文,否则,发送不包括对VLAN100的隔离指示的TRILL协议报文。S402:所述第一RB通过所述第一物理端口接收所述TRILL协议报文。S403:所述第一RB从所述TRILL协议报文中获取所述对VLAN100的隔离指示。其中所述第一RB若从TRILL协议报文中获取到所述隔离指示,说明所述第一RB需要对所述第一物理端口进行隔离,从而保存所述第一物理端口的标识信息,后续根据该标识信息从VLAN100的组播转发表项中删除所述第一物理端口。若所述第一RB不能从所述TRILL协议报文中获取到隔离指示,则所述第一RB正常处理所述TRILL协议报文,例如若所述TRILL协议报文中包括其他RB加入的组播组,所述第一RB根据所述其他RB加入的组播组生成每个组播组对应的组播转发表项。S404:所述第一RB获取所述TRILL网络中加入VLAN100的所有RB。S405:所述第一RB根据所述TRILL网络中加入VLAN100的所有RB,以及所述TRILL网络的分发树,获取所述第一RB上VLAN100的所有出接口,也即所述第一RB上用于连接TRILL网络中加入VLAN100的所有RB的出接口。例如,当rootRB为第三RB时,TRILL网络的分发树如图5所示,所述第一RB获取到第七RB、第八RB、第九RB加入到VLAN100中,从而获取的所述所有出接口包括:port1、port2和port3。此时,所述第一RB还可以根据所述所有出接口在组播转发表中生成如表2所示的VLAN100的原始组播转发表项。其中组播转发表可以包括:rootRB、组播组、以及出接口。表2rootRB组播组出接口第三RBVLAN100port1port2port3………………S406:所述第一RB从步骤S405获取的所述第一RB上VLAN100的原始组播转发表项的所有出接口中删除所述第一物理端口,以生成VLAN100的组播转发表项。其中该组播转发表项为当前最新的组播转发表项,若该组播转发表项一直没有被更新,则接收到VLAN100的组播报文时根据该组播转发表项进行转发。例如图5所示的TRILL网络中,所述第一RB获取的所述所有出接口包括:port1、port2和port3,则本步骤中从VLAN100对应的原始组播转发表项中删除第一物理端口以生成所述组播转发表项,生成的所述组播转发表项可以如表3所示。表3中VLAN100的组播转发表项具体可以是通过从表2的原始组播转发表项中删除port1得到。表3rootRB组播组出接口第三RBVLAN100port2port3………………其中在执行本步骤之前,还可以判断所述所有出接口中是否包括所述第一物理端口,如果是,才执行本步骤。S407:所述第一RB接收VLAN100的组播报文。S408:所述第一RB基于步骤S406生成的所述组播转发表项,对VLAN100的组播报文进行转发。由于所述组播转发表项的出接口不包括port1,所述第一RB不会再将VLAN100的组播报文通过所述第一物理端口转发到所述第二区域中。在本实施例中,主要说明了对所述POD1域的所述第一RB设置隔离功能,从而使得所述第一RB不能通过所述第一物理端口将所述VLAN100的组播报文转发至所述第二区域中。当所述POD1域和所述POD2域仅仅通过所述第一物理端口连接时,则这种方式能够实现,所述VLAN100的组播报文不能从所述第一区域转发至所述第二区域中。但是当所述POD1域和所述POD2域除了第一物理端口之外,还通过其他物理端口进行连接时,则本实施例可能仍然会使得所述VLAN100的组播报文通过其他物理端口从所述第一区域转发至所述第二区域中。因此在本发明实施例中,可以对所述第一区域中,与所述第二区域物理连接的每一个RB都设置隔离,即对所述每一个RB都可以实施上述任一种生成组播转发表项的方法实施例。上面对本发明实施例中的生成组播转发表项的方法实施例进行了描述,下面将从模块化功能实体的角度对本发明实施例中的所述第一RB进行描述。如图6所示,本发明实施例提供了RB的一种装置实施例。本实施例的所述RB600位于TRILL网络的第一区域中,所述第一区域和所述第二区域物理隔离。例如图3示出了本实施例的TRILL网络的一种可能的拓扑。其中图3中的port1即为所述第一物理端口。在本发明实施例中,物理隔离的两个区域指的是物理上不在同一个区域范围内的两个区域,比如可以是两个机房、两个POD域等等。本实施例的所述RB600包括:第一物理端口601、接收单元602和处理单元603。所述第一物理端口601用于,与所述第二区域物理连接。所述接收单元602用于,接收隔离指示,所述隔离指示用于指示在所述第一物理端口601上对至少一个组播组进行隔离。在本发明实施例中,当需要阻止所述RB600将所述至少一个组播组的组播报文通过所述第一物理端口601从所述第一区域转发到所述第二区域时,所述RB600的所述接收单元602会接收到所述隔离指示。其中,所述RB600接收所述隔离指示的方式可以有多种,例如所述RB600接收其他设备发送的所述隔离指示,其中所述RB600可以通过所述第一物理端口601接收所述隔离指示,也可以通过除了所述第一物理端口601之外的其他端口接收所述隔离指示。又例如,用户在所述RB600上通过输入命令等方式对所述RB600进行配置后,所述RB600接收到所述隔离指示。在本发明实施例中,一个组播组可以对应一个或多个VLAN,一般情况下,一个组播组对应一个VLAN。所述处理单元603用于,获取所述RB600上所述至少一个组播组的所有出接口。所述RB600上所述至少一个组播组的所有出接口,指的是所述RB600上用于连接TRILL网络中加入所述至少一个组播组的所有RB的所有出接口。其中,出接口是指RB上远离rootRB的能够对外连接的物理端口。其中,所述RB600的处理单元603可以根据所述TRILL网络中加入所述至少一个组播组的所有RB,以及所述TRILL网络的分发树,获取所述所有出接口。由于所述TRILL网络中的每个RB可以定期发送TRILL协议报文,使得其他RB能够获取到每个RB加入的组播组。因此,所述RB600可以根据所述TRILL网络中的所有RB发送的TRILL协议报文,获取到所述TRILL网络中加入所述至少一个组播组的所有RB。所述处理单元603还用于,从获取的所述RB600上所述至少一个组播组的所有出接口中删除所述第一物理端口601,以生成所述至少一个组播组中每个组播组的组播转发表项。本发明实施例中,为了能够实现阻止所述RB600将所述至少一个组播组的组播报文通过所述第一物理端口601从所述第一区域转发到所述第二区域,所述RB600的处理单元603会从所述所有出接口中删除所述第一物理端口601,从而根据剩余的出接口,生成所述至少一个组播组中每个组播组的组播转发表项。其中,所述RB600具体可以是生成包括所述至少一个组播组中每个组播组的组播转发表项的组播转发表。例如TRILL网络如图3所示时,假设所述至少一个组播组包括一个组播组,且所述组播组的rootRB为第三RB,所述处理单元603获取到的所述RB600上所述至少一个组播组的所有出接口包括:port1、port2和port3,则所述处理单元603将所述port1删除,从而根据所述port2和所述port3生成包括所述组播组的组播转发表项的组播转发表。假设所述至少一个组播组包括两个组播组,第七RB加入了第一组播组,而第八RB和第九RB加入了第二组播组,所述第一组播组和所述第二组播组的rootRB均为所述第三RB,所述处理单元603获取到的所述第一组播组的所有出接口包括port3,所述第二组播组的所有出接口包括port1和port2,则所述处理单元603对所述第一组播组的出接口不做处理,将所述第二组播组的出接口中的所述port1删除,从而根据所述port2和所述port3生成包括所述第一组播组和第二组播组的组播转发表,即所述组播转发表包括所述第一组播组的组播转发表项和所述第二组播组的组播转发表项。当所述RB600基于所述至少一个组播组中每个组播组的组播转发表项,对所述至少一个组播组的组播报文进行转发时,也就不会将所述至少一个组播组的组播报文通过所述第一物理端口601转发至所述第二区域中。由于在没有接收到所述隔离指示时,所述RB600一般会包括所有组播组的原始组播转发表,而该原始组播组转发表中实际上已经包括每个组播组的所有出接口,因此本实施例中可以直接从该原始组播转发表中,出接口包括所述第一物理端口601的表项中删除所述第一物理端口601。在具体实现时,所述处理单元603具体用于获取所述至少一个组播组中每个组播组的原始组播转发表项中的出接口,以及从每个包括所述第一物理端口601的所述原始组播转发表项中,删除所述第一物理端口601,以生成本实施例的所述至少一个组播组中每个组播组的组播转发表项,实际上即对所述原始组播转发表进行更新。需要说明的是,本实施例中的所述至少一个组播组可以包括一个或多个组播组,当包括多个组播组时,所述处理单元603获取的所述所有出接口包括所述RB600上每个组播组的出接口。因此所述处理单元603在删除所述第一物理端口601时,实际上是从每个组播组的出接口中,分别删除所述第一物理端口601,从而使得生成的每个组播组的组播转发表项都不再包括所述第一物理端口601。通过上述技术方案可知,在本发明实施例中,TRILL网络包括物理隔离的第一区域和第二区域,其中RB600位于所述第一区域中,并通过第一物理端口601与所述第二区域物理连接。当所述RB600的接收单元602接收到在所述第一物理端口601上对至少一个组播组的隔离指示,说明需要在物理隔离的所述第一区域和所述第二区域之间对所述至少一个组播组的组播报文进行隔离。因此所述RB600的处理单元603会获取所述RB600上所述至少一个组播组的所有出接口,并从所述所有出接口中删除第一物理端口601,从而使所述至少一个组播组中每个组播组的组播转发表项都不包括所述第一物理端口601。因此当所述RB600接收到所述至少一个组播组的组播报文时,所述RB600也就不再将所述至少一个组播报文通过所述第一物理端口601转发至所述第二区域。其中,若所述至少一个组播组的组播报文不会通过所述第一物理端口601外的其他端口转发至所述第二区域,例如所述第一区域和所述第二区域仅通过所述第一物理端口601相连,或者所述第一区域和所述第二区域之间除了所述第一物理端口601之外还通过其他端口相连,但是所述至少一个组播组的组播报文不会通过该其他端口从所述第一区域转发至所述第二区域,则本实施例能够实现对所述至少一个组播组的组播报文,从所述第一区域至所述第二区域的单向隔离。可见本实施例在物理隔离的两个区域之间,实现了对属于同一组播组的组播报文的隔离。本发明实施例在物理隔离的两个区域之间,实现对属于同一组播组的组播报文的隔离时,无需使得其中一个区域的RB不能正常工作,从而不会造成资源浪费。此外也无需通过配置的方式使得其中一个区域的所有RB加入到其他的组播组,而只需在两个区域连接的RB上对组播转发表项进行更改,因此操作起来也比较简便。在本发明实施例中,所述隔离指示可以包括在向所述RB600发送的TRILL协议报文中,例如在目前的TRILL协议报文中增加TLV格式的信息以携带所述隔离指示,因此本实施例的所述接收单元602具体用于接收TRILL协议报文;所述TRILL协议报文中包括TLV格式的所述隔离指示;所述处理单元603还用于从所述TRILL协议报文中获取所述隔离指示。在本发明实施例中,所述RB600也可以根据接收所述隔离指示的物理端口,获知需要在哪个端口上进行隔离。因此本实施例中,所述隔离指示为第一隔离指示;所述第一隔离指示用于指示对至少一个组播组进行隔离;所述接收单元602具体用于通过所述第一物理端口601接收所述第一隔离指示。也就是说所述RB600接收到的所述第一隔离指示中并没有指示出在哪个端口上进行隔离,而所述RB600根据接收所述第一隔离指示的物理端口,也就是所述第一物理端口601,获知需要在所述第一物理端口601上进行隔离。为了能够进一步使得所述至少一个组播组的组播报文,不会通过所述第一物理端口601从所述第二区域转发至所述第一区域,即实现双向隔离。本实施例中,所述RB600还可以包括发送单元;所述第一物理端口601具体用于与另一RB的第二物理端口物理连接,其中所述另一RB位于所述第二区域。所述发送单元用于向所述第二物理端口发送第二隔离指示,所述第二隔离指示用于指示所述另一RB对所述至少一个组播组进行隔离,从而可以使得所述另一RB生成不包括所述第二物理端口的所述至少一个组播组的组播转发表项,以实现所述另一RB不会将所述至少一个组播组的组播报文通过所述第二物理端口转发至所述第一区域。其中,所述发送单元可以是具体用于,所述接收单元602接收到所述隔离指示后,向所述第二物理端口发送所述第二隔离指示。所述隔离指示可以是所述RB600接收到的其他设备发送的所述隔离指示,也可以是用户在所述RB600上通过输入命令等方式对所述RB600进行配置后,所述RB600接收到所述隔离指示。其中,所述第二RB可以通过执行以下步骤生成不包括所述第二物理端口的所述至少一个组播组的组播转发表项:所述第二RB通过所述第二物理端口接收所述第二隔离指示,所述第二RB获取所述第二RB上所述至少一个组播组的所有出接口;所述第二RB从所述第二RB上所述至少一个组播组的所有出接口中删除所述第二物理端口,以在所述第二RB上生成所述至少一个组播组中每个组播组的组播转发表项。在本发明实施例中,在配置了对所述至少一个组播组的隔离之后,还可以解除该隔离,从而使所述RB600恢复向所述第二区域转发所述至少一个组播组的组播报文的功能。具体实现方式是,所述接收单元602还用于接收隔离解除指示,所述隔离解除指示用于指示在所述第一物理端口601上对所述至少一个组播组解除隔离;所述处理单元603还用于根据所述接收单元接收的所述隔离解除指示,获取所述至少一个组播组中每个组播组的组播转发表项,将所述第一物理端口601作为出接口添加在每个获取到的组播转发表项中。在本发明实施例中,对于不同的rootRB,所述RB600上所述至少一个组播组的所有出接口可能不同。例如当第七RB和第八RB加入到一个组播组VLAN100时,若rootRB为第三RB,所述RB600上VLAN100的所有出接口可能包括port2和port3;若rootRB为所述RB600时,所述RB600上VLAN100的所有出接口可能包括port2和port4。因此,本实施例的所述处理单元603还用于,获取所述TRILL网络的至少一个根RB;当获取所述RB600上所述至少一个组播组的所有出接口,以及从所述所有出接口中删除所述第一物理端口601,以生成所述至少一个组播组中每个组播组的组播转发表项时,所述处理单元603具体用于获取所述至少一个根RB中每个根RB分别对应的,所述RB600上所述至少一个组播组的所有出接口,以及从每个所述根RB分别对应的,所述RB600上所述至少一个组播组的所有出接口中,分别删除所述第一物理端口601,以生成每个所述根RB分别对应的所述至少一个组播组中每个组播组的组播转发表项。上面从模块化功能实体的角度对本发明实施例中的所述第一RB的装置实施例进行描述。下面将从硬件处理的角度对本发明实施例中的所述第一RB的装置实施例进行描述。请参阅图7,本发明实施例提供了RB的另一种装置实施例。本实施例中,TRILL网络包括物理隔离的第一区域和第二区域,所述RB700位于所述第一区域中,通过所述RB700的第一物理端口与所述第二区域物理连接。本实施例的所述RB700具体包括:处理器(processor)701、通信接口(CommunicationsInterface)702、存储器(memory)703和通信总线704。处理器701,通信接口702,存储器703通过总线704完成相互间的通信。处理器701,用于执行程序705。具体地,程序705可以包括程序代码,所述程序代码包括计算机操作指令。处理器701可能是一个中央处理器(英文:CentralProcessingUnit,简称:CPU),或者是专用集成电路(英文:ApplicationSpecificIntegratedCircuit,简称:ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。存储器703,用于存放程序705。存储器703可能包含高速RAM存储器,也可能还包括非易失性存储器(英文:non-volatilememory),例如至少一个磁盘存储器。程序705用于执行以下步骤:接收隔离指示,所述隔离指示用于指示在所述第一物理端口上对至少一个组播组进行隔离;获取所述第一RB700上所述至少一个组播组的所有出接口;从所述所有出接口中删除所述第一物理端口,以生成所述至少一个组播组中每个组播组的组播转发表项。程序705中各步骤的具体实现参见图2所示实施例中各步骤的实现方式,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1