Note that in TCP, both sequence numbers and ACK numbers are counted in bytes. As
ID: 675458 • Letter: N
Question
Note that in TCP, both sequence numbers and ACK numbers are counted in bytes. Assume that the current TCP connection is using selective repeat with fixed window size (i.e., N=200 bytes) at steady state say t=100s. Starting from t=100s, at the TCP sender, the series of segments labeled with #1, #2, #3, #4, #5, #6, #7, #8, ... are waiting for transmission, and the corresponding segment size (counted in bytes) is 100B, 20B, 80B, 150B, 100B, 50B, 60B, 100B, ..., respectively. Assume that at t=100s, the TCP sender sequence number starts from 1000 (in byte), and the receiver sequence number starts from 2000 (in byte). The receiver does not have data (except the ACK packets) to send back to the sender. Assume that the round trip time (RTT) is fixed and an ACK is sent when the receiver receives each TCP segment (i.e.., no delayed ACK is used here). You are asked to draw the packet transmission flow chart to answer the following questions:
1. What is the sequence number and ACK number used when transmitting segment #8 (with packet size 100B)?
2. Counted from t=100s (when starting to transmit segment #1), how many RTTs are needed when the ACK for TCP segment #6 (50B) arrives at the sender?
Please provide a detailed explanation
Explanation / Answer
1.
Sequence Number = 8
ACK Number = 9
2.
EstimatedR TT = xSampleRTT + (1 x ) EstimatedR TT
DevRTT = y SampleRTT EstimatedRTT + (1 y ) DevRTT
TimeoutInterval = EstimatedRTT + 4 * DevRTT
After obtaining first sampleRTT is EstimatedRTT = 0.125 * 106 + 0.875 * 100 = 100.75ms
.
DevRTT = 0.25 106 100.75 + 0.75 * 5 = 5.06ms
TimeoutInterval = 100.75 + 4 * 5.06 = 120.99ms
.
After obtaining second sampleRTT = 120ms:
EstimatedRTT = 0.125 * 120 + 0.875 * 100.75 = 103.15ms
.
DevRTT = 0.25 120 103.15 + 0.75 * 5.06 = 8ms
TimeoutInterval = 103.15 + 4 * 8 = 135.15ms
.
After obtaining Third sampleRTT = 140ms:
EstimatedRTT = 0.125 * 140 + 0.875 * 103.15 = 107.76ms
.
DevRTT = 0.25 140 107.76 + 0.75 * 8 = 14.06ms
TimeoutInterval = 107.76 + 4 *14.06 = 164ms
.
After obtaining fourth sampleRTT = 90ms:
EstimatedRTT = 0.125 * 90 + 0.875 * 107.76 = 105.54ms
.
DevRTT = 0.25 90 105.54 + 0.75 *14.06 = 14.42ms
TimeoutInterval = 105.54 + 4 *14.42 = 163.22ms
.
After obtaining fifth sampleRTT = 115ms:
EstimatedRTT = 0.125 * 115 + 0.875 * 105.54 = 106.71ms
.
DevRTT = 0.25 115 106.71 + 0.75 *14.42 = 12.88ms
TimeoutInterval = 106.71 + 4 *12.88 = 158.23ms
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.