Invio di dati su una rete con MTU zero (Maximum Transmission Unit)
-
27-09-2019 - |
Domanda
Voglio inviare i dati in modo tale che la frammentazione dei dati è disattivato. Ad esempio, nel ping, se scriviamo
ping localhost -M do -s 65507
-M do: disabilitare la frammentazione -s 65507: dimensione massima del pacchetto
Mi dà un errore come
From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)
C'è qualche altro modo per farlo o utilizzando qualche altro software. Preferibilmente Iperf.
Soluzione
Sembra che tu stia cercando il Do not Fragment (DF) bandiera. Essa viene impostata in base al pacchetto nella bandiere di intestazione IP . Tutto ciò che ha inviato più grande della MTU con DF set si tradurrà in un messaggio di errore ICMP generato. Senza DF impostare il router può frammentare e inviare. Ci sono un sacco di sistemi rotti là fuori che mangiano sia l'errore ICMP (firewall paranoici folli) o in altro modo si comportano in modo strano.
RFC791 fornisce informazioni sulle regole per frammentare i pacchetti IP.
tipica MTU sono 1500 byte. Il MTU minima per IPv4 è 576, mentre per IPv6 è 1280. Gigabit Ethernet e altri collegamenti spesso sostengono molto più grande MTU.
Altri suggerimenti
Il MTU di Ethernet è di 1500 byte, compresi gli header. Non si può semplicemente ignorare. Non c'è modo è possibile inviare un pacchetto che di grandi dimensioni senza frammentazione.