James Trickle uP<p>I have been having Secure Shell hangs when sending/receiving bulk data (large packets) between my workstation and a WAN server. I think I've discovered bad behavior somewhere in the WAN.</p><p>I figured it out by pinging the remote host using different sized packets with the Do Not Fragment bit set. Above a certain size, one is supposed to go from receiving ping responses to getting back ICMP error packets indicating the packet was too large and that fragmentation is needed, along with the MTU size to use. This called Path MTU Discovery.</p><p>Instead of that I get three behaviors: ping response for small packets, silence for midsized packets (bad!), and error response for too-large packets.</p><p>This is really bad news, and it seems TCP just stops working if it can't get those too-large packets through.</p><p>Anyway, the WAN provider apparently autonomously rebooted their equipment, and the problem is now gone, but it has been dogging me intermittently the last several months. It's a real pain when ssh craps out when cat'ing a long file or git fetch sessions hang.</p><p>I now have the start of a tool that I can use to monitor that bad behavior is happening, though.</p><p><a href="https://hachyderm.io/tags/networking" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>networking</span></a> <a href="https://hachyderm.io/tags/IP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>IP</span></a> <a href="https://hachyderm.io/tags/Internet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Internet</span></a> <a href="https://hachyderm.io/tags/MTU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MTU</span></a> <a href="https://hachyderm.io/tags/whine" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>whine</span></a> <a href="https://hachyderm.io/tags/software" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>software</span></a> <a href="https://hachyderm.io/tags/WAN" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WAN</span></a> <a href="https://hachyderm.io/tags/SecureShell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SecureShell</span></a> <a href="https://hachyderm.io/tags/ICMP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ICMP</span></a> <a href="https://hachyderm.io/tags/routing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>routing</span></a></p>