2010-10-29 38 views
0

Je souhaite envoyer les données de sorte que la fragmentation des données soit désactivée. Par exemple, dans ping, si l'on écritEnvoi de données sur un réseau avec MTU (Maximum Tranmission Unit)

ping localhost -M do -s 65507 

-M faire: 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 un autre manière de le faire ou en utilisant un autre logiciel. De préférence Iperf.

Répondre

3

On dirait que vous recherchez le drapeau Do not Fragment (DF). Il est défini sur une base par paquet dans le flags of the IP header. Tout élément envoyé plus volumineux que le MTU avec DF défini entraînera la génération d'un message d'erreur ICMP. Sans DF défini le routeur peut fragmenter et envoyer. Il y a beaucoup de systèmes cassés qui mangent l'erreur ICMP (firewalls paranoïaques fous) ou se comportent bizarrement.

RFC791 fournit des détails sur les règles de fragmentation des datagrammes IP.

Les MTU types sont de 1500 octets. Le MTU minimum pour IPv4 est de 576, tandis que pour IPv6 il est de 1280. Gigabit ethernet et d'autres liens supportent souvent des MTU beaucoup plus grandes.

+0

RFC1191 est également intéressant ici en ce sens que TCP "découvre" le MTU le plus bas de tous les routeurs dans le chemin entre deux hôtes. – Flexo

0

Le MTU d'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 puissiez envoyer un paquet aussi grand sans fragmentation.