On Monday, April 7, 2014, 2:33:08 PM, "ÎÒÏë²»ÎÞÁÄ" wrote: > why is the ack number of several ack frame in tcp transmission the same?Is > that the ack of several tcp segments?if so,how to calculate the bytes of data > that been received every time?
Two possible reasons: 1) The data segments got duplicated in transit, or retransmitted due to the sender not receiving an ACK in what it considered a reasonable time. The receiver may ack each duplicate if they all do eventually arrive. 2) The data segments got re-ordered in transit, so the receiver got a segment later than the one it was expecting next. These days it can reply using Selective Acknowledgement, where the ACK field itself contains the latest *contiguously* received sequence number (so will appear to stay the same), but the SACK field (shown under the TCP Options section in Wireshark) show what other non-contiguous data it has received. Then if the sender later decides it does need to retransmit it only has to "fill in the gaps" rather than send the entire window from the ACK point on. (I believe Wireshark displays this as a "Duplicate ACK" rather than out-of-order or such, or at least used to, apparently it doesn't notice the SACK options changing each time.) John -- Dead stars still burn ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe