[go: up one dir, main page]

WO2010048812A1 - A method and an apparatus for improving the multicast transfer reliability - Google Patents

A method and an apparatus for improving the multicast transfer reliability Download PDF

Info

Publication number
WO2010048812A1
WO2010048812A1 PCT/CN2009/072223 CN2009072223W WO2010048812A1 WO 2010048812 A1 WO2010048812 A1 WO 2010048812A1 CN 2009072223 W CN2009072223 W CN 2009072223W WO 2010048812 A1 WO2010048812 A1 WO 2010048812A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface
multicast
downstream
received
message
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.)
Ceased
Application number
PCT/CN2009/072223
Other languages
French (fr)
Chinese (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2010048812A1 publication Critical patent/WO2010048812A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

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/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission

Definitions

  • the present invention relates to the field of multicast technologies, and in particular, to a method and apparatus for improving multicast forwarding reliability.
  • IP multicast technology enables efficient data transmission from point to point in IP networks. Because multicast technology can effectively save bandwidth control network traffic, reduce server load and reduce network load, it has a wide range of applications in real-time data transmission, multimedia conferencing, gaming and simulation.
  • the IP multicast protocol includes a protocol between the router and the receiver host and a protocol between the router and the router, which are used in combination to construct a multicast forwarding tree from the multicast source to the multicast data receiver.
  • IGMP Internet Group Management Protocol
  • PIM Protocol Independent Multicast
  • PIM uses the reverse path forwarding (RPF) mechanism to implement multicast packet forwarding.
  • the RPF mechanism uses the existing unicast routing information to construct a multicast forwarding tree in the network. That is, PIM can pass any type of single.
  • the broadcast routing protocol generates multicast routing entries for RPF checking. When a multicast packet arrives at the router, the RPF check is performed first. If the RPF check is passed, the multicast routing entry is created to forward the multicast packet. If the RPF check fails, the multicast packet is forwarded. throw away.
  • PIM-SM Protocol Independent Multicast Sparse Mode
  • ASM Any-Source Multicast
  • RP Rastervous Point
  • RPT Remote Point Tree, a converged tree or a shared tree
  • a receiver joins a multicast group G
  • it first informs the directly connected DR (Designated Router) through the IGMP message
  • the join message (Join message) is sent hop by hop to the RP direction corresponding to the multicast group; the router that passes through the DR to the RP forms the branch of the RPT.
  • the slave generates a (*, G) entry in its forwarding table, where "*" indicates that it is from any multicast source.
  • RPT takes RP as the root and DR as the leaf.
  • the data arrives at the DR along the established RPT, and then reaches the receiver.
  • the directly connected DR sends the prune message (Prune message) to the RP in the RP direction of the multicast group.
  • the upstream node receives the information.
  • the interface connected to the downstream node is deleted from the outbound interface list, and the receiver of the multicast group is still in the downstream. If not, the prune message is forwarded to the upstream device.
  • the SSM (Source Specific Multicast) model uses the technology of the specified multicast source.
  • the receiver knows the specific location of the multicast source in advance.
  • the SSM can directly establish an SPT (Shortest Path Tree) between the multicast source and the receiver.
  • SPT Shortest Path Tree
  • the shortest path tree so that multicast data can be forwarded along the shortest path tree.
  • the active/standby switchover of the main control board is performed.
  • the backup board is re-learned by the Graceful Restart (PIM) technology. Broadcast routing entries, and update multicast forwarding entries.
  • a router that performs an active/standby switchover (called a GR Restarter device) sends a PIM Hello handshake packet carrying the newly generated outbound interface identifier (Generation ID, usually called GenlD) to the upstream and downstream neighbor devices (called the GR Helper device).
  • the downstream neighbor device Triggering the downstream neighbor device to resend the Join message carrying the (S, G) or (*, G) information, so that the router can relearn the new (S, G) or (*, G) entries and update the The status of the downstream interface is forwarded according to the updated forwarding entry.
  • the S is the multicast source and the G is the multicast group.
  • the new GenlD is the re-generate of the current outbound interface of the GR Restarter after the GR Restarter is switched.
  • the identifier is different from the ID in the Hello packet sent before the master/slave switchover occurs.
  • the PIM sends a Join message to the upstream neighbor device.
  • the device does not send Join to the upstream neighbor device until the device learns the multicast routing entries and multicast forwarding entries. If the learning time is too long, the upstream neighbor device will not receive the Join message for a long time.
  • the JP timer join/prune timer
  • the upstream neighbor device will switch to the active/standby switchover. The outbound interface connected to the device is cut off, causing traffic interruption. Summary of the invention
  • the embodiment of the present invention provides a method and device for improving the reliability of multicast forwarding.
  • the technical solution is as follows:
  • a method for improving reliability of multicast forwarding includes:
  • timing is started; When the timing reaches the preset first joining timeout period, it is determined whether the handshake message containing the new identifier of the outbound interface of the first multicast device is received from the first multicast device during the timing, If yes, the first join timeout period is extended to the second join timeout period.
  • An apparatus for improving reliability of multicast forwarding where the apparatus includes:
  • the timing module is configured to start timing when the device receives the join message sent by the first multicast device of the downstream neighbor from the first interface;
  • a delay module configured to determine, when the timing of the joining timing module reaches a preset first joining timeout period, whether the device receives the first group from the first multicast device during the timing The handshake message of the new identifier of the outbound interface of the broadcast device, if yes, the timeout period of the first join is extended to the second join timeout period.
  • the timeout period of the Join message is extended, thereby avoiding the GR.
  • FIG. 1 is a flowchart of a method for improving multicast forwarding reliability according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for improving multicast forwarding reliability according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a process after receiving a pruning message according to an embodiment of the present invention
  • FIG. 4 is a flowchart of another process after receiving a pruning message according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a public network networking provided by an embodiment of the present invention.
  • Figure 6 is a schematic view showing the processing time of R5 in Figure 5;
  • FIG. 7 is a schematic diagram of a multicast VPN according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention.
  • FIG. 9 is another schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention.
  • FIG. 10 is still another schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention.
  • the technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
  • an embodiment of the present invention provides a method for improving reliability of multicast forwarding, including:
  • start timing When receiving the join message sent by the first multicast device of the downstream neighbor from the first interface, start timing; 102: when the time reaches the preset first join timeout period, determine whether the time period is from the first time A multicast device receives the Hello packet containing the new identifier of the outbound interface of the first multicast device. If yes, the first join timeout period is extended to the second join timeout period.
  • the first timeout period and the second timeout time in the embodiment of the present invention are both the timeout period of receiving the Join message, that is, the Join message is not received from the first interface after the time is reached.
  • An interface pruning Referring to FIG. 2, the method for improving the reliability of multicast forwarding provided by the embodiment of the present invention specifically includes:
  • start timing When receiving the Join message sent by the first multicast device of the downstream neighbor from the first interface, start timing, and specifically, the JP Timer timer may be started to perform timing.
  • the timing reaches the preset first joining timeout period it is determined whether the new identifier (GenID) sent by the first multicast device and sent by the first multicast device is received from the first interface.
  • the Hello packet the outbound interface is the interface that sends the Join message to the first multicast device.
  • the new identifier is generated temporarily.
  • the difference is that the temporarily generated identifier has changed. If yes, it indicates that the first multicast device is the GR Restarter device. If the restart occurs, such as the active/standby switchover of the main control board, perform 203; otherwise, indicate the first multicast device. Normal, if no restart occurs, execute 204.
  • the first join timeout period is the timeout time of the Join message pre-configured on the local multicast device.
  • the value can be set as required, such as 200s, 260s, and so on.
  • the extended time can be specified through the command line configuration, such as extending the first join timeout period 260s to the second addition timeout time 300s.
  • the extension is performed according to the following relationship:
  • the difference between the second join timeout time and the first join timeout time is equal to the difference between the time when the Hello message is received and the time when the Join message is received.
  • the scenario in which the first multicast device is continuously switched is received. After receiving the Hello packet containing the new identifier from the first multicast device, the first multicast device receives the Hello packet again. The newly-identified Hello packet. In this scenario, the extended time can still be obtained according to the above relationship. However, when the Hello packet is received, the Hello packet containing the new identifier of the outbound interface of the first multicast device is received again. time.
  • the first interface is prune, and the multicast data is not sent through the first interface, and the process ends.
  • the local multicast device receives the Join message (201) sent by the first multicast device for the first time in the current period, if the local neighbor device also receives the downlink neighbor from the first interface,
  • the foregoing method may further include the following steps, as shown in FIG. 3, which is specifically as follows:
  • the local multicast device receives the Prune packet sent by the second multicast device of the downstream neighbor from the first interface in the current period, and starts timing.
  • the current period is the time period from the start of the Join message to the first join timeout period (204) in 201, or the time from the start of the Join message to the second join timeout period (203) in 201. segment.
  • the pruning process is not performed on the first interface, and the process ends.
  • the default prune timeout period is the timeout period after the Prune packet is received. If the timeout period is reached, the prune is performed. If the timeout period is not reached, the prune is not performed. The value of this pruning timeout can be configured as needed.
  • the local multicast device may have multiple interfaces, for example, in addition to the first interface, the second interface.
  • the processing procedure of the local multicast device is similar to that of the foregoing 301 to 306. Referring to FIG. 4, the details are as follows:
  • 402 Determine whether the other downstream neighbor multicast device is connected to the second interface except the second multicast device, where the other downstream neighbor multicast device includes the first multicast device, and if yes, execute 403; otherwise, perform 406. .
  • 403 Determine, before receiving the Prune message, whether the Hello packet sent by the other downstream neighboring multicast device and the new identifier of the outbound interface of the other downstream neighboring multicast device is received from the second interface, if To, execute 404; if not, execute 405.
  • the second interface is not pruned, and the process ends.
  • the Join message can carry (*, G), or carry (S, G), and the Prune message can be carried.
  • FIG. 5 there are five multicast routers in the network, Rl, R2, and R3 are DRs connected to receivers, R4 is upstream neighbors of R1 and R2, and R5 is connected to two downstream neighbors of R3 and R4 through one interface. Connected, and R5 is the first hop router connected to the multicast source.
  • Figure 6 shows the process of receiving the Join message from the downstream neighbor device. At time t0, R5 receives the Join message sent by R4, and starts the time of the current cycle. When the preset Join message timeout time JP time has not reached the previous time t1, it receives the new message sent by R4 due to the restart.
  • the hello packet of the GenID can record the timestamp tl of the Hello packet received by the GenID on the interface.
  • R5 determines whether the interface is recorded. Timestamp of the Hello packet changed to the GenID. If the timestamp is recorded, then Join is added. The packet timeout period is extended from At to time t3, and continues to count until t3. If R5 receives the Join message sent by R4 again before t3, the interface is not pruned. If R5 is not received again before t3 The Join message sent to R4 prune the interface.
  • the time range from tl to t3 is equal to the preset timeout time JP Time of the Join message.
  • the foregoing method provided in this embodiment can be applied not only to an ordinary public network but also to a multicast private network (Virtual Private Network).
  • a multicast VPN the VPN instance of each PE device is directly connected to the Mtunnel interface.
  • the MTU interface is a virtual Ethernet broadcast interface. If the downstream PE device restarts, the device sends a new GenID to the upstream device through the Mtunnel interface. Hello message.
  • CE1 is connected to the multicast source, and the downstream neighbor is PE1.
  • PE1 is connected to PE2 and PE3 through the multicast tunnel interface (Mtunnel interface).
  • the downstream neighbor of PE2 is CE2.
  • the downstream neighbors of PE3 are CE3, CE2, and CE3. Connect to the recipient separately.
  • the Hello message containing the new GenID is sent to CE1.
  • the processing after receiving the CE1 is the same as that of R5 in Figure 5, and is not mentioned here.
  • an embodiment of the present invention further provides an apparatus for improving reliability of multicast forwarding, including:
  • the timing module 801 is configured to start timing when the device receives the adding message sent by the first multicast device of the downstream neighbor from the first interface;
  • the delay module 802 is configured to: when the timing module 801 is added to the preset first joining timeout period, determine whether the device receives the new identifier that includes the outbound interface of the first multicast device from the first multicast device during the timing The handshake message, if yes, extends the first join timeout period to the second join timeout period.
  • the difference between the second join timeout period and the first join timeout time is equal to the difference between the time when the handshake message is received and the time when the join message is received.
  • the above apparatus further includes:
  • the first determining module 803 is configured to determine, after the device receives the join message, the first interface, if the prune message sent by the second multicast device of the downstream neighbor is also received from the first interface, Is there a second multicast device connected to it? Other downstream neighbor multicast devices, the other downstream neighbor multicast devices include a first multicast device;
  • the second determining module 804 is configured to: when the first determining module 803 determines that the result is yes, determine whether the device receives the other downstream neighbor multicast device from the first interface before receiving the prune message.
  • the first processing module 805 is configured to: if the result of the second determining module 804 is received, the first interface is not subjected to the pruning process, and if the result of the second determining module 804 is not received, the The first interface performs pruning processing.
  • the device may also include:
  • the first pruning timing module 806 is configured to start timing when the device receives the pruning message from the first interface.
  • the first processing module 805 specifically includes:
  • the first processing unit is configured to: when the second determination module 804 determines that the result is received, the first interface is not subjected to the pruning process;
  • a second processing unit configured to: when the second judging module 804 determines that the result is not received, if the first pruning timing module 806 does not reach the preset pruning timeout period, and receives other downstream from the first interface.
  • the handshake message sent by the neighboring multicast device that contains the new identifier of the outbound interface of the other downstream neighbors does not prune the first interface. If no other downstream neighbor multicast device is received from the first interface. After the handshake packet with the new identifier of the outbound interface of the other downstream neighboring multicast device is received, and the ping timeout time has expired, the first interface is prune.
  • the foregoing apparatus further includes:
  • the third determining module 807 is configured to: if the device receives the prune message sent by the second multicast device of the downstream neighbor from the second interface, determine whether the second interface is further connected to the second multicast device.
  • Other downstream neighbor multicast devices, the other downstream neighbor multicast devices include a first multicast device;
  • the fourth determining module 808 is configured to: when the third determination module 807 determines that the result is yes, determine whether the device receives the inclusion of the other downstream neighbor multicast device from the second interface before receiving the prune message.
  • the second processing module 809 is configured to: if the fourth determination module 808 determines that the result is received, the second interface does not perform the pruning process, and if the fourth determination module 808 determines that the result is not received, the second processing module 809 The interface is pruned.
  • the device When the device includes the third determining module 807, the fourth determining module 808, and the second processing module 809, the device further includes:
  • the second prune timing module 810 is configured to start timing when the device receives the prune message from the second interface.
  • the second processing module 809 specifically includes: a first processing unit, configured to: when the fourth determination module 808 determines that the result is received, not performing pruning processing on the second interface;
  • a second processing unit configured to: when the fourth determination module 808 determines that the result is not received, if the second pruning timing module does not reach the preset pruning timeout period, and the device receives the other from the second interface
  • the handshake message sent by the downstream neighbor multicast device that contains the new identifier of the outbound interface of the other downstream neighbor multicast device does not prune the second interface. If the device does not receive other downstream neighbor multicast devices from the second interface.
  • the handshake message containing the new identifier of the outbound interface of the other downstream neighbor multicast device is sent, and the second pruning timer module 810 times the prune timeout period, and the second interface is pruned.
  • the Join message may carry (*, G) or carry (S, G)
  • the Prune message may carry (*, G) or carry (S, G). That is, the foregoing apparatus provided in this embodiment may be applied to the PIM-SM model, or may be applied to the SSM model, and the technical solution is not limited by the type of the protocol.
  • the foregoing apparatus provided in this embodiment may be specifically a multicast device, such as a multicast router.
  • the device can be applied not only to an ordinary public network but also to a multicast VPN.
  • the timeout period of the Join message is extended, and the startup time of the first multicast device is too long, and the Join message of the upstream device times out, causing the group to be caused.
  • the interruption of the broadcast traffic occurs, and the multicast data is continuously forwarded.
  • the Prune packet is received, whether the other downstream neighbors are present on the interface and whether the Hello message is received from the new GenID is configured to determine whether the interface is prune.
  • the upstream neighbor will prune the interface connected to the downstream GR Restarter device that is still receiving the multicast data.
  • the GR Restarter cannot receive multicast data after the device restarts.
  • each functional unit in each embodiment of the present invention may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.
  • the above-mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

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

Abstract

The present invention provides a method and an apparatus for improving the multicast transfer reliability, which belongs to the multicast technical field. The method includes: receiving the joining message transmitted by the first multicast device of the downstream neighbor from the first interface, and starting timing; judging whether receiving the hello message which includes the new ID of the output interface of the first multicast device from the first multicast device during the time arrives at the preset first joining overtime, if yes, continuing timing to the second joining overtime. The apparatus includes: a joining timing module and a delay module. The present invention prolongs the Join message overtime after detecting the restarting of the downstream multicast device, avoids the multicast flow interruption which is caused by the Join message overtime of the upstream neighbor device due to the long restarting process time of the downstream multicast device, and realizes the non-interruption transfer of the multicast data.

Description

提高组播转发可靠性的方法和装置 本申请要求于 2008年 10月 30日提交中国专利局、 申请号为 200810225324.x、发明名称 为 "提高组播转发可靠性的方法和装置" 的中国专利申请的优先权, 其全部内容通过引用结 合在本申请中。  Method and device for improving reliability of multicast forwarding This application claims to be Chinese patent filed on October 30, 2008, with the application number of 200810225324.x, and the invention titled "Method and Device for Improving the Reliability of Multicast Forwarding" Priority of the application, the entire contents of which are incorporated herein by reference.

 Say

技术领域 Technical field

本发明涉及组播技术领域, 特别涉及一种提高组播转发可靠性的方法和装置。 背景技术 书  The present invention relates to the field of multicast technologies, and in particular, to a method and apparatus for improving multicast forwarding reliability. BACKGROUND OF THE INVENTION

IP组播技术实现了 IP网络中点到多点的高效数据传送。由于组播技术能够有效地节省带 宽控制网络流量, 减轻服务器的负荷、 降低网络负载, 因此在实时数据传送、 多媒体会议、 游戏和仿真等诸多方面都有广泛的应用。 IP组播协议包括路由器和接收者主机之间的协议以 及路由器和路由器之间的协议, 两者结合用于构建从组播源到组播数据接收者之间的组播转 发树。 路由器和接收者主机之间通常采用 IGMP (Internet Group Management Protocol, 组播 组管理协议), 路由器和路由器之间通常采用 PIM (Protocol Independent Multicast, 协议无关 组播)。 其中, PIM借助 RPF (Reverse Path Forwarding, 反向路径转发) 机制实现组播报文 转发, RPF机制利用已有的单播路由信息在网络中构建组播转发树, 即 PIM可以通过任一种 单播路由协议产生用于 RPF检查的组播路由表项。 当一个组播报文到达路由器时, 首先进行 RPF检查, 如果 RPF检查通过, 则创建相应的组播路由表项, 从而进行组播报文转发; 如果 RPF检查失败, 则将该组播报文丢弃。  IP multicast technology enables efficient data transmission from point to point in IP networks. Because multicast technology can effectively save bandwidth control network traffic, reduce server load and reduce network load, it has a wide range of applications in real-time data transmission, multimedia conferencing, gaming and simulation. The IP multicast protocol includes a protocol between the router and the receiver host and a protocol between the router and the router, which are used in combination to construct a multicast forwarding tree from the multicast source to the multicast data receiver. IGMP (Internet Group Management Protocol) is used between the router and the receiver. Protocol Independent Multicast (PIM) is used between the router and the router. PIM uses the reverse path forwarding (RPF) mechanism to implement multicast packet forwarding. The RPF mechanism uses the existing unicast routing information to construct a multicast forwarding tree in the network. That is, PIM can pass any type of single. The broadcast routing protocol generates multicast routing entries for RPF checking. When a multicast packet arrives at the router, the RPF check is performed first. If the RPF check is passed, the multicast routing entry is created to forward the multicast packet. If the RPF check fails, the multicast packet is forwarded. throw away.

PIM-SM (Protocol Independent Multicast Sparse Mode, 协议无关组播稀疏模式) 是目前 用于 ASM (Any-Source Multicast, 任意源组播) 模型中最主流的组播路由协议。 在 PIM-SM 模型中, 任意发送者都可以成为组播源, PIM 选择某一路由器作为公用根节点, 称为 RP (Rendezvous Point, 汇聚点)。 PIM构建 RPT (Rendezvous Point Tree, 汇聚树或共享树) 的 过程如下:当接收者加入一个组播组 G时,先通过 IGMP报文通知与其直连的 DR(Designated Router, 指定路由器); DR掌握了组播组 G的接收者的信息后, 向该组播组对应的 RP方向 逐跳发送加入报文 (Join报文); 从 DR到 RP所经过的路由器就形成了 RPT的分支, 这些路 由器都在其转发表中生成了 (*, G)表项, 这里的 "* "表示来自任意组播源。 RPT以 RP为 根, 以 DR为叶子。 当发往组播组 G的组播数据流经 RP时, 数据就会沿着已建立好的 RPT 到达 DR, 进而到达接收者。 当某接收者不再需要组播组 G的信息时, 与其直连的 DR会逆 着 RPT向该组播组的 RP方向逐跳发送剪枝报文 (Prune报文); 上游节点收到该剪枝报文后 在其出接口列表中删除与下游节点相连的接口, 并检查下游是否还存在该组播组的接收者, 如果没有则继续向其上游转发该剪枝报文。 PIM-SM (Protocol Independent Multicast Sparse Mode) is the most popular multicast routing protocol used in the ASM (Any-Source Multicast) model. In the PIM-SM model, any sender can be a multicast source. PIM selects a router as a common root node, called an RP (Rendezvous Point). The process of constructing an RPT (Rendezvous Point Tree, a converged tree or a shared tree) is as follows: When a receiver joins a multicast group G, it first informs the directly connected DR (Designated Router) through the IGMP message; After the information of the receiver of the multicast group G, the join message (Join message) is sent hop by hop to the RP direction corresponding to the multicast group; the router that passes through the DR to the RP forms the branch of the RPT. The slave generates a (*, G) entry in its forwarding table, where "*" indicates that it is from any multicast source. RPT takes RP as the root and DR as the leaf. When the multicast data sent to the multicast group G flows through the RP, the data arrives at the DR along the established RPT, and then reaches the receiver. When a receiver does not need the information of the multicast group G, the directly connected DR sends the prune message (Prune message) to the RP in the RP direction of the multicast group. The upstream node receives the information. After the prune message is sent, the interface connected to the downstream node is deleted from the outbound interface list, and the receiver of the multicast group is still in the downstream. If not, the prune message is forwarded to the upstream device.

SSM ( Source Specific Multicast, 源特定组播)模型采用指定组播源的技术, 接收者预先 知道组播源的具体位置, SSM可以直接在组播源和接收者之间建立 SPT ( Shortest Path Tree, 最短路径树), 从而可以沿最短路径树转发组播数据。  The SSM (Source Specific Multicast) model uses the technology of the specified multicast source. The receiver knows the specific location of the multicast source in advance. The SSM can directly establish an SPT (Shortest Path Tree) between the multicast source and the receiver. The shortest path tree), so that multicast data can be forwarded along the shortest path tree.

对于组播转发树中的路由器, 当其内部的主用主控板发生故障时, 会进行主控板的主备 倒换, 通常通过 PIM GR (Graceful Restart, 优雅重启) 技术使备板重新学习组播路由表项, 以及更新组播转发表项。 发生主备倒换的路由器 (称为 GR Restarter设备) 通过发送携带新 产生的出接口标识(Generation ID, 通常记为 GenlD)的 PIM Hello握手报文给上下游的邻居 设备 (称为 GR Helper设备), 触发下游邻居设备重新发送携带 (S, G) 或 (*, G) 信息的 Join报文, 使该路由器可以重新学习新的 (S, G) 或(*, G)表项, 更新其中的下游接口状 态, 从而根据更新后的转发表项转发组播数据, 其中, S为组播源, G为组播组, 新 GenlD 是 GR Restarter倒换之后 PIM协议为 GR Restarter当前的出接口重新产生的标识, 该标识与 发生主备倒换之前发送的 Hello报文中的 ID不同。  When the internal main control board of the router in the multicast forwarding tree is faulty, the active/standby switchover of the main control board is performed. The backup board is re-learned by the Graceful Restart (PIM) technology. Broadcast routing entries, and update multicast forwarding entries. A router that performs an active/standby switchover (called a GR Restarter device) sends a PIM Hello handshake packet carrying the newly generated outbound interface identifier (Generation ID, usually called GenlD) to the upstream and downstream neighbor devices (called the GR Helper device). Triggering the downstream neighbor device to resend the Join message carrying the (S, G) or (*, G) information, so that the router can relearn the new (S, G) or (*, G) entries and update the The status of the downstream interface is forwarded according to the updated forwarding entry. The S is the multicast source and the G is the multicast group. The new GenlD is the re-generate of the current outbound interface of the GR Restarter after the GR Restarter is switched. The identifier is different from the ID in the Hello packet sent before the master/slave switchover occurs.

在对上述现有技术进行分析后, 发明人发现:  After analyzing the above prior art, the inventors found that:

由于 PIM要求每个组播设备定期向上游邻居设备发送 Join报文,而发生主备倒换的设备 在完成组播路由表项和组播转发表项的学习之前, 不会向上游邻居设备发送 Join报文, 如果 该学习时间过长, 会导致上游邻居设备长时间收不到 Join报文, 出现 JP Timer (加入 /剪枝定 时器) 超时, 从而上游邻居设备会将与该发生主备倒换的设备相连的出接口剪去, 导致流量 中断。 发明内容  The PIM sends a Join message to the upstream neighbor device. The device does not send Join to the upstream neighbor device until the device learns the multicast routing entries and multicast forwarding entries. If the learning time is too long, the upstream neighbor device will not receive the Join message for a long time. The JP timer (join/prune timer) times out. The upstream neighbor device will switch to the active/standby switchover. The outbound interface connected to the device is cut off, causing traffic interruption. Summary of the invention

为了提高组播转发的可靠性, 本发明实施例提供了一种提高组播转发可靠性的方法和装 置。 所述技术方案如下:  In order to improve the reliability of the multicast forwarding, the embodiment of the present invention provides a method and device for improving the reliability of multicast forwarding. The technical solution is as follows:

一种提高组播转发可靠性的方法, 所述方法包括:  A method for improving reliability of multicast forwarding, where the method includes:

当从第一接口接收到下游邻居的第一组播设备发来的加入报文时, 开始计时; 当所述计时达到预设的第一加入超时时间时, 判断所述计时过程中是否从所述第一组播 设备接收到包含所述第一组播设备出接口的新标识的握手报文, 如果是, 则将所述第一加入 超时时间延长到第二加入超时时间。 When the join message sent by the first multicast device of the downstream neighbor is received from the first interface, timing is started; When the timing reaches the preset first joining timeout period, it is determined whether the handshake message containing the new identifier of the outbound interface of the first multicast device is received from the first multicast device during the timing, If yes, the first join timeout period is extended to the second join timeout period.

一种提高组播转发可靠性的装置, 所述装置包括:  An apparatus for improving reliability of multicast forwarding, where the apparatus includes:

加入计时模块, 用于当所述装置从第一接口接收到下游邻居的第一组播设备发来的加入 报文时, 开始计时;  The timing module is configured to start timing when the device receives the join message sent by the first multicast device of the downstream neighbor from the first interface;

延时模块, 用于当所述加入计时模块计时达到预设的第一加入超时时间时, 判断所述计 时过程中所述装置是否从所述第一组播设备接收到包含所述第一组播设备出接口的新标识的 握手报文, 如果是, 则将所述第一加入超时时间延长到第二加入超时时间。  a delay module, configured to determine, when the timing of the joining timing module reaches a preset first joining timeout period, whether the device receives the first group from the first multicast device during the timing The handshake message of the new identifier of the outbound interface of the broadcast device, if yes, the timeout period of the first join is extended to the second join timeout period.

本发明实施例通过在检测到下游组播设备重启后,延长 Join报文的超时时间,避免了 GR In the embodiment of the present invention, after detecting that the downstream multicast device is restarted, the timeout period of the Join message is extended, thereby avoiding the GR.

Restarter设备由于重启处理时间过长, 而导致上游 GR Helper设备 Join报文超时, 引起组播 流量中断的情况发生, 实现了组播数据不间断转发。 附图说明 The restart of the Restarter device is too long. As a result, the upstream GR Helper device joins the packet, causing the multicast traffic to be interrupted. The multicast data is forwarded without interruption. DRAWINGS

为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一 些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这 些附图获得其它的附图。  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any inventive labor.

图 1是本发明实施例提供的提高组播转发可靠性的方法流程图;  FIG. 1 is a flowchart of a method for improving multicast forwarding reliability according to an embodiment of the present invention;

图 2是本发明实施例提供的提高组播转发可靠性的方法流程图;  2 is a flowchart of a method for improving multicast forwarding reliability according to an embodiment of the present invention;

图 3是本发明实施例提供的收到剪枝报文后的一种处理流程图;  FIG. 3 is a flowchart of a process after receiving a pruning message according to an embodiment of the present invention;

图 4是本发明实施例提供的收到剪枝报文后的另一种处理流程图;  FIG. 4 is a flowchart of another process after receiving a pruning message according to an embodiment of the present invention;

图 5是本发明实施例提供的公网组网示意图;  FIG. 5 is a schematic diagram of a public network networking provided by an embodiment of the present invention; FIG.

图 6是图 5中 R5的处理时间示意图;  Figure 6 is a schematic view showing the processing time of R5 in Figure 5;

图 7是本发明实施例提供的组播 VPN示意图;  FIG. 7 is a schematic diagram of a multicast VPN according to an embodiment of the present invention;

图 8是本发明实施例提供的提高组播转发可靠性的装置示意图;  FIG. 8 is a schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention; FIG.

图 9是本发明实施例提供的提高组播转发可靠性的装置另一示意图;  FIG. 9 is another schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention;

图 10是本发明实施例提供的提高组播转发可靠性的装置再一示意图。 具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明 中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 FIG. 10 is still another schematic diagram of an apparatus for improving multicast forwarding reliability according to an embodiment of the present invention. detailed description The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.

参见图 1, 本发明实施例提供了一种提高组播转发可靠性的方法, 包括:  Referring to FIG. 1, an embodiment of the present invention provides a method for improving reliability of multicast forwarding, including:

101: 当从第一接口接收到下游邻居的第一组播设备发来的加入报文时, 开始计时; 102: 当计时达到预设的第一加入超时时间时, 判断计时过程中是否从第一组播设备接收 到包含第一组播设备出接口的新标识的 Hello报文, 如果是, 则将第一加入超时时间延长到 第二加入超时时间。  101: When receiving the join message sent by the first multicast device of the downstream neighbor from the first interface, start timing; 102: when the time reaches the preset first join timeout period, determine whether the time period is from the first time A multicast device receives the Hello packet containing the new identifier of the outbound interface of the first multicast device. If yes, the first join timeout period is extended to the second join timeout period.

本发明实施例中的第一加入超时时间和第二加入超时时间均是指收到 Join报文的超时时 间, 即达到该时间后仍然未从第一接口收到 Join报文, 则将该第一接口剪枝。 参见图 2, 本发明实施例提供的提高组播转发可靠性的方法, 具体包括:  The first timeout period and the second timeout time in the embodiment of the present invention are both the timeout period of receiving the Join message, that is, the Join message is not received from the first interface after the time is reached. An interface pruning. Referring to FIG. 2, the method for improving the reliability of multicast forwarding provided by the embodiment of the present invention specifically includes:

201: 当从第一接口接收到下游邻居的第一组播设备发来的 Join报文时, 开始计时, 具 体地, 可以启动 JP Timer定时器, 进行计时。  201: When receiving the Join message sent by the first multicast device of the downstream neighbor from the first interface, start timing, and specifically, the JP Timer timer may be started to perform timing.

202: 当计时达到预设的第一加入超时时间时, 判断该计时过程中是否从第一接口接收到 第一组播设备发来的包含第一组播设备出接口的新标识(GenID) 的 Hello报文, 该出接口是 指第一组播设备发出 Join报文的接口, 该新标识是临时产生的, 与第一组播设备上次发送的 Join报文中包含的该出接口的标识不同, 即临时产生的标识已经发生改变; 如果是, 表明第 一组播设备为 GR Restarter设备, 刚刚发生重启, 如主控板的主备倒换, 则执行 203 ; 否则, 表明第一组播设备正常, 未发生重启, 则执行 204。  202: When the timing reaches the preset first joining timeout period, it is determined whether the new identifier (GenID) sent by the first multicast device and sent by the first multicast device is received from the first interface. The Hello packet, the outbound interface is the interface that sends the Join message to the first multicast device. The new identifier is generated temporarily. The identifier of the outbound interface included in the Join message sent by the first multicast device. The difference is that the temporarily generated identifier has changed. If yes, it indicates that the first multicast device is the GR Restarter device. If the restart occurs, such as the active/standby switchover of the main control board, perform 203; otherwise, indicate the first multicast device. Normal, if no restart occurs, execute 204.

其中, 第一加入超时时间为在本地组播设备上预先配置的 Join报文超时时间, 其值可以 根据需要进行设置, 如 200s, 260s等等。  The first join timeout period is the timeout time of the Join message pre-configured on the local multicast device. The value can be set as required, such as 200s, 260s, and so on.

203: 将第一加入超时时间延长到第二加入超时时间, 并继续计时, 直到计时时间达到第 二加入超时时间为止, 如果达到第二加入超时时间后仍然未再次从第一接口收到第一组播设 备的 Join报文, 则将该第一接口剪枝, 流程结束。  203: Extend the first joining timeout period to the second joining timeout period, and continue counting until the timing time reaches the second joining timeout period, and if the second joining timeout period is reached, the first interface is not received again. If the Join message of the multicast device is prune, the process ends.

其中, 延长的时间可以通过命令行配置指定, 如将第一加入超时时间 260s延长到第二加 入超时时间 300s。 本实施例中, 优选地, 按照如下关系进行延长:  The extended time can be specified through the command line configuration, such as extending the first join timeout period 260s to the second addition timeout time 300s. In this embodiment, preferably, the extension is performed according to the following relationship:

第二加入超时时间与第一加入超时时间的差值等于接收到上述 Hello报文的时间与接收 到上述 Join报文的时间的差值。 本实施例还可以用于第一组播设备发生连续倒换的场景, 即计时过程中从第一组播设备 接收到包含新标识的 Hello报文后, 又再次从第一组播设备接收到包含新标识的 Hello报文, 这种场景下, 延长的时间仍然可以按照上述关系进行, 不过其中接收到 Hello报文的时间为 再次收到包含第一组播设备出接口的新标识的 Hello报文的时间。 The difference between the second join timeout time and the first join timeout time is equal to the difference between the time when the Hello message is received and the time when the Join message is received. In this embodiment, the scenario in which the first multicast device is continuously switched is received. After receiving the Hello packet containing the new identifier from the first multicast device, the first multicast device receives the Hello packet again. The newly-identified Hello packet. In this scenario, the extended time can still be obtained according to the above relationship. However, when the Hello packet is received, the Hello packet containing the new identifier of the outbound interface of the first multicast device is received again. time.

204: 判断该计时过程中是否再次从第一接口收到第一组播设备发来的 Join报文, 如果 收到, 表明第一组播设备仍然希望接收组播数据, 则流程结束, 后续可以继续进行正常的组 播数据转发;否则,预设的时间超时,表明第一组播设备不再希望接收组播数据,则执行 205。  204: Determine whether the Join message sent by the first multicast device is received from the first interface again during the timeout process. If the first multicast device still needs to receive the multicast data, the process ends. The normal multicast data forwarding is continued; otherwise, the preset timeout indicates that the first multicast device no longer wishes to receive the multicast data, and executes 205.

205: 将第一接口剪枝, 不再通过第一接口下发组播数据, 流程结束。  205: The first interface is prune, and the multicast data is not sent through the first interface, and the process ends.

进一步地, 本实施例中, 当本地组播设备在当前周期内第一次接收到第一组播设备发来 的 Join报文(201 )后,如果还从第一接口接收到下游邻居的第二组播设备发来的 Prune报文, 则上述方法还可以包括以下步骤, 参见图 3, 具体如下:  Further, in this embodiment, after the local multicast device receives the Join message (201) sent by the first multicast device for the first time in the current period, if the local neighbor device also receives the downlink neighbor from the first interface, The foregoing method may further include the following steps, as shown in FIG. 3, which is specifically as follows:

301: 本地组播设备在当前周期内, 从第一接口接收到下游邻居的第二组播设备发来的 Prune报文, 开始计时。  301: The local multicast device receives the Prune packet sent by the second multicast device of the downstream neighbor from the first interface in the current period, and starts timing.

其中, 当前周期是指 201 中收到 Join报文开始至第一加入超时时间为止 (204) 的时间 段, 或者指 201中收到 Join报文开始至第二加入超时时间为止 (203 ) 的时间段。  The current period is the time period from the start of the Join message to the first join timeout period (204) in 201, or the time from the start of the Join message to the second join timeout period (203) in 201. segment.

302: 判断第一接口上除第二组播设备外是否还连接有其它下游邻居组播设备, 该其它下 游邻居组播设备包括第一组播设备, 如果有, 则执行 303 ; 否则, 执行 306。  302: Determine whether the other downstream neighbor multicast device is connected to the first interface except the second multicast device, where the other downstream neighbor multicast device includes the first multicast device, and if yes, execute 303; otherwise, perform 306. .

303: 判断在收到该 Prune报文之前, 是否从第一接口接收到所述其它下游邻居组播设备 发来的包含该其它下游邻居组播设备出接口的新标识的 Hello报文, 如果收到, 则执行 304; 如果未收到, 则执行 305。  303: Determine, before receiving the Prune message, whether the Hello packet sent by the other downstream neighboring multicast device and the new identifier of the outbound interface of the other downstream neighboring multicast device is received from the first interface. To, execute 304; if not, execute 305.

304: 对第一接口不进行剪枝处理, 流程结束。  304: The pruning process is not performed on the first interface, and the process ends.

305: 对第一接口进行剪枝处理, 具体地, 如果上述计时未达到预设的剪枝超时时间, 且 从第一接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组播设备出接口的新标 识的 Hello报文, 则不剪枝第一接口; 如果未从第一接口接收到其它下游邻居组播设备发来 的包含该其它下游邻居组播设备出接口的新标识的 Hello报文, 且该计时已达到所述剪枝超 时时间, 则剪枝第一接口, 然后流程结束。  305: Perform prune processing on the first interface, specifically, if the timing does not reach the preset prune timeout period, and the other downstream neighbor multicast device receives the other downstream neighbor multicast from the first interface. If the new interface of the device is not prune, the first interface is not prune. If the new interface from the downstream device of the other downstream neighbors is not received from the first interface, Hello packet, and the timing has reached the prune timeout time, the first interface is pruneted, and the process ends.

预设的剪枝超时时间是指收到 Prune报文后开始计时的超时时间, 如果计时达到该超时 时间, 则进行剪枝, 在计时未达到该超时时间时, 不进行剪枝。 该剪枝超时时间的值可以根 据需要进行配置。  The default prune timeout period is the timeout period after the Prune packet is received. If the timeout period is reached, the prune is performed. If the timeout period is not reached, the prune is not performed. The value of this pruning timeout can be configured as needed.

306: 在计时达到预设的剪枝超时时间后, 对第一接口进行剪枝, 不再通过第一接口下发 组播数据, 然后流程结束。 306: After the timeout period reaches the preset prune timeout period, the first interface is pruneted and is not sent through the first interface. Multicast data, then the process ends.

本实施例中, 本地组播设备可以具有多个接口, 例如, 除上述第一接口外, 还具有第二 接口。 当本地组播设备从第二接口接收到下游邻居的组播设备发来的 Prune报文时, 本地组 播设备的处理过程同上述 301〜306类似, 参见图 4, 具体如下:  In this embodiment, the local multicast device may have multiple interfaces, for example, in addition to the first interface, the second interface. When the local multicast device receives the Prune packet from the multicast device of the downstream neighbor from the second interface, the processing procedure of the local multicast device is similar to that of the foregoing 301 to 306. Referring to FIG. 4, the details are as follows:

401: 当本地组播设备从第二接口接收到下游邻居的第二组播设备发来的 Prune报文时, 开始计时。  401: Start timing when the local multicast device receives the Prune packet sent by the second multicast device of the downstream neighbor from the second interface.

402: 判断第二接口上除第二组播设备外是否还连接有其它下游邻居组播设备, 该其它下 游邻居组播设备包括第一组播设备, 如果有, 则执行 403 ; 否则, 执行 406。  402: Determine whether the other downstream neighbor multicast device is connected to the second interface except the second multicast device, where the other downstream neighbor multicast device includes the first multicast device, and if yes, execute 403; otherwise, perform 406. .

403: 判断在收到该 Prune报文之前, 是否从第二接口接收到所述其它下游邻居组播设备 发来的包含该其它下游邻居组播设备出接口的新标识的 Hello报文, 如果收到, 则执行 404; 如果未收到, 则执行 405。  403: Determine, before receiving the Prune message, whether the Hello packet sent by the other downstream neighboring multicast device and the new identifier of the outbound interface of the other downstream neighboring multicast device is received from the second interface, if To, execute 404; if not, execute 405.

404: 对第二接口不进行剪枝处理, 流程结束。  404: The second interface is not pruned, and the process ends.

405: 对第二接口进行剪枝处理, 具体地, 如果上述计时未达到预设的剪枝超时时间, 且 从第二接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组播设备出接口的新标 识的 Hello报文, 则不剪枝第二接口; 如果未从第二接口接收到其它下游邻居组播设备发来 的包含该其它下游邻居组播设备出接口的新标识的 Hello报文, 且该计时已达到所述剪枝超 时时间, 则剪枝第二接口, 然后流程结束。  405: Perform prune processing on the second interface, specifically, if the timing does not reach the preset prune timeout period, and the other downstream neighbor multicast device receives the other downstream neighbor multicast from the second interface. If the new Hello packet of the outbound interface of the device is not prune, the second interface is not prune. If the new interface of the other downstream neighboring multicast device is not received from the second interface, the new identifier of the outbound interface of the other downstream neighboring multicast device is not received. Hello packet, and the timing has reached the pruning timeout time, the second interface is pruned, and then the process ends.

406: 在计时达到预设的剪枝超时时间后, 对第二接口进行剪枝, 不再通过第二接口下发 组播数据, 然后流程结束。  406: After the preset prune timeout period is reached, the second interface is prune, the multicast data is not sent through the second interface, and the process ends.

本实施例中, Join报文中可以携带 (*, G), 或者携带 (S, G), Prune报文中可以携带 In this embodiment, the Join message can carry (*, G), or carry (S, G), and the Prune message can be carried.

( *, G), 或者携带 (S, G)。 即本实施例提供的上述方法可以应用于 PIM-SM模型中, 也可 以应用在 SSM模型中, 该技术方案不受协议类型的限制。 (*, G), or carry (S, G). That is, the foregoing method provided by this embodiment can be applied to the PIM-SM model, and can also be applied to the SSM model, and the technical solution is not limited by the protocol type.

下面以图 5所示的应用场景, 具体说明上述方法的应用。 参见图 5, 网络中有 5个组播 路由器, Rl、 R2和 R3为与接收者相连的 DR, R4为 R1和 R2的上游邻居设备, R5通过一 个接口分别与 R3和 R4两个下游邻居设备相连, 且 R5为与组播源相连的第一跳路由器。 结 合图 6, 说明 R5收到下游邻居设备的 Join报文后的处理过程。 在 t0时刻 R5收到 R4发来的 Join报文, 启动当前周期的计时, 在预设的 Join报文超时时间 JP Time未到之前的 tl时刻, 又收到 R4由于重启而发来的包含新 GenID的 Hello报文,则可以记录在该接口上收到 GenID 改变的 Hello报文的时间戳 tl, 当计时达到超时时间 JP Time时, 即图中的 t2时刻, R5判断 是否记录了该接口收到 GenID改变的 Hello报文的时间戳, 如果记录了该时间戳, 则对 Join 报文超时时间延长 At至时刻 t3, 并继续计时直到 t3时亥 lj; 如果在 t3之前 R5再次收到 R4发 来的 Join报文, 则不剪枝该接口, 如果在 t3之前 R5没有再次收到 R4发来的 Join报文, 则 剪枝该接口。 其中, At=tl-t0, 即 tl至 t3时间段等于预设的 Join报文超时时间 JP Time。 The application of the above method will be specifically described below with reference to the application scenario shown in FIG. 5. Referring to Figure 5, there are five multicast routers in the network, Rl, R2, and R3 are DRs connected to receivers, R4 is upstream neighbors of R1 and R2, and R5 is connected to two downstream neighbors of R3 and R4 through one interface. Connected, and R5 is the first hop router connected to the multicast source. Figure 6 shows the process of receiving the Join message from the downstream neighbor device. At time t0, R5 receives the Join message sent by R4, and starts the time of the current cycle. When the preset Join message timeout time JP time has not reached the previous time t1, it receives the new message sent by R4 due to the restart. The hello packet of the GenID can record the timestamp tl of the Hello packet received by the GenID on the interface. When the timer reaches the timeout time JP Time, that is, at time t2 in the figure, R5 determines whether the interface is recorded. Timestamp of the Hello packet changed to the GenID. If the timestamp is recorded, then Join is added. The packet timeout period is extended from At to time t3, and continues to count until t3. If R5 receives the Join message sent by R4 again before t3, the interface is not pruned. If R5 is not received again before t3 The Join message sent to R4 prune the interface. The time range from tl to t3 is equal to the preset timeout time JP Time of the Join message.

本实施例提供的上述方法不仅可以应用于普通的公网, 还可以应用于组播 VPN (Virtual Private Network, 虚拟专用网络) 中。 在组播 VPN中, 每台 PE设备的 VPN实例相当于通过 Mtunnel接口直连, Mtunnel接口是一个虚拟的以太广播接口, 如果下游 PE设备发生重启, 则会通过 Mtunnel接口往上游设备发送携带新 GenID的 Hello报文。参见图 7, CE1与组播源 相连, 下游邻居为 PE1, PE1通过组播隧道接口 (Mtunnel接口) 分别与 PE2和 PE3相连, PE2的下游邻居是 CE2, PE3的下游邻居是 CE3, CE2和 CE3分别连接接收者。在该场景下, 如果 PE1重启, 会发送包含新 GenID的 Hello报文给 CE1, CE1收到后的处理过程同图 5中 R5的处理, 此处不再赘述。  The foregoing method provided in this embodiment can be applied not only to an ordinary public network but also to a multicast private network (Virtual Private Network). In a multicast VPN, the VPN instance of each PE device is directly connected to the Mtunnel interface. The MTU interface is a virtual Ethernet broadcast interface. If the downstream PE device restarts, the device sends a new GenID to the upstream device through the Mtunnel interface. Hello message. As shown in Figure 7, CE1 is connected to the multicast source, and the downstream neighbor is PE1. PE1 is connected to PE2 and PE3 through the multicast tunnel interface (Mtunnel interface). The downstream neighbor of PE2 is CE2. The downstream neighbors of PE3 are CE3, CE2, and CE3. Connect to the recipient separately. In this scenario, if PE1 is restarted, the Hello message containing the new GenID is sent to CE1. The processing after receiving the CE1 is the same as that of R5 in Figure 5, and is not mentioned here.

本实施例通过上游设备在检测到下游 GR Restarter设备重启后, 延长 Join报文的超时时 间, 避免了 GR Restarter设备由于重启处理时间过长, 而导致上游 GR Helper设备 Join报文 超时, 引起组播流量中断的情况发生, 实现了组播数据不间断转发。 在收到 Prune报文后, 根据该接口上是否存在其它下游邻居以及是否收到包含新 GenID的 Hello报文, 来确定是否 对该接口进行剪枝, 防止由于在 GR Restarter设备重启处理过程中无法发送 Join报文, 而导 致上游邻居将仍然希望接收组播数据的下游 GR Restarter设备相连的接口剪枝, 造成该 GR Restarter设备重启后无法接收组播数据的情况发生。 参见图 8, 本发明实施例还提供了一种提高组播转发可靠性的装置, 包括:  In this embodiment, after the upstream device detects that the downstream GR Restarter device is restarted, the timeout period of the Join message is extended, and the restart time of the GR Restarter device is too long, and the Join message of the upstream GR Helper device times out, causing multicast. When the traffic is interrupted, multicast data is continuously forwarded. After the Prune packet is received, whether the other downstream neighbors are present on the interface and whether the Hello message is received from the new GenID is configured to determine whether the interface is prune. After the Join message is sent, the upstream neighbor will prune the interface connected to the downstream GR Restarter device that is still receiving the multicast data. The GR Restarter cannot receive multicast data after the device restarts. Referring to FIG. 8, an embodiment of the present invention further provides an apparatus for improving reliability of multicast forwarding, including:

加入计时模块 801, 用于当该装置从第一接口接收到下游邻居的第一组播设备发来的加 入报文时, 开始计时;  The timing module 801 is configured to start timing when the device receives the adding message sent by the first multicast device of the downstream neighbor from the first interface;

延时模块 802, 用于当加入计时模块 801计时达到预设的第一加入超时时间时, 判断计 时过程中该装置是否从第一组播设备接收到包含第一组播设备出接口的新标识的握手报文, 如果是, 则将第一加入超时时间延长到第二加入超时时间。  The delay module 802 is configured to: when the timing module 801 is added to the preset first joining timeout period, determine whether the device receives the new identifier that includes the outbound interface of the first multicast device from the first multicast device during the timing The handshake message, if yes, extends the first join timeout period to the second join timeout period.

本实施例中, 优选地, 第二加入超时时间与第一加入超时时间的差值等于接收到握手报 文的时间与接收到加入报文的时间的差值。  In this embodiment, the difference between the second join timeout period and the first join timeout time is equal to the difference between the time when the handshake message is received and the time when the join message is received.

进一步地, 参见图 9, 上述装置还包括:  Further, referring to FIG. 9, the above apparatus further includes:

第一判断模块 803, 用于在该装置接收到所述加入报文后, 如果还从第一接口接收到下 游邻居的第二组播设备发来的剪枝报文, 则判断该第一接口上是否还连接有除第二组播设备 外的其它下游邻居组播设备, 该其它下游邻居组播设备包括第一组播设备; The first determining module 803 is configured to determine, after the device receives the join message, the first interface, if the prune message sent by the second multicast device of the downstream neighbor is also received from the first interface, Is there a second multicast device connected to it? Other downstream neighbor multicast devices, the other downstream neighbor multicast devices include a first multicast device;

第二判断模块 804, 用于当第一判断模块 803判断的结果为是时, 判断在收到剪枝报文 之前, 该装置是否从该第一接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组 播设备出接口的新标识的握手报文;  The second determining module 804 is configured to: when the first determining module 803 determines that the result is yes, determine whether the device receives the other downstream neighbor multicast device from the first interface before receiving the prune message. A handshake packet containing the new identifier of the outbound interface of the other downstream neighbor multicast device;

第一处理模块 805, 用于如果第二判断模块 804判断的结果为收到, 则对该第一接口不 进行剪枝处理, 如果第二判断模块 804判断的结果为未收到, 则对该第一接口进行剪枝处理。  The first processing module 805 is configured to: if the result of the second determining module 804 is received, the first interface is not subjected to the pruning process, and if the result of the second determining module 804 is not received, the The first interface performs pruning processing.

当上述装置包括第一判断模块 803、 第二判断模块 804和第一处理模块 805时, 进一步 地, 参加图 9, 上述装置还可以包括:  When the device includes the first judging module 803, the second judging module 804, and the first processing module 805, further, the device may also include:

第一剪枝计时模块 806, 用于在该装置从第一接口接收到所述剪枝报文时, 开始计时; 相应地, 第一处理模块 805具体包括:  The first pruning timing module 806 is configured to start timing when the device receives the pruning message from the first interface. Correspondingly, the first processing module 805 specifically includes:

第一处理单元, 用于当第二判断模块 804判断的结果为收到时, 对第一接口不进行剪枝 处理;  The first processing unit is configured to: when the second determination module 804 determines that the result is received, the first interface is not subjected to the pruning process;

第二处理单元, 用于当第二判断模块 804判断的结果为未收到时, 如果第一剪枝计时模 块 806计时未达到预设的剪枝超时时间, 且从第一接口接收到其它下游邻居组播设备发来的 包含该其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝第一接口, 如果未从第 一接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组播设备出接口的新标识的 握手报文, 且计时已达到剪枝超时时间, 则剪枝第一接口。  a second processing unit, configured to: when the second judging module 804 determines that the result is not received, if the first pruning timing module 806 does not reach the preset pruning timeout period, and receives other downstream from the first interface. The handshake message sent by the neighboring multicast device that contains the new identifier of the outbound interface of the other downstream neighbors does not prune the first interface. If no other downstream neighbor multicast device is received from the first interface. After the handshake packet with the new identifier of the outbound interface of the other downstream neighboring multicast device is received, and the ping timeout time has expired, the first interface is prune.

本实施例中, 参加图 10, 上述装置还包括:  In this embodiment, referring to FIG. 10, the foregoing apparatus further includes:

第三判断模块 807, 用于如果该装置从第二接口接收到下游邻居的第二组播设备发来的 剪枝报文, 则判断第二接口上是否还连接有除第二组播设备外的其它下游邻居组播设备, 该 其它下游邻居组播设备包括第一组播设备;  The third determining module 807 is configured to: if the device receives the prune message sent by the second multicast device of the downstream neighbor from the second interface, determine whether the second interface is further connected to the second multicast device. Other downstream neighbor multicast devices, the other downstream neighbor multicast devices include a first multicast device;

第四判断模块 808, 用于当第三判断模块 807判断的结果为是时, 判断该装置在收到剪 枝报文之前, 是否从第二接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组播 设备出接口的新标识的握手报文;  The fourth determining module 808 is configured to: when the third determination module 807 determines that the result is yes, determine whether the device receives the inclusion of the other downstream neighbor multicast device from the second interface before receiving the prune message. A handshake message of the new identifier of the outbound interface of the other downstream neighboring multicast device;

第二处理模块 809, 用于如果第四判断模块 808判断的结果为收到, 则对第二接口不进 行剪枝处理, 如果第四判断模块 808判断的结果为未收到, 则对第二接口进行剪枝处理。  The second processing module 809 is configured to: if the fourth determination module 808 determines that the result is received, the second interface does not perform the pruning process, and if the fourth determination module 808 determines that the result is not received, the second processing module 809 The interface is pruned.

当上述装置包括第三判断模块 807、 第四判断模块 808和第二处理模块 809时, 进一步 地, 上述装置还包括:  When the device includes the third determining module 807, the fourth determining module 808, and the second processing module 809, the device further includes:

第二剪枝计时模块 810, 用于在该装置从第二接口收到剪枝报文时, 开始计时; 相应地, 第二处理模块 809具体包括: 第一处理单元, 用于当第四判断模块 808判断的结果为收到时, 对第二接口不进行剪枝 处理; The second prune timing module 810 is configured to start timing when the device receives the prune message from the second interface. Correspondingly, the second processing module 809 specifically includes: a first processing unit, configured to: when the fourth determination module 808 determines that the result is received, not performing pruning processing on the second interface;

第二处理单元, 用于当第四判断模块 808判断的结果为未收到时, 如果第二剪枝计时模 块计时未达到预设的剪枝超时时间, 且该装置从第二接口接收到其它下游邻居组播设备发来 的包含该其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝第二接口, 如果该装 置未从第二接口接收到其它下游邻居组播设备发来的包含该其它下游邻居组播设备出接口的 新标识的握手报文, 且第二剪枝计时模块 810计时已达到剪枝超时时间, 则剪枝第二接口。  a second processing unit, configured to: when the fourth determination module 808 determines that the result is not received, if the second pruning timing module does not reach the preset pruning timeout period, and the device receives the other from the second interface The handshake message sent by the downstream neighbor multicast device that contains the new identifier of the outbound interface of the other downstream neighbor multicast device does not prune the second interface. If the device does not receive other downstream neighbor multicast devices from the second interface. The handshake message containing the new identifier of the outbound interface of the other downstream neighbor multicast device is sent, and the second pruning timer module 810 times the prune timeout period, and the second interface is pruned.

本实施例中, Join报文中可以携带 (*, G), 或者携带 (S, G), Prune报文中可以携带 ( *, G), 或者携带 (S, G)。 即本实施例提供的上述装置可以应用于 PIM-SM模型中, 也可 以应用在 SSM模型中, 该技术方案不受协议类型的限制。  In this embodiment, the Join message may carry (*, G) or carry (S, G), and the Prune message may carry (*, G) or carry (S, G). That is, the foregoing apparatus provided in this embodiment may be applied to the PIM-SM model, or may be applied to the SSM model, and the technical solution is not limited by the type of the protocol.

本实施例提供的上述装置可以具体为组播设备, 如组播路由器。 该装置不仅可以应用于 普通的公网, 还可以应用于组播 VPN中。  The foregoing apparatus provided in this embodiment may be specifically a multicast device, such as a multicast router. The device can be applied not only to an ordinary public network but also to a multicast VPN.

本实施例通过在检测到下游第一组播设备重启后, 延长 Join报文的超时时间, 避免了该 第一组播设备由于重启处理时间过长, 而导致上游设备 Join报文超时, 引起组播流量中断的 情况发生, 实现了组播数据不间断转发。 在收到 Prune报文后, 根据该接口上是否存在其它 下游邻居以及是否收到包含新 GenID的 Hello报文, 来确定是否对该接口进行剪枝, 防止由 于在 GR Restarter设备重启处理过程中无法发送 Join报文, 而导致上游邻居将仍然希望接收 组播数据的下游 GR Restarter设备相连的接口剪枝,造成该 GR Restarter设备重启后无法接收 组播数据的情况发生。  In this embodiment, after detecting that the downstream first multicast device is restarted, the timeout period of the Join message is extended, and the startup time of the first multicast device is too long, and the Join message of the upstream device times out, causing the group to be caused. The interruption of the broadcast traffic occurs, and the multicast data is continuously forwarded. After the Prune packet is received, whether the other downstream neighbors are present on the interface and whether the Hello message is received from the new GenID is configured to determine whether the interface is prune. After the Join message is sent, the upstream neighbor will prune the interface connected to the downstream GR Restarter device that is still receiving the multicast data. The GR Restarter cannot receive multicast data after the device restarts.

本领域普通技术人员可以理解, 实现上述实施例方法携带的全部或部分步骤是可以通过 程序来指令相关的硬件完成, 所述的程序可以存储于一种计算机可读存储介质中, 该程序在 执行时, 包括方法实施例的步骤之一或其组合。  It will be understood by those skilled in the art that all or part of the steps carried by the method of the foregoing embodiment may be implemented by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, and the program is executed. Including one or a combination of the steps of the method embodiments.

另外, 在本发明各个实施例中的各功能单元可以集成在一个处理模块中, 也可以是各个 单元单独物理存在, 也可以两个或两个以上单元集成在一个模块中。 上述集成的模块既可以 采用硬件的形式实现, 也可以采用软件功能模块的形式实现。 所述集成的模块如果以软件功 能模块的形式实现并作为独立的产品销售或使用时, 也可以存储在一个计算机可读取存储介 质中。  In addition, each functional unit in each embodiment of the present invention may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. The integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.

上述提到的存储介质可以是只读存储器, 磁盘或光盘等。  The above-mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明的精神和原则之 内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。  The above is only the preferred embodiment of the present invention, and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., which are within the spirit and scope of the present invention, should be included in the protection of the present invention. Within the scope.

Claims

权 利 要 求 书 Claim 1 . 一种提高组播转发可靠性的方法, 其特征在于, 所述方法包括: A method for improving the reliability of multicast forwarding, the method comprising: 从第一接口接收下游邻居的第一组播设备发来的加入报文, 并开始计时;  Receiving a join message sent by the first multicast device of the downstream neighbor from the first interface, and starting timing; 判断在所述计时达到预设的第一加入超时时间的过程中, 是否从所述第一组播设备接收 到包含所述第一组播设备出接口的新标识的握手报文, 如果是, 则继续计时达到第二加入超 时时间。  Determining, in the process of the timer reaching the preset first joining timeout period, whether the handshake message including the new identifier of the outbound interface of the first multicast device is received from the first multicast device, and if yes, Then continue to count to reach the second join timeout period. 2. 根据权利要求 1所述的提高组播转发可靠性的方法, 其特征在于,  2. The method for improving multicast forwarding reliability according to claim 1, wherein: 所述第二加入超时时间与第一加入超时时间的差值等于接收到所述握手报文的时间与接 收到所述加入报文的时间的差值。  The difference between the second join timeout period and the first join timeout period is equal to the difference between the time when the handshake message is received and the time when the join message is received. 3. 根据权利要求 1所述的提高组播转发可靠性的方法, 其特征在于, 所述方法还包括: 在接收到所述加入报文后, 如果从所述第一接口接收到下游邻居的第二组播设备发来的 剪枝报文, 则判断所述第一接口上是否还连接有除所述第二组播设备外的其它下游邻居组播 设备, 所述其它下游邻居组播设备包括所述第一组播设备;  The method for improving the reliability of multicast forwarding according to claim 1, wherein the method further comprises: after receiving the join message, if receiving a downstream neighbor from the first interface The prune message sent by the second multicast device determines whether the other downstream neighbor multicast device other than the second multicast device is connected to the first interface, and the other downstream neighbor multicast device Include the first multicast device; 如果有, 则判断在收到所述剪枝报文之前, 是否从所述第一接口接收到所述其它下游邻 居组播设备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 如果收到, 则对所述第一接口不进行剪枝处理, 如果未收到, 则对所述第一接口进行剪枝处理。  If yes, determining whether the new identifier of the outbound interface of the other downstream neighboring multicast device sent by the other downstream neighboring multicast device is received from the first interface before receiving the prune message If the handshake packet is received, the first interface is not subjected to the pruning process, and if not received, the first interface is subjected to the pruning process. 4. 根据权利要求 3所述的提高组播转发可靠性的方法, 其特征在于, 所述方法还包括: 在从所述第一接口收到所述剪枝报文时开始计时;  The method for improving the reliability of multicast forwarding according to claim 3, wherein the method further comprises: starting timing when receiving the prune message from the first interface; 则对所述第一接口进行剪枝处理, 具体包括:  Performing a pruning process on the first interface, specifically: 如果所述计时未达到预设的剪枝超时时间, 且从所述第一接口接收到所述其它下游邻居 组播设备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝所述 第一接口;  If the timing does not reach the preset prune timeout period, and receives a handshake from the first interface that is sent by the other downstream neighboring multicast device and includes a new identifier of the outbound interface of the other downstream neighboring multicast device The packet does not prune the first interface; 如果未从所述第一接口接收到所述其它下游邻居组播设备发来的包含所述其它下游邻居 组播设备出接口的新标识的握手报文, 且所述计时已达到所述剪枝超时时间, 则剪枝所述第 一接口。  If the handshake message of the new identifier of the outbound interface of the other downstream neighboring multicast device sent by the other downstream neighboring multicast device is not received from the first interface, and the timing has reached the pruning The timeout period is used to prun the first interface. 5. 根据权利要求 1所述的提高组播转发可靠性的方法, 其特征在于, 所述方法还包括: 如果从第二接口接收到下游邻居的第二组播设备发来的剪枝报文, 则判断所述第二接口 上是否还连接有除所述第二组播设备外的其它下游邻居组播设备, 所述其它下游邻居组播设 备包括所述第一组播设备; 如果有, 则判断在收到所述剪枝报文之前, 是否从所述第二接口接收到所述其它下游邻 居组播设备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 如果收到, 则对所述第二接口不进行剪枝处理, 如果未收到, 则对所述第二接口进行剪枝处理。 The method for improving the reliability of multicast forwarding according to claim 1, wherein the method further comprises: if the prune message sent by the second multicast device of the downstream neighbor is received from the second interface And determining, by the second interface, another downstream neighbor multicast device other than the second multicast device, where the other downstream neighbor multicast device includes the first multicast device; If yes, determining whether the new identifier of the outbound interface of the other downstream neighboring multicast device sent by the other downstream neighboring multicast device is received from the second interface before receiving the prune message If the handshake packet is received, the second interface is not subjected to the pruning process. If not, the second interface is subjected to the pruning process. 6. 根据权利要求 5所述的提高组播转发可靠性的方法, 其特征在于, 所述方法还包括: 在从所述第二接口收到所述剪枝报文时开始计时;  The method for improving the reliability of multicast forwarding according to claim 5, wherein the method further comprises: starting timing when receiving the prune message from the second interface; 则对所述第二接口进行剪枝处理, 具体包括:  And performing the pruning process on the second interface, specifically: 如果所述计时未达到预设的剪枝超时时间, 且从所述第二接口接收到所述其它下游邻居 组播设备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝所述 第二接口;  If the timing does not reach the preset prune timeout period, and receives a handshake from the second interface that is sent by the other downstream neighboring multicast device and includes a new identifier of the outbound interface of the other downstream neighboring multicast device The packet does not prune the second interface; 如果未从所述第二接口接收到所述其它下游邻居组播设备发来的包含所述其它下游邻居 组播设备出接口的新标识的握手报文, 且所述计时已达到所述剪枝超时时间, 则剪枝所述第 二接口。  If the handshake message of the new identifier of the outbound interface of the other downstream neighboring multicast device sent by the other downstream neighboring multicast device is not received from the second interface, and the timing has reached the pruning After the timeout period, the second interface is pruned. 7. 一种提高组播转发可靠性的装置, 其特征在于, 所述装置包括:  A device for improving the reliability of multicast forwarding, characterized in that the device comprises: 加入计时模块, 用于从第一接口接收下游邻居的第一组播设备发来的加入报文, 并开始 计时;  Adding a timing module, configured to receive a join message sent by the first multicast device of the downstream neighbor from the first interface, and start timing; 延时模块, 用于判断在所述加入计时模块计时达到预设的第一加入超时时间的过程中, 所述装置是否从所述第一组播设备接收到包含所述第一组播设备出接口的新标识的握手报 文, 如果是, 则继续计时达到第二加入超时时间。  a delay module, configured to determine, when the timing of the joining timing module reaches a preset first joining timeout period, whether the device receives the first multicast device from the first multicast device The handshake message of the new identifier of the interface. If yes, continue to time to reach the second join timeout period. 8. 根据权利要求 7所述的提高组播转发可靠性的装置, 其特征在于,  8. The apparatus for improving multicast forwarding reliability according to claim 7, wherein: 所述第二加入超时时间与第一加入超时时间的差值等于接收到所述握手报文的时间与接 收到所述加入报文的时间的差值。  The difference between the second join timeout period and the first join timeout period is equal to the difference between the time when the handshake message is received and the time when the join message is received. 9. 根据权利要求 7所述的提高组播转发可靠性的装置, 其特征在于, 所述装置还包括: 第一判断模块, 用于在所述装置接收到所述加入报文后, 如果从所述第一接口接收到下 游邻居的第二组播设备发来的剪枝报文, 则判断所述第一接口上是否还连接有除所述第二组 播设备外的其它下游邻居组播设备, 所述其它下游邻居组播设备包括所述第一组播设备; 第二判断模块, 用于当所述第一判断模块判断的结果为是时, 判断在收到所述剪枝报文 之前, 是否从所述第一接口接收到所述其它下游邻居组播设备发来的包含所述其它下游邻居 组播设备出接口的新标识的握手报文;  The device for improving the reliability of multicast forwarding according to claim 7, wherein the device further comprises: a first determining module, configured to: after the device receives the joining message, if The first interface receives the prune message sent by the second multicast device of the downstream neighbor, and determines whether other downstream neighbor multicasts other than the second multicast device are still connected to the first interface. The device, the other downstream neighbor multicast device includes the first multicast device, and the second determining module is configured to: when the result of the first determining module determines yes, determine that the prune message is received The handshake message of the new identifier of the outbound interface of the other downstream neighboring multicast device sent by the other downstream neighboring multicast device is received from the first interface; 第一处理模块, 用于如果所述第二判断模块判断的结果为收到, 则对所述第一接口不进 行剪枝处理, 如果所述第二判断模块判断的结果为未收到, 则对所述第一接口进行剪枝处理。 a first processing module, configured to: if the result of the determining by the second determining module is received, perform no pruning processing on the first interface, if the result of the second determining module is not received, Performing a pruning process on the first interface. 10. 根据权利要求 9所述的提高组播转发可靠性的装置, 其特征在于, 所述装置还包括: 第一剪枝计时模块, 用于在所述装置从所述第一接口接收到所述剪枝报文时, 开始计时; 则所述第一处理模块具体包括: The device for improving the reliability of multicast forwarding according to claim 9, wherein the device further comprises: a first pruning timing module, configured to receive, at the device, the device from the first interface When the prune message is described, the timing is started. The first processing module specifically includes: 第一处理单元, 用于当所述第二判断模块判断的结果为收到时, 对所述第一接口不进行 剪枝处理;  a first processing unit, configured to: when the result of the determining by the second determining module is received, perform no pruning processing on the first interface; 第二处理单元, 用于当所述第二判断模块判断的结果为未收到时, 如果所述第一剪枝计 时模块计时未达到预设的剪枝超时时间, 且从所述第一接口接收到所述其它下游邻居组播设 备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝所述第一接 口, 如果未从所述第一接口接收到所述其它下游邻居组播设备发来的包含所述其它下游邻居 组播设备出接口的新标识的握手报文, 且所述计时已达到所述剪枝超时时间, 则剪枝所述第 一接口。  a second processing unit, configured to: when the second judging module determines that the result is not received, if the first pruning timing module does not reach a preset pruning timeout period, and from the first interface Receiving, by the other downstream neighboring multicast device, a handshake message including a new identifier of the outbound interface of the other downstream neighboring multicast device, the first interface is not prune, if not from the first interface Receiving, by the other downstream neighboring multicast device, a handshake message including a new identifier of the outbound interface of the other downstream neighboring multicast device, and the timing has reached the prune timeout period, and then prune the The first interface. 11 . 根据权利要求 7所述的提高组播转发可靠性的装置, 其特征在于, 所述装置还包括: 第三判断模块, 用于如果所述装置从第二接口接收到下游邻居的第二组播设备发来的剪 枝报文, 则判断所述第二接口上是否还连接有除所述第二组播设备外的其它下游邻居组播设 备, 所述其它下游邻居组播设备包括所述第一组播设备;  The device for improving the reliability of the multicast forwarding according to claim 7, wherein the device further comprises: a third determining module, configured to: if the device receives the second neighbor of the downstream neighbor from the second interface The prune message sent by the multicast device determines whether the other downstream neighbor multicast device other than the second multicast device is connected to the second interface, where the other downstream neighbor multicast devices include Said first multicast device; 第四判断模块, 用于当所述第三判断模块判断的结果为是时, 判断所述装置在收到所述 剪枝报文之前, 是否从所述第二接口接收到所述其它下游邻居组播设备发来的包含所述其它 下游邻居组播设备出接口的新标识的握手报文;  a fourth determining module, configured to: when the third determining module determines that the result is yes, determine whether the device receives the other downstream neighbors from the second interface before receiving the prune message A handshake packet sent by the multicast device and containing the new identifier of the outbound interface of the other downstream neighboring multicast device; 第二处理模块, 用于如果所述第四判断模块判断的结果为收到, 则对所述第二接口不进 行剪枝处理, 如果所述第四判断模块判断的结果为未收到, 则对所述第二接口进行剪枝处理。  a second processing module, configured to: if the result of the determining by the fourth determining module is received, perform no pruning processing on the second interface, if the result of the fourth determining module is not received, Performing a pruning process on the second interface. 12.根据权利要求 11所述的提高组播转发可靠性的装置,其特征在于,所述装置还包括: 第二剪枝计时模块, 用于在所述装置从所述第二接口收到所述剪枝报文时, 开始计时; 则所述第二处理模块, 具体包括:  The device for improving the reliability of multicast forwarding according to claim 11, wherein the device further comprises: a second pruning timing module, configured to receive, at the device, the second interface When the prune message is described, the timing is started; the second processing module specifically includes: 第一处理单元, 用于当所述第四判断模块判断的结果为收到时, 对所述第二接口不进行 剪枝处理;  a first processing unit, configured to: when the result of the determining by the fourth determining module is received, perform no pruning processing on the second interface; 第二处理单元, 用于当所述第四判断模块判断的结果为未收到时, 如果所述第二剪枝计 时模块计时未达到预设的剪枝超时时间, 且所述装置从所述第二接口接收到所述其它下游邻 居组播设备发来的包含所述其它下游邻居组播设备出接口的新标识的握手报文, 则不剪枝所 述第二接口, 如果所述装置未从所述第二接口接收到所述其它下游邻居组播设备发来的包含 所述其它下游邻居组播设备出接口的新标识的握手报文, 且所述第二剪枝计时模块计时已达 到所述剪枝超时时间, 则剪枝所述第二接口。 a second processing unit, configured to: when the result of the determining by the fourth determining module is not received, if the timing of the second pruning timing module does not reach a preset pruning timeout period, and the device is from the If the second interface receives the handshake message from the other downstream neighboring multicast device that includes the new identifier of the outbound interface of the other downstream neighboring multicast device, the second interface does not prun the second interface, if the device does not And receiving, by the second interface, a handshake message that is sent by the other downstream neighboring multicast device and includes a new identifier of the outbound interface of the other downstream neighboring multicast device, and the second prune timing module has timed up And to the pruning timeout period, the second interface is pruned.
PCT/CN2009/072223 2008-10-30 2009-06-11 A method and an apparatus for improving the multicast transfer reliability Ceased WO2010048812A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810225324XA CN101394358B (en) 2008-10-30 2008-10-30 Method and device for enhancing reliability of multicast forwarding
CN200810225324.X 2008-10-30

Publications (1)

Publication Number Publication Date
WO2010048812A1 true WO2010048812A1 (en) 2010-05-06

Family

ID=40494439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/072223 Ceased WO2010048812A1 (en) 2008-10-30 2009-06-11 A method and an apparatus for improving the multicast transfer reliability

Country Status (2)

Country Link
CN (1) CN101394358B (en)
WO (1) WO2010048812A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016942A (en) * 2022-06-17 2022-09-06 多点(深圳)数字科技有限公司 Call request processing method and device and electronic equipment
CN116319528A (en) * 2023-03-16 2023-06-23 新华三技术有限公司 Communication method and device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394358B (en) * 2008-10-30 2011-06-15 华为技术有限公司 Method and device for enhancing reliability of multicast forwarding
CN101841472B (en) * 2010-04-08 2012-05-23 北京星网锐捷网络技术有限公司 Multicast link redundancy backup method and router
CN102594481B (en) * 2012-03-08 2017-05-10 中兴通讯股份有限公司 Clock oscillation generating method, device and system
CN102833082B (en) * 2012-09-24 2015-11-25 杭州华三通信技术有限公司 A kind of multicast pruning method and routing device
CN103825817B (en) * 2014-02-18 2017-09-15 新华三技术有限公司 Routing Protocol restarts the implementation method uninterruptedly routeing afterwards and device
CN105591957B (en) * 2015-11-18 2019-04-19 新华三技术有限公司 A kind of multicast stream control method and device based on point-to-multi-point tunnel
CN109561022B (en) * 2017-09-27 2020-09-08 华为技术有限公司 Multicast forwarding method and multicast router
CN112350928B (en) * 2020-10-14 2022-09-30 杭州迪普科技股份有限公司 OSPF (open shortest Path first) protocol-based smooth restart method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067724A1 (en) * 2000-12-01 2002-06-06 Motorola, Inc. Methods for achieving reliable joins in a multicast IP network
CN101222685A (en) * 2008-01-23 2008-07-16 中国科学院计算技术研究所 A method for establishing a multimedia broadcast multicast service session
CN101262446A (en) * 2008-04-21 2008-09-10 北京星网锐捷网络技术有限公司 A generation method and device for Hello packet
CN101394358A (en) * 2008-10-30 2009-03-25 华为技术有限公司 Method and device for improving multicast forwarding reliability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067724A1 (en) * 2000-12-01 2002-06-06 Motorola, Inc. Methods for achieving reliable joins in a multicast IP network
CN101222685A (en) * 2008-01-23 2008-07-16 中国科学院计算技术研究所 A method for establishing a multimedia broadcast multicast service session
CN101262446A (en) * 2008-04-21 2008-09-10 北京星网锐捷网络技术有限公司 A generation method and device for Hello packet
CN101394358A (en) * 2008-10-30 2009-03-25 华为技术有限公司 Method and device for improving multicast forwarding reliability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016942A (en) * 2022-06-17 2022-09-06 多点(深圳)数字科技有限公司 Call request processing method and device and electronic equipment
CN116319528A (en) * 2023-03-16 2023-06-23 新华三技术有限公司 Communication method and device

Also Published As

Publication number Publication date
CN101394358B (en) 2011-06-15
CN101394358A (en) 2009-03-25

Similar Documents

Publication Publication Date Title
WO2010048812A1 (en) A method and an apparatus for improving the multicast transfer reliability
CN101656679B (en) A multicast fast convergence method, router and communication system
CN108512739B (en) Multicast state between multihomed routers in an Ethernet virtual private network
CN101669105B (en) Multicast fast reroute
WO2007028293A1 (en) A method for forwarding a multicasting package in vpls
CN102137000B (en) Method, device and system for establishing switching multicast distribution tree
WO2008119290A1 (en) Method of redundancy protection of multicast flow and device thereof
WO2012075831A1 (en) Method and system for multicast protection
US9288067B2 (en) Adjacency server for virtual private networks
WO2012003743A1 (en) Method and apparatus for forwarding multicast traffic
US9838210B1 (en) Robust control plane assert for protocol independent multicast (PIM)
WO2014008826A1 (en) Method, device, and system for establishing bi-directional multicast distribution tree based on interior gateway protocol
CN103348630A (en) Methods for controlling elections in a multicast network
WO2010111956A1 (en) Method and system for multicast-forwarding-path convergence
WO2011095008A1 (en) Method and system for increasing forwarding efficiency of virtual private lan service network
WO2012163032A1 (en) Multicast processing method and apparatus
WO2020001389A1 (en) Communication method, device and system for avoiding loop
CN100417141C (en) A method for realizing multicast service
CN113497766B (en) EVPN Multicast Ingress Forwarder Selection Using Source Activated Routing
WO2010006524A1 (en) Method of reliable multicast, superstratum provider apparatus and system
CN101610200A (en) Method and device for switching multicast routing
WO2012152134A1 (en) Rapid convergence method for ethernet layer 2 multicast and ethernet system
JP2010045732A (en) Device and method for transferring multicast packet
CN100420242C (en) A method for router link state data synchronization
WO2012103748A1 (en) Multicast control method, routing device and multicast system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09823005

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09823005

Country of ref document: EP

Kind code of ref document: A1