一种组播快速收敛的方法及转发设备与流程

文档序号:17567840发布日期:2019-05-03 19:01阅读:323来源:国知局
一种组播快速收敛的方法及转发设备与流程

本发明涉及通信领域,尤其涉及一种组播快速收敛的方法及转发设备。



背景技术:

组播协议分为用户主机与组播路由器之间的组成员关系协议,以及组播路由器之间的组播路由协议。其中,组成员关系协议包括IGMP(Internet Group Management Protocol,互联网组管理协议),组播路由协议包括PIM(Protocol Independent Multicast,独立组播协议)。

二层网络可以是指组播路由器与用户主机之间的转发网络,用于实现用户主机与组播路由器之间的组播数据按需转发。二层网络也可以是组播路由器之间的转发网络,用于实现多个组播路由器之间的组播数据按需转发。

以组播路由器与用户主机之间的二层网络举例说明,参照图1所示的网络架构,用户主机挂在二层网络下,通过二层网络与三层网络中的组播路由器通信。二层网络包括交换机A、B和C,交换机A和交换机B之间的链路阻塞,交换机A和交换机C之间的链路正常,交换机B和交换机C之间的链路正常。用户主机1和2都挂在交换机B上,用户主机3挂在交换机C上。三层网络中的组播路由器每隔一个周期会向二层网络发送IGMP查询报文,以确定组播组内是否存在用户主机。二层网络中的每个交换机在接收以及转发该IGMP查询报文的过程中,记录各自的组播转发表中的路由器端口,其中,所述路由器端口是指交换机上传输组播报文的端口。

如果二层网络的拓扑结构发生变化,例如某条链路发生故障,二层网络中的交换机需要重新学习路由器端口才能正常转发数据报文。二层网络中的交换机重新学习路由器端口的过程即网络收敛。由于三层网络的组播路由器不感知二层网络拓扑结构的变化,因此,二层网络的拓扑发生变化后,只能等到三层网络下一个周期发送IGMP查询报文,才能重新学习变化后的二层网络的拓扑结构,收敛速度较慢。



技术实现要素:

本发明的目的是提供一种组播快速收敛的方法及转发设备,有助于提高组播收敛速度。

为了达到上述目的,本发明采用如下的技术方案:

第一方面,提供一种组播快速收敛的方法,所述方法包括:第一转发设备确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态;所述第一转发设备通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口。

其中,所述方法可应用于组播网络中的二层网络,所述第一转发设备可以是二层网络中的交换机,或者是能够实现二层网络功能的路由器。

其中,所述第二转发设备上作为转发组播报文的端口可以是所述第二转发设备的第一端口。所述第一端口可以是与上游转发设备,比如第一转发设备,传输组播报文的端口。所述第二转发设备可通过所述第二转发设备的第一端口,接收来自所述第一转发设备的组播协议报文或组播数据。所述第二转发设备还可通过所述第二转发设备的第一端口,向所述第一转发设备发送组播报文,比如组播加入报文。

在第一方面中,第一转发设备可存储三层网络,比如组播路由器,周期性发送的组播协议报文。所述第一转发设备所在网络中的转发设备通过互相发送组播协议报文即可实现重新学习用于传输组播报文的端口。所述第一转发设备所在网络中的转发设备能即刻感知到所在网络的拓扑的变化。因此,如果所述第一转发设备所在网络的拓扑发生变化,则与所述第一转发设备向处于同一组播网络中的第二转发设备发送所述组播协议报文,所述第二转发设备能够通过所述组播协议报文重新学习到用于传输组播报文的端口,无需等待所述组播路由器周期性发送的组播协议报文,提高了网络收敛的速度。

结合第一方面,在第一方面的第一种可能的实现方式中,所述第一转发设备确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态之前,所述方法还包括:所述第一转发设备通过所述第一转发设备的第二端口,接收来自所述组播路由器的所述组播协议报文;所述第一转发设备缓存所述第二端口接收到的所述组播协议报文。在上述可能的实现方式中,所述第一转发设备可以是直接接收到三层网络中的组播路由器发送的组播协议报文,也就是说,所述第一转发设备的第二端口与所述组播路由器直接相连;所述第一转发设备也可以是通过其他转发设备间接接收到所述组播路由器发送的组播协议报文,也就是说,所述第一转发设备的第二端口与另一转发设备相连,所述第一转发设备接收另一转发设备发送的来自所述组播路由器的所述组播协议报文。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一转发设备通过所述第一转发设备的第二端口,接收来自所述组播路由器的所述组播协议报文包括:所述第一转发设备通过所述第二端口,接收第三转发设备发送的所述组播协议报文;所述第一转发设备通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文之前,所述方法还包括:所述第一转发设备在确定所述第二端口与所述第三转发设备间的链路处于正常状态后,向所述第二转发设备发送缓存的所述第二端口接收的组播协议报文。所述第一转发设备所在网络的拓扑结构可能为环形拓扑,因此,所述第一次转发设备为了避免信息回流可以对部分链路进行的阻断,这样,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复到正常状态时,可能将所述第一转发设备与另一转发设备之间的链路进行阻断。在上述可能的实现方式中,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复到正常状态后,若所述第一转发设备的第二端口与所述第三转发设备间的链路处于正常状态,即未被阻断,则可以将从所述第一转发设备的第二端口接收并缓存的组播协议报文发送至所述第二转发设备。

结合第一方面的第一种可能的实现方式中,在第一方面的第三种可能的实现方式中,所述第一转发设备缓存所述第二端口接收到的所述组播协议报文后,启动定时器;所述第一转发设备在确定所述定时器超时后,删除缓存的所述第二端口接收到的组播协议报文。在上述可能的实现方式中,可选地,所述第一转发设备还可以对所述第一转发设备的每个路由器端口设有端口老化定时器,在所述端口老化定时器超时之前,若所述第一转发设备从所述路由器端口再次接收到组播协议报文,则所述第一转发设备重启所述端口老化定时器,若所述端口老化定时器超时,则将所述路由器端口恢复为普通端口。并且,可选地,所述第一转发设备为每个组播协议报文设置的定时器可以与接收到所述组播协议报文的路由器端口的端口老化定时器同步。在某一组播协议报文的定时器超时之前,若接收到所述组播协议报文的路由器端口再次接收到所述三层网络发送的组播协议报文,则所述第一转发设备利用新接收到的组播协议报文更新所述组播协议报文,并重启为所述组播协议报文设置的定时器,若所述定时器超时,则所述第一转发设备删除缓存的所述组播协议报文。

结合以上第一方面的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一转发设备确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态之后,所述方法还包括:所述第一转发设备阻断所述第一转发设备的第三端口与第四转发设备间的链路;所述第一转发设备删除缓存的所述第三端口接收到的组播协议报文。所述第一转发设备所在网络的拓扑结构可能为环形拓扑,所述第一次转发设备为了避免信息回流可以对部分链路进行的阻断,因此,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复正常状态后,若所述第一端口与所述第二转发设备间的链路以及所述第三端口与第四转发设备间的链路均能正常通信,所述第一转发设备发出的报文将会回流至所述第一转发设备,在此种情况下,所述第一转发设备可以阻断所述第一转发设备的第三端口与第四转发设备间的链路。可选地,所述第一转发设备在阻断所述第一转发设备的第三端口与第四转发设备间的链路后,可以删除从所述第三端口接收并存储的组播协议报文。

结合第一方面,或者以上第一方面的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述组播协议报文为协议无关组播PIM hello报文,所述第二转发设备的下游设备为主机,所述第一转发设备通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文之后,所述方法还包括:所述第一转发设备通过所述恢复到正常状态的链路,向所述第二转发设备发送因特网组管理协议IGMP查询报文,所述IGMP查询报文的源地址为0,所述IGMP查询报文用于触发所述主机上报IGMP响应报文。三层网络中可能包括多个组播路由器,每个组播路由器周期性向所述二层网络发送PIM hello报文,所述多个组播路由器中有一个组播路由器作为查询器周期性向所述第一转发设备所在网络发送IGMP查询报文,在上述可能的实现方式中,所述第一转发设备存储所述PIM hello报文,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复正常状态时,将自身存储的所述PIM hello报文通过所述恢复到正常状态的链路发送至所述第二转发设备,所述第二转发设备将接收到所述PIM hello报文的所述第二转发设备的第一端口设为用于传输组播报文的端口。这样,所述第二转发设备在接收到所述源地址为0的IGMP查询报文后,将所述源地址为0的IGMP查询报文发送至所述主机,所述第二转发设备接收到所述主机发送的用于响应所述IGMP查询报文的IGMP响应报文后,通过所述第二转发设备的第一端口将所述IGMP响应报文发送至所述第一转发设备。

第二方面,提供另一种组播快速收敛的方法,所述方法包括:第二转发设备通过所述第二转发设备的第一端口与第一转发设备间的链路,接收所述第一转发设备发送的组播协议报文,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口;所述第二转发设备根据所述组播协议报文,将所述第二转发设备的第一端口设为用于传输组播报文的端口。

在第二方面中,所述第二转发设备所在网络的拓扑变化时,所述第二转发设备通过接收所述第一转发设备发送的所述第一转发设备缓存的组播协议报文即可实现重新学习用于传输组播报文的端口,无需等到组播路由器下一周期发送组播协议报文,提高了收敛的速度。

结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:所述第二转发设备接收下游设备发送的组播报文;所述第二转发设备通过所述第二转发设备的第一端口,向所述第一转发设备发送所述组播报文。在上述可能的实现方式中,所述第二转发设备的第一端口可以是与上游转发设备,比如第一转发设备,传输组播报文的端口。所述第二转发设备可通过所述第二转发设备的第一端口,接收来自所述第一转发设备的组播协议报文或组播数据。所述第二转发设备还可通过所述第二转发设备的第一端口,向所述第一转发设备发送组播报文,比如组播加入报文。

结合第二方面的第一种可能的实现方式中,在第二方面的第二种可能的实现方式中,所述方法还包括:所述第二转发设备阻断所述第二转发设备的第二端口与第三转发设备间的链路;所述第二转发设备删除从所述第二端口接收到的来自所述第三转发设备的组播协议报文。

结合第二方面,或者以上第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述组播协议报文为域间组播协议PIM hello报文,所述第二转发设备的下游设备为主机。这样,所述第二转发设备在通过所述第二转发设备的第一端口接收到所述PIM hello报文后,将所述第二转发设备的第一端口设为用于传输组播报文的端口。进一步,可选地,所述第二转发设备还可以通过所述第二转发设备的第一端口接收所述第一转发设备发送的源地址为0的IGMP查询报文;所述第二转发设备将所述源地址为0的IGMP查询报文发送至与所述第二转发设备相连的所述主机,所述第二转发设备接收所述主机根据所述源地址为0的IGMP查询报文上报的IGMP响应报文,并通过所述第二转发设备的第一端口将所述IGMP响应报文发送至所述第一转发设备。

第三方面,提供一种转发设备,所述转发设备用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。其中一种实现方式,具体地,所述转发设备包括用于执行上述第一方面或第一方面的任一可能的实现方式中的方法的单元。另一种实现方式,所述转发设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。

第四方面,提供另一种转发设备,所述转发设备用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。其中一种实现方式,具体地,所述转发设备包括用于执行上述第二方面或第二方面的任一可能的实现方式中的方法的单元。一种实现方式,具体地,所述转发设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。

第五方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的指令。

第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任一可能的实现方式中的方法的指令。

本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

在以上方面的某些可能的实现方式中,所述组播协议报文为因特网组管理协议IGMP查询报文。其中,三层网络中作为查询器的组播路由器周期性的向所述第一转发设备所在网络发送IGMP查询报文,所述网络中的转发设备存储所述IGMP查询报文,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复正常状态时,将自身存储的所述IGMP查询报文通过所述恢复正常状态的链路发送至所述第二转发设备,所述第二转发设备通过所述第二转发设备的第一端口接收到所述IGMP查询报文后,将所述第二转发设备的第一端口设为用于传输组播报文的端口,并将所述IGMP查询报文发送至所述第二转发设备的下游设备,这样,所述第二转发设备接收到其下游设备发送的用于响应所述IGMP查询报文的IGMP响应报文后,可以通过所述第二转发设备的第一端口将所述IGMP响应报文发送至所述第一转发设备。

在以上方面的某些可能的实现方式中,所述组播协议报文为协议无关组播PIM hello报文。三层网络中的每个组播路由器周期性的向所述第一转发设备所在网络发送PIM hello报文,所述网络中的转发设备存储所述PIM hello报文,所述第一转发设备在确定所述第一转发设备的第一端口与所述第二转发设备间的链路恢复正常状态时,将自身存储的所述PIM hello报文通过所述恢复正常状态的链路发送至所述第二转发设备,所述第二转发设备通过所述第二转发设备的第一端口接收到所述PIM hello报文后,将所述第二转发设备的第一端口设为用于传输组播报文的端口,并将所述PIM hello报文发送至所述第二转发设备的下游设备,这样,所述第二转发设备接收到其下游设备发送的用于响应所述PIMhello报文的PIM响应报文后,可以通过所述第二转发设备的第一端口将所述PIM响应报文发送至所述第一转发设备。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一种网络架构的示意图;

图2为本发明实施例提供的一种组播网络的架构示意图;

图3为本发明实施例提供的一种组播快速收敛的方法的流程示意图;

图4为本发明实施例提供的一种接收并存储组播协议报文的方法的流程示意图;

图5为本发明实施例提供的一种网络拓扑变化的场景示意图;

图6为本发明实施例提供的另一种网络拓扑变化的场景示意图;

图7为本发明实施例提供的另一种网络拓扑变化的场景示意图;

图8为本发明实施例提供的一种转发设备的结构示意图;

图9为本发明实施例提供的另一种转发设备的结构示意图;

图10为本发明实施例提供的又一种转发设备的结构示意图;

图11为本发明实施例提供的又一种转发设备的结构示意图。

具体实施方式

为了使本领域技术人员更容易理解本发明提供的技术方案,首先对本发明涉及到的技术术语进行简单介绍。

以图1所示网络架构举例说明,交换机A从port1端口接收三层网络下发的IGMP查询报文,并从port2端口将该IGMP查询报文发送至交换机C,该交换机A在组播转发表中记录port1端口为其路由器端口,交换机C从port8端口接收该IGMP查询报文,并从port9端口将该IGMP查询报文发送至交换机B,从port10端口将该IGMP查询报文发送至用户主机3,该交换机C在组播转发表中记录port8端口为其路由器端口,该交换机B从port7接收该IGMP查询报文,并从port5端口和port6端口将该IGMP查询报文分别发送至用户主机1和用户主机2,该交换机B在组播转发表中记录port7端口为其路由器端口。各用户主机在接收到该IGMP查询报文后,上报IGMP响应报文,每个交换机在接收以及转发该IGMP响应报文的过程中,记录各自的组播转发表中的组播成员端口,其中,每个交换机从组播成员端口接收到的报文只会从路由器端口发出。通常,组播路由器之间的二层网络学习路由器端口的过程与上述过程一致。因此,二层网络的拓扑发生变化后,只能等到三层网络下一个周期发送IGMP查询报文,才能重新学习变化后的二层网络的拓扑结构,收敛速度较慢。

图2为一种组播网络的架构图,包括服务器,远程组播路由器,部署PIM snooping(Protocol Independent Multicast Snooping,协议无关组播窥探)的二层网络,本地组播路由器,部署IGMP snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)的二层网络,用户主机,其中,二层网络均由转发设备连接组成,对于部署PIM snooping的二层网络来说,其下游设备为本地组播路由器,对于部署IGMP snooping的二层网络来说,其下游设备为用户主机。

值得说明的是,本发明实施例所描述的转发设备可以是交换机,也可以是充当交换机使用的路由器。本发明实施例所描述的路由器端口是指转发设备上用于传输组播报文的端口。

运行PIM Snooping的二层网络通过对收到的PIM协议报文进行分析,将有接收需求的端口添加到相应的组播转发表项中,以实现组播数据的精确转发。

IGMP snooping是运行在二层网络上的组播约束机制,用于管理和控制组播组。

在PIM域中,三层网络中每个路由器通过周期性地的向其他所有路由器以组播方式发送PIM Hello报文,以发现同网段的PIM邻居,维护同网段的各路由器之间的PIM邻居关系,并且竞选本网段的DR(英文全称:Designated Router,中文:指定路由器)。其中,无论是与组播源相连的网络,还是与用户主机相连的网络,都需要选举DR,用户主机侧的DR负责向RP(英文全称:Rendezvous Point,中文:汇集点)发送加入报文,组播源侧的DR负责向RP发送注册报文。

IGMP查询报文由三层网络中作为查询器的组播路由器发至全主机组,以发现在局域网内各用户主机需接收哪些组播组报文,其中,查询器会按照一定周期定时发送该IGMP查询报文。

上述IGMP查询报文以及PIM Hello报文均可用于转发设备学习路由器端口,所述路由器端口是指以太网交换机上和组播路由器相连的端口,可以是物理上相连,即直接相连,也可以是逻辑上相连,即通过其他交换机间接相连。

本发明实施例提供了一种组播快速收敛的方法,如图3所示,该方法包括:

S301、第一转发设备确定该第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态。

值的说明的是,转发设备之间的链路不可使用可能存在多种原因,例如,链路故障,或者,在环形拓扑结构的二层网络中,转发设备为了避免环路回流而对部分链路进行的阻断。步骤S301中描述的链路恢复正常状态包括链路从不同不可使用状态恢复到正常使用状态,例如,链路由物理断开恢复至物理连接,或者,链路由阻断状态恢复至正常状态,即正常通信状态。

处于同一二层网络中的各转发设备采用通常的检测方法即可以感知到二层网络中链路状态的变化,在此不再对通常的检测方法进行逐一举例说明。

结合图1,该第一转发设备所处的二层网络可以是远程组播路由器与本地组播路由器之间的二层网络,也可以是本地组播路由器与用户主机之间的二层网络。其中,该第一转发设备可以是二层网络中的任一转发设备。

S302、该第一转发设备通过所述恢复到正常状态的链路,向该第二转发设备发送缓存的来自组播路由器的组播协议报文。

其中,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口,即转发设备的路由器端口。

具体地,当该第一转发设备所在二层网络为图1中所示的部署PIM snooping的二层网络时,上述组播协议报文即为PIM hello报文,当该第一转发设备所处二层网络为图1中所示的部署IGMP snooping的二层网络时,上述组播协议报文可以为PIM hello报文也可以为IGMP查询报文。

S303、该第二转发设备通过该第二转发设备的第一端口与该第一转发设备间的链路,接收该第一转发设备发送的所述组播协议报文。

S304、该第二转发设备根据所述组播协议报文,将所述第二转发设备的第一端口设为用于传输组播报文的端口。

其中,所述用于传输组播报文的端口用于,该第二转发设备接收到其下游设备发送的组播协议报文后,例如组播加入报文,可以将该组播协议报文通过该端口发送至该第一转发设备。该第二转发设备还可以通过所述用于传输组播报文的端口接收所述第一转发设备发送的组播数据报文。

这样,采用上述方法,该第二转发设备在接收到该第一转发设备发送的PIM hello报文或者该IGMP查询报文后,即可以学习到路由器端口,无需等到三层网络下一周期发送查询报文,从而提高了第二转发设备学习到路由器端口的速度,进而加快了二层网络的收敛。

为了使本领域的技术人员更容易理解本发明提供的技术方案,下面对本发明提供的组播快速收敛的方法进行详细的举例说明。

首先,二层网络中的各转发设备可存储三层网络,比如组播路由器,周期性发送的组播协议报文。示例地,该第一转发设备接收并存储组播协议报文的方法如图4所示,包括:

S401、该第一转发设备接收三层网络在第一周期发送的第一组播协议报文。

若该第一转发设备直接与该三层网络的组播路由器相连,则该第一转发设备接收到的该第一组播协议报文是该组播路由器直接发送至该第一转发设备的组播协议报文;若该第一转发设备通过其他转发设备与三层网络中的组播路由器间接相连,则该第一组播协议报文是该第一转发设备接收到的所述其他转发设备转发的来自该组播路由器的组播协议报文。

S402、该第一转发设备缓存该第一组播协议报文,并将接收到该第一组播协议报文的端口设为第一路由器端口。

S403、该第一转发设备启动用于老化该第一组播协议报文的定时器以及用于老化该第一路由器端口的端口老化定时器。

所述老化是指,当该定时器超时,该第一转发设备删除该第一协议报文,当该端口老化定时器超时,该第一转发设备将该第一路由器端口设为普通端口。

可选地,该报文老化定时器与该端口老化定时器的定时时长相同。

S404、该第一转发设备通过该第一路由器端口接收该三层网络在第二周期发送的第二组播协议报文。

S405、若该第二组播协议报文与该第一组播协议报文相同,则该第一转发设备重新启动该定时器以及该端口老化定时器。

S406、若该第二组播协议报文与该第一组播协议报文不相同,则该第一转发设备利用所述第二组播协议报文覆盖所述第一组播协议报文,并重新启动该定时器以及该端口老化定时器。

这样,图3示出的步骤S302中,该第一转发设备发送至该第二转发设备的组播协议报文即可以是该第一转发设备从该第一路由器端口最新接收到的且未老化的组播协议报文。值的说明的是,同一转发设备可能缓存有从多个端口接收到的组播协议报文,在此种情况下,图3示出的步骤S302中,该第一转发设备可以选择缓存的任一组播协议报文发送至该第二转发设备。

在本发明实施例的一种可能的实现方式中,该组播协议报文具体为IGMP查询报文,该第二转发设备的下游设备为用户主机。该第二转发设备通过该第二转发设备的第一端口接收到该第一转发设备发送的该IGMP查询报文后,将该第二转发设备的第一端口设为用于传输组播报文的端口,并将该IGMP查询报文发送至该用户主机,这样,该第二转发设备接收到该用户主机发送的用于响应该IGMP查询报文的IGMP响应报文后,可以通过该第二转发设备的第一端口与该第一转发设备之间的链路将该IGMP响应报文发送至该第一转发设备。

示例地,如图5所示,组播网络包括组播路由器R1,交换机S1,S2,S3和S4组成的二层网络,以及该二层网络的下游设备,即图5中示出的用户主机H1,H2,H3和H4。交换机S1,S2,S3和S4之间环形连接,为了避免信息回流,交换机S1与S2之间的链路处于阻断状态,其中,图5中的交换机S1和S2之间的链路上的黑圆点表示该链路阻断。结合图1,图5中示出的二层网络是图1中的本地组播网络与用户主机之间的二层网络,R1为本地组播路由器。

在此种情况下,组播路由器R1周期性向该交换机S1发送IGMP查询报文,并且,通过路径S1—>S3—>S4—>S2,如图5所示的二层网络中,交换机之间加粗的实线组成的路径,将该IGMP查询报文发送至每个交换机,每个交换机在收到该IGMP查询报文后,学习到自身的路由器端口,如图5所示,交换机S1的路由器端口为Port1,交换机S3的路由器端口为Port13,交换机S4的路由器端口为Port11,交换机S2的路由器端口为Port7,每个交换机还对该IGMP查询报文进行存储,并将该IGMP查询报文发送至下游的用户主机,触发用户主机上报IGMP响应报文,其中,所述IGMP响应报文即为用户主机加入组播组的IGMP report报文,该IGMP report报文包括了用户主机加入的组播组的标识,每个交换机在接收到IGMP响应报文后,将该IGMP响应报文从自身的路由器端口发出。

进一步地,在该交换机S1阻断S1与S3之间的链路,并将S1与S2之间的链路恢复到正常状态,该交换机S1将存储的IGMP查询报文发送至该交换机S2,该交换机S2接收到IGMP查询报文后,记录Port4端口为路由器端口,并将该IGMP查询报文发送至该交换机S4,该交换机S4接收到该IGMP查询报文后,记录Port8为路由器端口,并将该IGMP查询报文发送至交换机S3,该交换机S3接收到该IGMP查询报文后,记录Port12端口为路由器端口。并且,该交换机S2还可以将接收到的IGMP查询报文发送至用户主机H1和H2,该交换机S4可以将接收到的IGMP查询报文发送至用户主机H3和H4,触发用户主机H1,H2,H3和H4回复IGMP响应报文。其中,该交换机S2收到该IGMP响应报文后,将该IGMP响应报文通过Port4端口发送至交换机S1。

上述只是举例说明,在具体实施时,二层网络可能具有其他拓扑变化的情况,例如,初始阻断的链路为交换机S2与交换机S4之间的链路,拓扑变化后,交换机S2与交换机S4之间的链路恢复到正常状态,交换机S1与交换机S3之间的链路阻断,不同拓扑变化的情况均可参照上述收敛过程,此处不再赘述。

在上述收敛过程中,交换机S2在确定与交换机S1之间的链路恢复到正常状态后,也可以向交换机S1发送的存储的IGMP查询报文,交换机S1在接收到该IGMP查询报文后,将Port3记录为路由器端口,在此种情况下,该交换机S1的路由器端口即包括Port1和Port3,其中,交换机S1在接收到IGMP响应报文后,会同时向所有路由器端口转发该IGMP响应报文。

另外,交换机S1与S2之间的链路恢复到正常状态时,为了避免回流阻断的链路不固定,例如可以阻断交换机S2和S4之间的链路,此时,该交换机S2在确定Port7端口与交换机S4的Port8端口之间的链路阻断后,该交换机S2可以删除从Port7接收并存储的组播协议报文。

也就是说,对于二层网络中的任一交换机,其在确定与另一交换机之间的链路恢复到正常状态后,确定接收组播协议报文的端口是否被阻断,若被阻断,则删除从被阻断的端口接收并存储的组播协议报文,若未被阻断,则将从该端口接收并存储的组播协议报文发送至该另一交换机。上述只是一种优选的实现方式,该交换机在确定某一端口的链路阻断后,也可以不删除从该端口接收并存储的组播协议报文。该交换机将该组播协议报文发送至另一交换机后,同样可以让该另一交换机正确学习到路由器端口。

由上述过程可知,图5所示的二层网络中的交换机存储三层网络周期性发送的组播协议报文,这样,所述二层网络中的交换机之间通过互相发送组播协议报文即可重新学习到路由器端口,又由于所述二层网络的拓扑发生变化时,交换机能即刻感知到,因此,当所述二层网络的拓扑发生变化时,所述二层网络中的交换机能够即刻重新学习到路由器端口,无需等到三层网络在下一周期发送组播协议报文,提高了网络收敛的速度。

在本发明实施例的另一种可能的实现方式中,该组播协议报文为PIM hello报文,该第二转发设备的下游设备为路由器。该第一转发设备在确定该第一转发设备的第一端口与该第二转发设备间的链路恢复正常状态时,将自身存储的该PIM hello报文通过该恢复正常状态的链路发送至该第二转发设备,该第二转发设备通过该第二转发设备的第一端口接收到该PIM hello报文后,将该第二转发设备的第一端口设为用于传输组播报文的端口,并将该PIM hello报文发送至该第二转发设备的下游设备,这样,该第二转发设备接收到其下游设备发送的用于响应该PIM hello报文的PIM响应报文后,可以通过该第二转发设备的第一端口将该PIM响应报文发送至该第一转发设备。

示例地,如图6所示,组播网络包括远程组播路由器R1,交换机S1,S2,S3和S4组成的二层网络,以及该二层网络的下游设备,即图6中示出的本地组播路由器R2,R3,R3和R4。其中,交换机S1,S2,S3和S4之间环形连接,为了避免信息回流,交换机S2与S4之间的链路处于阻断状态。结合图1,图6中示出的二层网络为远程组播路由器与本地组播路由器之间的二层网络,R1为远程组播路由器。

进一步地,在该交换机S1阻断S1与S3之间的链路,并启用S2与S4之间的链路时,该交换机S2将存储的PIM hello报文发送至该交换机S4,该交换机S4接收到PIM hello报文后,记录Port8端口为路由器端口,并将该PIM hello报文发送至该交换机S3,该交换机S3接收到该PIM hello报文后,记录Port12为路由器端口。并且,该交换机S4还可以将接收到的PIM hello报文发送至组播路由器R4和R5,触发组播路由器R4和R5回复PIM响应报文,该PIM响应报文可以是PIM join(加入)报文或者PIM prune(剪出)报文。其中,该交换机S4接收到该PIM响应报文后,通过Port8端口将该PIM响应报文发送至交换机S2。

在具体实施时,若图6所示的二层网络是VPLS(Virtual Private LAN Server,虚拟专用局域网业务)网络,在此种情况下,二层网络在阻断某一链路时,会进行联动删除,即将交换机在该链路上学习到的路由器端口以及存储的PIMhello报文均进行删除,例如,该交换机S1阻断S1与S3之间的链路后,交换机S3会将路由器端口Port13设为普通端口以及删除从Port13接收并存储的PIMhello报文,交换机S4也会将路由器端口Port11设为普通端口并删除从Port11接收并存储的PIM hello报文,因此交换机S4在确定Port8与Port7之间的链路恢复到正常状态后,不会向交换机S2发送存储的PIM hello报文。

在本发明实施例的另一种可能的实现方式中,该组播协议报文为PIM hello报文,该第二转发设备的下游设备为主机,该第一转发设备通过该恢复到正常状态的链路,向该第二转发设备发送缓存的来自组播路由器的组播协议报文之后,该第一转发设备还可以通过该恢复到正常状态的链路,向该第二转发设备发送IGMP查询报文,该IGMP查询报文的源地址为0,该IGMP查询报文用于触发该主机上报IGMP响应报文。具体地,该第二转发设备通过该第二转发设备的第一端口接收到该IGMP查询报文后,将该第二转发设备的第一端口设为用于传输组播报文的端口,并将该源地址为0的IGMP查询报文发送至该主机,该第二转发设备接收到该主机发送的用于响应该IGMP查询报文的IGMP响应报文后,通过该第二转发设备的第一端口将该IGMP响应报文发送至该第一转发设备。

如图7所示,组播网络包括远程组播路由器R1以及R2,交换机S1,S2,S3和S4组成的二层网络,以及该二层网络的下游设备,即图7中示出的用户主机H1,H2,H3和H4。其中,交换机S1,S2,S3和S4之间环形连接,为了避免信息回流,交换机S1与S2之间的链路处于阻断状态。

值得说明的是,二层网络上层连接有多个组播路由器时,多个组播路由器之间需要周期性发送PIM hello报文以竞选DR,该DR是向用户主机发送业务数据的组播路由器,并且多个组播路由器中有一个组播路由器作为查询器,该查询器周期性发送IGMP查询报文以发现组播组内的各用户主机。

示例地,图7中的远程组播路由器R1和R2均周期性向二层网络发送PIM查询报文,远程组播路由器R2作为查询器周期性向二层网络发送IGMP查询报文。在此种情况下,若该交换机S1阻断S1与S3之间的链路,并启用S1与S2之间的链路,此时,可以通过以下两种方式实现网络收敛:

方式一、交换机S2通过Port4端口向交换机S1发送存储的从Port7端口接收的IGMP查询报文,该交换机S1通过Port3接收到该IGMP查询报文后,将Port3设为路由器端口。

由于交换机S1的Port2与交换机S3的Port13之间的链路阻断,该交换机S1可以删除从该Port2接收到的IGMP查询报文,因此,该交换机S1无需向该交换机S2发送存储的IGMP查询报文。

方式二、交换机S1通过Port3端口向交换机S2发送从Port1端口接收并存储的PIM hello报文,该交换机S1通过Port4接收到该PIM hello报文后,将Port4设为路由器端口。

进一步,由于交换机S1的Port2与交换机S3的Port13之间的链路阻断,因此,该交换机S1还可以自身发送源地址为0的IGMP查询报文至交换机S2,其中,对于接收到的源地址为0的IGMP查询报文,交换机不学习路由器端口,这样,该交换机S2接收到源地址为0的IGMP查询报文后,将该源地址为0的IGMP查询报文发送至用户主机H1和H2,触发用户主机H1和H2上报IGMP响应报文,该交换机S2接收到该IGMP查询报文后,通过Port4端口将该IGMP查询报文发送至该交换机S1。

上述对图5,图6和图7的描述只是本发明提供的一种收敛二层网络的方法的示例,在具体实施时,二层网络的拓扑除了环形拓扑结构,还可能是其他结构,例如菱形拓扑等,本发明对此不做限定。并且,本发明对三层网络的拓扑结构也不做限定。另外,上述只是举例说明,图5,图6和图7所示二层网络中的交换机也可以是充当交换机使用的路由器。

本发明实施例还提供一种转发设备80,用于实施上述方法实施例中所描述的第一转发设备执行的方法步骤。转发设备80可以是上述实施例中的第一转发设备。如图8所示,该转发设备80包括:

确定单元81,用于确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态;

发送单元82,用于通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口。

其中,该第一转发设备可应用于组播网络中的二层网络,该第一转发设备可以是二层网络中的交换机,或者是能够实现二层网络功能的路由器。

示例地,该第二转发设备通过该第二转发设备的第一端口接收到该第一转发设备发送的组播协议报文后,该第二转发设备可通过该第二转发设备的第一端口,接收来自该第一转发设备的组播协议报文或组播数据。所述第二转发设备还可通过所述第二转发设备的第一端口,向所述第一转发设备发送组播报文,比如组播加入报文。

采用上述转发设备,该转发设备可存储三层网络,比如组播路由器,周期性发送的组播协议报文。该转发设备所在网络中的转发设备通过互相发送组播协议报文即可实现重新学习用于传输组播报文的端口。该转发设备所在网络中的转发设备能即刻感知到所在网络的拓扑的变化。因此,如果该转发设备所在网络的拓扑发生变化,则与该转发设备向处于同一组播网络中的第二转发设备发送该组播协议报文,该第二转发设备能够通过该组播协议报文重新学习到用于传输组播报文的端口,无需等待该组播路由器周期性发送的组播协议报文,提高了网络收敛的速度。

可选地,所述转发设备80还包括:接收单元83,用于通过该第一转发设备的第二端口,接收来自该组播路由器的该组播协议报文;存储单元84,用于缓存该第二端口接收到的该组播协议报文。

可选地,该转发设备80还包括:管理单元85,用于在该存储单元84缓存该第二端口接收到的该组播协议报文后,启动定时器;并在确定该定时器超时后,删除该存储单元84缓存的该第二端口接收到的组播协议报文。

具体地,第一转发设备存储组播协议报文的方法可以参照上述方法实施例中对应图4的描述,此处不再赘述。

可选地,该接收单元83具体用于:通过该第二端口,接收第三转发设备发送的该组播协议报文;该发送单元82具体用于:在确定该第二端口与该第三转发设备间的链路处于正常状态后,向该第二转发设备发送缓存的该第二端口接收的组播协议报文。

可选地,该第一转发设备包括的处理单元,用于阻断该第一转发设备的第三端口与第四转发设备间的链路,并删除该存储单元缓存的该第三端口接收到的组播协议报文。具体地,该第一转发设备可能从多个端口接收并存储组播协议报文,该第一转发设备在确定其第一端口与第二转发设备之间的链路恢复到正常状态后,为了避免回流,可能阻断该第一转发设备的另一端口,在此种情况下,该第一转发设备若从该另一端口接收并存储有组播协议报文,则该第一转发设备可以删除该组播协议报文。

在本发明实施例的一种可能的实现方式中,该组播协议报文为IGMP查询报文,该第二转发设备的下游设备为用户主机。具体参照方法实施例中对应图5的描述,此处不再赘述。

在本发明实施例的另一种可能的实现方式中,该组播协议报文为PIM hello报文,该第二转发设备的下游设备为路由器。具体参照方法实施例中对应图6的描述,此处不再赘述。

可选地,该组播协议报文为PIM hello报文,该第二转发设备的下游设备为用户主机。可选地,该发送单元82还用于:通过所述恢复到正常状态的链路,向该第二转发设备发送IGMP查询报文,且该IGMP查询报文的源地址为0,该IGMP查询报文用于触发该用户主机上报IGMP响应报文。具体参照方法实施例中对应图7的描述,此处不再赘述。

值得说明的是,以上对转发设备80进行的单元划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,上述确定单元81和管理单元85可以划分为一个处理单元,并且,上述各功能单元的物理实现也可能有多种实现方式,例如,上述确定单元81具体可以是一中央处理器,也可以是ASIC(Application Specific Integrated Circuit,特定集成电路)。

另外,所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的转发设备的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,此处不再赘述。

本发明实施例还提供另一种转发设备90,用于实施上述方法实施例中所描述的第二转发设备执行的方法步骤。转发设备90可以是上述实施例中的第二转发设备。如图9所示,所述转发设备90包括:

接收单元91,用于通过该第二转发设备的第一端口与第一转发设备间的链路,接收该第一转发设备发送的组播协议报文,该组播协议报文用于指示接收到该组播协议报文的端口作为传输组播报文的端口;

管理单元92,用于根据该组播协议报文,将该第二转发设备的第一端口设为用于传输组播报文的端口。

其中,该组播协议报文是该第一转发设备缓存的来自组播路由器的组播协议报文。

采用上述转发设备,该转发设备所在网络的拓扑变化时,该转发设备通过接收该第一转发设备发送的该第一转发设备缓存的组播协议报文即可实现重新学习用于传输组播报文的端口,无需等到组播路由器下一周期发送组播协议报文,提高了网络收敛的速度。

可选地,该转发设备90还包括发送单元93,该接收单元91还用于:接收下游设备发送的组播报文;该发送单元93,用于通过该转发设备90的第一端口,向该第一转发设备发送该组播报文。该组播报文可以是组播加入报文。

可选地,该管理单元92还用于:阻断该第二转发设备的第二端口与第三转发设备间的链路,并删除从该第二端口接收到的来自该第三转发设备的组播协议报文。

可选地,该组播协议报文为IGMP查询报文,该下游设备为用户主机;则该发送单元93还用于将该IGMP查询报文发送至与该第二转发设备相连的该用户主机;该接收单元91还用于,接收该用户主机根据该IGMP查询报文上报的IGMP响应报文;该发送单元93用于,通过该第二转发设备的第一端口将该IGMP响应报文发送至该第一转发设备。具体参照方法实施例中对应图5的描述,此处不再赘述。

可选地,该组播协议报文为PIM hello报文,该下游设备为路由器;该发送单元93还用于,将该PIM hello报文发送至与该第二转发设备相连的路由器;该接收单元91还用于,接收该路由器根据该PIM hello报文上报的PIM响应报文;该发送单元93用于,通过该第二转发设备的第一端口将该PIM响应报文发送至该第一转发设备。具体参照方法实施例中对应图6的描述,此处不再赘述。

可选地,该组播协议报文为PIM hello报文,该下游设备为用户主机;该接收单元91还用于,通过该第二转发设备的第一端口接收该第一转发设备发送的源地址为0的IGMP查询报文;该发送单元93还用于,将该源地址为0的IGMP查询报文发送至与该第二转发设备相连的该用户主机;该接收单元91还用于,接收该用户主机根据该源地址为0的IGMP查询报文上报的IGMP响应报文;该发送单元93用于,通过该第二转发设备的第一端口将该IGMP响应报文发送至该第一转发设备。具体参照方法实施例中对应图7的描述,此处不再赘述。

以上对转发设备90进行的单元划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,并且,上述各功能单元的物理实现也可能有多种实现方式。

所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的第二转发设备的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,此处不再赘述。

值的说明的是,上述对转发设备80的描述仅描述了该转发设备80具备的上述方法实施例中的第一转发设备的功能,上述对转发设备90的描述仅描述了该转发设备90具备的上述方法实施例中的第二转发设备的功能。在具体实施时,上述转发设备80和上述转发设备90可以为同一转发设备,也就是说,二层网络中的每个转发设备既具备第一转发设备的功能又具备第二转发设备的功能。

本发明实施例还提供又一种第一转发设备10,如图10所示,该第一转发设备10包括:处理器101、存储器102、通信端口103和通信总线104;所述处理器101,所述存储器102和所述通信端口103通过所述通信总线104完成相互间的通信;

处理器101可能是一个多核中央处理器CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器102用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器102可能包含高速RAM(Random Access Memory,随机存储器),也可能还包括非易失性存储器,例如至少一个磁盘存储器。

所述通信端口103,用于实现该第一转发设备10与其他设备之间的通信。所述通信端口103是该第一转发设备10包括的所有端口的统称,所述其他设备包括与该第一转发设备10相连的其他转发设备,还可以包括与该第一转发设备10相连的下游设备,还可以包括与该第一转发设备10相连的三层网络的组播路由器。

所述处理器101用于执行所述存储器102中的程序代码,以实现以下操作:

确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态;

通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口。

可选地,所述确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态之前,所述操作还包括:

通过所述第一转发设备的第二端口,接收来自所述组播路由器的所述组播协议报文;

缓存所述第二端口接收到的所述组播协议报文。

可选地,所述通过所述第一转发设备的第二端口,接收来自所述组播路由器的所述组播协议报文包括:通过所述第二端口,接收第三转发设备发送的所述组播协议报文;

所述通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文之前,所述操作还包括:在确定所述第二端口与所述第三转发设备间的链路处于正常状态后,向所述第二转发设备发送缓存的所述第二端口接收的组播协议报文。

可选地,所述操作还包括:缓存所述第二端口接收到的所述组播协议报文后,启动定时器;在确定所述定时器超时后,删除缓存的所述第二端口接收到的组播协议报文。

可选地,所述确定所述第一转发设备的第一端口与第二转发设备间的链路恢复到正常状态之后,所述操作还包括:

阻断所述第一转发设备的第三端口与第四转发设备间的链路;

删除缓存的所述第三端口接收到的组播协议报文。

可选地,所述组播协议报文为IGMP查询报文,或者所述组播协议报文为PIM hello报文。

可选地,所述组播协议报文为协议无关组播PIM hello报文,所述第二转发设备的下游设备为主机,所述通过所述恢复到正常状态的链路,向所述第二转发设备发送缓存的来自组播路由器的组播协议报文之后,所述操作还包括:

通过所述恢复到正常状态的链路,向所述第二转发设备发送因特网组管理协议IGMP查询报文,所述IGMP查询报文的源地址为0,所述IGMP查询报文用于触发所述主机上报IGMP响应报文。

所属本领域的技术人员应该了解到,处理器101执行的操作可能是由其他器件的配合共同完成的,为了方便描述,本发明实施例中统一描述为处理器101执行收敛网络的操作。具体可参照方法实施例中描述的第一转发设备执行的方法步骤。

采用上述转发设备,该转发设备可存储三层网络,比如组播路由器,周期性发送的组播协议报文。该转发设备所在网络中的转发设备通过互相发送组播协议报文即可实现重新学习用于传输组播报文的端口。该转发设备所在网络中的转发设备能即刻感知到所在网络的拓扑的变化。因此,如果该转发设备所在网络的拓扑发生变化,则与该转发设备向处于同一组播网络中的第二转发设备发送该组播协议报文,该第二转发设备能够通过该组播协议报文重新学习到用于传输组播报文的端口,无需等待该组播路由器周期性发送的组播协议报文,提高了网络收敛的速度。

本发明实施例还提供又一种第二转发设备11,如图11所示,该第二转发设备11包括:处理器111、存储器112、通信端口113和通信总线114;所述处理器111,所述存储器112和所述通信端口113通过所述通信总线114完成相互间的通信;

处理器111可能是一个多核中央处理器CPU,或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器112用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器112可能包含高速RAM(Random Access Memory,随机存储器),也可能还包括非易失性存储器,例如至少一个磁盘存储器。

所述通信端口113,用于实现该第二转发设备11与其他设备之间的通信。所述通信端口113是该第二转发设备11包括的所有端口的统称,所述其他设备包括与该第二转发设备11相连的其他转发设备,还可以包括与该第二转发设备11相连的下游设备,还可以包括与该第二转发设备11相连的三层网络的路由器。

所述处理器111用于执行所述存储器112中的程序代码,以实现以下操作:

通过所述第二转发设备的第一端口与第一转发设备间的链路,接收所述第一转发设备发送的组播协议报文,所述组播协议报文用于指示接收到所述组播协议报文的端口作为传输组播报文的端口;

根据所述组播协议报文,将所述第二转发设备的第一端口设为用于传输组播报文的端口。

可选地,所述操作还包括:接收下游设备发送的组播报文;通过所述第二转发设备的第一端口,向所述第一转发设备发送所述组播报文。

可选地,所述操作还包括:阻断所述第二转发设备的第二端口与第三转发设备间的链路;删除从所述第二端口接收到的来自所述第三转发设备的组播协议报文。

可选地,所述组播协议报文为IGMP查询报文,所述下游设备为用户主机;所述操作还包括:将所述IGMP查询报文发送至与所述第二转发设备相连的所述用户主机,触发所述用户主机上报IGMP响应报文;通过所述第二转发设备的第一端口将所述IGMP响应报文发送至所述第一转发设备。

可选地,所述组播协议报文为PIM hello报文,所述下游设备为路由器;所述操作还包括:将所述PIM hello报文发送至与所述第二转发设备相连的路由器,触发所述路由器上报PIM响应报文;通过所述第二转发设备的第一端口将所述PIM响应报文发送至所述第一转发设备。

可选地,所述组播协议报文为PIM hello报文,所述下游设备为用户主机;所述操作还包括:通过所述第二转发设备的第一端口接收所述第一转发设备发送的源地址为0的IGMP查询报文;将所述源地址为0的IGMP查询报文发送至与所述第二转发设备相连的所述用户主机,触发所述用户主机上报IGMP响应报文,并通过所述第二转发设备的第一端口将所述IGMP响应报文发送至所述第一转发设备。

所属本领域的技术人员应该了解到,处理器111执行的操作可能是由其他器件的配合共同完成的,为了方便描述,本发明实施例中统一描述为处理器111执行收敛网络的操作。具体可参照方法实施例中描述的第二转发设备执行的方法步骤。

采用上述转发设备,该转发设备所在网络的拓扑变化时,该转发设备通过接收该第一转发设备发送的该第一转发设备缓存的组播协议报文即可实现重新学习用于传输组播报文的端口,无需等到组播路由器下一周期发送组播协议报文,提高了网络收敛的速度。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1