Компьютерные сети

Компьютерные сети

Н. Олифер

Классификация ATM, являясь на сегодня наиболее детальной и обобщенной, не требует для своего понимания знания технологии АТМ, поэтому мы можем рассмотреть ее уже сейчас (табл. 7.1).
Таблица 7.1. Классы трафика
Класс трафика
Характеристики
А
Постоянная битовая скорость, чувствительность к задержкам, передача с установлением соединения (например, голосовой трафик, трафик телевизионного изображения). Параметры QoS: пиковая скорость передачи данных, задержка, джиттер
В

Переменная битовая скорость, чувствительность к задержкам, передача с установ-лениемхоеди нения (например, компрессированный голос, компрессированное видеоизображение). Параметры QoS: пиковая скорость передачи данных, пульсация, средняя скорость передачи данных, задержка, джиттер
С

Переменная битовая скорость, эластичность, передача с установлением соединения (например, трафик компьютерных сетей, в которых конечные узлы работают по протоколам с установлением соединений — frame relay, Х.25, TCP). Параметры QoS: пиковая скорость передачи данных, пульсация, средняя скорость передачи данных
Класс трафика
Характеристики
D

Переменная битовая скорость, эластичность, передача без установления соединения (например, трафик компьютерных сетей, в которых конечные узлы работают по протоколам без установления соединений — IP/UDP, Ethernet). Параметры QoS не определены
X
Тип трафика и его параметры определяются пользователем
Анализ очередей

Определить основные характеристики QoS и сформулировать требования к ним — значит, наполовину решить задачу Пользователь формулирует свои требования к качеству обслуживания в виде некоторых предельных значений характеристик QoS, которые не должны быть превышены, например он может указать, что предельное значение вариации задержки пакетов не должно превышать 50 мс с вероятностью 0,99.

Но как заставить сеть справиться с поставленной задачей? Какие меры нужно предпринять, чтобы вариации задержек действительно не превысили эту величину? И как гарантировать пользователю, что средняя скорость передачи его потока через сеть будет соответствовать средней скорости входящего в сеть потока?
Для понимания механизмов поддержки QoS полезно исследовать процесс образования очередей в сетевых устройствах и понять наиболее существенные факторы, влияющие на длину очереди.
Модель М/М/1

Существует ветвь прикладной математики, предметом которой являются процессы образования очередей. Эта дисциплина так и называется — теория очередей. Мы не будем углубляться в математические основы этой теории, приведем только некоторые ее выводы, существенные для рассматриваемой нами проблемы QoS.
На рис. 7.3 показана наиболее простая модель очереди, известная под названием М/М/11.
I I "I I
Поток
запросов
ц= 1/Ь
HKD-
X
1
Очередь Обслуживающее устройство
Рис. 7.3. Модель М/М/1

Основными элементами модели являются:
□ входной поток абстрактных заявок на обслуживание;
□ буфер;
32
□ обслуживающее устройство;
□ выходной поток обслуженных заявок.
Заявки поступают на вход буфера в случайные моменты времени. Если в момент поступления заявки буфер пуст и обслуживающее устройство свободно, то заявка сразу же передается в это устройство для обслуживания. Обслуживание также длиться случайное время.

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

Если прибывшая заявка застает буфер не пустым, то она становится в очередь и ожидает обслуживания. Заявки выбираются из очереди в порядке поступления, то есть соблюдается дисциплина обслуживания первым пришел — первым обслужен (First-In, First-Out, FIFO).
Теория очередей позволяет оценить для этой модели среднюю длину очереди и среднее время ожидания заявки в очереди в зависимости от характеристик входного потока и времени обслуживания.

Будем считать, что среднее время между поступлениями заявок известно и равно Г. Это значит, что интенсивность поступления заявок, которая традиционно обозначается в теории очередей символом X, равна
X = 1/Г заявок в секунду.

Случайный процесс поступления заявок описывается в этой модели функцией распределения интервалов между поступлениями заявок. Чтобы упростить получение компактных аналитических результатов, обычно считают, что эти интервалы описываются так называемым марковским распределением (другое название — пуассоновское), плотность которого показана на рис. 7.4. Из рисунка видно, что входной поток является существенно пульсирующим, так как есть ненулевая вероятность того, что интервал между заявками будет очень небольшим, близким к нулю, а также того, что он будет очень большим. Среднее отклонение интервалов также равно Т.

Рис. 7.4. Плотность распределения входного потока
Будем также считать, что среднее время обслуживания заявки равно Ь. Это означает, что обслуживающий прибор способен продвигать заявки на выход с интенсивностью \/Ь = ц. Опять же для получения аналитического результата считают, что время обслуживания — это случайная величина с пуассоновской плотностью распределения.
Принятие таких предположений дает простой результат для среднего времени ожидания заявки в очереди, которое мы обозначим через w:

W = р-^-. (1)
1-р
Здесь через р обозначено отношение \/\1.
Параметр р называют коэффициентом использования (utilization) обслуживающего прибора. Для любого периода времени этот показатель равен отношению времени занятости обслуживающего прибора к величине этого периода.

Зависимость среднего времени ожидания заявки w от р иллюстрирует рис. 7.5. Как видно из поведения кривой, параметр р играет ключевую роль в образовании очереди. Если значение р близко к нулю, то среднее время ожидания тоже очень близко к нулю. А это означает, что заявки почти никогда не ожидают обслуживания в буфере (в момент их прихода он оказывается пустым), а сразу попадают в обслуживающее устройство. И наоборот, если р приближается к 1, то время ожидания растет очень быстро и нелинейно (и в пределе равно бесконечности). Такое поведение очереди интуитивно понятно, ведь р — это отношение средней интенсивности входного потока к средней интенсивности его обслуживания. Чем ближе средние значения интервалов между пакетами к среднему времени обслуживания, тем сложнее обслуживающему устройству справляться с нагрузкой.

Рис. 7.5. Зависимость среднего времени ожидания заявки от коэффициента использования ресурса
С помощью модели М/М/1 можно приближенно моделировать сеть с коммутацией пакетов (рис. 7.6).

Так, входной поток пакетов, поступающих на вход интерфейса коммутатора (будем здесь использовать этот термин как обобщенное название устройства коммутации пакетов), представлен в модели потоком заявок, а буфер модели соответствует буферу интерфейса коммутатора. Среднее время обслуживания заявки соответствует среднему времени продвижения пакета процессором коммутатора из входного буфера в выходной канал.
Сеть Коммутатор
Рис. 7.6. Выходной интерфейс как разделяемый ресурс коммутатора

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

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

Такие парадоксальные, на первый взгляд, результаты характерны для систем, в которых протекают случайные процессы. Так как X и ц — это средние значения интенсивностей потоков на больших промежутках времени, то на небольших промежутках времени они могут существенно отклоняться от этих значений. Очередь создается на тех промежутках, на которых интенсивность поступления пакетов намного превосходит интенсивность обслуживания.

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

Существует еще один важный параметр, оказывающий непосредственное влияние на образование очередей^ сетях с коммутацией пакетов. Этим параметром является вариация интервалов входного потока пакетов, то есть пульсация входного трафика. Мы анализировали поведение модели теории очередей в предположении, что входной поток описывается пуассоновским распределением, которое имеет довольно большое стандартное отклонение вариации (напомним, что средняя вариация его равна Тпри среднем значении интервала Г, а коэффициент вариации равен 1). А что будет, если вариация интервалов входного потока будет меньше? Или входной поток окажется сверхпульсирующим?

К сожалению, модели теории очередей не дают для этих случаев простых аналитических зависимостей, подобных формуле (1). Поэтому для получения результатов приходится применять методы имитационного моделирования сетей или проводить измерения в реальной сети.

На рисунке 7.7 показано семейство зависимостей w от р, полученных для разных значений коэффициента вариации CV входного потока. Имитационная модель учитывает фиксированную задержку в сети. Одна из кривых, у которой CV * 1, соответствует пуассоновскому входному потоку. Из рисунка видно, что чем меньше пульсирует входной поток (CV приближается к нулю), тем меньше проявляется эффект лавинообразного образования очереди при приближении коэффициента загрузки ресурса к 1. И наоборот, чем больше CV, тем раньше (при меньших значениях р) начинает этот эффект проявляться.

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

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

Мы знаем, что если обеспечить для чувствительного к задержкам трафика коэффициент загрузки каждого ресурса не более 0,2, то, очевидно, задержки в каждой очереди будут небольшими и, скорее всего, приемлемыми для многих типов приложений этого класса. Для эластичного трафика, слабо чувствительного к задержкам, можно допустить более высокий коэффициент загрузки, но не более 0,9. Для того чтобы пакеты этого класса не терялись, нужно предусмотреть для них буферную память, достаточную для хранения всех пакетов периода пульсации. Эффект от такого распределения загрузки ресурса иллюстрирует рис. 7.8.

Рис. 7.8. Обслуживание эластичного и чувствительного к задержкам трафика
Задержки чувствительного к задержкам трафика равны w
s
, а задержки эластичного трафика — щ.

Чтобы добиться различных коэффициентов использования ресурсов для разных классов трафика, нужно в каждом коммутаторе для каждого ресурса поддерживать две разные очереди. Алгоритм выборки пакетов из очередей должен отдавать предпочтение очереди чувствительных к задержкам пакетов. Если бы все пакеты первой очереди обслуживались приоритетно, а пакеты второй очереди — только тогда, когда первая очередь пуста, то для трафика первой очереди трафик второй очереди фактически перестал бы существовать. Поэтому если отношение средней интенсивности приоритетного трафика к производительности ресурса р равно 0,2, то и коэффициент загрузки для него равен 0,2. А вот для эластичного трафика, пакеты которого всегда ждут обслуживания приоритетных пакетов, коэффициент загрузки подсчитывается по-другому. Если средняя интенсивность эластичного трафика равна Хг, то для него ресурс будет загружен на (к\ + Х2)/р. Так что если мы хотим, чтобы для эластичного трафика коэффициент загрузки составлял 0,9, то его интенсивность должна находиться из соотношения Хг/р = 0,7.

Осйовнея идея, лежащая в основе всех методов поддержания характеристик QoS заключается в следующем: обит производительность каждого ресурса должна быть разделена между розными классами трафика неравномерно*

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

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

Очередь FIFO

В очереди FIFO в случае перегрузки все пакеты помещаются в одну общую очередь и выбираются из нее в том порядке, в котором поступили. Во всех устройствах с коммутацией пакетов алгоритм FIFO используется по умолчанию, так что такая очередь также обычно называется очередью «по умолчанию». Достоинствами этого подхода является простота реализации и отсутствие потребности в конфигурировании. Однако ему присущ и коренной недостаток — невозможность дифференцированной обработки пакетов различных потоков. Все пакеты стоят в общей очереди на равных основаниях. Вместе оказываются и пакеты чувствительного к задержкам голосового трафика, и пакеты нечувствительного к задержкам, но очень интенсивного трафика резервного копирования, длительные пульсации которого могут надолго задержать голосовой пакет.

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

Механизм приоритетного обслуживания основан на разделении всего сетевого трафика на небольшое количество классов и последующего назначения каждому классу некоторого числового признака — приоритета.

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

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

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

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

В сетевом устройстве, поддерживающем приоритетное обслуживание, имеется несколько очередей (буферов) — по одной для каждого приоритетного класса. Пакет, поступивший в период перегрузок, помещается в очередь, соответствующую его приоритетному классу
33

. На рис. 7.9 приведен пример использования четырех приоритетных очередей с высоким, средним, нормальным и низким приоритетами. До тех пор пока из более приоритетной очереди не будут выбраны все имеющиеся в ней пакеты, устройство не переходит к обработке следующей менее приоритетной очереди. Поэтому пакеты с низким приоритетом обрабатываются только тогда, когда пустеют все вышестоящие очереди: с высоким, средним и нормальным приоритетами.
Очереди разных приоритетов
Рис. 7.9. Приоритетные очереди

Выбор из очереди, если все более приоритетные очереди пустыВыходнойтрафик
Планировщик Выходная (абсолютные очередь приоритеты)

Размер буфера сетевого устройства определяет максимальную длину очереди ожидающих обслуживания пакетов, если пакет поступает при заполненном буфере, то он просто отбрасывается. Обычно по умолчанию всем приоритетным очередям отводятся одинаковые буферы, но многие устройства разрешают администратору назначать каждой очереди буфер индивидуального размера. Размер буфера определяется в идеальном случае таким образом, чтобы его^хватало с некоторым запасом для хранения очереди среднестатистической длины. Однако установить это значение достаточно сложно, так как оно изменяется в зависимости от нагрузки сети, поэтому требуется постоянное и длительное наблюдение за работой сети. В общем случае, чем выше значимость трафика для предприятия, чем больше его интенсивность и пульсации, тем больший размер буфера требуется этому трафику. В примере, приведенном на рис. 7.9, для трафика высшего и нормального приоритетов выбраны большие размеры буферов, а для остальных двух классов — меньшие. Мотивы принятого решения для высшего приоритета очевидны, а трафик нормального приоритета имеет, очевидно, высокую интенсивность и значительный коэффициент пульсаций.

Приоритетное обслуживание очередей обеспечивает высокое качество обслуживания для пакетов из самой приоритетной очереди. Если средняя интенсивность их поступления в устройство не превосходит пропускной способности выходного интерфейса (и производительности внутренних продвигающих блоков самого устройства), то пакеты высшего приоритета всегда получают ту пропускную способность, которая им нужна. Уровень задержек высокоприоритетных пакетов также минимален. Однако он не нулевой и зависит в основном от характеристик потока этих пакетов — чем выше пульсации потока и его интенсивность, тем вероятнее возникновение очереди, образованной пакетами данного высокоприоритетного потока. Трафик всех остальных приоритетных классов почти прозрачен для пакетов высшего приоритета. Слово «почти» относится к ситуации, когда высокоприоритетный пакет вынужден ждать завершения обслуживания низкоприоритетного пакета, если его приход совпадает по времени с началом продвижения низкоприоритетного пакета на выходной интерфейс. Этот эффект иллюстрирует рис. 7.10, на котором показано, что после разделения всего трафика на приоритетный и обычный (то есть здесь имеются две очереди), коэффициент использования для приоритетного трафика снизился с 50 до 15%.


Все материалы, размещенные в боте и канале, получены из открытых источников сети Интернет, либо присланы пользователями  бота. 
Все права на тексты книг принадлежат их авторам и владельцам. Тексты книг предоставлены исключительно для ознакомления. Администрация бота не несет ответственности за материалы, расположенные здесь

Report Page