15

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

Почему при загрузке из нескольких разных мест определенные соединения насыщают полосу пропускания, оставляя другие соединения почти незанятыми, пока не будет установлено доминирующее соединение?

2 ответа2

26

Как правило, выигрывает самое быстрое соединение. Тем не менее, до того, как работа в сети Windows 7 была беспорядочной, производительность была ужасной. Попробуйте получить больше, чем 20 Мб / с от XP, удачи с этим.

http://research.microsoft.com/pubs/70189/tr-2005-86.pdf

Стандартный алгоритм предотвращения перегрузки TCP использует схему аддитивного увеличения и мультипликативного уменьшения (AIMD). Когда не обнаружено потери пакетов (посредством трех дублированных ACK или тайм-аута повторной передачи), окно перегрузки (cwnd) увеличивается на один максимальный размер сегмента (MSS) на каждый RTT. В противном случае, если обнаружена потеря пакета, отправитель TCP уменьшает cwnd наполовину. В высокоскоростной сети с большой задержкой требуется очень большое окно, например, тысячи пакетов, чтобы полностью использовать пропускную способность канала. Следовательно, стандартному TCP потребуется много RTT для восстановления скорости отправки после одного события потери. Кроме того, в настоящее время хорошо известно, что среднее окно перегрузки TCP обратно пропорционально квадратному корню из скорости потери пакетов.

Более быстрое соединение имеет больше успешных пакетов, и поэтому его cwnd/mss увеличивается, и оно получает еще больше от общего соединения.

-1

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

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

Также с UDP-соединениями, если они массово, будут доминировать в любой сети из-за небрежного распыления битов. В зависимости от приложения, он будет опрометчиво насыщать буферы маршрутизатора, не обращая внимания на условия сети.

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