| < draft-mtm-rtgwg-bfd-mc-lag-00.txt | draft-mtm-rtgwg-bfd-mc-lag-01.txt > | |||
|---|---|---|---|---|
| RTG Working Group G. Mirsky | RTG Working Group G. Mirsky | |||
| Internet-Draft ZTE Corp. | Internet-Draft ZTE Corp. | |||
| Intended status: Standards Track J. Tantsura | Intended status: Standards Track J. Tantsura | |||
| Expires: May 1, 2021 Apstra | Expires: May 22, 2021 Apstra | |||
| G. Mishra | G. Mishra | |||
| Verizon Inc. | Verizon Inc. | |||
| October 28, 2020 | November 18, 2020 | |||
| Bidirectional Forwarding Detection (BFD) on Multi-chassis Link | Bidirectional Forwarding Detection (BFD) on Multi-chassis Link | |||
| Aggregation Group (MC-LAG) Interfaces | Aggregation Group (MC-LAG) Interfaces | |||
| draft-mtm-rtgwg-bfd-mc-lag-00 | draft-mtm-rtgwg-bfd-mc-lag-01 | |||
| Abstract | Abstract | |||
| This document describes the use of Bidirectional Forwarding Detection | This document describes the use of Bidirectional Forwarding Detection | |||
| for Multi-chassis Link Aggregation Group to provide faster than Link | for Multi-chassis Link Aggregation Group to provide faster than Link | |||
| Aggregation Control Protocol convergence. This specification | Aggregation Control Protocol convergence. This specification | |||
| enhances RFC 7130 "Bidirectional Forwarding Detection (BFD) on Link | enhances RFC 7130 "Bidirectional Forwarding Detection (BFD) on Link | |||
| Aggregation Group (LAG) Interfaces". | Aggregation Group (LAG) Interfaces". | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on May 1, 2021. | This Internet-Draft will expire on May 22, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 17 ¶ | skipping to change at page 2, line 17 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Conventions used in this document . . . . . . . . . . . . 2 | 1.1. Conventions used in this document . . . . . . . . . . . . 2 | |||
| 1.1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . 2 | 1.1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 | 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 | |||
| 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. BFD on MC-LAG with IP-only Data Plane . . . . . . . . . . . . 3 | 3. BFD on MC-LAG with IP-only Data Plane . . . . . . . . . . . . 3 | |||
| 4. BFD on MC-LAG with IP/MPLS Data Plane . . . . . . . . . . . . 4 | 4. BFD on MC-LAG with IP/MPLS Data Plane . . . . . . . . . . . . 3 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 4 | |||
| 8.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 6 | 8.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1. Introduction | 1. Introduction | |||
| The [RFC7130] defines the use of Bidirectional Forwarding Detection | The [RFC7130] defines the use of Bidirectional Forwarding Detection | |||
| (BFD) on Link Aggregation Group (LAG) interfaces. A multi-chassis | (BFD) on Link Aggregation Group (LAG) interfaces. A multi-chassis | |||
| LAG (MC-LAG) is a type of LAG [IEEE.802.1AX.2008] with member links | LAG (MC-LAG) is a type of LAG [IEEE.802.1AX.2008] with member links | |||
| terminated on separate chassis. [IEEE.802.1AX.2008] does not specify | terminated on separate chassis. [IEEE.802.1AX.2008] does not specify | |||
| MC-LAG but doesn't preclude it either. Link Aggregation Control | MC-LAG but doesn't preclude it either. Link Aggregation Control | |||
| Protocol (LACP), also defined in [IEEE.802.1AX.2008], can work with | Protocol (LACP), also defined in [IEEE.802.1AX.2008], can work with | |||
| MC-LAG but, as in the LAG case, the fastest link failure detection | MC-LAG but, as in the LAG case, the fastest link failure detection | |||
| interval is only in a range of single-digit seconds. This document | interval is only in a range of single-digit seconds. This document | |||
| defines how the mechanism defined to work on LAG interfaces [RFC7130] | defines how the mechanism defined to work on LAG interfaces [RFC7130] | |||
| can be adapted to the MC-LAG case to enable sub-second detection of | can be adapted to the MC-LAG case to enable sub-second detection of | |||
| member link failure. | member link failure. | |||
| 1.1. Conventions used in this document | 1.1. Conventions used in this document | |||
| 1.1.1. Acronyms | 1.1.1. Acronyms | |||
| ACH: Associated Channel Header | ||||
| BFD: Bidirectional Forwarding Detection | BFD: Bidirectional Forwarding Detection | |||
| BoS: Bottom of the Stack | ||||
| G-ACh: Generic Associated Channel | ||||
| GAL: Generic Associated Label | ||||
| LAG: Link Aggregation Group | LAG: Link Aggregation Group | |||
| LACP: Link Aggregation Control Protocol | LACP: Link Aggregation Control Protocol | |||
| MC-LAG: Multi-chassis Link Aggregation Group | MC-LAG: Multi-chassis Link Aggregation Group | |||
| MPLS: Multi-Protocol Label Switching | MPLS: Multi-Protocol Label Switching | |||
| 1.1.2. Requirements Language | 1.1.2. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| skipping to change at page 3, line 34 ¶ | skipping to change at page 3, line 26 ¶ | |||
| [RFC7130] does not specify the selection of the destination IP | [RFC7130] does not specify the selection of the destination IP | |||
| address for the BFD control packet. The only requirement related to | address for the BFD control packet. The only requirement related to | |||
| the selection is in Section 2.1, stating that the use of the address | the selection is in Section 2.1, stating that the use of the address | |||
| family across all member links of the given LAG MUST be consistent | family across all member links of the given LAG MUST be consistent | |||
| across all the links. Thus it is implied that the same unicast IP | across all the links. Thus it is implied that the same unicast IP | |||
| address will be used on all member links of the LAG as the use of | address will be used on all member links of the LAG as the use of | |||
| different destination addresses would defeat the purpose of [RFC7130] | different destination addresses would defeat the purpose of [RFC7130] | |||
| transforming the case into a set of single-hop BFD sessions | transforming the case into a set of single-hop BFD sessions | |||
| [RFC5881]. But a single unicast IP address may not work in the MC- | [RFC5881]. But a single unicast IP address may not work in the MC- | |||
| LAG case as the member links are terminated on the separate chassis. | LAG case as the member links are terminated on the separate chassis. | |||
| This document proposes how to overcome this problem if using IP or | This document proposes overcoming this problem if using IP or Multi- | |||
| Multi-Protocol Label Switching (MPLS) data plane encapsulation. | Protocol Label Switching (MPLS) data plane encapsulation. | |||
| 3. BFD on MC-LAG with IP-only Data Plane | 3. BFD on MC-LAG with IP-only Data Plane | |||
| As described in [RFC7130], a micro-BFD session on the LAG interfaces | As described in [RFC7130], a micro-BFD session on the LAG interfaces | |||
| may use IPv4 or IPv6 address family. In some cases, two sessions, | may use IPv4 or IPv6 address family. In some cases, two sessions, | |||
| one with IPv4 and one with IPv6 addresses, may run concurrently. | one with IPv4 and one with IPv6 addresses, may run concurrently. | |||
| This document doesn't change any of these but specifies the selection | This document doesn't change any of these but specifies the selection | |||
| of the destination IP address in the MC-LAG use case: | of the destination IP address in the MC-LAG use case: | |||
| o if IPv4 address family is used for the micro-BFD session, then an | o if IPv4 address family is used for the micro-BFD session, then an | |||
| skipping to change at page 4, line 11 ¶ | skipping to change at page 3, line 49 ¶ | |||
| SHOULD be used as the destination IP address. The subnet | SHOULD be used as the destination IP address. The subnet | |||
| broadcast address MAY be used as the destination IP address as | broadcast address MAY be used as the destination IP address as | |||
| well; | well; | |||
| o if the address family used is IPv6, then the IPv6 All Routers | o if the address family used is IPv6, then the IPv6 All Routers | |||
| address with the link scope, as defined in [RFC4291], FF02::2/128 | address with the link scope, as defined in [RFC4291], FF02::2/128 | |||
| MUST be used as the destination IP address. | MUST be used as the destination IP address. | |||
| 4. BFD on MC-LAG with IP/MPLS Data Plane | 4. BFD on MC-LAG with IP/MPLS Data Plane | |||
| There are more optional encapsulation formats for the case of micro- | IP/UDP is the most natural encapsulation format for the case of | |||
| BFD on MC-LAG over IP/MPLS data plane: | micro-BFD on MC-LAG over IP/MPLS data plane as displayed in Figure 1. | |||
| o [RFC5586] defined the special-purpose Generic Associated channel | ||||
| Label (GAL) that MAY be used in MPLS encapsulation of the micro- | ||||
| BFD control packet over the MPSL data plane. Depending on the | ||||
| channel type specified in the Associated Channel Header (ACH) that | ||||
| immediately follows after the GAL, micro-BFD MAY use IP/UDP, as | ||||
| displayed in Figure 1 or BFD format, i.e., BFD control packet | ||||
| without IP and UDP headers. | ||||
| 0 1 2 3 | 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | GAL | TC |1| TTL | | ~ MPLS Label Stack ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------- | |||
| |0 0 0 1|0 0 0 0| Reserved | IPv4 channel (0x0021) | | ~ ~ | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP | |||
| | | | | Destination IP address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Header | |||
| | | | | Source IP address | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------ | |||
| | Destination IP address | | | UDP header | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | |||
| | Source IP address | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ BFD Control Packet ~ | |||
| | UDP header | | | | | |||
| | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| ~ BFD Control Packet ~ | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 1: BFD on MC-LAG member link on IPv4/MPLS data plane | Figure 1: BFD on MC-LAG member link on IPv4/MPLS data plane | |||
| If the IP/UDP format of BFD over MC-LAG interfaces is used, then the | An IP and UDP headers immediately follow an MPLS label stack. The | |||
| destination IP address MUST be set to the loopback address | destination IP address MUST be set to the loopback address | |||
| 127.0.0.1/32 for IPv4 [RFC1812], or the loopback address ::1/128 for | 127.0.0.1/32 for IPv4 [RFC1812], or the loopback address ::1/128 for | |||
| IPv6 [RFC4291]. | IPv6 [RFC4291]. TTL or Hop Limit field value MUST be set to 255, | |||
| according to [RFC5881]. | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document makes no requests for IANA allocations. This section | This document makes no requests for IANA allocations. This section | |||
| may be deleted by RFC Editor. | may be deleted by RFC Editor. | |||
| 6. Security Considerations | 6. Security Considerations | |||
| This document does not introduce new security concerns but inherits | This document does not introduce new security concerns but inherits | |||
| all security considerations discussed in [RFC5881] and [RFC7130]. | all security considerations discussed in [RFC5881] and [RFC7130]. | |||
| skipping to change at page 5, line 32 ¶ | skipping to change at page 5, line 10 ¶ | |||
| [IEEE.802.1AX.2008] | [IEEE.802.1AX.2008] | |||
| "IEEE Standard for Local and metropolitan area networks - | "IEEE Standard for Local and metropolitan area networks - | |||
| Link Aggregation", IEEE 802.1-AX, November 2008. | Link Aggregation", IEEE 802.1-AX, November 2008. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., | ||||
| "MPLS Generic Associated Channel", RFC 5586, | ||||
| DOI 10.17487/RFC5586, June 2009, | ||||
| <https://www.rfc-editor.org/info/rfc5586>. | ||||
| [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
| (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, | (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, | |||
| DOI 10.17487/RFC5881, June 2010, | DOI 10.17487/RFC5881, June 2010, | |||
| <https://www.rfc-editor.org/info/rfc5881>. | <https://www.rfc-editor.org/info/rfc5881>. | |||
| [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed., | [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed., | |||
| Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional | Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional | |||
| Forwarding Detection (BFD) on Link Aggregation Group (LAG) | Forwarding Detection (BFD) on Link Aggregation Group (LAG) | |||
| Interfaces", RFC 7130, DOI 10.17487/RFC7130, February | Interfaces", RFC 7130, DOI 10.17487/RFC7130, February | |||
| 2014, <https://www.rfc-editor.org/info/rfc7130>. | 2014, <https://www.rfc-editor.org/info/rfc7130>. | |||
| End of changes. 14 change blocks. | ||||
| 60 lines changed or deleted | 36 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||