Goal: Understand principles of UDP and TCP, and the concept of congestion control.
Transport Layer Services
Provides end-to-end communication between applications.
Segmentation and Reassembly: Messages are split into segments for transmission and reassembled at the receiver's end.
End Systems: Transport layer operates only at the sender and receiver end systems.
Logical Communication: Facilitates communication between application processes.
No Transport Layer in Routers/Switches: Exists only in end systems.
Service Models: Includes concepts for reliable data transfer, connection setup, and congestion control.
Key Protocols: UDP and TCP
UDP (User Datagram Protocol): Simple, connectionless protocol, providing best-effort delivery without guarantees on the integrity or ordered delivery of data.
TCP (Transmission Control Protocol): Reliable, connection-oriented protocol ensuring data integrity, ordered delivery, and flow control.
Data Flow and Service Models
Application Sends Data: Sends message to transport layer which splits it into segments and attaches headers.
Network Layer Handling: Transported between source and destination via intermediate network layer devices.
Receiver End: Segments received, headers checked, data reassembled, and passed to the appropriate application.
Logical Delivery Analogy: Using families and children to represent processes and addresses/buses as host and communication protocols.
Important Concepts
Demultiplexing and Multiplexing: Process of directing data to the correct application process on the receiver's end using port numbers.
Port Numbers: Unique identifiers for application processes (e.g., HTTP uses port 80).
Service Model Differences: UDP uses a simple model without guarantee, while TCP uses complex mechanisms to ensure reliability and order.
Practical Examples
Example Scenarios: Detailed examples showing UDP and TCP data transmission, including socket creation and IP addresses.
Two-Way Communication: Explains how source and destination port numbers are used for communication between processes.
Key Takeaways
End-to-End Communication: Only takes place in end systems; no transport layer in intermediate devices.
Port Numbers Critical: Essential for identifying sender and receiver processes.
Network Layer Dependency: Transport layer depends on the network layer for delivery.
Demultiplexing: Critical for delivering data to the correct application process.
Summarizing Principles
Reliability: TCP guarantees reliability and ordered delivery, unlike UDP.
Efficiency: Trade-offs between complexity and performance, e.g., UDP is simpler and faster but less reliable compared to TCP.
Applications in Networking
Typical Use Cases: Different scenarios where UDP and TCP might be used, showing the significance of port numbers.
Logical Communication: Ensures that data reaches the correct application on the correct device.