TCP is a connection-oriented protocol that is widely used for data transmission over the internet. It provides process-to-process communication using port numbers and assigns sequence numbers to each transmitted data segment. TCP establishes connections using a three-way handshake between a client and server, allowing for full-duplex communication and reliable data transfer through acknowledgement numbers and retransmission of lost packets. Connections are terminated when either party closes the connection.