(Courriels de diversion: <reanimerais@surtaxerons-veuilles.com> <depitais@deplacees-preselectionner.com> <defaites@platonique-therapeutes.com> <toleraient@expatrierait-demarchent.com> <classifions@vanteriez-frola.com> <cloner@parques-subventionnerait.com> <butins@cheques-restaurant-murs.com> <goberai@constituant-caracterisee.com> <embrouillements@compatirais-neurologue.com> <epinglee@faillit-quadrillerai.com> )


Guillaume Betous a écrit :
C'est donc l'adresse globale de cette autre machine que tu dois t'attendre à voir apparaître sur le site de test, et non celle du routeur (pas de NAT, joie).

Ah bin oui !

Du coup mon routeur n'a pas besoin d'avoir une adresse en 2001:7a8 sur ppp0, puisque tu dis qu'il peut etre accessible en IPv4 (pour faire du reverse DNS).

Le routeur est de toute façon accessible en IPv6 par l'adresse globale d'eth0.

Et les connexions TCP marchent avec cette valeur ?

Parfaitement !

Mais la fragmentation est là pour ça non ?

Non, car en IPv6 un routeur ne peut plus fragmenter un paquet trop gros, seul l'émetteur le peut. L'émetteur n'a plus le choix de permettre aux routeurs de fragmenter un paquet en chemin ou non avec le flag "ne pas fragmenter". Un routeur IPv6 ne peut que renvoyer un message d'erreur ICMPv6 "paquet trop gros" indiquant la taille maximum à l'émetteur du paquet. Celui-ci et devra ensuite réémettre le datagramme en le fragmentant ou émettre des datagrammes plus petits, par exemple en réduisant la taille des segments TCP (MSS). Cela fait partie du processus de découverte de MTU du chemin (path MTU discovery ou PMTUD).

Mais tout ceci ne s'applique qu'à l'émission. En réception sur une connexion IP/ADSL en PPPoE, il y a un autre problème. Le dernier routeur avant la connexion, le LNS, ne sait pas que plus loin le MTU est à 1492. Donc s'il reçoit un paquet de taille supérieure à router vers la connexion ADSL, il le laisse passer. Lorsque ce paquet, encapsulé dans une trame PPPoE, arrive au modem du client pour être transmis sur le lien ethernet, sa taille dépasse 1500 (il faut ajouter 8 pour les en-têtes PPPoE et PPP). Et comme le modem n'intervient pas au niveau IPv6 car ce n'est pas un routeur, il ne peut pas émettre de message d'erreur ICMP "paquet trop gros". Résultat, le paquet est perdu silencieusement et le processus de PMTUD de l'émetteur distant est cassé.

Réduire le MTU IPv6 local a un effet sur le MSS par défaut des connexions TCP, qui est égal à MTU - 60 (et non plus 40, ne pas oublier que l'en-tête IPv6 est plus gros que l'en-tête IPv4, notamment à cause des adresses plus longues). Comme ce MSS est transmis à l'hôte distant lors de l'établissement d'une connexion TCP, celui-ci n'enverra pas des segments TCP plus gros que le MSS annoncé. Mais ça ne règle le problème qu'en TCP. Attention donc aux applications susceptibles de mettre en jeu des paquets de grande taille d'autres protocoles comme UDP et qui n'annoncent pas de taille maximum.

A noter que le problème existe aussi en IPv4, et est contourné pour TCP au niveau des LNS de Nerim qui réécrivent le MSS à la volée.

-----------------------------------------------------------------
Les listes de diffusion du CULTe - Pour une informatique libre
http://www.CULTe.org/listes/
Pour se desabonner:
mailto:linux-31-unsubscribe@CULTe.org?subject=Cliquez_sur_ENVOYER