Internet-Draft Applicability of BFD P2MP in VRRP September 2022
Mirsky, et al. Expires 29 March 2023 [Page]
Workgroup:
BFD Working Group
Internet-Draft:
draft-ietf-rtgwg-vrrp-p2mp-bfd-03
Updates:
5798 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
G. Mirsky
Ericsson
J. Tantsura
Microsoft
G. Mishra
Verizon Inc.

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

Abstract

This document discusses the applicability of Bidirectional Forwarding Detection (BFD) for multipoint networks to provide Virtual Router Redundancy Protocol (VRRP) with sub-second convergence of the Active router and defines the extension to bootstrap point-to-multipoint BFD session.

This draft updates RFC 5798.

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 March 2023.

1. Introduction

The [RFC5798] 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 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 [RFC5798] 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 [RFC5798] for all these roles without specialized support in the data plane may prove challenging. 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 [RFC5798] 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:

  • B(FD) - a one-bit flag that indicates that the Active Router Discriminator field is appended to VRRP packet defined in [RFC5798];
  • Active Router Discriminator - the four-octet field. The value MUST NOT be zero, and it equals the My Discriminator value allocated by the root of the p2mp BFD session.

The Active router, configured to use p2mp BFD to support faster convergence of VRRP, starts transmitting BFD control packets with VRID 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 VRID 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, it re-evaluates its role in the VRID. As a result, the Backup router may become the Active router of the given VRID or continue as a Backup router. If the former is the case, then the new Active router MUST select My Discriminator and start transmitting p2mp BFD control packets using Active router IP address as the source IP address for p2mp BFD control packets. If the latter is the case, then 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 [RFC5798], to accelerate detecting a failure that affects VRRP functionality using p2mp BFD. The operation of either protocol is not changed.

Security considerations discussed in [RFC5798], [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>.
[RFC5798]
Nadas, S., Ed., "Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6", RFC 5798, DOI 10.17487/RFC5798, , <https://www.rfc-editor.org/info/rfc5798>.
[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>.

Authors' Addresses

Greg Mirsky
Ericsson
Jeff Tantsura
Microsoft
Gyan Mishra
Verizon Inc.