Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
TCP Functions: What TCP Does
(Page 1 of 2)
We have now seen where
TCP comes from and the standards that describe it.
As I said in the introduction to this section, TCP is a complicated
protocol, so it will take some time to explain how it works. The most
logical first bite in consuming this particular elephant
is to look at exactly what TCP does. From there, we can describe its
characteristics and then get into the details of its operation.
Functions Performed By TCP
Despite the complexity of TCP, its
basic operation can be reasonably simplified by describing its primary
functions. The following are what I believe to be the five main tasks
that TCP performs:
- Addressing/Multiplexing: TCP is used by
many different applications for their transport protocol. Therefore,
like its simpler sibling UDP, an important job for TCP is multiplexing
the data received from these different processes so they can be sent
out using the underlying network-layer protocol. At the same time, these
higher-layer application processes are identified using TCP ports. The
section on TCP/IP transport layer addressing
contains a great deal of detail on how this addressing works.
- Connection Establishment, Management and Termination:
TCP provides a set of procedures that devices follow to negotiate
and establish a TCP connection over which
data can travel. Once opened, TCP includes logic for managing connections
and handling problems that may result with them. When a device is done
with a TCP connection, a special process is followed to terminate it.
- Data Handling and Packaging: TCP defines
a mechanism by which applications are able to send data to it from higher
layers. This data is then packaged
into messages to be sent to the destination
TCP software. The destination software unpackages the data and gives
it to the application on the destination machine.
- Data Transfer: Conceptually, the TCP implementation
on a transmitting device is responsible for the transfer of packaged
data to the TCP process on the other device. Following the principle
of layering, this is done by having the TCP software on the sending
machine pass the data packets to the underlying network-layer protocol,
which again normally means IP.
- Providing Reliability and Transmission Quality
Services: TCP includes a
set of services and features that allow
an application to consider the sending of data using the protocol to
be reliable. This means that normally, a TCP application
doesn't have to worry about data being sent and never showing up, or
arriving in the wrong order. It also means other common problems that
might arise if IP were used directly are avoided.
- Providing Flow Control and Congestion Avoidance
Features: TCP allows the flow of data between two devices to be
controlled and managed. It also includes features to deal with congestion
that may be experienced during communication between devices.
Clearly, TCP is responsible for a
fairly significant number of key functions. This list may not seem that
impressive. The reason is that this is just a high-level look at the
protocol, and these functions are summarized in the list above; when
we look at them in detail we will see that each one actually involves
a rather significant amount of work for TCP to do.
|If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.