Тестування, чи реально працює джамбо-кадри


28

Чи є команда перевірити, чи реально працюють джомбові кадри? тобто якийсь "пінг", який повідомляє про те, чи був пакет розбитий по шляху.

У мене хост ESXi з Ubuntu VM, який монтує Dell MD3000i через iSCSI. Я підозрюю, що джомбові кадри не включені на комутаторі, і не можу легко отримати доступ адміністратора до нього. У мене є можливість підключити дисковий масив безпосередньо до хоста ESXi, але хотілося б якимось чином підтвердити, що спочатку проблеми є джомбовими кадрами.

Відповіді:


42

Увімкнення Jumbo Frames означає дозволити збільшити блок максимальної передачі (MTU), як правило, встановивши MTU на 9000.

Щоб переконатися, що це спрацювало, ви можете використовувати ping у Windows з прапором -l для встановлення розміру пакету, а прапор -f - для встановлення прапор Не фрагментувати в пакеті.

ping my.test.host -f -l 8972

Якщо пакет роздроблений, ви побачите

Packet needs to be fragmented by DF set

замість того, що ви зазвичай бачили.

Для Linux команда ping використовує різні прапори. -sвстановлює розмір пакета та -M doвстановлює Do Not Fragment. Отже, наведена вище команда буде:

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

Регулюючи розмір пакету, ви можете зрозуміти, що таке mtu для посилання. Це буде являти собою найнижчий mtu, дозволений будь-яким пристроєм на шляху, який може бути перемикачем, комп'ютером, ціллю чи чим-небудь іншим між ними.

Це само по собі не скаже вам, де знаходиться найнижча MTU - ви, можливо, зможете це вирішити, запустивши тест на різні пристрої на шляху, але завжди можуть бути прозорі маршрутизатори, які обмежують MTU, але не показуються для traceroute.

Зауважте, що для заголовків ICMP є накладні витрати на 28 байт, тому MTU на 28 байт більше, ніж цифра, встановлена ​​вами вище. Отже, щоб перевірити наявність MTU 9000, вам потрібно встановити розмір пакету для ping 9000-28 = 8972.

Оновлення Я знайшов деякі ресурси, які спеціально розраховуватимуть MTU через шлях між хостом та ціллю:

  • Для Windows mturoute
  • Для * nix tracepath або traceroute --mtu

І ще кілька обговорень щодо пошуку MTU шляху .


+1. Гарна відповідь. Я також про це думав, але не був впевнений, чи дозволить йому виявити, який розмір кадру підтримується комутатором. Я не вважав це тестуванням контуру MTU.
joeqwerty

1
Приємно .. на Windows. Невелика зміна, щоб вона працювала на Linux. [ping 10.1.1.101 -s 1472], де 1472 - розмір MTU. Відредагуйте своє питання, щоб включити це, і я прийму
pufferfish

Ось утиліта, яка використовує метод, описаний dunxd: elifulkerson.com/projects/mturoute.php
Кріс,

2
Гаразд - сторінка man допомогла б вам відразу, але я оновив конкретні деталі для Linux. Не працює фрагмент прапора, щоб тест працював належним чином, і це не так зрозуміло в Linux ping, як у Windows.
dunxd

1
Якщо ви вперше включите SSH на хості ESXi та ввійдете в систему, ви можете використовувати vmkping -d -s 8972 10.1.1.101, де -s встановлює розмір пакета, а -d встановлює прапор Do Not Fragment.
Eric3

1

Я не впевнений, що це спрацює, але ви можете спробувати:

На комп’ютері, на якому є клієнт MDSM, переконайтеся, що Jumbo Frames підтримується та увімкнено, а потім перейдіть на вкладку підтримки клієнта MDSM та оберіть посилання "Збирати інформацію про підтримку", виберіть місце на клієнті MDSM для завантаження файлу, запустити захоплення пакетів на клієнті MDSM та натиснути кнопку пуску, щоб почати збирати та завантажувати інформацію про підтримку (zip-файл). Коли колекція / завантаження виконано, подивіться на захоплення і подивіться, наскільки великі кадри Ethernet від MD3000i до клієнта MDSM. Якщо комутатор, MD300i та клієнт MDSM налаштовані для Jumbo Frames, ви повинні побачити, що це розмір кадру Ethernet у захопленні.


1

У ESXi вам потрібно вказати, який інтерфейс ви б використовували, інакше ping буде переведено через mgmt інтерфейс, плюс in -d для встановлення DF (не фрагментуйте):

vmkping -I vmkX -s 8972 -d xxxx

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


-1

Ви також можете перевірити це з консолі ESXi через SSH: увімкніть Security-> firewall-> Remote Tech.support (SSH) і після входу в ssh зробіть "vmkping -s 8000" або щось подібне (точно не пам'ятайте його параметри)


4
Знайдіть варіанти, і хтось може вас проголосувати.
dunxd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.