Is there a TCP Maximum Segment Size (MSS) Minimum?












1















I have there a OpenVPN VPN network connection, where the MSS size 60 gets send out for some reason (don't know why yet).
EDIT: Reason: OpenVPN mssfix was mistakenly set to 1



36  92.064383   10.102.0.43 10.1.151.50 TCP 52  49991 → 63760 [SYN] Seq=0 Win=65535 Len=0 MSS=60 WS=128 SACK_PERM=1
37 92.064763 10.1.151.50 10.102.0.43 TCP 52 63760 → 49991 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1


There are two devices on this network, which behave different.




  • Win 10 PC with Filezilla FTP Server

  • Embedded device (PLC) based on VxWorks with internal FTP server


The PC sets the MSS size to 536, but the PLC sets it down to 60 like requested.



41  92.171676   10.1.151.50 10.102.0.43 FTP-DATA    576 FTP Data: 536 bytes (PASV) (RETR TCData.br)
67 17.385576 10.1.151.1 10.102.0.43 FTP-DATA 100 FTP Data: 60 bytes (PASV) (RETR TCData.br)


Is that implemented on the right way on both sides?



I know that the default TCP MSS is 536, but is there a required minimum size?










share|improve this question





























    1















    I have there a OpenVPN VPN network connection, where the MSS size 60 gets send out for some reason (don't know why yet).
    EDIT: Reason: OpenVPN mssfix was mistakenly set to 1



    36  92.064383   10.102.0.43 10.1.151.50 TCP 52  49991 → 63760 [SYN] Seq=0 Win=65535 Len=0 MSS=60 WS=128 SACK_PERM=1
    37 92.064763 10.1.151.50 10.102.0.43 TCP 52 63760 → 49991 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1


    There are two devices on this network, which behave different.




    • Win 10 PC with Filezilla FTP Server

    • Embedded device (PLC) based on VxWorks with internal FTP server


    The PC sets the MSS size to 536, but the PLC sets it down to 60 like requested.



    41  92.171676   10.1.151.50 10.102.0.43 FTP-DATA    576 FTP Data: 536 bytes (PASV) (RETR TCData.br)
    67 17.385576 10.1.151.1 10.102.0.43 FTP-DATA 100 FTP Data: 60 bytes (PASV) (RETR TCData.br)


    Is that implemented on the right way on both sides?



    I know that the default TCP MSS is 536, but is there a required minimum size?










    share|improve this question



























      1












      1








      1








      I have there a OpenVPN VPN network connection, where the MSS size 60 gets send out for some reason (don't know why yet).
      EDIT: Reason: OpenVPN mssfix was mistakenly set to 1



      36  92.064383   10.102.0.43 10.1.151.50 TCP 52  49991 → 63760 [SYN] Seq=0 Win=65535 Len=0 MSS=60 WS=128 SACK_PERM=1
      37 92.064763 10.1.151.50 10.102.0.43 TCP 52 63760 → 49991 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1


      There are two devices on this network, which behave different.




      • Win 10 PC with Filezilla FTP Server

      • Embedded device (PLC) based on VxWorks with internal FTP server


      The PC sets the MSS size to 536, but the PLC sets it down to 60 like requested.



      41  92.171676   10.1.151.50 10.102.0.43 FTP-DATA    576 FTP Data: 536 bytes (PASV) (RETR TCData.br)
      67 17.385576 10.1.151.1 10.102.0.43 FTP-DATA 100 FTP Data: 60 bytes (PASV) (RETR TCData.br)


      Is that implemented on the right way on both sides?



      I know that the default TCP MSS is 536, but is there a required minimum size?










      share|improve this question
















      I have there a OpenVPN VPN network connection, where the MSS size 60 gets send out for some reason (don't know why yet).
      EDIT: Reason: OpenVPN mssfix was mistakenly set to 1



      36  92.064383   10.102.0.43 10.1.151.50 TCP 52  49991 → 63760 [SYN] Seq=0 Win=65535 Len=0 MSS=60 WS=128 SACK_PERM=1
      37 92.064763 10.1.151.50 10.102.0.43 TCP 52 63760 → 49991 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1


      There are two devices on this network, which behave different.




      • Win 10 PC with Filezilla FTP Server

      • Embedded device (PLC) based on VxWorks with internal FTP server


      The PC sets the MSS size to 536, but the PLC sets it down to 60 like requested.



      41  92.171676   10.1.151.50 10.102.0.43 FTP-DATA    576 FTP Data: 536 bytes (PASV) (RETR TCData.br)
      67 17.385576 10.1.151.1 10.102.0.43 FTP-DATA 100 FTP Data: 60 bytes (PASV) (RETR TCData.br)


      Is that implemented on the right way on both sides?



      I know that the default TCP MSS is 536, but is there a required minimum size?







      ip tcp tcpip






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 6 hours ago







      Michael Uray

















      asked 7 hours ago









      Michael UrayMichael Uray

      62




      62






















          1 Answer
          1






          active

          oldest

          votes


















          4














          536 is the minimum.



          Remember that the minimum packet size for TCP (in IPv4) that all hosts must accept is 576 octets, and the MSS is the size of the payload of that packet, i.e. 576-40 = 536.



          A host sending a TCP packet with MSS=60 is severely misbehaving.






          share|improve this answer
























          • This is the reason why it is the default, but it does not say that it cannot be smaller.

            – Michael Uray
            6 hours ago











          • What do you mean by that? This is extremely well documented.

            – Michael Hampton
            5 hours ago











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "2"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f950862%2fis-there-a-tcp-maximum-segment-size-mss-minimum%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4














          536 is the minimum.



          Remember that the minimum packet size for TCP (in IPv4) that all hosts must accept is 576 octets, and the MSS is the size of the payload of that packet, i.e. 576-40 = 536.



          A host sending a TCP packet with MSS=60 is severely misbehaving.






          share|improve this answer
























          • This is the reason why it is the default, but it does not say that it cannot be smaller.

            – Michael Uray
            6 hours ago











          • What do you mean by that? This is extremely well documented.

            – Michael Hampton
            5 hours ago
















          4














          536 is the minimum.



          Remember that the minimum packet size for TCP (in IPv4) that all hosts must accept is 576 octets, and the MSS is the size of the payload of that packet, i.e. 576-40 = 536.



          A host sending a TCP packet with MSS=60 is severely misbehaving.






          share|improve this answer
























          • This is the reason why it is the default, but it does not say that it cannot be smaller.

            – Michael Uray
            6 hours ago











          • What do you mean by that? This is extremely well documented.

            – Michael Hampton
            5 hours ago














          4












          4








          4







          536 is the minimum.



          Remember that the minimum packet size for TCP (in IPv4) that all hosts must accept is 576 octets, and the MSS is the size of the payload of that packet, i.e. 576-40 = 536.



          A host sending a TCP packet with MSS=60 is severely misbehaving.






          share|improve this answer













          536 is the minimum.



          Remember that the minimum packet size for TCP (in IPv4) that all hosts must accept is 576 octets, and the MSS is the size of the payload of that packet, i.e. 576-40 = 536.



          A host sending a TCP packet with MSS=60 is severely misbehaving.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 6 hours ago









          Michael HamptonMichael Hampton

          166k26305626




          166k26305626













          • This is the reason why it is the default, but it does not say that it cannot be smaller.

            – Michael Uray
            6 hours ago











          • What do you mean by that? This is extremely well documented.

            – Michael Hampton
            5 hours ago



















          • This is the reason why it is the default, but it does not say that it cannot be smaller.

            – Michael Uray
            6 hours ago











          • What do you mean by that? This is extremely well documented.

            – Michael Hampton
            5 hours ago

















          This is the reason why it is the default, but it does not say that it cannot be smaller.

          – Michael Uray
          6 hours ago





          This is the reason why it is the default, but it does not say that it cannot be smaller.

          – Michael Uray
          6 hours ago













          What do you mean by that? This is extremely well documented.

          – Michael Hampton
          5 hours ago





          What do you mean by that? This is extremely well documented.

          – Michael Hampton
          5 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f950862%2fis-there-a-tcp-maximum-segment-size-mss-minimum%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          SQL Server 17 - Attemping to backup to remote NAS but Access is denied

          Always On Availability groups resolving state after failover - Remote harden of transaction...

          Restoring from pg_dump with foreign key constraints