一种运营商骨干网桥接网络中处理组播报文的方法和装置的制作方法

文档序号:7760677阅读:164来源:国知局
专利名称:一种运营商骨干网桥接网络中处理组播报文的方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种运营商骨干网桥接(PBB)网络中处理组播报文的方法和装置。
背景技术
MinM(MAC-in-MAC)协议由IEEE 802. Iah所定义,又称为运营商骨干网桥接(PBB, Provider Backbone Bridge)协议。作为一种二层虚拟专用网络(VPN, Virtual Private Network)技术,它通过MAC地址嵌套,将用户MAC地址封装在运营商MAC地址之中,从而对不同的用户业务进行隔离。如图1所示,在一个典型的PBB网络中通常包括两类设备骨干网核心桥接(BCB, Backbone Core Bridge)设备和骨干网边缘桥接(BEB,BackboneEdge Bridge)设备。其中, BEB设备负责将来自接入线路(AC)的报文进行MinM封装后发送给后续的BCB设备,并将来自BCB设备的MinM报文进行解封装还原成标准以太网报文,再次查表找到对应的出端口发送。BCB设备负责将收到的MinM报文按照外层MAC标签转发。在BCB设备上只需要对报文进行简单的桥接处理,学习骨干网中的MAC地址,而不需要学习客户网络中的大量MAC地址,因而降低了网络部署的成本,而且也为PBB网络提供了更好的可扩展性。MinM技术提供以太网传送业务主要是基于MinM隧道的单播业务,对于组播业务目前主要存在两种方法第一种方法直接将组播报文作为广播处理,报文将在PBB网络的MinM域中广播。第二种方法CE设备向与其相连的BEB设备发送IGMP加入报文请求加入指定的私网组播组;该BEB设备接收到IGMP加入报文后,分配公网组播地址并建立公网组播地址和私网组播地址的映射关系,并将IGMP加入报文扩展为携带私网组播地址和公网组播地址的IGMP扩展加入报文并由BCB设备发送到组播源所在BEB设备。IGMP加入报文在转发过程中,沿途建立公网组播地址的转发表。组播源所在BEB设备接收到IGMP扩展加入报文后,建立公网组播地址转发表,并建立公网组播地址和私网组播地址的映射关系;组播源所在的BEB设备将IGMP扩展加入报文恢复为IGMP加入报文后转发给组播源所在CE设备。在上述第一种方式中,将组播报文当作广播报文在处理,组播报文在PBB实例内广播,没有组播接收者的BEB设备也会收到组播报文,并将报文转发给本地所有CE设备,造成了 PBB公网和用户私网的带宽浪费。第二种方式中,虽然不存在广播的问题,但如果不同的BEB设备下都存在私网组播地址的接收者CE时,每个BEB设备都要分配公网组播地址并建立映射私网组播组和公网地址的映射关系,同时将扩展后的IGMP扩展加入报文在PBB BVLAN中广播。到达组播源所在的BEB设备后,组播源所在BEB设备会接收到多份IGMP扩展加入报文,如果各个BEB分配的公网组播地址不相同,则组播源所在的BEB设备上将会创建统一私网组播地址到多个公网组播地址的映射,同时PBB BVLAN公网上会建立多个公网组播地址的转发表。这就会带来以下缺陷组播源所在的BEB设备接收到来自AC的组播报文后,会根据私网组播地址对应的多个公网组播地址,将组播报文封装多份,并按照公网组播地址发送到公网,这样后续BEB设备就可能接收到多份组播流量,相应的CE接收者也会接收到多份组播流量,这显然是用户无法接受的。同时,若各接收私网组播IGMP报文的BEB设备主动分配公网组播地址,会非常容易耗费公网组播地址资源,在没有任何组播流量的情况下公网侧就可能已经建立了大量的公网组播地址转发表,造成了公网组播隧道和公网组播地址转发表的无效使用。

发明内容
本发明提供了一种PBB网络中处理组播报文的方法和装置,以便于避免PBB网络中冗余的组播流量。一种运营商骨干网桥接PBB网络中处理组播报文的方法,该方法包括骨干网边缘桥接BEB设备接收到PBB实例中来自本地用户网络边缘CE设备的私网组播因特网组管理协议IGMP加入报文时,将接收所述私网组播IGMP加入报文的接口加入所述PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表, 并在所述私网组播IGMP加入报文中携带PBB实例号后在所述PBB实例中广播;从PBB网络接收到所述私网组播IGMP加入报文的BEB设备保存三元组信息,该三元组信息中包含所述PBB实例号、所述私网组播地址和接收所述私网组播IGMP加入报文的PW信息;接收到来自本地CE的所述私网组播地址对应的组播流的BEB设备,如果本地不存在所述私网组播地址被分配的公网组播地址的公网组播转发表,则将所述组播流在所述 PBB实例中进行广播,且为所述私网组播地址分配公网组播地址,记录所述私网组播地址和所述公网组播地址的映射关系,并按照本地记录的所述三元组信息发送携带所述私网组播地址和公网组播地址的组播域MD报文;接收到所述MD报文的BEB设备记录所述私网组播地址和公网组播地址的映射关系,并在本地存在所述私网组播地址的私网组播转发表时,向组播源所在的BEB设备发送携带所述公网组播地址的公网组播IGMP加入报文;接收到所述公网组播IGMP加入报文的BEB设备如果记录有所述映射关系,则建立或更新所述公网组播地址的公网组播转发表。一种骨干网边缘桥接BEB设备,该BEB设备包括用户侧收发单元、私网组播表维护单元、网络侧收发单元、三元组建立单元、第一判断处理单元、公网地址分配单元、第二判断处理单元、第三判断处理单元和公网组播表维护单元;所述用户侧收发单元,用于接收到运营商骨干网桥接PBB实例中来自本地用户网络边缘CE设备的私网组播IGMP加入报文后,将该私网组播IGMP加入报文携带的私网组播地址通过加入通知发送给私网组播表维护单元;接收到来自本地CE设备的组播流后,将组播流对应的私网组播地址提供给第一判断处理单元;所述私网组播表维护单元,用于利用接收到的加入通知携带的私网组播地址,将接收所述用户侧收发单元接收私网组播IGMP加入报文的接口加入所述私网组播地址对应的私网组播转发表;所述网络侧收发单元,用于在所述私网组播IGMP加入报文中携带所述PBB实例后在所述PBB实例中广播;从PBB网络接收到私网组播IGMP加入报文后,将私网组播IGMP加入报文中携带的PBB实例号和私网组播地址提供给三元组建立单元;接收到所述公网地址分配单元提供的映射关系后,按照所述三元组建立单元记录的三元组信息,发送携带该映射关系的私网组播地址和公网组播地址的组播域MD报文;接收到MD报文后,将MD报文中携带的私网组播地址和公网组播地址提供给所述公网地址分配单元和第二判断处理单元; 向组播源所在的BEB设备发送所述第二判断处理单元提供的公网组播IGMP加入报文;接收到公网组播IGMP加入报文后,将公网组播IGMP加入报文中携带的公网组播地址提供给第三判断处理单元;所述三元组建立单元,用于利用接收到的PBB实例号和私网组播地址保存三元组信息,该三元组信息中包含PBB实例号、私网组播地址和所述网络侧收发单元接收私网组播IGMP加入报文的PW信息;所述第一判断处理单元,用于接收到所述用户侧收发单元提供的私网组播地址后,判断该BEB设备本地是否已经存在该私网组播地址被分配的公网组播地址的公网组播转发表,如果否,向公网地址分配单元发送分配通知;所述公网地址分配单元,用于接收到分配通知后,为所述组播流的私网组播地址分配公网组播地址,并记录私网组播地址和公网组播地址的映射关系,将该映射关系提供给所述网络侧收发单元;记录所述网络侧收发单元提供的公网组播地址和私网组播地址的映射关系;所述第二判断处理单元,用于判断该BEB设备本地是否存在所述网络侧收发单元提供来的私网组播地址的私网组播转发表,如果是,将所述网络侧收发单元提供的公网组播地址携带在公网组播IGMP加入报文中发送给网络侧收发单元;所述第三判断处理单元,用于判断所述网络侧收发单元提供的公网组播地址是否存在于所述公网地址分配单元记录的映射关系中,如果存在,将该公网组播地址提供给公网组播表维护单元;所述公网组播表维护单元,用于建立或更新接收到的公网组播地址的公网组播转发表。由以上技术方案可以看出,通过本发明提供的方法,只有组播源所在的BEB设备为私网组播地址分配公网组播地址,并将该公网组播地址在PBB实例中发布,使得PBB网络中的各BEB上存在统一的私网组播地址和公网组播地址之间的映射关系,从而使得各BEB 设备上一个私网组播地址仅对应一个公网组播地址转发表,按照公网组播地址转发表进行组播流量转发时,不会产生冗余广播流量。另外,本发明中公网组播地址在发布过程中,PBB实例中的各BEB设备会记录私网组播地址和公网组播地址之间的映射关系,在利用接收到的公网组播IGMP加入报文形成公网组播转发表时,只有存在映射关系的BEB设备才会建立公网组播转发表,从而保证了只有组播有效路径上的BEB设备才会建立起公网组播转发表,更进一步避免了冗余组播流
量的产生。


图1为一个典型的PBB组播示意图2为本发明提供的主要方法流程图;图3为私网组播IGMP报文的洪泛过程流程图;图4为扩展后的IGMP报文格式示意图;图5为图3所示流程对应的网络实例图;图6为公网组播地址的发布以及公网组播转发表的形成过程流程图;图7为图6所示流程对应的网络实例图;图8为本发明提供的BEB设备的结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的主要方法可以如图2所示,主要包括以下步骤步骤201 =BEB设备接收到PBB实例中来自本地CE设备的私网组播IGMP加入报文时,将接收该私网组播IGMP加入报文的接口加入PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表,并在私网组播IGMP加入报文中携带PBB实例号后在PBB实例中广播。步骤202 从PBB网络接收到私网组播IGMP加入报文的BEB设备保存三元组信息, 该三元组信息中包含PBB实例号、私网组播地址和接收私网组播IGMP加入报文的PW信
肩、ο步骤203 接收到来自本地CE的上述私网组播地址对应的组播流的BEB设备,如果本地不存在私网组播地址所对应公网组播地址的公网组播转发表,则将该组播流在PBB 实例中进行广播,且为该私网组播地址分配公网组播地址,记录私网组播地址和公网组播地址的映射关系,并按照记录的三元组信息发送携带私网组播地址和公网组播地址的MD 报文。如果本地已经存在私网组播地址所对应公网组播地址的公网组播转发表,则按照该私网组播地址对应的公网组播转发表进行转发。步骤204 接收到MD报文的BEB设备记录私网组播地址和公网组播地址的映射关系,并在本地存在该私网组播地址的私网组播转发表时,向组播源所在的BEB设备发送携带公网组播地址的公网组播IGMP加入报文。步骤205 接收到公网组播IGMP加入报文的BEB设备如果存在包含该公网组播地址的映射关系,则建立或更新该公网组播地址的公网组播转发表。另外,组播源所在的BEB设备在利用上述方法建立公网组播转发表后,就可以将接收到的上述组播流切换到上述建立的公网组播转发表对应的公网组播转发树上,从而使后续组播流能够按照公网组播转发路径进行转发。实际上,本发明提供的上述方法可以分解为几个具体的过程1)私网组播IGMP报文的洪泛过程;幻公网组播地址的发布以及公网组播转发表的形成过程;幻组播流量的转发过程。下面将分解后的上述过程分别进行详细描述。图3为私网组播IGMP报文的洪泛过程流程图,如图3所示,该过程可以具体包括以下步骤
9
步骤301 =BEB设备接收到某PBB实例中来自本地CE设备的私网组播IGMP加入报文后,判断该BEB设备本地是否已经存在该PBB实例中该私网组播IGMP加入报文所携带私网组播地址的私网组播转发表,如果不存在,执行步骤302 ;如果存在,执行步骤303。步骤302 在该BEB设备本地建立该PBB实例中上述私网组播地址的私网组播转发表,执行步骤303。步骤303 将接收私网组播IGMP加入报文的入接口添加到该私网组播地址对应的出接口列表中。 步骤304 将该PBB实例信息携带在该私网组播IGMP加入报文中,并将携带PBB实例信息的私网组播IGMP加入报文在该PBB实例中广播。较优地,步骤304可以在只有私网组播地址不存在时才执行。本步骤中,可以对私网组播IGMP加入报文进行扩展,通过扩展字段来携带PBB实例信息,扩展后的IGMP报文格式可以如图4所示,其中,组播组地址字段用于携带私网组播地址,实例号(I-SID)字段为扩展字段,用于携带PBB实例信息。该私网组播IGMP加入报文在该PBB实例中进行广播时,进行MinM封装后发送给该PBB实例的所有对端BCB设备。步骤305 =BCB设备对接收到的私网组播IGMP加入报文进行透传。由于BCB设备接收到的私网组播IGMP加入报文是封装了 MinM隧道头的报文,BCB 设备不会对该报文进行解析,仅执行转发处理。步骤306 其它BEB设备从PBB网络中接收到私网组播IGMP加入报文后,保存PBB 实例、私网组播地址以及接收该私网组播IGMP加入报文的PW信息之间的对应关系。BEB设备接收到BCB设备透传来的或者其它BEB设备发送来的私网组播IGMP加入报文后,进行解MinM封装,然后对解封装后的报文进行解析,获取其中携带的PBB实例信息和私网组播地址,在本地存储一个三元组(实例号,私网组播地址,接收该私网组播IGMP加入报文的PW信息),该三元组用于后续公网组播地址的发布过程,在后续描述中将会涉及。下面举一个具体的例子对图3所示流程进行说明。以图5所示网络架构为例,假设实例PBBl中的CEll向BEBl发送私网组播IGMP加入报文,请求加入私网组播地址为 224. 1. 1. 1的私网组播组。BEBl接收到该私网组播IGMP加入报文后,在本地建立PBBl下224. 1. 1. 1的私网组播转发表,将入接口加入私网组播转发表中224. 1. 1. 1对应的出接口列表。BEBl将PBBl 的实例号携带在私网组播IGMP加入报文的扩展字段中在PBBl实例中广播。需要说明的是,BEB设备在向PBB网络发送报文时都需要进行MinM封装,BEB设备从PBB设备接收报文时,都需要进行MinM解封装,由于此过程为现有技术,在后续实施例中不再一一赘述。假设BCB2和BCBl是BEBl的PBBl实例的对端设备,BCBl将该私网组播IGMP加入报文进行透传,透传给BEB2,BCB2将该私网组播IGMP加入报文进行透传,透传给BEB4。BEB4从接收到的私网组播IGMP加入报文中获取实例号PBBl和私网组播地址 224. 1. 1. 1,并建立三元组(PBBL224. 1. 1. 1,BEB1),该三元组中接收私网组播IGMP加入报文的PW信息是以PW对端来标识的,在PBB网络中相当于源MAC,即PW对端为BEB1。同理,BEB3上建立三元组(PBB1,224. 1. 1. 1,BEB4)。在BEB2上则存在两条三元组(PBB1, 224. 1. 1. 1, BEB1)禾口 (PBB1,224. 1. 1. 1,BEB4)。
经过上述私网组播IGMP加入报文的洪泛过程后,PBB实例中的各BEB设备上均存在接收者要加入的私网组播组地址信息,即PBB实例信息、私网组播组地址以及接收该私网组播IGMP加入报文的PW信息之间的对应关系。图6为公网组播地址的发布以及公网组播转发表的形成过程流程图,如6所示,该过程可以具体包括以下步骤步骤601 :BEB设备接收到来自本地CE设备的组播流时,判断该BEB设备是否已经存在该组播流的私网组播地址对应的公网组播转发表,如果是,执行步骤602;否则,执行步骤603。步骤602 按照该组播流的私网组播地址对应的公网组播转发表转发该组播流, 结束该BEB设备的转发流程。如果在BEB设备本地已经存在该组播流的私网组播地址对应的公网组播转发表, 则说明不是首次接收到该私网组播地址的组播流,直接按照公网组播转发表进行转发即可。另外,需要说明的是,如果接收到来自本地CE设备的组播流,还会查询本地是否存在包含该组播流的私网组播地址的私网组播转发表,即确定是否存在本地组播流接收者,如果存在,则复制与本地组播流接收者相同份数的组播流,按照本地的私网组播转发表转发给本地组播流接收者。步骤603 将该组播流在对应的PBB实例中广播。如果在BEB设备本地尚未存在该组播流的私网组播地址对应的公网组播转发表, 则说明首次接收到该私网组播地址的组播流,需要在PBB网络中进行公网组播地址的分配和公网组播转发表的建立。步骤604 如果尚未为该组播流的私网组播地址分配公网组播地址,则为该私网组播地址分配一个公网组播地址,记录私网组播地址和公网组播地址之间的映射关系,并在该PBB实例中按照私网组播地址对应的PW信息广播组播域(MD,Multicast Domain)报文,该MD报文中携带私网组播地址和分配的公网组播地址信息。在私网组播IGMP加入报文的洪泛过程中,在PBB实例中的各BEB设备上,均已经保存了 PBB实例、私网组播地址以及接收该私网组播IGMP加入报文的PW信息之间的对应关系,在发送MD报文时,就按照该私网组播地址对应的PW进行发送。步骤605 其它各BEB设备从PBB网络中接收到MD报文时,从该MD报文中解析出私网组播地址和为该私网组播地址分配的公网组播地址,记录私网组播地址和公网组播地址之间的映射关系。步骤606 判断本地是否存在该私网组播地址对应的私网组播转发表,如果存在, 则执行步骤607 ;如果不存在,则丢弃该MD报文。步骤607 向组播源所在的BEB设备发送携带解析出的公网组播地址的公网组播 IGMP加入报文。本步骤中,可以在公网中以单播方式向组播源所在的BEB设备发送公网组播IGMP 加入报文,这是较优的方式,也可以在PBB实例中广播该公网组播IGMP加入报文。步骤608 =BCB设备接收到该公网组播IGMP加入报文后,建立公网组播转发表,即将接收该公网组播IGMP加入报文的接口加入该公网组播地址对应的出接口列表,然后继续向组播源所在的BEB设备转发该公网组播IGMP加入报文。需要特别说明的是,上述的私网IGMP加入报文和MD报文均是MinM封装的报文, 因此,BCB均进行透传处理。而在本发明中,公网组播IGMP加入报文并不采用MinM封装的报文,而是普通的报文,因此,在BCB设备接收到该公网组播IGMP加入报文后,会利用该公网组播IGMP加入报文建立公网组播转发表。步骤609 其它BEB设备接收到该公网组播IGMP加入报文后,在本地建立该公网组播地址的公网组播转发表,并继续转发该IGMP加入报文直至组播源所在的BEB设备。建立该公网组播地址的公网组播转发表,即将接收公网组播IGMP加入报文的接口加入该公网组播地址对应的出接口列表。这样,从组播报文的接收者所在的BEB设备直至组播源所在的BEB设备上,以及接收路径上的BCB设备上,都建立了公网组播转发表。当以图5所示进行了私网组播IGMP加入报文的洪泛之后,如果BEB2设备连接组播源,假设组播源为本地的CE21,当BEB2接收到组播源发送的组播流时,如图7所示,BEB2 确定本地尚未在PBB 1下建立224. 1. 1. 1对应的公网组播转发表,则对该组播流在PBBl下进行广播,与此同时,为224. 1. 1. 1分配一个公网组播地址239. 1. 1. 1,记录两者之间的映射关系,并按照洪泛过程中保存的三元组发送携带224. 1. 1. 1和239. 1. 1. 1的MD消息。BEB3和BEBl接收到该MD消息后,保存224. 1. 1. 1和239. 1. 1. 1之间的映射关系。由于BEBl下存在该组播流的接收者,即在本地存在224. 1. 1. 1对应的私网组播转发表,因此会向组播源所在的BEB2回复携带239. 1. 1. 1的公网组播IGMP加入报文。较优地,该公网组播IGMP加入报文以单播形式发送,如果查找转发表得到匹配的表项,则以单播形式发送给BEB2,假设如图7所示,BEBl将公网组播IGMP加入报文发送给BCBl ;如果 BEBl查找转发表项没有得到匹配的表项,则在PBB实例中广播该公网组播IGMP加入报文 (BCB1与BCB2均能收到该公网组播IGMP加入报文,BCB2将该公网组播IGMP加入报文发送至BEB2的方式与BCBl相同)。图7中,BEBl以单播形式发送公网组播IGMP加入报文为例。需要说明的是,在PBB网络中,会针对公网组播使能避免环路的机制,例如使能MSTP机制,这样即便BEB2设备会从多条路径接收到公网组播IGMP加入报文,便BEB2也会选取一条建立公网组播转发树,该部分为现有机制,不再详细赘述。BCBl接收到公网组播IGMP加入报文后,建立239. 1. 1. 1对应的公网组播转发表, 并继续以单播形式转发该公网组播IGMP加入报文。BEB2接收到公网组播IGMP加入报文后,由于在本地存在224. 1. 1. 1和239. 1. 1. 1 之间的映射关系,因此,在本地建立239. 1. 1. 1对应的公网组播转发表。此时,就可以将组播流切换至公网组播转发表对应的组播转发树上,即开始按照公网组播转发表进行组播流的转发。图7中虚线箭头为MD报文的发送路径,实线箭头为公网组播IGMP加入报文的发
送路径。后续的组播流量的转发过程可以为按照建立的公网组播转发表进行转发,即由广播发送转为组播发送。即,各BEB设备和BCB设备接收到组播流后,按照该组播流的私网组播地址对应的公网组播转发表进行报文转发;同时,如果BEB设备在本地存在组播流对应的私网组播转发表,则说明在本地具有接收者,则将组播流复制一份后按照本地的私网组播转发表转发给本地CE设备。如果在公网组播转发表建立之后,BEB4下出现新的组播接收者,例如CE41请求加入224. 1. 1. 1的私网组播组,BEB4接收到CE41发送的私网组播IGMP加入报文后,在本地建立私网组播转发表。另外,由于BEB4本地已经存在224. 1. 1. 1与公网组播地址239. 1. 1. 1 之间的映射关系,BEB4可以直接以单播方式向BEB2发送携带239. 1. 1. 1的公网组播IGMP 加入报文,从而在239. 1. 1. 1对应的出接口列表中增加接口,将组播流量引致CE41。也就是说,接收到来自本地CE的私网组播IGMP加入报文的BEB设备,会首先判断本地是否已经存在包含该私网组播地址的映射关系,如果存在,则向组播源所在的BEB设备发送携带该映射关系中公网组播地址的公网组播IGMP加入报文;如果不存在,则按照图3中的流程开始建立私网组播转发表。如果某个组播流接收者需要退出私网组播组,则会向连接的BEB设备发送私网组播IGMP离开报文,该私网组播IGMP离开报文中包含要退出的私网组播地址。BEB设备接收到私网组播IGMP离开报文后,更新私网组播转发表,即将接收该私网组播IGMP离开报文的入接口从私网组播地址对应的出接口列表中删除。当该私网组播地址对应的出接口列表为空时,删除该私网组播地址的私网组播转发表,并向组播源所在的BEB设备发送公网组播IGMP离开报文。同样,可以以单播的形式发送该公网组播IGMP 离开报文,也可以以广播的形式在PBB实例中广播该公网组播IGMP离开报文,这与公网组播IGMP加入报文相似。其它BEB设备接收到私网组播IGMP离开报文后,如果本地存在该私网组播地址对应的私网组播转发表,则删除本地保存的该私网组播地址的三元组。如果接收到公网组播 IGMP离开报文,将接收该公网组播IGMP离开报文的入接口从公网组播地址对应的公网组播转发表中删除。这样组播流就不会转发至没有组播接收者的BEB设备。另外,当BEB设备上的PBB实例状态由UP变为DOWN时,需要在该PBB实例中广播该PBB实例下所有公网组播地址的公网组播IGMP离开报文。以上是对本发明所提供方法进行的详细描述,下面对本发明所提供的BEB设备进行详细描述。图8为本发明提供的BEB设备的结构示意图,如图8所示,该BEB设备可以包括 用户侧收发单元800、私网组播表维护单元801、网络侧收发单元802、三元组建立单元803、 第一判断处理单元804、公网地址分配单元805、第二判断处理单元806、第三判断处理单元 807和公网组播表维护单元808。用户侧收发单元800,用于接收到PBB实例中来自本地CE设备的私网组播IGMP加入报文后,将该私网组播IGMP加入报文携带的私网组播地址通过加入通知发送给私网组播表维护单元801 ;接收到来自本地CE设备的组播流后,将组播流对应的私网组播地址提供给第一判断处理单元804。私网组播表维护单元801,用于利用接收到的加入通知携带的私网组播地址,将接收用户侧收发单元800接收私网组播IGMP加入报文的接口加入所述私网组播地址对应的私网组播转发表。网络侧收发单元802,用于在私网组播IGMP加入报文中携带PBB实例后在PBB实例中广播;从PBB网络接收到私网组播IGMP加入报文后,将私网组播IGMP加入报文中携带的PBB实例号和私网组播地址提供给三元组建立单元803 ;接收到公网地址分配单元805 提供的映射关系后,按照三元组建立单元803记录的三元组信息,发送携带该映射关系的私网组播地址和公网组播地址的组播域MD报文;接收到MD报文后,将MD报文中携带的私网组播地址和公网组播地址提供给公网地址分配单元805和第二判断处理单元806 ;向组播源所在的BEB设备发送第二判断处理单元806提供的公网组播IGMP加入报文;接收到公网组播IGMP加入报文后,将公网组播IGMP加入报文中携带的公网组播地址提供给第三判断处理单元807。三元组建立单元803,用于利用接收到的PBB实例号和私网组播地址保存三元组信息,该三元组信息中包含PBB实例号、私网组播地址和网络侧收发单元802接收私网组播IGMP加入报文的PW信息。第一判断处理单元804,用于接收到用户侧收发单元800提供的私网组播地址后, 判断该BEB设备本地是否已经存在该私网组播地址被分配的公网组播地址的公网组播转发表,如果否,向公网地址分配单元805发送分配通知。公网地址分配单元805,用于接收到分配通知后,为组播流的私网组播地址分配公网组播地址,并记录私网组播地址和公网组播地址的映射关系,将该映射关系提供给网络侧收发单元802 ;记录网络侧收发单元802提供的公网组播地址和私网组播地址的映射关系。第二判断处理单元806,用于判断该BEB设备本地是否存在网络侧收发单元802提供来的私网组播地址的私网组播转发表,如果是,将网络侧收发单元802提供的公网组播地址携带在公网组播IGMP加入报文中发送给网络侧收发单元802。第三判断处理单元807,用于判断网络侧收发单元802提供的公网组播地址是否存在于公网地址分配单元805记录的映射关系中,如果存在,将该公网组播地址提供给公网组播表维护单元808。公网组播表维护单元808,用于建立或更新接收到的公网组播地址的公网组播转发表。另外,第一判断处理单元804,还可以用于如果判断出该BEB设备本地已经存在该私网组播地址被分配的公网组播地址的公网组播转发表,则向网络侧收发单元802发送流量转发通知。网络侧收发单元802,还用于接收到流量转发通知后,按照组播流量的私网组播地址对应的公网组播转发表进行转发。具体地,上述私网组播表维护单元801可以包括第一判断子单元8011和私网组播表维护子单元8012。第一判断子单元8011,用于接收到携带私网组播地址的加入通知后,判断是否已经建立PBB实例中该私网组播地址的私网组播转发表,如果否,向私网组播表维护子单元 8012发送建立通知;如果是,向私网组播维护子单元8012发送更新通知。私网组播表维护子单元8012,用于接收到建立通知后,建立PBB实例中该私网组播地址的私网组播转发表,并将用户侧收发单元800接收私网组播IGMP加入报文的接口加入私网组播转发表;接收到更新通知后,将用户侧收发单元800接收私网组播IGMP加入报文的接口加入私网组播转发表。
14
更进一步地,第二判断处理单元806,还用于判断出不存在网络侧收发单元802提供来的私网组播地址的私网组播转发表时,通知网络侧收发单元802丢弃接收到的MD报文。第三判断处理单元807,还用于判断出网络侧收发单元802提供的公网组播地址不存在于公网地址分配单元805记录的映射关系中时,通知网络侧收发单元802将接收到的公网组播IGMP加入报文继续向组播源所在的BEB设备转发。更优地,该BEB设备还可以包括第四判断处理单元809,用于接收用户侧收发单元800提供给私网组播表维护单元801的加入通知,判断公网地址分配单元805是否已经建立包含该加入通知所携带私网组播地址的映射关系,如果不存在,则将加入通知转发给私网组播表维护单元801 ;如果存在,则将已经建立的包含该私网组播地址的映射关系中对应的公网组播地址携带在公网组播IGMP加入报文中,将该公网组播IGMP加入报文提供给网络侧收发单元802。网络侧收发单元802,还用于将第四判断处理单元809提供的公网组播IGMP加入报文向组播源所在的BEB设备转发。该BEB设备还包括流量切换单元811,用于在公网组播表维护单元808建立公网组播转发表后,将来自本地CE设备的对应组播流切换到公网组播转发表对应的公网组播转发树上。另外,用户侧收发单元800,还可以用于接收到来自本地CE设备的私网组播IGMP 离开报文后,将私网组播IGMP离开报文中携带的私网组播地址通过删除通知提供给私网组播表维护单元801。私网组播表维护单元801,还用于接收到删除通知后,将用户侧收发单元800接收私网组播IGMP离开报文的接口从该私网组播地址的私网组播转发表中删除;如果该私网组播转发表中的出接口列表为空,则删除该私网组播转发表,并向公网地址分配单元805 发送携带该私网组播地址的离开通知。公网地址分配单元805,还用于确定离开通知携带的私网组播地址对应的公网组播地址,将该公网组播地址携带在公网组播IGMP离开报文中提供给网络侧收发单元802。网络侧收发单元802,还用于向组播源所在的BEB设备发送公网地址分配单元805 提供的公网组播IGMP离开报文。更优地,该BEB设备还可以包括实例维护单元810,用于在PBB实例由启动UP变为关闭DOWN时,将该PBB实例信息携带在离开通知中提供给公网地址分配单元805。公网地址分配单元805,还用于确定离开通知所携带PBB实例信息对应的所有公网组播地址,将确定的公网组播地址分别携带在公网组播IGMP离开报文中提供给网络侧收发单元802。另外,无论是从用户侧收发单元800或网络侧收发单元802收到组播流量,如果本地存在该组播流的私网组播地址对应的私网组播转发表,则会将组播流复制一份后,按照该私网组播转发表转发给本地的接收者CE设备,该部分为已有的功能单元,在此不再详述。由以上描述可以看出,本发明提供的方法和装置可以具备以下优点1)通过本发明提供的方法,只有组播源所在的BEB设备为私网组播地址分配公网组播地址,并将该公网组播地址在PBB实例中发布,使得PBB网络中的各BEB上存在统一的私网组播地址和公网组播地址之间的映射关系,从而使得各BEB设备上一个私网组播地址仅对应一个公网组播地址转发表,按照公网组播地址转发表进行组播流量转发时,不会产生冗余广播流量。另外,本发明中公网组播地址在发布过程中,PBB实例中的各BEB设备会记录私网组播地址和公网组播地址之间的映射关系,在利用接收到的公网组播IGMP加入报文形成公网组播转发表时,只有存在映射关系的BEB设备才会建立公网组播转发表并进行后续组播流量的转发,从而保证了只有组播有效路径上的BEB设备才会建立起公网组播转发表, 更进一步避免了冗余组播流量的产生。2)在本发明中,公网组播地址的分配是由组播流量触发的,因此,如果网络中不存在组播源,在该PBB网络中就不会存在为该组播源所对应私网组播地址分配的公网组播地址,各BEB设备上也就不会存在公网组播地址和该私网组播地址之间的对应关系,从而不会为该私网组播地址浪费公网地址,也不会占用BEB设备上的表项资源。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种运营商骨干网桥接PBB网络中处理组播报文的方法,其特征在于,该方法包括骨干网边缘桥接BEB设备接收到PBB实例中来自本地用户网络边缘CE设备的私网组播因特网组管理协议IGMP加入报文时,将接收所述私网组播IGMP加入报文的接口加入所述PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表,并在所述私网组播IGMP加入报文中携带PBB实例号后在所述PBB实例中广播;从PBB网络接收到所述私网组播IGMP加入报文的BEB设备保存三元组信息,该三元组信息中包含所述PBB实例号、所述私网组播地址和接收所述私网组播IGMP加入报文的PW fn息;接收到来自本地CE的所述私网组播地址对应的组播流的BEB设备,如果本地不存在所述私网组播地址被分配的公网组播地址的公网组播转发表,则将所述组播流在所述PBB实例中进行广播,且为所述私网组播地址分配公网组播地址,记录所述私网组播地址和所述公网组播地址的映射关系,并按照本地记录的所述三元组信息发送携带所述私网组播地址和公网组播地址的组播域MD报文;接收到所述MD报文的BEB设备记录所述私网组播地址和公网组播地址的映射关系,并在本地存在所述私网组播地址的私网组播转发表时,向组播源所在的BEB设备发送携带所述公网组播地址的公网组播IGMP加入报文;接收到所述公网组播IGMP加入报文的BEB设备如果记录有所述映射关系,则建立或更新所述公网组播地址的公网组播转发表。
2.根据权利要求1所述的方法,其特征在于,接收到来自本地CE的所述私网组播地址对应的组播流的BEB设备,如果本地存在所述私网组播地址被分配的公网组播地址的公网组播转发表,则按照该私网组播地址对应的公网组播转发表进行转发。
3.根据权利要求1所述的方法,其特征在于,在将接收所述私网组播IGMP加入报文的接口加入所述PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表之前,还包括判断本地是否已经建立所述PBB实例中所述私网组播地址的私网组播转发表,如果是,则继续执行所述将接收所述私网组播IGMP加入报文的接口加入所述 PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表;如果否,建立所述PBB实例中该私网组播IGMP加入报文所携带私网组播地址的私网组播转发表,并继续执行所述将接收所述私网组播IGMP加入报文的接口加入所述PBB实例中该私网组播IGMP加入报文所携带私网组播地址对应的私网组播转发表。
4.根据权利要求1所述的方法,其特征在于,所述PBB网络中的骨干网核心桥接BCB设备对接收到的私网组播IGMP加入报文进行透传;接收到所述公网组播IGMP加入报文后,在本地建立或更新所述公网组播地址的公网组播转发表,并继续转发所述公网组播IGMP加入报文给组播源所在的BEB设备。
5.根据权利要求1所述的方法,其特征在于,接收到所述MD报文的BEB设备如果确定本地不存在所述私网组播地址的私网组播转发表时,在记录所述私网组播地址和公网组播地址的映射关系后,丢弃所述MD报文;接收到所述公网组播IGMP加入报文的BEB设备如果没有记录所述映射关系,则继续将所述公网组播IGMP加入报文向组播源所在的BEB设备转发。
6.根据权利要3所述的方法,其特征在于,在判断本地是否已经建立所述PBB实例中所述私网组播地址的私网组播转发表之前,还包括判断本地是否已经存在包含所述私网组播地址的映射关系,如果存在,则直接向组播源所在的BEB设备发送公网组播IGMP加入报文,该公网组播IGMP加入报文中携带已经存在的映射关系中的公网组播地址;如果不存在,则继续执行断本地是否已经建立所述PBB实例中所述私网组播地址的私网组播转发表的步骤。
7.根据权利要求1至6任一权项所述的方法,其特征在于,组播源所在的BEB设备利用接收到的公网组播IGMP加入报文建立所述公网组播转发表后,将所述组播流切换到所述公网组播转发表对应的公网组播转发树上。
8.根据权利要求1至6任一权项所述的方法,其特征在于,如果BEB设备接收到来自本地CE设备的包含所述私网组播地址的私网组播IGMP离开报文,将接收该私网组播IGMP 离开报文的接口从该私网组播地址的私网组播转发表中删除;如果所述私网组播地址中的出接口列表为空,则删除所述私网组播地址的私网组播转发表,并向组播源所在的BEB设备发送携带对应公网组播地址的公网组播IGMP离开报文;接收到所述私网组播IGMP离开报文的BEB设备,如果本地存在所述PBB实例中所述私网组播地址的私网组播转发表,则删除本地记录的所述私网组播地址对应的三元组信息;接收到所述公网组播IGMP离开报文的BEB设备,将接收该公网组播IGMP离开报文的接口从所述公网组播地址的公网组播转发表中删除。
9.根据权利要求8所述的方法,其特征在于,当BEB设备上的所述PBB实例状态由启动 UP变为关闭DOWN,则广播所述PBB实例下所有公网组播地址的公网组播IGMP离开报文。
10.一种骨干网边缘桥接BEB设备,其特征在于,该BEB设备包括用户侧收发单元、私网组播表维护单元、网络侧收发单元、三元组建立单元、第一判断处理单元、公网地址分配单元、第二判断处理单元、第三判断处理单元和公网组播表维护单元;所述用户侧收发单元,用于接收到运营商骨干网桥接PBB实例中来自本地用户网络边缘CE设备的私网组播IGMP加入报文后,将该私网组播IGMP加入报文携带的私网组播地址通过加入通知发送给私网组播表维护单元;接收到来自本地CE设备的组播流后,将组播流对应的私网组播地址提供给第一判断处理单元;所述私网组播表维护单元,用于利用接收到的加入通知携带的私网组播地址,将接收所述用户侧收发单元接收私网组播IGMP加入报文的接口加入所述私网组播地址对应的私网组播转发表;所述网络侧收发单元,用于在所述私网组播IGMP加入报文中携带所述PBB实例后在所述PBB实例中广播;从PBB网络接收到私网组播IGMP加入报文后,将私网组播IGMP加入报文中携带的PBB实例号和私网组播地址提供给三元组建立单元;接收到所述公网地址分配单元提供的映射关系后,按照所述三元组建立单元记录的三元组信息,发送携带该映射关系的私网组播地址和公网组播地址的组播域MD报文;接收到MD报文后,将MD报文中携带的私网组播地址和公网组播地址提供给所述公网地址分配单元和第二判断处理单元;向组播源所在的BEB设备发送所述第二判断处理单元提供的公网组播IGMP加入报文;接收到公网组播IGMP加入报文后,将公网组播IGMP加入报文中携带的公网组播地址提供给第三判断处理单元;所述三元组建立单元,用于利用接收到的PBB实例号和私网组播地址保存三元组信息,该三元组信息中包含PBB实例号、私网组播地址和所述网络侧收发单元接收私网组播 IGMP加入报文的PW信息;所述第一判断处理单元,用于接收到所述用户侧收发单元提供的私网组播地址后,判断该BEB设备本地是否已经存在该私网组播地址被分配的公网组播地址的公网组播转发表,如果否,向公网地址分配单元发送分配通知;所述公网地址分配单元,用于接收到分配通知后,为所述组播流的私网组播地址分配公网组播地址,并记录私网组播地址和公网组播地址的映射关系,将该映射关系提供给所述网络侧收发单元;记录所述网络侧收发单元提供的公网组播地址和私网组播地址的映射关系;所述第二判断处理单元,用于判断该BEB设备本地是否存在所述网络侧收发单元提供来的私网组播地址的私网组播转发表,如果是,将所述网络侧收发单元提供的公网组播地址携带在公网组播IGMP加入报文中发送给网络侧收发单元;所述第三判断处理单元,用于判断所述网络侧收发单元提供的公网组播地址是否存在于所述公网地址分配单元记录的映射关系中,如果存在,将该公网组播地址提供给公网组播表维护单元;所述公网组播表维护单元,用于建立或更新接收到的公网组播地址的公网组播转发表。
11.根据权利要求10所述的BEB设备,其特征在于,所述第一判断处理单元,还用于如果判断出该BEB设备本地已经存在该私网组播地址被分配的公网组播地址的公网组播转发表,则向所述网络侧收发单元发送流量转发通知;所述网络侧收发单元,还用于接收到所述流量转发通知后,按照所述组播流量的私网组播地址对应的公网组播转发表进行转发。
12.根据权利要求10所述的BEB设备,其特征在于,所述私网组播表维护单元具体包括第一判断子单元和私网组播表维护子单元;所述第一判断子单元,用于接收到携带私网组播地址的加入通知后,判断是否已经建立所述PBB实例中该私网组播地址的私网组播转发表,如果否,向所述私网组播表维护子单元发送建立通知;如果是,向所述私网组播维护子单元发送更新通知;所述私网组播表维护子单元,用于接收到建立通知后,建立所述PBB实例中该私网组播地址的私网组播转发表,并将所述用户侧收发单元接收私网组播IGMP加入报文的接口加入所述私网组播转发表;接收到更新通知后,将所述用户侧收发单元接收私网组播IGMP 加入报文的接口加入所述私网组播转发表。
13.根据权利要求10所述的BEB设备,其特征在于,所述第二判断处理单元,还用于判断出不存在所述网络侧收发单元提供来的私网组播地址的私网组播转发表时,通知所述网络侧收发单元丢弃接收到的MD报文;所述第三判断处理单元,还用于判断出所述网络侧收发单元提供的公网组播地址不存在于所述公网地址分配单元记录的映射关系中时,通知所述网络侧收发单元将接收到的公网组播IGMP加入报文继续向组播源所在的BEB设备转发。
14.根据权利要求10所述的BEB设备,其特征在于,该BEB设备还包括第四判断处理单元,用于接收所述用户侧收发单元提供给所述私网组播表维护单元的加入通知,判断所述公网地址分配单元是否已经建立包含该加入通知所携带私网组播地址的映射关系,如果不存在,则将所述加入通知转发给所述私网组播表维护单元;如果存在,则将已经建立的包含该私网组播地址的映射关系中对应的公网组播地址携带在公网组播IGMP加入报文中, 将该公网组播IGMP加入报文提供给网络侧收发单元;所述网络侧收发单元,还用于将所述第四判断处理单元提供的公网组播IGMP加入报文向组播源所在的BEB设备转发。
15.根据权利要求10至14任一权项所述的BEB设备,其特征在于,该BEB设备还包括 流量切换单元,用于在所述公网组播表维护单元建立所述公网组播转发表后,将所述来自本 地CE设备的组播流切换到所述公网组播转发表对应的公网组播转发树上。
16.根据权利要求10至14任一权项所述的BEB设备,其特征在于,所述用户侧收发单元,还用于接收到来自本地CE设备的私网组播IGMP离开报文后,将私网组播IGMP离开报文中携带的私网组播地址通过删除通知提供给所述私网组播表维护单元;所述私网组播表维护单元,还用于接收到删除通知后,将所述用户侧收发单元接收所述私网组播IGMP离开报文的接口从该私网组播地址的私网组播转发表中删除;如果该私网组播转发表中的出接口列表为空,则删除该私网组播转发表,并向所述公网地址分配单元发送携带该私网组播地址的离开通知;所述公网地址分配单元,还用于确定所述离开通知携带的私网组播地址对应的公网组播地址,将该公网组播地址携带在公网组播IGMP离开报文中提供给所述网络侧收发单元;所述网络侧收发单元,还用于向组播源所在的BEB设备发送所述公网地址分配单元提供的公网组播IGMP离开报文。
17.根据权利要求16所述的BEB设备,其特征在于,该BEB设备还包括实例维护单元, 用于在所述PBB实例由启动UP变为关闭DOWN时,将该PBB实例信息携带在离开通知中提供给所述公网地址分配单元;所述公网地址分配单元,还用于确定离开通知所携带PBB实例信息对应的所有公网组播地址,将确定的公网组播地址分别携带在公网组播IGMP离开报文中提供给所述网络侧收发单元。
全文摘要
本发明提供了一种运营商骨干网桥接(PBB)网络中处理组播报文的方法和装置,在本发明中只有组播源所在的骨干网边缘桥接(BEB)设备为私网组播地址分配公网组播地址,并将公网组播地址在PBB实例中发布,使得PBB网络中各BEB上存在统一的私网组播地址和公网组播地址之间的映射关系,并且,只有存在该映射关系的BEB设备才能利用接收到的公网组播因特网组管理协议(IGMP)加入报文形成公网组播转发表,从而使得各BEB设备上一个私网组播地址仅对应一个公网组播地址转发表,且只有组播有效路径上的BEB设备才会建立公网组播转发表,避免了冗余组播流量的产生。
文档编号H04L12/56GK102412976SQ201010291568
公开日2012年4月11日 申请日期2010年9月25日 优先权日2010年9月25日
发明者宋小恒 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1