| < draft-ietf-bier-path-mtu-discovery-08.txt | draft-ietf-bier-path-mtu-discovery-09.txt > | |||
|---|---|---|---|---|
| BIER Working Group G. Mirsky | BIER Working Group G. Mirsky | |||
| Internet-Draft ZTE Corp. | Internet-Draft ZTE Corp. | |||
| Intended status: Standards Track T. Przygienda | Intended status: Standards Track T. Przygienda | |||
| Expires: November 22, 2020 Juniper Networks | Expires: May 23, 2021 Juniper Networks | |||
| A. Dolganow | A. Dolganow | |||
| Individual contributor | Individual contributor | |||
| May 21, 2020 | November 19, 2020 | |||
| Path Maximum Transmission Unit Discovery (PMTUD) for Bit Index Explicit | Path Maximum Transmission Unit Discovery (PMTUD) for Bit Index Explicit | |||
| Replication (BIER) Layer | Replication (BIER) Layer | |||
| draft-ietf-bier-path-mtu-discovery-08 | draft-ietf-bier-path-mtu-discovery-09 | |||
| Abstract | Abstract | |||
| This document describes Path Maximum Transmission Unit Discovery | This document describes Path Maximum Transmission Unit Discovery | |||
| (PMTUD) in Bit Indexed Explicit Replication (BIER) layer. | (PMTUD) in Bit Indexed Explicit Replication (BIER) layer. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| 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 November 22, 2020. | This Internet-Draft will expire on May 23, 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| 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 . . . . . . . . . . . . 3 | 1.1. Conventions used in this document . . . . . . . . . . . . 3 | |||
| 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 | 1.1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 | 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 | |||
| 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. PMTUD Mechanism for BIER . . . . . . . . . . . . . . . . . . 4 | 3. PMTUD Mechanism for BIER . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Data TLV for BIER Ping . . . . . . . . . . . . . . . . . 6 | 3.1. Data TLV for BIER Ping . . . . . . . . . . . . . . . . . 6 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 8 | 7.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
| skipping to change at page 2, line 35 ¶ | skipping to change at page 2, line 35 ¶ | |||
| In packet switched networks, when a host seeks to transmit data to a | In packet switched networks, when a host seeks to transmit data to a | |||
| target destination, the data is transmitted as a set of packets. In | target destination, the data is transmitted as a set of packets. In | |||
| many cases, it is more efficient to use the largest size packets that | many cases, it is more efficient to use the largest size packets that | |||
| are less than or equal to the least Maximum Transmission Unit (MTU) | are less than or equal to the least Maximum Transmission Unit (MTU) | |||
| for any forwarding device along the routed path to the IP destination | for any forwarding device along the routed path to the IP destination | |||
| for these packets. Such "least MTU" is known as Path MTU (PMTU). | for these packets. Such "least MTU" is known as Path MTU (PMTU). | |||
| Fragmentation or packet drop, silent or not, may occur on hops along | Fragmentation or packet drop, silent or not, may occur on hops along | |||
| the route where an MTU is smaller than the size of the datagram. To | the route where an MTU is smaller than the size of the datagram. To | |||
| avoid any of the listed above behaviors, the packet source must find | avoid any of the listed above behaviors, the packet source must find | |||
| the value of the least MTU, i.e. PMTU, that will be encountered along | the value of the least MTU, i.e., PMTU, that will be encountered | |||
| the route that a set of packets will follow to reach the given set of | along the route that a set of packets will follow to reach the given | |||
| destinations. Such MTU determination along a specific path is | set of destinations. Such MTU determination along a specific path is | |||
| referred to as path MTU discovery (PMTUD). | referred to as path MTU discovery (PMTUD). | |||
| [RFC8279] introduces and explains Bit Index Explicit Replication | [RFC8279] introduces and explains Bit Index Explicit Replication | |||
| (BIER) architecture and how it supports forwarding of multicast data | (BIER) architecture and how it supports the forwarding of multicast | |||
| packets. A BIER domain consists of Bit-Forwarding Routers (BFRs) | data packets. A BIER domain consists of Bit-Forwarding Routers | |||
| that are uniquely identified by their respective BFR-ids. An ingress | (BFRs) that are uniquely identified by their respective BFR-ids. An | |||
| border router (acting as a Bit Forwarding Ingress Router (BFIR)) | ingress border router (acting as a Bit Forwarding Ingress Router | |||
| inserts a Forwarding Bit Mask (F-BM) into a packet. Each targeted | (BFIR)) inserts a Forwarding Bit Mask (F-BM) into a packet. Each | |||
| egress node (referred to as a Bit Forwarding Egress Router (BFER)) is | targeted egress node (referred to as a Bit Forwarding Egress Router | |||
| represented by Bit Mask Position (BMP) in the BMS. A transit or | (BFER)) is represented by Bit Mask Position (BMP) in the BMS. A | |||
| intermediate BIER node, referred to as BFR, forwards BIER | transit or intermediate BIER node, referred to as BFR, forwards BIER | |||
| encapsulated packets to BFERs, identified by respective BMPs, | encapsulated packets to BFERs, identified by respective BMPs, | |||
| according to a Bit Index Forwarding Table (BIFT). | according to a Bit Index Forwarding Table (BIFT). | |||
| 1.1. Conventions used in this document | 1.1. Conventions used in this document | |||
| 1.1.1. Terminology | 1.1.1. Acronyms | |||
| BFR: Bit-Forwarding Router | BFR: Bit-Forwarding Router | |||
| BFER: Bit-Forwarding Egress Router | BFER: Bit-Forwarding Egress Router | |||
| BFIR: Bit-Forwarding Ingress Router | BFIR: Bit-Forwarding Ingress Router | |||
| BIER: Bit Index Explicit Replication | BIER: Bit Index Explicit Replication | |||
| BIFT: Bit Index Forwarding Tree | BIFT: Bit Index Forwarding Tree | |||
| skipping to change at page 3, line 39 ¶ | skipping to change at page 3, line 39 ¶ | |||
| 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. | |||
| 2. Problem Statement | 2. Problem Statement | |||
| [I-D.ietf-bier-oam-requirements] sets forth the requirement to define | [I-D.ietf-bier-oam-requirements] sets forth the requirement to define | |||
| PMTUD protocol for BIER domain. This document describes the | PMTUD protocol for BIER domain. This document describes the | |||
| extension to [I-D.ietf-bier-ping] for use in BIER PMTUD solution. | extension to [I-D.ietf-bier-ping] for use in the BIER PMTUD solution. | |||
| Current PMTUD mechanisms ([RFC1191], [RFC8201], and [RFC4821]) are | Current PMTUD mechanisms ([RFC1191], [RFC8201], and [RFC4821]) are | |||
| primarily targeted to work on point-to-point, i.e. unicast paths. | primarily targeted to work on point-to-point, i.e. unicast paths. | |||
| These mechanisms use packet fragmentation control by disabling | These mechanisms use packet fragmentation control by disabling | |||
| fragmentation of the probe packet. As a result, a transient node | fragmentation of the probe packet. As a result, a transient node | |||
| that cannot forward a probe packet that is bigger than its link MTU | that cannot forward a probe packet that is bigger than its link MTU | |||
| sends to the packet source an error notification, otherwise the | sends to the packet source an error notification, otherwise the | |||
| packet destination may respond with a positive acknowledgment. Thus, | packet destination may respond with a positive acknowledgment. Thus, | |||
| possibly through a series of iterations, varying the size of the | possibly through a series of iterations, varying the size of the | |||
| probe packet, the packet source discovers the PMTU of the particular | probe packet, the packet source discovers the PMTU of the particular | |||
| skipping to change at page 4, line 38 ¶ | skipping to change at page 4, line 38 ¶ | |||
| ----- \ ----- | ----- \ ----- | |||
| --| G | | --| G | | |||
| ----- | ----- | |||
| Figure 1: Multicast network | Figure 1: Multicast network | |||
| 3. PMTUD Mechanism for BIER | 3. PMTUD Mechanism for BIER | |||
| A BFIR selects a set of BFERs for the specific multicast | A BFIR selects a set of BFERs for the specific multicast | |||
| distribution. Such a BFIR determines, by explicitly controlling a | distribution. Such a BFIR determines, by explicitly controlling a | |||
| subset of targeted BFERs and transmitting series of probe packets, | subset of targeted BFERs and transmitting a series of probe packets, | |||
| the MTU of that multicast distribution tree. In case of ECMP, BFIR | the MTU of that multicast distribution tree. In the case of ECMP, | |||
| MAY test each path by variating the value in Entropy field. The | BFIR MAY test each path by variating the value in the Entropy field. | |||
| critical step is that in case of failure at an intermediate BFR to | The critical step is that in case of failure at an intermediate BFR | |||
| forward towards the subset of targeted downstream BFERs, the BFR | to forward towards the subset of targeted downstream BFERs, the BFR | |||
| responds with a partial (compared to the one it received in the | responds with a partial (compared to the one it received in the | |||
| request) bitmask towards the originating BFIR in error notification. | request) bitmask towards the originating BFIR in error notification. | |||
| That allows for retransmission of the next probe with smaller MTU | That allows for retransmission of the next probe with a smaller MTU | |||
| address only towards the failed downstream BFERs instead of all BFERs | address only towards the failed downstream BFERs instead of all BFERs | |||
| addressed in the previous probe. In the scenario discussed in | addressed in the previous probe. In the scenario discussed in | |||
| Section 2 the second and all following (if needed) probes will be | Section 2 the second and all following (if needed) probes will be | |||
| sent only to the node D since MTU discovery of E, F, and G has been | sent only to the node D since MTU discovery of E, F, and G has been | |||
| completed already by the first probe successfully. | completed already by the first probe successfully. | |||
| [I-D.ietf-bier-ping] introduced BIER Ping as a transport-independent | [I-D.ietf-bier-ping] introduced BIER Ping as a transport-independent | |||
| OAM mechanism to detect and localize failures in the BIER data plane. | OAM mechanism to detect and localize failures in the BIER data plane. | |||
| This document specifies how BIER Ping can be used to perform | This document specifies how BIER Ping can be used to perform | |||
| efficient PMTUD in the BIER domain. | efficient PMTUD in the BIER domain. | |||
| skipping to change at page 5, line 52 ¶ | skipping to change at page 5, line 52 ¶ | |||
| been sent. In this case, the bit corresponding to the BFER MUST | been sent. In this case, the bit corresponding to the BFER MUST | |||
| be cleared from the BMS; | be cleared from the BMS; | |||
| o a negative Echo Reply with bit string listing unreached BFERs and | o a negative Echo Reply with bit string listing unreached BFERs and | |||
| recommended MTU value MTU'. The BFIR MUST add the bit string to | recommended MTU value MTU'. The BFIR MUST add the bit string to | |||
| its BMS and set the size of the next probe as min(MTU, MTU') | its BMS and set the size of the next probe as min(MTU, MTU') | |||
| If upon expiration of the Echo Request timer BFIR didn't receive any | If upon expiration of the Echo Request timer BFIR didn't receive any | |||
| Echo Replies, then the size of the probe SHOULD be decreased. There | Echo Replies, then the size of the probe SHOULD be decreased. There | |||
| are scenarios when an implementation of the PMTUD would not decrease | are scenarios when an implementation of the PMTUD would not decrease | |||
| the size of the probe. For example, if upon expiration of the Echo | the size of the probe. For example, suppose upon expiration of the | |||
| Request timer BFIR didn't receive any Echo Reply, then BFIR MAY | Echo Request timer BFIR didn't receive any Echo Reply. In that case, | |||
| continue to retransmit the probe using the initial size and MAY apply | BFIR MAY continue to retransmit the probe using the initial size and | |||
| probe delay retransmission procedures. The algorithm used to delay | MAY apply probe delay retransmission procedures. The algorithm used | |||
| retransmission procedures on BFIR is outside the scope of this | to delay retransmission procedures on BFIR is outside the scope of | |||
| specification. The BFIR sends probes using BMS and locally defined | this specification. The BFIR sends probes using BMS and locally | |||
| retransmission procedures until either the bit string is clear, i.e. | defined retransmission procedures until either the bit string is | |||
| contains no set bits, or until the BFIR retransmission procedure | clear, i.e., contains no set bits, or until the BFIR retransmission | |||
| terminates and PMTU discovery is declared unsuccessful. In case of | procedure terminates and PMTU discovery is declared unsuccessful. In | |||
| convergence of the procedure, the size of the last probe indicates | the case of convergence of the procedure, the size of the last probe | |||
| the PMTU size that can be used for all BFERs in the initial BMS | indicates the PMTU size that can be used for all BFERs in the initial | |||
| without incurring fragmentation. | BMS without incurring fragmentation. | |||
| Thus we conclude that in order to comply with the requirement in | Thus we conclude that in order to comply with the requirement in | |||
| [I-D.ietf-bier-oam-requirements]: | [I-D.ietf-bier-oam-requirements]: | |||
| o a BFR SHOULD support PMTUD; | o a BFR SHOULD support PMTUD; | |||
| o a BFR MAY use defined per BIER sub-domain MTU value as initial MTU | o a BFR MAY use defined per BIER sub-domain MTU value as initial MTU | |||
| value for discovery or use it as MTU for this BIER sub-domain to | value for discovery or use it as MTU for this BIER sub-domain to | |||
| reach BFERs; | reach BFERs; | |||
| o a BFIR MUST have a locally defined of PMTUD probe retransmission | o a BFIR MUST have a locally defined PMTUD probe retransmission | |||
| procedure. | procedure. | |||
| 3.1. Data TLV for BIER Ping | 3.1. Data TLV for BIER Ping | |||
| There needs to be a control for probe size in order to support the | There needs to be a control for probe size in order to support the | |||
| BIER PMTUD. Data TLV format is presented in Figure 2. | BIER PMTUD. Data TLV format is presented in Figure 2. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 7, line 7 ¶ | skipping to change at page 7, line 7 ¶ | |||
| o Type: indicates Data TLV, to be allocated by IANA Section 4. | o Type: indicates Data TLV, to be allocated by IANA Section 4. | |||
| o Length: the length of the Data field in octets. | o Length: the length of the Data field in octets. | |||
| o Data: n octets (n = Length) of arbitrary data. The receiver | o Data: n octets (n = Length) of arbitrary data. The receiver | |||
| SHOULD ignore it. | SHOULD ignore it. | |||
| 4. IANA Considerations | 4. IANA Considerations | |||
| IANA is requested to assign new Type value for Data TLV Type from its | IANA is requested to assign a new Type value for Data TLV Type from | |||
| registry of TLV and sub-TLV Types of BIER Ping as follows: | its registry of TLV and sub-TLV Types of BIER Ping as follows: | |||
| +-------+-------------+---------------+ | +-------+-------------+---------------+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-------+-------------+---------------+ | +-------+-------------+---------------+ | |||
| | TBA1 | Data | This document | | | TBA1 | Data | This document | | |||
| +-------+-------------+---------------+ | +-------+-------------+---------------+ | |||
| Table 1: Data TLV Type | Table 1: Data TLV Type | |||
| 5. Security Considerations | 5. Security Considerations | |||
| skipping to change at page 8, line 13 ¶ | skipping to change at page 8, line 13 ¶ | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., | [RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., | |||
| "Path MTU Discovery for IP version 6", STD 87, RFC 8201, | "Path MTU Discovery for IP version 6", STD 87, RFC 8201, | |||
| DOI 10.17487/RFC8201, July 2017, | DOI 10.17487/RFC8201, July 2017, | |||
| <https://www.rfc-editor.org/info/rfc8201>. | <https://www.rfc-editor.org/info/rfc8201>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [I-D.ietf-bier-oam-requirements] | [I-D.ietf-bier-oam-requirements] | |||
| Mirsky, G., Nainar, N., Chen, M., and J. Networks, | Mirsky, G., Nainar, N., Chen, M., and S. Pallagatti, | |||
| "Operations, Administration and Maintenance (OAM) | "Operations, Administration and Maintenance (OAM) | |||
| Requirements for Bit Index Explicit Replication (BIER) | Requirements for Bit Index Explicit Replication (BIER) | |||
| Layer", draft-ietf-bier-oam-requirements-10 (work in | Layer", draft-ietf-bier-oam-requirements-11 (work in | |||
| progress), May 2020. | progress), November 2020. | |||
| [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | |||
| Explicit Replication (BIER)", RFC 8279, | Explicit Replication (BIER)", RFC 8279, | |||
| DOI 10.17487/RFC8279, November 2017, | DOI 10.17487/RFC8279, November 2017, | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Greg Mirsky | Greg Mirsky | |||
| End of changes. 16 change blocks. | ||||
| 42 lines changed or deleted | 42 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/ | ||||