8 - Reliable Transfer Flashcards
WHat are the TCP sender events?
Data received
Timeout
ACK Received
What is the process for “data received” TCP event?
Create segment with seq #
seq # is a byte-stream number of the first data byte in the segment
start the timer if not already
What happens with TCP timeout event?
retransmit segment
restart timer
TCP ACK received event?
update what is known to be ACK’d
start timer if there are outstanding segments
What is MSS?
MAximum Segment Size
Max amount of app layer data in segment
doesn’t include headers
What is the acknowledgement number?
the sequence number of the next byte receiver is expecting
Duplicate ACK
An ACK that re acknowledges a segment for which the sender has already received an ACK
When TCP receiver receives a segment with seq num larger than the next, a gap is detected so reACK the last inorder byte
End to End Congestion Control
- no explicit feedback from network layer
- inferred from loss
- TCP approach
Network Assisted Congestion Control
- network layer provides feedback
- single bit indicating congestion
- router to sender feedback
- router marks pkt field flowing to indicate congesion, receiver notifies sender and takes at least a full RTT
What does TCP’s second window do? (cwnd)
- no loss: expands
- loss: contracts
- measured in terms of segments
Describe TCP slow start
connection begins: increase rate exp until first loss:
- cwnd = 1 MSS
- double cwnd every RTT
Congestion Avoidance
Gentle Increase, probing for more bandwidth
Every RTT add one MSS
Algorithm for SS/CA
- Start in Slow Start
- Switch to Congestion Avoidance when a threshold is reached
- On timeout go back to start
- on 3 dup ACKs switch to CA
- set ssthresh to Half congwin