CN110661628B - 一种实现数据组播的方法、装置和系统 - Google Patents
一种实现数据组播的方法、装置和系统 Download PDFInfo
- Publication number
- CN110661628B CN110661628B CN201810703770.0A CN201810703770A CN110661628B CN 110661628 B CN110661628 B CN 110661628B CN 201810703770 A CN201810703770 A CN 201810703770A CN 110661628 B CN110661628 B CN 110661628B
- Authority
- CN
- China
- Prior art keywords
- forwarding path
- multicast
- establishment request
- standby
- port
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种实现数据组播的方法、装置和系统,该方法包括:传输设备接收备用转发路径建立请求,该备用转发路径建立请求包括设备标识且目的地址为组播源设备的地址,用于请求建立该设备标识所标识的组播目的设备与该组播源设备之间的备用转发路径,并在根据该备用转发路径建立请求中的设备标识确定该传输设备位于该组播目的设备与所述组播源设备之间的主转发路径上时,不将该传输设备作为该组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不转发该备用转发路径建立请求。因此,当该传输设备发生故障时,该传输设备仅会影响到该组播目的设备的主转发路径而不会影响到该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种实现数据组播的方法、装置和系统。
背景技术
组播技术有效地解决了单点发送多点接收的问题,因此被广泛应用于因特网协议电视(Internet Protocol Television,IPTV)等视频业务中。
在组播网络中,组播目的设备向组播源设备发送转发路径建立请求以建立与组播源设备之间的转发路径。组播源设备与各组播目的设备之间的转发路径构成组播树,组播源设备为该组播树的根节点,各组播目的设备为该组播树的叶子节点。
为了避免故障发生对业务性能的损害,通常会在组播源设备和组播目的设备之间建立主转发路径和备用转发路径。主转发路径和备用转发路径均可以用于组播源设备向组播目的设备传输组播数据。
根据现有技术,在建立主转发路径和备用转发路径的过程中,组播目的设备向相邻上游设备发送分别用于建立主转发路径和备用转发路径的转发路径建立请求,接收到转发路径建立请求的设备将本设备加入到要建立的转发路径中,并向相邻上游设备转发接收的转发路径建立请求,直至转发路径建立请求到达组播源设备。
通过该方法建立主转发路径和备用转发路径,同一组播目的设备和组播源设备之间的主转发路径和备用转发路径可能包含相同的传输设备,一旦同属于主转发路径和备用转发路径的传输设备出现故障,该传输设备会同时影响到主转发路径和备用转发路径,导致组播数据的传输中断。
发明内容
本发明实施例提供一种实现数据组播的方法、装置和系统,用于提高组播数据传输的可靠性。
第一方面,提供了一种实现数据组播的方法,该方法包括:传输设备接收第一备用转发路径建立请求,该第一备用转发路径建立请求包括第一设备标识且目的地址为组播源设备的地址,用于请求建立该第一设备标识所标识的第一组播目的设备与该组播源设备之间的备用转发路径;并在根据该第一备用转发路径建立请求中的第一设备标识确定该传输设备位于该第一组播目的设备与该组播源设备之间的主转发路径上时,不将该传输设备作为该第一组播目的设备与该组播源设备之间的备用转发路径上的设备,并不转发该第一备用转发路径建立请求。
根据本发明第一方面的方法,传输设备根据第一备用转发路径建立请求中的设备标识判断是否已加入该设备标识所标识的组播目的设备与该组播源设备之间的主转发路径,并在已加入该组播目的设备与该组播源设备之间的主转发路径时不将该传输设备作为该组播目的设备与该组播源设备之间的备用转发路径上的设备并不转发该第一备用转发路径建立请求。因此,当该传输设备发生故障时,该传输设备仅会影响到该组播目的设备的主转发路径而不会影响到该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
在接收第一备用转发路径建立请求之前通常还包括,该传输设备接收主转发路径建立请求,该主转发路径建立请求包括该第一设备标识且目的地址为该组播源设备的地址,用于向该组播源设备请求建立该第一组播目的设备与该组播源设备之间的主转发路径,将该传输设备作为该第一组播目的设备与该组播源设备之间的主转发路径上的设备,记录用于表示该传输设备位于该第一设备标识对应的主转发路径的信息,并向相邻上游设备发送该主转发路径建立请求。
相应地,该传输设备具体可以根据该用于表示该传输设备位于该第一设备标识对应的主转发路径的信息和该第一备用转发路径建立请求中的该第一设备标识确定该传输设备位于该第一组播目的设备与该组播源设备之间的主转发路径上。
根据该实现方式,该传输设备通过在建立主转发路径时记录设备标识可以方便快捷地确定本设备位于该设备标识对应的主转发路径上。
该传输设备还可以接收第二备用转发路径建立请求,该第二备用转发路径建立请求包括第二设备标识且目的地址为该组播源设备的地址,用于请求建立该第二设备标识所标识的第二组播目的设备与该组播源设备之间的备用转发路径,在根据该第二设备标识确定该传输设备不位于该第二组播目的设备与该组播源设备之间的主转发路径上时,将该传输设备作为该第二组播目的设备与该组播源设备之间的备用转发路径上的设备,如将该传输设备上用于接收该第二备用转发路径建立请求的端口作为用于该备用转发路径的端口,并向相邻上游设备发送该第二备用转发路径建立请求。
根据该实现方式,该传输设备仅在没有加入第二组播目的设备与该组播源设备之间的主转发路径时加入该第二组播目的设备的备用转发路径。因此,当该第二组播目的设备与该组播源设备之间的主转发路径发生故障时,该传输设备并不会受到影响,从而降低该第二组播目的设备与该组播源设备之间的备用转发路径受到影响的几率,进一步提高了组播数据传输的可靠性。
在建立该第二组播目的设备与该组播源设备之间的备用转发路径后,可以由该第二组播目的设备对该主转发路径上的故障进行检测并在检测到故障后指示启用备用转发路径,也可以由该组播源设备对主转发路径上的故障进行检测并在检测到故障后指示启用备用转发路径。
在由该第二组播目的设备指示启用备用转发路径的方案中,该传输设备在接收到该相邻上游设备发送的包括该第二设备标识的用于表明该第二组播目的设备的备用转发路径建立成功的通知消息时,将用于接收该通知消息的端口确定为该第二设备标识对应的备用转发路径启停端口,并通过该传输设备上用于该第二设备标识对应的备用转发路径的端口向相邻下游设备发送该通知消息,该备用转发路径启停端口用于发送用于指示启用该第二组播目的设备与该组播源设备之间的备用转发路径的启用消息和用于指示停用该第二组播目的设备的备用转发路径的停用消息。
通过该实现方式,该传输设备会接收用于表明备用转发路径建立成功的通知消息,并在收到该通知消息后将用于接收该通知消息的端口确定为备用转发路径启停端口,因此可以保证该备用转发路径启停端口对应的相邻上游设备位于该第二设备标识对应的备用转发路径上,从而可以保证准确地将启用消息和停用消息发送到位于该第二设备标识对应的备用转发路径上的上游设备。
在确定该备用转发路径启停端口后,该传输设备在接收到该相邻下游设备发送的该启用消息时,根据该启用消息通过该传输设备上用于该第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据。进一步地,还可以通过该第二设备标识对应的该备用转发路径启停端口向该相邻上游设备发送该启用消息。
在具体实现时,该传输设备在接收到该启用消息时可能位于其它组播目的设备的在使用的路径上(如位于其它组播目的设备的主转发路径上,和/或位于其它组播目的设备在使用的备用转发路径上),也可能不位于其它组播目的设备的在使用的路径上。如果位于其它组播目的设备的在使用的路径上,由于该传输设备要发给不同组播目的设备的组播数据通常是相同的,因此该传输设备可以直接将接收的组播数据发送给该第二组播目的设备,而并不一定需要向相邻上游设备转发该启用消息。
为了减少带宽浪费,该传输设备可以仅在不位于其它组播目的设备的在使用的路径上时执行发送该启用消息的步骤,即在位于其它组播目的设备的在使用的路径上时不执行发送该启用消息的步骤。
进一步地,该传输设备还可以接收该相邻下游设备发送的该停用消息,该停用消息包括该第二设备标识,相应地,该传输设备根据该停用消息停止通过该传输设备上用于该第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据,还可以通过该第二设备标识对应的该备用转发路径启停端口向该相邻上游设备发送该停用消息。
在具体实现时,该传输设备在接收到该停用消息时,该传输设备上用于该第二组播目的设备与该组播源设备之间的备用转发路径的端口所用于的在使用转发路径中可能仅包括该第二组播目的设备与该组播源设备之间的备用转发路径,也可能还包括其他组播目的设备和组播源设备之间的转发路径。
为了避免对其他组播目的设备和组播源设备之间的转发路径的组播数据传输的影响,该传输设备具体可以在根据该停用消息确定该传输设备上用于该第二组播目的设备与该组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括该第二组播目的设备与该组播源设备之间的备用转发路径时,停止通过该传输设备上用于该第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据。
在由该组播源设备指示启用备用转发路径的方案中,该传输设备在接收到该相邻上游设备发送的用于指示启用备用转发路径的启用消息时,通过该传输设备上的用于备用转发路径的端口发送该启用消息。
需要说明的是,用于备用转发路径的端口可能仅用于备用转发路径,也可能既用于备用转发路径又用于主转发路径。该传输设备还可以在接收到该启用消息时启用该传输设备上的仅用于备用转发路径的端口发送接收的组播数据。
在一种可能的实现方式中,该传输设备可以通过该传输设备上的所有用于备用转发路径的端口发送该启用消息。相应地,如果该传输设备上的所有用于备用转发路径的端口中存在仅用于备用转发路径的端口,还启用该仅用于备用转发路径的端口发送接收的组播数据。进一步地,该传输设备在接收到该相邻上游设备发送的用于指示停用备用转发路径的停用消息时,停止通过该仅用于备用转发路径的端口发送接收的组播数据,并通过该传输设备上的所有用于备用转发路径的端口发送该停用消息。通过该实现方式可以简单方便地实现备用转发路径的启用和停用。
在另一种可能的实现方式中,该启用消息可以包括目标设备标识,相应地,该传输设备可以仅通过该传输设备上的用于该目标设备标识所对应的备用转发路径的端口发送该启用消息。相应地,如果该传输设备上的用于该目标设备标识所对应的备用转发路径的端口中存在仅用于备用转发路径的端口,还启用该仅用于备用转发路径的端口发送接收的组播数据。进一步地,该传输设备在接收到该相邻上游设备发送的包括该目标设备标识的用于指示停用备用转发路径的停用消息时,停止通过该该传输设备上的该目标设备标识所对应的仅用于备用转发路径的端口发送接收的组播数据,并通过该传输设备上的用于备用转发路径的端口发送该停用消息。
通过该实现方式可以有针对性地启用该目标设备标识所对应的备用转发路径的端口发送组播数据,从而达到节省带宽的目的。
第二方面,提供了一种实现数据组播的方法,该方法包括:组播目的设备向所述组播目的设备的第一相邻上游设备发送主转发路径建立请求,所述主转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的主转发路径,所述主转发路径建立请求还包括用于标识所述组播目的设备的设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的加入到所述主转发路径的设备记录用于表示已加入所述设备标识对应的主转发路径的信息;向该所述组播目的设备的不同于所述第一相邻上游设备的第二相邻上游设备发送备用转发路径建立请求,所述备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述备用转发路径建立请求还包括所述设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的接收到所述备用转发路径建立请求的传输设备根据所述设备标识判断是否已加入到所述设备标识对应的主转发路径。
根据第二方面的实现方式,由于是向不同的相邻上游设备分别发送主转发路径建立请求和备用转发路径建立请求,并且主转发路径建立请求和备用转发路径建立请求均包括该组播目的设备的设备标识,因此可以有效避免同一传输设备既用于该组播目的设备的主转发路径又用于该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
在发送该备用转发路径建立请求之后,所述组播目的设备还可以在接收到所述第二相邻上游设备发送的用于表明所述组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为备用转发路径启停端口。进一步地,所述组播目的设备在检测到所述主转发路径出现故障时,通过所述备用转发路径启停端口发送用于指示启用所述备用转发路径的启用消息。
通过该实现方式,该组播目的设备会接收用于表明备用转发路径建立成功的通知消息,并在收到该通知消息后将用于接收该通知消息的端口确定为备用转发路径启停端口,因此可以保证该备用转发路径启停端口对应的相邻上游设备位于组播目的设备与所述组播源设备之间的备用转发路径上,从而可以保证准确地将启用消息发送到位于该组播目的设备与所述组播源设备之间的备用转发路径上的上游设备。
第三方面,提供了一种实现数据组播的方法,该方法包括:组播源设备通过第一端口接收主转发路径建立请求,所述主转发路径建立请求包括设备标识,用于向组播源设备请求建立所述设备标识所标识的组播目的设备与组播源设备之间的主转发路径;将所述第一端口作为用于所述主转发路径的端口;通过第二端口接收备用转发路径建立请求,所述备用转发路径建立请求包括所述设备标识,用于向所述组播源设备请求建立所述组播目的设备与组播源设备之间的备用转发路径;并将所述第二端口作为用于所述备用转发路径的端口。
根据第三方面的实现方式,该组播源设备的用于该组播目的设备的主转发路径的端口和用于该该组播目的设备的备用转发路径的端口为不同的端口,因此,当主转发路径出现故障时,还可以通过用于备用转发路径的端口向该组播目的设备发送组播数据,从而提高了组播数据传输的可靠性。
进一步地,所述组播源设备在检测到所述第一端口所用于的主转发路径发生故障后,可以通过所述组播源设备上用于备用转发路径的端口发送用于指示启用备用转发路径的启用消息,所述组播源设备上用于备用转发路径的端口包括所述第二端口,还可以启用所述组播源设备上的仅用于备用转发路径的端口发送组播数据。
在一种可能的实现方式中,所述组播源设备在检测到所述第一端口所用于的主转发路径发生故障后,还可以确定所述第一端口作为主端口时所对应的设备标识,并进而仅通过组播源设备上的用于确定的设备标识所对应的备用转发路径的端口发送所述启用消息。通过该实现方式可以有针对性地启用确定的设备标识所对应的备用转发路径的端口发送组播数据,从而达到节省带宽的目的。
第四方面,提供了一种实现数据组播的传输设备,所述传输设备包括通信单元和处理单元。所述通信单元,用于接收第一备用转发路径建立请求,所述第一备用转发路径建立请求包括第一设备标识且目的地址为组播源设备的地址,用于请求建立所述第一设备标识所标识的第一组播目的设备与所述组播源设备之间的备用转发路径;所述处理单元,用于在根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不转发所述第一备用转发路径建立请求。
根据本发明第四方面的传输设备,该传输设备根据第一备用转发路径建立请求中的设备标识判断是否已加入该设备标识所标识的组播目的设备与所述组播源设备之间的主转发路径,并在已加入该组播目的设备与所述组播源设备之间的主转发路径时不将该传输设备作为该组播目的设备与所述组播源设备之间的备用转发路径上的设备并不转发该第一备用转发路径建立请求。因此,当该传输设备发生故障时,该传输设备仅会影响到该组播目的设备的主转发路径而不会影响到该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
在接收第一备用转发路径建立请求之前,所述通信单元还用于接收主转发路径建立请求,所述主转发路径建立请求包括所述第一设备标识且目的地址为所述组播源设备的地址,用于向所述组播源设备请求建立所述第一组播目的设备与所述组播源设备之间的主转发路径;还用于将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的主转发路径上的设备,记录用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息,并通过所述通信单元向相邻上游设备发送所述主转发路径建立请求。
相应地,所述处理单元用于根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上,包括:用于根据所述用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息和所述第一备用转发路径建立请求中的所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上。
根据该实现方式,该传输设备通过在建立主转发路径时记录设备标识可以方便快捷地确定本设备位于该设备标识对应的主转发路径上。
所述通信单元还可以用于接收第二备用转发路径建立请求,所述第二备用转发路径建立请求包括第二设备标识且目的地址为所述组播源设备的地址,用于请求建立所述第二设备标识所标识的第二组播目的设备与所述组播源设备之间的备用转发路径;所述处理单元还用于在根据所述第二设备标识确定所述传输设备不位于所述第二组播目的设备与所述组播源设备之间的主转发路径上时,将所述传输设备作为所述第二组播目的设备与该组播源设备之间的备用转发路径上的设备,如将所述传输设备上用于接收所述第二备用转发路径建立请求的端口作为用于所述备用转发路径的端口,并通过所述通信单元向相邻上游设备发送所述第二备用转发路径建立请求。
根据该实现方式,该传输设备仅在没有加入第二组播目的设备与所述组播源设备之间的主转发路径时加入该第二组播目的设备的备用转发路径。因此,当该第二组播目的设备与所述组播源设备之间的主转发路径发生故障时,该传输设备并不会受到影响,从而降低该第二组播目的设备与该组播源设备之间的备用转发路径受到影响的几率,进一步提高了组播数据传输的可靠性。
在建立该第二组播目的设备与该组播源设备之间的备用转发路径后,可以由该第二组播目的设备对该主转发路径上的故障进行检测并在检测到故障后指示启用备用转发路径,也可以由该组播源设备对主转发路径上的故障进行检测并在检测到故障后指示启用备用转发路径。
在由该第二组播目的设备指示启用备用转发路径的方案中,所述处理单元还用于在通过所述通信单元接收到所述相邻上游设备发送的包括所述第二设备标识的用于表明所述第二组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为所述第二设备标识对应的备用转发路径启停端口,并通过所述通信单元利用所述传输设备上用于所述第二设备标识对应的备用转发路径的端口向相邻下游设备发送所述通知消息,所述备用转发路径启停端口用于发送用于指示启用所述第二组播目的设备与该组播源设备之间的备用转发路径的启用消息和用于指示停用所述第二组播目的设备的备用转发路径的停用消息。
通过该实现方式,该传输设备会接收用于表明备用转发路径建立成功的通知消息,并在收到该通知消息后将用于接收该通知消息的端口确定为备用转发路径启停端口,因此可以保证该备用转发路径启停端口对应的相邻上游设备位于该第二设备标识对应的备用转发路径上,从而可以保证准确地将启用消息和停用消息发送到位于该第二设备标识对应的备用转发路径上的上游设备。
在确定该备用转发路径启停端口后,所述通信单元还用于接收所述相邻下游设备发送的所述启用消息,所述启用消息包括所述第二设备标识;相应地,所述处理单元还用于根据所述启用消息通过所述通信单元利用所述传输设备上用于所述第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据,并通过所述通信单元利用所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述启用消息。
在具体实现时,所述传输设备在接收到该启用消息时可能位于其它组播目的设备的在使用的路径上(如位于其它组播目的设备的主转发路径上,和/或位于其它组播目的设备在使用的备用转发路径上),也可能不位于其它组播目的设备的在使用的路径上。如果位于其它组播目的设备的在使用的路径上,由于该传输设备要发给不同组播目的设备的组播数据通常是相同的,因此该传输设备可以直接将接收的组播数据发送给该第二组播目的设备,而并不一定需要向相邻上游设备转发该启用消息。
为了减少带宽浪费,所述处理单元可以仅在所述传输设备不位于其它组播目的设备的在使用的路径上时通过所述通信单元发送所述启用消息,即在所述传输设备位于其它组播目的设备的在使用的路径上时不通过所述通信单元发送所述启用消息。
进一步地,所述通信单元还可以接收所述相邻下游设备发送的所述停用消息,所述停用消息包括所述第二设备标识,相应地,所述处理单元根据所述停用消息停止通过所述通信单元利用所述传输设备上用于所述第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据,还可以通过所述通信单元利用所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述停用消息。
在具体实现时,所述通信单元在接收到所述停用消息时,所述传输设备上用于所述第二组播目的设备与该组播源设备之间的备用转发路径的端口所用于的在使用转发路径中可能仅包括所述第二组播目的设备与该组播源设备之间的备用转发路径,也可能还包括其他组播目的设备和组播源设备之间的转发路径。
为了避免对其他组播目的设备和组播源设备之间的转发路径的组播数据传输的影响,所述处理单元具体可以在根据所述停用消息确定所述传输设备上用于所述第二组播目的设备与该组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括所述第二组播目的设备与该组播源设备之间的备用转发路径时,停止通过所述通信单元利用所述传输设备上用于所述第二组播目的设备与该组播源设备之间的备用转发路径的端口发送接收的组播数据。
在由该组播源设备指示启用备用转发路径的方案中,所述处理单元还用于在通过所述通信单元接收到所述相邻上游设备发送的用于指示启用备用转发路径的启用消息时,通过所述通信单元利用所述传输设备上的用于备用转发路径的端口发送所述启用消息。
需要说明的是,用于备用转发路径的端口可能仅用于备用转发路径,也可能既用于备用转发路径又用于主转发路径。所述处理单元还可以在接收到所述启用消息时启用所述传输设备上的仅用于备用转发路径的端口发送接收的组播数据。
在一种可能的实现方式中,该处理单元可以通过所述通信单元利用所述传输设备上的所有用于备用转发路径的端口发送所述启用消息。相应地,如果该传输设备上的所有用于备用转发路径的端口中存在仅用于备用转发路径的端口,还启用该仅用于备用转发路径的端口发送接收的组播数据。进一步地,所述处理单元在通过所述通信单元接收到所述相邻上游设备发送的用于指示停用备用转发路径的停用消息时,停止通过所述通信单元利用该仅用于备用转发路径的端口发送接收的组播数据,并通过所述通信单元利用所述传输设备上的所有用于备用转发路径的端口发送所述停用消息。通过该实现方式可以简单方便地实现备用转发路径的启用和停用。
在另一种可能的实现方式中,所述启用消息可以包括目标设备标识,相应地,该处理单元可以通过所述通信单元仅利用所述传输设备上的用于所述目标设备标识所对应的备用转发路径的端口发送所述启用消息。相应地,如果该传输设备上的用于所述目标设备标识所对应的备用转发路径的端口中存在仅用于备用转发路径的端口,还启用该仅用于备用转发路径的端口发送接收的组播数据。进一步地,所述处理单元在通过所述通信单元接收到所述相邻上游设备发送的包括所述目标设备标识的用于指示停用备用转发路径的停用消息时,停止通过该所述传输设备上的该目标设备标识所对应的仅用于备用转发路径的端口发送接收的组播数据,并通过所述通信单元利用所述传输设备上的用于备用转发路径的端口发送所述停用消息。
通过该实现方式可以有针对性地启用所述目标设备标识所对应的备用转发路径的端口发送组播数据,从而达到节省带宽的目的。
第五方面,提供了一种实现数据组播的组播目的设备,所述组播目的设备包括通信单元和处理单元。所述处理单元,用于通过所述通信单元向所述组播目的设备的第一相邻上游设备发送主转发路径建立请求,所述主转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的主转发路径,所述主转发路径建立请求还包括用于标识所述组播目的设备的设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的加入到所述主转发路径的设备记录用于表示已加入所述设备标识对应的主转发路径的信息;所述处理单元,还用于通过所述通信单元向所述组播目的设备的不同于所述第一相邻上游设备的第二相邻上游设备发送备用转发路径建立请求,所述备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述备用转发路径建立请求还包括所述设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的接收到所述备用转发路径建立请求的传输设备根据所述设备标识判断是否已加入到所述设备标识对应的主转发路径。
根据第五方面的实现方式,由于是向不同的相邻上游设备分别发送主转发路径建立请求和备用转发路径建立请求,并且主转发路径建立请求和备用转发路径建立请求均包括该组播目的设备的设备标识,因此可以有效避免同一传输设备既位于该组播目的设备的主转发路径又位于该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
在发送该备用转发路径建立请求之后,所述处理单元还用于在通过所述通信单元接收到所述第二相邻上游设备发送的用于表明所述组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为备用转发路径启停端口。进一步地,所述处理单元还用于在检测到所述主转发路径出现故障时,通过所述通信单元利用所述备用转发路径启停端口发送用于指示启用所述备用转发路径的启用消息。
通过该实现方式,该组播目的设备会接收用于表明备用转发路径建立成功的通知消息,并在收到该通知消息后将用于接收该通知消息的端口确定为备用转发路径启停端口,因此可以保证该备用转发路径启停端口对应的相邻上游设备位于组播目的设备与所述组播源设备之间的备用转发路径上,从而可以保证准确地将启用消息发送到位于该组播目的设备与所述组播源设备之间的备用转发路径上的上游设备。
第六方面,提供了一种实现数据组播的组播源设备,所述组播源设备包括通信单元和处理单元。所述通信单元,用于通过第一端口接收主转发路径建立请求并通过第二端口接收备用转发路径建立请求,所述主转发路径建立请求包括设备标识,用于向组播源设备请求建立所述设备标识所标识的组播目的设备与组播源设备之间的主转发路径,所述备用转发路径建立请求包括所述设备标识,用于向所述组播源设备请求建立所述组播目的设备与组播源设备之间的备用转发路径;所述处理单元,用于将所述第一端口作为用于所述主转发路径的端口,并将所述第二端口作为用于所述备用转发路径的端口。
根据第六方面的实现方式,该组播源设备的用于组播目的设备的主转发路径的端口和用于该组播目的设备的备用转发路径的端口为不同的端口,因此,当主转发路径出现故障时,还可以通过用于备用转发路径的端口向该组播目的设备发送组播数据,从而提高了组播数据传输的可靠性。
进一步地,所述处理单元还用于在检测到所述第一端口所用于的主转发路径发生故障后,通过所述通信单元利用所述组播源设备上用于备用转发路径的端口发送用于指示启用备用转发路径的启用消息,所述组播源设备上用于备用转发路径的端口包括所述第二端口,还可以用于启用所述组播源设备上仅用于备用转发路径的端口发送组播数据。
在一种可能的实现方式中,所述处理单元在检测到所述第一端口所用于的主转发路径发生故障后,还可以确定所述第一端口作为主端口时所对应的设备标识,并进而通过所述通信单元仅利用组播源设备上的用于确定的设备标识所对应的备用转发路径的端口发送所述启用消息。通过该实现方式可以有针对性地启用确定的设备标识所对应的备用转发路径的端口发送组播数据,从而达到节省带宽的目的。
第七方面,提供了一种实现数据组播的系统,所述系统包括第一组播目的设备和传输设备。所述第一组播目的设备,用于向所述第一组播目的设备的相邻上游设备发送第一备用转发路径建立请求,所述第一备用转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述第一备用转发路径建立请求还包括用于标识所述第一组播目的设备的设备标识。所述传输设备,用于接收所述第一备用转发路径建立请求,在根据所述第一备用转发路径建立请求中的设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不转发所述第一备用转发路径建立请求。
第八方面,提供了一种实现数据组播的传输设备,所述传输设备包括处理器和端口。所述处理器,用于通过所述端口接收第一备用转发路径建立请求,所述第一备用转发路径建立请求包括第一设备标识且目的地址为组播源设备的地址,用于请求建立所述第一设备标识所标识的第一组播目的设备与所述组播源设备之间的备用转发路径;所述处理器,还用于在根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不通过所述通信单元转发所述第一备用转发路径建立请求。所述处理器具体用于执行上述第一方面所述的方法。
第九方面,提供了一种实现数据组播的组播目的设备,所述组播目的设备包括处理器和端口。所述处理器,用于通过与所述组播目的设备的第一相邻上游设备通信的端口向所述第一相邻上游设备发送主转发路径建立请求,所述主转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的主转发路径,所述主转发路径建立请求还包括用于标识所述组播目的设备的设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的加入到所述主转发路径的设备记录用于表示已加入所述设备标识对应的主转发路径的信息;所述处理器,还用于通过与所述组播目的设备的不同于所述第一相邻上游设备的第二相邻上游设备通信的端口向所述第二相邻上游设备发送备用转发路径建立请求,所述备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述备用转发路径建立请求还包括所述设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的接收到所述备用转发路径建立请求的传输设备根据所述设备标识判断是否已加入到所述设备标识对应的主转发路径。所述处理器具体用于执行上述第二方面所述的方法。
第十方面,提供了一种实现数据组播的组播源设备,所述组播源设备包括处理器和端口。所述处理器,用于通过第一端口接收主转发路径建立请求并通过第二端口接收备用转发路径建立请求,所述主转发路径建立请求包括设备标识,用于向组播源设备请求建立所述设备标识所标识的组播目的设备与组播源设备之间的主转发路径,所述备用转发路径建立请求包括所述设备标识,用于向所述组播源设备请求建立所述组播目的设备与组播源设备之间的备用转发路径;所述处理单元,用于将所述第一端口作为用于所述主转发路径的端口,并将所述第二端口作为用于所述备用转发路径的端口。所述处理器具体用于执行上述第三方面所述的方法。
本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的系统100的组网结构示意图;
图2A-2C为本发明实施例提供的方法100的流程示意图;
图3是本发明实施例2提供的传输设备200的结构示意图;
图4是本发明实施例3提供的组播目的设备300的结构示意图;
图5是本发明实施例4提供的组播源设备400的结构示意图;
图6是本发明实施例5提供的传输设备1000的结构示意图;
图7是本发明实施例6提供的组播目的设备2000的结构示意图;
图8是本发明实施例7提供的组播源设备3000的结构示意图;
图9是本发明实施例8提供的系统4000的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1为本发明实施例提供的一种用于实现数据组播的系统100的组网结构示意图,系统100包括组播源设备110、多个传输设备120(如图1所示的R11-R34)和组播目的设备130(如图1所示的D1-D3)。其中,组播源设备110可以是汇集点设备(Rendezvous Point,RP),传输设备120可以是交换机、路由器等设备,组播目的设备130可以是指定路由器(DesignatedRouter,DR)。
组播源设备110、传输设备120和组播目的设备130通常位于同一城域网。如图1所示,每个组播目的设备130与至少两个相邻上游设备相连,每个传输设备120与至少一个相邻上游设备相连且与至少一个相邻下游设备相连,组播源设备110与至少两个相邻下游设备相连。
组播源设备110从数据源设备获取要组播给组播目的设备130的数据,并通过传输设备120向组播目的设备130发送组播数据。各组播目的设备130用于向其连接的客户侧边缘设备(Customer Edge,CE)发送接收的组播数据,进而,CE向与其相连的各用户终端发送接收的组播数据。
系统100具体可以是IPTV系统。在IPTV系统中,组播源设备110具体可以为CR,传输设备120具体可以为BR,组播目的设备130具体可以为BRAS。相应地,与CR相连的数据源设备可以为IPTV服务器,与BRAS相连的CE可以为OLT,与CE相连的用户终端可以为机顶盒。
对于组播目的设备130中的任一组播目的设备,建立该组播目的设备和组播源设备之间的主转发路径和备用转发路径,相应地,组播源设备110通过该主转发路径向该组播目的设备发送组播数据,并在该主转发路径故障时通过该备用转发路径向该组播目的设备发送组播数据。
下面结合图2A-2C介绍本发明实施例1提供的方法100。如图2A所示,通过步骤S01-S03建立第一组播目的设备和组播源设备之间的主转发路径,并通过步骤S04-S06建立第一组播目的设备和组播源设备之间的备用转发路径;如图2B所示,通过步骤S07A-S12A实现组播源设备主动启停备用转发路径;如图2C所示,通过步骤S07B-S10B实现第一组播目的设备主动启停备用转发路径。
如图2A所示,方法100包括如下步骤:
S01:第一组播目的设备(如图1所示的D1)向第一相邻上游设备(如图1所示的R31)发送主转发路径建立请求。
该主转发路径建立请求的目的地址为组播源设备的地址,如该组播源设备的因特网协议(Internet Protocol,IP)地址,以请求建立与该组播源设备之间的主转发路径。该组播源设备的地址可以是预先配置在第一组播目的设备上的。该第一组播目的设备、以及该主转发路径建立请求所经过的位于第一组播目的设备和组播源设备之间的每个设备均往上游发送该主转发路径建立请求,直至该主转发路径建立请求到达组播源设备。具体可以根据最短路径优先(shortest path first,SPF)算法沿着最小开销路径方向往上游发送该主转发路径建立请求。该主转发路径建立请求还包括设备标识,该设备标识用于标识该第一组播目的设备,具体可以是该第一组播目的设备的IP地址,也可以是用于标识该第一组播目的设备的字符串、编号等。
该主转发路径建立请求还可以包括要通过该主转发路径传输的组播数据的组播组标识(如组播地址)。在具体实现时,在步骤S01之前组播源设备可以向数据源设备获取组播组标识列表并通过单播方式向各个组播目的设备发送组播组标识列表。第一组播目的设备获取该组播组标识列表后执行步骤S01。该主转发路径建立请求中的组播组标识包括该第一组播目的设备获取的组播组标识列表中的一个或多个组播组标识,如包括该第一组播目的设备获取的组播组标识列表中的所有组播组标识。
需要说明的是,该第一组播目的设备、以及该主转发路径建立请求所经过的位于第一组播目的设备和组播源设备之间的每个传输设备均往上游发送该主转发路径建立请求,直至该主转发路径建立请求到达组播源设备。该主转发路径建立请求所经过的位于第一组播目的设备和组播源设备之间的每个设备均执行后续步骤S02。
S02:该主转发路径建立请求所经过的位于第一组播目的设备和组播源设备之间的任一传输设备(后续称为第一传输设备)在接收到该主转发路径建立请求时,将该第一传输设备作为该第一组播目的设备与所述组播源设备之间的主转发路径上的设备,记录用于表示该传输设备位于该第一设备标识对应的主转发路径的信息,并转发该主转发路径建立请求。
其中,将该第一传输设备作为该第一组播目的设备与所述组播源设备之间的备用转发路径上的设备的具体实现方式可以为,将该第一传输设备上用于接收该主转发路径建立请求的端口作为用于该主转发路径的端口,即将该端口作为用于该主转发路径的组播数据发送的端口。具体地,第一传输设备根据该主转发路径建立请求中的组播组标识建立主转发表项,该主转发表项包括该端口的端口号和该组播组标识的对应关系。需要说明的是,第一组播目的设备在步骤S02之前可能已经在通过该端口接收到其它组播目的设备发送的包括该组播组标识的主转发路径建立请求时已经建立了该主转发表项,则在步骤S02中保留该主转发表项。
该第一传输设备将该第一传输设备作为该第一组播目的设备与所述组播源设备之间的主转发路径上的设备后,即可在接收到组播数据时向将该主转发路径建立请求发送给该第一传输设备的相邻下游设备发送该组播数据,具体地,在接收到该组播数据时通过该端口发送该组播数据,如,在接收到携带该组播组标识对应的组播数据时(如,当组播组标识为组播地址时,接收到目的地址为该组播地址的组播数据时),通过该主转发表项确定该组播组标识对应的端口号,并通过该端口号对应的该端口发送该组播数据。
S03:组播源设备在接收到该主转发路径建立请求时,将该组播源设备上用于接收该主转发路径建立请求的端口作为用于该第一组播目的设备与所述组播源设备之间的主转发路径的端口,即将该端口作为用于该主转发路径的组播数据发送的端口。
具体地,组播源设备根据该主转发路径建立请求中的组播组标识建立主转发表项,该主转发表项包括该端口的端口号和该组播组标识的对应关系。需要说明的是,组播源设备在步骤S03之前可能已经在通过该端口接收到其它组播目的设备发送的包括该组播组标识的主转发路径建立请求时已经建立了该主转发表项,则在步骤S03中保留该主转发表项。
该组播源设备将该组播源设备上用于接收该主转发路径建立请求的端口作为用于该主转发路径的端口后,即可在接收到组播数据时通过该端口发送该组播数据。如,该组播源设备在接收到携带该组播组标识对应的组播数据时,通过该主转发表项确定该组播组标识对应的端口号,并通过该端口号对应的该端口发送该组播数据。
另外,该组播源设备还可以记录用于表示该端口为该设备标识对应的主端口的信息。
S04:第一组播目的设备向不同于该第一相邻上游设备的第二相邻上游设备(如图1所示的R32)发送备用转发路径建立请求。
第一组播目的设备可以在确定主转发路径已经建好的情况下发送该备用转发路径建立请求,如,组播源设备在加入主转发路径后向第一组播目的设备发送用于表明建立成功的通知消息,第一组播目的设备接收到该通知消息后即可确定该主转发路径已经建立成功。组播源设备具体可以通过与该设备标识对应的主端口发送该通知消息,相应地,组播源设备和第一组播目的设备之间接收到该通知消息的所有设备均通过各自的与该设备标识对应的主端口向发送该通知消息,直至该第一组播目的设备接收到该通知消息。第一组播目的设备也可以在发送主转发路径建立请求后经过预定时长(如200ms)后发送该备用转发路径建立请求。
该备用转发路径建立请求的目的地址为该组播源设备的地址,以请求建立与该组播源设备之间的备用转发路径。该备用转发路径建立请求还包括该设备标识,另外,还可以包括该组播组标识。
该第一组播目的设备以及该备用转发路径建立请求所经过的每个设备均向一个或多个相邻上游设备发送该备用转发路径建立请求,直至该备用转发路径建立请求到达组播源设备。该备用转发路径建立请求所经过的每个传输设备均执行后续步骤S05。
S05:该备用转发路径建立请求所经过的位于第一组播目的设备和组播源设备之间的任一传输设备(后续称为第二传输设备)在接收到该备用转发路径建立请求时,根据该备用转发路径建立请求中的设备标识判断是否已加入该第一组播目的设备与所述组播源设备之间的主转发路径。如果位于该第一组播目的设备与所述组播源设备之间的主转发路径上,不将该第二传输设备作为该第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,且不转发该备用转发路径建立请求,此时可以丢弃该备用转发路径建立请求;如果不位于该第一组播目的设备与所述组播源设备之间的主转发路径上,将该第二传输设备作为该第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并向相邻上游设备转发该备用转发路径建立请求。
将该第二传输设备作为该第一组播目的设备与所述组播源设备之间的备用转发路径上的设备的具体实现方式可以为,将该第二传输设备上用于接收该备用转发路径建立请求的端口作为用于该备用转发路径的端口,即将该端口作为用于该备用转发路径的组播数据发送的端口。具体地,第二传输设备根据该备用转发路径建立请求中的组播组标识建立备用转发表项,该备用转发表项包括该端口的端口号和该组播组标识的对应关系。
需要说明的是,第一组播目的设备在步骤S05之前可能已经在通过该端口接收到其它组播目的设备发送的包括该组播组标识的备用转发路径建立请求时已经建立了该备用转发表项,则在步骤S05中保留该备用转发表项。
第二传输设备还可以记录用于表示该端口为该设备标识对应的备用端口的信息。
可以理解的是,如果该第二传输设备位于该第一组播目的设备与所述组播源设备之间的主转发路径上,该第二传输设备为其中一个第一传输设备;如果该第二传输设备不位于该第一组播目的设备与所述组播源设备之间的主转发路径上,该第二传输设备为不同于任一第一传输设备的设备。
S06:组播源设备在接收到该备用转发路径建立请求时,将该组播源设备上用于接收该备用转发路径建立请求的端口作为用于该备用转发路径的端口,即将该端口作为用于该备用转发路径的组播数据发送的端口。
具体地,组播源设备可以根据该备用转发路径建立请求中的组播组标识建立备用转发表项,该备用转发表项包括该端口的端口号和该组播组标识的对应关系。需要说明的是,组播源设备在步骤S06之前可能已经在通过该端口接收到其它组播目的设备发送的包括该组播组标识的备用转发路径建立请求时已经建立了该备用转发表项,则在步骤S06中保留该备用转发表项。
另外,该组播源设备还可以记录用于表示该端口为该设备标识对应的备用端口的信息,即记录用于表示该端口用于该设备标识对应的备用转发路径的信息。
在步骤S06之后,组播源设备还可以通过用于接收该备用转发路径建立请求的端口发送用于表明该组播目的设备的备用转发路径建立成功的成功通知消息,该成功通知消息包括该组播目的设备的设备标识。相应地,每个接收到该成功通知消息的第二传输设备均通过该设备标识对应的备用端口转发该成功通知消息,直至第一组播目的设备接收到该成功通知消息。收到相邻上游设备发送的成功通知消息的设备(第二传输设备或第一组播目的设备)将用于接收该成功通知消息的端口确定为该组播目的设备对应的备用转发路径启停端口,该备用转发路径启停端口用于发送用于指示启用该组播目的设备与所述组播源设备之间的备用转发路径的启用消息和用于指示停用该组播目的设备的备用转发路径的停用消息。
需要说明的是,该第一组播目的设备可能具有多个不同于第一相邻上游设备的其它相邻上游设备,第二传输设备也可能具有多个相邻上游设备。在具体实现时,为了保证成功建立备用转发路径,可以采用如下两种实现方式中的一种来实现。
实现方式1:该第一组播目的设备具有多个不同于第一相邻上游设备的其它相邻上游设备时,向每个其它相邻上游设备均发送备用转发路径建立请求。第二传输设备存在多个相邻上游设备时,也向每个相邻上游设备均发送备用转发路径建立请求。
采用该实现方式,组播源设备可能会接收到多个来自该第一组播目的设备的相同的备用转发路径建立请求。组播源设备可以基于其中一个备用转发路径建立请求执行步骤S06,进一步地,组播源设备还可以通过用于接收该备用转发路径建立请求的端口发送该成功通知消息。
实现方式2:该第一组播目的设备具有多个不同于第一相邻上游设备的其它相邻上游设备时,先向其中一个其它相邻上游设备发送该备用转发路径建立请求,并在接收到用于表明建立失败的失败通知消息时,再向另一个其它相邻上游设备发送该备用转发路径建立请求,直至接收到成功通知消息。第二传输设备存在多个相邻上游设备时,也先向其中一个相邻上游设备发送备用转发路径建立请求,并在接收到失败通知消息时,再向另一个相邻上游设备发送该备用转发路径建立请求,直至接收到成功通知消息或针对发送给每个相邻上游设备的备用转发路径建立请求均接收到失败通知消息。具体实现方式如下:组播源设备在接收到备用转发路径建立请求时,根据接收该备用转发路径建立请求的端口发送成功通知消息,接收到该成功通知消息的设备(传输设备或第一组播目的设备)可以根据该成功通知消息确定最新发送的备用转发路径建立请求已成功建立该备用转发路径,不需要再向其它相邻上游设备发送该备用转发路径建立请求。接收到该备用转发路径建立请求的传输设备如果通过步骤S05确定已加入该第一组播目的设备的主转发路径,通过接收该备用转发路径建立请求的端口发送失败通知消息,每个收到该失败通知消息的设备(传输设备或第一组播目的设备)如果还存在没有发过该备用转发路径建立请求的相邻上游设备,则向没有发过该备用转发路径建立请求的一个相邻上游设备发送该备用转发路径建立请求,直至针对发送给每个相邻上游设备的备用转发路径建立请求均接收到失败通知消息或针对发送给其中一个相邻上游设备的备用转发路径建立请求接收到成功通知消息。对于传输设备,如果针对发送给每个相邻上游设备的备用转发路径建立请求均接收到失败通知消息,则通过接收该备用转发路径建立请求的端口发送失败通知消息。
通过上述步骤S01-S06,建立了第一组播目的设备和组播源设备之间的主转发路径和备用转发路径。
在建立备用转发路径后,当第一组播目的设备或组播源设备检测到主转发路径出现故障时可以启用备用转发路径。下面结合图2B通过步骤S07A-S12A描述第一组播目的设备启用备用转发路径的流程,并结合图2C通过步骤S07B-S12B描述组播源设备启用备用转发路径的流程。
要实现第一组播目的设备启用备用转发路径的功能,在执行步骤S07A之前,位于备用转发路径上的任一传输设备和第一组播目的设备需要先根据前述步骤确定本设备上与该第一组播目的设备对应的备用转发路径启停端口。
S07A:第一组播目的设备在检测到该主转发路径出现故障时,通过第一组播目的设备上的备用转发路径启停端口发送用于指示启用该备用转发路径的启用消息,该启用消息包括该第一组播目的设备的设备标识。
第一组播目的设备具体可以通过双向转发检测(Bidirectional ForwardingDetection,BFD)等检测方式检测主转发路径上是否发生故障,如果发生故障则执行步骤S07A。
S08A:位于备用转发路径上的接收到该启用消息的任一传输设备(后续称为第三传输设备)在接收到该启用消息后,通过该第三传输设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据。
可以理解的是,该第三传输设备为位于该第一组播目的设备与所述组播源设备之间的备用转发路径上的第二传输设备。
该第三传输设备具体可以根据该第三传输设备上与该第一组播目的设备对应的备用转发表项发送接收的组播数据。
该第三传输设备还可以通过该设备标识对应的该备用转发路径启停端口向该相邻上游设备发送该启用消息。如果该第三传输设备在接收该启用消息前已参与组播数据传输,即,该第三传输设备位于其它组播目的设备的在使用的路径上,如该第三传输设备位于其它组播目的设备的主转发路径上,又如,该第三传输设备位于其它组播目的设备的备用转发路径上且该备用转发路径已启用,由于该第三传输设备要发给不同组播目的设备的组播数据通常是相同的,因此该第三传输设备可以直接将接收的组播数据发送给该第一组播目的设备,而并不一定需要向相邻上游设备转发该启用消息。因此,该第三传输设备可以仅在确定在接收该启用消息前未参与组播数据传输时向相邻上游设备转发该启用消息。
该启用消息沿着备用路径启停端口向上游传输,直至到达在接收该启用消息前已参与组播数据传输的第三传输设备,或直至达到组播源设备。如果组播源设备接收到该启用消息,则执行步骤S09A。
S09A:组播源设备在接收到该启用消息后,通过用于该备用转发路径的端口发送组播数据。
可以理解的是,组播源设备上用于该备用转发路径的端口即为组播源设备上用于接收该启用消息的端口。
该组播源设备可以根据该组播源设备上与该第一组播目的设备对应的备用转发表项发送组播数据。具体可以根据用于接收该启用消息的端口对应的备用转发表项发送组播数据。
S10A:第一组播目的设备在检测到该主转发路径的故障已消除时,通过该备用转发路径启停端口发送用于指示停用该备用转发路径的停用消息,该停用消息包括该第一组播目的设备的设备标识。
第一组播目的设备具体可以通过BFD等检测方式检测主转发路径上是否发生故障,如果故障已消除则执行步骤S10A。
S11A:位于备用转发路径上的接收到该停用消息的任一传输设备(即第三传输设备)在接收到该停用消息后,在确定该第三传输设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括该第一组播目的设备与所述组播源设备之间的备用转发路径时,停止通过该第三传输设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据,如停止根据该端口对应的备用转发表项发送组播数据。
第三传输设备可以在每次接收到启用消息时,记录启用记录,该启用记录包括该启用消息中的设备标识与启用的备用端口的端口号的对应关系,并在每次接收到停用消息时删除停用消息中的设备标识对应的启用记录。
在步骤S11A接收到该停用消息时,如果在该端口的启用记录中仅存在该停用消息中的设备标识所对应的启用记录,则说明该端口所用于的已启用备用转发路径中仅包括该第一组播目的设备与所述组播源设备之间的备用转发路径,如果该端口也不用于其它组播目的设备的主转发路径,则可以停止通过该第三传输设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据。
该第三传输设备还可以通过该设备标识对应的该备用转发路径启停端口向该相邻上游设备发送该停用消息。如果该第三传输设备在前述步骤中向相邻上游设备发送了启用消息,则在步骤S11A中向相邻上游设备发送该停用消息。
该停用消息沿着备用转发路径启停端口向上游传输,直至到达在接收该启用消息前已参与组播数据传输的第三传输设备,或直至达到组播源设备。
如果组播源设备接收到该停用消息,则执行步骤S12A。
S12A:组播源设备在接收到该停用消息后,在确定该组播源设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括该第一组播目的设备与所述组播源设备之间的备用转发路径时,停止通过该组播源设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口发送组播数据,如停止根据该端口对应的备用转发表项发送组播数据。
组播源设备确定该组播源设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括该第一组播目的设备与所述组播源设备之间的备用转发路径的实现方式同步骤S11A中该第三传输设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口所用于的在使用转发路径中仅包括该第一组播目的设备与所述组播源设备之间的备用转发路径的实现方式,不再赘述。
S07B:该组播源设备在检测到该组播源设备上用于该第一组播目的设备与所述组播源设备之间的主转发路径的端口所用于的主转发路径发生故障后,通过该组播源设备上用于备用转发路径的端口发送用于指示启用备用转发路径的启用消息,该组播源设备上用于备用转发路径的端口包括该组播源设备上用于该第一组播目的设备与所述组播源设备之间的备用转发路径的端口。
该组播源设备上用于备用转发路径的端口可能是仅用于备用转发路径的端口,也可能是既用于主转发路径又用于备用转发路径的端口。该组播源设备在检测到该故障后,还可以启用该组播源设备上仅用于备用转发路径的端口发送组播数据。对于用于主转发路径的端口(即仅用于主转发路径的端口和既用于主转发路径又用于备用转发路径的端口),则继续通过该端口发送组播数据。
在第一种实现方式中,该组播源设备可以通过除发生故障的端口外的其它端口中的所有用于备用转发路径的端口发送启用消息并启用除发生故障的端口外的其它端口中的所有仅用于备用转发路径的端口发送组播数据。
在第二种实现方式中,该组播源设备可以在每次执行步骤S03时记录用于接收该主转发路径建立请求的端口作为主端口时所对应的设备标识,在每次执行步骤S06时记录用于接收该备用转发路径建立请求的端口作为备用端口时所对应的设备标识,并在步骤S07B中根据发生故障的端口作为主端口时所对应的设备标识(可能是一个也可能是多个)确定该设备标识所对应的备用端口,通过确定的备用端口发送包括确定的设备标识的启用消息并启用确定的备用端口中仅用于备用转发路径的端口发送组播数据。
组播源设备具体可以通过BFD等检测方式检测主转发路径上是否发生故障,如果发生故障则执行步骤S07B。
S08B:位于备用转发路径上的接收到该启用消息的任一传输设备(即第三传输设备)在接收到该启用消息后,通过该第三传输设备上的用于备用转发路径的端口发送该启用消息。
该第三传输设备还可以启用该第三传输设备上仅用于备用转发路径的端口发送组播数据,如开始根据该第三传输设备上仅用于备用转发路径的端口所对应的备用转发表项发送组播数据。
对应于步骤S07B的第一种实现方式,该第三传输设备可以向该第三传输设备上所有用于备用转发路径的端口发送启用消息,并启用该第三传输设备上所有仅用于备用转发路径的端口发送组播数据,如开始根据该第三传输设备上所有仅用于备用转发路径的端口所对应的备用转发表项发送组播数据。
对应于步骤S07B的第二种实现方式,该第三传输设备可以向该第三传输设备上用于该启用消息中的设备标识所对应的备用转发路径的端口发送启用消息并启用该第三传输设备上用于该启用消息中的设备标识所对应的备用转发路径的端口中仅用于备用转发路径的端口发送组播数据,如开始根据该第三传输设备上用于该启用消息中的设备标识所对应的备用转发路径的端口中仅用于备用转发路径的端口所对应的备用转发表项发送组播数据。
该启用消息沿着备用端口向下游传输,直至达到第一组播目的设备。
S09B:组播源设备在检测到该故障已消除时,通过发送启用消息的端口发送停用消息。
组播源设备还停止通过仅用于备用转发路径的端口发送组播数据,如停止根据该仅用于备用转发路径的端口对应的备用转发表项发送组播数据。
S10B:第三传输设备在接收到该停用消息后,通过发送启用消息的端口向相邻下游设备转发该停用消息。
第三传输设备还停止通过仅用于备用转发路径的端口发送接收的组播数据,如停止根据该仅用于备用转发路径的端口对应的备用转发表项发送组播数据。
该启用消息沿着用于备用转发路径上的各传输设备的备用端口向下游传输,直至达到第一组播目的设备。
本发明实施例可以基于协议无关组播-稀疏模式(Protocol IndependentMulticast—Sparse Mode,PIM-SM)协议实现。在现有的PIM协议中,PIM消息的Type(类型)字段的值为3表示该PIM消息为PIM JION消息,Type字段的值为0表示该PIM消息为PIMHello消息,其它PIM消息的消息类型对应的Type的值为1-9中的一个值。本发明实施例中的主转发路径建立请求和备用转发路径建立请求均可以通过扩展PIM JOIN消息的格式来实现,如,在PIM JOIN消息的消息头的预留字段或在消息头的最后增加一个字段携带设备标识,如通过预留字段携带用于标识该组播目的设备的字符串或编号,又如,通过在消息头的最后增加一个字段携带该组播目的设备的IP地址。另外,可以通过将PIM JOIN消息中的type字段的值设置为4表示该PIM JOIN消息为主转发路径建立请求,并通过将PIM JOIN消息中的type字段的值修改为不同于1-9的值(如10)表明该PIM JOIN消息为备用转发路径建立请求。本发明实施例中的启用消息、备用转发路径停止消息、通知消息(如成功通知消息、失败通知消息),均可以通过扩展Hello消息的格式来实现,如,Hello消息的消息头中的预留字段或在消息头的最后增加一个字段携带设备标识。另外,通过将Hello消息中的type字段的值设置为不同的值表明该Hello消息为起不同作用的消息,如,通过将Hello消息中的type字段的值设置为11表明该hello消息为启用消息,通过将Hello消息中的type字段的值设置为12表明该hello消息为备用转发路径停止消息,通过将Hello消息中的type字段的值设置为13表明该hello消息为成功通知消息,通过将Hello消息中的type字段的值设置为14表明该hello消息为失败通知消息。在传输PIM消息时,通常将PIM消息封装到IP报文中传输,即在PIM消息外封装IP头。相应地,本发明实施例中的主转发路径建立请求和备用转发路径建立请求中的目的地址携带在IP头中。
根据本发明实施例1,本发明实施例2提出了一种传输设备200,如图3所示,传输设备200包括:通信单元210和处理单元220。
通信单元210,用于与其它设备通信,如,从其它设备接收备用转发路径建立请求、主转发路径建立请求、组播数据、启用消息、停用消息、通知消息等,向其它设备发送备用转发路径建立请求、主转发路径建立请求、组播数据、启用消息、停用消息、通知消息等。
处理单元220,用于实施本发明实施例1提供的方法100中的传输设备(如第一传输设备、第二传输设备、第三传输设备)执行的操作。
根据本发明实施例2提供的传输设备200,当该传输设备200发生故障时,该传输设备200仅会影响到该组播目的设备的主转发路径而不会影响到该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例3提出了一种组播目的设备300,如图4所示,组播目的设备300包括:通信单元310和处理单元320。
通信单元310,用于与其它设备通信,如,向其它设备发送备用转发路径建立请求、主转发路径建立请求、启用消息、停用消息、通知消息等、从其它设备接收组播数据、启用消息、停用消息、通知消息等。
处理单元220,用于实施本发明实施例1提供的方法100中第一组播目的设备执行的操作,如通过通信单元310发送主转发路径建立请求、备用转发路径建立请求等,在通过通信单元310接收到用于表明组播目的设备300的备用转发路径建立成功的通知消息时,将用于接收该通知消息的端口确定为备用转发路径启停端口等。
根据本发明实施例3提供的组播目的设备300,由于是向不同的相邻上游设备分别发送主转发路径建立请求和备用转发路径建立请求,并且主转发路径建立请求和备用转发路径建立请求均包括组播目的设备300的设备标识,因此可以有效避免同一传输设备既位于该组播目的设备300的主转发路径又位于该组播目的设备300的备用转发路径,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例4提出了一种组播源设备400,如图5所示,组播源设备400包括:通信单元410和处理单元420。
通信单元410,用于与其它设备通信,如,向其它设备发送启用消息、停用消息、通知消息等、从其它设备接收备用转发路径建立请求、主转发路径建立请求、启用消息、停用消息等。
处理单元420,用于实施本发明实施例1提供的方法100中组播源设备执行的操作。
根据本发明实施例4提供的组播源设备400,该组播源设备400的用于组播目的设备的主转发路径的端口和用于该组播目的设备的备用转发路径的端口为不同的端口,因此,当主转发路径出现故障时,还可以通过用于备用转发路径的端口向该组播目的设备发送组播数据,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例5提供了一种传输设备1000,如图6所示,传输设备1000包括处理器1010和端口1020。
处理器1010,用于实施本发明实施例1提供的方法100中的传输设备(如第一传输设备、第二传输设备、第三传输设备)执行的操作,其中,在与其它设备通信时通过端口1020与其它设备通信。处理器1010具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
如图6所示,传输设备1000还可以包括存储器1030。处理器1010和存储器1030之间可以通过总线完成相互间的通信。存储器1030,用于存放计算机操作指令,具体可以是高速随机存取存储器(Random Access Memory,RAM),也可以是非易失性存储器(non-volatilememory)。处理器1010具体可以执行存储器1030中存放的计算机操作指令,通过执行所述计算机操作指令使得传输设备1000执行上述实施例1所述的方法中传输设备所执行的操作。
根据本发明实施例5提供的传输设备1000,当该传输设备1000发生故障时,该传输设备200仅会影响到该组播目的设备的主转发路径而不会影响到该组播目的设备的备用转发路径,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例6提供了一种组播目的设备2000,如图7所示,传输设备1000包括处理器2010和端口2020。
处理器2010,用于实施本发明实施例1提供的方法100中组播目的设备执行的操作,其中,在与其它设备通信时通过端口2020与其它设备通信。处理器2010具体可以是CPU,或者是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
如图7所示,组播目的设备2000还可以包括存储器2030。处理器2010和存储器2030之间可以通过总线完成相互间的通信。存储器2030,用于存放计算机操作指令,具体可以是高速RAM存储器,也可以是非易失性存储器。处理器2010具体可以执行存储器2030中存放的计算机操作指令,通过执行所述计算机操作指令使得组播目的设备2000执行上述实施例1所述的方法中组播目的设备所执行的操作。
根据本发明实施例6提供的组播目的设备2000,由于是向不同的相邻上游设备分别发送主转发路径建立请求和备用转发路径建立请求,并且主转发路径建立请求和备用转发路径建立请求均包括组播目的设备2000的设备标识,因此可以有效避免同一传输设备既位于该组播目的设备2000的主转发路径又位于该组播目的设备2000的备用转发路径,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例7提供了一种组播源设备3000,如图8所示,传输设备1000包括处理器3010和端口3020。
处理器3010,用于实施本发明实施例1提供的方法100中组播源设备执行的操作,其中,在与其它设备通信时通过端口3020与其它设备通信。处理器3010具体可以是CPU,或者是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
如图8所示,组播源设备3000还可以包括存储器3030。处理器3010和存储器3030之间可以通过总线完成相互间的通信。存储器3030,用于存放计算机操作指令,具体可以是高速RAM存储器,也可以是非易失性存储器。处理器3010具体可以执行存储器3030中存放的计算机操作指令,通过执行所述计算机操作指令使得组播源设备3000执行上述实施例1所述的方法中组播源设备所执行的操作。
根据本发明实施例7提供的组播源设备3000,该组播源设备3000的用于组播目的设备的主转发路径的端口和用于该组播目的设备的备用转发路径的端口为不同的端口,因此,当主转发路径出现故障时,还可以通过用于备用转发路径的端口向该组播目的设备发送组播数据,从而提高了组播数据传输的可靠性。
根据本发明实施例1,本发明实施例8提出了一种实现数据组播的系统4000,如图9所示,系统4000包括组播目的设备4010和传输设备4020。
组播目的设备4010,用于向组播目的设备4010的相邻上游设备发送第一备用转发路径建立请求,该第一备用转发路径建立请求的目的地址为组播源设备的地址,以请求建立与该组播源设备之间的备用转发路径,该第一备用转发路径建立请求还包括用于标识组播目的设备4010的设备标识。
传输设备4020,用于接收该第一备用转发路径建立请求,在根据该第一备用转发路径建立请求中的设备标识确定传输设备4020位于组播目的设备4010对应的主转发路径上时,不将传输设备4020作为组播目的设备4010对应的备用转发路径上的设备,并不转发该第一备用转发路径建立请求。
如图9所示,系统4000还可以包括组播目的设备4030。
组播目的设备4030,用于向组播目的设备4030的相邻上游设备发送第二备用转发路径建立请求,该第二备用转发路径建立请求的目的地址为该组播源设备的地址,以请求建立与该组播源设备之间的备用转发路径,该第二备用转发路径建立请求还包括用于标识组播目的设备4030的设备标识;
传输设备4020,用于接收该第二备用转发路径建立请求,在根据该第二备用转发路径建立请求中的设备标识确定传输设备4020不位于组播目的设备4030对应的主转发路径上时,将传输设备4020作为组播目的设备4030对应的备用转发路径上的设备,并向相邻上游设备发送该第二备用转发路径建立请求。
如图9所示,系统4000还可以包括组播源设备4040。组播源设备4040,用于在接收到该第二备用转发路径建立请求时,将用于接收该第二备用转发路径建立请求的端口作为用于组播目的设备4030对应的备用转发路径的端口。
组播目的设备4010和组播目的设备4030可以执行上述实施例1所述的方法中第一组播目的设备所执行的操作。传输设备4020可以执行上述实施例1所述的方法中第一传输设备和第二传输设备所执行的操作。组播源设备4030可以执行上述实施例1所述的方法中组播源设备所执行的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机网元(可以是个人计算机,服务器,或者网络网元等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (27)
1.一种实现数据组播的方法,其特征在于,所述方法包括:
传输设备接收第一备用转发路径建立请求,所述第一备用转发路径建立请求包括第一设备标识且目的地址为组播源设备的地址,用于请求建立所述第一设备标识所标识的第一组播目的设备与所述组播源设备之间的备用转发路径;
所述传输设备在根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述备用转发路径上的设备,并不转发所述第一备用转发路径建立请求。
2.如权利要求1所述的方法,其特征在于,
所述接收第一备用转发路径建立请求之前,还包括:
所述传输设备接收主转发路径建立请求,所述主转发路径建立请求包括所述第一设备标识且目的地址为所述组播源设备的地址,用于向所述组播源设备请求建立所述第一组播目的设备与所述组播源设备之间的主转发路径;
所述传输设备将所述传输设备作为所述主转发路径上的设备,记录用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息,并向相邻上游设备发送所述主转发路径建立请求;
所述根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上,包括:
根据所述用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息和所述第一备用转发路径建立请求中的所述第一设备标识确定所述传输设备位于所述主转发路径上。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括,
所述传输设备接收第二备用转发路径建立请求,所述第二备用转发路径建立请求包括第二设备标识且目的地址为所述组播源设备的地址,用于请求建立所述第二设备标识所标识的第二组播目的设备与所述组播源设备之间的备用转发路径;
所述传输设备在根据所述第二设备标识确定所述传输设备不位于所述第二组播目的设备与所述组播源设备之间的主转发路径上时,将所述传输设备作为所述第二组播目的设备与所述组播源设备之间的备用转发路径上的设备,并向相邻上游设备发送所述第二备用转发路径建立请求。
4.如权利要求3所述的方法,其特征在于,所述将所述传输设备作为所述第二组播目的设备与所述组播源设备之间的备用转发路径上的设备包括:所述传输设备将所述传输设备上用于接收所述第二备用转发路径建立请求的端口作为用于所述备用转发路径的端口。
5.如权利要求4所述的方法,其特征在于,所述向相邻上游设备发送所述第二备用转发路径建立请求之后,还包括:
所述传输设备在接收到所述相邻上游设备发送的包括所述第二设备标识的用于表明所述第二组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为所述第二设备标识对应的备用转发路径启停端口,并通过所述传输设备上用于所述第二设备标识对应的备用转发路径的端口向相邻下游设备发送所述通知消息,所述备用转发路径启停端口用于发送用于指示启用所述第二组播目的设备与所述组播源设备之间的备用转发路径的启用消息和用于指示停用所述第二组播目的设备的备用转发路径的停用消息。
6.如权利要求5所述的方法,其特征在于,所述将用于接收所述通知消息的端口确定为所述第二设备标识对应的备用转发路径启停端口之后还包括:
所述传输设备接收所述相邻下游设备发送的所述启用消息,所述启用消息包括所述第二设备标识;
所述传输设备根据所述启用消息通过所述传输设备上用于所述第二组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据;
所述传输设备通过所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述启用消息。
7.如权利要求6所述的方法,其特征在于,所述发送所述启用消息之后还包括,
所述传输设备接收所述相邻下游设备发送的所述停用消息,所述停用消息包括所述的第二设备标识;
所述传输设备根据所述停用消息停止通过所述传输设备上用于所述第二组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据;
所述传输设备通过所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述停用消息。
8.如权利要求4所述的方法,其特征在于,所述向相邻上游设备发送所述备用转发路径建立请求之后,还包括:
所述传输设备在接收到所述相邻上游设备发送的用于指示启用备用转发路径的启用消息时,通过所述传输设备上的用于备用转发路径的端口发送所述启用消息。
9.如权利要求8所述的方法,其特征在于,所述传输设备在接收到所述启用消息时还启用所述传输设备上的仅用于备用转发路径的端口发送接收的组播数据。
10.一种实现数据组播的方法,其特征在于,所述方法包括:
组播目的设备向所述组播目的设备的第一相邻上游设备发送主转发路径建立请求,所述主转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的主转发路径,所述主转发路径建立请求还包括用于标识所述组播目的设备的设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的加入到所述主转发路径的设备记录用于表示已加入所述设备标识对应的主转发路径的信息;
所述组播目的设备向所述组播目的设备的不同于所述第一相邻上游设备的第二相邻上游设备发送备用转发路径建立请求,所述备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述备用转发路径建立请求还包括所述设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的接收到所述备用转发路径建立请求的传输设备根据所述设备标识判断是否已加入到所述设备标识对应的主转发路径;以使得所述传输设备在根据所述设备标识确定所述传输设备位于所述组播目的设备与所述组播源设备之间的所述主转发路径上时,不将所述传输设备作为所述备用转发路径上的设备,并不转发所述备用转发路径建立请求。
11.如权利要求10所述的方法,其特征在于,所述发送备用转发路径建立请求之后,还包括:
所述组播目的设备在接收到所述第二相邻上游设备发送的用于表明所述组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为备用转发路径启停端口;
所述组播目的设备在检测到所述主转发路径出现故障时,通过所述备用转发路径启停端口发送用于指示启用所述备用转发路径的启用消息。
12.如权利要求11所述的方法,其特征在于,所述发送用于指示启用所述备用转发路径的启用消息之后,还包括:所述组播目的设备在检测到所述主转发路径的故障已消除时,通过所述备用转发路径启停端口发送用于指示停用所述备用转发路径的停用消息。
13.一种实现数据组播的传输设备,其特征在于,所述传输设备包括通信单元和处理单元;
所述通信单元,用于接收第一备用转发路径建立请求,所述第一备用转发路径建立请求包括第一设备标识且目的地址为组播源设备的地址,用于请求建立所述第一设备标识所标识的第一组播目的设备与所述组播源设备之间的备用转发路径;
所述处理单元,用于在根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不转发所述第一备用转发路径建立请求。
14.如权利要求13所述的传输设备,其特征在于,
所述通信单元还用于接收主转发路径建立请求,所述主转发路径建立请求包括所述第一设备标识且目的地址为所述组播源设备的地址,用于向所述组播源设备请求建立所述第一组播目的设备与所述组播源设备之间的主转发路径;
所述处理单元还用于将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的主转发路径上的设备,记录用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息,并通过所述通信单元向相邻上游设备发送所述主转发路径建立请求;
所述处理单元用于根据所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上,包括:用于根据所述用于表示所述传输设备位于所述第一设备标识对应的主转发路径的信息和所述第一备用转发路径建立请求中的所述第一设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上。
15.如权利要求13或14所述的传输设备,其特征在于,
所述通信单元还用于接收第二备用转发路径建立请求,所述第二备用转发路径建立请求包括第二设备标识且目的地址为所述组播源设备的地址,用于请求建立所述第二设备标识所标识的第二组播目的设备与所述组播源设备之间的备用转发路径;
所述处理单元还用于在根据所述第二设备标识确定所述传输设备不位于所述第二组播目的设备与所述组播源设备之间的主转发路径上时,将所述传输设备作为所述第二组播目的设备与所述组播源设备之间的备用转发路径上的设备,并通过所述通信单元向相邻上游设备发送所述第二备用转发路径建立请求。
16.如权利要求15所述的传输设备,其特征在于,所述处理单元用于将所述传输设备作为所述第二组播目的设备与所述组播源设备之间的备用转发路径上的设备包括:用于将所述传输设备上用于接收所述第二备用转发路径建立请求的端口作为用于所述备用转发路径的端口。
17.如权利要求16所述的传输设备,其特征在于,所述处理单元还用于在通过所述通信单元接收到所述相邻上游设备发送的包括所述第二设备标识的用于表明所述第二组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为所述第二设备标识对应的备用转发路径启停端口,并通过所述通信单元利用所述传输设备上用于所述第二设备标识对应的备用转发路径的端口向相邻下游设备发送所述通知消息,所述备用转发路径启停端口用于发送用于指示启用所述第二组播目的设备与所述组播源设备之间的备用转发路径的启用消息和用于指示停用所述第二组播目的设备的备用转发路径的停用消息。
18.如权利要求17所述的传输设备,其特征在于,
所述通信单元还用于接收所述相邻下游设备发送的所述启用消息,所述启用消息包括所述第二设备标识;
所述处理单元还用于根据所述启用消息通过所述通信单元利用所述传输设备上用于所述第二组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据,并通过所述通信单元利用所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述启用消息。
19.如权利要求18所述的传输设备,其特征在于,
所述通信单元还用于接收所述相邻下游设备发送的所述停用消息,所述停用消息包括所述的第二设备标识;
所述处理单元还用于根据所述停用消息停止通过所述传输设备上用于所述第二组播目的设备与所述组播源设备之间的备用转发路径的端口发送接收的组播数据,并通过所述通信单元利用所述第二设备标识对应的所述备用转发路径启停端口向所述相邻上游设备发送所述停用消息。
20.如权利要求16所述的传输设备,其特征在于,所述处理单元还用于在通过所述通信单元接收到所述相邻上游设备发送的用于指示启用备用转发路径的启用消息时,通过所述通信单元利用所述传输设备上的用于备用转发路径的端口发送所述启用消息。
21.如权利要求20所述的传输设备,其特征在于,所述处理单元还用于在接收到所述启用消息时启用所述传输设备上的仅用于备用转发路径的端口发送接收的组播数据。
22.一种实现数据组播的组播目的设备,其特征在于,所述组播目的设备包括通信单元和处理单元;
所述处理单元,用于通过所述通信单元向所述组播目的设备的第一相邻上游设备发送主转发路径建立请求,所述主转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的主转发路径,所述主转发路径建立请求还包括用于标识所述组播目的设备的设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的加入到所述主转发路径的设备记录用于表示已加入所述设备标识对应的主转发路径的信息;
所述处理单元,还用于通过所述通信单元向所述组播目的设备的不同于所述第一相邻上游设备的第二相邻上游设备发送备用转发路径建立请求,所述备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述备用转发路径建立请求还包括所述设备标识,所述设备标识用于所述组播源设备与所述组播目的设备之间的接收到所述备用转发路径建立请求的传输设备根据所述设备标识判断是否已加入到所述设备标识对应的主转发路径;以使得所述传输设备在根据所述设备标识确定所述传输设备位于所述组播目的设备与所述组播源设备之间的所述主转发路径上时,不将所述传输设备作为所述备用转发路径上的设备,并不转发所述备用转发路径建立请求。
23.如权利要求22所述的组播目的设备,其特征在于,
所述处理单元还用于在通过所述通信单元接收到所述第二相邻上游设备发送的用于表明所述组播目的设备的备用转发路径建立成功的通知消息时,将用于接收所述通知消息的端口确定为备用转发路径启停端口;
所述处理单元还用于在检测到所述主转发路径出现故障时,通过所述通信单元利用所述备用转发路径启停端口发送用于指示启用所述备用转发路径的启用消息。
24.如权利要求23所述的组播目的设备,其特征在于,所述处理单元还用于在检测到所述主转发路径的故障已消除时,通过所述通信单元利用所述备用转发路径启停端口发送用于指示停用所述备用转发路径的停用消息。
25.一种实现数据组播的系统,其特征在于,所述系统包括第一组播目的设备和传输设备;
所述第一组播目的设备,用于向所述第一组播目的设备的相邻上游设备发送第一备用转发路径建立请求,所述第一备用转发路径建立请求的目的地址为组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述第一备用转发路径建立请求还包括用于标识所述第一组播目的设备的设备标识;
所述传输设备,用于接收所述第一备用转发路径建立请求,在根据所述第一备用转发路径建立请求中的设备标识确定所述传输设备位于所述第一组播目的设备与所述组播源设备之间的主转发路径上时,不将所述传输设备作为所述第一组播目的设备与所述组播源设备之间的备用转发路径上的设备,并不转发所述第一备用转发路径建立请求。
26.如权利要求25所述的系统,其特征在于,所述系统还包括第二组播目的设备;
所述第二组播目的设备,用于向所述第二组播目的设备的相邻上游设备发送第二备用转发路径建立请求,所述第二备用转发路径建立请求的目的地址为所述组播源设备的地址,以请求建立与所述组播源设备之间的备用转发路径,所述第二备用转发路径建立请求还包括用于标识所述第二组播目的设备的设备标识;
所述传输设备,用于接收所述第二备用转发路径建立请求,在根据所述第二备用转发路径建立请求中的设备标识确定所述传输设备不位于所述第二组播目的设备与所述组播源设备之间的主转发路径上时,将所述传输设备作为所述第二组播目的设备与所述组播源设备之间的备用转发路径上的设备,并向相邻上游设备发送所述第二备用转发路径建立请求。
27.如权利要求26所述的系统,其特征在于,所述系统还包括组播源设备;
所述组播源设备,用于在接收到所述第二备用转发路径建立请求时,将用于接收所述第二备用转发路径建立请求的端口作为用于所述第二组播目的设备与所述组播源设备之间的备用转发路径的端口。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810703770.0A CN110661628B (zh) | 2018-06-30 | 2018-06-30 | 一种实现数据组播的方法、装置和系统 |
PCT/CN2019/093625 WO2020001602A1 (zh) | 2018-06-30 | 2019-06-28 | 一种实现数据组播的方法、装置和系统 |
EP19825646.3A EP3806387A4 (en) | 2018-06-30 | 2019-06-28 | METHOD OF IMPLEMENTING DATA MULTICAST, DEVICE AND SYSTEM |
US17/137,398 US11582053B2 (en) | 2018-06-30 | 2020-12-30 | Data multicast implementation method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810703770.0A CN110661628B (zh) | 2018-06-30 | 2018-06-30 | 一种实现数据组播的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661628A CN110661628A (zh) | 2020-01-07 |
CN110661628B true CN110661628B (zh) | 2021-12-14 |
Family
ID=68985268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810703770.0A Active CN110661628B (zh) | 2018-06-30 | 2018-06-30 | 一种实现数据组播的方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11582053B2 (zh) |
EP (1) | EP3806387A4 (zh) |
CN (1) | CN110661628B (zh) |
WO (1) | WO2020001602A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4170972A4 (en) * | 2020-07-14 | 2023-12-20 | Huawei Technologies Co., Ltd. | MESSAGE FORWARDING METHOD, APPARATUS AND SYSTEM |
CN115632979B (zh) * | 2022-12-19 | 2023-03-07 | 成都菁蓉联创科技有限公司 | 一种通信数据转发方法、系统及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412985A (zh) * | 2001-06-21 | 2003-04-23 | Sk电信股份有限公司 | 在多协议标签转换网络中的路由确定方法 |
JP2005094137A (ja) * | 2003-09-12 | 2005-04-07 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト転送経路設定方法および装置 |
CN1643848A (zh) * | 2002-03-28 | 2005-07-20 | 马科尼英国知识产权有限公司 | 通信系统中的连接分配 |
CN102111845A (zh) * | 2011-02-25 | 2011-06-29 | 北京交通大学 | 基于网络按需距离矢量的多播路由方法及系统 |
CN102316016A (zh) * | 2010-07-05 | 2012-01-11 | 华为技术有限公司 | 组播流量的转发方法及装置 |
CN102740394A (zh) * | 2012-07-19 | 2012-10-17 | 济南普赛通信技术有限公司 | 中心计算的无线传感器网络2-不相交路径路由算法 |
CN103260211A (zh) * | 2013-04-27 | 2013-08-21 | 北京交通大学 | 一种改进的aomdv路由方法 |
CN103795626A (zh) * | 2014-02-19 | 2014-05-14 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
CN106685822A (zh) * | 2015-11-11 | 2017-05-17 | 富士通株式会社 | 路由确定方法及其装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324453B2 (en) * | 2002-08-30 | 2008-01-29 | Alcatel Lucent | Constraint-based shortest path first method for dynamically switched optical transport networks |
US7447225B2 (en) | 2004-07-23 | 2008-11-04 | Cisco Technology, Inc. | Multiple multicast forwarder prevention during NSF recovery of control failures in a router |
CN101035057B (zh) | 2007-03-30 | 2011-03-30 | 华为技术有限公司 | 建立组播共享树的方法和数据传送的方法、通信网络 |
CN101145930B (zh) * | 2007-09-19 | 2010-04-21 | 华为技术有限公司 | 保证组播业务可靠传输的方法、系统和设备 |
CN102571401B (zh) * | 2010-12-24 | 2015-07-08 | 华为技术有限公司 | 建立备份路径的方法及设备、选取备份路径的方法及设备 |
CN103178976A (zh) | 2011-12-22 | 2013-06-26 | 迈普通信技术股份有限公司 | 组播树组建及故障恢复方法 |
US10292019B2 (en) * | 2015-07-07 | 2019-05-14 | M87, Inc. | Network methods and apparatus |
EP3151489B1 (en) * | 2015-09-30 | 2021-07-21 | Juniper Networks, Inc. | Mldp multicast only fast re-route over remote loop-free alternate backup path |
US10237206B1 (en) * | 2017-03-05 | 2019-03-19 | Barefoot Networks, Inc. | Equal cost multiple path group failover for multicast |
US10404619B1 (en) * | 2017-03-05 | 2019-09-03 | Barefoot Networks, Inc. | Link aggregation group failover for multicast |
US10270604B2 (en) * | 2017-06-28 | 2019-04-23 | Juniper Networks, Inc. | PIM join entropy |
US10911262B2 (en) * | 2017-10-31 | 2021-02-02 | Cisco Technology, Inc. | Deterministic forwarding across L2 and L3 networks |
US11469995B2 (en) * | 2018-06-14 | 2022-10-11 | Nokia Solutions And Networks Oy | Flow-specific fast rerouting of source routed packets |
-
2018
- 2018-06-30 CN CN201810703770.0A patent/CN110661628B/zh active Active
-
2019
- 2019-06-28 WO PCT/CN2019/093625 patent/WO2020001602A1/zh unknown
- 2019-06-28 EP EP19825646.3A patent/EP3806387A4/en active Pending
-
2020
- 2020-12-30 US US17/137,398 patent/US11582053B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1412985A (zh) * | 2001-06-21 | 2003-04-23 | Sk电信股份有限公司 | 在多协议标签转换网络中的路由确定方法 |
CN1643848A (zh) * | 2002-03-28 | 2005-07-20 | 马科尼英国知识产权有限公司 | 通信系统中的连接分配 |
JP2005094137A (ja) * | 2003-09-12 | 2005-04-07 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト転送経路設定方法および装置 |
CN102316016A (zh) * | 2010-07-05 | 2012-01-11 | 华为技术有限公司 | 组播流量的转发方法及装置 |
CN102111845A (zh) * | 2011-02-25 | 2011-06-29 | 北京交通大学 | 基于网络按需距离矢量的多播路由方法及系统 |
CN102740394A (zh) * | 2012-07-19 | 2012-10-17 | 济南普赛通信技术有限公司 | 中心计算的无线传感器网络2-不相交路径路由算法 |
CN103260211A (zh) * | 2013-04-27 | 2013-08-21 | 北京交通大学 | 一种改进的aomdv路由方法 |
CN103795626A (zh) * | 2014-02-19 | 2014-05-14 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
CN106685822A (zh) * | 2015-11-11 | 2017-05-17 | 富士通株式会社 | 路由确定方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210119814A1 (en) | 2021-04-22 |
CN110661628A (zh) | 2020-01-07 |
US11582053B2 (en) | 2023-02-14 |
WO2020001602A1 (zh) | 2020-01-02 |
EP3806387A1 (en) | 2021-04-14 |
EP3806387A4 (en) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11606312B2 (en) | Fast fail-over using tunnels | |
US9160616B2 (en) | Multicast packet transmission method, related device and system | |
US11374778B2 (en) | Method and apparatus for multicast service availability | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
US20140143591A1 (en) | Performing Failover in a Redundancy Group | |
CN109981323B (zh) | 一种检测数据链路层组播路径状态的方法和网络设备 | |
CN110661701B (zh) | 一种避免环路的通信方法、设备和系统 | |
JP7124206B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
CN110661628B (zh) | 一种实现数据组播的方法、装置和系统 | |
US20190215264A1 (en) | Automatic alignment of roles of routers in networks | |
US10122617B2 (en) | Method and apparatus for implementing redundancy protection | |
CN107786386B (zh) | 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输 | |
CN105515970B (zh) | 一种用于传输报文的方法与装置 | |
US8848512B2 (en) | Rendezvous point convergence method and apparatus | |
CN108234358A (zh) | 一种组播报文传输方法、装置及机器可读存储介质 | |
EP4094421A2 (en) | Pce controlled network reliability | |
CN109039921B (zh) | 一种指定路由器切换方法、组播路由器及组播网络 | |
US10205652B2 (en) | Path checking method, sink node device, and communications system | |
CN117118802A (zh) | 路径故障检测方法、装置、网络设备及存储介质 | |
CN117811995A (zh) | 用于确定节点的方法及装置 | |
CN104579794B (zh) | 查询设备故障检测方法以及装置 | |
CN115580574A (zh) | 报文转发方法、装置以及系统 |
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 |