” You can also prune the plant, trimming back the top edge to allow it to grow in bushier, she says. ” Malcolm bleats at Edgbaston in ’97. Also, the instance that sent the packet that elicited the Packet Too Big message should be notified that its packet has been dropped, even if the PMTU estimate has not changed, so that it may retransmit the dropped data. Retransmission should be done for only for those packets that are known to be dropped, as indicated by a Packet Too Big message. Note: An implementation can avoid the use of an asynchronous notification mechanism for PMTU decreases by postponing notification until the next attempt to send a packet larger than the PMTU estimate. No such mechanism exists for realizing that a stale PMTU value is too small, so an implementation should “age” cached values. It should, however, trigger the slow-start mechanism (i.e., only one segment should be retransmitted until acknowledgements begin to arrive again). If Path MTU Discovery is used, however, the segment size may not be a submultiple of the send space, and it may change during a connection; this means that the TCP layer may need to change the transmission window size when Path MTU Discovery changes the PMTU value.
The timestamp is set to the “reserved” value. Whenever the PMTU is decreased in response to a Packet Too Big message, the timestamp is set to the current time. Alternatively, the retransmission could be done in immediate response to a notification that the Path MTU has changed, but only for the specific connection specified by the Packet Too Big message. The packet size used in the retransmission should be no larger than the new PMTU. Note: A packetization layer must not retransmit in response to every Packet Too Big message, since a burst of several oversized segments will give rise to several such messages and hence several retransmissions of the same data. It is important to understand that the notification of the packetization layer instances using the path about the change in the PMTU is distinct from the notification of a specific instance that a packet has been dropped. Any packetization layer instance (for best jogger scrubs example, a TCP connection) that is actively using the path must be notified if the PMTU estimate is decreased. The latter should be done as soon as practical (i.e., asynchronously from the point of view of the packetization layer instance), while the former may be delayed until a packetization layer instance wants to create a packet.
TCP MSS option. When a Packet Too Big message is received, it implies that a packet was dropped by the node that sent the ICMP message. In 4.xBSD-derived implementations, this may require adding an additional field to the TCP state record. While the local representation of a path may remain constant, the actual path(s) in use may change. TCP performance can be reduced if the sender’s maximum window size is not an exact multiple of the segment size in use (this is not the congestion window size, which is always a multiple of the segment size). In such a case, the original segment can be fragmented by the IP layer during retransmission. Note: if the original packet contained a Routing header, the Routing header should be used to determine the location of the destination address within the original packet. When a Packet Too Big message is received, the node determines which path the message applies to based on the contents of the Packet Too Big message.
That is, once an attempt is made to transmit a segment of a certain size, the transport cannot split the contents of the segment into smaller segments for retransmission. The maximum window size should be set to the greatest multiple of the segment size that is less than or equal to the sender’s buffer space size. In many systems (such as those derived from 4.2BSD), the segment size is often set to 1024 octets, and the maximum window size (the “send space”) is usually a multiple of 1024 octets, so the proper relationship holds by default. It is sufficient to treat this as any other dropped segment, and wait until the retransmission timer expires to cause retransmission of the segment. A TCP implementation must also store the MSS value received from its peer, and must not send any segment larger than this MSS, regardless of the PMTU. One approach to implementing PMTU aging is to associate a timestamp field with a PMTU value. Once a minute, a timer-driven procedure runs through all cached PMTU values, and for each PMTU whose timestamp is not “reserved” and is older than the timeout interval: – The PMTU estimate is set to the MTU of the first hop link.