TCP/IP Explained

Chapter 7: The Transmission Control Protocol (TCP)

Overview

The Transmission Control Protocol (TCP) is a Connection Oriented, End-to-End Reliable protocol. It is not designed to interface with underlying network technologies since it does not provide any means to address other, distant, hosts. Similarly, it provides no methods for fragmentation or reassembly, nor for the transport through intermediate routers, or for specifying precedence. The Internet Protocol, as we have already seen, performs these tasks on behalf of the upper layers, in this case TCP. The protocol makes few assumptions as to the reliability of underlying protocols, making it general purpose in nature. [1] Upper layers, such as application processes, need not implement further mechanisms aimed at increasing reliability, since TCP dictates that all data sent be acknowledged within specified timeout periods. Where such acknowledgements fail to arrive, TCP will re-send data, thus overcoming the potentially unreliable nature of lower level protocols such as IP.

Figure 7-1: The Four Layer Model

TCP is designed to support multiple network applications. We shall see in this chapter that the protocol, as described by RFC 793, provides a method of reliably interfacing with multiple application processes (such as Telnet, FTP, etc.) through the use of Sockets. [2] This makes TCP a reliable, process-to-process service, and is therefore in use as an interface between our application process and IP itself. An application will pass data to the TCP module for eventual transmission onto the local network, and ultimate delivery to a destination host. The TCP module will, in turn, call...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Protocol Stack Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.