Can I use ping -l 2000 host_ip_address from MS machine or ping -s 2000 host_ip_address from Linux or
Can I use ping -l 2000 host_ip_address from MS machine or ping -s 2000 host_ip_address from Linux or Unix to see if the destination host is not blocking ICMP type 3 code 4 or response to ICMP type 3 code 4? Or is there another method?
You are asking specifically about Path MTU Discovery as described by RFC 1191. ICMP type 3 code 4 is the "Host Unreachable: Fragmentation Needed but DF Set" message that is returned by an RFC 1191-compliant interface when it receives a packet that is too large for its MTU. This should apply to any Layer 3 interface (where MTU is defined) - switches are Layer 2 but maximum frame size is related to MTU although they don't comply with RFC 1191 and don't respond with ICMP messages.
The big problems that you are hinting at are:
Not all interfaces comply with RFC1191 (black holes)
ICMP is often blocked at gateways or inhibited at the interface
When ICMP code 3 type 4 are not coming back in response to oversized packets, it is difficult to determine exactly why. Non-compliance is not as wide-spread as ICMP blocking (in my understanding). It's your best guess.
Using ping (and traceroute) to test for path MTU end-to-end is the typical method. Be sure to set the "Do Not Fragment" bit in the ICMP by using –f flag (Windows) or –M flag (Linux) otherwise the oversized packet will simply be fragmented without notice.
For further reading on MTU issue, consider reading the Apparent Networks white papers on MTU Conflicts and Jumbo MTU available at http://www.apparenetNetworks.com/wp/.
This was first published in October 2003