in Computer Networks
1,749 views
2 votes
2 votes
1.Data has been delivered to the application.
2.Date has been received by TCP module.
3.Data has been received by the Application interface.
4.None

What should be the answer?? I think 1st and 3rd are correct?!
in Computer Networks
1.7k views

1 comment

Ans is option (2)

Check in the link below for further explanation and RFCs.

https://networkengineering.stackexchange.com/q/55581/75483
 

0
0

3 Answers

4 votes
4 votes
1.Data has been delivered to the application.

So first option is accurately right bcz data always keep it intend to reach particular application on particular port .
0 votes
0 votes
It means that data has been delivered to the application.
So option 1 is correct.

2 Comments

it should be 2....since the tcp sends inorder acknowledgement, while segments received can be out of order (selective repeat protocol). Once all data is received it is merged and transferred to application layer except in the case of psh and urg flag is set, where the data is immediately forwarded to application layer without being buffered
3
3
Are you sure @Abhishekcs10 ? Because if packets arrive out of order, TCP only sends the last inorder packet received. ( That is from where fast retransmission occurs , three acks mean that there is a problem)

Only when all packets are received in order, does TCP send cumulative ACK . That means it is delivered to the higher layer
0
0
0 votes
0 votes

It only guarantees that data has been received by TCP module. There is a chance that data received is not in proper order, but still the ACK is sent (Still data is with TCP layer). So, TCP has to further re-order it and send it to application layer.

For more detail, refer:
https://networkengineering.stackexchange.com/questions/55581/acknowledgment-by-tcp-does-not-guarantee-that-the-data-has-been-delivered

Related questions