Стабилизация латентности. Многие TCP Bad CheckSum пакеты перехвачены Wireshark - PullRequest
1 голос
/ 05 декабря 2011

Я кодирую некоторое сетевое программное обеспечение и пытаюсь минимизировать и стабилизировать задержку.Я пришел к выводу, что в большинстве случаев задержка для удаленного хоста (отправка сообщения и получение ACK по некоторому протоколу) составляет около 2 мс, но иногда возникают некоторые колебания (мгновенно переходит в 40 мс, а затем обратно в 2 мс),что я не могу объяснить (код довольно прост и понятен), поэтому я начал обвинять сетевую карту.Первое, что я узнал с помощью WireShark, это то, что TCP Bad Checksum содержит много пакетов?Возможно ли, что это так?Это первое, после всего, что я узнал, что моя сетевая карта Intel обнаружена ОС (Linux SLED 11) неправильно.Команда lspci выводит неверную информацию NIC.Как я могу это исправить?Должен ли я переустановить драйвер?Если да, то как я могу это сделать?

Спасибо!

1 Ответ

4 голосов
/ 05 декабря 2011

Пожалуйста, смотрите здесь об ошибках контрольной суммы. Контрольные суммы иногда рассчитываются аппаратно вашей сетевой платой, поэтому wireshark увидит ее неправильно, даже если она верна на проводе.

Если у вас нет прямого соединения точка-точка, без каких-либо маршрутизаторов или коммутаторов между ними, вы не сможете удалить все изменения в задержке. Даже с прямым подключением вы не сможете этого сделать, если не используете операционную систему реального времени на обоих концах. Очереди переполнены, память выгружается и выгружается, выполняются задачи с более высоким приоритетом и многое другое влияет на задержку. Вам нужно изучить буферы дрожания и протоколы скользящего окна, если вы хотите минимизировать вредное влияние дрожания.

Кроме того, команда lspci показывает, какой чипсет фактически обнаружен на шине pci, и на самом деле не имеет никакого отношения к используемому драйверу. Производители время от времени меняют чипсеты, и они не всегда хорошо соответствуют бренду на коробке. В зависимости от истории водителя, имя не обязательно будет соответствовать вашим ожиданиям. Если трафик проходит, вы почти наверняка используете правильный драйвер.

...