title: Sending UDP packets to offline host in same subnet long delay
body: <p>I run simple UDP client program on Windows 7 host. The network configuration is <code>192.168.1.50</code> host IP, <code>255.255.255.0</code> subnet mask, <code>192.168.1.1</code> default gateway.</p>
  
  <pre><code>var data = new byte[1200];    
  var sender = new UdpClient();
  // takes ~2900 ms to non-existing host in same subnet
  sender.Send(data, data.Length, new IPEndPoint(IPAddress.Parse("192.168.1.5"), 999));
  // takes ~0 ms to non-existing host outside subnet
  sender.Send(data, data.Length, new IPEndPoint(IPAddress.Parse("192.168.8.8"), 999));
  </code></pre>
  
  <p>Sending UDP packet to non-existing host (eg <code>192.168.1.5</code>) in same subnet takes about 3 seconds. But when I change destination address to non-existing address outside my subnet (eg <code>192.168.8.8</code>), packet is transmitted almost instantly.</p>
  
  <p>If I set <code>data</code> size less or equal to 1024 bytes, the packet is transmitted almost instantly in both cases.</p>
  
  <p>Is that an inherent property of network stack implementation or it can be tuned some way?</p>