Below is the trace of client side communication(all the way from first packet to last) from which i am looking to understand a statement in RFC793. In pg.28 :seg.seq(first seq number of a segment)+seg.len(the no.of octets occupied by data)-1=last seq no of segment Here my first sequence number is 0 and total amount of data that traversed is 723 bytes but if we apply this formula the last no should be [0+723-1]=722 which is obviously wrong.Please let me clarify if i am missing any thing here. Trace:
asked 23 Jun '13, 22:21 krishnayeddula edited 24 Jun '13, 01:46 grahamb ♦ |
2 Answers:
These sequence numbers refer to the sequence numbers in one segment, not to the sequence numbers in the whole TCP stream. So in your case:
I guess you did not take into account the phantom byte after the SYN packet. See page 16 of rfc 723:
answered 24 Jun '13, 00:00 SYN-bit ♦♦ edited 24 Jun '13, 02:21 |
The solution is pretty simple: The SYN like the FIN Bits count as one Byte sent, which is why there's an ACK for those packets as well. So if you sent 723 Bytes you've sent those with Seq.Nr. 1 instead of 0 because those were sent after the SYN. answered 23 Jun '13, 23:45 Landi |