L'appli a été conçu comme ça:
On attend un segment de data TCP de 1044 octets donc on positionne une fenêtre d'exactement cette taille là.
Ce comportement fonctionne a merveille avec une vielle Sun Enterprise 250 sous Solaris7 comme serveur.
Sous linux ça ne fonctionne pas pareil, l'émetteur ne veut rien entendre , tant que la fenêtre TCP n'est pas égal à 2X la taille du segment de data, il fragmente le paquet en deux.
J'ai lu ça dans man 7 socket:
SO_SNDBUF
Sets or gets the maximum socket send buffer in bytes. The kernel doubles this value (to allow space for bookkeeping overhead) when it is set using setsockopt(2), and this doubled value is returned by getsockopt(2). The default value is set by the /proc/sys/net/core/wmem_default file and the maximum allowed value is set by the /proc/sys/net/core/wmem_max file. The minimum (doubled) value for this option is 2048.
RedHat me dit que ça n'a pas d'impact sur la fragmentation mais d'après tous les tests que j'ai effectué, quelque soit la taille du paquet que je veux transmettre, le serveur envoie toujours des segments de data de la moitié de la taille de la fenêtre TCP cliente.
[^] # Re: oui mais..
Posté par jean_clume . En réponse au message [RESEAU] Fragmentations de paquets tcp. Évalué à 1.
L'appli a été conçu comme ça:
On attend un segment de data TCP de 1044 octets donc on positionne une fenêtre d'exactement cette taille là.
Ce comportement fonctionne a merveille avec une vielle Sun Enterprise 250 sous Solaris7 comme serveur.
Sous linux ça ne fonctionne pas pareil, l'émetteur ne veut rien entendre , tant que la fenêtre TCP n'est pas égal à 2X la taille du segment de data, il fragmente le paquet en deux.
J'ai lu ça dans man 7 socket:
SO_SNDBUF
Sets or gets the maximum socket send buffer in bytes. The kernel doubles this value (to allow space for bookkeeping overhead) when it is set using setsockopt(2), and this doubled value is returned by getsockopt(2). The default value is set by the /proc/sys/net/core/wmem_default file and the maximum allowed value is set by the /proc/sys/net/core/wmem_max file. The minimum (doubled) value for this option is 2048.
RedHat me dit que ça n'a pas d'impact sur la fragmentation mais d'après tous les tests que j'ai effectué, quelque soit la taille du paquet que je veux transmettre, le serveur envoie toujours des segments de data de la moitié de la taille de la fenêtre TCP cliente.