title: Who take care tcp message order
body: <p>I listen to tcp socket  in linux with <code>recv</code> or <code>recvfrom</code>.</p>
  
  <p>Who taking care that I will get the tcp packets on the right order?</p>
  
  <p>Is that the kernel taking care so if packet 1 came after packet 2 the kernel will drop out both/save packet 2 until packet 1 will come?</p>
  
  <p>Or maybe I need to take care on user-space to the order of tcp packet?</p>