This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

TCP MSS not advertised Win2k8 r2 Capture

0

Hello. I am running Windows 2008 r2 and have noticed that some of our machines do not advertise the MSS value in the TCP header information. This is odd. Anyone know what may be causing this problem? It is causing internet connectivity problems.

asked 02 May '13, 12:35

rogermitan's gravatar image

rogermitan
1111
accept rate: 0%

edited 31 May '13, 02:03

grahamb's gravatar image

grahamb ♦
19.8k330206


2 Answers:

0

Please read RFC 6691. It is about some 'confusion' how to calculate the MSS value.

In that document you'll find a reference to RFC 793, which states:

      Maximum Segment Size Option Data:  16 bits
     If this option is present, then it communicates the maximum
     receive segment size at the TCP which sends this segment.  This
     field must only be sent in the initial connection request
     (i.e., in segments with the SYN control bit set).  If this
     option is not used, any segment size is allowed.

Furthermore: RFC 1122

      If an MSS option is not received at connection setup, TCP MUST
assume a default send MSS of 536 (576-40) [TCP:4].

Conclusion: It is possible to omit the MSS value. Why and when Windows 2008 R2 does that is beyond my knowledge. It could be a bug related to this problem (although this one is quite different).

http://support.microsoft.com/default.aspx?scid=kb;EN-US;2762983

Regards
Kurt

answered 02 May '13, 18:04

Kurt%20Knochner's gravatar image

Kurt Knochner ♦
24.8k1039237
accept rate: 15%

edited 02 May '13, 18:05

Thank you.

(06 May '13, 05:50) rogermitan

If a supplied answer resolves your question can you please "accept" it by clicking the checkmark icon next to it. This highlights good answers for the benefit of subsequent users with the same or similar questions.

(06 May '13, 15:57) Kurt Knochner ♦

0

Hello,

I had the same issue, then in the registry I found:

EnablePMTUDiscovery

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Value Type: REG_DWORD - Boolean

Valid Range: 0,1 (False, True)

Default: 1 (True)

Description: If you set this parameter to 1 (True), TCP tries to discover the Maximum Transmission Unit (MTU or largest packet size) over the path to a remote host. By discovering the Path MTU and limiting TCP segments to this size, TCP can eliminate fragmentation at routers along the path that connect networks with different MTUs. Fragmentation adversely affects TCP throughput and causes network congestion. If you set this parameter to 0, an MTU of 576 bytes is used for all connections that are not to computers on the local subnet.

This was set to "0" on this server. Changing this to "1" fixed this issue.

Jens

answered 30 May '13, 18:21

Harsem's gravatar image

Harsem
111
accept rate: 0%