Internet-Draft Applicability of BFD P2MP in VRRP November 2024
Mirsky, et al. Expires 29 May 2025 [Page]
Workgroup:
RTGWG
Internet-Draft:
draft-ietf-rtgwg-vrrp-p2mp-bfd-10
Updates:
9568 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
G. Mirsky
Ericsson
J. Tantsura
NVIDIA
G. Mishra
Verizon Inc.

Applicability of Bidirectional Forwarding Detection (BFD) for Multi-point Networks in Virtual Router Redundancy Protocol (VRRP)

Abstract

This document explores the applicability of Bidirectional Forwarding Detection (BFD) in multipoint networks to enable sub-second convergence in the Virtual Router Redundancy Protocol (VRRP) for determining the Active Router. Additionally, it defines extensions to bootstrap point-to-multipoint BFD sessions using an IPv4/IPv6 VRRP Advertisement message, and, thus, updates RFC 9568.

Status of This Memo

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 29 May 2025.

Table of Contents

1. Introduction

The [RFC9568] is the current specification of the Virtual Router Redundancy Protocol (VRRP) for IPv4 and IPv6 networks. VRRPv3 allows for a faster switchover to a Backup Router. Using such capability with the software-based implementation of VRRP may prove challenging. But it still may be possible to deploy VRRP and provide sub-second detection of Active router failure by Backup Routers.

Bidirectional Forwarding Detection (BFD) [RFC5880] had been originally defined to detect failure of point-to-point (p2p) paths: single-hop [RFC5881], multihop [RFC5883]. Single-hop BFD may be used to enable Backup Routers to detect a failure of the Active router within 100 msec or faster.

[RFC8562] extends [RFC5880] for multipoint and multicast networks, which matches the deployment scenarios for VRRP over the LAN segment. This document demonstrates how point-to-multipoint (p2mp) BFD can enable faster detection of the Active router failure and thus minimize service disruption in a VRRP domain. The document also defines the extension to VRRP [RFC9568] to bootstrap a VRRP Backup Router to join in a p2mp BFD session.

1.1. Conventions used in this document

1.1.1. Terminology

BFD: Bidirectional Forwarding Detection

p2mp: Pont-to-Multipoint

VRRP: Virtual Router Redundancy Protocol

1.1.2. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Problem Statement

A router may be part of several Virtual Router Redundancy groups, as Active in some and as Backup in others. Supporting sub-second mode for VRRPv3 [RFC9568] for all these roles without specialized support in the data plane may prove challenging because of the increased load on the control plane. BFD already has many implementations based on HW that are capable of supporting multiple sub-second sessions concurrently.

3. Applicability of p2mp BFD

[RFC8562] may provide an efficient and scalable solution for fast-converging environment that uses the default route rather than dynamic routing. Each redundancy group presents itself as a p2mp BFD session, with its Active router being the root and Backup Routers being the tails of the p2mp BFD session. Figure 1 displays the extension of VRRP [RFC9568] to bootstrap a tail of the p2mp BFD session.

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Version| Type  | Virtual Rtr ID|   Priority    |Count IPvX Addr|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Rsvd |B|     Max Adver Int     |          Checksum             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                                                               +
    |                       IPvX Address(es)                        |
    +                                                               +
    +                                                               +
    +                                                               +
    +                                                               +
    |                                                               |
    +                                                               +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                   Active Router Discriminator                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: VRRP Extension to Bootstrap P2MP BFD session

The new fields are interpreted as follows:

The Active router, configured to use p2mp BFD to support faster convergence of VRRP, starts transmitting BFD control packets with IPvX address associated with the Virtual Router [RFC9568] as a source IP address and the locally allocated value as the value of the My Discriminator field ([RFC5880]). The same non-zero value of My Discriminator MUST be set as the value of the Active Router Discriminator field. The BFD flag MUST be set in the VRRP packet. A Backup Router demultiplexes p2mp BFD test sessions based on IPvX address associated with the Virtual Router that it has been configured with and the non-zero My Discriminator value it learns from the received VRRP packet. When a Backup router detects the failure of the Active router, according to the Section 5.11 [RFC8562], it re-evaluates its role in the Virtual Router. As a result, the Backup Router may become the Active router of the given Virtual Router or continue as a Backup Router. If the former is the case, then the new Active router MUST select its new My Discriminator value, include that value in the VRRP packet to bootstrap a new p2mp BFD session, and start transmitting p2mp BFD control packets using the Active router IP address as the source IP address for p2mp BFD control packets and its new My Discriminator value. If the latter is the case, the Backup Router MUST wait for the VRRP packet from the new VRRP Active router that will bootstrap the new p2mp BFD session.

3.1. Multipoint BFD Encapsulation

The MultipointHead of p2mp BFD session when transmitting BFD control packet:

  • MUST set TTL or Hop Limit value to 255 (Section 5 [RFC5881]). Similarly, all received BFD Control packets that are demultiplexed to the session MUST be discarded if the received TTL or Hop Limit is not equal to 255;
  • SHOULD use group address VRRP ('224.0.0.18' for IPv4 and 'FF02:0:0:0:0:0:0:12' for IPv6) as destination IP address
  • MAY use network broadcast address for IPv4 or link-local all nodes multicast group for IPv6 as destination IP address;
  • MUST set destination UDP port value to 3784 when transmitting BFD control packets, as defined in [RFC8562];
  • MUST use the Active router IP address as the source IP address.

4. IANA Considerations

This document makes no requests for IANA allocations. This section may be deleted by RFC Editor.

5. Security Considerations

This document defines an alternative way, to the one defined in [RFC9568], to accelerate detecting a failure that affects VRRP functionality using p2mp BFD. The operation of either protocol is not changed.

Security considerations discussed in [RFC9568], [RFC5880], [RFC5881], and [RFC8562], apply to this document.

6. Acknowledgements

7. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC5880]
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, , <https://www.rfc-editor.org/info/rfc5880>.
[RFC5881]
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, DOI 10.17487/RFC5881, , <https://www.rfc-editor.org/info/rfc5881>.
[RFC5883]
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, , <https://www.rfc-editor.org/info/rfc5883>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8562]
Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky, Ed., "Bidirectional Forwarding Detection (BFD) for Multipoint Networks", RFC 8562, DOI 10.17487/RFC8562, , <https://www.rfc-editor.org/info/rfc8562>.
[RFC9568]
Lindem, A. and A. Dogra, "Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6", RFC 9568, DOI 10.17487/RFC9568, , <https://www.rfc-editor.org/info/rfc9568>.

Authors' Addresses

Greg Mirsky
Ericsson
Jeff Tantsura
NVIDIA
Gyan Mishra
Verizon Inc.