Система обеспечения качества обслуживания имеет распределенный характер, так как ее элементы должны присутствовать на всех сетевых устройствах, продвигающих пакеты: коммутаторах, маршрутизаторах, серверах. С другой стороны, работу отдельных сетевых устройств по поддержанию характеристик QoS нужно координировать, чтобы качество обслуживания было однородным вдоль всего пути, по которому следуют пакеты потока. Поэтому служба QoS должна включать также элементы централизованного управления, с помощью которых администратор сети мог бы согласованно конфигурировать механизмы поддержания характеристик QoS в отдельных устройствах сети.
Система обеспечения качества обслуживания, базирующаяся на резервировании ресурсов, состоит из подсистем нескольких типов (рис. 7.13):
□ механизмов обслуживания очередей;
□ протокола резервирования ресурсов;
□ механизмов кондиционирования трафика.
Рис. 7.13. Архитектура системы обеспечения качества обслуживания, основанная на резервировании ресурсов |
Механизмы обслуживания очередей используются в периоды временных перегрузок. При этом обычно применяются комбинации приоритетной очереди с очередями с взвешенным обслуживанием.
Протокол резервирования ресурсов нужен для автоматизации процедуры резервирования на всем пути следования некоторого потока, то есть «из конца в конец». Протокол резервирования является аналогом протоколов установления соединения в сетях с коммутацией каналов, поэтому он иногда называется сигнальным протоколом, в соответствии с терминологией, принятой для этого типа сетей.
Сообщения протокола резервирования ресурсов делают два «прохода» по сети. Сначала источник генерирует сообщение, которое проходит сеть в прямом направлении до приемника информации. В этом сообщении протокола резервирования содержится так называемый профиль трафика, то есть такие его характеристики, как средняя скорость, параметры пульсации, а также требования к качеству обслуживания, например к уровню задержек. На основании этого профиля и требований QoS каждый коммутатор на пути следования потока принимает решение о возможности или невозможности выполнить резервирование для этого потока. Если он «соглашается» выполнить резервирование, то сообщение передается дальше, а коммутатор делает отметки о параметрах проведенного резервирования. Если все коммутаторы вдоль маршрута согласны с запрошенными параметрами резервирования, то последний коммутатор передает новое сообщение протокола резервирования в обратном направлении. При прохождении этого сообщения каждый коммутатор фиксирует параметры резервирования для данного потока.
Инициировать работу сигнального протокола может не только конечный узел, но и промежуточное устройство. В этом случае гарантированное обслуживание потока будет выполняться не на всем пути следования трафика, а только в пределах определенного участка сети, что, конечно, снижает качество обслуживания трафика.
Протокол резервирования ресурсов позволяет выполнять резервирование как для отдельных потоков, так и для классов трафика. Принципы его работы в обоих случаях остаются одинаковыми. Однако инициатором резервирования ресурсов для класса трафика является не конченый узел, которого интересует собственный поток, а один из коммутаторов сети. Таким коммутатором чаще всего становится пограничный коммутатор сети поставщика услуг, который принимает потоки различных пользователей.
В сетях с виртуальными каналами функции протокола резервирования ресурсов обычно выполняет протокол установления виртуального канала — это является его дополнительной задачей. В дейтаграммных сетях протокол резервирования является самостоятельным протоколом. Примером такого протокола является протокол резервирования ресурсов (ReSource reservation Protocol, RSVP), который работает в IP-сетях. Резервирование может выполняться и вручную администратором сети, который должен сконфигурировать параметры резервирования для каждого потока в каждом коммутаторе сети.
Механизмы кондиционирования трафика следят за тем, чтобы текущие параметры потоков соответствовали заявленным при резервировании. Это своего рода контрольно-пропускные пункты, которые проверяют трафик на входе в коммутатор. Без таких механизмов невозможно выполнение гарантий обслуживания трафика. Если средние скорости потоков или пульсации превысят тот уровень, который был указан при резервировании, то задержки и потери пакетов выше допустимых. Такое превышение может произойти по разным причинам. Скажем, потому, что достаточно трудно точно оценить параметры трафика. Предварительные измерения средней скорости и пульсации могут не дать правильного результата, потому что эти характеристики могут меняться с течением времени, и через неделю они уже не будут соответствовать действительности. Кроме того, нельзя исключать умышленного искажения характеристик трафика, что возможно при использовании коммерческих услуг.
Механизм кондиционирования трафика обычно выполняет несколько функций.
□ Классификация трафика. Эта функция выделяет из общей последовательности пакетов, поступающих в устройство, пакеты одного потока, имеющего общие требования к качеству обслуживания. В сетях с виртуальными каналами признаком потока является метка виртуального пути, поэтому дополнительной классификации не требуется. В дейтаграммных сетях такого признака, как правило, нет, поэтому классификация выполняется на основе нескольких формальных признаков пакета — адресов источника и назначения, идентификаторов приложений и т. п. Без классификации пакетов в дейтаграммных сетях невозможно обеспечить требуемое качество обслуживания.
□ Профилирование трафика. Для каждого входного потока в каждом коммутаторе имеется соответствующий ему набор параметров QoS, то есть профиль трафика. Профилирование трафика подразумевает проверку соответствия каждого входного потока параметрам его профиля. Существуют алгоритмы, которые позволяют выполнить такую проверку автоматически в темпе поступления пакетов на входной интерфейс коммутатора. Примерами алгоритмов профилирования являются алгоритмы «дырявого ведра» и «ведра маркеров». Эти алгоритмы будут рассмотрены при изучении отдельных технологий, таких как IP, Frame Relay и ATM.
В случае нарушения параметров профиля (например, превышения длительности пульсации или средней скорости) происходит отбрасывание или маркировка пакетов этого потока. Отбрасывание некоторых пакетов снижает интенсивность потока и приводит его параметры в соответствие с указанными в профиле. Маркировка пакетов без отбрасывания нужна для того, чтобы пакеты все же были обслужены данным узлом (или последующими по потоку), но с качеством обслуживания, отличным от указанного в профиле (например, с увеличенным значением задержки).
□ Формирование трафика (shaping). Эта функция предназначена для придания прошедшему профилирование трафику нужной временной «формы». В основном с помощью данной функции стремятся сгладить пульсации трафика, чтобы пакеты на выходе устройства появлялись более равномерно, чем на входе. Сглаживание пульсаций сократит очереди в сетевых устройствах, которые будут обрабатывать трафик далее по потоку. Его также целесообразно использовать для восстановления временных соотношений трафика приложений, работающих с равномерными потоками, например голосовых приложений.
Механизмы кондиционирования трафика могут поддерживаться каждым узлом сети или реализовываться только в пограничных устройствах. Последний вариант часто используют поставщики услуг, кондиционируя трафик своих клиентов.
Существует принципиальное отличие поведения описанной системы для обеспечения средней скорости потока, с одной стороны, и для обеспечения требуемых порогов задержек и вариаций задержек, с другой стороны.
Требуемое значение средней скорости обслуживания обеспечивается за счет конфигурирования выделяемого процента пропускной способности при взвешенном обслуживании. Поэтому сеть может выполнить запрос на любое значение средней скорости для потока, если оно не превышает свободной пропускной способности ресурсов сети вдоль этого потока.
Однако сеть не может сконфигурировать алгоритм приоритетного обслуживания так, чтобы он строго обеспечил какой-либо заранее заданный порог задержек и их вариации. Направление пакетов в приоритетную очередь только позволяет гарантировать, что задержки будут достаточно низкими — существенно меньше, чем у пакетов, которые обрабатываются по алгоритму взвешенного обслуживания. Но аналитически оценить количественные значения задержек очень сложно. Каким же образом поставщик услуг может выполнить свои обязательства перед клиентами?
Как правило, решение данной проблемы основывается на измерении трафика в сети. Поставщик услуг должен организовать приоритетное обслуживание трафика с одной или несколькими приоритетными очередями, измеряя задержки реального трафика и обрабатывая результаты статистическими методами. Это означает, что он должен строить гистограммы распределения задержек для различных путей следования потоков и определять средние задержки, средние вариации, максимальные задержки и максимальные вариации для каждого класса трафика, чувствительного к задержкам. На основании этих характеристик поставщик выбирает некоторые предельные значения характеристик QoS, которые он может гарантировать своим клиентам. Обычно такие предельные значения выбираются с некоторым запасом, чтобы при появлении некоторого количества новых клиентов сеть могла соблюдать заявленные гарантии.