La technique du MSS Clamping

Nous avons vu que si jamais on utilise PPPoE pour recevoir des paquets dont la taille est supérieure à 1492 octets, ces paquets sont définitivement jetés sans aucune trace de leur disparition. Il a donc fallu trouver un moyen pour limiter la taille des paquets que l'on s'apprête à recevoir.

Le protocole TCP définit une valeur appelée MSS (Maximum Segment Size), qui correspond à la taille maximale d'un paquet que peut échanger un des 2 bouts de la connexion TCP. Cette valeur est envoyée au serveur distant dans le premier paquet de connexion TCP. L'astuce consiste donc à calculer le MSS en fonction du MTU de l'interface sur laquelle sort le paquet. Le MSS ne correspond qu'aux données présentes dans le paquet. On soustrait donc au MTU la taille des en-têtes IP et TCP (40 octets en IPv4, 60 en IPv6).

Le problème est plus difficile à résoudre si un LAN est présent derrière le routeur. Les hôtes du LAN possèderont le plus souvent une interface Ethernet, et le MSS calculé correspondra à un MTU de 1500. Le MSS clamping est une technique qui consiste à modifier le MSS des connexions TCP sortantes afin d'y placer la valeur qui permet de faire fonctionner la connexion.

Si cette technique fonctionne, elle n'est valable que pour le protocole TCP (UDP, ICMP, et les autres protocoles au-dessus d'IP ne bénéficient pas du tout de cet avantage).

syn 2007-02-11