Module 6: Transport Layer - TCP Flashcards
When is a TCP segment sent?
Segment sent when…
1. Segment is full (max segment size)
2. not full , but times out
3. “pushed” by application
TCP segment
Initial Sequence Number
Why not start with 0?
- IP addresses and port numbers uniquely id a connection
- eventually though these port numbers do get used again
How do sender/receiver independently determine ISN?
3 way handshake
1. open connection: 3-way handshake
2. reliable byte stream transfer
3. close (tear down) connection
open connection: 3-way handshake
What if the SYN packet gets lost?
eventually no SYN-ACK arrives
- sender sets a timer and wait from SYN-ACK
- receiver sets a timer
- after timeout, resend
close connection
4-ways tear down
Why is stop and wait inefficient?
only one TCP segment is in flight at a time
Sliding Window
Go Back N (GBN)
transmit up to n unacknowledged packets
if timeout for ACK(k), k+1,…
not efficient if windows are large: high speed networks
What is an improvement on GBN?
Selective Repeat
GBN forces sender to retransmit all packets in window even if some have been received correctly
to avoid, we need a “finer granularity”of acknowledgements (individual acks as opposed to cumulative acknowledgements)
sender: transmit up to n unacknowledged packets
SR is great for _____
isolated loss
does not recover quickly from burst loss
What does TCP use for sliding window?
hybrid of GBN and SR
General observations about Sliding Windows
TCP Flow Control
Which of the following in the TCP header is especially important to flow control?
acknowledgement
advertised window
sequence number
retransmission timeout
how to set timeout?
if too long: connection has low throughput
if too short: what if retransmit packet that was just delayed
solution: make timeout proportional to RTT
RTT Estimation
smaller alpha means slower reaction time. t/f
false
karn/partridge algo
The Karn/Partridge algorithm doubles the last timeout because if you are getting successive needs to timeout, it means there are losses in the network. T/F
True