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

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


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

permanent link

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 ♦

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

permanent link

answered 30 May '13, 18:21

Harsem's gravatar image

Harsem
111
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×752
×254
×23

question asked: 02 May '13, 12:35

question was seen: 5,102 times

last updated: 31 May '13, 02:03

p​o​w​e​r​e​d by O​S​Q​A