&gt; If you wanted reliable transport you would have used TCP or a higher level abstraction.<p>Nobody asked for that, just to send slightly larger packets that will probably get through.<p>&gt; If you wanted simple transport of large data chunks, you would have chosen likewise.<p>Why?  A 4KB data chunk doesn&#x27;t need TCP more than a 1KB data chunk.<p>You know the 1500 byte MTU is completely arbitrary and many networks set it higher, right?<p>&gt; You picked UDP because you have latency requirements that cannot be met by TCP, and that means you need to know what your packets are actually doing, and that includes fragmentation.<p>Fragmentation itself is a cost of microseconds.  The main problem with TCP is head of line blocking, and moderately large UDP packets don&#x27;t have to deal with that.<p>You don&#x27;t need to trace every packet all the way through the network to get low latency and manually handle loss.<p>&gt; the apps for which GCE is &quot;unusable&quot; are buggy apps to start with<p>Nothing you listed is a bug.