У меня есть два компьютера, оба работают под управлением Linux Mint Petra (один 32-разрядный, один 64-разрядный). Назовите их A и B. Они находятся в беспроводной сети.

RTT странно асимметричны:

АБА:

user@A $ ping B
~~ 5ms, consistent times ~~

БАБ:

user@B $ ping A
~~ 100-2000ms, wildly inconsistent times ~~

Я не могу придумать механизм. Очевидно, что оба сетевых интерфейса участвуют либо в ABA, либо в BAB, поэтому я не подозреваю, что проблема с драйверами, но вы никогда не знаете. Есть ли какая-то конфигурация, которая может быть связана, которую я мог бы искать? Является ли проблема более вероятной на стороне А или В?

2 ответа2

1

Хост A , вероятно, использует режим энергосбережения 802.11, где он выключает свой приемник между пакетами трафика и позволяет AP ставить в очередь пакеты для него, пока он не разбудит свой приемник в следующий раз, когда он будет проверен с AP чтобы получить свои очереди пакетов и обрабатывает их.

Большинство поставщиков реализуют энергосбережение 802.11 таким образом, что они держат приемник в активном состоянии, когда кажется, что идет всплеск трафика, а затем переводят его в спящий режим, когда, скажем, интервал передачи маяка (~ 100 мс) без трафика отправлено или получено.

Поэтому, когда A передает пинг B, B всегда активен и получает ответ в течение 5 мс, прежде чем A переводит свой приемник в спящий режим.

Но когда B передает пинг к A, приемник A уже спит и не просыпается в течение нескольких интервалов маяка, а затем просыпается, получает запрос пинга B в очереди от AP и затем отправляет свой ответ на пинг B. Поскольку команда ping по умолчанию отправляет ping одному разу в секунду, у получателя A часто достаточно времени (несколько интервалов маяка по 100 мс) для перехода в спящий режим до получения следующего запроса ping.

Точная синхронизация времени, в течение которого A спит, и то, как он совпадает с пингом один раз в секунду, может вызвать "эффект фазирования" или тип периодических колебаний во время пинга. Кроме того, другой трафик, с которым А должен был иметь дело, может иногда задерживать A дольше, что иногда приводит к сокращению времени пинга.

0

Проблема явно на стороне A, может быть проблема времени обработки, A ping B, которая почти мгновенно отвечает, отправляя пакет обратно, тогда как B пингует A, которая может быть под большой нагрузкой и занимает больше времени для отправки ответного пакета.

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