The Gateway to Computer Science Excellence
+10 votes

An ACK number of 1000 in TCP always means that

  1. 999 bytes have been successfully received
  2. 1000 bytes have been successfully received
  3. 1001 bytes have been successfully received
  4. None of the above
in Computer Networks by Active (2.5k points) | 4k views

in TCP  ,ack no. tells which value is next expected to be sent.. so all above options are wrong... 

answer is option "d" none of these

4 Answers

+23 votes
Best answer
Ack no in Tcp tells which byte it is expecting next to receive...If intial sequence was from.1 then ack no of 1000 means 999 bytes successfully received  if it was 0 then ack no of 1000 means 1000 bytes(0-999) received correctly  but nothing about intial sequence no is given in ans is d
by Boss (31.4k points)
selected by
+8 votes
as initial sequence number is random number.

we can't tell what is the ACK 1000 in TCP , as it depends on initial random sequence number.

so answer is none of the above
by Active (3.5k points)
+2 votes
Since intial sequence number is not given that's why we can say that option-D will be right option for it.Now in the absence of inialt sequence number it can be any random number becz of the rule of TCP.
by Boss (10.2k points)
+1 vote

If ISN = 1, then ACK number = 1000 would mean 999 bytes delivered.

If ISN = 0, then ACK number = 1000 would mean 1000 bytes delivered.

Option C is never possible because ISN can't be negative.


ACK number x simply means that the receiver now expects the xth byte.

Total delivered bytes OF A SESSION would be calculated by subtracting ISN from the ACK number. (New Session = New ISN)

Option D is correct.

by Loyal (6.4k points)

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,297 answers
104,979 users