RFC 8564 PROPOSED STANDARD TRILL · BFD · MULTICAST

P2MP BFD for TRILL: Support of Point-to-Multipoint Bidirectional Forwarding Detection (BFD) in Transparent Interconnection of Lots of Links (TRILL)

How a TRILL bridge can check, with one multicast probe stream, that its multicast paths to many other bridges still work.

On rfc-editor.org ↗
PUBLISHED
April 2019
AUTHORS
M. Zhang, S. Pallagatti, V. Govindan
STREAM
IETF
BUILDS ON
RFC 7175 — TRILL BFD, RFC 7177 — TRILL Adjacency
P2MP BFD CONTROL CODE POINT
0x007
POINT-TO-POINT BFD CONTROL CODE POINT
0x002
M BIT FOR P2MP BFD
Must be 1; zero is discarded
REGISTRY
RBridge Channel Protocols
DOI
10.17487/RFC8564

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          M. Zhang
Request for Comments: 8564                           Huawei Technologies
Updates: 7175, 7177                                        S. Pallagatti
Category: Standards Track                                         Vmware
ISSN: 2070-1721                                              V. Govindan
                                                           Cisco Systems
                                                              April 2019


Support of Point-to-Multipoint Bidirectional Forwarding Detection (BFD)
        in Transparent Interconnection of Lots of Links (TRILL)

Abstract

   Point-to-multipoint (P2MP) Bidirectional Forwarding Detection (BFD)
   is designed to verify multipoint connectivity.  This document
   specifies the support of P2MP BFD in Transparent Interconnection of
   Lots of Links (TRILL).  Similar to TRILL point-to-point BFD, BFD
   Control packets in TRILL P2MP BFD are transmitted using RBridge
   Channel messages.  This document updates RFCs 7175 and 7177.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8564.

Copyright Notice

   Copyright (c) 2019 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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Acronyms and Terminology  . . . . . . . . . . . . . . . . . .   3
     2.1.  Acronyms  . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  A New RBridge Channel Message for P2MP BFD  . . . . . . . . .   4
   5.  Discriminators and Packet Demultiplexing  . . . . . . . . . .   4
   6.  Tracking Active Tails . . . . . . . . . . . . . . . . . . . .   5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   TRILL supports multicast forwarding.  Applications based on TRILL
   multicast may need quick detection of multicast failures using P2MP
   BFD [RFC8562].  This document specifies TRILL support of P2MP BFD.

   To use P2MP BFD, the head end needs to periodically transmit BFD
   Control packets to all tails using TRILL multicast.  A new RBridge
   Channel message is allocated for this purpose.

   In order to execute the global protection of distribution used for
   multicast forwarding [TRILL-TREES], the head needs to track the
   active status of tails [RFC8563].  If the tail loses connectivity as
   detected by not receiving the new RBridge Channel message from the
   head, the tail should notify the head of the lack of multipoint
   connectivity with unicast BFD Control packets.  These unicast BFD
   Control packets are transmitted using the existing RBridge Channel
   message assigned to BFD Control [RFC7175].

   This document updates [RFC7177] as specified in Section 3 and updates
   [RFC7175] as specified in Sections 4 and 5.

2.  Acronyms and Terminology

2.1.  Acronyms

   Data Label:  VLAN or Fine-Grained Label [RFC7172].

   BFD:   Bidirectional Forwarding Detection

   P2MP:  Point to Multipoint

   TRILL: Transparent Interconnection of Lots of Links or Tunneled
          Routing in the Link Layer

2.2.  Terminology

   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.

   Familiarity with [RFC6325], [RFC7175], and [RFC7178] is assumed in
   this document.

3.  Bootstrapping

   The TRILL adjacency mechanism bootstraps the establishment of one-
   hop TRILL BFD sessions [RFC7177].  Multi-hop sessions are expected to
   be configured by the network manager.  A slight wording update to the
   second sentence in Section 6 of [RFC7177] is required.

   It currently reads:

      If an RBridge supports BFD [RFC7175], it will have learned whether
      the other RBridge has BFD enabled by whether or not a BFD-Enabled
      TLV [RFC6213] was included in its Hellos.

   Now it should read:

      If an RBridge supports BFD (see [RFC7175] and [RFC8564]), it will
      have learned whether the other RBridge has BFD enabled by whether
      or not a BFD-Enabled TLV [RFC6213] was included in its Hellos.

   In addition, a normative reference to this document is added to RFC
   7177 as a result of this update.

4.  A New RBridge Channel Message for P2MP BFD

   RBridge Channel protocol number 0x002 is defined for TRILL point-to-
   point BFD Control packets in [RFC7175].  That RFC states that if the
   M bit of the TRILL Header of the RBridge Channel packet containing a
   BFD Control packet is nonzero, the packet is generally dropped.  In
   P2MP BFD, the head is required to probe tails using multicast.  This
   means the M bit will be set to 1.  For this reason, a new RBridge
   Channel message (P2MP BFD Control), whose protocol code point is
   0x007, is specified in this document.  An RBridge that supports P2MP
   BFD MUST support the new RBridge Channel message for P2MP BFD.  The
   capability to support the RBridge Channel message for P2MP BFD, and
   therefore support performing P2MP BFD, is announced within the
   RBridge Channel Protocols sub-TLV in Link State PDUs (LSPs)
   [RFC7176].

   As specified in [RFC7178], when the tail receives TRILL Data packets
   sent as BFD RBridge Channel messages, it will absorb the packets
   itself rather than deliver these packets to its attached end
   stations.

5.  Discriminators and Packet Demultiplexing

   The processing in Section 3.2 of [RFC7175] generally applies except
   that the test on the M bit in the TRILL Header is reversed.  If the M
   bit is zero, the packet MUST be discarded.  If the M bit is one, it
   is processed.

   After the processing per Section 3.2 of [RFC7175], the tail
   demultiplexes incoming BFD packets based on a combination of the
   source address and My Discriminator as specified in [RFC8562].  In
   addition to this combination, TRILL P2MP BFD requires that the tail
   use the Data Label, which is either the inner VLAN or the Fine-
   Grained Label [RFC7172], for demultiplexing.  If the tail needs to
   notify the head about the failure of a multipath, the tail is
   required to send unicast BFD Control packets using the same Data
   Label as used by the head.

6.  Tracking Active Tails

   According to [RFC8562], the head has a session of type MultipointHead
   that is bound to a multipoint path.  Multipoint BFD Control packets
   are sent by this session over the multipoint path, and no BFD Control
   packets are received by it.  Each tail dynamically creates a
   MultipointTail per a multipoint path.  MultipointTail sessions
   receive BFD Control packets from the head over multipoint paths.

   An example use is when a multicast tree root needs to keep track of
   all the receivers as in [TRILL-TREES]; this can be done by
   maintaining a session of type MultipointClient per receiver that is
   of interest, as described in [RFC8563].  See [RFC8563] for detailed
   operations of tracking active tails.

7.  Security Considerations

   Multipoint BFD provides its own authentication but does not provide
   encryption (see the Security Considerations in [RFC8562]).  As
   specified in this document, the point-to-multipoint BFD payloads are
   encapsulated in RBridge Channel messages that have been extended by
   [RFC7978] to provide security.  [RFC7978] provides encryption only
   for point-to-point extended RBridge Channel messages, so its
   encryption facilities are not applicable to this document.  However,
   [RFC7978] provides stronger authentication than that currently
   provided in BFD.  Thus, there is little reason to use the BFD
   security mechanisms if authentication per [RFC7978] is in use.  It is
   expected that a future TRILL document will provide for group keying;
   when that occurs, the use of RBridge Channel security [RFC7978] will
   be able to provide both encryption and authentication.

   For general multipoint BFD security considerations, see [RFC8562].

   For general RBridge Channel security considerations, see [RFC7178].

8.  IANA Considerations

   IANA has allocated the following from the Standards Action [RFC8126]
   range of the "RBridge Channel Protocols" registry, which is part of
   the "Transparent Interconnection of Lots of Links (TRILL) Parameters"
   registry.

          Protocol          Number
          ----------------  ------
          P2MP BFD Control  0x007

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC6325]  Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
              Ghanwani, "Routing Bridges (RBridges): Base Protocol
              Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,
              <https://www.rfc-editor.org/info/rfc6325>.

   [RFC7172]  Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., and
              D. Dutt, "Transparent Interconnection of Lots of Links
              (TRILL): Fine-Grained Labeling", RFC 7172,
              DOI 10.17487/RFC7172, May 2014,
              <https://www.rfc-editor.org/info/rfc7172>.

   [RFC7175]  Manral, V., Eastlake 3rd, D., Ward, D., and A. Banerjee,
              "Transparent Interconnection of Lots of Links (TRILL):
              Bidirectional Forwarding Detection (BFD) Support",
              RFC 7175, DOI 10.17487/RFC7175, May 2014,
              <https://www.rfc-editor.org/info/rfc7175>.

   [RFC7176]  Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt,
              D., and A. Banerjee, "Transparent Interconnection of Lots
              of Links (TRILL) Use of IS-IS", RFC 7176,
              DOI 10.17487/RFC7176, May 2014,
              <https://www.rfc-editor.org/info/rfc7176>.

   [RFC7177]  Eastlake 3rd, D., Perlman, R., Ghanwani, A., Yang, H., and
              V. Manral, "Transparent Interconnection of Lots of Links
              (TRILL): Adjacency", RFC 7177, DOI 10.17487/RFC7177, May
              2014, <https://www.rfc-editor.org/info/rfc7177>.

   [RFC7178]  Eastlake 3rd, D., Manral, V., Li, Y., Aldrin, S., and D.
              Ward, "Transparent Interconnection of Lots of Links
              (TRILL): RBridge Channel Support", RFC 7178,
              DOI 10.17487/RFC7178, May 2014,
              <https://www.rfc-editor.org/info/rfc7178>.

   [RFC7978]  Eastlake 3rd, D., Umair, M., and Y. Li, "Transparent
              Interconnection of Lots of Links (TRILL): RBridge Channel
              Header Extension", RFC 7978, DOI 10.17487/RFC7978,
              September 2016, <https://www.rfc-editor.org/info/rfc7978>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <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,
              April 2019, <https://www.rfc-editor.org/info/rfc8562>.

   [RFC8563]  Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky,
              Ed., "Bidirectional Forwarding Detection (BFD) Multipoint
              Active Tails", RFC 8563, DOI 10.17487/RFC8563, April 2019,
              <https://www.rfc-editor.org/info/rfc8563>.

9.2.  Informative References

   [RFC6213]  Hopps, C. and L. Ginsberg, "IS-IS BFD-Enabled TLV",
              RFC 6213, DOI 10.17487/RFC6213, April 2011,
              <https://www.rfc-editor.org/info/rfc6213>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [TRILL-TREES]
              Zhang, M., Senevirathne, T., Pathangi, J., Banerjee, A.,
              and A. Ghanwani, "TRILL: Resilient Distribution Trees",
              Work in Progress, draft-ietf-trill-resilient-trees-09,
              January 2018.

Acknowledgements

   The authors would like to thank Gayle Noble and Donald Eastlake 3rd
   for their comments and suggestions.

Authors' Addresses

   Mingui Zhang
   Huawei Technologies
   No.156 Beiqing Rd. Haidian District
   Beijing  100095
   China

   Email: zhangmingui@huawei.com


   Santosh Pallagatti
   Vmware

   Email: santosh.pallagatti@gmail.com


   Vengada Prasad Govindan
   Cisco Systems

   Email: venggovi@cisco.com

AI ELI5

On this page
PROBLEMApplications that rely on TRILL multicast need to notice quickly when multicast delivery fails. Existing TRILL BFD only covered point-to-point sessions, and its packets are dropped if the multicast M bit is set.
MECHANISMA new RBridge Channel message, P2MP BFD Control (protocol code point 0x007), carries multipoint BFD Control packets over TRILL multicast. Tails demultiplex on source address, My Discriminator and Data Label, and report lost connectivity to the head with unicast BFD.
WHY IT MATTERSTRILL gains support for P2MP BFD as defined in RFC 8562. The document is on the standards track and updates RFC 7175 and RFC 7177.

§1Why TRILL Needs P2MP BFD

TRILL supports multicast forwarding. Applications built on TRILL multicast may need to detect multicast failures quickly, and the tool for that is point-to-multipoint (P2MP) BFD from RFC 8562. This RFC specifies how TRILL supports it.

The head end periodically sends BFD Control packets to all tails using TRILL multicast. A new RBridge Channel message is allocated for this purpose. To run the global protection of distribution used for multicast forwarding, the head also needs to track the active status of tails, as described in RFC 8563.

If a tail stops receiving the new message from the head, it should tell the head about the lack of multipoint connectivity. It does so with unicast BFD Control packets, sent using the existing RBridge Channel message for BFD Control from RFC 7175.

One bridge keeps shouting 'I am still here' to many others. Anyone who stops hearing it quietly tells the shouter.

§3Bootstrapping Sessions

The TRILL adjacency mechanism bootstraps one-hop TRILL BFD sessions, as described in RFC 7177. Multi-hop sessions are expected to be configured by the network manager.

One small wording change to RFC 7177 is needed. The second sentence of its Section 6 used to say that an RBridge supporting BFD learns whether a neighbor has BFD enabled from the BFD-Enabled TLV in its Hellos. It now says that an RBridge supporting BFD (see RFC 7175 and RFC 8564) learns this in the same way. A normative reference to this document is added to RFC 7177 as a result.

Neighbors who are next door find each other automatically. Farther-away partners have to be set up by hand by the person running the network.

§4The New RBridge Channel Message

RFC 7175 defines RBridge Channel protocol number 0x002 for point-to-point BFD Control packets. It says such a packet is generally dropped if the M bit in the TRILL Header is nonzero. A P2MP head probes tails by multicast, so the M bit will be 1.

For that reason this document defines a new RBridge Channel message, P2MP BFD Control, with protocol code point 0x007. An RBridge that supports P2MP BFD MUST support this message. The capability is announced in the RBridge Channel Protocols sub-TLV in Link State PDUs (LSPs), per RFC 7176.

As specified in RFC 7178, a tail that receives these TRILL Data packets absorbs them itself rather than delivering them to attached end stations.

The old message was for talking to one friend and was thrown away if sent to a crowd. So a new kind of message was made just for talking to a crowd.

POINT-TO-POINT BFD VERSUS P2MP BFD IN TRILL
AspectPoint-to-point BFD (RFC 7175)P2MP BFD (RFC 8564)
RBridge Channel protocol0x0020x007
M bit in TRILL Header THIS RFCNonzero: packet generally droppedZero: packet MUST be discarded; one: processed

§5Discriminators and Demultiplexing

Processing follows Section 3.2 of RFC 7175, except that the M bit test is reversed. If the M bit is zero, the packet MUST be discarded. If it is one, the packet is processed.

The tail then demultiplexes incoming BFD packets using the source address and My Discriminator, as in RFC 8562. TRILL adds a requirement: the tail must also use the Data Label (the inner VLAN or the Fine-Grained Label from RFC 7172).

If the tail has to tell the head that a multipath has failed, it MUST send unicast BFD Control packets using the same Data Label the head used.

A tail sorts incoming messages by who sent them, which number they carry and which group they belong to. It answers using the same group name it heard.

SIMPLIFIED P2MP BFD EXCHANGE (ILLUSTRATIVE, NOT FROM THE RFC)
HeadTail
  1. P2MP BFD Control (multicast)Sent periodically over the multicast path.
  2. BFD Control (unicast)Sent if the tail loses multipoint connectivity, using the same Data Label.

§6Tracking Active Tails

Under RFC 8562, the head has a session of type MultipointHead bound to a multipoint path. It sends multipoint BFD Control packets over that path and receives none. Each tail dynamically creates a MultipointTail session for each multipoint path, and these sessions receive the head's packets.

A multicast tree root that needs to keep track of all receivers can maintain a MultipointClient session per receiver of interest, as described in RFC 8563. This RFC leaves the detailed operation of tracking active tails to that document.

The head keeps a roll call of the listeners it cares about, and each listener keeps a note of which shouting head it is hearing.

§7Security Considerations

Multipoint BFD has its own authentication but no encryption. Here, the P2MP BFD payloads travel in RBridge Channel messages that RFC 7978 extended to provide security. RFC 7978 gives encryption only for point-to-point extended messages, so its encryption does not apply here. Its authentication is stronger than what BFD offers, so there is little reason to use BFD's own mechanisms when RFC 7978 authentication is in use.

The RFC expects a future TRILL document to provide group keying. At that point RBridge Channel security would offer both encryption and authentication.

The messages can be signed so that nobody can fake them, but for now they cannot be locked in a box when sent to a whole crowd.

§8IANA Considerations

IANA allocated one value from the Standards Action range of the 'RBridge Channel Protocols' registry, part of the TRILL Parameters registry: P2MP BFD Control, number 0x007.

The official list of message types got one new entry, number 7, for the crowd-talking message.

§8References