3.1 Introduction and Transport-layer Services
Transport Layer Overview
Introduction to the Transport Layer
- The transport layer is a crucial component of internet architecture, focusing on reliable communication between entities over potentially unreliable channels.
- Key challenges include message corruption, loss, identity distribution, state synchronization, and managing communication rates among multiple entities.
Principles of Transport Services
- The study begins with foundational principles such as multiplexing/demultiplexing, reliable data transfer, flow control, and congestion control.
- Two main transport protocols are examined: UDP (User Datagram Protocol), which provides connectionless service, and TCP (Transmission Control Protocol), which ensures reliable connections with flow control.
Logical Communication in the Transport Layer
Understanding Logical Communication
- Logical communication refers to how application processes on different hosts appear directly connected despite physical separation by networks and routers.
- The channel used for communication may lose or reorder messages; however, this is abstracted away when considering logical connections.
Distinction Between Processes and Hosts
- A key distinction exists between communicating processes (applications running on hosts) and the hosts themselves. This difference highlights the roles of the transport layer versus the network layer.
- An analogy compares Internet hosts to houses and processes to children within those houses. Messages exchanged are likened to letters delivered between these houses.
Transport Layer Actions
Sender Actions in the Transport Layer
- The process begins when an application creates a message that is sent through a socket to the transport layer.
Understanding Transport Layer Protocols
Overview of Segment Reception and Header Checks
- When a segment is received from the network layer, it is crucial to check specific header value fields to ensure that the segment has not been corrupted before extracting the application layer message.
- After verifying integrity, the message can be demultiplexed to the appropriate application layer socket.
TCP vs. UDP: Key Characteristics
- The Transmission Control Protocol (TCP) ensures reliable, in-order delivery between application-level processes, incorporating congestion control and flow control mechanisms.
- In contrast, the User Datagram Protocol (UDP) offers a best-effort service with no guarantees on reliability or order of message delivery.
Limitations of Internet Transport Protocols
- Neither TCP nor UDP provides guarantees regarding latency between sending a message and its reception at the other end, which could be critical for applications like interactive voice communications.
- There is also no assurance of bandwidth availability; for instance, streamed video may not receive a consistent throughput rate.
Reflection on Service Availability
- The absence of guaranteed services raises questions about what minimal services are necessary for effective communication over the internet.