02-05-2019 09:50 AM - edited 03-05-2019 11:14 AM
Hi,
I have some doubts regarding these three topics, in fact I arrived at the Cisco explanatory content at the following URL: https://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulation -gre / 25885-pmtud-ipfrag.html.
During the investigation I understood that the MTU is the maximum packet size that can pass through that particular medium, MSS is used in the transport layer to avoid fragmentation in the hosts that participate in the communication and that the PMTUD is used to discover the smallest MTU between two hosts that have established some TCP or UDP communication, but my question is, at what point is the PMTUD actually used? Are the machines enabled by default?
02-05-2019 08:28 PM
Hi !! The PMTU expands to path MTU, as the name states, it is used to find the maximum size of the packet which can be sent through the network without being fragmented to maximize the transmission speed.
It works like the following.
If a router is sending a packet with DF bit set to ON in that the packet should not undergo any fragmentation now if the same packet reaches a router with interface having smaller MTU, in that case, it will send a reply to the original source "Fragmentation needed but DF set" with this message the source will reduce the size of packet and retransmit it. It happens multiple times until the MTU matches.
The problem here is the original source will never come to know the exact MTU of the network.
If you are curious to learn more then find the below RFC.
https://www.ietf.org/rfc/rfc2923.txt?number=2923
02-05-2019 09:00 PM
Hi,
I want to quote blog post here
"When a host needs to transmit data out an interface, it references the interface's Maximum Transmission Unit (MTU) to determine how much data it can put into each packet. Ethernet interfaces, for example, have a default MTU of 1500 bytes, not including the Ethernet header or trailer. This means a host needing to send a TCP data stream would typically use the first 20 of these 1500 bytes for the IP header, the next 20 for the TCP header, and as much of the remaining 1460 bytes as necessary for the data payload. Encapsulating data in maximum-size packets like this allows for the least possible consumption of bandwidth by protocol overhead.
Unfortunately, not all links which compose the Internet have the same MTU. The MTU offered by a link may vary depending on the physical media type or configured encapsulation (such as GRE tunneling or IPsec encryption). When a router decides to forward an IPv4 packet out an interface, but determines that the packet size exceeds the interface's MTU, the router must fragment the packet to transmit it as two (or more) individual pieces, each within the link MTU. Fragmentation is expensive both in router resources and in bandwidth utilization; new headers must be generated and attached to each fragment. (In fact, the IPv6 specification removes transit packet fragmentation from router operation entirely, but this discussion will be left for another time.)
To utilize a path in the most efficient manner possible, hosts must find the path MTU; this is the smallest MTU of any link in the path to the distant end. For example, for two hosts communicating across three routed links with independent MTUs of 1500, 800, and 1200 bytes, the smallest (800 bytes) must be assumed by each end host to avoid fragmentation."
http://packetlife.net/blog/2008/aug/18/path-mtu-discovery/
If we will discuss Path MTU then I am remembering "Cloudflare" downtime faced due to Path MTU configuration issue in 2015.
https://blog.cloudflare.com/path-mtu-discovery-in-practice/
Regards,
Deepak Kumar
02-06-2019 05:43 AM
02-08-2019 05:27 AM - edited 02-08-2019 05:33 AM
Hi, thank you.
I had to do other research to understand better until I find that not all the computers that perform the PMTUD process, it is actually disabled in some operating systems and serves for the intermediate devices that make the interconnect know the smallest MTU of the path, taking into account the TCP MSS that treats gives no fragmentation in the hosts that originate the communication.
But now the question that came up, why do I have two MTU's if both have to be liars?
02-08-2019 10:27 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide