title: Is it worthwhile to increase TCP MTU and how does Dont Fragment flag works
body: <p>I have a custom protocol overlaying TCP that can be described as follows:-</p>
  
  <p>Client sends a packet A to the server. The server ACKS the packet A.
  Client sends a packet B.</p>
  
  <p>In other words, at any point in time, there is only one unacknowledged packet. Hence, the factors that play into account for sending messages as fast as possible are:-</p>
  
  <ol>
  <li><p>How soon can a packet arrive at the destination. This implies least amount of fragmentation
  done by TCP. If a packet can arrive in a single segment as opposed to 5 segments, the quicker the server can respond to it.</p></li>
  <li><p>The unit of work done by the server for that packet. At present, i am not focused on this point, though eventually, i will touch it also. </p></li>
  <li><p>Also assume, the rate of loss is negligible. </p></li>
  <li><p>Nagle is disabled.</p></li>
  <li><p>Typical packet sizes vary from 1KB to 3KB.</p></li>
  <li><p>Bandwidth is 1Gb/sec</p></li>
  </ol>
  
  <p>I am thinking that if i configure MTU equal to the biggest message size (3KB + headers), this should impact the number of messages that i can send in a second. My question is that are there any negative consequences in changing MTU. This application runs inside the LAN in a managed environment.</p>
  
  <p>Alternatively, if i set the don't fragment flag, would it be equivalent to the above change?</p>