1

I have a TCP packet as displayed by Wireshark:

enter image description here

The MSS is reported at 1430 bytes, and the Window scale suggests that this should be multiplied by 128, giving 183040 bytes.

Question: is this the correct way to calculate the MSS?

6

No, the correct way to calculate the MSS is to look at the value in the MSS option. As per RFC 1323, the Window Scale option scales the TCP window size, not the maximum segment size. The maximum segment size should be set appropriately for the network path between the two endpoints, so that no segment has to be fragmented; there's no requirement that the MSS be big enough that a single segment can always fill the entire receive window, so there'd only be a need for scaling the MSS if you have a network path with an MTU bigger than 65535.

3

Guy's answer is spot on.

Just an FYI, if you're interested in reading more about MSS and MTU, I've written a couple of blog posts on the subject - http://www.oznetnerd.com/2012/02/17/mtu-vs-mss-part-one/

Back onto the subject of the Window size - the calculation is as follows:

Window Size * Window Size Scaling Factor = Real Window Size aka Calculated Window Size

Using the formula above in conjunction with the screenshot below, we've got:

3650 * 8 = 29,200

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.