I was looking at some random traffic in wireshark and came across this (using relative seq/ack numbers):
1. myIP -> 74.125.227.96 [SYN] seq=0
2. 74.125.227.96 -> myIP [SYN/ACK] seq=0 ack=1
3. myIP -> 74.125.227.96 [ACK] seq=1 ack=1
4. myIP -> 74.125.227.96 [ACK] seq=1 ack=1 len=14600
5. 74.125.227.96 -> myIP [ACK] seq=1 ack=2921
6. 74.125.227.96 -> myIP [ACK] seq=1 ack=5841
7. myIP -> 74.125.227.96 [ACK] seq=14601 ack=1 len=8760
8. 74.125.227.96 -> myIP [ACK] seq=1 ack=8761
9. myIP -> 74.125.227.96 [ACK] seq=23361 ack=1 len=4380
etc...
I was using http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers as a resource and it seems like seq=previous ack and ack+=previous seq+len/flags (please correct me if I'm wrong). But what is going on from lines 4-7? Is the packet being fragmented or something? The seq/ack numbers are not seeming to add up for me so where am I going wrong?