1

Я работал с Rpi, и я пытался передать некоторые данные с моего устройства с поддержкой Wi-Fi на Rpi через UDP. Но я часто испытываю потерю пакетов. Я не знаю почему, потеря пакета все еще присутствует для меньших расстояний (например, 5 метров).

Я нахожусь в здании, у которого есть много точек доступа Wi-Fi. Я думаю, что потеря пакета происходит из-за влияния помех, я прав?

Не могли бы вы помочь мне понять причину потери пакетов? У меня есть поиск по интернету, но почти в статьях говорится, что потеря пакетов происходит из-за перегрузки сети, многолучевого распространения, проблем с оборудованием или программного обеспечения.

Каковы основные причины потери пакетов в Wi-Fi с UDP.?

1 ответ1

1

UDP не обеспечивает надежную передачу данных. Вы также можете потерять UDP-пакеты, отправленные по проводам, даже напрямую подключенные к хосту.

Пакеты, отправляемые через WiFi, подвержены помехам, которые увеличивают вероятность его потери, но это еще один фактор, который следует учитывать. UDP-пакеты могут быть потеряны по многим причинам, например: проверка контрольной суммы не удалась, буфер очереди, который ее отбрасывает (потому что он полон или из-за политик, например, RED, ...), политика QoS, которая устанавливает приоритеты для других трафик, может быть, ОС решает отбросить его, потому что это определяет приоритет другого трафика, ...

РЕДАКТИРОВАТЬ:

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

Вы можете попытаться определить, где отбрасываются пакеты, запустив tcpdump на обоих концах - в отправителе, чтобы убедиться, что пакеты отправляются, и в получателе, чтобы убедиться, что они достигают хоста, по крайней мере. Вы должны контролировать счетчики NIC получателей, чтобы увидеть, есть ли высокая ошибка пакета / количество отброшенных. Если у вас есть маршрутизатор, работающий под управлением Linux (например, dd-wrt или openWRT) или у вас есть какой-то busybox который вы можете подключиться через ssh , вы также можете запустить tcpdump в маршрутизаторе, чтобы проверить, сбрасываются ли пакеты между маршрутизатор и хост назначения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .