Week 9 - Transport Layer Part 2 Flashcards
(32 cards)
What type of communication does TCP provide at the Transport Layer?
TCP provides point-to-point communication between two devices.
How does TCP ensure reliable data transfer?
TCP uses sequence numbers, acknowledgements (ACKs), and timeouts to guarantee reliable data delivery.
What does it mean that TCP is “connection-oriented”?
TCP uses a handshaking process to initialise sender and receiver states before any data exchange, establishing a reliable connection.
What additional features does TCP provide for managing data transfer?
TCP supports in-order byte-stream delivery, pipelining, and flow and congestion control to prevent the receiver from being overwhelmed.
In TCP, what is implicitly numbered?
Each byte of data is assigned a sequence number, not just each segment.
If a file size is 500,000 bytes and the Maximum Segment Size (MSS) is 1000 bytes, how many segments will TCP create?
TCP will create 500 segments (500,000 ÷ 1000 = 500).
What would be the sequence number for the first few TCP segments?
- Segment 1: Sequence number = 0
- Segment 2: Sequence number = 1000
- Segment 3: Sequence number = 2000
- Segment 500: Sequence number = 500000
How are sequence numbers used in TCP segments?
Sequence numbers allow TCP to keep track of where each piece of data fits into the original data stream, ensuring reliable, in-order delivery.
What does a TCP segment’s ACK number represent?
It is the sequence number of the next byte the receiver expects from the sender, indicating cumulative acknowledgement.
What is a cumulative ACK in TCP?
It means the receiver acknowledges all bytes up to (but not including) the byte indicated by the ACK number.
How does TCP handle segments received out-of-order?
The TCP specification doesn’t require a specific behavior — it’s up to the application (but usually, out-of-order segments are kept for reordering).
When does TCP start the retransmission timer?
TCP starts the retransmission timer when sending a segment if the timer is not already running.
What does the TCP retransmission timer track?
It tracks the oldest unacknowledged (unACK’d) segment.
What happens when TCP receives an ACK?
TCP updates the record of what data has been ACK’d and restarts the timer if there are still unACK’d segments.
What happens if the TCP retransmission timer times out?
TCP retransmits the segment that caused the timeout and restarts the timer.
n a TCP timeout scenario, what happens to a segment that was already acknowledged (e.g., Segment #100)?
A segment that has already been ACK’d (like Segment #100) is not retransmitted, even if a timeout occurs.
During a TCP timeout, which segment is retransmitted?
Only the oldest unACK’d segment is retransmitted when the timeout occurs.
What ensures that TCP doesn’t unnecessarily retransmit already ACK’d data?
TCP keeps track of ACKs, and only retransmits unACK’d segments, avoiding duplicate data transmission.
Why is avoiding unnecessary retransmissions important in TCP?
It improves efficiency, saves bandwidth, and prevents network congestion.
What is a cumulative ACK in TCP?
A cumulative ACK acknowledges all bytes up to (but not including) the next expected byte, confirming receipt of multiple segments at once.
In a TCP timeout with cumulative ACKs, why might Segment #92 not be retransmitted?
Because Segment #92 was already covered by the cumulative ACK, meaning it was received correctly, even if later segments timeout.
How does a longer timeout help in TCP retransmission with cumulative ACKs?
A longer timeout allows TCP to receive and acknowledge multiple segments without retransmitting ones that were already successfully delivered.
What is the advantage of using cumulative ACKs during retransmission timeouts?
It reduces unnecessary retransmissions, making TCP more efficient and reducing congestion on the network.
Why does TCP require a handshake before data exchange?
Because TCP is connection-oriented; sender and receiver must establish a connection first.