Role of The Transport Layer: Tracking Individual Conversations
Role of The Transport Layer: Tracking Individual Conversations
Conversation Multiplexing
Sending some types of data (for example, a streaming video) across a network, as one complete communication
stream, can consume all of the available bandwidth. segmenting the data into smaller chunks enables many
different communications, from many different users, to be interleaved (multiplexed) on the same network.
To identify each segment of data, the transport layer adds a header containing binary data organized into several
fields. It is the values in these fields that enable various transport layer protocols to perform different functions in
managing data communication.
layer protocol, which ensures that all of the data arrives at the destination. In contrast, UDP is a very simple
transport layer protocol that does not provide for any reliability.
TCP
TCP transport is analogous to sending packages that are tracked from source to destination.
With TCP, there are three basic operations of reliability:
Numbering and tracking data segments transmitted to a specific host from a specific application
UDP
While the TCP reliability functions provide more robust communication between applications, they also incur
additional overhead and possible delays in transmission.
UDP provides the basic functions for delivering data segments between the appropriate applications, with very
little overhead and data checking. UDP is known as a best-effort delivery protocol. In the context of networking,
best-effort delivery is referred to as unreliable because there is no acknowledgment that the data is received at the
destination. With UDP, there are no transport layer processes that inform the sender of a successful delivery.
TCP Features
Establishing a Session
TCP is a connection-oriented protocol. A connection-oriented protocol is one that negotiates and establishes a
permanent connection (or session) between source and destination devices prior to forwarding any traffic.
Through session establishment, the devices negotiate the amount of traffic that can be forwarded at a given time,
and the communication data between the two can be closely managed.
Reliable Delivery
In networking terms, reliability means ensuring that each segment that the source sends arrives at the destination.
Same-Order Delivery
Because networks may provide multiple routes that can have different transmission rates, data can arrive in the
wrong order. By numbering and sequencing the segments, TCP can ensure that these segments are reassembled
into the proper order.
Flow Control
Network hosts have limited resources, such as memory and processing power. When TCP is aware that these
resources are overtaxed, it can request that the sending application reduce the rate of data flow.
TCP Header
TCP is a stateful protocol. A stateful protocol is a protocol that keeps track of the state of the communication
session.
Source Port (16 bits) and Destination Port (16 bits) - Used to identify the application.
Acknowledgment number (32 bits) - Indicates the data that has been received.
Header length (4 bits) - Known as data offset. Indicates the length of the TCP segment header.
Control bits (6 bits) - Includes bit codes, or flags, which indicate the purpose and function of the TCP
segment.
Window size (16 bits) - Indicates the number of bytes that can be accepted at one time.
Checksum (16 bits) - Used for error checking of the segment header and data.
UDP Features
User Datagram Protocol (UDP) is considered a best-effort transport protocol. UDP is a lightweight transport
protocol that offers the same data segmentation and reassembly as TCP, but without TCP reliability and flow
control. UDP is such a simple protocol that it is usually described in terms of what it does not do compared to TCP.
UDP Header
UDP is a stateless protocol, meaning neither the client, nor the server, is obligated to keep track of the state of the
communication session. If reliability is required when using UDP as the transport protocol, it must be handled by
the application.
One of the most important requirements for delivering live video and voice over the network is that the data
continues to flow quickly. Live video and voice applications can tolerate some data loss with minimal or no
noticeable effect, and are perfectly suited to UDP.
The pieces of communication in UDP are called datagrams.
Port addressing