MTU Starlink : la MTU du chemin mesurée à 1500 octets

La MTU du chemin depuis une connexion Starlink à la maison était de 1500 octets en IPv4 comme en IPv6, sur chaque chemin testé. C’est le plus grand paquet que peut envoyer un ordinateur dont la MTU du lien est de 1500 octets ; le test ne peut donc pas montrer si le chemin en transporterait davantage, et il porte sur une seule connexion, derrière son routeur de la maison, en deux relevés à quelques minutes d’intervalle.

Par Rowan Hale · Publié en

Des paquets de 1500 octets ont atteint les trois hôtes de test, en IPv4 et en IPv6

La MTU (maximum transmission unit, unité de transmission maximale) d’un lien est le plus grand paquet qu’il transporte d’un seul tenant, et la MTU d’un chemin (path MTU) est la plus petite MTU de lien le long de ce chemin. La section 2 de la RFC 8201, consultée en octobre 2026, la définit comme « the minimum link MTU of all the links in a path between a source node and a destination node » (la plus petite MTU de lien parmi tous les liens d’un chemin entre un nœud source et un nœud de destination).

Le test a été lancé en octobre 2026 depuis un ordinateur relié par câble au réseau domestique, sur une connexion Starlink à la maison, en deux relevés à quelques minutes d’intervalle. Toutes les routes vers les hôtes de test sortaient par l’interface filaire ; aucun VPN, nœud de sortie ou tunnel ne transportait donc le trafic. Dans chaque relevé, pour chaque hôte, en IPv4 et en IPv6, tracepath est allé jusqu’au bout. Ensuite, trois pings dimensionnés pour former des paquets de 1500 octets sont partis avec l’option ne pas fragmenter activée et un délai de réponse de 2 secondes. Trois autres, dimensionnés pour former des paquets de 1501 octets, ont été refusés par l’ordinateur avant d’être envoyés.

Les trois hôtes sont des machines publiques que leurs opérateurs proposent pour des tests réseau (chaque page consultée en octobre 2026) :

  • scanme.nmap.org, que le projet Nmap a mis en place pour que chacun puisse « test and make sure that their Nmap installation (or Internet connection) is working properly » (vérifier que son installation de Nmap, ou sa connexion à Internet, fonctionne correctement) ;
  • speedtest.newark.linode.com, dont la page d’accueil a pour titre « Linode, now Akamai, Speedtest » (Linode, désormais Akamai, test de débit) ;
  • proof.ovh.net, un hôte de test de débit réseau d’OVHcloud.
Tableau 1. MTU du chemin depuis un ordinateur relié par câble à une connexion Starlink à la maison vers trois hôtes de test publics, en deux relevés à quelques minutes d’intervalle, octobre 2026. Chaque relevé a envoyé à chaque hôte trois pings de 1500 octets avec l’option ne pas fragmenter, en IPv4 et en IPv6, et tracepath a donné les mêmes valeurs de départ et d’arrivée dans les deux relevés.
IP Hôte Réponses à 3 pings, relevés 1 et 2 MTU du chemin selon tracepath, départ et arrivée Dernière réponse de tracepath venue de
IPv4 scanme.nmap.org 3 et 3 1500 et 1500 l’hôte
IPv4 speedtest.newark.linode.com 3 et 3 1500 et 1500 l’hôte
IPv4 proof.ovh.net 3 et 3 1500 et 1500 l’hôte
IPv6 scanme.nmap.org 3 et 3 1500 et 1500 l’hôte
IPv6 speedtest.newark.linode.com 3 et 3 1500 et 1500 une autre adresse, qui répondait pour l’hôte, dans les deux relevés
IPv6 proof.ovh.net 3 et 3 1500 et 1500 l’hôte

Remarque

Pour l’hôte de Newark en IPv6, la réponse qui a terminé chaque tracé venait d’une adresse autre que celle de l’hôte, dans les deux relevés. Dans le second relevé, qui l’a vérifié, chaque réponse aux pings venait de la propre adresse de l’hôte ; son résultat de taille tient donc.

La découverte de la MTU du chemin part de la MTU du premier lien de l’émetteur. En IPv4, l’émetteur active le bit Don't Fragment (DF, ne pas fragmenter), et un routeur qui ne peut pas transmettre un tel paquet entier le rejette et renvoie un message ICMP qui signifie « fragmentation needed and DF set », c’est-à-dire fragmentation nécessaire mais bit DF activé (RFC 1191, section 2, consultée en octobre 2026). En IPv6, un routeur qui ne peut pas transmettre un paquet parce qu’il dépasse la MTU du lien suivant doit renvoyer un message Packet Too Big (RFC 4443, section 3.2, consultée en octobre 2026). Dans les deux cas, l’émetteur abaisse son estimation (RFC 8201, section 3). tracepath trace un chemin en « discovering MTU along this path », c’est-à-dire en découvrant la MTU le long de ce chemin, et affiche la MTU du chemin là où elle change (iputils 20250605, page consultée en octobre 2026). Dans chaque tracé fait ici, elle est restée à 1500 du début à la fin, et aucun ping n’a déclenché de message « too big » (trop grand) ; aucun saut n’a donc signalé de MTU plus petite.

Les pings vérifient la même chose de bout en bout. Chaque ping de 1500 octets a atteint son hôte, et sa réponse est revenue. Cela couvre les sauts qui ne répondent pas à tracepath, que seuls les pings testent. Le chemin commence aussi au routeur de la maison, donc les réglages propres au routeur font partie du résultat : rien sur ces chemins, routeur de la maison et réseau de Starlink compris, ne coupait les paquets en dessous de 1500 octets à ce moment-là.

En IPv4, les tracés commençaient par les mêmes types de sauts que le tracé du guide sur l’auto-hébergement sans adresse IPv4 publique, que cette page ne répète pas.

Un ping de 1472 octets est un paquet de 1500 octets en IPv4

L’option -s de ping fixe le nombre d’octets de données, et ICMP y ajoute un en-tête de 8 octets (ping(8), iputils 20250605, page consultée en octobre 2026). Un message d’écho ICMPv6 a lui aussi 8 octets avant ses données : type, code, somme de contrôle, identifiant et numéro de séquence (RFC 4443, section 4.1, consultée en octobre 2026). Un en-tête IPv4 minimal fait 20 octets, et un en-tête IPv6 fait 20 octets de plus, soit 40 (RFC 8200, section 8.3, consultée en octobre 2026).

IP Données du ping (-s), octets En-tête ICMP, octets En-tête IP, octets Paquet, octets
IPv4 1472 8 20 1500
IPv6 1452 8 40 1500
IPv4 1473 8 20 1501
IPv6 1453 8 40 1501

Un ping avec l’option ne pas fragmenter qui obtient des réponses avec 1472 octets de données en IPv4 signifie qu’un paquet de 1500 octets a traversé le chemin. Les 1472 octets sont la charge utile du ping, et la MTU, c’est le paquet entier.

En IPv6, les routeurs ne découpent jamais un paquet : « fragmentation in IPv6 is performed only by source nodes » (en IPv6, la fragmentation n’est faite que par les nœuds sources), dit la RFC 8200 (section 4.5). Un ping de 1500 octets en IPv6 traverse donc entier, ou rencontre un routeur qui doit répondre par un message Packet Too Big (RFC 4443, section 3.2).

Pour refaire le test sous Linux avec iputils, lancez ces commandes, montrées ici avec l’un des trois hôtes :

défile horizontalement
tracepath -4 -n scanme.nmap.org
ping -4 -M do -n -c 3 -W 2 -s 1472 scanme.nmap.org
tracepath -6 -n scanme.nmap.org
ping -6 -M do -n -c 3 -W 2 -s 1452 scanme.nmap.org

-M do active l’option ne pas fragmenter, -c 3 envoie trois pings et -W 2 fixe un délai de réponse de 2 secondes (ping(8)). La page de Nmap demande aux visiteurs de ménager son hôte : « A few scans in a day is fine » (quelques analyses par jour, ça va). Les commandes ping d’autres systèmes prennent d’autres options, et cette page ne les couvre pas.

Les paquets de 1501 octets n’ont jamais quitté l’ordinateur

Limite

Chaque ping dimensionné pour former un paquet de 1501 octets, 1473 octets de données en IPv4 et 1453 en IPv6, a été refusé par le noyau de l’ordinateur de test lui-même avant d’être envoyé : 3 sur 3 dans tous les cas, dans les deux relevés. La MTU du lien de l’ordinateur est de 1500 octets, et son noyau n’avait aucune MTU de chemin en cache pour aucun hôte, ni avant ni après chaque relevé. ping(8) explique le refus : avec -M do, les paquets sont « subject to PMTU checks by kernel, packets too large will be rejected » (soumis aux vérifications de PMTU du noyau, les paquets trop grands seront rejetés). Cette moitié du test vérifie donc le propre lien de l’ordinateur, pas le chemin, et le test ne peut pas montrer si le chemin transporterait plus de 1500 octets.

Sur un ordinateur dont la MTU du lien est de 1500 octets, un ping avec -M do et 1473 octets de données (IPv4) ou 1453 (IPv6) qui échoue aussitôt, avec une erreur locale indiquant que le message est trop long pour une MTU de 1500, a été refusé par cet ordinateur. Cet échec ne dit rien de votre fournisseur d’accès.

Si l’erreur indique une MTU inférieure à 1500, cette lecture ne s’applique pas. L’ordinateur compare alors le paquet à une limite plus basse que celle de son lien, et cette limite peut venir du chemin : un émetteur abaisse son estimation après un message « too big » envoyé par un routeur (RFC 1191, section 2 ; RFC 8201, section 3).

Les outils de tunnel comptent 80 octets pour les en-têtes de WireGuard

Limite

Aucun tunnel n’a tourné pendant ce test. Les nombres de tunnel ci-dessous sont ce que fixe le code de chaque outil, lu dans ses sources en octobre 2026, et aucun n’a été mesuré sur cette connexion.

Tableau 2. Ce que fixe le code de chaque outil, consulté en octobre 2026. Non testé sur cette connexion.
Outil MTU d’interface fixée par son code En-têtes comptés, octets Source Sur cette connexion
WireGuard, pilote du noyau Linux 1420 octets pour une nouvelle interface : 1500 moins 80 32 + 8 + 40 = 80 device.c, Linux 6.18 non testé
wg-quick sous Linux, configuration sans MTU la MTU de la route moins 80 : 1420 sur une route à 1500 octets 80 linux.bash, wireguard-tools v1.0.20250521 non testé
Tailscale 1280 octets sauf si TS_DEBUG_MTU fixe une autre taille ; 1360 octets sur le fil 40 + 8 + 4 + 4 + 8 + 16 = 80 mtu.go, Tailscale v1.90.0 non testé

Dans le noyau Linux, une nouvelle interface WireGuard reçoit dev->mtu = ETH_DATA_LEN - overhead (device.c, Linux 6.18). ETH_DATA_LEN vaut 1500, la charge utile maximale d’Ethernet (if_ether.h). Le surcoût (overhead) correspond au plus petit message de données de WireGuard, plus un en-tête UDP de 8 octets (RFC 768) et le plus grand des en-têtes IPv6 et IPv4, les 40 octets d’IPv6 (RFC 8200). Ce message fait 32 octets : un type de 4 octets, un index de clé de 4 octets, un compteur de 8 octets et un tag d’authentification de 16 octets (messages.h, avec la taille du tag dans chacha20poly1305.h). Le surcoût est donc de 80 octets, et l’interface démarre à 1420. Le tout consulté en octobre 2026.

Le tag vient après les données chiffrées : dans l’AEAD (authenticated encryption with associated data, chiffrement authentifié avec données associées) de la RFC 8439, la sortie est le texte chiffré, puis le tag (section 2.8, consultée en octobre 2026).

Les parties de trois paquets : ping IPv4, ping IPv6 et WireGuard sur IPv6 Chaque paquet fait 1500 octets sur le lien. Ping IPv4 : 20 octets d’en-tête IPv4, 8 octets d’en-tête ICMP et 1472 octets de données. Ping IPv6 : 40 octets d’en-tête IPv6, 8 octets d’en-tête ICMPv6 et 1452 octets de données. WireGuard sur IPv6, d’après son code et non testé : 40 octets d’en-tête IPv6, 8 octets d’en-tête UDP, 16 octets de type, d’index de clé et de compteur, un paquet chiffré de 1420 octets au plus et 16 octets de tag d’authentification. Ping IPv4, -s 1472 en-tête IPv4 en-tête ICMP données du ping 20 8 1472 1500 octets Ping IPv6, -s 1452 1 2 3 40 8 1452 1500 octets 1 en-tête IPv6 2 en-tête ICMPv6 3 données du ping WireGuard sur IPv6, avec un lien de 1500 octets d’après le code de WireGuard, non testé 1 2 3 4 5 40 8 16 1420 16 1500 octets 1 en-tête IPv6 2 en-tête UDP 3 type, index de clé, compteur 4 paquet chiffré 5 tag d’authentification En-têtes à l’échelle ; données longues raccourcies à la coupure. Tailles en octets. Les parties de trois paquets : ping IPv4, ping IPv6 et WireGuard sur IPv6 Chaque paquet fait 1500 octets sur le lien. Ping IPv4 : 20 octets d’en-tête IPv4, 8 octets d’en-tête ICMP et 1472 octets de données. Ping IPv6 : 40 octets d’en-tête IPv6, 8 octets d’en-tête ICMPv6 et 1452 octets de données. WireGuard sur IPv6, d’après son code et non testé : 40 octets d’en-tête IPv6, 8 octets d’en-tête UDP, 16 octets de type, d’index de clé et de compteur, un paquet chiffré de 1420 octets au plus et 16 octets de tag d’authentification. Ping IPv4, -s 1472 en-tête IPv4 en-tête ICMP données du ping 20 8 1472 1500 octets Ping IPv6, -s 1452 en-tête IPv6 en-tête ICMPv6 données du ping 40 8 1452 1500 octets WireGuard sur IPv6, avec un lien de 1500 octets d’après le code de WireGuard, non testé en-tête IPv6 en-tête UDP type, index de clé, compteur paquet chiffré tag d’authentification 40 8 16 1420 16 1500 octets En-têtes à l’échelle ; données longues raccourcies à la coupure. Tailles en octets.
Trois paquets de 1500 octets, premier octet à gauche. Les en-têtes prennent 28 octets en IPv4 et 48 en IPv6 ; ceux de WireGuard en prennent 80, ce qui laisse 1420 octets pour le paquet transporté. La couleur rouille signale la taille qui a traversé tous les chemins testés en octobre 2026 (tableau 1) ; la ligne WireGuard vient de son code et n’a pas été testée. Tailles telles que la page les cite : RFC 8200, RFC 4443, ping(8), RFC 768, messages.h et device.c de WireGuard, et chacha20poly1305.h et if_ether.h du noyau Linux ; la place du tag après les données, RFC 8439 ; consultés en octobre 2026. Les nombres figurent aussi dans le tableau sous « Un ping de 1472 octets est un paquet de 1500 octets en IPv4 » et dans le tableau 2.

wg-quick sous Linux utilise la ligne MTU de la configuration de l’interface quand elle existe. Sans elle, le script lit la MTU des routes vers les points de terminaison des pairs, se rabat sur celle de la route par défaut puis sur 1500, et règle l’interface 80 octets plus bas (linux.bash, wireguard-tools v1.0.20250521, consulté en octobre 2026). Sur une route à 1500 octets, cela donne 1420.

Tailscale compte les mêmes 80 octets pour le pire cas, un en-tête extérieur IPv6. Sa liste comprend un « 20-byte IPv4 header or 40-byte IPv6 header » (un en-tête de 20 octets en IPv4 ou de 40 octets en IPv6), un en-tête UDP de 8 octets, un type de 4 octets, un index de clé de 4 octets, un nonce de 8 octets et un tag d’authentification de 16 octets (mtu.go, Tailscale v1.90.0, consulté en octobre 2026). Dans ce fichier, la taille ne dépend pas du lien : DefaultTUNMTU(), que le fichier utilise pour fixer la MTU de l’interface, renvoie 1280, la MTU par défaut qu’il qualifie de « safe » (sans risque), sauf si le réglage de débogage TS_DEBUG_MTU donne une autre taille. Elle renvoie 1280 même avec TS_DEBUG_ENABLE_PMTUD, le réglage de débogage qui sonde la MTU du chemin, activé. Avec les 80 octets ajoutés, 1280 donne 1360 octets sur le fil. La valeur 1280 est aussi la plus petite MTU qu’IPv6 autorise sur un lien (RFC 8200, section 5).

Les chemins de ce test transportaient des paquets de 1500 octets. Aucun tunnel n’y circulait ; cette page ne montre donc pas ce qu’auraient fait les paquets d’un tunnel.

Quand un paquet est trop grand pour un lien et que le message « too big » n’atteint jamais l’émetteur, la RFC 8201, dans sa section 1, décrit des connexions qui « complete the TCP three-way handshake correctly but then hang when data is transferred » (terminent correctement la poignée de main TCP en trois temps, puis se figent quand des données sont transférées). Ce test ne l’a pas recherché.

Non testé ici

  • La MTU d’un tunnel sur cette connexion, pour WireGuard, Tailscale ou un VPN professionnel. Savoir si changer une MTU règle un problème de VPN n’est pas testé non plus.
  • Un maximum ou une valeur par défaut. Rien au-delà de 1500 octets n’a pu quitter l’ordinateur de test ; cette page ne montre donc aucun maximum. Les pages de Starlink sur la MTU n’ont pas été lues pour cette page ; elle ne montre donc pas non plus de valeur par défaut.
  • Le Wi-Fi. Les deux relevés ont été faits sur un lien filaire.
  • D’autres connexions et d’autres moments. Les deux relevés étaient espacés de quelques minutes, et selon la RFC 8201 (section 3), la MTU d’un chemin « may change over time, due to changes in the routing topology » (peut changer avec le temps, du fait de changements dans la topologie de routage).

Voir comment ces résultats s’articulent avec les autres tests faits à la maison, pour un homelab.

Sources

  1. RFC 8201: Path MTU Discovery for IP version 6, IETF, consulté en
  2. RFC 8200: Internet Protocol, Version 6 (IPv6) Specification, IETF, consulté en
  3. RFC 1191: Path MTU Discovery, IETF, consulté en
  4. RFC 4443: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, IETF, consulté en
  5. RFC 768: User Datagram Protocol, IETF, consulté en
  6. RFC 8439: ChaCha20 and Poly1305 for IETF Protocols, IRTF, consulté en
  7. ping(8), iputils 20250605, man7.org, consulté en
  8. tracepath(8), iputils 20250605, man7.org, consulté en
  9. drivers/net/wireguard/device.c, Linux 6.18, Linux kernel, consulté en
  10. drivers/net/wireguard/messages.h, Linux 6.18, Linux kernel, consulté en
  11. include/crypto/chacha20poly1305.h, Linux 6.18, Linux kernel, consulté en
  12. include/uapi/linux/if_ether.h, Linux 6.18, Linux kernel, consulté en
  13. src/wg-quick/linux.bash, wireguard-tools v1.0.20250521, WireGuard, consulté en
  14. net/tstun/mtu.go, Tailscale v1.90.0, Tailscale, consulté en
  15. scanme.nmap.org home page, Nmap Project, consulté en
  16. speedtest.newark.linode.com home page, Akamai (Linode), consulté en
  17. proof.ovh.net home page, OVHcloud, consulté en
  18. Starlink a-t-il un programme de parrainage ?, Starlink, consulté en

Journal des tests

  1. Test Deux relevés, en IPv4 et en IPv6, de la MTU du chemin depuis un ordinateur relié par câble au réseau domestique vers trois hôtes de test publics.
  • Héberger un serveur sur Starlink sans adresse IPv4 publique ?

    Pas directement en IPv4 : sans adresse IPv4 publique, les connexions venues d’Internet arrivent sur le NAT de votre opérateur, et ouvrir un port sur votre propre routeur ne permet pas de l’atteindre.

  • Starlink convient-il à un homelab ? Le verdict de cinq tests

    Sur la seule connexion Starlink domestique testée, des paquets de 1500 octets ont traversé la connexion en IPv4 et en IPv6 en octobre 2026, et les allers-retours en IPv4 ont connu des pics à quatre secondes fixes de chaque minute dans l’un de deux tests d’une heure, avec 901 pings perdus sur 143 462 sur l’ensemble des deux ; les moyens de contourner le NAT au niveau de l’opérateur (CGNAT), comme un tunnel qui part de l’intérieur de votre réseau, ne sont pas testés ici.