Факторы влияющие на перегрузки

Рассмотрение этих факторов начнем с методов, основанных на открытом контуре. Эти методы ориентированы на минимизацию перегрузок при первых признаках их проявлений, чем на борьбу с ними когда они уже случились. На рис.5-23 перечислены основные факторы, влияющие на перегрузки, на канальном, сетевом и транспортном уровнях.

Канальный уровень.

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

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

Сетевой уровень.

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

 

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

 

Формирование трафика

Одной из основных причин перегрузки является не регулярный, взрывообразный трафик. Если бы он был более равномерный, то перегрузок можно было бы избежать. Один из методов с открытым контуром часто используемым особенно в АТМ сетях - метод формирования трафика.

Формирование трафика регулирует среднюю скорость трафика и предотвращает тем самым его взрывообразность. Следует обратить внимание, что протокол скользящего окна лишь регулирует объем данных, передаваемых за один раз, но не скорость передачи. Здесь же речь идет именно о скорости передачи. Когда виртуальное соединение устанавливается, то пользователь договаривается с транспортной средой передачи данных о форме трафика. Если пользователь обеспечивает договоренную форму трафика, то транспортная среда обеспечивает ему доставку трафика с определенной скоростью. Для таких приложений, как передача видео и аудио данных в реальном времени, это очень важно.

Алгоритм текущего ведра

Ведро может наполняться с любой скоростью, но вытекать из него вода будет со строго определенной. Если вода будет поступать слишком быстро, то ее часть будет переливаться через края и пропадать. На рис.5-26(в) показано применение этого алгоритма к передаче пакетов в сети.

Хосту позволено передавать в сеть по одному пакету за один тик. Это достигается либо с помощью операционной системы, либо с помощью интерфейсной карты. Когда все пакеты одного размера (например, как в АТМ), то этот алгоритм работает хорошо. Однако, когда пакеты разного размера, все усложняется. Тогда ограничение накладывают на объем передаваемых данных за один тик.

Реализация алгоритма достаточно проста: есть одна входная очередь и одна очередь на выходе и буфер. На рис.5-25(а), (в) показана работа алгоритма текущего ведра.

Алгоритм ведра с маркерами

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

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