title: Is TCP 100% reliable?
body: <p>Although TCP is a reliable protocol which provides retransmission and acknowledgement mechanisms but I believe its not 100% reliable since the successful return of send() doesn't ensure that the data has reached the destination endpoint and only means that the data is copied to the kernel buffer.</p>
  
  <p>Is there any mechanism for the application to know whether data has reached successfully to the destination?</p>
  
  <p>One possible solution could be to have some acknowledgement mechanism build up into the application layer? </p>