L'envoi de données sur un réseau avec zéro MTU (Maximum Transmission Unit)
-
27-09-2019 - |
Question
Je veux envoyer des données telles que la fragmentation des données est désactivée. Par exemple, dans ping, si nous écrivons
ping localhost -M do -s 65507
-M do: désactiver la fragmentation -s 65507: taille maximale des paquets
Il me donne une erreur comme
From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)
Y at-il une autre façon de le faire ou d'utiliser un autre logiciel. De préférence Iperf.
La solution
On dirait que vous êtes à la recherche de la Do not Fragment (DF) drapeau. Il se trouve sur une base par paquet dans le . Tout ce qui a envoyé plus grand que le MTU avec l'ensemble DF se traduira par un message d'erreur ICMP généré. Sans DF régler le routeur peut fragmenter et envoyer. Il y a beaucoup de systèmes cassés là-bas qui mangent soit l'erreur ICMP (pare-feu paranoïaque fou) ou se comporter autrement bizarrement.
RFC791 fournit des détails sur les règles pour fragmenter datagrammes IP.
MTUs typiques sont de 1500 octets. Le MTU minimum pour IPv4 est de 576, tandis que pour IPv6 est 1280. Gigabit Ethernet et d'autres liens prennent souvent en charge MTUs beaucoup plus.
Autres conseils
Le MTU Ethernet est de 1500 octets, y compris les en-têtes. Vous ne pouvez pas ignorer cela. Il n'y a aucun moyen que vous pouvez envoyer un paquet sans grande fragmentation.