一种spbm网络中组播报文的转发方法和装置的制造方法

文档序号:10691009阅读:398来源:国知局
一种spbm网络中组播报文的转发方法和装置的制造方法
【专利摘要】本发明提供一种SPBM网络中组播报文的转发方法和装置,包括:BEB设备通过用户侧端口监听组播协议报文,并基于监听到的所述组播协议报文中携带的信息收集网络中的组播接收者以及组播源并保存至本地链路状态数据库中;将收集到的所述组播接收者和组播源同步至网络中的其它SPB设备,以及将网络中其它BEB设备同步至本地的组播接收者以及组播源保存至本地链路状态数据库中;如果BEB设备本地用户侧网络存在组播源,BEB设备查找本地链路状态数据库确定网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者接入的目标BEB设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文。本申请可以避免带宽以及设备资源的浪费。
【专利说明】
-种SPBM网络中组播报文的转发方法和装置
技术领域
[0001] 本发明设及通信技术领域,尤其设及一种SPBM网络中组播报文的转发方法和装 置。
【背景技术】
[0002] SPB(化ortest 化th Bridging,最短路径桥接)是MSTP(Multiple Spanning Tree Protocol,多生成树协议)的进一步延伸,使用IS-IS协议(Intermediate System-1〇- Intermediate System,中间系统到中间系统)来共享网络中的链路状态,网络各个节点并 行计算各节点之间的最短路径。SPB有两种实现模式:VLAN(VirtualLocal Area化twork,虚 拟局域网)模式称为SPBV(Shodest化th Bridging VLAN Mode,VLAN模式的最短路径桥), 协议复杂,目前基本无应用;MAC-in-MAC模式称为SPBM(Shodest Path Bridging MAC Mode,M-in-M模式的最短路径桥),是目前的主要推荐模式。在运营商骨干网络中,通常可W 通过SPBM技术来实现大二层网络的互联。
[0003] 请参见图1,图1为基于SPBM技术实现的运营商骨干网络的组网图。在该组网中, SPB设备可划分为肥B(Backbone Egdge Bridge,骨干网边缘网桥)类型的Sre设备和BCB (Baclcbone Core Bridge,骨干网核屯、网桥)类型的SPB设备。
[0004] B邸设备将来自用户网络的报文进行Mac-in-Mac封装,并转发到骨干网络中;BCB 设备根据B-MAC(Backbone MAC,骨干网MAC)和B-化AN(Bac化one化AN,骨干网VLAN)转发 Mac-in-Mac封装报文;最后报文到达目的侧的B邸设备,肥B设备将来自骨干网络的Mac-in- Mac 封装报文进行解封装,并转发到 目的侧用户网络中,整个转发过程都是通过二层转发来 实现。
[0005] 在SPBM网络中,还可W支持多实例。当不同类型的业务流量需要在不同的站点之 间传输时,可W采用多个SPBM实例来实现。每个SPBM实例使用I-SID来唯一标识。不同SPBM 实例的I-SID不同,流量转发完全隔离。同一实例只能使用同一B-化AN来承载流量,不同实 例可W使用相同B-VLAN来承载流量。
[0006] 数据报文在SPBM网络中转发时,BEB设备从下行口收到用户侧网络发出的数据报 文后,可W学习该报文的源MAC,并为其封装MAC-in-MAC头,然后从上行口将该报文发送至 SPBN(化ortest Bridging化twork,最短路径桥接网),运里上行口作为隧道的入口。
[0007] MAC-in-MA讨良文在SPBN中传输时,BCB设备根据报文中B-DA,B-VLAN查找转发表, 如果无对应的转发表则丢弃该报文;有对应的转发表则进行二层转发。报文在转发过程中, 中间设备不会对其源MAC进行学习。MC-in-MA讨良文到达隧道终点时,B邸会解封装MAC-in- M讨良文还原成数据报文。邸B学习数据报文中的源MAC后,再将该数据报文从下行口发送至 对应的用户侧网络。
[000引在SPBN中,禁止数据报文广播发送,通常只支持单播和组播发送。报文在入隧道 时,BEB设备根据报文中的目的MAC来确定后续报文在SPBN中W何各方式进行传输。如果目 的MAC为广播MAC、未知单播MAC或未知组播MAC,则封装后的报文在SPBN中进行SPBM组播发 送;其中,SPBM组播支持两种模式:头端复制模式和核屯、复制模式,用户可根据实际组网选 择不同的组播模式。如果目的MAC为已知单播MAC,则封装后的报文在SPBN中进行SPBM单播 发送。
[0009] 然而,在SPBN中发送未知组播流量时,通常会将该未知组播流量在该未知组播流 量所属的实例内进行泛洪处理,使得即使SPBM设备所在私网范围内没有组播接收者也仍然 会收到属于相同实例的SPBM设备所发送的组播流量,从而造成带宽资源浪费。

【发明内容】

[0010] 有鉴于此,本申请提出一种SPBM网络中组播报文的转发方法,应用于SPBM网络中 的B邸设备,所述方法包括:
[0011] 通过用户侧端口监听组播协议报文,并基于监听到的所述组播协议报文中携带的 信息收集网络中的组播接收者W及组播源并保存至本地链路状态数据库中;
[0012] 将收集到的所述组播接收者和组播源同步至网络中的其它SPB设备,W及将网络 中其它邸的受备同步至本地的组播接收者W及组播源保存至本地链路状态数据库中;
[0013] 如果本地用户侧网络存在组播源,查找本地链路状态数据库确定网络中是否存在 与该组播源对应的组播接收者;如果是,创建与所述组播接收者接入的目标邸的受备之间的 组播转发表项,并基于创建的该组播转发表项转发组播报文。
[0014] 可选的,所述基于监听到的所述组播协议报文中携带的信息收集网络中的组播接 收者W及组播源并保存至本地链路状态数据库中包括:
[0015] 当监听到的所述组播协议报文为加入组播组的第一类组播协议报文时,确定本地 用户侧网络存在组播接收者,将与该组播协议报文对应的主机信息,W及将该组播协议报 文中的组播MAC地址保存至本地链路状态数据库中;
[0016] 当监听到的所述组播协议报文为表征本地用户侧网络存在组播源的第二类组播 协议报文时,确定本地用户侧网络存在组播源,将该组播协议报文中与组播源对应的组播 MAC地址保存至本地链路状态数据库中,并记录本地存在该组播源。
[0017] 可选的,所述方法还包括:
[0018] 当监听到的所述组播协议报文为IGMP离开组报文时,将与该组播协议报文对应的 作为组播接收者的主机信息从本地链路状态数据库中删除,W及通知网络中的其它SPB设 备从各自链路状态数据库中同步删除。
[0019] 可选的,所述第一类组播协议报文包括IGMP成员关系报告报文;所述第二类组播 协议报文包括IGMP成员关系查询报文、PIM协议报文或者目的MAC与本地指定IP地址存在对 应关系的组播协议报文。
[0020] 可选的,所述方法还包括:
[0021] 当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一作为组播 接收者的主机信息对应的加入组播组的第一类组播协议报文时,则将该主机信息从本地链 路状态数据库中删除,并通知网络中的其它sro设备从各自链路状态数据库中同步删除;W 及
[0022] 当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一组播MAC对 应的组播流量时,则将该组播MAC从本地链路状态数据库中删除,并通知网络中的其它SPB 设备从各自链路状态数据库中同步删除。
[0023] 可选的,所述将收集到的所述组播接收者和组播源同步至网络中的其它SPB设备 包括:
[0024] 当确定本地用户侧网络存在组播接收者时,向网络中的其它SPB设备发送携带与 该组播接收者对应的主机信息,W及组播MC地址的第一LSP报文,W使其它SPB设备在其本 地链路状态数据库中同步保存将该主机信息和该组播MAC地址;
[0025] 当确定本地用户侧网络存在组播源时,为该组播源分配组播I-SID,并向网络中的 其它sro设备发送携带该组播I-SID,W及与该组播源对应的组播MAC地址的第二LSP报文, W使其它Sro设备在其本地链路状态数据库中同步保存该组播I-SID和组播MAC地址。
[00%] 可选的,所述为该组播源分配组播I-SID包括:
[0027]从为用户侧端口指定的多个I-SID中为该组播源分配I-SID;其中,所述用户侧端 口指定的多个I-SID绑定的BVLAN相同;所述多个I-SID包括主I-SIDW及至少一个用于组播 发送的组播I-SID。
[002引可选的,所述方法还包括:
[0029] 在头端复制模式下,创建的所述组播转发表项包括:
[0030] 所述组播源的组播MAC地址、BVLAN信息、所述目标邸B设备的MAC地址W及出接口; [0031 ]在核屯、复制模式下,创建的所述组播转发表项包括:
[0032] 所述组播源的组播MAC地址、基于所述组播I-SID生成的组播地址、BVLAN信息W及 出接口。
[0033] 本申请还提出一种SPBM网络中组播报文的转发方法,应用于SPBM网络中的BCB设 备,所述方法包括:
[0034] 接收网络中各邸的受备同步至本地的组播接收者和组播源并保存至本地链路状态 数据库中;其中,所述组播接收者W及组播源由所述各B邸设备通过收集用户侧端口监听到 的组播协议报文中携带的信息得到;
[0035] 在核屯、复制模式下,基于各BEB设备为其本地用户侧网络中的组播源分配的组播 I-SID分别创建对应的组播转发表项;
[0036] 根据本地链路状态数据库中保存的所述组播接收者和所述组播源对与所述组播 转发表项对应的组播树进行剪枝,并基于剪枝后的所述组播树转发组播报文。
[0037] 可选的,所述接收网络中各B邸设备同步至本地的组播接收者和组播源,W及由各 B邸设备为其本地用户侧网络中的组播源分配的组播I-SID包括:
[0038] 当网络中任一 B邸设备其本地用户侧网络存在组播接收者时,接收该B邸设备发送 的携带与该组播接收者对应的主机信息W及组播MAC的第一 LSP报文,并将该报文中携带的 主机信息和组播MAC在本地链路状态数据库中同步保存;
[0039] 当网络中任一 B邸设备其本地用户侧网络存在组播源时,接收该B邸设备发送的携 带该肥B设备为该组播源分配的组播I-SIDW及与该组播源对应的组播MAC的第二LSP报文, 并将该报文中携带的组播I-SID和组播MAC在本地链路状态数据库中同步保存。
[0040] 可选的,创建的所述组播转发表项包括:
[0041 ] 基于所述组播I-SID生成的组播地址、BVLAN信息W及出接口。
[0042]可选的,所述根据本地链路状态数据库中保存的所述组播接收者和所述组播源对 与所述组播转发表项对应的组播树进行剪枝包括:
[0043] 根据本地链路状态数据库中保存的所述组播接收者和所述组播源确定网络中各 SPB设备的用户侧网络中是否存在对应于所述组播源的组播接收者;
[0044] 当任一 SPB设备的用户侧网络中不存在对应于所述组播源的组播接收者时,如果 该Sro设备对应的出接口下未接入其它组播接收者,则在所述组播转发表项中将与该SPB设 备对应的出接口删除,W针对与所述组播转发表项对应的组播树执行剪枝。
[0045] 本申请还提出一种SPBM网络中组播报文的转发装置,应用于SPBM网络中的肥B设 备,所述装置包括:
[0046] 监听模块,用于通过用户侧端口监听组播协议报文,并基于监听到的所述组播协 议报文中携带的信息收集网络中的组播接收者W及组播源并保存至本地链路状态数据库 中;
[0047] 同步模块,用于将收集到的所述组播接收者和组播源同步至网络中的其它SPB设 备,W及将网络中其它邸B设备同步至本地的组播接收者W及组播源保存至本地链路状态 数据库中;
[0048] 第一创建模块,用于在本地用户侧网络存在组播源时,查找本地链路状态数据库 确定网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者接入 的目标B邸设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文。
[0049] 可选的,所述监听模块具体用于:
[0050] 当监听到的所述组播协议报文为加入组播组的第一类组播协议报文时,确定本地 用户侧网络存在组播接收者,将与该组播协议报文对应的主机信息,W及将该组播协议报 文中的组播MAC地址保存至本地链路状态数据库中;
[0051] 当监听到的所述组播协议报文为表征本地用户侧网络存在组播源的第二类组播 协议报文时,确定本地用户侧网络存在组播源,将该组播协议报文中与组播源对应的组播 MAC地址保存至本地链路状态数据库中,并记录本地存在该组播源。
[0052] 可选的,所述监听模块进一步用于:
[0053] 当监听到的所述组播协议报文为IGMP离开组报文时,将与该组播协议报文对应的 作为组播接收者的主机信息从本地链路状态数据库中删除,W及通知网络中的其它SPB设 备从各自链路状态数据库中同步删除。
[0054] 可选的,所述第一类组播协议报文包括IGMP成员关系报告报文;所述第二类组播 协议报文包括IGMP成员关系查询报文、PIM协议报文或者目的MAC对指定IP地址存在对应关 系的组播协议报文。
[0化日]可选的,所述装置还包括:
[0056] 删除模块,用于当在预设的老化时长内未接收到与本地链路状态数据库中保存的 任一作为组播接收者的主机信息对应的加入组播组的第一类组播协议报文时,则将该主机 信息从本地链路状态数据库中删除,并通知网络中的其它SPB设备从各自链路状态数据库 中同步删除;W及当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一组 播MAC对应的组播流量时,则将该组播MAC从本地链路状态数据库中删除,并通知网络中的 其它sro设备从各自链路状态数据库中同步删除。
[0057] 可选的,所述同步模块具体用于:
[0058] 当确定本地用户侧网络存在组播接收者时,向网络中的其它SPB设备发送携带与 该组播接收者对应的主机信息,W及组播MC地址的第一LSP报文,W使其它SPB设备在其本 地链路状态数据库中同步保存将该主机信息和该组播MAC地址;
[0059] 当确定本地用户侧网络存在组播源时,为该组播源分配组播I-SID,并向网络中的 其它sro设备发送携带该组播I-SID,W及与该组播源对应的组播MAC地址的第二LSP报文, W使其它Sro设备在其本地链路状态数据库中同步保存该组播I-SID和组播MAC地址。
[0060] 可选的,所述同步模块进一步用于:
[0061] 从为用户侧端口指定的多个I-SID中为该组播源分配I-SID;其中,所述用户侧端 口指定的多个I-SID绑定的BVLAN相同;所述多个I-SID包括主I-SIDW及至少一个用于组播 发送的组播I-SID。
[0062] 可选的,在头端复制模式下,所述第一创建模块创建的所述组播转发表项包括:所 述组播源的组播MAC地址、BVLAN信息、所述目标邸B设备的MAC地址W及出接口;
[0063] 在核屯、复制模式下,所述第一创建模块创建的所述组播转发表项包括:
[0064] 所述组播源的组播MAC地址、基于所述组播I-SID生成的组播地址、BVLAN信息W及 出接口。
[0065] 本申请还提出一种SPBM网络中组播报文的转发装置,应用于SPBM网络中的BCB设 备,所述装置包括:
[0066] 接收模块,用于接收网络中各肥B设备同步至本地的组播接收者和组播源并保存 至本地链路状态数据库中;其中,所述组播接收者W及组播源由所述各邸B设备通过收集用 户侧端口监听到的组播协议报文中携带的信息得到;
[0067] 第二创建模块,用于在核屯、复制模式下,基于各邸B设备为其本地用户侧网络中的 组播源分配的组播I-SID分别创建对应的组播转发表项;
[0068] 剪枝模块,用于根据本地链路状态数据库中保存的所述组播接收者和所述组播源 对与所述组播转发表项对应的组播树进行剪枝,并基于剪枝后的所述组播树转发组播报 文。
[0069] 可选的,所述接收模块具体用于:
[0070] 当网络中任一 B邸设备其本地用户侧网络存在组播接收者时,接收该B邸设备发送 的携带与该组播接收者对应的主机信息W及组播MAC的第一 LSP报文,并将该报文中携带的 主机信息和组播MAC在本地链路状态数据库中同步保存;
[0071] 当网络中任一 B邸设备其本地用户侧网络存在组播源时,接收该B邸设备发送的携 带该肥B设备为该组播源分配的组播I-SIDW及与该组播源对应的组播MAC的第二LSP报文, 并将该报文中携带的组播I-SID和组播MAC在本地链路状态数据库中同步保存。
[0072] 可选的,所述第二创建模块创建的所述组播转发表项包括:
[0073] 基于所述组播I-SID生成的组播地址、BVLAN信息W及出接口。
[0074] 可选的,所述剪枝模块具体用于:
[0075] 根据本地链路状态数据库中保存的所述组播接收者和所述组播源确定网络中各 SPB设备的用户侧网络中是否存在对应于所述组播源的组播接收者;
[0076] 当任一 SPB设备的用户侧网络中不存在对应于所述组播源的组播接收者时,如果 该Sro设备对应的出接口下未接入其它组播接收者,则在所述组播转发表项中将与该SPB设 备对应的出接口删除,w针对与所述组播转发表项对应的组播树执行剪枝。
[0077] 在本申请中,通过用户侧端口监听组播协议报文,并基于监听到的组播协议报文 中携带的信息来收集网络中的组播接收者W及组播源并保存至本地链路状态数据库中,W 及将收集到的组播接收者和组播源同步至网络中的其它SPB设备,并将网络中其它B邸设备 同步至本地的组播接收者W及组播源保存至本地链路状态数据库中;当本地用户侧网络存 在组播源,则查找本地链路状态数据库确定网络中是否存在与该组播源对应的组播接收 者;如果是,创建与所述组播接收者接入的目标邸B设备之间的组播转发表项,并基于创建 的该组播转发表项转发组播报文,从而可W实现在SPBM网络中转发组播报文时,如果Sro设 备用户侧网络内没有组播接收者,则不会收到相同实例的其它SPB设备所发送的组播流量, 可W避免带宽W及设备资源的浪费。
【附图说明】
[0078] 图1是本申请示出的一种基于SPBM技术实现的运营商骨干网络的组网图;
[0079] 图2是本申请一实施例示出的一种SPBM网络中组播报文的转发方法的流程图;
[0080] 图3是本申请一实施例示出的另一种基于SPBM技术实现的运营商骨干网络的组网 图;
[0081] 图4是本申请一实施例示出的一种SPBM网络中组播报文的转发装置的逻辑框图;
[0082] 图5是本申请一实施例示出的另一种SPBM网络中组播报文的转发装置的逻辑框 图。
【具体实施方式】
[0083] 在现有实现中,基于SPBM技术实现的运营商骨干网络中,当B邸设备接收到来自用 户侧网络的目的MAC为未知组播MAC的组播报文时,通常会在所属的实例中进行泛洪处理。
[0084] 在运种情况下,即使当前组网中其所在用户侧网络没有组播接收者的B邸设备,也 仍然会收到属于相同实例的B邸设备所发送的组播流量,从而导致公网带宽浪费和公网设 备资源浪费。
[0085] 而且,BEB设备收到未知组播报文后,仍然需要对该未知组播报文进行解封装,然 后发送至用户侧网络,也会导致私网带宽浪费和私网设备资源浪费。
[0086] 有鉴于此,本申请提出一种SPBM网络中组播报文的转发方法,肥B设备通过用户侧 端口监听组播协议报文,并基于监听到的组播协议报文中携带的信息来收集网络中的组播 接收者W及组播源并保存至本地链路状态数据库中,W及将收集到的组播接收者和组播源 同步至网络中的其它SPB设备,并将网络中其它肥B设备同步至本地的组播接收者W及组播 源保存至本地链路状态数据库中;当本地用户侧网络存在组播源,则查找本地链路状态数 据库确定网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者 接入的目标肥B设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文,从 而可W实现在SPBM网络中转发组播报文时,如果Sro设备用户侧网络内没有组播接收者,贝U 不会收到相同实例的其它sro设备所发送的组播流量,可W避免带宽W及设备资源的浪费。
[0087] 下面通过具体实施例并结合具体的应用场景对本申请进行描述。
[0088] 请参考图2,图2是本申请一实施例提供的一种SPBM网络中组播报文的转发方法, 应用于B邸设备和BCB设备,其中,B邸设备和BCB设备相互配合,执行W下步骤:
[0089] 步骤201,BEB设备通过用户侧端口监听组播协议报文,并基于监听到的所述组播 协议报文中携带的信息收集网络中的组播接收者W及组播源并保存至本地链路状态数据 库中;
[0090] 在本例中,上述用户侧端口可W是肥B设备上面向用户侧网络的AC口(Access口), B邸设备可W在用户侧的AC口上使能IGMPQnternet Group Management Protocol,组管理 协议)snoopingW及PIM(P;rotocol Independent Multicast,协议无关组播)snooping,来 监听组播协议报文,然后基于监听到的组播协议报文中携带的信息来收集SPBM网络中的组 播接收者和组播源。
[0091] 上述组播协议包括可W包括加入组播组的第一类组播协议报文W及表征本地用 户侧网络存在组播源的第二类组播协议报文。
[0092] -方面,当B邸设备通过用户侧AC 口监听到上述第一类组播协议报文时,表明本地 用户侧网络存在想要加入组播组的组播接收者,此时BEB设备可W确定本地用户侧网络存 在组播接收者,将与该组播协议报文对应的主机信息作为组播接收者,W及将该组播协议 报文中的组播MAC地址作为组播源保存至本地LSDB化ink State Data Base,链路状态数据 库)中。
[0093] 在示出的一种实施方式中,上述第一类组播协议报文可W包括IGMP成员关系报告 报文。
[0094] IGMP成员关系报告报文为本地用户侧网络中的主机在希望加入特定的组播组时 发出,用于加入特定的组播组,在该IGMP成员关系报告报文中可W携带该主机希望加入的 组播组的组播MAC地址。
[0095] 当肥B设备通过用户侧AC口监听到IGMP成员关系报告报文时,可W将该报文复制 一份给CPU,然后将该IGMP成员关系报告报文中携带的主机信息作为组播接收者,W及该报 文中携带的希望加入的组播MAC地址作为组播源保存至本地的LSDB中。
[0096] 其中,上述主机信息可W包括在用户侧网络中可W对该IGMP成员关系报告报文的 发送主机进行识别的信息;比如,可W是该IGMP成员关系报告报文的IP头中携带的主机的 源端口号,主机的源IP或者主机ID等信息,在本例中不进行特别限定。
[0097] 当然,在实际应用中,当肥B设备通过用户侧AC口监听到IGMP组播组离开报文时, 由于IGMP组播组离开报文通常为主机在离开特定的组播组时发送,因此邸B设备通过用户 侧AC口监听到组播组离开报文后,可W将与该组播组离开报文对应的主机信息从本地的 LSDB中删除。
[009引另一方面,当邸B设备通过用户侧AC 口监听到上述第二类组播协议报文,表明本地 用户侧网络中存在组播源,此时B邸设备可W确定本地用户侧网络存在组播源,将与该组播 协议报文中与组播源对应的组播MAC地址保存至本地LSDB中,同时还可W在本地LSDB中记 录本地存在该组播源。
[0099] 在示出的一种实施方式中,上述第二类组播协议报文可W包括W下几种:
[0100] 1) IGMP成员关系查询报文
[0101] IGMP成员关系查询报文通常为组播源向组播成员发送的报文,用于查询当前组播 组中存在哪些组播成员,通常可W包括IGMP普遍组查询报文和IGMP特定组查询报文。在该 IGMP成员关系查询报文中可W携带组播源的组播MAC地址。当邸B设备通过用户侧AC 口监听 到IGMP成员关系查询报文时,可W将该报文复制一份给CPU,然后将该报文中与组播源对应 的组播MAC地址保存至本地LSDB中,同时在本地的LSDB中记录本地存在该组播源。
[0102] 2)PIM协议报文
[0103] PIM协议报文通常由组播源周期性的发送在该PIM协议报文中通常可W携带组播 源的组播MAC地址。因此,当BEB设备通过用户侧AC口监听到PIM协议报文时,可W将该报文 复制一份给CPU,然后将该报文中与组播源对应的组播MAC地址保存至本地LSDB中,同时在 本地的LSDB中记录本地存在该组播源。
[0104] 3)目的MAC与本地指定IP地址存在对应关系的组播协议报文
[01化]在实际应用中,通常可W为本地指定的IP地址配置对应的MAC地址,并在组播协议 报文中携带手工配置目的MAC地址,来指导报文丢弃或者转发。当B邸设备通过用户侧AC 口 监听到目的MAC地址与本地指定IP地址存在对应关系的组播协议报文时,表明B邸设备用户 侧网络中存在与该目的MAC地址对应的组播源,此时可W将该报文复制一份给CPU,然后将 该报文中的目的MAC地址作为组播源的组播MAC地址保存至本地LSDB中,同时在本地的LSDB 中记录本地存在该组播源。
[0106] 步骤S202,B邸设备将收集到的所述组播接收者和组播源同步至网络中的其它SPB 设备,W及将网络中其它邸B设备同步至本地的组播接收者W及组播源保存至本地链路状 态数据库中;
[0107] 在本例中,如果邸B设备通过在用户侧的AC 口上监听到的第一类组播协议报文中 携带的信息,确定出本地用户侧网络存在组播接收者,B邸设备可W立即向SPBM网络中的其 它Sro设备(包括其它B邸设备和BCB设备)发送LSP报文(即第一LSP报文),并在该第LSP报文 中携带与该组播接收者对应的主机信息W及组播MAC地址。当SPBM网络中其它Sro设备接收 到该LSP报文后,可W在其本地LSDB中同步保存将该主机信息和该组播MAC地址。
[0108] 如果肥B设备通过在用户侧的AC 口上监听到的第二类组播协议报文中携带的信 息,确定出本地用户侧网络存在组播源,BEB设备可W从该用户侧的AC口上指定的多个I- SID中为该组播源分配组播I-SID。
[0109] 其中,该用户侧的AC口上可W预先指定多个I-SID,该多个I-SID可W与同一个 BVLAN绑定,可W包括一主用I-SID和至少一个用于组播数据发送的组播I-SID。不同的邸B 设备为其用户侧网络中的组播源所分配的组播I-SID可W互不相同。
[0110] 每一个B邸设备支持的组播I-SID的具体数量,可W局域网络中用户侧网络中存在 组播源的BEB设备的数量进行设定;例如,在实际应用中,对于每一个用户侧网络存在组播 源的肥B设备来说,都可W为本地组播分配一个组播I-SID,而其它各Sro设备可W在本地维 护多个组播I-SID,当接收到组播报文时,可W将该组播报文在与该组播报文所属组播源的 组播I-SID对应的实例中进行转发。
[0111] 当邸B设备为本地用户侧网络中的组播源分配了组播I-SID后,可W立即向SPBM网 络中的其它Sro设备发送LSP报文(即第二LSP报文),并在该LSP报文中携带为该组播源分配 的组播I-SID W及与该组播源对应的组播MAC地址。当SPBM网络中其它Sro设备接收到该LSP 报文后,可W在其本地LSDB中同步保存将该组播I-SIDW及与该组播源对应的组播MAC地 址。
[0112] 与此同时,当前SPBM网络中的其它肥B设备,也可W按照相同的处理方式,通过用 户侧网络的AC 口监听组播协议报文来收集组播接收者和组播源,然后通过LSP报文将收集 到的组播接收者和组播源同步至SPBM网络中的其它Sro设备。
[0113] 当该肥B设备在接收到SPBM网络中其它肥B设备发送至本地的LSP报文时,也可W 将该LSP报文中携带的与组播接收者对应的主机信息W及组播MAC地址,或者为组播源分配 的组播I-S ID W及与组播源对应的组播MAC地址同步保存至本地的LSDB中。
[0114] 通过运种方式,SPBM网络中各肥B设备可W通过互相扩散LSP报文,将其各自收集 到的组播接收者和组播源向网络中其它Sro设备进行同步,从而使得SPBM网络中的任一肥B 设备来说,都可W在其本地的LSDB中保存整个SPBM网络中的所有组播接收者和组播源。
[0115] 另外,需要说明的是,当前SPBM网络中所有B邸设备发出的上述LSP报文中,除了可 W携带与组播接收者对应的主机信息W及组播MAC地址,或者与组播源对应组播MAC地址W 夕F,还可W携带该邸B设备的MAC地址或者SPsource ID等信息。
[0116] 而接收到该LSP报文的其它SPB设备,不仅可W将该LSP报文中携带的与组播接收 者对应的主机信息W及组播MAC地址,或者与组播源对应组播MAC地址在本地LSDB中保存W 夕h还可W在本地LSDB中保存该BEB设备的MAC地址或者SPsource ID(化ortest Path Source Identifier,最短路径源标记),W及本地接收端口号等信息,从而后续可W基于本 地LSDB中保存的运些信息快速的确定出各组播接收者W及组播源所接入的BEB设备,W及 与该B邸设备对接的端口号。
[0117] 在本例中,对于保存在肥B设备本地LSDB中的组播接收者和组播源,还可W由肥B 设备统一设置老化时长,并基于该老化时长对本地保存的组播接收者和组播源进行老化处 理。
[0118] 对于B邸设备本地LSDB中保存的组播接收者来说,如果肥B设备在老化时长内仍未 接收到与本地LSDB中保存的任一组播接收者对应的加入组播组的第一类组播协议报文时, 此时可W将该组播接收者作为无效接收者进行老化,将该组播接收者从本地LSDB中删除。
[0119] 当将该组播接收者从本地删除后,B邸设备可W向SPBM网络中其它Sro设备同步发 出LSP报文,在该LSP报文中携带删除该组播接收者的指示信息,W触发SPBM网络中其它SPB 设备在收到该LSP报文后,从各自LSDB中将该组播接收者同步删除。
[0120] 对于B邸设备本地LSDB中保存的组播源来说,如果在老化时长内仍未接收到与本 地LSDB中保存的任一组播源对应的组播流量时,此时可W将该组播源作为无效组播源进行 老化,将该组播源从本地LSDB中删除。
[0121] 当将该组播源从本地删除后,BEB设备可W向SPBM网络中其它SPB设备同步发出 LSP报文,在该LSP报文中携带删除该组播源的指示信息,W触发SPBM网络中其它Sro设备在 收到该LSP报文后,从各自LSDB中将该组播源同步删除。
[0122] 步骤203,BCB设备接收网络中各肥B设备同步至本地的组播接收者和组播源并保 存至本地链路状态数据库中。
[0123] 在本例中,在核屯、复制模式下,BCB设备可W通过接收当前SPBM网络中各肥B设备 扩散的LSP报文,来收集当前SPBM网络中所有组播接收者和组播源。
[0124] 当网络中任一BEB设备其本地用户侧网络存在组播接收者时,通常会向当前SPBM 网络中各Sro设备发出携带与该组播接收者对应的主机信息W及组播MAC的LSP报文。
[0125] 当BCB设备接收到B邸设备在其本地用户侧网络存在组播接收者时发出的LSP报文 后,可W将该LSP报文中携带的与该组播接收者对应的主机信息W及组播MAC在本地LSDB中 保存。
[0126] 同样的,当网络中任一B邸设备其本地用户侧网络存在组播接收者时,通常会向当 前SPBM网络中各SPB设备发出携带为该组播源分配的组播I-SIDW及与组播源对应的组播 MAC地址的LSP报文。
[0127] 当BCB接收到BEB设备在其本地用户侧网络存在组播源时发出的LSP报文后,也可 W将该LSP报文中携带的肥B设备为其本地用户侧网络中的组播源分配的组播I-SIDW及与 该组播源对应的组播MAC地址。
[012引通过运种方式,SPBM网络中的BCB设备可W通过接收网络中各肥B设备扩散的LSP 报文,将各邸B设备通过监听用户侧端口的组播协议报文而收集到的组播接收者和组播源 同步至本地的LSDB中,从而使得SPBM网络中的任一BCB设备来说,都可W在其本地的LSDB中 保存整个SPBM网络中的所有组播接收者和组播源。
[0129] 另外,需要说明的是,在头端复制模式下,对组播报文的复制和分发是由BEB设备 来完成,BCB仅用于对B邸设备发出的组播报文进行单播转发,因此在该模式下,BCB在接收 到网络中各肥B设备发送的携带与组播接收者对应的主机信息W及组播MAC,或者为组播源 分配的组播I-SIDW及与组播源对应的组播MAC地址的LSP报文时,可W不进行特殊处理。
[0130] 步骤204,如果邸B设备本地用户侧网络存在组播源,B邸设备查找本地链路状态数 据库确定网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者 接入的目标B邸设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文。
[0131] 在实际应用中,当SPBM网络组网完成后,通常会触发肥B设备基于主用I-SID来创 建组播转发表项。
[0132] 其中,基于主用I-SID创建的组播转发表项,可W由肥B设备生成一颗W该邸B设备 作为组播源的组播树,此时该组播树通常将覆盖网络中各实例内所有SPB设备组成的组播 域。而在现有实现中,B邸设备接收到未知组播报文时,通常会基于该组播树在实例内进行 洪泛发送,从而会导致当前网络中其本地用户侧网络不存在组播接收者的B邸设备,也能收 到实例内其他B邸设备发送的未知组播报文。
[0133] 在本例中,为了避免本地用户侧网络不存在组播接收者的肥B设备,收到实例内其 他邸B设备发送的未知组播报文,肥B设备不仅可W基于主用I-SID来创建组播转发表项,还 可W在确定出本地用户侧网络存在组播源时,基于为该组播分配的组播I-SID来创建组播 转发表项。
[0134] 其中,基于组播I-SID创建的组播转发表项,可W与邸B设备已有的基于主用I-SID 创建的组播转发表项完全隔离,仅用于邸B设备转发组播报文(包括已知组播报文和未知组 播报文);而基于主用I-SID创建完成的组播转发表项,用于BEB设备转发单播报文(包括已 知单播和未知单播)和广播报文。
[0135] 当B邸设备在收到来自用户侧网络的单播报文和广播报文时,可W仍然采用原有 的基于主用I-SID创建的组播转发表项进行转发,而对于接收到的来自用户侧网络的组播 报文,则可W采用基于分配的组播I-SID创建的组播转发表项进行转发。
[0136] 在本例中,B邸设备在基于组播I-SID来创建组播转发表项时,可W基于本地LSDB 中保存的信息来确认本地用户侧网络中是否存在组播源,如果BEB设备确定本地用户侧网 络中存在组播源,此时邸B设备可W立即查找本地LSDB,来确定当前SPBM网络中是否存在与 该组播源对应的组播接收者。
[0137]如果存在与该组播源对应的组播接收者(可W为多个),BEB设备在可W从本地 LSDB中读取该组播接收者接入的目标B邸设备的信息,然后分别创建与运些目标B邸设备之 间的组播转发表项。
[013引其中,B邸设备在创建与运些目标肥B设备之间的组播转发表项时,可W将原有组 播转发表项中,用户侧网络中不存在组播接收者的BEB设备的MAC删除,W针对与原有的组 播转发表项对应的组播树进行剪枝,使得剪枝后的组播树仅覆盖整个网络中所有的组播接 收者。
[0139] B邸设备在创建与目标肥B设备之间的组播转发表项时,该组播表项所包含的内容 在头端复制和核屯、复制两种组播转发模式下可W不同。
[0140] 在头端复制模式下,组播报文由肥B设备完成MAC-in-MAC后,通常在肥B设备本地 完成复制和分发,BCB仅用于对B邸设备发出的组播报文进行单播转发,因此B邸设备可W不 启用分配的组播I-SID,直接使用主用I-SID。
[0141] B邸设备在创建与目标肥B设备的组播转发表项时,可W针对基于主用I-SID创建 的组播转发表项(即原有的表项)对应的组播树进行剪枝,将原有组播转发表项中,用户侧 网络中不存在组播接收者的B邸设备的MAC地址删除。
[0142] 在头端复制模式下,B邸设备创建的与目标B邸设备之间的组播转发表项可W包括 W下内容:
[0143] 上述组播源的组播MAC地址、BVLAN信息、上述目标邸B设备的MAC地址W及出接口。
[0144] 当上述组播转发表项创建完成,在头端复制模式下,B邸设备接收到用户侧网络组 播源发出的组播报文时,可W读取该组播报文的目的组播MAC,在进行了剪枝后的上述组播 转发表项中查找组播转发表项。
[0145] 如果查找到对应的组播转发表项,此时该组播报文为已知组播报文,B邸设备可W 基于查找到的组播转发表项对该组播报文进行MAC-in-MAC封装,封装后的MAC-in-MAC头中 的B-DA为该组播源的组播接收主机接入的各目标邸的受备的MAC地址。
[0146] 当封装完成后,BEB设备创建与各目标BEB设备的隧道,然后对该组播报文进行复 制分发,分别将该组播报文基于创建的各隧道单播发送至各目标肥B设备。在整个转发过程 中,BCB设备基于该组播报文中的B-MAC进行单播转发即可。
[0147] 当目标B邸设备接收到组播报文后,可W对该组播报文进行解封装,然后转发至用 户侧网络中的组播接收主机。
[0148] 当然,如果未查找到对应的组播转发表项(表明该组播报文的接收者可能已离开 组播组,或者B邸设备已删除了相应的组播转发表项),此时该组播报文为未知组播报文,对 于未知组播报文,BEB设备会基于剪枝后的组播树所覆盖的组播域对该未知组播报文进行 洪泛处理。
[0149] 由于此时肥B设备对基于主用I-SID创建的组播转发表项对应的组播树进行了剪 枝,创建的组播转发表项仅包括与该组播源对应的组播接收者接入的目标邸B设备的组播 转发表项,因此剪枝后的组播树,将仅能覆盖当前网络各实例中用户侧网络存在组播接收 者的邸B设备所组成的组播域。
[0150] 在运种情况下,B邸设备在基于剪枝后的组播树,在实例内对该未知组播报文进行 洪泛处理时,将只有那些各自用户侧网络中存在组播接收者的目标BEB设备能够接收到实 例内的其它BEB设备洪泛后的该未知组播报文,而对于那些用户侧网络中不存在组播接收 者的BEB设备,则无法接收到相同实例内其它B邸设备洪泛处理的未知组播报文,从而可W 有效的避免公网带宽资源W及公网设备资源的浪费;同时,由于那些用户侧网络中不存在 组播接收者的B邸设备将不再接收到实例内其它肥B设备洪泛的未知组播报文,因此可W不 再执行无效的解封装W及向用户侧网络转发无效未知组播报文的操作,因此也可W有效的 避免私网资源W及私网设备资源的浪费。
[0151] 在核屯、复制模式下,组播报文由肥B设备完成MAC-in-MAC后,通常需要由肥B设备 基于本地创建的组播转发表项将该组播报文映射到当前SPBM网络的核屯、网络中的BCB设备 完成复制和分发。
[0152] 因此在核屯、复制模式下,B邸设备可W不需要针对当前SPBM网络中的各目标B邸设 备分别创建对应的组播转发表项,此时B邸设备只需要创建用于将组播报文映射至BCB设备 的组播转发表项即可。
[0153] 在核屯、复制模式下,BCB设备需要启用组播I-SID,基于组播I-SID来创建组播转发 表项,其中,在基于组播I-SID创建组播转发表项时,对于表项中的一些现有字段的信息可 W直接复制基于主用I-SID创建的组播转发表项。
[0154] 创建的组播转发表项可W包括W下内容:
[0155] 上述组播源的组播MAC地址、基于上述组播I-SID生成的组播地址、BVLAN信息W及 出接口。
[0156] 其中,SPBM网络中每台SPB设备在每个实例中都会存在一个组播地址,协议规定该 地址由SPSource ID和I-SID构成。因此,B邸设备在基于上述组播I-SID生成组播地址时,可 W将该为本地用户侧网络中的组播源分配的组播I-SID与该B邸设备的SPSource ID进行拼 装,来生成对应的组播地址;
[0157] 例如,SPB协议中规定的组播地址通常包括组播标记位、本地标记位、SPSource ID 类型、SPSource IDW及I-SID等字段,SPSource ID为基于Sro协议为该邸B设备动态生成, 用于在实例内唯一标识该肥B设备,BEB设备在基于组播I-SID生成组播地址时,组播标记 位、本地标记位、SPSource ID类型等字段的内容可W遵从协议的规定使用默认值,然后按 照Sro协议中规定的组播地址的上述格式,对组播I-SID和自身的SPSource ID进行拼装,最 终生成组播地址。
[015引当然,由于当前SPBM网络中各SPB设备(包括邸B设备和BCB设备)自身的SPSource ID各不相同,因此各SPB设备最终生成的组播地址也各不相同。各SPB设备之间可W通过互 相扩散LSP报文,将自身生成的组播地址同步至当前SPBM网络中的其它各SPB设备,从而使 得对于当前SPBM网络中的任一SPB设备来说,都可W在本地全局的保存SPBM网络中各Sro设 备在各实例中的组播地址。
[0159]在本例中,当上述组播转发表项创建完成,在核屯、复制模式下,B邸设备接收到用 户侧网络组播源发出的组播报文时,可W读取该组播报文的目的组播MAC,在基于组播I- SID创建的上述组播转发表项中查找组播转发表项。
[0160] 如果查找到对应的组播转发表项,此时该组播报文为已知组播报文,B邸设备可W 基于查找到的组播转发表项对该组播报文进行MC-in-MAC封装,此时封装后的MAC-in-MAC 头中的B-DA为当前邸B设备基于组播I-SID生成的组播地址。
[0161] 当封装完成后,BEB设备可W基于预设算法为该组播报文计算下一跳的BCB设备, 然后将封装后的该组播报文转发至BCB设备,由BCB设备基于该组播报文B-DA中携带的组播 地址在核屯、网络中向对应的组播接收主机接入的肥B设备进行复制和分发该组播报文。当 目标B邸设备接收到组播报文后,可W对该组播报文进行解封装,然后转发至用户侧网络中 的组播接收主机。
[0162] 如果未查找到对应的组播转发表项,此时该组播报文为未知组播报文,对于未知 组播报文,B邸设备仍然可W对该组播报文进行MC-in-MAC封装,此时封装后的MAC-in-MAC 头中的B-DA为当前邸B设备基于组播I-SID生成的组播地址。
[0163] 当封装完成后,BEB设备可W基于预设算法为该组播报文计算下一跳的BCB设备, 然后将封装后的该组播报文转发至BCB设备,由BCB设备基于该组播报文B-DA中携带的组播 地址,在其本地基于组播I-SID创建的组播转发表项对应的组播树所覆盖的组播域中对该 未知组播报文进行洪泛处理。
[0164] 另外,需要说明的是,BEB设备在收到当前网络中其它SPB设备接收到的用于删除 组播接收者的LSP报文时,除了可W从本地LSDB中删除对应的组播接收者,如果删除的该组 播接收者和组播源存在对应的组播转发表项,也可W对该组播转发表项进行同步删除。
[0165] 例如,在头端复制模式下,B邸设备在收到删除组播接收者的LSP报文时,可W在基 于组播I-SID创建的组播转发表项中删除与组播接收者对应的组播MAC地址,当该组播转发 表项中所有组播MAC地址均删除后(整个网络不再存在组播接收者时),此时可W将该组播 转发表项整组删除。在核屯、复制模式下,B邸设备在收到删除组播接收者的LSP报文时,可W 在基于组播I-SID创建的组播转发表项中查找与该组播接收者对应的组播转发表项,并确 定查找到的该组播转发表项中与该组播接收者对应的出接口下,是否还接入了其它组播接 收者,如果没有,可W直接将该出接口删除。当基于组播I-SID创建的组播转发表项中所有 出接口均删除后(整个网络不再存在组播接收者时),此时可W将该组播转发表项整组删 除。
[0166] 步骤205,在核屯、复制模式下,BCB设备基于各邸的受备为其本地用户侧网络中的组 播源分配的组播I-SID分别创建对应的组播转发表项;根据本地链路状态数据库中保存的 所述组播接收者和所述组播源对与所述组播转发表项对应的组播树进行剪枝,并基于剪枝 后的所述组播树转发组播报文。
[0167] 在本例中,BCB设备在创建组播转发表项时,也可W基于主用I-SID和接收到的各 B邸设备为其本地组播源分配的I-SID来分别创建组播转发表项。
[0168] 其中,BCB设备可W仅在核屯、复制模式下启用组播I-SID,基于组播I-SID来创建组 播转发表项,而在头端复制模式下,可W直接使用基于主用I-SID创建的组播转发表项转发 B邸设备发送的组播报文。
[0169] 在头端复制模式下,对组播报文的复制和分发由B邸设备来完成,BCB仅用于对BEB 设备发出的组播报文进行单播转发,而且BEB设备发出的组播报文中并不携带组播I-SID, 因此在头端复制模式下,BCB设备可W直接使用基于主用I-SID创建的组播转发表项对该组 播报文进行转发即可,可W不再启用组播I-SID,基于组播I-SID来创建组播转发表项,因而 在该模式下BCB设备在接收到的网络中各BEB设备发送的携带与组播接收者对应的主机信 息W及组播MAC,或者为组播源分配的组播I-SIDW及与组播源对应的组播MAC地址的LSP报 文时,也不在需要对该LSP报文进行特殊处理。
[0170] 在核屯、复制模式下,对组播报文的复制和分发是由BCB设备来完成的,因此在该模 式下,BCB设备可W启用组播I-SID,基于接收到的各肥B设备为其本地的组播源分配的组播 I-SID分别创建对应组播转发表项。
[0171] 其中,BCB基于组播I-SID创建的组播转发表项,仍然与BCB设备已有的基于主用I- SID创建的组播转发表项完全隔离,仅用于BCB设备转发组播报文(包括已知组播报文和未 知组播报文);而BCB基于主用I-SID创建完成的组播转发表项,仍然可W覆盖网络中各实例 内所有SPB设备组成的组播域,用于BCB设备转发单播报文(包括已知单播和未知单播)和广 播报文,不再寶述。
[0172] 在核屯、复制模式下,BCB设备针对各组播I-SID分别创建的组播转发表项包括W下 内容:
[0173] 基于所述组播I-SID生成的组播地址、BVLAN信息W及出接口。
[0174] 其中,BCB设备在基于各组播I-SID分别创建上述组播转发表项时,可W直接复制 基于主用I-SID创建的组播转发表项,然后将组播转发表项中基于主用I-SID生成的组播地 址替换为基于组播I-SID生成的组播地址即可。因此,在初始状态下,BCB设备基于各组播I- SID分别创建的组播转发表项所对应的组播树,将覆盖网络中各实例内所有SPB设备组成的 组播域。
[0175] 其中,需要说明的是,BCB设备在收到当前网络中其它SPB设备接收到的用于删除 组播接收者的LSP报文时,除了可W从本地LSDB中删除对应的组播接收者,如果删除的该组 播接收者和组播源存在对应的组播转发表项,也可W对该组播转发表项进行同步删除。例 如,在头端复制模式下,可W在基于组播I-SID创建的组播转发表项中删除组播接收者接入 的邸B设备的MAC地址。
[0176] 在本例中,为了避免本地用户侧网络不存在组播接收者的肥B设备,收到实例内其 他邸B设备发送的未知组播报文,BCB设备可W基于本地LADB中保存的网络中的所有组播接 收者和组播源的信息对基于组播I-SID创建完成的组播转发表项对应的组播树进行剪枝。
[0177] 在默认状态下,基于组播I-SID创建完成的组播转发表项将覆盖网络中各实例内 所有Sro设备组成的组播域,由于此时本地LSDB中保存了其它各Sro收集到的整个网络中所 有组播源的组播MAC地址和对应的接收主机,W及该接收主机接入的肥B设备等信息,因此 BCB设备可W查找本地LSDB,并基于本地LSDB中保存的信息,来确定当前网络中各SPB设备 的用户侧网络是否存在与上述各组播树的组播源对应的组播接收者。
[0178] 当BCB设备确定出当前网络中任一 SPB设备的用户侧网络不存在与上述组播源对 应的组播接收者时,此时可W在当前的组播树对应的组播转发表项中,查找与该sro设备对 应的组播转发表项,然后将查找到的组播转发表项中与该sro设备对应的出接口删除,W完 成对该组播树的剪枝。其中,在删除出接口的过程中,BCB设备需要根据本地LSDB确定该出 接口下是否还接入了其它组播接收者,如果没有,则可W从组播转发表项中将该出接口直 接删除。
[0179] 当完成剪枝后,该组播树对应的组播转发表项中将不再包含其用户侧网络不存在 与该组播树的组播源对应的组播接收者的SPB设备的出接口,该组播树将覆盖网络中各实 例内所有用户侧网络存在组播接收者的sro设备所组成的组播域。
[0180] 在本例中,当BCB设备接收到的由肥B设备进行MAC-in-MAC封装后的组播报文后, 如果该组播报文为已知组播报文,BCB设备可W基于组比I-SID查找对应的组播树,然后基 于剪枝后的组播树对该组播报文进行复制和分发,转发至对应的目标B邸设备,再由该目标 B邸设备对报文进行解封装转发至对应的组播接收主机。
[0181] 如果该组播报文为未知组播报文,BCB设备仍然可W基于组比I-SID查找对应的组 播树,然后在剪枝后的该组播树中对该未知组播报文进行洪泛处理。由于此时剪枝后的该 组播树覆盖网络中各实例内所有用户侧网络存在组播接收者的SPB设备所组成的组播域, 因此BCB在实例内对该未知组播报文进行洪泛处理时,将只有那些各自用户侧网络中存在 组播接收者的目标肥B设备能够接收到实例内的其它B邸设备洪泛后的该未知组播报文,而 对于那些用户侧网络中不存在组播接收者的B邸设备,则无法接收到相同实例内其它B邸设 备洪泛处理的未知组播报文,从而可W有效的避免公网带宽资源W及公网设备资源的浪 费;同时,由于那些用户侧网络中不存在组播接收者的BEB设备将不再接收到实例内其它 BEB设备洪泛的未知组播报文,因此可W不再执行无效的解封装W及向用户侧网络转发无 效未知组播报文的操作,因此也可W有效的避免私网资源W及私网设备资源的浪费。
[0182] 另外,需要说明的是,BCB设备在收到当前网络中其它SPB设备接收到的用于删除 组播接收者的LSP报文时,除了可W从本地LSDB中删除对应的组播接收者,如果删除的该组 播接收者和组播源存在对应的组播转发表项,也可W对该组播转发表项进行同步删除。例 如,在核屯、复制模式下,可W在确定与该组播接收者对应的出接口下并未接入其它组播接 收者是删除该出接口,不再寶述。
[0183] W下通过一个具体的应用实例对W上实施例中的技术方案进行详述。
[0184] 请参见图3,图3为本例示出的一种基于SPBM技术实现的运营商骨干网络的组网 图。
[0185] 在该网络中,B邸设备包括邸B1~邸B4;BCB设备包括BCB1~BCB4。
[0186] 其中,B邸1接入了作为组播源的hostl,hostl的MAC地址为MAC 1。
[0187] 邸B2和肥B3分别接入了作为组播接收者的host2和host3,肥B2和邸B3的MAC地址 分别为MAC2和MAC3。
[018引邸B1面向用户侧的AC口为podl,portl预先使能了IGMP snooping。邸B1为组播源 hostl 分配的组播 I-SID 为 I-SID100,I-SID100 绑定的 BVLAN 为 BVLAN1。
[0189] 肥B1的出接口为pod2eBCBl的出接口为口〇的3、口〇刊4和口〇的5。邸81的5口5〇11'。6 ID 为 SPSourcelOO,生成的 Sro 组播地址为 I-SIDlOO+SPSourcelOO。
[0190] 初始状态下,B邸1可W通过podl监听组播协议报文。
[0191 ] 当邸B1通过portl监听到host2和host3发出的加入hostl所在组播源的IGMP成员 关系报告报文,BEB1可W在本地LSDB中保存该报文中携带的host2和host3的信息,W及 host2和host3希望加入的组播源hostl的MAC地址,并向全网扩散LSP报文,将host2和hosts 的信息,W及host2和hos口希望加入的组播源hostl的MAC地址同步至邸B2~邸B4W及BCB1 ~BCB4。
[0192] 当邸B1通过podl监听到hostl发出的IGMP成员关系查询报文时,B邸1可W在本地 LSDB中保存该报文中携带的组播源hostl的MAC地址,记录本地存在该组播源,然后向全网 扩散LSP报文,将组播源hostl的MAC地址,W及为该组播源hostl分配的I-SID100同步至 邸B2~邸B4W及BCB1~BCB4。
[0193] 此时,对于肥B2~邸B4W及BCB1~BCB4来说,均在其本地的LSDB中保存了 host2和 host3的信息,host2和host3希望加入的组播源hostl的MAC地址W及为组播源hostl分配的 I-SIDlOOo
[0194] 在本例中,B邸1可W基于为组播源hostl分配的I-SID100创建组播转发表项:
[01M]在头端复制模式下,在初始状态下B邸创建的组播转发表项如下表所示:
[0196]
[0197] 由上述组播转发表项可W看出,该组播转发表项对应的组播树覆盖肥B2~肥B4组 成的组播域。
[0198] 肥B1可W基于本地LSDB中保存的信息对上述组播转发表项对应的组播树进行剪 枝,删除邸B4的组播MAC地址MC4,完成剪枝后的组播转发表项如下表所示:
[0199]
[0200] 肥B1在收到hostl发出的未知组播报文后对该未知组播报文进行MAC-in-MAC封 装,此时MAC-in-MAC头中的B-DA分别为MAC2和MAC3,当封装完成后,肥B1可W将该未知组播 报文后在当前实例内进行泛洪处理时,复制两份分别单播发送至BEB2和BEB3,BCB1在收到 邸B1发出的封装后的未知组播报文后,根据MAC-in-MAC头中的BMAC进行单播转发,通过出 接口 pod3和pod4将封装后的未知组播报文单播转发至BEB2和BEB3。
[0201] 肥B1在对hostl发出的未知组播报文在实例内进行洪泛处理时,基于由于创建的 上述组播转发表项对应的组播树仅覆盖邸B2和邸B3组成的组播域,因此洪泛后的该未知组 播报文,只有肥B2和肥B3能够收到,BEB4将无法收到该未知组播报文,从而可W有效避免 BEB4的公网带宽资源W及公网设备资源的浪费。
[0202] 在核屯、复制模式下,B邸1创建的组播转发表项如下表所示: 「0期1
[0204] 肥B1在收到hostl发出的未知组播报文后对该未知组播报文进行MAC-in-MAC封 装,此时MAC-in-MAC头中的B-DA为基于I-SID100生成的组播地址I-SIDlOO+SPSource 100, 当封装完成后,B邸1可W将该未知组播报文映射到BCB1,由BCB1在实例内进行洪泛处理。
[0205] 在初始状态下,BCB1创建的组播转发表项如下表所示:
[0206]

[0207] 由上述组播转发表项可W看出,该组播转发表项对应的组播树覆盖肥B2~肥B4组 成的组播域。
[0208] 此时BCB1本地LSDB中保存了host2和host3的信息,W及host2和host3希望加入的 组播源hostl的MAC地址,BCB1可W基于本地LSDB中保存的信息对上述组播转发表项对应的 组播树进行剪枝。在对该组播树进行剪枝时,BCB1基于本地LSDB中保存的信息可W确定 肥B4用户侧网络不存在组播源hostl的组播接收主机,因而可W将上述组播转发表项中与 BEB4对应的pod6删除,完成对组播树的剪枝。
[0209] 剪枝后的组播树对应的组播转发表项如下表所示:
[0210]
10^~当完成剪枝后,上述组播转发表项对应的组播树覆盖肥B2和邸B3组成的组播域, 因此BCB1对接收到的未知组播报文进行洪泛后,只有肥B2和肥B3能够收到,B邸4将无法收 到该未知组播报文,从而可W有效避免BEB4的公网带宽资源W及公网设备资源的浪费。
[0212] 通过W上各实施例可知,在本申请中,BEB设备通过用户侧端口监听组播协议报 文,并基于监听到的组播协议报文中携带的信息来收集网络中的组播接收者W及组播源并 保存至本地LSDB中,W及将收集到的组播接收者和组播源同步至网络中的其它Sro设备,并 将网络中其它邸B设备同步至本地的组播接收者W及组播源保存至本地LSDB中;当本地用 户侧网络存在组播源,则查找本地LSDB确定网络中是否存在与该组播源对应的组播接收 者;如果是,创建与所述组播接收者接入的目标邸B设备之间的组播转发表项,并基于创建 的该组播转发表项转发组播报文,从而可W实现在SPBM网络中转发组播报文时,如果Sro设 备用户侧网络内没有组播接收者,则不会收到相同实例的其它SPB设备所发送的组播流量, 可W避免带宽W及设备资源的浪费。
[0213] 与上述方法实施例向对应,本申请还提供了装置项实施例。
[0214] 请参见图4,本申请还提出一种SPBM网络中组播报文的转发装置40,应用于肥B设 备,所述装置40包括:
[0215] 监听模块401,用于通过用户侧端口监听组播协议报文,并基于监听到的所述组播 协议报文中携带的信息收集网络中的组播接收者W及组播源并保存至本地链路状态数据 库中;
[0216] 同步模块402,用于将收集到的所述组播接收者和组播源同步至网络中的其它SPB 设备,W及将网络中其它邸B设备同步至本地的组播接收者W及组播源保存至本地链路状 态数据库中;
[0217] 第一创建模块403,用于在本地用户侧网络存在组播源时,查找本地链路状态数据 库确定网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者接 入的目标B邸设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文。
[0218] 在本例中,所述监听模块401具体用于:
[0219] 当监听到的所述组播协议报文为加入组播组的第一类组播协议报文时,确定本地 用户侧网络存在组播接收者,将与该组播协议报文对应的主机信息,W及将该组播协议报 文中的组播MAC地址保存至本地链路状态数据库中;
[0220] 当监听到的所述组播协议报文为表征本地用户侧网络存在组播源的第二类组播 协议报文时,确定本地用户侧网络存在组播源,将该组播协议报文中与组播源对应的组播 MAC地址保存至本地链路状态数据库中,并记录本地存在该组播源。
[0221] 在本例中,所述监听模块401进一步用于:
[0222] 当监听到的所述组播协议报文为IGMP离开组报文时,将与该组播协议报文对应的 作为组播接收者的主机信息从本地链路状态数据库中删除,W及通知网络中的其它SPB设 备从各自链路状态数据库中同步删除。
[0223] 在本例中,所述第一类组播协议报文包括IGMP成员关系报告报文;所述第二类组 播协议报文包括IGMP成员关系查询报文、PIM协议报文或者目的MAC对指定IP地址存在对应 关系的组播协议报文。
[0224] 在本例中,所述装置40还包括:
[0225] 删除模块404,用于当在预设的老化时长内未接收到与本地链路状态数据库中保 存的任一作为组播接收者的主机信息对应的加入组播组的第一类组播协议报文时,则将该 主机信息从本地链路状态数据库中删除,并通知网络中的其它SPB设备从各自链路状态数 据库中同步删除;W及当在预设的老化时长内未接收到与本地链路状态数据库中保存的任 一组播MAC对应的组播流量时,则将该组播MAC从本地链路状态数据库中删除,并通知网络 中的其它sro设备从各自链路状态数据库中同步删除。
[02%]在本例中,所述同步模块402具体用于:
[0227]当确定本地用户侧网络存在组播接收者时,向网络中的其它SPB设备发送携带与 该组播接收者对应的主机信息,W及组播MC地址的第一LSP报文,W使其它SPB设备在其本 地链路状态数据库中同步保存将该主机信息和该组播MAC地址;
[02%]当确定本地用户侧网络存在组播源时,为该组播源分配组播I-SID,并向网络中的 其它Sro设备发送携带该组播I-SID,W及与该组播源对应的组播MAC地址的第二LSP报文, W使其它Sro设备在其本地链路状态数据库中同步保存该组播I-SID和组播MAC地址。
[0229] 在本例中,所述同步模块402进一步用于:
[0230] 从为用户侧端口指定的多个I-SID中为该组播源分配I-SID;其中,所述用户侧端 口指定的多个I-SID绑定的BVLAN相同;所述多个I-SID包括主I-SIDW及至少一个用于组播 发送的组播I-SID。
[0231] 在本例中,在头端复制模式下,所述第一创建模块403创建的所述组播转发表项包 括:
[0232] 所述组播源的组播MAC地址、BVLAN信息、所述目标邸B设备的MAC地址W及出接口;
[0233] 在核屯、复制模式下,所述第一创建模块403创建的所述组播转发表项包括:
[0234] 所述组播源的组播MAC地址、基于所述组播I-SID生成的组播地址、BVLAN信息W及 出接口。
[0235] 请参见图5,本申请还提出一种SPBM网络中组播报文的转发装置50,应用于BCB设 备,所述装置50包括:
[0236] 接收模块501,用于接收网络中各肥B设备同步至本地的组播接收者和组播源并保 存至本地链路状态数据库中;其中,所述组播接收者W及组播源由所述各邸B设备通过收集 用户侧端口监听到的组播协议报文中携带的信息得到;
[0237] 第二创建模块502,用于在核屯、复制模式下,基于各肥B设备为其本地用户侧网络 中的组播源分配的组播I-SID分别创建对应的组播转发表项;
[0238] 剪枝模块503,用于根据本地链路状态数据库中保存的所述组播接收者和所述组 播源对与所述组播转发表项对应的组播树进行剪枝,并基于剪枝后的所述组播树转发组播 报文。
[0239] 在本例中,所述接收模块501具体用于:
[0240] 当网络中任一 B邸设备其本地用户侧网络存在组播接收者时,接收该B邸设备发送 的携带与该组播接收者对应的主机信息W及组播MAC的第一 LSP报文,并将该报文中携带的 主机信息和组播MAC在本地链路状态数据库中同步保存;
[0241] 当网络中任一 B邸设备其本地用户侧网络存在组播源时,接收该B邸设备发送的携 带该肥B设备为该组播源分配的组播I-SIDW及与该组播源对应的组播MAC的第二LSP报文, 并将该报文中携带的组播I-SID和组播MAC在本地链路状态数据库中同步保存。
[0242] 在本例中,所述第二创建模块502创建的所述组播转发表项包括:
[0243] 基于所述组播I-SID生成的组播地址、BVLAN信息W及出接口。
[0244] 在本例中,所述剪枝模块503具体用于:
[0245] 根据本地链路状态数据库中保存的所述组播接收者和所述组播源确定网络中各 SPB设备的用户侧网络中是否存在对应于所述组播源的组播接收者;
[0246] 当任一 SPB设备的用户侧网络中不存在对应于所述组播源的组播接收者时,如果 该Sro设备对应的出接口下未接入其它组播接收者,则在所述组播转发表项中将与该SPB设 备对应的出接口删除,W针对与所述组播转发表项对应的组播树执行剪枝。
[0247] 本领域技术人员可W理解实施例中的装置中的模块可W按照实施例描述分布于 实施例的装置中,也可W进行相应变化位于不同于本实施例的一个或多个装置中。上述实 施例的模块可W合并为一个模块,也可进一步拆分成多个子模块。上述发明实施例序号仅 仅为了描述,不代表实施例的优劣。
[0248] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1. 一种SPBM网络中组播报文的转发方法,应用于SPBM网络中的BEB设备,其特征在于, 所述方法包括: 通过用户侧端口监听组播协议报文,并基于监听到的所述组播协议报文中携带的信息 收集网络中的组播接收者以及组播源并保存至本地链路状态数据库中; 将收集到的所述组播接收者和组播源同步至网络中的其它SPB设备,以及将网络中其 它BEB设备同步至本地的组播接收者以及组播源保存至本地链路状态数据库中; 如果本地用户侧网络存在组播源,查找本地链路状态数据库确定网络中是否存在与该 组播源对应的组播接收者;如果是,创建与所述组播接收者接入的目标BEB设备之间的组播 转发表项,并基于创建的该组播转发表项转发组播报文。2. 如权利要求1所述的方法,其特征在于,所述基于监听到的所述组播协议报文中携带 的信息收集网络中的组播接收者以及组播源并保存至本地链路状态数据库中包括: 当监听到的所述组播协议报文为加入组播组的第一类组播协议报文时,确定本地用户 侧网络存在组播接收者,将与该组播协议报文对应的主机信息,以及将该组播协议报文中 的组播MAC地址保存至本地链路状态数据库中; 当监听到的所述组播协议报文为表征本地用户侧网络存在组播源的第二类组播协议 报文时,确定本地用户侧网络存在组播源,将该组播协议报文中与组播源对应的组播MAC地 址保存至本地链路状态数据库中,并记录本地存在该组播源。3. 如权利要求2所述的方法,其特征在于,所述方法还包括: 当监听到的所述组播协议报文为IGMP离开组报文时,将与该组播协议报文对应的作为 组播接收者的主机信息从本地链路状态数据库中删除,以及通知网络中的其它SPB设备从 各自链路状态数据库中同步删除。4. 如权利要求3所述的方法,其特征在于,所述第一类组播协议报文包括IGMP成员关系 报告报文;所述第二类组播协议报文包括IGMP成员关系查询报文、PIM协议报文或者目的 MAC与本地指定IP地址存在对应关系的组播协议报文。5. 如权利要求3所述的方法,其特征在于,所述方法还包括: 当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一作为组播接收 者的主机信息对应的加入组播组的第一类组播协议报文时,则将该主机信息从本地链路状 态数据库中删除,并通知网络中的其它SPB设备从各自链路状态数据库中同步删除;以及 当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一组播MAC对应的 组播流量时,则将该组播MAC从本地链路状态数据库中删除,并通知网络中的其它Sro设备 从各自链路状态数据库中同步删除。6. 如权利要求1所述的方法,其特征在于,所述将收集到的所述组播接收者和组播源同 步至网络中的其它SPB设备包括: 当确定本地用户侧网络存在组播接收者时,向网络中的其它SPB设备发送携带与该组 播接收者对应的主机信息,以及组播MAC地址的第一LSP报文,以使其它SPB设备在其本地链 路状态数据库中同步保存将该主机信息和该组播MAC地址; 当确定本地用户侧网络存在组播源时,为该组播源分配组播I-SID,并向网络中的其它 设备发送携带该组播I-SID,以及与该组播源对应的组播MAC地址的第二LSP报文,以使 其它SPB设备在其本地链路状态数据库中同步保存该组播Ι-SID和组播MAC地址。7. 如权利要求6所述的方法,其特征在于,所述为该组播源分配组播Ι-SID包括: 从为用户侧端口指定的多个Ι-SID中为该组播源分配Ι-SID;其中,所述用户侧端口指 定的多个Ι-SID绑定的BVLAN相同;所述多个Ι-SID包括主Ι-SID以及至少一个用于组播发送 的组播I-SID。8. 如权利要求1或7所述的方法,其特征在于,所述方法还包括: 在头端复制模式下,创建的所述组播转发表项包括: 所述组播源的组播MAC地址、BVLAN信息、所述目标BEB设备的MAC地址以及出接口; 在核心复制模式下,创建的所述组播转发表项包括: 所述组播源的组播MAC地址、基于所述组播Ι-SID生成的组播地址、BVLAN信息以及出接 □ 〇9. 一种SPBM网络中组播报文的转发方法,应用于SPBM网络中的BCB设备,其特征在于, 所述方法包括: 接收网络中各BEB设备同步至本地的组播接收者和组播源并保存至本地链路状态数据 库中;其中,所述组播接收者以及组播源由所述各BEB设备通过收集用户侧端口监听到的组 播协议报文中携带的信息得到; 在核心复制模式下,基于各BEB设备为其本地用户侧网络中的组播源分配的组播I-SID 分别创建对应的组播转发表项; 根据本地链路状态数据库中保存的所述组播接收者和所述组播源对与所述组播转发 表项对应的组播树进行剪枝,并基于剪枝后的所述组播树转发组播报文。10. 如权利要求9所述的方法,其特征在于,所述接收网络中各BEB设备同步至本地的组 播接收者和组播源,以及由各BEB设备为其本地用户侧网络中的组播源分配的组播Ι-SID包 括: 当网络中任一 BEB设备其本地用户侧网络存在组播接收者时,接收该BEB设备发送的携 带与该组播接收者对应的主机信息以及组播MAC的第一 LSP报文,并将该报文中携带的主机 信息和组播MAC在本地链路状态数据库中同步保存; 当网络中任一 BEB设备其本地用户侧网络存在组播源时,接收该BEB设备发送的携带该 BEB设备为该组播源分配的组播Ι-SID以及与该组播源对应的组播MAC的第二LSP报文,并将 该报文中携带的组播Ι-SID和组播MAC在本地链路状态数据库中同步保存。11. 如权利要求9所述的方法,其特征在于,创建的所述组播转发表项包括: 基于所述组播Ι-SID生成的组播地址、BVLAN信息以及出接口。12. 如权利要求11所述的方法,其特征在于,所述根据本地链路状态数据库中保存的所 述组播接收者和所述组播源对与所述组播转发表项对应的组播树进行剪枝包括: 根据本地链路状态数据库中保存的所述组播接收者和所述组播源确定网络中各SPB设 备的用户侧网络中是否存在对应于所述组播源的组播接收者; 当任一 SPB设备的用户侧网络中不存在对应于所述组播源的组播接收者时,如果该SPB 设备对应的出接口下未接入其它组播接收者,则在所述组播转发表项中将与该SI^B设备对 应的出接口删除,以针对与所述组播转发表项对应的组播树执行剪枝。13. -种SPBM网络中组播报文的转发装置,应用于SPBM网络中的BEB设备,其特征在于, 所述装置包括: 监听模块,用于通过用户侧端口监听组播协议报文,并基于监听到的所述组播协议报 文中携带的信息收集网络中的组播接收者以及组播源并保存至本地链路状态数据库中; 同步模块,用于将收集到的所述组播接收者和组播源同步至网络中的其它SPB设备,以 及将网络中其它BEB设备同步至本地的组播接收者以及组播源保存至本地链路状态数据库 中; 第一创建模块,用于在本地用户侧网络存在组播源时,查找本地链路状态数据库确定 网络中是否存在与该组播源对应的组播接收者;如果是,创建与所述组播接收者接入的目 标BEB设备之间的组播转发表项,并基于创建的该组播转发表项转发组播报文。14. 如权利要求13所述的方法,其特征在于,所述监听模块具体用于: 当监听到的所述组播协议报文为加入组播组的第一类组播协议报文时,确定本地用户 侧网络存在组播接收者,将与该组播协议报文对应的主机信息,以及将该组播协议报文中 的组播MAC地址保存至本地链路状态数据库中; 当监听到的所述组播协议报文为表征本地用户侧网络存在组播源的第二类组播协议 报文时,确定本地用户侧网络存在组播源,将该组播协议报文中与组播源对应的组播MAC地 址保存至本地链路状态数据库中,并记录本地存在该组播源。15. 如权利要求14所述的方法,其特征在于,所述监听模块进一步用于: 当监听到的所述组播协议报文为IGMP离开组报文时,将与该组播协议报文对应的作为 组播接收者的主机信息从本地链路状态数据库中删除,以及通知网络中的其它SPB设备从 各自链路状态数据库中同步删除。16. 如权利要求15所述的装置,其特征在于,所述第一类组播协议报文包括IGMP成员关 系报告报文;所述第二类组播协议报文包括IGMP成员关系查询报文、P頂协议报文或者目的 MAC对指定IP地址存在对应关系的组播协议报文。17. 如权利要求15所述的装置,其特征在于,所述装置还包括: 删除模块,用于当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一 作为组播接收者的主机信息对应的加入组播组的第一类组播协议报文时,则将该主机信息 从本地链路状态数据库中删除,并通知网络中的其它SPB设备从各自链路状态数据库中同 步删除;以及当在预设的老化时长内未接收到与本地链路状态数据库中保存的任一组播 MAC对应的组播流量时,则将该组播MAC从本地链路状态数据库中删除,并通知网络中的其 它SPB设备从各自链路状态数据库中同步删除。18. 如权利要求13所述的装置,其特征在于,所述同步模块具体用于: 当确定本地用户侧网络存在组播接收者时,向网络中的其它SPB设备发送携带与该组 播接收者对应的主机信息,以及组播MAC地址的第一LSP报文,以使其它SPB设备在其本地链 路状态数据库中同步保存将该主机信息和该组播MAC地址; 当确定本地用户侧网络存在组播源时,为该组播源分配组播I-SID,并向网络中的其它 设备发送携带该组播I-SID,以及与该组播源对应的组播MAC地址的第二LSP报文,以使 其它SPB设备在其本地链路状态数据库中同步保存该组播Ι-SID和组播MAC地址。19. 如权利要求18所述的装置,其特征在于,所述同步模块进一步用于: 从为用户侧端口指定的多个Ι-SID中为该组播源分配Ι-SID;其中,所述用户侧端口指 定的多个Ι-SID绑定的BVLAN相同;所述多个Ι-SID包括主Ι-SID以及至少一个用于组播发送 的组播I-SID。20. 如权利要求13所述的装置,其特征在于, 在头端复制模式下,所述第一创建模块创建的所述组播转发表项包括: 所述组播源的组播MAC地址、BVLAN信息、所述目标BEB设备的MAC地址以及出接口; 在核心复制模式下,所述第一创建模块创建的所述组播转发表项包括: 所述组播源的组播MAC地址、基于所述组播Ι-SID生成的组播地址、BVLAN信息以及出接 □ 〇21. -种SPBM网络中组播报文的转发装置,应用于SPBM网络中的BCB设备,其特征在于, 所述装置包括: 接收模块,用于接收网络中各BEB设备同步至本地的组播接收者和组播源并保存至本 地链路状态数据库中;其中,所述组播接收者以及组播源由所述各BEB设备通过收集用户侧 端口监听到的组播协议报文中携带的信息得到; 第二创建模块,用于在核心复制模式下,基于各BEB设备为其本地用户侧网络中的组播 源分配的组播I -S ID分别创建对应的组播转发表项; 剪枝模块,用于根据本地链路状态数据库中保存的所述组播接收者和所述组播源对与 所述组播转发表项对应的组播树进行剪枝,并基于剪枝后的所述组播树转发组播报文。22. 如权利要求21所述的装置,其特征在于,所述接收模块具体用于: 当网络中任一 BEB设备其本地用户侧网络存在组播接收者时,接收该BEB设备发送的携 带与该组播接收者对应的主机信息以及组播MAC的第一 LSP报文,并将该报文中携带的主机 信息和组播MAC在本地链路状态数据库中同步保存; 当网络中任一 BEB设备其本地用户侧网络存在组播源时,接收该BEB设备发送的携带该 BEB设备为该组播源分配的组播Ι-SID以及与该组播源对应的组播MAC的第二LSP报文,并将 该报文中携带的组播Ι-SID和组播MAC在本地链路状态数据库中同步保存。23. 如权利要求21所述的装置,其特征在于,所述第二创建模块创建的所述组播转发表 项包括: 基于所述组播Ι-SID生成的组播地址、BVLAN信息以及出接口。24. 如权利要求23所述的装置,其特征在于,所述剪枝模块具体用于: 根据本地链路状态数据库中保存的所述组播接收者和所述组播源确定网络中各SPB设 备的用户侧网络中是否存在对应于所述组播源的组播接收者; 当任一 SPB设备的用户侧网络中不存在对应于所述组播源的组播接收者时,如果该SPB 设备对应的出接口下未接入其它组播接收者,则在所述组播转发表项中将与该SI^B设备对 应的出接口删除,以针对与所述组播转发表项对应的组播树执行剪枝。
【文档编号】H04L12/931GK106059962SQ201610402514
【公开日】2016年10月26日
【申请日】2016年6月7日
【发明人】杨斌
【申请人】杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1