CA2572940C

System and method for preserving multicast data forwarding during control failures in a router

Abstract

A multicast non-stop forwarding (NSF) router architecture enhances high availability of a multicast router (400) in a computer network. The router architecture further preserves multicast data forwarding through a data plane (470) during NSF recovery of one or more failures in a control plane (410) of the router(400). Various multicast components of the router (400) cooperate to provide a checkpointing and recovery technique of the multicast NSF architecture that enables efficient restart and recovery of the control plane failures without loss of data connectivity. In addition, a technique prevents multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network during NSF recovery of one or more failures in a control plane (410) of a multicast router (400).

CA2572940C, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Expired 20 July 2025, 1.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

42 claims: 9 independent, 33 dependent

  1. 1
    CA 02572940 2010-02-04 -35CLAIMS 1. A system adapted to preserve multicast data forwarding during non-stop forwarding (NSF) recovery from a failure in a control plane of a multicast router within in computer network, the system comprising:a first multicast component adapted to monitor and to incrementally persistently store selective multicast state information from the control plane during proper operation of the router for subsequent retrieval and use when rebuilding contents of a topology table of the control plane during NSF recovery;and one or more second multicast components adapted to cooperate with the first multicast component to replay the incrementally persistently stored selective multicast state information back to the control plane as part of a NSF recovery technique that efficiently restarts and recovers the control plane from a failure without loss of data connectivity by the router in the network.
  2. 2
    The system of Claim 1 wherein the first multicast component is a multicast routing protocol executing in the control plane of the router.
  3. 3
    The system of Claim 2 wherein the multicast routing protocol is a protocol independent multicast (PIM) routing protocol.
  4. 4
    The system of Claim 3 wherein the topology table is a PIM topology table.
  5. 5
    The system of Claim 1 wherein the selective incrementally persistently stored multicast state information comprises group range-to-rendezvous point address mapping information that provides an identity of a rendezvous point for each multicast group of receivers that desires to receive messages destined for a multicast group address.
  6. 6
    The system of Claim 1 wherein the selective incrementally persistently stored multicast state information comprises data-driven event information that causes changes CA 02572940 2010-02-04 -36in state and control messages exchanged between the router and its neighbors in the network.
  7. 7
    The system of Claim 1 wherein the selective incrementally persistently stored multicast state information comprises reverse path forwarding information that specifies addresses of previous-hop routers for sources and rendezvous points in the network.
  8. 8
    The system of Claim 1 wherein the first multicast component is a protocol independent multicast (PIM) routing protocol executing in the control plane of the router and wherein the one or more second multicast components is a multicast forwarding information base (MFIB) executing in a data plane of the router.
  9. 9
    The system of Claim 8 wherein the NSF recovery comprises a plurality of phases having an associated timing sequence.
  10. 10
    The system of Claim 9 wherein a first phase of NSF recovery comprises a MFIB freeze phase that transitions MFIB into NSF mode and freezes contents of a MFIB forwarding table to preserve stale routes in the data plane, thereby ensuring continued multicast data flow through the router for pre-existing routes.
  11. 11
    The system of Claim 10 wherein a second phase of NSF recovery comprises a process restart phase that restarts failed control plane components in NSF mode within a defined period of time.
  12. 12
    The system of Claim 11 wherein the failed control plane component is the PIM routing protocol.
  13. 13
    The system of Claim 12 wherein a third phase of NSF recovery comprises a phase that replays a first portion of the selective incrementally persistently stored multicast state information. CA 02572940 2010-02-04
  14. 14
    The system of Claim 13 wherein the first portion of the selective incrementally persistently stored multicast state information comprises group range-to-rendezvous point address mapping and reverse path forwarding information.
  15. 15
    The system of Claim 13 wherein a fourth phase of NSF recovery comprises a protocol adjacency reestablishment phase that establishes control traffic communication with peer routing protocols in neighboring routers of the computer network before returning to the third phase to replay a remaining portion of the selective incrementally persistently stored multicast state information.
  16. 16
    The system of Claim 15 wherein the remaining portion of the selective incrementally persistently stored multicast state information comprises data-driven event signals.
  17. 17
    The system of Claim 15 wherein a fifth phase of NSF recovery comprises a MFIB refresh phase that establishes a communication connection between MFIB and PIM and that updates the contents of the MFIB forwarding table.
  18. 18
    The system of Claim 17 wherein a sixth phase of NSF recovery comprises a NSF completion phase that transitions MFIB and PIM to normal mode, thereby completing NSF recovery.
  19. 19
    A method for preserving multicast data forwarding during non-stop forwarding (NSF) recovery from a failure in a control plane of a multicast router within in a computer network, the method comprising the steps of:monitoring and incrementally persistently storing selective multicast state information from the control plane during proper operation of the router for subsequent retrieval and use when rebuilding contents of a topology table of the control plane during NSF recovery;and restarting of a failed multicast control plane component in accordance with a NSF recovery technique that replays the incrementally persistently stored selective multicast CA 02572940 2010-02-04 -38state information to the control plane to efficiently recover the control plane from a failure without loss of data connectivity by the router in the network.
  20. 20
    The method of Claim 19 wherein the step of restarting comprises the step of providing a plurality of NSF recovery phases having associated timing sequences.
  21. 21
    Apparatus adapted to preserve multicast data forwarding during non-stop forwarding (NSF) recovery from a failure in a control plane of a multicast router within in a computer network, the apparatus comprising:means for monitoring and incrementally persistently storing selective multicast state information from the control plane during proper operation of the router for subsequent retrieval and use when rebuilding contents of a topology table of the control plane during NSF recovery;and means for restarting of a failed multicast control plane component in accordance with a NSF recovery technique that replays the incrementally persistently stored selective multicast state information back to the control plane to efficiently recover the control plane from a failure without loss of data connectivity by the router in the network.
  22. 22
    A computer readable medium containing executable program instructions for preserving multicast data forwarding during non-stop forwarding (NSF) recovery from a failure in a control plane of a multicast router within in a computer network, the executable program instructions comprising program instructions for:monitoring and incrementally persistently storing selective multicast state information from the control plane during proper operation of the router for subsequent retrieval and use when rebuilding contents of a topology table of the control plane during NSF recovery;and restarting of a failed multicast control plane component in accordance with a NSF recovery technique that replays the incrementally persistently stored selective multicast state information back to the control plane to efficiently recover the control plane from a failure without loss of data connectivity by the router in the network. CA 02572940 2010-02-04
  23. 23
    A method for preventing multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network during non-stop forwarding (NSF) recovery of a failure in a control plane of a multicast router, the method comprising the steps of:populating entries of a multicast forwarding table of the router with routes, each route entry specifying an ingress interface for accepting an incoming multicast packet at the router and a list of egress interfaces for forwarding the incoming packet from the router;receiving the incoming multicast packet on an interface of the router;matching a route entry of the multicast forwarding table with the incoming multicast packet;discovering that the interface is an egress interface of the list of egress interfaces for the matching route entry;and halting forwarding of the incoming multicast packet over the egress interface to thereby prevent multiple multicast forwarders from forwarding multicast packets for the route over the link during NSF recovery.
  24. 24
    The method of Claim 23 wherein the step of matching comprises the step of performing a lookup operation by a multicast forwarding information base (MFIB) into the multicast forwarding table to find a route entry that matches a multicast destination address of the incoming packet.
  25. 25
    The method of Claim 24 frirther comprising the step of configuring MFIB to function as if the router would lose an assert protocol negotiation procedure with a neighbor of the router if the procedure were to take place.
  26. 26
    The method of Claim 23 wherein the step of halting further comprises the step of removing the egress interface from the list of egress interfaces for the matching route entry of the multicast forwarding table. CA 02572940 2010-02-04
  27. 27
    The method of Claim 26 further comprising the steps of:updating the multicast forwarding table with complete forwarding (route) information after NSF recovery;resuming forwarding of a subsequent incoming multicast packet over the egress interface;and initiating an assert protocol negotiation procedure for the route to resolve a forwarding conflict between a neighbor router and the multicast router.
  28. 28
    A system configured to prevent multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network during non-stop forwarding (NSF) recovery of a failure in a control plane of a multicast router, the system comprising:a multicast forwarding table of the router having a plurality of entries, each entry specifying an ingress interface for accepting an incoming multicast packet at the router and a list of egress interfaces for forwarding the incoming packet from the router;and a multicast forwarding information base (MFIB) of the router, the MFIB configured to compare the incoming multicast packet received on an interface of the router with the entries of the multicast forwarding table to find a matching entry and, upon discovering that the interface is an egress interface of the list of egress interfaces for the matching entry, halting forwarding of the incoming multicast packet over the egress interface to thereby prevent multiple multicast forwarders from forwarding multicast packets for the route over the link during NSF recovery.
  29. 29
    The system of Claim 28 further comprising a data plane of the router, the data plane configured to allow data traffic forwarding operations to continue through the router in the presence of one of a failure and software restart to a multicast component executing in the control plane.
  30. 30
    The system of Claim 29 wherein the multicast component is a protocol independent multicast (PIM) routing protocol module. CA 02572940 2010-02-04
  31. 31
    The system of Claim 29 wherein the MFIB executes in the data plane to avoid possible generation of duplicate packets and formation of a multicast data loop due to routing changes in the network that arise during NSF recovery.
  32. 32
    The system of Claim 29 wherein the reception of the incoming multicast packet on the egress interface is a data-driven event that indicates a forwarding conflict between the matching entry and a neighbor of the router that forwarded the packet to the egress interface.
  33. 33
    A system configured to prevent multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network, the system comprising:a multicast router having a functional infrastructure that allows data traffic forwarding operations to continue throughout a data plane of the router in the presence of a failure to a first multicast component executing in a control plane of the router;and a second multicast component executing in the data plane, the second multicast component configured to prevent multiple multicast forwarders due to routing changes in the network that arise during non-stop forwarding (NSF) recovery of the failure in the control plane.
  34. 34
    The system of Claim 33 wherein the first multicast component is a protocol independent multicast (PIM) routing protocol module and the second multicast component is a multicast forwarding information base (MFIB).
  35. 35
    The system of Claim 34 further comprising a multicast forwarding table of the router having a plurality of entries, each entry specifying an ingress interface for accepting an incoming multicast packet at the router and a list of egress interfaces for forwarding the incoming packet from the router.
  36. 36
    The system of Claim 35 wherein the MFIB is configured to compare the incoming multicast packet received on an interface of the router with the entries of the multicast CA 02572940 2010-02-04 -42forwarding table to find a matching entry and, upon discovering that the interface is an egress interface of the list of egress interfaces for the matching entry, removing the egress interface from the list of egress interfaces for the matching entry of the multicast forwarding table to thereby prevent multiple multicast forwarders for the route over the link during NSF recovery.
  37. 37
    The system of Claim 33 wherein a condition that triggers multiple multicast forwarder prevention is a multicast packet arriving at the router on an egress interface of a route that matches the packet.
  38. 38
    The system of Claim 37 wherein the arrival of the multicast packet on the egress interface is a data-driven event that indicates a forwarding conflict between the matching route and a neighbor of the router that forwarded the packet to the egress interface.
  39. 39
    Apparatus adapted to prevent multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network during non-stop forwarding (NSF) recovery of a failure in a control plane of a multicast router, the apparatus comprising:means for populating entries of a multicast forwarding table of the router with routes, each route entry specifying an ingress interface for accepting an incoming multicast packet at the router and a list of egress interfaces for forwarding the incoming packet from the router;means for receiving the incoming multicast packet on an interface of the router;means for matching a route entry of the multicast forwarding table with the incoming multicast packet;means for discovering that the interface is an egress interface of the list of egress interfaces for the matching route entry;and means for halting forwarding of the incoming multicast packet over the egress interface to thereby prevent multiple multicast forwarders from forwarding multicast packets for the route over the link during NSF recovery. CA 02572940 2010-02-04
  40. 40
    The apparatus of Claim 39 wherein the means for halting further comprises means for removing the egress interface from the list of egress interfaces for the matching route entry of the multicast forwarding table.
  41. 41
    A computer readable medium containing executable program instructions for preventing multiple multicast forwarders from forwarding multicast packets for a route over a link in a computer network during non-stop forwarding (NSF) recovery of a failure in a control plane of a multicast router, the executable program instructions comprising program instructions for:receiving the incoming multicast packet on an interface of the router;matching a route entry of the multicast forwarding table with the incoming multicast packet;discovering that the interface is an egress interface of the list of egress interfaces for the matching route entry;and halting forwarding of the incoming multicast packet over the egress interface to thereby prevent multiple multicast forwarders from forwarding multicast packets for the route over the link during NSF recovery.
  42. 42
    The computer readable medium of Claim 41 wherein the program instructions for halting further comprises one or more program instructions for removing the egress interface from the list of egress interfaces for the matching route entry of the multicast forwarding table. TORLAWV 7299111\1
Independent claims42