Article | REF: TE7570 V1

TCP transport protocol

Author: David ROS

Publication date: May 10, 2005

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

  • David ROS: Lecturer at the École nationale supérieure des télécommunications (ENST) in Brittany, France

 INTRODUCTION

In IP networks, the Internet Protocol (IP) provides a datagram-based service; in other words, it offers no guarantee that packets will be received correctly. Packets may be lost or duplicated, or they may arrive in a different order from the one in which they were sent. Many applications require orderly and reliable data transfer. The TCP (Transmission Control Protocol) transport protocol plays a fundamental role in ensuring reliable communication services between applications hosted on terminal equipment. Following the "end-to-end principle", the underlying IP network is seen as a black box, with TCP responsible for hiding its imperfections from applications.

Since its conception in the early 1980s, TCP has established itself as the transport protocol of choice for many applications. What's more, it is indisputably the most widely used protocol in IP-based networks, in terms of packets and bytes exchanged.

In the Internet's protocol-layer reference model, TCP is located at Layer 4 (figure 1 ). It is generally implemented by the operating system, which then offers these transport services to applications via an Application Programming Interface (API), the most popular of which is known as API sockets [1] .

TCP offers the applications and protocols that use it a transparent, error-free, bidirectional (full-duplex) channel carrying a sequence of bytes. It's a point-to-point protocol (not suitable for multicast) and end-to-end: only the two ends of the communication, or connection, unwind the protocol (figure 2 ).

When an application supplies TCP with data for transmission, TCP can split this data into blocks, in order to adapt the size of the resulting packets to the size of the network's Maximum Transfer Unit (MTU). Each of these blocks, preceded by a header, forms the Protocol Data Unit (PDU) of the protocol, called a segment (figure 3 ).

The transport service offered by TCP is sometimes referred to as a "byte-stream": from its point of view, TCP transports bytes without any structure, because it can cut application data into segments arbitrarily, regardless of their semantics; the delimitation of these bytes is the exclusive responsibility of the application, not TCP.

Reliability is ensured by an acknowledgement mechanism. Each transmitted byte is assigned a sequence number, which is used to acknowledge received data....

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Networks and Telecommunications

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
TCP transport protocol