Как оптимизировать стек tcp для низкой задержки, когда throuput не является приоритетом?

416
K. Nick

У меня есть беспроводная связь с потерей пакетов до 10%. Он должен нести один поток rtp, больше ничего. Скорость передачи данных в потоке <100 кбит / с, так что наименьшее количество данных (1 мбит / с), предложенное wlan (802.11b), более чем достаточно. Чтобы противостоять потере пакетов, я хотел бы попробовать воспользоваться алгоритмом arq, предлагаемым tcp. Настройка выглядит следующим образом: одна машина, которая является источником потока rtp, будет запускать tcp-сервер (первая конечная точка сеанса tcp) и программный ap (hostapd, работающий в linux). Второй компьютер, идентичный первому, будет конечной точкой сеанса tcp и клиентом WLAN (с запущенным wpa_supplicant) в Linux. Таким образом, tcp sessiono не будет охватывать какие-либо маршрутизаторы или коммутаторы, а только одну беспроводную связь. У меня нет маршрутизаторов / коммутаторов между контролем перегрузок, поэтому делать особо нечего, но это победило. Надеюсь, это больно. Поскольку обе машины идентичны и достаточно мощны, управление потоком также не должно быть проблемой. Тем более что поток rtp имеет довольно низкую скорость передачи данных (<100 кбит / с).

Поэтому у меня следующие вопросы: какие параметры / переменные (/ proc / sys / net / ipv4 / tcp *) следует настроить таким образом, чтобы достичь минимально возможной задержки (например, проверять каждый пакет и отправлять данные безошибочно даже в небольших пакетах и ​​не ждать достаточно данных для сбора ...) Мне все равно, страдает ли throuput. Что еще мне не хватает?

0
Арк добавил бы накладные расходы. RTP использует UDP, потому что потоковое мультимедиа обычно может позволить потерять данные с минимальным воздействием. arq будет использоваться для обеспечения того, чтобы конечная точка точно принимала каждый байт данных даже за счет пропускной способности и увеличения накладных расходов. Почему вы хотите убедиться, что медиапоток в реальном времени был байтовым с точностью до байта? В чем здесь реальная проблема, вместо того, чтобы спрашивать, как реализовать решение, которое вы придумали? Appleoddity 7 лет назад 1
Действительно ли ваше оборудование поддерживает только стандарт 802.11b? Существуют некоторые настройки уровня 802.11, которые могут помочь, если вы используете 802.11n или выше: установите биты IP DiffServ, чтобы ваши драйверы Wi-Fi помещали эти пакеты в очередь голоса (VO) WMM. Spiff 7 лет назад 1
Это стандартное оборудование стандарта 802.11g. Ничего особенного. Я хочу сказать, что его самая низкая скорость более чем достаточна для этой цели. Так что скорость / скорость передачи данных не проблема. Потеря пакета есть. И это происходит с более причудливыми вещами 802.11n, вероятно, даже больше. Умм тоже не решение. Afaik касается приоритетов трафика в реальном времени (сильные ограничения по времени). Но расставлять приоритеты нечем, поэтому мы уже на первом месте. K. Nick 7 лет назад 0
Я знаю аргумент о том, что аудио может позволить потерять пакет. С кодеком g711, вероятно, потеря до 1% в порядке. У меня до 10%, колебания, которые приводят к прерывистому звуку и пропущенным слогам достаточно часто, чтобы чувствовать себя неловко, утомительно слушать. K. Nick 7 лет назад 0
Поскольку значение rtt для беспроводной линии связи составляет около 2-3 мс, я надеюсь, что добавлю лишь небольшую задержку и, надеюсь, небольшое дрожание при уменьшении потерь пакетов ниже допустимого предела. Поэтому я хотел бы настроить оборудование, чтобы минимизировать эту задержку, даже если это повредит повсеместно (что мне в любом случае не нужно). Я знаю, что это идет вразрез с книгой, но я хотел бы попробовать в любом случае, прежде чем объявить проект. отказ. K. Nick 7 лет назад 0
Я понимаю, что вы хотите попробовать. У меня нет проблем с этим вообще. Но я не могу помочь тебе с этим. Это кажется странным решением, когда очевидно, что нужно решить проблему с подключением. И нет, беспроводные N и особенно 5 ГГц не должны иметь такой большой потери пакетов, если вы просто не слишком далеко. 2,4 ГГц просто полностью насыщен и может больше не использоваться во многих областях со всеми неправильно настроенными беспроводными маршрутизаторами. Отпишитесь, хотя с тем, как вы это настроите, если разберетесь, это достаточно интересно. Appleoddity 7 лет назад 0

0 ответов на вопрос

Похожие вопросы