TCP stands for Transmission Control Protocol and is one of the main protocols used for data transmission over the Internet and LANs. It works together with the IP protocol to make the well-known TCP/IP protocol suite.
Since other protocols like IP do not provide reliability over a network, TCP ensures that data transmission is reliable. It ensures that, during a transmission,
- there is no packet loss;
- there is no duplicated packets;
- the packets are in order;
- there is an acceptable delay between the packets.
TCP also bundles data into TCP packets. The data packets however do not contain an address for the source and destination machines, since IP packets take care of the addressing and routing. TCP only has to identify which application on a machine the data packets are intended to. This is done through port numbers, which are numbers identifying 'entry points' to applications running on a machine.