in Computer Networks
12,258 views
41 votes
41 votes

Consider the following statements.

  1. TCP connections are full duplex
  2. TCP has no option for selective acknowledgement
  3. TCP connections are message streams
  1. Only I is correct
  2. Only I and III are correct
  3. Only II and III are correct
  4. All of I, II and III are correct
in Computer Networks
12.3k views

4 Comments

TCP uses a kind of Mix of both Selective Repeat and Go Back - N ARQ. Because TCP can accept out of order packets and it can send cumulative as well as individual acknowledge.
18
18
....
0
0
Thanks buddy:-)
0
0

TCP acknowledgement are always cumulative because 

let, 3 packets of sequence number 100, 200, 300 respectively are sent by client to server, but 200 packet is lost and 100 and 300 are only received by the Server. So the acknowledgement number sent by the server is still 200 after receiving last packet with seq no. 300. So I mean to say that there is no way to send acknowledgement to last packet with seq no. 300 independently before receiving packet 200, although it is packet 300 was received by the Server.

Please Correct me where I am wrong?

0
0

4 Answers

42 votes
42 votes
Best answer

Answer is (A). Since, TCP has options for selective ACK and TCP uses byte streams that is every byte that is send using TCP is numbered.

http://repo.hackerzvoice.net/depot_madchat/ebooks/TCP-IP_Illustrated/tcp_tran.htm or archive

edited by

4 Comments

Here, in this case, we can say TCP using cumulative ack as selective ack by setting ACK timer so that ack will be for every segment

Selective: coz every segment is getting acknowledge

Cumulative: After Segment with SEQ no 301 is lost all later received segments are sending acknowledgment for lost segment only

7
7

In the RFC https://www.rfc-editor.org/rfc/rfc2018 it is clearly mentioned:

The selective acknowledgment extension uses two TCP options. The
   first is an enabling option, "SACK-permitted", which may be sent in a
   SYN segment to indicate that the SACK option can be used once the
   connection is established.

ie TCP has a option that can be sent to the receiver in the first SYN segment of the 3 way handshake to tell it that Selective acknowledgements are to be used. that’s why ii is false

0
0
11 votes
11 votes
Option A is right.

Explanation::

TCP connection is full duplex becuase sender as well as receiver both can send data at same time with its link.

TCP uses commulative ack.

TCP is byte stream protocol not message stream protocol.Aplication layer is message stream protocol.

3 Comments

7
7
This link is really awesome.!!!!!
2
2

TCP can also use selective ack as it is a combination of both GBN and SR.

1
1
3 votes
3 votes

In TCP header, there's a field for an ACK flag. If the value of this flag is 1, then the "acknowledgement number" field is valid.

The sender can put the expected segment's number in this field, and then set the ACK flag — hence making selective acknowledgement possible.

So, II is incorrect.
 


 Tannenbaum, page 408.

So, III is incorrect.


Full duplex means the hosts can send and receive at the same time, which is true for TCP.

Precisely, TCP connections are two-way symmetric connections.

So, I is correct.


Option A.
edited by
0 votes
0 votes
(1) TCP is full duplex because sender and reciver both can send data at same time.
(2) TCP can use selective ack
(3) Sending more than than 1 byte at a time called message stream.
TCP is byte stream  in which 1 byte transfered at a time.
UDP are message stream protocol in which set of bytes transferred at once.
Answer:

Related questions