target = "https://www.rfc-editor.org/rfc/rfc8899#section-4.3" # 4.3. Black Hole Detection and Reducing the PLPMTU # # The description that follows uses the set of constants defined in # Section 5.1.2 and variables defined in Section 5.1.3. # # Black hole detection is triggered by an indication that the network # path could be unable to support the current PLPMTU size. # # There are three indicators that can be used to detect black holes: # # * A validated PTB message can be received that indicates a # PL_PTB_SIZE less than the current PLPMTU. A DPLPMTUD method MUST # NOT rely solely on this method. # # * A PL can use the DPLPMTUD probing mechanism to periodically # generate probe packets of the size of the current PLPMTU (e.g., # using the CONFIRMATION_TIMER, Section 5.1.1). A timer tracks # whether acknowledgments are received. Successive loss of probes # is an indication that the current path no longer supports the # PLPMTU (e.g., when the number of probe packets sent without # receiving an acknowledgment, PROBE_COUNT, becomes greater than # MAX_PROBES). # # * A PL can utilize an event that indicates the network path no # longer sustains the sender's PLPMTU size. This could use a # mechanism implemented within the PL to detect excessive loss of # data sent with a specific packet size and then conclude that this # excessive loss could be a result of an invalid PLPMTU (as in # PLPMTUD for TCP [RFC4821]). # # The three methods can result in different transmission patterns for # packet probes and are expected to result in different responsiveness # following a change in the actual PMTU. # # A PL MAY inhibit sending probe packets when no application data has # been sent since the previous probe packet. A PL that resumes sending # user data MAY continue PLPMTU discovery for each path. This allows # it to use an up-to-date PLPMTU. However, this could result in # additional packets being sent. # # When the method detects that the current PLPMTU is not supported, # DPLPMTUD sets a lower PLPMTU and a lower MPS. The PL then confirms # that the new PLPMTU can be successfully used across the path. A # probe packet could need to be smaller than the size of the data block # generated by the application. [[spec]] level = "MUST" quote = ''' A DPLPMTUD method MUST NOT rely solely on this method. ''' [[spec]] level = "MAY" quote = ''' A PL MAY inhibit sending probe packets when no application data has been sent since the previous probe packet. ''' [[spec]] level = "MAY" quote = ''' A PL that resumes sending user data MAY continue PLPMTU discovery for each path. '''