The most commonly-used protocol in the IP stack, hence the tendency to call it "TCP/IP"
Provides bidirectional, sequenced, reliable delivery of data between endpoints
It does this by adding quite a bit more information to the packet header:
A TCP connection is uniquely identified by the tuple
(source IP, source port, destination IP, destination port)
All packets whose components make the same tuple belong to the same connection
Internally, the system has to keep and track lot more state about a TCP connection, including the sequence numbers and round-trip-time statistics on connections
TCP header (addition to IP header):