0

According to TCP, sequence number is used to refer to bytes instead of being a counter. The sequence number is 32-bit integer (~4.2 GB).

If I am sending file directly using TCP, I can't exceed this number. This was okay with old file-systems but now we have files exceeding this size.

I believe Application layer protocols has been modified to bypass this limit, can any provide an example for this or at least list the used techniques?


For reference, the question was based on the following problem

Textbook : Computer Networking: A Top-Down Approach by James F. Kurose , Keith W. Ross.

P26. Consider transferring an enormous file of L bytes from Host A to Host B. Assume an MSS of 536 bytes. a. What is the maximum value of L such that TCP sequence numbers are not exhausted? Recall that the TCP sequence number field has 4 bytes.

Shady Atef
  • 2,121
  • 1
  • 22
  • 40

1 Answers1

2

If I am sending file directly using TCP, I can't exceed this number.

Yes you can. You are mistaken. It wraps around.

P26. Consider transferring an enormous file of L bytes from Host A to Host B. Assume an MSS of 536 bytes. a. What is the maximum value of L such that TCP sequence numbers are not exhausted? Recall that the TCP sequence number field has 4 bytes.

'Sequence numbers are not exhausted' is a constraint for the purposes of this question, but the authors aren't necessarily thereby claiming that such a limit applies to any TCP transmission. If they are, they're manifestly wrong. Consider that the initial sequence number is chosen randomly, and therefore can be 2^32-1. Does that imply a limit on that connection of one byte? Of course it doesn't.

I also note that the MSS of 536 bytes is entirely irrelevant to the question. Possibly this is just a substandard text.

EDIT I've now located this source. You didn't misunderstand it. There is nothing in the book about TCP sequence number exhaustion except for this stupid question. Nothing about it wrapping around either, which is a curious omission. The MSS is used in the second part of the book problem, not quoted here.

user207421
  • 305,947
  • 44
  • 307
  • 483
  • Hello again. I am basing this question on question from a reference. so why the -ve vote ? – Shady Atef Nov 15 '16 at 00:34
  • 1
    There is no reference cited in your question; you don't have any information about who downvoted your question; and you are still mistaken. – user207421 Nov 15 '16 at 00:36
  • I assumed it was you because the counter showed only one view and one answer at the same time . Sorry if it wasn't you. But I just simply hate -ve votes with not explanations.. And I simply didn't cite the reference. – Shady Atef Nov 15 '16 at 00:37
  • 'I simply didn't cite the reference' means there *was* no reference. If you've stumbled on a source that claims the sequence number doesn't wrap around, it also is mistaken. – user207421 Nov 15 '16 at 00:38
  • I think there is a little misunderstanding, I mean by 'reference' , a textbook. – Shady Atef Nov 15 '16 at 00:39
  • Yes I believe that I have misunderstood it. – Shady Atef Nov 15 '16 at 00:47
  • @ShadyAtef See edit. – user207421 Apr 30 '18 at 07:34
  • 1
    This was about a year and half so it took a while of research to exactly remember. But I really want to thank you deeply for acting with integrity.. Also to confess, I downed your answer before because being angry.. ( I was caring about the score on SoF back then, But I care less now ) :D – Shady Atef Apr 30 '18 at 22:55
  • 1
    My pleasure. I came across the book in another question, a very confusing quotation and diagram that kept talking about the 'welcoming socket' where everyone else in the world says 'listening socket'. I found a PDF online. It mostly seems a pretty good book, but there are these strange lapses and omissions. – user207421 Apr 30 '18 at 23:26
  • NB Other question is [here](https://stackoverflow.com/q/50092809/207421). – user207421 May 01 '18 at 01:10