CN111901133B - 一种组播切换方法、装置、网络设备和存储介质 - Google Patents

一种组播切换方法、装置、网络设备和存储介质 Download PDF

Info

Publication number
CN111901133B
CN111901133B CN202010791300.1A CN202010791300A CN111901133B CN 111901133 B CN111901133 B CN 111901133B CN 202010791300 A CN202010791300 A CN 202010791300A CN 111901133 B CN111901133 B CN 111901133B
Authority
CN
China
Prior art keywords
switch
core switch
multicast
core
standby
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010791300.1A
Other languages
English (en)
Other versions
CN111901133A (zh
Inventor
王小军
王倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Armyfly Technology Co Ltd
Original Assignee
Beijing Armyfly Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Armyfly Technology Co Ltd filed Critical Beijing Armyfly Technology Co Ltd
Priority to CN202010791300.1A priority Critical patent/CN111901133B/zh
Publication of CN111901133A publication Critical patent/CN111901133A/zh
Application granted granted Critical
Publication of CN111901133B publication Critical patent/CN111901133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1845Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种组播切换方法、装置、网络设备和存储介质。该方法包括:至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文;根据所述软件组播转发表配置硬件组播转发表;当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。本方案避免在主备切换时,备用核心交换机才建立硬件组播转发表的情况,实现在主备切换时,组播数据报文能迅速切换由备用核心交换机转发,缩短了组播切换时间。

Description

一种组播切换方法、装置、网络设备和存储介质
技术领域
本发明实施例涉及通信技术,尤其涉及一种组播切换方法、装置、网络设备和存储介质。
背景技术
在以太网通信技术中,组播技术实现了网络中单点到多点的高效数据传送,能够节约大量网络带宽,降低网络负载。
目前,常用的组播网络拓扑结构是核心层包括两个三层交换机以实现互相备份,增强网络可靠性。图1是一种常用的组播网络拓扑结构的示意图。如图1所示,该网络拓扑包括2个核心交换机(H01,H02)、4个接入层交换机(J01、J02、J03、J04)、发送终端110和接收终端120。其中,2个核心交换机中的一个是主核心交换机,另一个是备用核心交换机。主核心交换机进行三层组播,组播转发表项都在主核心交换机上。当主核心交换机故障后,备核心交换机升为主核心交换机需计算组播转发表,然后将组播转发表下发给交换芯片。采用上述方式导致组播切换时间较长。
发明内容
本发明实施例提供一种组播切换方法、装置、网络设备和存储介质,可以有效缩短组播切换时间。
第一方面,本发明实施例提供了一种组播切换方法,包括:
至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文;
根据所述软件组播转发表配置硬件组播转发表;
当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
第二方面,本发明实施例还提供了一种组播切换装置,该装置包括:
转发表建立模块,用于至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文;
转发表配置模块,用于根据所述软件组播转发表配置硬件组播转发表;
组播切换模块,用于当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
第三方面,本发明实施例还提供了一种网络设备,所述网络设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的组播切换方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的组播切换方法。
本发明提供一种组播切换方法、装置、网络设备和存储介质,通过至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,分别根据软件组播转发表配置硬件组播转发表,可以实现组播流量分别达到主核心交换机和备用核心交换机,并通过备用核心交换机转发给下游的接入层交换机,由于备用核心交换机与接入层交换机之间的端口处于阻塞状态,使下游的接入层交换机不对备用核心交换机转发的组播数据报文做任何处理,避免有重复流量转发;并在检测到主核心交换机发生故障时,备用核心交换机与接入层交换机之间的端口转换为转发状态,以实现主备切换,采用备用核心交换机转发组播数据报文。本方案避免在主备切换时,备用核心交换机才建立硬件组播转发表的情况,实现在主备切换时,组播数据报文能迅速切换由备用核心交换机转发,缩短了组播切换时间,切换性能可达到毫秒级。
附图说明
图1是一种常用的组播网络拓扑结构的示意图;
图2为本发明实施例提供的一种组播切换方法的流程图;
图3为本发明实施例提供的另一种组播切换方法的流程图;
图4为本发明实施例提供的一种组播切换方法中故障前组播流量以及主要协议交互示意图;
图5为本发明实施例提供的一种组播切换方法中故障后组播流量以及主要协议交互示意图;
图6为本发明实施例提供的一种组播切换装置的结果框图;
图7为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要说明的是,一种优化主备切换性能的方案是通过优化组播协议加快主备倒换后的组播切换速度,但是这种优化程度有限,无法达到毫秒级切换。另一种优化主备切换性能的方案是通过主核心交换机计算软件组播转发表项后,通过私有协议报文将主核心交换机上所有软件组播转发表项转发表备份到其它的备用核心交换机上。当主核心交换机故障后,备用核心交换机升为主核心交换机时将之前保存的软件组播转发表项逐条下发给交换芯片,来提升切换速度。当软件组播转发表项的数量较多时,备用核心交换机下发到最后一条软件组播转发表项所需的时间较长,不能使所有的软件组播转发表项都达到毫秒级切换性能的目标。
为了解决上述问题,本发明实施例提供了一种迅速切换主核心交换机和备用核心交换机的方案,主核心交换机和备用核心交换机在协议控制层分别独立计算软件组播转发表项,并将各自计算的软件组播转发表下发到转发控制层(即交换芯片),当备用核心交换机升为主核心交换机时,组播会立即转发,切换时间主要消耗在故障检测上以及链路选择切换上,组播切换不需要耗时,切换性能可达到ms级。
图2为本发明实施例提供的一种组播切换方法的流程图,该方法可以由组播切换装置来执行,该装置可以由软件和/或硬件实现,并通常集成于网络设备中。如图2所示,该方法包括:
步骤210、至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表。
其中,核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞组播数据报文但不阻塞协议报文,可以确保所有核心交换机都可以独立建立软件组播转发表,且避免组播数据报文分别由主核心交换机和备用核心交换机转发给接收终端,导致重复流量转发的问题。需要说明的是,主核心交换机与接入层交换机之间的部分接口,以及备用核心交换机与接入层交换机之间的部分接口均处于阻塞状态,以避免主核心交换机或备用核心交换机与接入层交换机之间的通讯链路形成环路,可以通过破环协议或环路保护协议计算需要阻塞的端口。通常情况下,需要保证主核心交换机和备用核心交换机之间的端口不被阻塞,由于核心交换机和接入层交换机之间的处于阻塞状态的端口对组播数据报文进行阻塞但不阻塞协议报文,可以避免组播数据报文分别由主核心交换机和备用核心交换机转发给接收终端,导致重复流量转发的问题。
本发明实施例中,主核心交换机是网络拓扑结构中进行组播数据报文转发的网络设备。备用核心交换机是网络拓扑结构中与主核心交换机相互备份的网络设备。当存在多个核心交换机时,在每个核心交换机上均配置虚拟路由冗余协议(Virtual RouterRedundancy Protocol,VRRP),以通过VRRP确定多个核心交换机中的主核心交换机和备用核心交换机。
需要说明的是,主核心交换机和备用核心交换机可以是位于网络层的三层交换机,接入层交换机是位于接入层的交换机,用于转发协议报文和组播数据报文。
组播数据报文是发送终端发送给接收终端的数据报文。
协议报文基于路由协议生成。本实施例中,协议报文可以包括查询报文(IGMPquery)和回复报文(IGMP report)等。其中,IGMP是Internet Group Management Protocol的缩写,即互联网组管理协议。
示例性的,主核心交换机和备用核心交换机配置pim协议,且主核心交换机和备用核心交换机之间不再进行pim hello报文交互,以使主核心交换机和备用核心交换机可以选自身为IGMP查询器,从而,实现主核心交换机和备用核心交换机分别定期发送查询报文,主核心交换机和备用核心交换机记录各自接收到查询报文的物理端口。对于主核心交换机来说,该物理端口是本机接收到备用核心交换机发送的查询报文的物理端口。对于备用核心交换机来说,该物理端口是本机接收到主核心交换机发送的查询报文的物理端口。综上所述,每个核心交换机要记录本机接收其余核心交换机发送的查询报文的物理端口。当主核心交换机接收到组播数据报文后,无需再感知备用核心交换机是什么,而直接向所记录的物理端口引二层组播流量,实现将组播数据报文转发给备用核心交换机,从而,主核心交换机和备用核心交换机都可以做流量转发,实现流量冗余,加快切换。
需要说明的是,当核心交换机与接入层交换机之间的端口阻塞时,不阻塞两者之间的IGMP协议报文。因此,主核心交换机和备用核心交换机发出的查询报文,分别经上游接入层交换机转发给终端。终端回复的回复报文,例如IGMP report报文,会通过接入层交换机基于IGMP snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)透传给主核心交换机和备用核心交换机。例如,可以通过破环协议或环路保护协议确定核心交换机和接入层交换机之间哪些端口处于阻塞状态。通过使主核心交换机和接入层交换机之间的部分端口阻塞,但并不阻塞协议报文,达到在实现流量冗余的同时避免流量重复转发的效果。使备用核心交换机和接入层交换机之间的部分端口阻塞,可以达到相似的效果。由于备用核心交换机与接入层交换机之间的端口处于阻塞状态,可以阻塞备用核心交换机上的组播数据报文,使备用核心交换机上的组播数据报文不会通过接入层交换机转发给用户端,避免流程的重复转发。此外,由于未阻塞协议报文,主核心交换机和备用核心交换机都可以基于查询报文和组播数据报文独立计算软件组播转发表项。由于流量冗余可以保证备用核心交换机升为主核心交换机时,可以直接转发组播数据报文,减少了切换时间。
需要说明的是,软件组播转发表项用于指示组播数据的入端口和出端口,其中,入端口可以是接收组播源。出端口可以是组播组地址,可以采用(S,G)表项表示软件组播转发表项。
具体地,至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表步骤可以是:至少两个核心交换机分别根据接收到的组播数据报文确定组播数据的入端口;至少两个核心交换机分别根据协议报文确定组播数据的出端口;将包含入端口和出端口的表项作为软件组播转发表项,由软件组播转发表项构成软件组播转发表。示例性的,主核心交换机从接入层交换机获取组播数据报文,根据组播数据报文确定组播数据的入端口。主核心交换机从接入层交换机获取终端回复的回复报文,根据回复报文确定组播数据的出端口。将包含入端口和出端口的表项作为主核心交换机的软件组播转发表项,由软件组播转发表项构成软件组播转发表。备用核心交换机接收主核心交换机发送的组播数据报文,根据组播数据报文确定组播数据的入端口。备用核心交换机从接入层交换机获取终端回复的回复报文,根据回复报文确定组播数据的出端口。将包含入端口和出端口的表项作为备用核心交换机的软件组播转发表项,由软件组播转发表项构成软件组播转发表。
需要说明的是,当接收组播源变换和/或出端口发生变化时,需要基于变化后的入端口和/或出端口新建软件组播转发表项。
步骤220、根据所述软件组播转发表配置硬件组播转发表。
其中,硬件组播转发表分别存储于每个核心交换机的交换芯片。主核心交换机将软件组播转发表下发主核心交换机中的交换芯片,形成主核心交换机的硬件组播转发表。以及,备用核心交换机将软件组播转发表下发备用核心交换机中的交换芯片,形成备用核心交换机的硬件组播转发表。
步骤230、当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
需要说明的是,检测主核心交换机故障的方式有很多种,本发明实施例并不作具体限定。例如,基于主备之间的链路,备核心交换机可以感知到主交换机故障。或者,通过VRRP的超时机制感知主核心交换机故障等。
当备用核心交换机感知到主核心交换机故障时,通过破环协议将与接入层交换机之间的处于阻塞状态的端口转换为转发状态,以使备用核心交换机将组播数据报文转发给对应的接入层交换机,并通过接入层交换机将组播数据报文转发给对应的终端。破环协议用于避免组播链路中出现环路。例如,破环协议可以是MSTP等。通过MSTP协议重新计算生成树,以将阻塞(block)的端口转换为转发状态(forward)。
当主核心交换机发生故障时,如果备用核心交换机和接入层交换机之间的端口变为forwarding状态,接收上游的接入层交换机转发的组播数据报文,基于硬件组播转发表中记录的出端口将所述组播数据报文转发给下游的接入层交换机,完成组播切换。
需要说明的是,对于故障的核心交换机修改后的处理方式本发明实施例并不作具体限定。例如,当故障的核心交换机修好后,可以将其作为当前工作的核心交换机的备用核心交换机。或者,当故障的核心交换机修好后,可以基于VRRP协议重新确定主核心交换机和备用核心交换机。
本实施例的技术方案,通过至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,分别根据软件组播转发表配置硬件组播转发表,可以实现组播流量分别达到主核心交换机和备用核心交换机,并通过备用核心交换机转发给下游的接入层交换机,由于备用核心交换机与接入层交换机之间的端口处于阻塞状态,使下游的接入层交换机不对备用核心交换机转发的组播数据报文做任何处理,避免有重复流量转发;并在检测到主核心交换机发生故障时,备用核心交换机与接入层交换机之间的端口转换为转发状态,以实现主备切换,采用备用核心交换机转发组播数据报文。本方案避免在主备切换时,备用核心交换机才建立硬件组播转发表的情况,实现在主备切换时,组播数据报文能迅速切换由备用核心交换机转发,缩短了组播切换时间,切换性能可达到毫秒级。
在上述技术方案的基础上,协议报文包括查询报文和回复报文。在至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,还包括:至少两个核心交换机分别周期性地发送查询报文,至少两个核心交换机分别接收接入层交换机透传的回复报文。由于核心交换机和接入层交换机之间的端口阻塞时,不会阻塞协议报文,所以,两个核心交换机发送的查询报文均能被下游的接入层交换机转发给接收终端,且均能接收到接收终端报告的回复报文。
在上述技术方案的基础上,在接收主核心交换机转发的组播数据报文之前,还可以包括将备用核心交换机与主核心交换机之间的链路代价值设置为满足设定条件的代价值,以使备用核心交换机与主核心交换机之间的链路不被阻塞。其中,设定条件可以根据实际应用场景确定.可选的,可以将设定条件确定为将备用核心交换机和主核心交换机之间的链路代价配置为最小。通过将备用核心交换机和主核心交换机之间的链路代价配置为最小,可以保证核心交换机之间的链路不被阻塞,从而,保证组播数据流量可以由主核心交换机复制到对端的备用核心交换机。
图3为本发明实施例提供的另一种组播切换方法的流程图,本实施例对每个核心交换机记录本机接收到所述查询报文的物理端口步骤进行进一步说明。如图3所示,该方法包括:
步骤301、确定至少两个核心交换机中的主核心交换机和备用核心交换机。
需要说明的是,预先设置核心交换机之间通过聚合口连接。接入层交换机(位于交换层的交换机)和核心交换机之间都为vlan trunk模式连接,终端和接入层交换机之间的连接为vlan access模式。核心交换机配置pim协议、VRRP协议(用于确定主备交换机)和MSTP协议(用于防止出现环路),同时将核心交换机之间的链路cost值配置为最小,保证核心之间的链路不被MSTP block掉,配置igmp-snooping用于确定三层接收端口。接入层交换机配置MSTP协议,配置igmp snooping协议用于确定报文透传和组播数据报文的精确转发端口。
示例性地,当网络拓扑结构中包括两个核心交换机时,可以基于VRRP协议确定其中一个核心交换机是主核心交换机,另一个核心交换机是备用核心交换机。当网络拓扑结构中包括两个以上的核心交换机,可基于VRRP协议确定其中有一个主核心交换机,剩余多个核心交换机为备用核心交换机。
如果主核心交换机故障,则确定多个备用核心交换机中的一个升为主核心交换机。确定将哪个备用核心交换机升为主核心交换机的方式有很多种,本发明实施例并不作具体限定。例如,可以基于多个备用核心交换机对应的预设优先级,确定将哪个备用核心交换机升为主核心交换机。
需要说明的是,核心交换机与接入层交换机之间处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文。例如,主核心交换机与接入层交换机之间的部分端口处于阻塞状态,且备用核心交换机与接入层交换机之间的部分端口处于阻塞状态。但是,当主核心交换机与接入层之间的端口处于阻塞状态时,不对主核心交换机与接入层之间的互联网组管理协议IGMP报文进行阻塞。当备用核心交换机与接入层之间的端口处于阻塞状态时,不对备用核心交换机与接入层之间的互联网组管理协议IGMP报文进行阻塞。
步骤302、将备用核心交换机与主核心交换机之间的链路代价值设置为满足设定条件的代价值,以使备用核心交换机与主核心交换机之间的链路不被阻塞。
步骤303、至少两个核心交换机分别周期性地发送查询报文。
步骤304、至少两个核心交换机分别接收所述接入层交换机透传的回复报文。
其中,查询报文通过接入层交换机转发查询报文给终端,以指示终端发送回复报文。
由于核心交换机与接入层交换机之间的端口阻塞时,不会阻塞IGMP协议报文,因此,备用核心交换机发出的IGMP query报文可以通过下游的接入层交换机转发给接收终端。接收终端在接收到查询报文后,回复IGMP report报文,IGMP report报文通过接入层交换机的IGMP snooping向核心交换机透传过去。
示例性地,取消核心交换机之间的pim hello报文交互,各自选自己为IGMP查询器,定期发送IGMP query查询报文。核心交换机和接入层交换机端口block时不block IGMP协议报文,主核心交换机和备用核心交换机的查询报文都会通过接入层交换机发到接收终端,接收终端回复的IGMP report报文会通过接入层交换机的IGMP snooping向核心交换机透传过去。
步骤305、每个核心交换机记录本机接收到所述查询报文的物理端口。
由于备用核心交换机与主核心交换机之间的链路不会阻塞。主核心交换机可以接收到备用核心交换机发送的查询报文,并记录本机接收到查询报文的物理端口,从而,可以在主核心交换机接收到组播数据报文后,复制上述组播数据报文,通过所记录的物理端口将组播数据流量引流到备用交换机,从而实现流量冗余,加快组播切换速度。
备用核心交换机接收到主核心交换机通过所记录的物理端口发送的组播数据报文。该组播数据报文会经备用核心交换机转发给下游的接入层交换机,但是,由于破环协议使备用核心交换机与接入层交换机之间的端口阻塞,所以接入层交换机在接收到备用核心交换机转发的组播数据报文后不对其做任何处理,避免流量重复转发。
示例性地,核心交换机记录各自接收到查询报文的物理端口(两个核心交换机之间互相收到对方query报文的端口)。当主核心交换机收到组播数据报文后,会向记录的物理端口引二层组播流量,避免相关技术中,因备用核心交换机与接入层交换机的端口阻塞,备用核心交换机收不到接入层交换机转发的组播数据报文,只有主核心交换机收到组播报文,导致备用核心交换机在主核心交换机故障后才创建组播转发表的情况。具体地,下(S,G)的出端口中的L2 port bit map中包含所记录的物理端口,主核心交换机向L2 port bitmap中包括的物理端口发送组播数据报文。其中,(S,G)代表硬件组播转发表项,(S,G)对应有入端口和出端口,入端口为接收组播源。
需要说明地是,核心交换机接收回复报文步骤(步骤304)和记录物理端口步骤(步骤305)在发送查询报文步骤之后执行,本发明实施例并不限定接收回复报文和记录物理端口两个步骤之间的顺序,这两个步骤可以并行执行,或者穿插执行等。
步骤306、所述主核心交换机通过所记录的物理端口,向所述备用核心交换机发送组播数据报文。
需要说明的是,备用核心交换机接收主核心交换机向所记录的物理端口发送组播数据报文步骤(步骤306)在记录物理端口步骤(步骤305)之后执行,但是,本发明实施例并不限定核心交换机接收回复报文步骤(步骤304)和接收主核心交换机发送的组播数据报文步骤(步骤306)之间的执行顺序。
步骤307、将所述软件组播转发表下发到交换芯片形成硬件组播转发表。
其中,交交换芯片用于基于所述硬件组播转发表转发所述组播数据报文。核心交换机将软件组播转发表下发给交换芯片得到硬件组播转发表。
图4为本发明实施例提供的一种组播切换方法中故障前组播流量以及主要协议交互示意图。在图4中,黑色填充的圆形表示forward端口,白色填充的圆形表示block端口,虚线表示组播数据流量,箭头表示数据流方向,点状虚线表示组播三层复制流量。核心交换机位于核心层,接入层交换机位于交换层。主核心交换机正常工作,取消核心交换机之间的pim hello报文交互,避免现有技术中需要由一个选举出的指定路由器作为IGMP查询器发IGMP query报文的情况。通常情况下,需要保证主核心交换机和备用核心交换机之间的端口不被阻塞,以保证组播数据报文可以由主核心交换机发送给备用核心交换机。如图4所示,接入层交换机460与主核心交换机410之间的端口是转发状态。接入层交换机460与备用核心交换机420之间的一个端口是阻塞状态。主核心交换机410和备用核心交换机420之间的端口是转发状态。从而,使接入层交换机460、主核心交换机410和备用核心交换机420构成的通讯链路不是环路,即报文由接入层交换机460传入主核心交换机410,经主核心交换机410传入备用核心交换机420,但是不能由备用核心交换机420再传入接入层交换机460。需要说明的是,对于其它接入层交换机具有与上述接入层交换机460相似的端口阻塞情况,此处不再赘述。
在主核心交换机发生故障前,组播流量以及主要协议交互情况见图4所示。其中,备用核心交换机420和主核心交换机410各自选自己为查询器,定期发送查询报文query。其中,query通过下游的接入层交换机430转发给接收终端440。接收终端440接收到query,发送回复报文report。此外,对于每个核心交换机,query还通过核心交换机之间的链路传输到其余的核心交换机。主核心交换机410在接收到备用核心交换机420发出的query后,记录接收到该query的物理端口。主核心交换机410接收到组播数据报文后,会直接向所记录的物理端口发送组播数据报文,而无需再基于协议感知备用核心交换机420。
示例性地,主核心交换机410和备用核心交换机420分别将各自创建的软件组播转发表下发到各自的交换芯片形成硬件组播转发表。发送终端450发出的组播数据流量经过接入层交换机460转发达到主核心交换机410。通过主核心交换机410的交换芯片将组播数据流量转发到接入层交换机430,以通过接入层交换机430转发组播数据流量到接收终端。此外,主核心交换机410还对组播数据流量进行复制,并将复制得到的组播数据流量引流到备用核心交换机420。由于主核心交换机410与备用核心交换机420之间的链路不会被阻塞掉,当主核心交换机410接收到组播数据报文后,无需再感知备用核心交换机420是什么,而直接向所记录的物理端口引二层组播流量,实现将组播数据报文转发给备用核心交换机420。备用核心交换机420的交换芯片将组播数据流量转发到接入层交换机430,由于接入层交换机430与备用核心交换机420之间的端口阻塞,在接入层交换机430接收到备用交换机420转发的组播数据流量后不对其做任何处理。此外,由于接入层交换机470与主核心交换机410之间的端口阻塞,使得接入层交换机460、主核心交换机410、接入层交换机470和发送终端450未构成一个环路,因此,主核心交换机410不能发送组播数据报文给接入层交换机470,可以避免组播数据流量由接入层交换机470回传给发送终端450。相似地,接入层交换机480与主核心交换机410之间的端口阻塞,以避免接入层交换机(440,480)、主核心交换机410和接收终端440构成环路。接入层交换机460与备用核心交换机420之间的端口阻塞,以避免接入层交换机460、主核心交换机410和备用核心交换机420构成环路。
步骤308、检测主核心交换机是否故障,若是,则执行步骤309,否则执行步骤311。
示例性的,可以基于MSTP协议进行故障检测。可选地,还可以采用G.8032协议中OAM(Operations,Administration,and Maintenance,操作、管理和维护)协议进行故障检测。由于OAM协议相比于MSTP协议能够快速检测出故障,可以提高故障时链路切换的速度,进而,可以进一步缩短组播切换时间。
步骤309、基于破环协议调整所述备用核心交换机与接入层交换机之间端口的状态,以使所述备用交换机与所述接入层交换机之间的端口由阻塞状态变为转发状态。
步骤310、通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
步骤311、通过主核心交换机中的硬件组播转发表转发所述组播数据报文。
图5为本发明实施例提供的一种组播切换方法中故障后组播流量以及主要协议交互示意图。在图5中,黑色填充的圆形表示forward端口,白色填充的圆形表示block端口,虚线表示组播数据流量,箭头表示数据流方向,点状虚线表示组播三层复制流量。核心交换机位于核心层,接入层交换机位于交换层。当主核心交换机故障时,备用核心交换机的角色由备用转为主核心交换机。如图5所示,接入层交换机460与备用核心交换机420之间的端口由block变为forward,接入层交换机430与备用核心交换机420之间的端口由block变为forward。发送终端450发出的组播数据流量经过接入层交换机460转发达到备用核心交换机420。通过备用核心交换机420的交换芯片将组播数据流量转发到接入层交换机430,以通过接入层交换机430转发组播数据流量到接收终端。
本实施例的技术方案,通过取消核心交换机之间的pim hello报文交互,实现主核心交换机和备用核心交换机各自选择机为IGMP查询器,发送查询报文的功能。主核心交换机记录接收到备用核心交换机发出的查询报文的物理端口,实现在主核心交换机接收到组播数据报文时,直接向所记录的物理端口发送组播数据报文,以将组播数据报文发送给备用核心交换机。通过主核心交换机和备用核心交换机独立计算软件组播转发表,并分别下发到对应的交换芯片,可以在主核心交换机故障时,组播流量随链路切换迅速转发。
一个示例性的实施方案中,主核心交换机和备用核心交换机都使能pim协议。其中,pim协议是一种组播传输协议,用于直接利用单播路由表的路由信息进行组播数据报文RDF检查,创建组播路由表项,转发组播数据报文。核心交换机和接入层交换机端口block时不block IGMP协议报文。同时主核心交换机和备用核心交换机不再互相发送pim hello报文,这样主核心交换机和备用核心交换机都可以分别独立计算软件组播转发表项,都将软件组播转发表下发对应的交换芯片进行三层复制。由于破环协议或环路保护协议的存在,虽然流量冗余但不会有重复流量转发,当主备切换时,流量会立即转发。
备用核心交换机与主核心交换机各自选自己为IGMP查询器,定期发送IGMP query查询报文,各自记录本机接收到查询报文的物理端口。当主核心交换机收到组播数据报文后,向所记录的物理端口引二层组播流量,这样二层流量会从主核心交换机引流到备用核心交换机,从而两个核心交换机都可以做流量转发,实现流量冗余,加快切换。
主核心交换机和备用核心交换机都能各自计算软件组播转发表项,都将各自计算的软件组播转发表下发到交换芯片(形成组播硬件转发表)。当备用核心交换机升为主时,备用核心交换机的交换芯片会立即根据组播硬件转发表转发组播数据报文,不需要再给交换芯片下发软件组播转发表。多个核心交换机都能计算组播转发表的原因是:核心交换机和接入层交换机端口block时不blockIGMP协议报文,所有核心交换机均能够收到终端的IGMP report报文,从而为终端建立组播转发表项。
所有核心交换机开启MSTP协议破环,同时将核心交换机之间的链路cost值配置为最小,保证核心交换机之间的链路不被MSTP block掉,从而避免组播流量不能从主核心交换机复制到备用核心交换机的情况。
图6为本发明实施例提供的一种组播切换装置的结果框图,该装置可以由软件和/或硬件实现,并通常配置于网络设备中,该装置通过执行本发明任意实施例提供的组播切换方法以提高组播切换性能。如图6所示,该装置包括:
转发表建立模块510,用于至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文;
转发表配置模块520,用于根据所述软件组播转发表配置硬件组播转发表;
组播切换模块530,用于当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
可选地,所述协议报文包括查询报文和回复报文,以及,该装置还包括:
查询报文发送模块,用于在至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,至少两个核心交换机分别周期性地发送查询报文;
回复报文接收模块,用于至少两个核心交换机分别接收所述接入层交换机透传的回复报文。
可选地,所述协议报文包括查询报文和回复报文,以及,该装置还包括:
查询报文发送模块,用于在至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,至少两个核心交换机分别周期性地发送查询报文;
端口记录模块,用于每个核心交换机记录本机接收到所述查询报文的物理端口。
可选地,该装置还包括:
交换机确定模块,用于在至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,确定至少两个核心交换机中的主核心交换机和备用核心交换机;
组播数据发送模块,用于所述主核心交换机通过所记录的物理端口,向所述备用核心交换机发送组播数据报文。
可选地,该装置还包括:
链路代价确定模块,用于在确定至少两个核心交换机中的主核心交换机和备用核心交换机之后,将所述备用核心交换机与主核心交换机之间的链路代价值设置为满足设定条件的代价值,以使所述备用核心交换机与主核心交换机之间的链路不被阻塞。
可选地,转发表建立模块510具体用于:
主核心交换机根据组播数据报文确定组播数据的入端口;
备用核心交换机根据所述主核心交换机发送的组播数据报文确定组播数据的出端口;
将包含所述入端口和出端口的表项作为软件组播转发表项,由软件组播转发表项构成软件组播转发表。
可选地,该装置还包括:
状态调整模块,用于在通过备用核心交换机中的硬件组播转发表转发所述组播数据报文之前,基于破环协议调整所述备用核心交换机与接入层交换机之间端口的状态,以使所述备用交换机与所述接入层交换机之间的端口由阻塞状态变为转发状态。
本发明实施例所提供的组播切换装置可执行本发明任意实施例所提供的组播切换方法,具备执行方法相应的功能模块和有益效果。
图7为本发明实施例提供的一种网络设备的结构示意图,如图7所示,该网络设备包括处理器60、存储器61和物理端口62;网络设备中处理器60的数量可以是一个或多个,图7中以一个处理器50为例;网络设备中的处理器60、存储器61和物理端口62可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的主题更新方法对应的程序指令/模块(例如,转发表建立模块510、转发表配置模块520和组播切换模块530)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功能应用以及数据处理,即实现上述的组播切换方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至网络设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种组播切换方法,该方法包括:
至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述核心交换机与接入层交换机之间的部分端口处于阻塞状态;
根据所述软件组播转发表配置硬件组播转发表;
当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的组播切换方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述组播切换装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种组播切换方法,其特征在于,包括:
至少两个核心交换机分别周期性地发送查询报文,其中,所述至少两个核心交换机中的一个核心交换机为主核心交换机,剩余多个核心交换机为备用核心交换机,其中,通过取消核心交换机之间的pim hello报文交互,以使所述主核心交换机和备用核心交换机各自选自己为IGMP查询器;
所述主核心交换机接收到备用核心交换机发送的查询报文,记录接收到所述备用核心交换机发送的查询报文的物理端口,其中,所述备用核心交换机是网络拓扑结构中与主核心交换机相互备份的网络设备;
所述主核心交换机复制组播数据报文,通过所记录的物理端口,向所述备用核心交换机发送所述组播数据报文;
所述至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,其中,所述至少两个核心交换机与接入层交换机之间的处于阻塞状态的端口阻塞所述组播数据报文但不阻塞所述协议报文;
所述至少两个核心交换机分别根据所述软件组播转发表配置硬件组播转发表;
当所述至少两个核心交换机中的主核心交换机发生故障时,通过备用核心交换机中的硬件组播转发表转发所述组播数据报文。
2.根据权利要求1所述的方法,其特征在于,所述协议报文包括查询报文和回复报文,以及,在所述至少两个核心交换机分别周期性地发送查询报文之后,在所述至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,还包括:
所述至少两个核心交换机分别接收所述接入层交换机透传的回复报文。
3.根据权利要求1所述的方法,其特征在于,所述协议报文包括查询报文和回复报文,其中:
每个核心交换机记录本机接收到其余核心交换机发送的查询报文的物理端口。
4.根据权利要求3所述的方法,其特征在于,在所述至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表之前,还包括:
确定所述至少两个核心交换机中的主核心交换机和备用核心交换机。
5.根据权利要求4所述的方法,其特征在于,在确定所述至少两个核心交换机中的主核心交换机和备用核心交换机之后,还包括:
将所述备用核心交换机与主核心交换机之间的链路代价值设置为满足设定条件的代价值,以使所述备用核心交换机与主核心交换机之间的链路不被阻塞。
6.根据权利要求4所述的方法,其特征在于,所述至少两个核心交换机分别基于组播数据报文和协议报文建立软件组播转发表,包括:
所述至少两个核心交换机分别根据接收到的组播数据报文确定组播数据的入端口;
所述至少两个核心交换机分别根据协议报文确定组播数据的出端口;
将包含所述入端口和出端口的表项作为软件组播转发表项,由软件组播转发表项构成软件组播转发表。
7.根据权利要求1所述的方法,其特征在于,在通过备用核心交换机中的硬件组播转发表转发所述组播数据报文之前,还包括:
基于破环协议调整所述备用核心交换机与接入层交换机之间端口的状态,以使所述备用核心交换机与所述接入层交换机之间的端口由阻塞状态变为转发状态。
8.一种网络设备,其特征在于,所述网络设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的组播切换方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的组播切换方法。
CN202010791300.1A 2020-08-07 2020-08-07 一种组播切换方法、装置、网络设备和存储介质 Active CN111901133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010791300.1A CN111901133B (zh) 2020-08-07 2020-08-07 一种组播切换方法、装置、网络设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010791300.1A CN111901133B (zh) 2020-08-07 2020-08-07 一种组播切换方法、装置、网络设备和存储介质

Publications (2)

Publication Number Publication Date
CN111901133A CN111901133A (zh) 2020-11-06
CN111901133B true CN111901133B (zh) 2023-07-11

Family

ID=73246204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010791300.1A Active CN111901133B (zh) 2020-08-07 2020-08-07 一种组播切换方法、装置、网络设备和存储介质

Country Status (1)

Country Link
CN (1) CN111901133B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653596B (zh) * 2020-12-16 2022-07-01 杭州迪普科技股份有限公司 一种路由信息下发、网关设备切换的方法及装置
CN114979034B (zh) * 2022-06-28 2024-03-26 北京东土军悦科技有限公司 一种数据包转发系统、方法、装置及存储介质
CN114979037B (zh) * 2022-06-28 2024-03-26 北京东土军悦科技有限公司 一种组播方法、装置、交换机和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448003A (zh) * 2008-12-23 2009-06-03 杭州华三通信技术有限公司 一种处理igmp报文的方法和装置
WO2010111956A1 (zh) * 2009-04-03 2010-10-07 中兴通讯股份有限公司 一种组播转发路径收敛的方法和系统
CN103051536A (zh) * 2012-12-22 2013-04-17 中国船舶重工集团公司第七0九研究所 一种二层冗余链路的快速组播切换方法
CN107547399A (zh) * 2017-05-31 2018-01-05 新华三技术有限公司 一种组播转发表项的处理方法和pe设备
CN108011828A (zh) * 2017-12-07 2018-05-08 北京东土军悦科技有限公司 一种组播切换方法、装置、核心层交换机及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529434A (ja) * 2012-09-27 2015-10-05 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ブロックされたリンクに沿った特定のトラフィックの送信
CN104009926B (zh) * 2013-02-26 2017-04-12 杭州华三通信技术有限公司 Evi网络中的组播方法及边缘设备ed

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448003A (zh) * 2008-12-23 2009-06-03 杭州华三通信技术有限公司 一种处理igmp报文的方法和装置
WO2010111956A1 (zh) * 2009-04-03 2010-10-07 中兴通讯股份有限公司 一种组播转发路径收敛的方法和系统
CN103051536A (zh) * 2012-12-22 2013-04-17 中国船舶重工集团公司第七0九研究所 一种二层冗余链路的快速组播切换方法
CN107547399A (zh) * 2017-05-31 2018-01-05 新华三技术有限公司 一种组播转发表项的处理方法和pe设备
CN108011828A (zh) * 2017-12-07 2018-05-08 北京东土军悦科技有限公司 一种组播切换方法、装置、核心层交换机及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HFC网络组播技术研究与实现;王沁 等;小型微型计算机系统(第11期);全文 *

Also Published As

Publication number Publication date
CN111901133A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111901133B (zh) 一种组播切换方法、装置、网络设备和存储介质
CN101155109B (zh) 一种以太网交换系统及设备
US10686749B2 (en) Packet sending method and network device
US8204061B1 (en) Virtual port channel switches with distributed control planes
US9614727B2 (en) N-node systems and methods for link aggregation groups (LAG)
US9288105B2 (en) N-node virtual link trunking (VLT) systems fault management
US7751329B2 (en) Providing an abstraction layer in a cluster switch that includes plural switches
US6917986B2 (en) Fast failure protection using redundant network edge ports
CN101588304B (zh) 一种vrrp的实现方法和设备
US20110228669A1 (en) Techniques for link redundancy in layer 2 networks
US20130051218A1 (en) System and method for assuring the operation of network devices in bridged networks
GB2483563A (en) Dual homing connection of access network to transport network
CN101610221B (zh) 一种stp切换时ip单播平滑切换的方法及装置
EP1804423A2 (en) Method for rapidly recovering multicast service and network device
WO2017113929A1 (zh) 一种软件定义网络中控制转发设备集群的方法及控制器
JP2007208369A (ja) ネットワークシステム及びネットワークシステムのノード冗長方法
CN107911291A (zh) Vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质
JP5338428B2 (ja) 通信装置及びその方法並びに通信システム及びその方法
US20050163137A1 (en) Switching mesh with broadcast path redundancy
US20190253276A1 (en) Centralized management of authoritative edge devices
US20150263884A1 (en) Fabric switchover for systems with control plane and fabric plane on same board
CN112995002A (zh) 一种交换机环网的设计方法、交换机及存储介质
US7596085B2 (en) Access network system and method of moving internal network relay devices
WO2020156355A1 (zh) 负载分担方法、装置、系统、单板及存储介质
US20220311702A1 (en) Efficient propagation of fault routing notifications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant