Internet-Draft | Multicast Redundant Ingress Router Failo | July 2024 |
Shepherd, et al. | Expires 31 January 2025 | [Page] |
This document discusses multicast redundant ingress router failover issues, include global multicast and Service Provider Network MVPN use case. This document analyzes specification of global multicast and Multicast VPN Fast Upstream Failover and the Ingress PE Standby Modes and the benefits of each mode.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 31 January 2025.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The multicast redundant ingress router failover is an important issue in multicast deployment. This document tries to do a research on it in the multicast domain. The Multicast Domain is a domain which is used to forward multicast flow according to specific multicast technologies, such as PIM ([RFC7761]), BIER ([RFC8279]), P2MP TE tunnel ([RFC4875]), MLDP ([RFC6388]), etc. The domain may or may not connect the multicast source and receiver directly.¶
The ingress router is close to the multicast source. The ingress router may connect the multicast source directly, or there may be multiple hops between the ingress router and the multicast source. In the multicast domain, the ingress router is the most adjacent router to the multicast source. It's also called the first-hop router in PIM, or BFIR in BIER, or Ingress LSR in P2MP TE tunnel or MLDP.¶
The failover function between the multicast source and the ingress router can be achieved by many ways, and it is not included in this document.¶
The egress router is close to the multicast receiver. The egress router may connect the multicast receiver directly, or there may be multiple hops between the egress router and the multicast receiver. In the multicast domain, the egress router is the most adjacent router to the multicast receiver. It's also called the last-hop router in PIM, or BFER in BIER, or Egress LSR in P2MP TE tunnel or MLDP.¶
There may be some other function deployed in the multicast domain, such as static configuration, or AMT ([RFC7450]), or SR P2MP Policy ([I-D.ietf-pim-sr-p2mp-policy]).¶
This document doesn't discuss the details of these technologies. This document discusses the general redundant ingress router failover ways in the multicast domain.¶
This document discusses global multicast and Service Provider Network MVPN use case with redundant ingress PE nodes Upstream Mulitcast Hop (UMH) and failover from primary UMH to Standby UMH in a multicast domain. This document analyzes specification Multicast VPN Fast Upstream Failover ([RFC9026]) and the Ingress PE Standby Modes and the benefits of each mode.¶
The following abbreviations are used in this document:¶
IR: the ingress router which is the most close to the multicast source in the multicast domain.¶
ER: the egress router which is the most close to the multicast receiver in the multicast domain.¶
SIR: The IR that is in charge of sending the multicast flow, or the flow from the IR is accepted by the ERs, the IR is called as the Selected-IR, that is SIR in abbreviation.¶
BIR: The IR that is not in charge of sending the multicast flow, or the flow from the IR is not accepted by the ERs, but the IR replaces the role of SIR once SIR fails. The IR is called as the Backup-IR, that is BIR in abbreviation.¶
source ... +-----+ +-----+ +----------+ IR1 +------+ IR2 +---------+ |multicast +-----+ +-----+ | |domain ... | | | | +-----+ +-----+ | | | Rm | | Rn | | | ++---++ +--+--+ | | | | | | | +-----+ +---+ +-----+ | | | | | | | +-v---+ +--v--+ +--v--+ | +---+ ER1 +------+ ER2 +------+ ER3 +---+ +-----+ +-----+ +-----+ ... ... ... receiver receiver receiver Figure 1¶
Usually, a multicast source connects directly, or across multiple hops to two IRs to avoid single node failure. As shown in figure 1, there are two IRs close to a multicast source. The two IRs are UMH (Upstream Multicast Hop) candidates for the ERs.¶
The two IRs gets multicast flow from the mutlcast source, how to forward the multicast flow to ERs is different according to the technologies deployed in the multicast domain. For example, for PIM which is used in this domain, two PIM Trees that rooted on the two IRs may be built separately.¶
The IRs works with the other router, such as the ER, in the multicast domain to minimize the multicast flow packet loss during the IR swichover.¶
There may be some failures occurs in the domain, such as link failure, node failure, if the failed link or node is on the multicast flow forwarding path, there may be multicast flow packet loss.¶
If there are multiple paths from the IR to the ERs, there is no need to switch IR when some nodes or links fail.¶
When PIM is used in the domain as multicast forwarding protocol, the forwarding tree for (S, G) or (*, G) is built in advance. When a node or link in the forwarding tree fails, the tree is rebuilt partially.¶
When BIER is used in the domain as multicast forwarding protocol, there is no need to rebuilt forwarding tree in case of node or link failure, the BIER forwarding recovers along with the IGP routing convergence.¶
When P2MP TE tunnel or MLDP is used in the domain as multicast forwarding protocol, the forwarding LSP is built in advance. When a node or link in the LSP fails, the LSP may be rebuilt partially.¶
When static multicast tree or SR P2MP policy is used in the domain, the controller needs to re-compute a new forwarding path to bypass the failed node or link.¶
In some situations, there are some key nodes or links in the network. The multicast path can not be recovered due to the key node or link failure. The IR needs swichover.¶
source ... +-----+ +-----+ +----------+ IR1 +------+ IR2 +---------+ | +--+--+ +--+--+ | | | | | | +--+--+ +--+--+ | | | Rx | | Ry | | | +-+-+-+ ++---++ | | | | | | | | | +-----------+ | | | | | | | | | | +---------+ | | | | | | | | | | +-v-v-+ +--v-v+ | | | Rm | | Rn | | | ++---++ +--+--+ | | | | | | | +-----+ +---+ +-----+ | | | | | | | +-v---+ +--v--+ +--v--+ | +---+ ER1 +------+ ER2 +------+ ER3 +---+ +-----+ +-----+ +-----+ ... ... ... receiver receiver receiver Figure 2¶
For example in figure 2, there is only one path in the network partially. The IR1, Rx are key nodes in the domain, when IR1 or Rx fails, there is no any other path between the IR1 and the ERs.¶
When PIM is used in the domain, Rm and Rn may choose Ry as the upstream node to send Join message to build a new tree which rooted with IR2.¶
When BIER is used in the domain, IR2 should in charge of the forwarding role to forward the flow to the ERs.¶
When P2MP TE tunnel or MLDP is used in the domain, the LSP started from IR2 can be built and replace the used LSP started from IR1 when the used LSP does not work.¶
When static multicast tree or SR P2MP policy is used in the domain, the controller should let the IR2 to forward multicast flow to the ERs.¶
In order to achieve the successful IR switchover, some methods should be used for monitoring the IR node failure or the path failure between IR and ERs, and the IR can do the switching once the failure occurs. BFD or PING methods can be used for it.¶
BFD [RFC5880] can be used in all the deployments. Multipoint BFD [RFC8562] can also be used for the failure detection between IR and ERs. BFD for MPLS LSPs [RFC5884] can be used in P2MP TE tunnel or MLDP deployments. BIER BFD [I-D.ietf-bier-bfd] can be used in BIER deployment.¶
IPv4 PING [RFC0792] and IPv6 PING [RFC4443] can also be used in all the deployments. LSP-Ping [RFC8029] can be used for P2MP TE tunnel or MLDP deployments. BIER PING [I-D.ietf-bier-ping] can be used in BIER deployment.¶
BIR and ER can detect the SIR node and path failure easily by the BFD and PING methods. If the monitoring is between SIR and ER, how to trigger the switchover quickly is challenging when BIR needs to start forwarding the multicast flow. If the monitoring is between BIR and SIR, the path between BIR and SIR may fail, but the path is not the way from SIR to ERs, BIR may trigger the switchover by mistake, in this case unnecessary duplicate flow occurs. In this case, the ER must support the selective receiving and can be compatible with the IR switchover mistake. In order to minimize the mistaken switchover, the reliability of SIR/BIR detection needs to be enhanced, such as using redundant reliable paths for detection, etc.¶
Multicast VPN Fast Upstream Failover [RFC9026] defines a mechanism to detect the P-Tunnel X-PMSI A-D route status using P2MP BFD [RFC5880] with a new advertised BGP attribute called a BFP Discriminator optional transitive attribute¶
Multicast VPN Fast Upstream Failover [RFC9026] defines a new "Standby PE" BGP Community that the downstream PE originates and sends a "Standby BGP C-multicast route" with Standby Upstream PE UMH route RT import EC that identifies the Standby Upstream PE with NLRI constructed using RD of Standby Upstream PE UMH route.¶
In case there are more than one IRs can be the UMH, and there is no other path from an IR to ERs in case of the IR fails, the IR needs to be switched.¶
Usually there are three types of stand-by modes in multicast IR protection. [RFC9026] has some description on it. This document discusses the detail of the three modes here.¶
The ER may send request to upstream router or IR when it finds the node or path failure. The request from the ER may be the PIM tree building, or BIER overlay protocol signaling, or LSP building, or some other ways to let IR knows whether forwards the multicast flow.¶
In Cold Root Standby mode, the ER selects an SIR, for example IR1 in figure 1, as the SIR and signals to it to get the multicast flow.¶
When the ER finds that the SIR is down, or the ER finds that it cannot receive flow from IR1, the ER signals to IR2 to get the multicast flow.¶
For IR, the IRs, include SIR and BIR, just do the regular operation of forwarding flow according to the request from the ER.¶
For ER, the ER must select an IR as the SIR and signal to it. When the SIR fails or the path between the SIR and ER fails, the ER must signal to the BIR to get the flow.¶
For the intermediate routers, they know nothing about the role of IR, they just do the packet forwarding. There is no duplicate packets in the domain.¶
In case of the IR switchover, the ER detects the failure of SIR, and signals to the BIR. There is packet loss during the signaling until the ER receives the flow from the BIR.¶
In Warm Root Standby Mode, the ER signals to both IR1 and IR2.¶
In case IR1 is the SIR, IR1 forwards the flow to the ER. The BIR, for example the IR2, must not forward the flow to the ER until the SIR is down.¶
For IR, the IR should take the role of SIR or BIR. The BIR must not forward flow to the ER. When the SIR fails or the path between SIR and ER fails, the BIR must start forwarding the flow to ER. But it's hard to know the failure for BIR itself, some methods should be taken to let the BIR to get the failure notification.¶
For ER, the ER does not select the SIR or BIR. The ER just signal to both of them.¶
For the intermediate routers, they know nothing about the role of IR, they just do the packet forwarding. There is no duplicate packets in the domain.¶
In case of the IR switchover, the BIR detects the failure of the SIR and switch to SIR. There is packet loss during the IR switchover.¶
In some deployments, the SIR and BIR may in charge of different multicast flow. For a specific multicast flow, the SIR may be IR1, for another multicast flow, the SIR may be IR2. So the two IRs can share the multicast forwarding load. And another possible deployment is, the two IRs can in charge of different ERs for one multicast flow. For example, IR1 sends the multicast flow to some of the ERs, and IR2 send the multicast flow to the other ERs. In case IR1 detects there is something wrong between IR1 and the ERs, IR1 may notify IR2 to take over the responsibility of forwarding the multicast flow to these ERs that receive flow from IR1 before.¶
In Hot Root Standby Mode, the ER signals to both IRs.¶
Both IRs are sending the flow to the ER. The ER must discard the duplicate flow from one of the IRs.¶
In this situation, there are no SIR or BIR. Only ER knows which IR is the SIR.¶
For IR, the IR need not to know the roles of SIR or BIR, IR just forwarding the flow according to the request received from ER.¶
For ER, the ER signal to both of the IRs to get the flow. And the ER must discard the duplicated flow from the backup BIR. When the SIR fails or the path between SIR and ER fails, the ER must switch the forwarding plane to forward the flow packet comes from the BIR. To be noted, the ERs may choose different SIR or BIR.¶
For the intermediate routers, they know nothing about the role of IR, they just do the packet forwarding. There are duplicate packets forwarded in the domain.¶
In case of the IR switchover, the ER detects the failure of the SIR. Because there are duplicate flow packets arrive on the ER, the ER just switch to forward the flow comes from the BIR. There may be packet loss during the switching.¶
The table is a brief comparison among the three modes. The 'SIR failover' means the SIR fails or the path between SIR and ER fails.¶
role | Cold Mode | Warm Mode | Hot Mode |
---|---|---|---|
IR | Forwarding flow according to the request from ER. | Takes the role of SIR or BIR, BIR must not forward flow to ER until SIR failovers. | Need not to know the roles of SIR or BIR, just forwarding flow according to the request from ER. |
ER | Must select an IR as SIR to signal the request, signal to the BIR to request the flow when SIR failovers. | Does not select the SIR or BIR, just signal to both of them. | Signal to both of SIR and BIR. Discards the duplicate flow from BIR until SIR failover. |
Intermediate Router | Knows nothing about SIR or BIR. No duplicated flow is forwarded. | Knows nothing about SIR or BIR. No duplicated flow is forwarded. | Knows nothing about SIR or BIR. Duplicated flow is forwarded. |
The Cold root stand-by mode is the easiest way to implementated, but it takes the longest converge time.¶
The Hot root stand-by mode takes the most less packet loss, but there is duplicated packet forwarding in the domain, more bandwidth is occupied.¶
The Warm root stand-by mode takes the middle packet loss and converge time, but it's hard for BIR to know the failure between SIR and ERs.¶
The Hot root stand-by mode described in [RFC9026] Section 5 is the best UMH protection mechanism. There can be duplicated packets forwarded in the domain which are dropped per [RFC9026] Section 6 and [RFC6513] Section 9.1. Hot root stand-by mode is the best recommended method for MVPN Fast Failover optimization.¶
For the network administrator, the most suitable stand-by mode should be selected according to the network deployment.¶
This document does not have any requests for IANA allocation.¶
This document adds no new security considerations.¶