14. (18%) A TCP session has been previously established between a client and server. Assume the following:
Client
o total of 1600B (B=bytes) are to be sent to the server
o Nagle and delayed acknowledgment (500msec) in effect
o At time=0 sec, 300B is initially available to be sent
o At time=2 sec, another 1300B is available to be sent
o sequence # of first byte = 4000, cwnd = 2000B, rwnd = 10,000B, MSS = 1000B
Server
o no data to be sent
o Nagle and delayed acknowledgment (500msec) in effect
o sequence # of first byte = 2000, cwnd = 2000B, rwnd = 10,000B, MSS = 1000B
a) For the segment in part a) of the diagram, provide the value of the ACK #
data range (1st and last sequence #'s): =
ACK # =
rwnd =
b) For the segment in part b) of the diagram, provide the values for sequence, ACK, rwnd and data range
Sequence # =
ACK # =
rwnd =
c) For the segment in part c) of the diagram, provide for the values for the following: (data range is not relevant since this is an ACK segment and data is not piggybacking).
data range (1st and last sequence #'s): =
ACK # =
rwnd =
d) For the segment in part d) of the diagram, provide for the following:
Sequence # =
ACK # =
rwnd =
e) For the segment in part e) of the diagram, provide the values for the following:
data range (1st and last sequence #'s): =
ACK # =
rwnd =
f) For the segment in part f) of the diagram, provide for the following:
Sequence # =
ACK # =
rwnd =
T=0 (client has 300B of date to send). Nagle algorithm sends what data is initially available
Client
Server
a)
Data sequence range =
ACK # =
rwnd =
b)
Sequence # =
ACK # =
rwnd =
Server ACKs immediately, received buffer is emptied
T=2sec (client has 1300B more date to send)
c)
Sequence # =
ACK # =
rwnd =
data: =
d)
Sequence # =
ACK # =
rwnd =
Server ACKs immediately, received buffer is emptied
Client has more data to send? (hint: think MSS)
e)
ACK # =
rwnd =
data: =
f)
Sequence # =
ACK # =
rwnd =
Server ACKs immediately, data has NOT been read out