Даже если механизм, заставляющий UDP-соединения выравнивать пропускные способности линий связи, будет создан, он не решит существующую проблему до конца. Это объясняется тем, что приложениям невозможно запретить использовать параллельные ТСР-соединения. К примеру, параллельные ТСР-соединения применяются web-браузерами для одновременной доставки нескольких объектов web-страницы (число соединений, одновременно поддерживаемых браузером, обычно задается при его настройке). Увеличение числа соединений, устанавливаемых приложением, увеличивает долю пропускной способности, «захватываемую» для передачи данных этого приложения. Представьте линию связи с пропускной способностью R, обслуживающую одновременно 9 приложений клиент/сервер, каждое из которых устанавливает одно TCP-соединение. В случае появления в линии связи еще одного соединения все соединения получат возможность передавать данные со скоростью приблизительно R/10. Однако если эта линия станет использоваться приложением, установившим И параллельных TCP-соединений, то окажется, что оно будет передавать свои данные со скоростью, превышающей R/21 Поскольку web-трафик составляет значительную часть общего трафика Интернета, подобные ситуации, к сожалению, нередки.
‘Выравнивание скоростей передачи’
Выравнивание скоростей и параллельные ТСР-соединения
Выравнивание скоростей и UDP
Выше мы показали, каким образом механизм контроля перегрузки TCP управляет скоростью передачи источника, изменяя размер окна перегрузки. Контролирование перегрузки заставляет многие мультимедиа-приложения (Интернет-телефонию и видеоконференции) отказываться от протокола TCP: снижение скорости передачи для них нежелательно даже при значительных перегрузках в сети. Вместо TCP эти приложения пользуются службами протокола UDP, не имеющего собственного механизма контроля перегрузки. Протокол UDP позволяет приложениям передавать данные с любой нужной им скоростью, не ограничивая их равными долями пропускной способности и допуская потери пакетов при наступлении перегрузок. С позиций TCP мультимедиа-приложения не обеспечивают выравнивание скоростей, поскольку не взаимодействуют с другими соединениями и не регулируют свои скорости передачи. Одной из главных задач, стоящих перед современными исследователями в области Интернет-технологий, является создание механизмов контроля перегрузки, ограждающих пропускную способность Интернета от «губительного» воздействия UDP-соединений.
Выравнивание скоростей
Предположим, что к TCP-соединений между разными хостами используют одну и ту же проблемную линию связи с пропускной способностью R бит/с (говоря «проблемная линия», мы имеем в виду, что в каждом соединении все остальные линии связи не перегружены и скорость передачи по ним значительно ближе к их пропускной способности, чем по проблемной линии). Предположим, что по каждому из соединений передается файл большого размера и в проблемной линии связи отсутствует UDP-трафик. Говорят, что механизм контроля перегрузки обеспечивает выравнивание скоростей, если средняя скорость передачи каждого соединения составляет приблизительно R/K; другими словами, пропускная способность линии связи делится между всеми использующими ее соединениями поровну.
Читать далее »