6 votes

Est-ce qu'il existe une taille de segment maximum TCP (MSS) minimale?

J'ai là une connexion réseau VPN OpenVPN, où la taille MSS 60 est envoyée pour une raison quelconque (je ne sais pas encore pourquoi). EDIT: Raison: OpenVPN mssfix était accidentellement réglé à 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

Il y a deux appareils sur ce réseau, qui se comportent différemment.

  • PC Windows 10 avec serveur FTP Filezilla
  • Appareil embarqué (PLC) basé sur VxWorks avec serveur FTP interne

Le PC fixe la taille MSS à 536, mais le PLC la réduit à 60 comme demandé.

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)

Est-ce implémenté de la bonne manière des deux côtés?

Je sais que la taille MSS TCP par défaut est de 536, mais y a-t-il une taille minimale requise?

0voto

Kevin Points 161

Le MSS minimum est contrôlé par le MTU minimum du datagramme IP de 576 octets. Comme TCP utilise 40 octets d'en-tête, alors le MSS minimum est de 536 octets. Si plus d'octets sont utilisés, par exemple pour les horodatages, alors le MSS serait plus petit

Cela peut être trouvé dans l'IP RFC 791 Section 3.1. Format des en-têtes Internet -> Longueur totale.

La longueur totale est la longueur du datagramme, mesurée en octets, y compris l'en-tête Internet et les données. Ce champ permet à la longueur d'un datagramme d'atteindre jusqu'à 65 535 octets. De tels datagrammes longs sont impraticables pour la plupart des hôtes et réseaux. Tous les hôtes doivent être prêts à accepter des datagrammes allant jusqu'à 576 octets (qu'ils arrivent entiers ou en fragments). Il est recommandé que les hôtes envoient uniquement des datagrammes plus grands que 576 octets s'ils ont l'assurance que la destination est prête à accepter les datagrammes plus grands.

Le nombre 576 est sélectionné pour permettre à un bloc de données de taille 
raisonnable d'être transmis en plus des informations d'en-tête requises.  
Par exemple, cette taille permet à un bloc de données de 512 octets plus 
64 octets d'en-tête de s'adapter dans un datagramme.  L'en-tête Internet maximal 
est de 60 octets, et un en-tête Internet typique est de 20 octets, permettant 
une marge pour les en-têtes de protocoles de niveau supérieur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X