Коефіцієнт втрат пакету за допомогою iperf та tcpdump


10

Я перевірив лінію на якість її зв'язку iperf. Виміряна швидкість (порт UDP 9005) склала 96 Мбіт / с, що добре, оскільки обидва сервера підключені зі швидкістю 100 Мбіт / с до Інтернету. З іншого боку, показник втрат дейтаграми виявився 3,3-3,7%, що я виявив трохи занадто. За допомогою високошвидкісного протоколу передачі я записав пакети з обох сторін tcpdump. Чим я обчислював втрати пакету - в середньому 0,25%. У когось є пояснення, звідки може виникнути ця велика різниця? Що є на вашу думку прийнятною втратою пакетів?


Який протокол ви використовували, обнюхуючи tcpdump? Це був tcp чи udp?
ПіЛ

Я використовував udp для обох тестів.
stefita

Гм ... ви могли б спробувати з іншим сніфтером пакетів?
ПіЛ

2
Wireshark використовуватиме той самий бекенд, що й tcpdump, для збору пакетів, тому він не дасть різних результатів (libpcap або winpcap, залежно від платформи).
Джед Даніельс

1
Чи можете ви виміряти втрати пакетів tcpdumpпід час iperfсеансу? Це правильніша оцінка, ніж ваша. По-друге, слідкуйте за статусом сервера під час тестування - можливо, це просто скидання пакетів?
lexsys

Відповіді:


3

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

Щоб відповісти на ваше друге запитання про те, яка втрата пакету є прийнятною, це насправді залежить від того, яку програму ви запускаєте, скільки трафіку у вас є. Дійсно, втрат не повинно бути, якщо ви знаходитесь під обмеженням пропускної здатності. У більшості речей я, мабуть, не надто скаржиться на .25%, але це все-таки велика втрата, якщо ви працюєте з дуже високими темпами.

[РЕДАКТИВА 1] Деякі інші думки з цієї теми:

  1. Спробуйте збільшити ставки iPerf. Якщо десь є системна проблема, цілком ймовірно, що ви відчуєте однаковий відсоток втрат незалежно від ставки. Якщо ви знаходитесь на межі вашого обладнання, або ваш постачальник робить якийсь ЧЕРВЕНИЙ , то, швидше за все, втрат не буде до певної швидкості, а потім додатково гірші втрати, чим вище, ніж ви йдете.
  2. Виконайте tcpdump вимірювання сесії iPerf, лише щоб переконатися, що ваші тести точні.
  3. Спробуйте iPerf за допомогою TCP. Це не повідомить про втрати, але якщо ви отримуєте збитки, то з'єднання не зможе нарощувати дуже високий рівень. Оскільки затримка також вплине на це, переконайтеся, що випробуєте до кінцевої точки з якомога меншою затримкою.
  4. Залежно від того, яку передачу ви маєте на внутрішній стороні свого з'єднання, переконайтеся, що ви її максимально закриваєте. Наприклад, якщо у вас є кілька комутаторів між тестовою системою та крайовим маршрутизатором, перейдіть до безпосередньо підключеного комутатора.
  5. Якщо у вас є керований комутатор, перевірте статистику на ньому, щоб переконатися, що збитки там не відбуваються. Я стикався з деякими дешевшими комутаторами, які починають випадати, коли ви наближаєтесь до 100Mbps UDP-трафіку на них (хоча в основному старі та дешеві некеровані комутатори).
  6. Спробуйте одночасно iPerfs від двох різних клієнтів до двох різних хостів, щоб ви могли бути впевнені, що обмеження не є результатом процесора чи дешевої локальної картки NIC.

Це може бути вагомою причиною. На жаль, я не можу перевірити зараз, через проблеми з брандмауером. Я повернусь до вашої відповіді, як тільки я проведу новий тест.
stefita

0

Що ж, з TCP є механізми для максимального використання одного потоку, з UDP таких немає. Тому кожна програма повинна створити свої власні механізми, тому, ймовірно, для кожного додатка використовується інший підхід для цього. Можливо, Iperf дозволить втратити більше пакетів, тому що намагається досягти максимальної доступної пропускної здатності з обережністю, отримана інформація чи ні. Інша програма, ймовірно, намагатиметься не втратити багато пакетів і знизить швидкість передачі пакетів до доступної пропускної здатності підключення.


0

Чи використовували ви tcpdump для перевірки втрати пакету при використанні iPerf, щоб переконатися, що втрата пакета, яку ви обчислюєте за допомогою tcpdump, відповідає iperf?

Ви можете виявити, що ваші методи вимірювання не порівнянні.


0

чи iperf автоматично відкидає пакети, які виходять із послідовності з UDP? Можливо, ви дивитесь на трохи джиттера підключення.

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