TCP
TCP provides connection oriented delivery. TCP requires that a session be established before hosts can exchange data. TCP is a means for building a reliable communication stream on top of the unreliable packet INTERNET PROTOCOL(IP).
TCP is the protocol that support nearly all internet applications.
the sending machine expects an acknowledgment for each packet. If a period elapses without an acknowledgment, it assumes that the information did not arrive and automatically resends it. Incase the packet delivered is damaged a negative acknowledgment NACK is sent. After this packet is resent again.
the other functions are allocating sequence number to each packet transmitted and handling flow control to make sure that the sender does not flood the receiver with packets.