tanenbaum_seti_all.pages (525408), страница 124
Текст из файла (страница 124)
Алгоритмы дырявого и маркерного ведра могут использоваться не только для регулирования выхода хостов, но и для сглаживания графика между маршрутизаторами. А различаются эти два алгоритма тем, что применение алгоритма маркерного ведра может заставить маршрутизатор остановить передачу пакетов, что может привести к потере данных. Реализация исходного алгоритма маркерного ведра подразумевает наличие переменной, считающей маркеры. Счетчик увеличивается на единицу через равные интервалы времени ЬТ и уменьшается при посылке пакета. Когда счетчик уменьшается до нуля, передача пакетов останавливается.
В варианте с учетом количества переданных байт счетчик увеличиваегся на 1 байт каждые АТ секунд н уменьшается на размер переданного пакета. Суть алгоритма л1аркерного ведра состоит в том, что он допускает передачу данных пачками, но ограничивает длительность пачки. для примера рассмотрим Рис. 5.29, в, на котором изображено маркерное ведро емкостью 250 Кбайт, Маркеры появляются с частотой, соответствующей выходной скорости 2 Мбайт/с. Предположим, что маркерное ведро заполнено, когда прибывает пакет данных Размером 1 Мбайт.
Ведро может быть освобождено с максимальной скоростью 25 Мбайт/с примерно за 11 мс. Затем оно должно уменьшить скорость передачи до 2 Мбайт/с, пока не будет передан весь входной пакет данных. При расчете длительности выходной пачки 1на максимальной скорости) нужно учитывать, что пока ведро опорожняется, появляются новые маркеры. При длительности пачки 5 секунд, емкости маркерного ведра С байт, скорости появления маркеров р байт/с, и максимальной выходной скорости М байт/с очевидно, что гваксимальное количество переданных байтов в пачке будет равно С + рЯ байт. 466 Глава 5. Сетевой уровень Мы также знаем, что количество байтов, переданных в пачке с максимальной скоростью, равно МЯ.
Таким образом, С+ р5= МХ Решив это уравнение, получим: Я= С/(М вЂ” р). При наших параметрах С= 250 Кбайт, М= 25 Мбайт/с и р = 2 Мбайт/с получаем длительность пачки около 11 мс. На рис. 5.29, г и д, показаны маркерные ведра емкостью 500 и 750 Кбайт соответственно. Один и добввл в ввд через кв ржит кары Сеть Сеть рио.
в. 30. Алгоритм мвркерного ведра: до 1в) и ловле (б) Недостатком алгоритма маркерного ведра является слишком большая скорость передачи данных при опустошении ведра, несмотря на то что длительность пачки можно регулировать тщательным подбором р и М. Часто бывает желательно уменьшить пиковую скорость, не возвращаясь при этом к скорости алгоритма дырявого ведра. Один из способов получения более гладкого трафика состоит в помещении дырявого ведра после маркерного ведра.
Скорость дырявого ведра должна быть выше минимальной скорости маркерного ведра р, но ниже максимальной скорости сети. На рис.5.29,е показан выходной поток маркерного ведра емкостью 500 Кбайт, за которым установлено дырявое ведро со скоростью протекания, равной 10 Мбайт/с. Качество обслуживания 467 Управление такими схемами может оказаться непростым. По сути, сеть должна имитировать алгоритм и гарантировать, что пакетов и байтов посылается не больше, чем разрешено. Тем не менее, эти методы позволяют формировать сетевой трафик, приводя его к более управляемому виду и обеспечивая тем самым выполнение требований к качеству обслуживания.
Резервированиересурсов Возможность управления трафикам — это неплохой начальный шаг в деле обеспечения гарантированного качества обслуживания. Однако на самом деле использование этих методов неявно означает, что все пакеты в потоке должны следовать по одному и тому же пути.
При распределении их случайным образом между несколькими маршрутизаторами невозможно что-либо гарантировать. Следовательно, между источником и приемником должно быть установлено нечто вроде виртуального канала, и все пакеты, принадлежащие данному потоку, должны следовать по укаэанному маршруту, Раз у нас есть особый путь, по которому направляется поток, становится возможным резервирование ресурсов вдоль этого пути, что позволяет гарантировать доступность необходимой емкости. Резервироваться могут три типа ресурсов'. 'г. Пропускная способность. 2.
Буферное пространство. Вч Время центрального процессора. Наиболее очевидно резервирование пропускной способности. Если потоку необходима скорость 1 Мбит/с, а исходящая линия может работать со скоростью 2 Мбит/с, то направить три потока с такими параметрами по этой линии не удастся. То есть резервирование пропускной способности означает предотвращение предоставления канала большему числу абонентов, чем канал может обработать. Вторым дефицитным ресурсом является буферное пространство. Когда прибывает пакет, он обычно оседает на сетевой интерфейсной карте (зто действие управляется аппаратна).
Затем программному обеспечению маршрутизатора необходимо скапироваэь пакет в буфер оперативной памяти и поставить содержи1яое этого буфера в очередь на отправку по выбранной исходящей линии. Если буферное пространство недоступно, входящий пакет приходится игнорировать, поскольку его просто негде сохранить. Для обеспечения хорошего качества обслуживания можно резервировать некоторую часть буферной памяти пад конкретный поток, чтобы ему не пришлось бороться за буфер с другими потоками. тч тогда при передаче потока ему всегда будет предоставляться выделенная часть Руфера, вплоть да некоторого максимума. Наконец, время центрального процесса — это еще один очень ценный ресурс.
На что расходуется время работы процессора в маршрутизаторе? На обработку пакетов. Поэтому существует предельная скорость, с которой маршрутизатор может обрабатывать пакеты. Необходимо быть уверенным в том, чта процессор Юе перегружен, — это залог своевременной обработки каждого пакета. 468 Глава 5. Сетевой ровень На первый взгляд кажется, что если на обработку пакета уходит, скажем, 1 мкс, то маршрутизатор способен управиться с миллионом пакетов за секунду. Одна ко это предположение ошибочно, так как при доставке потока всегда есть про межутки времени, в течение которых ничего не передается.
Если центральному процессору для совершения своей работы важен каждый отдельный такт, то пропуск нескольких тактов из-за молчания на линии приведет к накоплению невы полненных заказов, от которых невозможно избавиться. Однако даже если нагрузка несколько меньше теоретической емкости, все равно могут образовываться очереди и возникать задержки.
Рассмотрим ситуацию, когда пакеты прибывают нерегулярно со средней скоростью прибытия Х пакетов в секунду. Время, необходимое процессору на обработку каждого пакета, также меняется, но в среднем составляет р пакетов в секунду. Предположим„ что как скорость прибытия, так и скорость обслуживания имеют пуассоновское распределение. Тогда, используя теорию массового обслуживания, можно доказать, что средняя задержка Т, присущая пакету, составляет 1 1 1 1 Т= — х = — х— р 1-1/р р 1-р где р = Х/р — коэффициент использования центрального процессора.
Первый сомножитель 1/р — это задержка при отсутствии конкуренции. Второй сомножитель представляет собой дополнительную задержку, возникающую в результате конкурентной борьбы с другими потоками. Например„если Х = 950 000 пакетов/с, а и = 1 000 000 пакетов/с, тогда р = 0,95, и средняя задержка каждого пакета составляет 20 мкс вместо 1 мкс. Эти подсчеты учитывают и задержку доставки, и задержку обработки: при малом трафике отношение 1/р = О. Если на пути потока стоят, скажем, 30 маршрутизаторов, то одна только задержка обслуживания составит 600 мкс. Управление доступом Итак, в результате проведенной работы мы получили входящий трафик в виде хорошо сформированного и, возможно, следующего по единому маршруту потока.
На пути потока можно заранее резервировать ресурсы. Когда маршрутизатору предлагается обработать такой поток, он может принять или отвергнуть его, обосновывая свое решение доступной емкостью и количеством уже находяшихся в обработке потоков. Процесс принятия решения об обработке или игнорировании потока сложнее, нежели простое сравнение запрашиваемых потоком параметров (пропускной способности, буферной памяти, времени центрального процессора) с имеюшимнся. Во-первых, хотя многие приложения и знают свои требования к пропускной способности, они понятия не имеют, какой объем буферной памяти и сколько тактов работы процессора нм требуется. Следовательно, нужен, по крайней мере, иной способ описания потоков.
Далее, приложения весьма различаются по толерантности в отношении пропущенного предельного срока обработки. Наконец, некоторые приложения могут поторговаться за параметры пакетов, а некоторые не могут. Скажем, проигрыватель видео„предоставляющий обычно 30 кадров/с, Качество обслуживания 469 может согласиться работать на 25 кадрах/с, если для 30 не хватает пропускной способности. Аналогично, можно настраивать количество пикселов на кадр, полосу пропускания для аудиоданных и другие свойства потоков различных приложений. Поскольку в спор по поводу того, что делать с потоком, вовлечено много сторон (отправителгь приемник и все маршрутизаторы на пути между ними), поток необходимо описывать крайне аккуратно с помощью параметров, о которых можно дискутировать.