Log in Sign up
Back to Discover
💻

Transmission Control Protocol

technology Maturity 11-13

The internet helps us talk. It sends messages to our friends. This tool makes sure they arrive. It checks for mistakes too. It helps us read mail online.

TCP connection establishment.svg
TCP connection establishment.svg
Does your computer send mail?

36 words

The internet sends many things to us. It sends mail and web pages.

TCP connection establishment.svg
TCP connection establishment.svg
A special tool helps this work. It makes sure data is correct. It also makes sure it is in order. First, two computers must talk. They must agree to connect. This is like a handshake. If a piece of data is lost, the tool sends it again. This keeps everything safe and right. It is a very important part of the internet.
Tcp state diagram fixed new.svg
Tcp state diagram fixed new.svg

83 words

The internet sends many things to us. It sends email and web pages. A tool called TCP helps this work. TCP stands for Transmission Control Protocol. It is a set of rules for the internet.

TCP connection establishment.svg
TCP connection establishment.svg

TCP makes sure data is correct and in order. It works by breaking data into small parts. We call these parts segments.

Tcp.svg
Tcp.svg
A sender divides a file into these segments. Then, it sends them through the network.

TCP is very reliable. It uses a way called a three-way handshake to start. This is like a digital handshake between two computers. They must agree to connect before they send data.

Tcp state diagram fixed new.svg
Tcp state diagram fixed new.svg

Sometimes, data gets lost in the network. TCP can find these lost pieces. It uses a method called positive acknowledgment. This means the receiver sends a message back to say, "I got it!" If the sender does not hear back, it sends the data again. This keeps your files safe. It is a core part of how the internet works today.

174 words

The internet is a giant web of many different networks. To make sure information moves correctly, we use a set of rules called the Transmission Control Protocol, or TCP. This tool is a core part of the Internet Protocol suite, often called TCP/IP. TCP is very important for many things you do online every day. It helps send your emails and loads web pages in your browser. It also works for file transfers and streaming media.

TCP connection establishment.svg
TCP connection establishment.svg

TCP works by making sure data arrives perfectly. It breaks a large file into smaller pieces called segments. The sender keeps track of every segment it sends out. When the receiver gets a segment, it sends back a message called an acknowledgment. This is like saying, "I received this part!" If the sender does not get that message, it sends the data again. This process is called positive acknowledgment with re-transmission.

Tcp.svg
Tcp.svg

Before any data can move, the two computers must talk first. This is called a connection-oriented process. They use a method called a three-way handshake to agree to work together. First, a client sends a request to a server. The server must be in a state called "listening" to hear the request. Once they finish this digital handshake, the connection is established. This ensures both sides are ready to share information.

Tcp state diagram fixed new.svg
Tcp state diagram fixed new.svg

People first described these ideas in May 1974. Vint Cerf and Bob Kahn wrote about using packet switching to share resources. They worked with Gérard Le Lann on these early ideas. Later, Vint Cerf, Yogen Dalal, and Carl Sunshine wrote a formal specification in December 1974. This document even used the word "internet" for the first time. In 2004, Cerf and Kahn won the Turing Award for this work.

TCP close() - sequence diagram.svg
TCP close() - sequence diagram.svg

TCP is built for accuracy rather than speed. It makes sure every single byte is in the right order. Because it checks everything, it can sometimes cause a delay of a few seconds. Some things, like live voice calls, use a different tool called UDP instead. UDP is faster because it does not check for every error. TCP is like a careful mail carrier who checks every address. UDP is like a fast runner who just keeps going.

TCP CLOSE.svg
TCP CLOSE.svg

381 words

The Transmission Control Protocol, commonly known as TCP, is a fundamental pillar of the Internet protocol suite. It functions as a core communication service within the transport layer of the TCP/IP model. TCP is designed to provide reliable, ordered, and error-checked delivery of a stream of octets, which are also called bytes, between applications on different hosts. Because it ensures that data arrives exactly as it was sent, it is essential for major internet applications like the World Wide Web, email, file transfers, and remote administration.

TCP connection establishment.svg
TCP connection establishment.svg

To ensure reliability, TCP operates as a connection-oriented protocol. This means that a sender and a receiver must first establish a formal connection using agreed-upon parameters before any actual data is exchanged. This process begins with a three-way handshake, which is an active open procedure used to synchronize the two devices. Before this can happen, a server must perform a passive open, meaning it sits in a "listening" state to wait for incoming connection requests from clients. This careful setup phase ensures that both parties are ready to communicate effectively.

Once a connection is established, TCP manages the complex task of data transmission through a series of organized steps. When an application wants to send a large file, the TCP layer divides that data into smaller, manageable chunks called segments. These segments are then passed down to the internet layer, where the Internet Protocol (IP) encapsulates each TCP segment into an IP datagram. The IP datagram includes a header containing the destination IP address to guide the data through the network. This layering allows the application to ignore the messy details of how the network actually moves the bits.

Tcp.svg
Tcp.svg

Reliability is maintained through a technique called positive acknowledgment with re-transmission. As the receiver gets each segment, it must respond with an acknowledgment message to confirm receipt. The sender keeps a detailed record of every packet sent and maintains a timer for each one. If the timer expires before the sender receives an acknowledgment, it assumes the packet was lost or corrupted and sends the data again. This process allows TCP to detect and fix problems like lost, duplicated, or out-of-order packets. However, this constant checking and re-sending can increase latency, sometimes causing delays of several seconds.

A TCP segment is composed of two main parts: a segment header and a data section. The header contains ten mandatory fields and may include an optional extension field known as "Options." These options can serve various purposes, such as the Maximum Segment Size (SS) or Selective Acknowledgment (SACK), which helps the receiver tell the sender exactly which blocks of data arrived. The data section, or the payload, contains the actual information being sent by the application. The length of this data section is not explicitly stated in the segment header; instead, it is calculated by comparing the total IP datagram length to the combined size of the headers.

The history of TCP is rooted in the early development of internetworking. In May 1974, Vint Cerf and Bob Kahn described a protocol for sharing resources using packet switching. They incorporated concepts from the French CYCLADES project, working alongside Gérard Le Lann. In December 1974, Vint Cerf, Yogen Dalal, and Carl Sunshine published the "Specification of Internet Transmission Control Program." This historic document contained the first known use of the term "internet" as a shorthand for internetwork. Over time, the original monolithic program was divided into the modular TCP/IP architecture we use today. For their foundational work, Vint Cerf and Bob Kahn were awarded the Turing Award in 2004.

TCP close() - sequence diagram.svg
TCP close() - sequence diagram.svg

Because TCP prioritizes accuracy over speed, it is not always the best choice for every task. For real-time applications like voice over IP, where speed is more important than catching every single error, developers often use the User Datagram Protocol (UDP) instead. UDP provides a connectionless service that prioritizes timely delivery over the strict reliability found in TCP. While TCP is excellent for web browsing and files, it can struggle with network congestion. To manage this, TCP employs congestion avoidance mechanisms to help stabilize the flow of data across the diverse and unpredictable networks of the modern internet.

TCP CLOSE.svg
TCP CLOSE.svg

704 words
🖼️ Images & Media (5)
File:Tcp state diagram fixed new.svg
Tcp state diagram fixed new.svg
File:TCP connection establishment.svg
TCP connection establishment.svg
File:TCP CLOSE.svg
TCP CLOSE.svg
File:TCP close() - sequence diagram.svg
TCP close() - sequence diagram.svg
File:Tcp.svg
Tcp.svg
Up Next
💻
Internet protocol suite
Technology
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.