The Gateway to Computer Science Excellence
+32 votes
4.7k views

Suppose two hosts use a TCP connection to transfer a large file . Which of the following statements is/are FALSE with respect to the TCP connection?

  1. If the sequence number of a segment is m, then the sequence number of the subsequent segment is always m+1.
  2. If the estimated round trip time at any given point of time is t sec, the value of the retransmission timeout is always set to greater than or equal to t sec.
  3. The size of the advertised window never changes during the course of the TCP connection.
  4. The number of unacknowledged bytes at the sender is always less than or equal to the advertised window.
  1. III only
  2. I and III only
  3. I and IV only
  4. II and IV only
in Computer Networks by Boss (30.8k points) | 4.7k views
+7
Tanenbaum Exercise problems.
+2
can you please provide the pdf of tanenbaum?
+8
0
someone plz, explain the option no 4, i already go through pdf but still i didn't get it.
+7

Hello hacker

the upper bound for number of UnAck bytes at sender is actually SWS(sender window size) and hope you know SWS must be less than the advertised window.

Useful link : https://web.cs.wpi.edu/~rek/Undergrad_Nets/C02/TCP_SlidingWindows.pdf

7 Answers

+29 votes
Best answer

Option B

III. False. It is the size of the receiver's buffer that's never changed. RcvWindow is the part of the receiver's buffer that's changing all the time depending on the processing capability at the receiver's side and the network traffic.

http://web.eecs.utk.edu/~qi/teaching/ece453f06/hw/hw7_sol.htm

by Active (1.2k points)
selected by
0

the point number b is also wrong . it depends on the value of alpha we have taken . point f of the pdf also state that . have a look 

f) Suppose that the last sampleRTT in a TCP connection is equal to 1 second. Then timeout for the connection will necessarily be set to a value >= 1 second.

How b ??

 

+7
B) is true . bcoz if round trip time is greater than time out , then how will u be able to calculate the RTT.

So , to calculate RTT , it must be less than Timeout..

 

Note :- if RTT>time out (Which is disadvantage of jacobsan algo then Karn modification is used )...

Karn modification :- if ack did not come till timeout, then packet will be retransmitted with twice of previous timeout...

 

Anyway RTT must be less than or equal to timeout.......
+2

@Tendua 

 f) Suppose that the last sample RTT in a TCP connection is equal to 1 second. Then timeout for the connection will necessarily be set to a value >= 1 second. 
FALSE

           Here last sample RTT means ARTT that comes when we guess IRTT and ID intially.

           ARTT = Actual RTT

           IRTT = Intial guess RTT

           NRTT = estimated round trip time 

           Quoted statement is false because timeout for connection is depend on what is estimated                             RTT(NRTT)  not only last sample RTT(ARTT)

           eg for last round RTT comes as 10 so retransmission timeout for next round RTO = 4* D + NRTT

           Here NRTT = alpha(ARTT) + (1-alpha)(IRTT)

           Hence RTO >= NRTT(estimated RTT)

 

If the estimated round trip time at any given point of time is t sec, the value of the retransmission timeout is always set to greater than or equal to t sec.

TRUE

+1

@GATERush Sir can u please explain this point of link mentioned by you. 

e) Suppose host A sends host B one segment with sequence number 38 and 4 bytes of data. Then in the same segment the acknowledgement number is necessarily 42.
False. The acknowledgement number has nothing to do with the sequence number. The ack. number indicates the next sequence number A is expecting from B.

Is Sequence number for next byte (that is demanded by the receiver as ACK number) is Seq. number sent by the sender + data ? According to link it is not. Please give me idea about relation of all these terms. Thank you !

0
Thanks @jatin khachane1

First I also thought b is false but your comment clear my doubt

TOT depends on estimated RTT not on sample RTT
+22 votes

This problem is taken from tanenbaum exercise .

I is directly taken , see 2 d) here http://web.eecs.utk.edu/~qi/teaching/ece453f06/hw/hw7_sol.htm

II is also in above link but indirectly , see  2 f) 

III  it is also direct from tanenbaum, see above link 2 b) 

IV Indirectly taken , see question number  2 c) 

by Veteran (74.4k points)
+1
Hi from the reference which you provided,I,II & III are false am i right?
+1
@Bikram what do you mean indirectly? Option II is directly taken. And it should be false as well. Please provide more information.
0
Is sequence no. depends on  no of 8byte characters of a segments or it will be no of 8bit/1byte character of each segment?
0

http://web.eecs.utk.edu/~hqi/teaching/ece453f06/hw/hw7_sol.htm

From this Point 2 f:

f) Suppose that the last sampleRTT in a TCP connection is equal to 1 second. Then timeout for the connection will necessarily be set to a value >= 1 second.

False. Next_RTT = alpha * last_estimated_RTT + (1-alpha)*newly_collected_RTT_sample. In this case even though the last sampleRTT which is the newly_collected_RTT_sample is 1sec, the next_RTT still depends on alpha and last_estimated_RTT. Therefore, the next_RTT is not necessarily greater than 1sec.

According to this option II should be false too right?

0
II is also in above link but indirectly , see 2 f) .....
0
Sir I have quoted 2f itself. It says false.
0
I have quoted 2f itself. It says false ....
+9 votes

Option B.
Reason for I to be wrong: The sequence number of the subsequent segment depends on the number of 8-byte characters in the current segment. Transfer in TCP is byte ordered.

by Active (3.5k points)
+8 votes
1.False : because in tcp every byte is numbred and header contains the sequence number of 1st byte so sequence number in 2nd packet will be the next sequence number of last bit in 1st packet.

2. true:consider either the basic algorithm or jacobsn algorithm the value of timeout is always set > rtt for next transmission.

3.false: adv value in tcp header is dynamically changed by receiver each time.

4.true: window size at the receiver is always less than or equal to re1ceiver window size and thus the number of unacknowleged bytes can never exceed advertized window at that time.
by Active (1.9k points)
+2 votes
Option -B

Window size is not static .It always dynamic.

Sequence number in TCP is always random because of less probability of collission.
by Boss (10.2k points)
+6
For statement-1 can I give argument like this?

If pkt loss occur then sender have to re-transmit the pkt so it can be other than m+1..???
+10

The sequence number of the subsequent segment depends on the number of each  8-byte long  characters in the current segment.

One sequence number for one 8B character. 

+1 vote

If the sequence number of a segment is m, then the sequence number of the subsequent segment is always m+1.

False. Sequence numbers indicate bytes, not segments.


If the estimated round trip time at any given point of time is t sec, the value of the retransmission timeout is always set to greater than or equal to t sec.

True. If RTO is set lower than RTT, Sender will have to retransmit even before the Receiver has a proper chance to acknowledge.


The size of the advertised window never changes during the course of the TCP connection.

False. Sender and Receiver's buffer sizes are fixed.

Congestion window and Advertised window are dynamic windows that change as per the current circumstances.


The number of unacknowledged bytes at the sender is always less than or equal to the advertised window.

Unacknowledged bytes consist of the segments that are currently in the Sender Window. (If they were acknowledged, they won't be in the Sender's window, because, obviously, they're transmitted successfully. Why would we keep them in the transmission (sender) window again?)

The amount of unacknowledged data at a sender can't exceed the minimum of $cwnd$ and $rwnd$, that is:

$$LastByteSent \  – \  LastByteAcked \leq min\{cwnd, rwnd\} $$

 

And, $cwnd$ can't exceed $rwnd$ (to maintain the flow control)

Hence, the size of $rwnd$ is the upper bound of the number of unacknowledged bytes at the sender.

 

So, True.


Option B
by Loyal (6.6k points)
edited ago by
0 votes
TCP sequence number of a segment is the byte number of the first byte in the segment. For example, if the segment contains 500 bytes which are from 1000 to 1499, then sequence number of the segment would be 1000 and sequence number of next segment would be 1500.

Receiver window changes when TCP data is processed by application layer of receiver side.
by Loyal (5.8k points)
Answer:

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,322 answers
198,392 comments
105,142 users