Monday, June 15, 2009

TCP vs UDP

This is a little more obvious than the models below, but here it is anyway:

TCP

  • Guaranteed delivery
  • Error detection via sequence and ACK numbers
  • Windowing
  • "Connection oriented"

UDP

  • "Best-effort" delivery
  • No error detection
  • No windowing
  • "Connectionless"

TCP also uses the "three-way-handshake" -> SYN; SYN/ACK; ACK

During TCP error detection, the receiving host sends an ACK with the sequence number of the next EXPECTED sequence number; not the sequence number of the last received segment. If the sender receives the ACK with the expected sequence number, the sender will re-send that segment.

If the sender does not receive an ACK before the ACK timer expires, the sender will re-transmit all of the previous segments.

Windowing refers to the amount of data a sender can send without expecting an ACK back from the recipient. It is defined by the recipient and is dynamic. It may be increased until errors start popping up in which case it will decrease the window size until it stablises again.

No comments:

Post a Comment