| < draft-ietf-tram-stun-pmtud-14.txt | draft-ietf-tram-stun-pmtud-15.txt > | |||
|---|---|---|---|---|
| TRAM M. Petit-Huguenin | TRAM M. Petit-Huguenin | |||
| Internet-Draft Impedance Mismatch | Internet-Draft Impedance Mismatch | |||
| Intended status: Standards Track G. Salgueiro | Intended status: Standards Track G. Salgueiro | |||
| Expires: May 7, 2020 F. Garrido | Expires: June 19, 2020 F. Garrido | |||
| Cisco | Cisco | |||
| November 4, 2019 | December 17, 2019 | |||
| Path MTU Discovery Using Session Traversal Utilities for NAT (STUN) | Packetization Layer Path MTU Discovery (PLMTUD) For UDP Transports Using | |||
| draft-ietf-tram-stun-pmtud-14 | Session Traversal Utilities for NAT (STUN) | |||
| draft-ietf-tram-stun-pmtud-15 | ||||
| Abstract | Abstract | |||
| This document describes a Session Traversal Utilities for NAT (STUN) | The datagram exchanged between two Internet endpoints have to go | |||
| Usage for Path MTU Discovery (PMTUD) between a client and a server. | through a series of physical and virtual links that may have | |||
| different limits on the upper size of the datagram they can transmit | ||||
| without fragmentation. Because fragmentation is considered harmful, | ||||
| most transports and protocols are designed with a mechanism that | ||||
| permits dynamic measurement of the maximum size of a datagram. This | ||||
| mechanism is called Packetization Layer Path MTU Discovery (PLPMTUD). | ||||
| But the UDP transport and some of the protocols that use UDP were | ||||
| designed without that feature. The Session Traversal Utilities for | ||||
| NAT (STUN) Usage described in this document permits retrofitting an | ||||
| existing UDP-based protocol with such a feature. Similarly, a new | ||||
| UDP-based protocol could simply reuse the mechanism described in this | ||||
| document. | ||||
| 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. | |||
| 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 7, 2020. | This Internet-Draft will expire on June 19, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Overview of Operations . . . . . . . . . . . . . . . . . . . 4 | 2. Overview of Operations . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Probing Mechanisms . . . . . . . . . . . . . . . . . . . . . 5 | 4. Probing Mechanisms . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.1. Simple Probing Mechanism . . . . . . . . . . . . . . . . 6 | 4.1. Simple Probing Mechanism . . . . . . . . . . . . . . . . 7 | |||
| 4.1.1. Sending a Probe Request . . . . . . . . . . . . . . . 6 | 4.1.1. Sending a Probe Request . . . . . . . . . . . . . . . 7 | |||
| 4.1.2. Receiving a Probe Request . . . . . . . . . . . . . . 7 | 4.1.2. Receiving a Probe Request . . . . . . . . . . . . . . 8 | |||
| 4.1.3. Receiving a Probe Response . . . . . . . . . . . . . 7 | 4.1.3. Receiving a Probe Response . . . . . . . . . . . . . 8 | |||
| 4.2. Complete Probing Mechanism . . . . . . . . . . . . . . . 7 | 4.2. Complete Probing Mechanism . . . . . . . . . . . . . . . 8 | |||
| 4.2.1. Sending a Probe Indications and Report Request . . . 8 | 4.2.1. Sending a Probe Indications and Report Request . . . 9 | |||
| 4.2.2. Receiving an ICMP Packet . . . . . . . . . . . . . . 8 | 4.2.2. Receiving an ICMP Packet . . . . . . . . . . . . . . 9 | |||
| 4.2.3. Receiving a Probe Indication and Report Request . . . 8 | 4.2.3. Receiving a Probe Indication and Report Request . . . 9 | |||
| 4.2.4. Receiving a Report Response . . . . . . . . . . . . . 9 | 4.2.4. Receiving a Report Response . . . . . . . . . . . . . 10 | |||
| 4.2.5. Using Checksums as Packet Identifiers . . . . . . . . 9 | 4.2.5. Using Checksums as Packet Identifiers . . . . . . . . 10 | |||
| 4.2.6. Using Sequence Numbers as Packet Identifiers . . . . 10 | 4.2.6. Using Sequence Numbers as Packet Identifiers . . . . 11 | |||
| 5. Probe Support Signaling Mechanisms . . . . . . . . . . . . . 11 | 5. Probe Support Signaling Mechanisms . . . . . . . . . . . . . 12 | |||
| 5.1. Explicit Probe Support Signaling Mechanism . . . . . . . 11 | 5.1. Explicit Probe Support Signaling Mechanism . . . . . . . 12 | |||
| 5.2. Implicit Probe Support Signaling Mechanism . . . . . . . 11 | 5.2. Implicit Probe Support Signaling Mechanism . . . . . . . 13 | |||
| 6. STUN Attributes . . . . . . . . . . . . . . . . . . . . . . . 12 | 6. STUN Attributes . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.1. IDENTIFIERS . . . . . . . . . . . . . . . . . . . . . . . 12 | 6.1. IDENTIFIERS . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.2. PMTUD-SUPPORTED . . . . . . . . . . . . . . . . . . . . . 12 | 6.2. PMTUD-SUPPORTED . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6.3. PADDING . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6.3. PADDING . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 8.1. New STUN Methods . . . . . . . . . . . . . . . . . . . . 13 | 8.1. New STUN Methods . . . . . . . . . . . . . . . . . . . . 14 | |||
| 8.2. New STUN Attributes . . . . . . . . . . . . . . . . . . . 13 | 8.2. New STUN Attributes . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 14 | 9.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| Appendix A. Release Notes . . . . . . . . . . . . . . . . . . . 15 | Appendix A. Release Notes . . . . . . . . . . . . . . . . . . . 16 | |||
| A.1. Modifications between draft-ietf-tram-stun-pmtud-14 and | A.1. Modifications between draft-ietf-tram-stun-pmtud-15 and | |||
| draft-ietf-tram-stun-pmtud-13 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-14 . . . . . . . . . . . . . . 16 | |||
| A.2. Modifications between draft-ietf-tram-stun-pmtud-13 and | A.2. Modifications between draft-ietf-tram-stun-pmtud-14 and | |||
| draft-ietf-tram-stun-pmtud-12 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-13 . . . . . . . . . . . . . . 16 | |||
| A.3. Modifications between draft-ietf-tram-stun-pmtud-12 and | A.3. Modifications between draft-ietf-tram-stun-pmtud-13 and | |||
| draft-ietf-tram-stun-pmtud-11 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-12 . . . . . . . . . . . . . . 17 | |||
| A.4. Modifications between draft-ietf-tram-stun-pmtud-11 and | A.4. Modifications between draft-ietf-tram-stun-pmtud-12 and | |||
| draft-ietf-tram-stun-pmtud-10 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-11 . . . . . . . . . . . . . . 17 | |||
| A.5. Modifications between draft-ietf-tram-stun-pmtud-10 and | A.5. Modifications between draft-ietf-tram-stun-pmtud-11 and | |||
| draft-ietf-tram-stun-pmtud-09 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-10 . . . . . . . . . . . . . . 17 | |||
| A.6. Modifications between draft-ietf-tram-stun-pmtud-09 and | A.6. Modifications between draft-ietf-tram-stun-pmtud-10 and | |||
| draft-ietf-tram-stun-pmtud-08 . . . . . . . . . . . . . . 15 | draft-ietf-tram-stun-pmtud-09 . . . . . . . . . . . . . . 17 | |||
| A.7. Modifications between draft-ietf-tram-stun-pmtud-08 and | A.7. Modifications between draft-ietf-tram-stun-pmtud-09 and | |||
| draft-ietf-tram-stun-pmtud-07 . . . . . . . . . . . . . . 16 | draft-ietf-tram-stun-pmtud-08 . . . . . . . . . . . . . . 17 | |||
| A.8. Modifications between draft-ietf-tram-stun-pmtud-07 and | A.8. Modifications between draft-ietf-tram-stun-pmtud-08 and | |||
| draft-ietf-tram-stun-pmtud-06 . . . . . . . . . . . . . . 16 | draft-ietf-tram-stun-pmtud-07 . . . . . . . . . . . . . . 17 | |||
| A.9. Modifications between draft-ietf-tram-stun-pmtud-07 and | ||||
| A.9. Modifications between draft-ietf-tram-stun-pmtud-06 and | draft-ietf-tram-stun-pmtud-06 . . . . . . . . . . . . . . 17 | |||
| draft-ietf-tram-stun-pmtud-05 . . . . . . . . . . . . . . 16 | A.10. Modifications between draft-ietf-tram-stun-pmtud-06 and | |||
| A.10. Modifications between draft-ietf-tram-stun-pmtud-05 and | draft-ietf-tram-stun-pmtud-05 . . . . . . . . . . . . . . 17 | |||
| draft-ietf-tram-stun-pmtud-04 . . . . . . . . . . . . . . 16 | A.11. Modifications between draft-ietf-tram-stun-pmtud-05 and | |||
| A.11. Modifications between draft-ietf-tram-stun-pmtud-04 and | draft-ietf-tram-stun-pmtud-04 . . . . . . . . . . . . . . 18 | |||
| draft-ietf-tram-stun-pmtud-03 . . . . . . . . . . . . . . 16 | A.12. Modifications between draft-ietf-tram-stun-pmtud-04 and | |||
| A.12. Modifications between draft-ietf-tram-stun-pmtud-03 and | draft-ietf-tram-stun-pmtud-03 . . . . . . . . . . . . . . 18 | |||
| draft-ietf-tram-stun-pmtud-02 . . . . . . . . . . . . . . 16 | A.13. Modifications between draft-ietf-tram-stun-pmtud-03 and | |||
| A.13. Modifications between draft-ietf-tram-stun-pmtud-02 and | draft-ietf-tram-stun-pmtud-02 . . . . . . . . . . . . . . 18 | |||
| draft-ietf-tram-stun-pmtud-01 . . . . . . . . . . . . . . 17 | A.14. Modifications between draft-ietf-tram-stun-pmtud-02 and | |||
| A.14. Modifications between draft-ietf-tram-stun-pmtud-01 and | draft-ietf-tram-stun-pmtud-01 . . . . . . . . . . . . . . 19 | |||
| draft-ietf-tram-stun-pmtud-00 . . . . . . . . . . . . . . 17 | A.15. Modifications between draft-ietf-tram-stun-pmtud-01 and | |||
| A.15. Modifications between draft-ietf-tram-stun-pmtud-00 and | draft-ietf-tram-stun-pmtud-00 . . . . . . . . . . . . . . 19 | |||
| draft-petithuguenin-tram-stun-pmtud-01 . . . . . . . . . 17 | A.16. Modifications between draft-ietf-tram-stun-pmtud-00 and | |||
| A.16. Modifications between draft-petithuguenin-tram-stun- | draft-petithuguenin-tram-stun-pmtud-01 . . . . . . . . . 19 | |||
| pmtud-01 and draft-petithuguenin-tram-stun-pmtud-00 . . . 17 | ||||
| A.17. Modifications between draft-petithuguenin-tram-stun- | A.17. Modifications between draft-petithuguenin-tram-stun- | |||
| pmtud-00 and draft-petithuguenin-behave-stun-pmtud-03 . . 18 | pmtud-01 and draft-petithuguenin-tram-stun-pmtud-00 . . . 19 | |||
| A.18. Modifications between draft-petithuguenin-behave-stun- | A.18. Modifications between draft-petithuguenin-tram-stun- | |||
| pmtud-03 and draft-petithuguenin-behave-stun-pmtud-02 . . 18 | pmtud-00 and draft-petithuguenin-behave-stun-pmtud-03 . . 19 | |||
| A.19. Modifications between draft-petithuguenin-behave-stun- | A.19. Modifications between draft-petithuguenin-behave-stun- | |||
| pmtud-02 and draft-petithuguenin-behave-stun-pmtud-01 . . 18 | pmtud-03 and draft-petithuguenin-behave-stun-pmtud-02 . . 19 | |||
| A.20. Modifications between draft-petithuguenin-behave-stun- | A.20. Modifications between draft-petithuguenin-behave-stun- | |||
| pmtud-01 and draft-petithuguenin-behave-stun-pmtud-00 . . 18 | pmtud-02 and draft-petithuguenin-behave-stun-pmtud-01 . . 20 | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 19 | A.21. Modifications between draft-petithuguenin-behave-stun- | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | pmtud-01 and draft-petithuguenin-behave-stun-pmtud-00 . . 20 | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 20 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | ||||
| 1. Introduction | 1. Introduction | |||
| The Packetization Layer Path MTU Discovery (PMTUD) specification | The Packetization Layer Path MTU Discovery (PMTUD) specification | |||
| [RFC4821] describes a method to discover the Path MTU but does not | [RFC4821] describes a method to discover the Path MTU, but does not | |||
| describe a practical protocol to do so with UDP. | describe a practical protocol to do so with UDP. Many application | |||
| layer protocols based on the transport layer protocol UDP do not | ||||
| Many UDP-based protocols do not implement the Path MTU discovery | implement the Path MTU discovery mechanism described in [RFC4821]. | |||
| mechanism described in [RFC4821]. These protocols can make use of | These application layer protocols can make use of the probing | |||
| the probing mechanisms described in this document instead of | mechanisms described in this document instead of designing their own | |||
| designing their own adhoc extension. These probing mechanisms are | adhoc extension. These probing mechanisms are implemented with | |||
| implemented with Session Traversal Utilities for NAT (STUN), but | Session Traversal Utilities for NAT (STUN), but their usage is not | |||
| their usage is not limited to STUN-based protocols. | limited to STUN-based protocols. | |||
| The STUN usage defined in this document for Path MTU Discovery | The STUN usage defined in this document for Packetization Layer Path | |||
| (PMTUD) between a client and a server permits proper operations of | MTU Discovery (PLPMTUD) between a client and a server permits proper | |||
| UDP-based applications in the network. It also simplifies | measurement of the Path MTU for application layer protocols based on | |||
| the transport layer protocol UDP in the network. It also simplifies | ||||
| troubleshooting and has multiple other applications across a wide | troubleshooting and has multiple other applications across a wide | |||
| variety of technologies. | variety of technologies. | |||
| Complementary techniques can be used to discover additional network | Complementary techniques can be used to discover additional network | |||
| characteristics, such as the network path (using the STUN Traceroute | characteristics, such as the network path (using the STUN Traceroute | |||
| mechanism described in [I-D.martinsen-tram-stuntrace]) and bandwidth | mechanism described in [I-D.martinsen-tram-stuntrace]) and bandwidth | |||
| availability (using the mechanism described in | availability (using the mechanism described in | |||
| [I-D.martinsen-tram-turnbandwidthprobe]). | [I-D.martinsen-tram-turnbandwidthprobe]). In addition, | |||
| [I-D.ietf-tsvwg-datagram-plpmtud] provides a robust method for Path | ||||
| MTU Discovery for a broader range of protocols and applications. | ||||
| 2. Overview of Operations | 2. Overview of Operations | |||
| This section is meant to be informative only and is not intended as a | This section is meant to be informative only and is not intended as a | |||
| substitute for [RFC4821]. | substitute for [RFC4821]. | |||
| A UDP endpoint that uses this specification to discover the Path MTU | A UDP endpoint that uses this specification to discover the Path MTU | |||
| over UDP and knows that the endpoint it is communicating with also | over UDP and knows that the endpoint it is communicating with also | |||
| supports this specification can choose to use either the Simple | supports this specification can choose to use either the Simple | |||
| Probing mechanism (as described in Section 4.1) or the Complete | Probing mechanism (as described in Section 4.1) or the Complete | |||
| Probing mechanism (as described in Section 4.2). The selection of | Probing mechanism (as described in Section 4.2). The selection of | |||
| which Probing Mechanism to use is dependent on performance and | which Probing Mechanism to use is dependent on performance and | |||
| security and complexity trade-offs. | security and complexity trade-offs. | |||
| If the Simple Probing mechanism is chosen, then the Client initiates | If the Simple Probing mechanism is chosen, then the client initiates | |||
| Probe transactions, as shown in Figure 1, which decrease in size | Probe transactions, as shown in Figure 1, which decrease in size | |||
| until transactions succeed, indicating that the Path MTU has been | until transactions succeed, indicating that the Path MTU has been | |||
| established. It then uses that information to update the Path MTU. | discovered. It then uses that information to update the Path MTU. | |||
| Client Server | Client Server | |||
| | | | | | | |||
| | Probe Request | | | Probe Request | | |||
| |---------------->| | |---------------->| | |||
| | | | | | | |||
| | Probe Response | | | Probe Response | | |||
| |<----------------| | |<----------------| | |||
| | | | | | | |||
| Figure 1: Simple Probing Example | Figure 1: Simple Probing Example | |||
| If the Complete Probing mechanism (as described in Section 4.2) is | If the Complete Probing mechanism (as described in Section 4.2) is | |||
| chosen, then the Client sends Probe Indications of various sizes (as | chosen, then the client sends Probe Indications of various sizes (as | |||
| specified in [RFC4821]) interleaved with UDP packets sent by the UDP | specified in [RFC4821]) interleaved with UDP packets sent by the UDP | |||
| protocol. The Client then sends a Report Request for the ordered | protocol. The client then sends a Report Request for the ordered | |||
| list of identifiers for the UDP packets and Probe Indications | list of identifiers for the UDP packets and Probe Indications | |||
| received by the Server. The Client then compares the list returned | received by the server. The client then compares the list returned | |||
| in the Report Response with its own list of identifiers for the UDP | in the Report Response with its own list of identifiers for the UDP | |||
| packets and Probe Indications it sent. The Client then uses that | packets and Probe Indications it sent. The client examines the | |||
| comparison to find which Probe Indications were dropped by the | received reports to determine which probes were successful. When a | |||
| network as a result of their size. It then uses that information to | probe succeeds with a larger size than the current PMTU, the PMTU is | |||
| update the Path MTU. | increased. When the probes indicate the current PMTU is not | |||
| supported the size is decreased. | ||||
| Because of the possibility of amplification attack, the Complete | Because of the possibility of amplification attack, the Complete | |||
| Probing mechanism must be authenticated. Particular care must be | Probing mechanism must be authenticated as specified in Section 5.1. | |||
| taken to prevent amplification when an external mechanism is used to | Particular care must be taken to prevent amplification when an | |||
| trigger the Complete Probing mechanism. | external mechanism is used to trigger the Complete Probing mechanism. | |||
| Client Server | Client Server | |||
| | UDP Packet | | | UDP Packet | | |||
| |------------------>| | |------------------>| | |||
| | | | | | | |||
| | UDP Packet | | | UDP Packet | | |||
| |------------------>| | |------------------>| | |||
| | | | | | | |||
| | Probe Indication | | | Probe Indication | | |||
| |------------------>| | |------------------>| | |||
| skipping to change at page 6, line 18 ¶ | skipping to change at page 7, line 18 ¶ | |||
| Implementations supporting this specification MUST implement the | Implementations supporting this specification MUST implement the | |||
| client side of the Complete Probing mechanism. They MAY implement | client side of the Complete Probing mechanism. They MAY implement | |||
| the client side of the Simple Probing mechanism. | the client side of the Simple Probing mechanism. | |||
| 4.1. Simple Probing Mechanism | 4.1. Simple Probing Mechanism | |||
| The Simple Probing mechanism is implemented by sending a Probe | The Simple Probing mechanism is implemented by sending a Probe | |||
| Request with a PADDING attribute over UDP with the DF bit set in the | Request with a PADDING attribute over UDP with the DF bit set in the | |||
| IP header for IPv4 packets and IPv6 packets without the Fragment | IP header for IPv4 packets and IPv6 packets without the Fragment | |||
| Header included. A router on the path to the server can reject each | Header included. | |||
| request with an ICMP message or drop it. | ||||
| Note: Routers can be configured to clear the DF bit or ignore the DF | ||||
| bit which can be difficult or impossible to detect if reassembly | ||||
| occurs prior to receiving the packet, rendering PLPMTUD inaccurate. | ||||
| 4.1.1. Sending a Probe Request | 4.1.1. Sending a Probe Request | |||
| A client forms a Probe Request by using the Probe Method and | A client forms a Probe Request by using the Probe Method and | |||
| following the rules in Section 6.1 of [I-D.ietf-tram-stunbis]. | following the rules in Section 6.1 of [I-D.ietf-tram-stunbis]. | |||
| The Probe transaction MUST be authenticated if the Simple Probing | The Probe transaction MUST be authenticated if the Simple Probing | |||
| mechanism is used in conjunction with the Implicit Probing Support | mechanism is used in conjunction with the Implicit Probing Support | |||
| mechanism described in Section 5.2. If not, the Probe transaction | mechanism described in Section 5.2. If not, the Probe transaction | |||
| MAY be authenticated. | MAY be authenticated. | |||
| skipping to change at page 6, line 42 ¶ | skipping to change at page 7, line 45 ¶ | |||
| the IP and UDP headers and the other STUN components, is equal to the | the IP and UDP headers and the other STUN components, is equal to the | |||
| Selected Probe Size, as defined in [RFC4821] Section 7.3. The | Selected Probe Size, as defined in [RFC4821] Section 7.3. The | |||
| PADDING bits SHOULD be set to zero. The client MUST add the | PADDING bits SHOULD be set to zero. The client MUST add the | |||
| FINGERPRINT attribute so the STUN messages are disambiguated from the | FINGERPRINT attribute so the STUN messages are disambiguated from the | |||
| other protocol packets as specified in Section 7 of | other protocol packets as specified in Section 7 of | |||
| [I-D.ietf-tram-stunbis]. | [I-D.ietf-tram-stunbis]. | |||
| Then the client sends the Probe Request to the server over UDP with | Then the client sends the Probe Request to the server over UDP with | |||
| the DF bit set for IPv4 packets and IPv6 packets without the Fragment | the DF bit set for IPv4 packets and IPv6 packets without the Fragment | |||
| Header included. For the purpose of this transaction, the Rc | Header included. For the purpose of this transaction, the Rc | |||
| parameter specified in Section 6.2.1 of [I-D.ietf-tram-stunbis] is | parameter is set to 3 and the initial value for RTO stays at 500 ms | |||
| set to 3. The initial value for RTO stays at 500 ms. | as specified in Section 6.2.1 of [I-D.ietf-tram-stunbis] | |||
| A client MUST NOT send a probe if it does not have knowledge that the | A client MUST NOT send a probe if it does not have knowledge that the | |||
| server supports this specification. This is done either by external | server supports this specification. This is done either by external | |||
| signalling or by a mechanism specific to the UDP protocol to which | signalling or by a mechanism specific to the UDP protocol to which | |||
| PMTUD capabilities are added or by one of the mechanisms specified in | PMTUD capabilities are added or by one of the mechanisms specified in | |||
| Section 5. | Section 5. | |||
| 4.1.2. Receiving a Probe Request | 4.1.2. Receiving a Probe Request | |||
| A server receiving a Probe Request MUST process it as specified in | A server receiving a Probe Request MUST process it as specified in | |||
| skipping to change at page 7, line 26 ¶ | skipping to change at page 8, line 26 ¶ | |||
| 4.1.3. Receiving a Probe Response | 4.1.3. Receiving a Probe Response | |||
| A client receiving a Probe Response MUST process it as specified in | A client receiving a Probe Response MUST process it as specified in | |||
| section 6.3.1 of [I-D.ietf-tram-stunbis] and MUST ignore the PADDING | section 6.3.1 of [I-D.ietf-tram-stunbis] and MUST ignore the PADDING | |||
| attribute. If a response is received this is interpreted as a Probe | attribute. If a response is received this is interpreted as a Probe | |||
| Success, as defined in [RFC4821] Section 7.6.1. If an ICMP packet | Success, as defined in [RFC4821] Section 7.6.1. If an ICMP packet | |||
| "Fragmentation needed" or "Packet Too Big" is received then this is | "Fragmentation needed" or "Packet Too Big" is received then this is | |||
| interpreted as a Probe Failure, as defined in [RFC4821] | interpreted as a Probe Failure, as defined in [RFC4821] | |||
| Section 7.6.2. If the Probe transaction times out, then this is | Section 7.6.2. If the Probe transaction times out, then this is | |||
| interpreted as a Probe Inconclusive, as defined in [RFC4821] | interpreted as a Probe Inconclusive, as defined in [RFC4821] | |||
| Section 7.6.4. | Section 7.6.4. Validation SHOULD be performed on the ICMP packet as | |||
| specified in [RFC8085]. | ||||
| 4.2. Complete Probing Mechanism | 4.2. Complete Probing Mechanism | |||
| The Complete Probing mechanism is implemented by sending one or more | The Complete Probing mechanism is implemented by sending one or more | |||
| Probe Indications with a PADDING attribute over UDP with the DF bit | Probe Indications with a PADDING attribute over UDP with the DF bit | |||
| set in the IP header for IPv4 packets and IPv6 packets without the | set in the IP header for IPv4 packets and IPv6 packets without the | |||
| Fragment Header included followed by a Report Request to the same | Fragment Header included followed by a Report Request to the same | |||
| server. A router on the path to the server can reject this | server. A router on the path to the server can reject this | |||
| Indication with an ICMP message or drop it. The server keeps a | Indication with an ICMP message or drop it. The server keeps a | |||
| chronologically ordered list of identifiers for all packets received | chronologically ordered list of identifiers for all packets received | |||
| skipping to change at page 8, line 41 ¶ | skipping to change at page 9, line 44 ¶ | |||
| the FINGERPRINT attribute so the STUN messages are disambiguated from | the FINGERPRINT attribute so the STUN messages are disambiguated from | |||
| the other protocol packets. | the other protocol packets. | |||
| Then the client waits half the RTO after sending the last Probe | Then the client waits half the RTO after sending the last Probe | |||
| Indication and then sends the Report Request to the server over UDP. | Indication and then sends the Report Request to the server over UDP. | |||
| 4.2.2. Receiving an ICMP Packet | 4.2.2. Receiving an ICMP Packet | |||
| If an ICMP packet "Fragmentation needed" or "Packet Too Big" is | If an ICMP packet "Fragmentation needed" or "Packet Too Big" is | |||
| received then this is interpreted as a Probe Failure, as defined in | received then this is interpreted as a Probe Failure, as defined in | |||
| [RFC4821] Section 7.5. | [RFC4821] Section 7.5. Validation SHOULD be performed on the ICMP | |||
| packet as specified in [RFC8085]. | ||||
| 4.2.3. Receiving a Probe Indication and Report Request | 4.2.3. Receiving a Probe Indication and Report Request | |||
| A server supporting this specification will keep the identifiers of | A server supporting this specification will keep the identifiers of | |||
| all packets received in a chronologically ordered list. The packets | all packets received in a chronologically ordered list. The packets | |||
| that are to be associated to a given flow's identifier are selected | that are to be associated to a given flow's identifier are selected | |||
| according to Section 5.2 of [RFC4821]. The same identifier can | according to Section 5.2 of [RFC4821]. The same identifier can | |||
| appear multiple times in the list because of retransmissions. The | appear multiple times in the list because of retransmissions. The | |||
| maximum size of this list is calculated such that when the list is | maximum size of this list is calculated such that when the list is | |||
| added to the Report Response, the total size of the packet does not | added to the Report Response, the total size of the packet does not | |||
| skipping to change at page 10, line 25 ¶ | skipping to change at page 11, line 27 ¶ | |||
| It could have been possible to use the checksum generated in the UDP | It could have been possible to use the checksum generated in the UDP | |||
| checksum for this, but this value is generally not accessible to | checksum for this, but this value is generally not accessible to | |||
| applications. Also, sometimes the checksum is not calculated or is | applications. Also, sometimes the checksum is not calculated or is | |||
| off-loaded to network hardware. | off-loaded to network hardware. | |||
| 4.2.6. Using Sequence Numbers as Packet Identifiers | 4.2.6. Using Sequence Numbers as Packet Identifiers | |||
| When using sequence numbers, a small header similar to the TURN | When using sequence numbers, a small header similar to the TURN | |||
| ChannelData header, as defined in Section 11.4 of [RFC5766], is added | ChannelData header, as defined in Section 11.4 of [RFC5766], is added | |||
| in front of all packets that are not a STUN Probe Indication or | in front of all packets that are not a STUN Probe Indication or | |||
| Request. The sequence number is monotonically incremented by one for | Request. The initial sequence number MUST be randomized and is | |||
| each packet sent. The most significant bit of the sequence number is | monotonically incremented by one for each packet sent. The most | |||
| always 0. The server collects the sequence number of the packets | significant bit of the sequence number is always 0. The server | |||
| sent, or the 4 first bytes of the transaction ID if a STUN Probe | collects the sequence number of the packets sent, or the 4 first | |||
| Indication or Request is sent. In that case, the most significant | bytes of the transaction ID if a STUN Probe Indication or Request is | |||
| bit of the 4 first bytes is set to 1. | sent. In that case, the most significant bit of the 4 first bytes is | |||
| set to 1. | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Channel Number | Length | | | Channel Number | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |0| Sequence number | | |0| Sequence number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| / Application Data / | / Application Data / | |||
| skipping to change at page 12, line 39 ¶ | skipping to change at page 13, line 48 ¶ | |||
| 6.3. PADDING | 6.3. PADDING | |||
| The PADDING attribute allows for the entire message to be padded to | The PADDING attribute allows for the entire message to be padded to | |||
| force the STUN message to be divided into IP fragments. PADDING | force the STUN message to be divided into IP fragments. PADDING | |||
| consists entirely of a free-form string, the value of which does not | consists entirely of a free-form string, the value of which does not | |||
| matter. PADDING can be used in either Binding Requests or Binding | matter. PADDING can be used in either Binding Requests or Binding | |||
| Responses. | Responses. | |||
| PADDING MUST NOT be longer than the length that brings the total IP | PADDING MUST NOT be longer than the length that brings the total IP | |||
| datagram size to 64K. It SHOULD be equal in length to the MTU of the | datagram size to 64K. It SHOULD be equal in length to the MTU of the | |||
| outgoing interface, rounded up to an even multiple of four bytes. | outgoing interface, rounded up to an even multiple of four bytes and | |||
| Because STUN messages with PADDING are intended to test the behavior | SHOULD ensure a probe does not result in a packet larger than the MTU | |||
| of UDP fragments, they are an exception to the usual rule that STUN | fo the outgoing interface. STUN messages sent with PADDING are | |||
| messages be less than the MTU of the path. | intended to test the behavior of UDP fragments, therefore they are an | |||
| exception to the usual rule that STUN messages need to be less than | ||||
| the PMTU for the path. | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| The PMTUD mechanism described in this document, when used without the | The PMTUD mechanism described in this document, when used without the | |||
| signalling mechanism described in Section 5.1, does not introduce any | signalling mechanism described in Section 5.1, does not introduce any | |||
| specific security considerations beyond those described in [RFC4821]. | specific security considerations beyond those described in [RFC4821] | |||
| and [I-D.ietf-tsvwg-datagram-plpmtud]. | ||||
| The attacks described in Section 11 of [RFC4821] apply equally to the | The attacks described in Section 11 of [RFC4821] apply equally to the | |||
| mechanism described in this document. | mechanism described in this document. | |||
| The amplification attacks introduced by the signalling mechanism | The amplification attacks introduced by the signalling mechanism | |||
| described in Section 5.1 can be prevented by using one of the | described in Section 5.1 can be prevented by using one of the | |||
| techniques described in that section. | techniques described in that section. | |||
| The Simple Probing mechanism may be used without authentication | The Simple Probing mechanism may be used without authentication | |||
| because this usage by itself cannot trigger an amplification attack | because this usage by itself cannot trigger an amplification attack | |||
| skipping to change at page 14, line 29 ¶ | skipping to change at page 15, line 46 ¶ | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU | [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU | |||
| Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, | Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, | |||
| <http://www.rfc-editor.org/info/rfc4821>. | <http://www.rfc-editor.org/info/rfc4821>. | |||
| [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage | ||||
| Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, | ||||
| March 2017, <https://www.rfc-editor.org/info/rfc8085>. | ||||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <http://www.rfc-editor.org/info/rfc8174>. | May 2017, <http://www.rfc-editor.org/info/rfc8174>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.ietf-tsvwg-datagram-plpmtud] | ||||
| Fairhurst, G., Jones, T., Tuexen, M., Ruengeler, I., and | ||||
| T. Voelker, "Packetization Layer Path MTU Discovery for | ||||
| Datagram Transports", draft-ietf-tsvwg-datagram-plpmtud-12 | ||||
| (work in progress), December 2019. | ||||
| [I-D.martinsen-tram-stuntrace] | [I-D.martinsen-tram-stuntrace] | |||
| Martinsen, P. and D. Wing, "STUN Traceroute", draft- | Martinsen, P. and D. Wing, "STUN Traceroute", draft- | |||
| martinsen-tram-stuntrace-01 (work in progress), June 2015. | martinsen-tram-stuntrace-01 (work in progress), June 2015. | |||
| [I-D.martinsen-tram-turnbandwidthprobe] | [I-D.martinsen-tram-turnbandwidthprobe] | |||
| Martinsen, P., Andersen, T., Salgueiro, G., and M. Petit- | Martinsen, P., Andersen, T., Salgueiro, G., and M. Petit- | |||
| Huguenin, "Traversal Using Relays around NAT (TURN) | Huguenin, "Traversal Using Relays around NAT (TURN) | |||
| Bandwidth Probe", draft-martinsen-tram- | Bandwidth Probe", draft-martinsen-tram- | |||
| turnbandwidthprobe-00 (work in progress), May 2015. | turnbandwidthprobe-00 (work in progress), May 2015. | |||
| skipping to change at page 15, line 15 ¶ | skipping to change at page 16, line 38 ¶ | |||
| [RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using | [RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using | |||
| Relays around NAT (TURN): Relay Extensions to Session | Relays around NAT (TURN): Relay Extensions to Session | |||
| Traversal Utilities for NAT (STUN)", RFC 5766, | Traversal Utilities for NAT (STUN)", RFC 5766, | |||
| DOI 10.17487/RFC5766, April 2010, | DOI 10.17487/RFC5766, April 2010, | |||
| <https://www.rfc-editor.org/info/rfc5766>. | <https://www.rfc-editor.org/info/rfc5766>. | |||
| Appendix A. Release Notes | Appendix A. Release Notes | |||
| This section must be removed before publication as an RFC. | This section must be removed before publication as an RFC. | |||
| A.1. Modifications between draft-ietf-tram-stun-pmtud-14 and draft- | A.1. Modifications between draft-ietf-tram-stun-pmtud-15 and draft- | |||
| ietf-tram-stun-pmtud-14 | ||||
| o Modifications to address DISCUSS and COMMENT from IESG review | ||||
| A.2. Modifications between draft-ietf-tram-stun-pmtud-14 and draft- | ||||
| ietf-tram-stun-pmtud-13 | ietf-tram-stun-pmtud-13 | |||
| o Modifications to address COMMENTS from IESG review | o Modifications to address COMMENTS from IESG review | |||
| A.2. Modifications between draft-ietf-tram-stun-pmtud-13 and draft- | A.3. Modifications between draft-ietf-tram-stun-pmtud-13 and draft- | |||
| ietf-tram-stun-pmtud-12 | ietf-tram-stun-pmtud-12 | |||
| o Modifications to address nits | o Modifications to address nits | |||
| A.3. Modifications between draft-ietf-tram-stun-pmtud-12 and draft- | A.4. Modifications between draft-ietf-tram-stun-pmtud-12 and draft- | |||
| ietf-tram-stun-pmtud-11 | ietf-tram-stun-pmtud-11 | |||
| o Modifications following IESG review. Incorporated RFC5780 PADDING | o Modifications following IESG review. Incorporated RFC5780 PADDING | |||
| attribute (Adam's Discuss) and added IPv6 language (Suresh's | attribute (Adam's Discuss) and added IPv6 language (Suresh's | |||
| Discuss). | Discuss). | |||
| A.4. Modifications between draft-ietf-tram-stun-pmtud-11 and draft- | A.5. Modifications between draft-ietf-tram-stun-pmtud-11 and draft- | |||
| ietf-tram-stun-pmtud-10 | ietf-tram-stun-pmtud-10 | |||
| o Modifications following IESG review. | o Modifications following IESG review. | |||
| A.5. Modifications between draft-ietf-tram-stun-pmtud-10 and draft- | A.6. Modifications between draft-ietf-tram-stun-pmtud-10 and draft- | |||
| ietf-tram-stun-pmtud-09 | ietf-tram-stun-pmtud-09 | |||
| o Modifications following reviews for gen-art (Roni Even) and secdir | o Modifications following reviews for gen-art (Roni Even) and secdir | |||
| (Carl Wallace). | (Carl Wallace). | |||
| A.6. Modifications between draft-ietf-tram-stun-pmtud-09 and draft- | A.7. Modifications between draft-ietf-tram-stun-pmtud-09 and draft- | |||
| ietf-tram-stun-pmtud-08 | ietf-tram-stun-pmtud-08 | |||
| o Add 3 ways of preventing amplification attacks. | o Add 3 ways of preventing amplification attacks. | |||
| A.7. Modifications between draft-ietf-tram-stun-pmtud-08 and draft- | A.8. Modifications between draft-ietf-tram-stun-pmtud-08 and draft- | |||
| ietf-tram-stun-pmtud-07 | ietf-tram-stun-pmtud-07 | |||
| o Updates following Spencer's review. | o Updates following Spencer's review. | |||
| A.8. Modifications between draft-ietf-tram-stun-pmtud-07 and draft- | A.9. Modifications between draft-ietf-tram-stun-pmtud-07 and draft- | |||
| ietf-tram-stun-pmtud-06 | ietf-tram-stun-pmtud-06 | |||
| o Updates following Shepherd review. | o Updates following Shepherd review. | |||
| A.9. Modifications between draft-ietf-tram-stun-pmtud-06 and draft- | A.10. Modifications between draft-ietf-tram-stun-pmtud-06 and draft- | |||
| ietf-tram-stun-pmtud-05 | ietf-tram-stun-pmtud-05 | |||
| o Nits. | o Nits. | |||
| o Restore missing changelog for previous version. | o Restore missing changelog for previous version. | |||
| A.10. Modifications between draft-ietf-tram-stun-pmtud-05 and draft- | A.11. Modifications between draft-ietf-tram-stun-pmtud-05 and draft- | |||
| ietf-tram-stun-pmtud-04 | ietf-tram-stun-pmtud-04 | |||
| o Modifications following Brandon Williams review. | o Modifications following Brandon Williams review. | |||
| A.11. Modifications between draft-ietf-tram-stun-pmtud-04 and draft- | A.12. Modifications between draft-ietf-tram-stun-pmtud-04 and draft- | |||
| ietf-tram-stun-pmtud-03 | ietf-tram-stun-pmtud-03 | |||
| o Modifications following Simon Perreault and Brandon Williams | o Modifications following Simon Perreault and Brandon Williams | |||
| reviews. | reviews. | |||
| A.12. Modifications between draft-ietf-tram-stun-pmtud-03 and draft- | A.13. Modifications between draft-ietf-tram-stun-pmtud-03 and draft- | |||
| ietf-tram-stun-pmtud-02 | ietf-tram-stun-pmtud-02 | |||
| o Add new Overview of Operations section with ladder diagrams. | o Add new Overview of Operations section with ladder diagrams. | |||
| o Authentication is mandatory for the Complete Probing mechanism, | o Authentication is mandatory for the Complete Probing mechanism, | |||
| optional for the Simple Probing mechanism. | optional for the Simple Probing mechanism. | |||
| o All the ICE specific text moves to a separate draft to be | o All the ICE specific text moves to a separate draft to be | |||
| discussed in the ICE WG. | discussed in the ICE WG. | |||
| skipping to change at page 17, line 26 ¶ | skipping to change at page 19, line 9 ¶ | |||
| o Each usage of this specification must the format of the | o Each usage of this specification must the format of the | |||
| IDENTIFIERS attribute contents. | IDENTIFIERS attribute contents. | |||
| o Better define the implicit signaling mechanism. | o Better define the implicit signaling mechanism. | |||
| o Extend the Security Consideration section. | o Extend the Security Consideration section. | |||
| o Tons of nits. | o Tons of nits. | |||
| A.13. Modifications between draft-ietf-tram-stun-pmtud-02 and draft- | A.14. Modifications between draft-ietf-tram-stun-pmtud-02 and draft- | |||
| ietf-tram-stun-pmtud-01 | ietf-tram-stun-pmtud-01 | |||
| o Cleaned up references. | o Cleaned up references. | |||
| A.14. Modifications between draft-ietf-tram-stun-pmtud-01 and draft- | A.15. Modifications between draft-ietf-tram-stun-pmtud-01 and draft- | |||
| ietf-tram-stun-pmtud-00 | ietf-tram-stun-pmtud-00 | |||
| o Added Security Considerations Section. | o Added Security Considerations Section. | |||
| o Added IANA Considerations Section. | o Added IANA Considerations Section. | |||
| A.15. Modifications between draft-ietf-tram-stun-pmtud-00 and draft- | A.16. Modifications between draft-ietf-tram-stun-pmtud-00 and draft- | |||
| petithuguenin-tram-stun-pmtud-01 | petithuguenin-tram-stun-pmtud-01 | |||
| o Adopted by WG - Text unchanged. | o Adopted by WG - Text unchanged. | |||
| A.16. Modifications between draft-petithuguenin-tram-stun-pmtud-01 and | A.17. Modifications between draft-petithuguenin-tram-stun-pmtud-01 and | |||
| draft-petithuguenin-tram-stun-pmtud-00 | draft-petithuguenin-tram-stun-pmtud-00 | |||
| o Moved some Introduction text to the Probing Mechanism section. | o Moved some Introduction text to the Probing Mechanism section. | |||
| o Added cross-reference to the other two STUN troubleshooting | o Added cross-reference to the other two STUN troubleshooting | |||
| mechanism drafts. | mechanism drafts. | |||
| o Updated references. | o Updated references. | |||
| o Added Gonzalo Salgueiro as co-author. | o Added Gonzalo Salgueiro as co-author. | |||
| A.17. Modifications between draft-petithuguenin-tram-stun-pmtud-00 and | A.18. Modifications between draft-petithuguenin-tram-stun-pmtud-00 and | |||
| draft-petithuguenin-behave-stun-pmtud-03 | draft-petithuguenin-behave-stun-pmtud-03 | |||
| o General refresh for republication. | o General refresh for republication. | |||
| A.18. Modifications between draft-petithuguenin-behave-stun-pmtud-03 | A.19. Modifications between draft-petithuguenin-behave-stun-pmtud-03 | |||
| and draft-petithuguenin-behave-stun-pmtud-02 | and draft-petithuguenin-behave-stun-pmtud-02 | |||
| o Changed author address. | o Changed author address. | |||
| o Changed the IPR to trust200902. | o Changed the IPR to trust200902. | |||
| A.19. Modifications between draft-petithuguenin-behave-stun-pmtud-02 | A.20. Modifications between draft-petithuguenin-behave-stun-pmtud-02 | |||
| and draft-petithuguenin-behave-stun-pmtud-01 | and draft-petithuguenin-behave-stun-pmtud-01 | |||
| o Defined checksum and sequential numbers as possible packet | o Defined checksum and sequential numbers as possible packet | |||
| identifiers. | identifiers. | |||
| o Updated the reference to RFC 5389 | o Updated the reference to RFC 5389 | |||
| o The FINGERPRINT attribute is now mandatory. | o The FINGERPRINT attribute is now mandatory. | |||
| o Changed the delay between Probe indication and Report request to | o Changed the delay between Probe indication and Report request to | |||
| be RTO/2 or 50 milliseconds. | be RTO/2 or 50 milliseconds. | |||
| o Added ICMP packet processing. | o Added ICMP packet processing. | |||
| o Added Full-Stop Timeout detection. | o Added Full-Stop Timeout detection. | |||
| o Stated that Binding request with PMTUD-SUPPORTED does not start | o Stated that Binding request with PMTUD-SUPPORTED does not start | |||
| the PMTUD process if already started. | the PMTUD process if already started. | |||
| A.20. Modifications between draft-petithuguenin-behave-stun-pmtud-01 | A.21. Modifications between draft-petithuguenin-behave-stun-pmtud-01 | |||
| and draft-petithuguenin-behave-stun-pmtud-00 | and draft-petithuguenin-behave-stun-pmtud-00 | |||
| o Removed the use of modified STUN transaction but shorten the | o Removed the use of modified STUN transaction but shorten the | |||
| retransmission for the simple probing mechanism. | retransmission for the simple probing mechanism. | |||
| o Added a complete probing mechanism. | o Added a complete probing mechanism. | |||
| o Removed the PADDING-RECEIVED attribute. | o Removed the PADDING-RECEIVED attribute. | |||
| o Added release notes. | o Added release notes. | |||
| End of changes. 49 change blocks. | ||||
| 139 lines changed or deleted | 180 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/ | ||||