Verifica se i frame jumbo funzionano effettivamente


28

Esiste un comando per verificare se i frame jumbo funzionano davvero? vale a dire una sorta di "ping" che segnala se il pacchetto è stato suddiviso o meno lungo il percorso.

Ho un host ESXi con una macchina virtuale Ubuntu che monta un Dell MD3000i tramite iSCSI. Sospetto che i jumbo frame non siano abilitati sullo switch e non riesco facilmente ad accedere ad esso ad esso. Ho la possibilità di collegare l'array di dischi direttamente all'host ESXi, ma vorrei un modo per confermare che i frame jumbo sono prima un problema.

Risposte:


42

Abilitare i Jumbo Frame significa consentire un'unità di trasmissione massima (MTU) più grande, di solito impostando l'MTU su 9000.

Per verificare che ciò abbia funzionato, puoi usare il ping in windows con il flag -l per impostare la dimensione del pacchetto e il flag -f per impostare il flag Don't Fragment nel pacchetto.

ping my.test.host -f -l 8972

Se il pacchetto viene frammentato, vedrai

Packet needs to be fragmented by DF set

al posto di quello che normalmente vedresti.

Per Linux, il comando ping utilizza flag diversi. -simposta la dimensione del pacchetto e -M doimposta Non frammentare. Quindi il comando sopra sarebbe:

ping my.test.host -M do -s 8972

Regolando la dimensione del pacchetto, puoi capire qual è il mtu per il link. Ciò rappresenterà il mtu più basso consentito da qualsiasi dispositivo nel percorso, che potrebbe essere il tuo interruttore, il tuo computer, la destinazione o qualsiasi altra via di mezzo.

Questo da solo non ti dirà dove si trova l'MTU più basso: potresti essere in grado di risolverlo eseguendo il test su diversi dispositivi nel percorso, ma potrebbero sempre esserci router trasparenti che limitano l'MTU ma non vengono visualizzati per traceroute.

Nota che c'è un sovraccarico di 28 byte per le intestazioni ICMP, quindi l'MTU è maggiore di 28 byte rispetto alla cifra stabilita con il metodo sopra. Quindi, per verificare MTU di 9000, in realtà è necessario impostare la dimensione del pacchetto ping su 9000-28 = 8972.

Aggiornamento Ho trovato alcune risorse che individueranno specificamente l'MTU attraverso il percorso tra l'host e la destinazione:

  • Per Windows mturoute
  • Per * nix tracepath o traceroute --mtu

E ancora qualche discussione sulla ricerca dell'MTU di un percorso .


+1. Bella risposta. Ho pensato anche a questo, ma non ero sicuro che gli avrebbe permesso di rilevare quale fosse la dimensione del frame supportato dallo switch. Non ci ho pensato come test del percorso MTU.
joeqwerty,

1
Bello ... su Windows. Piccole modifiche per farlo funzionare su Linux. [ping 10.1.1.101 -s 1472] dove 1472 è la dimensione MTU. Modifica la tua domanda per includerla e accetterò
pesce palla

Ecco un'utilità che utilizza il metodo descritto da dunxd: elifulkerson.com/projects/mturoute.php
Chris

2
Ok - la pagina man ti avrebbe aiutato subito, ma ho aggiornato con i dettagli specifici per Linux. Il flag non frammentare è necessario per il corretto funzionamento del test, e questo non è così chiaro nel ping di Linux come in Windows.
Dunxd,

1
Se si abilita SSH per la prima volta sull'host ESXi e si accede, è possibile utilizzare vmkping -d -s 8972 10.1.1.101, dove -s imposta la dimensione del pacchetto e -d imposta il flag Non frammentare.
Eric3,

1

Non sono sicuro che funzionerebbe, ma potresti provarlo:

Sul computer che ha il client MDSM assicurati che i frame Jumbo siano supportati e abilitati, quindi vai alla scheda supporto nel client MDSM e seleziona il link "Raccogli informazioni di supporto", seleziona un percorso sul client MDSM in cui scaricare il file, avviare un'acquisizione di pacchetti sul client MDSM e fare clic sul pulsante Start per iniziare a raccogliere e scaricare le informazioni di supporto (file zip). Al termine della raccolta / download, guarda l'acquisizione e guarda quanto sono grandi i frame Ethernet dall'MD3000i al client MDSM. Se lo switch, l'MD300i e il client MDSM sono tutti configurati per i frame Jumbo, dovresti vederlo nella dimensione del frame Ethernet nell'acquisizione.


1

In ESXi è necessario specificare quale interfaccia utilizzare, altrimenti il ​​ping viene instradato tramite l'interfaccia mgmt, più in -d per impostare DF (non frammentare):

vmkping -I vmkX -s 8972 -d xxxx

http://kb.vmware.com/kb/1003728


-1

Puoi anche controllarlo dalla console ESXi tramite SSH: attiva Sicurezza-> Firewall-> Remote Tech.support (SSH) e dopo l'accesso ssh fai "vmkping -s 8000" o qualcosa del genere (non ricordare esattamente le sue opzioni)


4
Cerca le opzioni e qualcuno potrebbe votarti.
Dunxd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.