Auteur Sujet: Free: Problème de MTU/MSS pour les flux montant avec un APN configuré en IPv6  (Lu 8976 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Problème de MTU / MSS sur Free pour les flux montant utilisant le 464XLAT avec un APN configuré en IPv6
Pas d'upload possible vers les serveurs IPv4 only si le mobile est en IPv6



Je vais vous expliquer comment j'ai découvert le problème : en réalisant des tests nPerf

Avec un APN configuré en IPv4, le test d'envoi de nPerf fonctionne parfaitement :






Avec un APN configuré en IPv6, le test d'envoi des même serveur nPerf affiche 0 Mb/s en montant :


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
La solution ? Faire un test en IPv6, quand le serveur le propose, ce qui n'est pas le cas du serveur Free.

- Serveur testé en IPv4 (avec un APN IPv4) : débit montant ok
- Serveur testé en IPv4 (avec un APN IPv6) : débit montant nul (0 Mb/s)
- Serveur testé en IPv6 (avec un APN IPv6) : débit montant ok

Serveur Lasotel, testé en IPv4 puis en IPv6 :


Serveur Orange, testé en IPv4 puis en IPv6 :


Serveur OVH Roubaix, testé en IPv4 puis en IPv6 :


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Serveur OVH Strasbourg, testé en IPv4 puis en IPv6 :


Serveur Rezopole, testé en IPv4 puis en IPv6 :


Serveur Bouygues Lille, testé en IPv4 puis en IPv6 :


Serveur Appliwave en IPv4 :


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
J'ai pensé au début à un bug de nPerf.

Mais, non le problème se reproduit avec d'autres tests de débit, quand ils proposent des serveurs IPv4 only.

5Gmark, le débit montant est nul, uniquement sur les serveurs IPv4 (merci SFR de garder un serveur IPv4 only alors que presque tous les autres serveurs sont en dual stack)



vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Le problème se reproduit avec SpeedTest.net d'Ookla :

SpeedTest ne donne aucune information sur la disponibilité IPv4 / IPv6 des serveurs.

La majorités des serveurs sont disponibles en IPv6 (sans possibilité de faire le test en IPv4 sur ces mêmes serveurs) et il faut donc viser des serveurs IPv4 only pour avoir un débit montant nul) :





vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Le problème se voit également dans un navigateur web avec le test d'UFC Que choisir qui est en IPv4 :





Les différents tests ont été réalisé avec ces IP, à Arcueil, au point entouré en vert, mon mobile étant attaché à l'antenne rouge (étonnant d'être sur une antenne si éloignée de ma position) :


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Le problème se manifeste également en partage de connexion

L'upload d'images sur le site https://tinypng.com/ (serveur IPv4 only) est en échec :



vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
J'ai réalisé des captures de trafic montant, en partage de connexion, avec une capture coté client et coté serveur, afin de mieux comprendre la cause de ce problème avec les flux upload.

J'ai utilisé un envoi (fichier temp.iso de 10 Mo) vers ip.lafibre.info avec Curl sous Linux (Ubuntu 21.04) connecté en Wi-Fi à mon mobile Android en partage de connexion :
- APN IPv4, flux IPv4 : curl -4 -o /dev/null -F "filecontent=@./temp.iso" http://ip.lafibre.info => ok
- APN IPv6, flux IPv4 : curl -4 -o /dev/null -F "filecontent=@./temp.iso" http://ip.lafibre.info => blocage des paquets de grande taille dans le sens montant
- APN IPv6, flux IPv6 : curl -6 -o /dev/null -F "filecontent=@./temp.iso" http://ip.lafibre.info => ok




Capture Wireshark APN IPv4 et flux en IPv4 : tout est ok

Capture coté client :
(cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv4_flux_ipv4_cli.pcapng.gz


Capture coté serveur : (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv4_flux_ipv4_srv.pcapng.gz




Capture Wireshark APN IPv6 et flux en IPv4 : blocage des paquets de grande taille

Capture coté client :
(cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv6_flux_ipv4_cli.pcapng.gz


Capture coté serveur : (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv6_flux_ipv4_srv.pcapng.gz




Capture Wireshark APN IPv6 et flux en IPv6 : tout est ok

Capture coté client :
(cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv6_flux_ipv6_cli.pcapng.gz


Capture coté serveur : (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202103_free_upload_apn_ipv6_flux_ipv6_srv.pcapng.gz

vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
APN IPv6 et flux IPv4 : visualisation du problème

Voici les échanges de paquets (chaque ligne = un paquet). J'ai entouré les paquets en 3 couleurs :

- Vert : le début de la connexion, parfaitement normal
- Rouge : les paquets émis de grande taille qui sont tous supprimés (car trop gros)
- Bleu : la fin de la connexion en time-out

Coté client : Les paquets sur fond noir sont des paquets retransmis une seconde fois






Coté serveur : il manque tous les paquets rouge



Voici le contenu texte des paquets vu que l'on est en http :



vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
APN IPv4 et flux IPv4 : un exemple quand tout est ok


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
La cause ? Un MSS trop élevée en IPv4

Rappel des base du réseau : Lors de l'ouverture d'une connexion TCP, il y a dans les paquets [SYN] et [SYN-ACK] échange de la taille maximale que le réseau supporte, c'est le MSS, pour Maximum Segment Size.

MSS = MTU - en-têtes IP sans options - en -têtes TCP/UDP.

Si on prend un réseau parfait avec une MTU de 1500 octets, on a un MSS de 1460 octets en IPv4 et 1440 octets en IPv6.

Pourquoi cette différence ?

Un en-tête IPv4 (sans option) fait 20 octets


Un en-tête IPv4 fait 40 octets


vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Free utilise le 464XLAT pour joidre un serveur IPv4 quand l'APN est configuré en IPv6 only

C'est évoqué dans le rapport sur l’état d’internet en France de l'Arcep, édition 2021 :


Il y a quand même des nouveautés dans le rapport, comme les explications sur les accès IPv6 et le mécanisme de 464XLAT :