Chapter 3 Flashcards
(62 cards)
What is multiplexing in the transport layer?
Multiplexing is the process of gathering data from multiple application processes, adding transport-layer headers, and sending the data to the network layer.
What is demultiplexing in the transport layer?
Demultiplexing is the process of directing incoming transport-layer segments to the correct application process based on the destination port number.
What information does the transport layer use to demultiplex incoming segments?
It uses the destination port number to determine which socket/application should receive the data.
How does UDP perform multiplexing and demultiplexing?
UDP uses a 2-tuple (Destination IP, Destination Port) to send data to the correct application without requiring a connection.
How does TCP perform multiplexing and demultiplexing?
TCP uses a 4-tuple (Source IP, Source Port, Destination IP, Destination Port) to uniquely identify each connection.
Why does UDP use a 2-tuple instead of a 4-tuple like TCP?
UDP does not establish connections; it sends each packet independently, only needing a destination IP and port to deliver the data.
Why does TCP use a 4-tuple for connection management?
TCP connections must be uniquely identified so that multiple connections between the same hosts can coexist.
What are common applications that use UDP multiplexing and demultiplexing?
DNS, VoIP, video streaming, and online gaming.
What are common applications that use TCP multiplexing and demultiplexing?
Web browsing (HTTP/HTTPS), file transfers (FTP), and email (SMTP, IMAP, POP3).
What is the main advantage of UDP’s multiplexing/demultiplexing?
Low overhead and fast data transmission without connection setup.
What is the main advantage of TCP’s multiplexing/demultiplexing?
Reliable, ordered delivery with congestion control.
What happens if two UDP packets have different source IPs but the same destination IP and port?
Both packets will be delivered to the same application process at the destination.
What happens if two TCP packets have different source ports but the same destination IP and port?
They will be treated as separate connections since TCP differentiates connections using a 4-tuple.
Why does DNS use UDP instead of TCP?
UDP is faster and avoids connection setup delays, which is important for quick domain name resolution.
Why does HTTP use TCP instead of UDP?
HTTP requires reliable, in-order delivery of web pages and data, which TCP provides.
What transport services does UDP provide?
Multiplexing/demultiplexing, error detection (checksum), best-effort delivery, no congestion control, and stateless communication.
Why is UDP faster than TCP?
No connection setup, minimal header, no retransmissions, and no congestion control.
Why does DNS use UDP instead of TCP?
Because DNS queries need to be fast and avoid connection setup delays.
What happens when a UDP packet is lost?
The packet is simply discarded; no retransmission occurs.
Why is UDP useful for live video streaming?
Delayed packets are useless in real-time streaming; minor data loss is better than buffering.
What is the main challenge of providing reliable transport over an unreliable network?
Packets may be lost, duplicated, delayed, or corrupted.
What does a transport protocol use to detect errors?
A checksum.
What is the purpose of acknowledgments (ACKs)?
To confirm that a packet was received correctly.
How does a sender detect lost packets?
By using a timer and retransmitting if an ACK is not received.