The Transmission Control Protocol provides a communication service at an intermediate level between an application program and the Internet Protocol.
At the lower levels of the protocol stack, due to network congestion, traffic load balancing, or other unpredictable network behaviour, IP packets may be lost, duplicated, or delivered out of order.