ⓘ Transmission Control Protocol


ⓘ Transmission Control Protocol

The Transmission Control Protocol is one of the main protocols of the Internet Protocol Suite. TCP is part of the popular "TCP/IP" combination used by the Internet. The Internet Protocol, or IP, makes sure data on the internet gets to the right place. Then TCP makes sure the data is put in the right order, and none of it is missing. TCP also helps to control traffic on the internet so it does not get overloaded. These protocols, which are kind of like languages that computers use, are designed so that any computer, and any program, can use them.


1. Importance of TCP

TCP makes it easier for computer programs to communicate with each other, typically over a computer network. When a program wants to send a lot of data, TCP is in charge of dividing the data, sending it through the network, and putting it back together correctly on a different computer. In the process, IP chooses which wires and "intersections" get used to send all the data pieces in the fastest way. It does this using packets.

If there are a lot of people using the network, it can get overloaded. Also sometimes weather, power outages, and other problems can make communication hard. Routers on the Internet use something called load balancing to try to fix some of these problems. But still, information can be delivered out of order, get lost, or even duplicated. TCP is designed to notice all of these problems and try to fix them. This can take a while, which is why the Internet sometimes seems slow. Once the TCP receiver has finally reassembled a perfect copy of the data originally transmitted, it passes that data to the computer program that asked for it. In this way, the program does not have to know about the network, and TCP does not have to know about the programs data.


2. Other websites

  • TCP EFSM diagram - A detailed description of TCP states.
  • RFC 793 - TCP v4
  • TCP, Transmission Control Protocol
  • RFC 2581 - TCP Congestion Control
  • RFC 675 - Specification of Internet Transmission Control Program, December 1974 Version
  • The basics of Transmission Control Protocol
  • RFC 1379 - Extending TCP for Transactions - Concepts
  • IANA Port Assignments
  • RFC 2018 - TCP Selective Acknowledgment Options
  • RFC 2988 - Computing TCPs Retransmission Timer
  • RFC 1122 - includes some error corrections for TCP
  • Dissertation about TCP improvements in wired and wireless networks Archived 2008-05-01 at the Wayback Machine Dissertation
  • RFC 4614 - A Roadmap for TCP Specification Documents
  • RFC 1948 - Defending Against Sequence Number Attacks
  • John Kristoffs Overview of TCP Fundamental concepts behind TCP and how it is used to transport data between two endpoints
  • The Law of Leaky Abstractions by Joel Spolsky
  • Checksum example
  • RFC 1323 - TCP-Extensions