By: Christine Martz
Meaning of ACK – “Acknowledgment”, is a message sent to acknowledge the receipt of an error free
data packet from a remote machine. Acknowledgment is service that is used by TCP,
to transmit data reliably in an IP environment.
TCP offers reliability by providing reliable packet delivery. When sending a
packet, it sequences data bytes with an acknowledgment number that indicates to the destination the
next byte the source expects to receive. The TCP packet waits for a specified period of time for
an acknowledgment that the byte has not only been received, but that it has been received without
error. If the reply does not come within the expected time frame, the byte is assumed to have been
lost and the data is retransmitted. This method is very reliable and lets devices deal with lost,
delayed, misread, or duplicate, packets.
“…A sending TCP runs a separate retransmission timer for each TCP data
segment. If the retransmission timer expires and no acknowledgment packet has arrived indicating
successful delivery of the segment to the receiver, TCP assumes the data segment is lost,
arrived corrupted (failed checksum), or was delivered to the wrong address. In such cases,
TCP resends the data segment; and restarts the retransmission timer for this segment. ” [David Piscitello - Core Competence, Inc.]
“…The client sends a TCP segment to the server with an initial sequence
number for the connection and a window size indicating the size of a buffer on the client
to store incoming segments from the server. The server sends back a TCP segment containing
its chosen initial sequence number, an acknowledgment of the clientÕs sequence number,
and a window size indicating the size of a buffer on the server to store incoming segments
from the client. The client sends a TCP segment to the server containing an acknowledgment
of the serverÕs sequence number.” [Microsoft Corporation]
“…A simple transport protocol might implement a reliability-and-flow-control
technique where the source sends one packet, starts a timer, and waits for an acknowledgment
before sending a new packet. If the acknowledgment is not received before the timer expires,
the source retransmits the packet. Such a technique is called positive acknowledgment and
retransmission (PAR).” [Cisco Systems]
“… The TCP/IP software on both computers handles all 'low-level' aspects
of the communication between the browser and server. These are the TCP, UDP, checksum and TCP
acknowledgment and re-try aspects which transport HTTP messages and similarly the messages
sent as part of all other protocols, such as SMTP, FTP etc.” [Verizon]
“…The TCP must recover from data that is damaged, lost, duplicated, or
delivered out of order by the internet communication system. This is achieved by assigning a
sequence number to each octet transmitted, and requiring a positive acknowledgment (ACK) from
the receiving TCP.” [Defense Advanced Research Projects Agency]