Integrated Congestion Management

WebMux и ТСР Control Block Interdependence предлагают более recnyio связь между сеансами прикладного уровня, осуществляющими обмен данными с одним и тем же удаленным компьютером. Однако успех Web и коммерциализация Internet привели к возникновению ряда дополнительных проблем, связанных с управлением загруженностью. Некоторые коммерческие продукты повышают эффективность коммуникационного взаимодействия за счет других пользователей, измеияя базовые алгоритмы управления TCP. Как говорилось в главе 12, многие приложения для работы с потоками аудио и видео используют UDP вместо TCP. Этим приложениям нет нужды адаптироваться к загруженности сети таким же образом, как это делается в TCP. Рост объема трафика, для которого не осуществляется управление загруженностью, поставил иод угрозу стабильность Internet. Например, Web-сервер может посылать данные более агрессивно, чем предполагает механизм управления загруженностью TCP, чтобы сократить время ожидания при передаче сообщений-ответов TCP. Эти передачи неравномерно распределяют пропускную способность сети в пользу ряда соединений, что приводит к увеличению количества заторов в сети. Кроме того, традиционный программный интерфейс сокетов не предоставляет приложениям явпой обратной связи для адаптации передачи к доступной нронускиой способности. Например, мультимедийное приложение может передавать низкокачественную версию видеопотока в периоды снижения пропускной способности.

В предложении предусматривается использование интегрированной среды для решения перечисленных проблем, а также проблем справедливого распределения ресурсов при параллельных ТСР-соединениях. Помимо эффективного мультиплексирования трафика предлагается архитектура для управления загруженностью и интерфейс для приложений, позволяющий им реагировать на изменения пропускной способности [BRS99, BS00]. В состав пакета Congestion Manager входят несколько программных модулей, которые управляют передачей и приемом потоков пакетов между конечными компьютерами. Реализация TCP может быть выстроена поверх этих модулей. На передающей стороне Congestion Manager определяет пропускную способность, достунную для передачи данных удаленному компьютеру, применяя специальный алгоритм. Этот алгоритм основан на использовании информации о предыдущих передачах данных и периодических тестовых передачах между отправителем и получателем. Периодические тестовые передачи гарантируют, что Congestion Manager будет обладать своевременной информацией о загруженности сети, даже если принимающее приложение не предоставляет ее. Например, медианлейер, принимающий UDP-иакегы, может не предоставлять такую информацию мультимедийному серверу.

Отправитель сочетает явную обратную связь с получателем и статистику, полученную в результате периодических тестовых передач для формирования точного представления о нронускиой способности. Алгоритм управления загруженностью по своему принципу схож с механизмом, используемым в TCP, с некоторыми отличиями. Подобно TCP, Congestion Manager передает данные с помощью скользящего окна, размер которого лииейно увеличивается при отсутствии потерь пакетов и мультипликативно (в геометрической прогрессии) уменьшается в случае потерь пакетов. Размер окна сокращается до небольшой величины в ответ на продолжительный затор аналогично тому, как это происходит на этапе медленного старта в TCP. В отличие от традиционных реализаций TCP, Congestion Manager задает скорость нередачи пакетов, чтобы избежать резкого увеличения трафика в сети.

Congestion Manager передает данные медленнее при отсутствии информации от получателя, чтобы избежать перегрузки сети. Таким образом Congestion Manager отправляет данные с меньшей скоростыо, если точная информация о загруженности сети отсутствует.

После определения доступной пропускпой способности соединения с удаленным Компьютером Congestion Manager выделяет ресурсы различным потокам, передающим данные на этот удаленный Компьютер;Эта идея схожа с согласованным совместным использованием в TCP Control Block Interdependence. Это решает проблему с равноправным распределением ресурсов, возникающую при взаимодействии Web-клиента и сервера через несколько ТСР-соединепий одновременно. При простейшей стратегии выделепия ресурсов имеющаяся пропускная способность делится поровну между конкурирующими потоками. Затем Congestion Manager уведомляет приложение, ответственное за поток, о выделенной пропускной способности. Приложение, например Web-сервер, решает на основе выделенной пропускной способности, какие данные отправить. Использование явной обратной связи с приложением относительно доступных ресурсов требует нового интерфейса прикладного программирования. Коммуникационная модель отличается от традиционной абстракции сокетов. Приложение выражает заинтересованность в передаче данных. Через некоторое время Congestion Manager уведомляет приложение, что разрешение на передачу данных предоставлено. Затем приложение решает, какие данные отправлять. Congestion Manager может также уведомлять приложение об изменениях в скорости передачи данных. Это полезпо для мультимедийных серверов, которые могут динамически приспосабливать качество потока аудио или видео к доступной пропускпой способности.

Предложение пересматривает роль, которую играют хосты в управлении загруженностью в Internet и обеспечении требований приложения. Таким образом предложение затрагивает гораздо более широкий круг проблем и решает более амбициозные задачи, чем WebMux и TCP Control Block Interdependence. Предложенный нодход требует внесения изменений в интерфейс прикладного программирования, что осложняет его широкое впедрение. С другой стороны, возможно постепенное внедрение, поскольку передающий компонент Congestion Manager взаимодействует с традиционными получателями (например, получателями, выполняющимися на компьютерах, на которых отсутствует Congestion Manager). Congestion Manager был принят в качестве рабочего проекта в июле 2000 г. [BS00] в результате работы Группы Endpoint Congestion Management Working Group IETF. Оценить окончательные результаты усилий на этом начальном этапе процесса стандартизации доволыю трудно.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100