TCP вызвал потерю пакетов по UDP и ссылки на дипломные работы - PullRequest
4 голосов
/ 31 марта 2011

В настоящее время я пишу дипломную работу бакалавра в области компьютерных наук и инженерии, мы создаем гоночную игру на C ++ с использованием OpenGL. В отчете я сравниваю использование TCP и UDP и обнаружил source , который утверждает, что множественные TCP-соединения могут вызвать потерю пакетов в UDP-соединении. Я даже получил хорошую ссылку

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

Итак, мои вопросы: были ли какие-либо изменения в протоколах, которые могли бы иметь отношение к делу, и / или я должен просто забыть об использовании этой старой ссылки в отчете по диссертации.

1 Ответ

1 голос
/ 02 апреля 2011

Прочтите значимые моменты в статье:

  1. Во-первых, мы сосредоточились на случае, когда только TCP-соединения используют всю пропускную способность сети.
  2. С увеличением количества TCP-соединений на узел может одновременно приходить большее количество пакетов, что сильно переполняет буфер и, таким образом, приводит к более частой потере пакетов.

Таким образом, тестируемый канал WAN насыщен, и тестирование проводится для обеспечения справедливости протоколов TCP и UDP. В статье 29 West, связанной в комментариях, также отмечается:

Миф - в сетях нет потерь которые работают правильно.

Реальность - Нормальная работа TCP контроль заторов может привести к потерям из-за в очереди переполнения. См. этот отчет для Дополнительная информация. Нормы потерь несколько процентов были распространены под тяжелые заторы.

Ничто из этого не является особенно новым или никого не должно удивлять. Рассмотрим домашнее подключение к Интернету, DSL или кабель с минимальной скоростью, например, 2 Мбит / с и настройте один компьютер с Bittorrent, загружая несколько больших файлов, теперь попробуйте запустить игру UDP, такую ​​как Valve's Team Fortress 2. Это не будет работать хорошо.

С VoIP многие сетевые специалисты начали искать методы для улучшения этой ситуации, что приводит к качеству обслуживания. QoS, однако, требует сотрудничества обоих концов WAN, и это не приносит пользы большинству конечных пользователей. Единственное реальное решение - регулирование пропускной способности. Если у вас есть ссылка 2 МБ, вы задаете для трафика TCP значение 1,5 МБ, а оставшуюся часть оставляете для трафика UDP для игр.

Если вы разрабатываете игру с разделенным протоколом, вы должны определить верхний предел пропускной способности, скажем, 25 КБ / с на клиента для общего трафика, а затем определить отдельные пределы для трафика TCP и UDP в пределах этого ограничения, например, 15 КБ / с для TCP и 10 КБ / с для UDP. Как правило, игры используют HTTP (TCP) для загрузки игрового контента вне игры, а затем переключаются на UDP внутри игры, чтобы полностью устранить проблему.

...