1 См. об этом в главе 24.
Стандарты QoS в IP-сетях
возФильтрация маршрутных объявленийДля контроля достижимости узлов и сетей можно, наряду с фильтрацией пользовательско
го трафика,
ограничить распространение объявлений протоколов маршрутизации. Такая мера предотвращает автоматическое появление в таблице маршрутизации записей о не
которых сетях. Этот способ требует гораздо меньших затрат вычислительной мощности маршрутизатора, так как маршрутные объявления поступают на маршрутизатор гораздо реже, чем пользовательские пакеты.
Пусть, например, маршрутизаторы Cisco должны ограничить распространение маршрут
ных объявлений о какой-нибудь сети. Для этого нужно включить описание данной сети в стандартный список доступа, а затем применить к интерфейсу специальную команду с ключевым словом d i s t r i b u t e - l i s t (вместо access- group, как в случае фильтрации пользовательского трафика).
Например, если администратор не хочет, чтобы информация о внутренних сетях -
194.12.34.0/24 и 132.7.0.0/16 предприятия распространялась по внешним сетям, ему до
статочно написать следующий стандартный список доступа:
a c c e s s - l i s t 2 d e n y 1 9 4 . 1 2 . 3 4 . 0 0 . 0 . 0 . 2 5 5 a c c e s s - l i s t 2 d e n y 1 3 2 . 7 . 0 . 0 0 . 0 . 2 5 5 . 2 5 5 a c c e s s - l i s t 2 p e r m i t a n y
После этого достаточно применить его к интерфейсу с помощью команды d i s t r i b u t e - l i s t 2 o u t s e r i a l 1
Стандарты QoS в IP-сетяхТехнологии стека T C P/IP были разработаны для эластичного трафика, который доста
точно терпим к задержкам и вариациям задержек пакетов. Поэтому основное внимание разработчиков протоколов TCP/IP было сосредоточено на обеспечении надежной передачи трафика с помощью TCP Тем не менее для борьбы с перегрузками на медленных линиях доступа в IP-маршрутизаторы со временем были встроены многие механизмы QoS, в том числе механизмы приоритетных и взвешенных очередей, профилирования трафика и об
ратной связи. Однако эти механизмы использовались каждым сетевым администратором по своему усмотрению, без какой-либо стройной системы. И только в середине 90-х годов начались работы по созданию стандартов QoS для IP-сетей, на основе которых можно было бы создать систему поддержки параметров QoS в масштабах составной сети и даже
Интернета.
^результате были разработаны две системы стандартов QoS для 1Рсетей:2 система интегрированного обслуживания (Integrated Services, IntServ) ориентирована на предоставление гарантий QoS для потоков конечных пользователей (именно Поэтому технология intServ применяется в основном на периферии сети);3 система дифференцированного обслуживания (Differentiated Services, DiffServ) делает то же самое для классов трафика, и следовательно, ее предпочтительнее использовать на магистрали. 604Глава 18. Дополнительные функции маршрутизаторов ІР-сетей
Обе системы опираются на все базовые элементы основанной на резервировании схемы поддержания параметров QoS, к которым относятся:
□ кондиционирование трафика;
□ сигнализация, обеспечивающая координацию маршрутизаторов;
□ резервирование пропускной способности интерфейсов маршрутизаторов для потоков и классов;
□ приоритетные и взвешенные очереди.
Ни одна из этих технологий не решает проблемы инжиниринга трафика, так как пакеты по-прежнему направляются вдоль пути с наилучшей метрикой, выбираемому стандартным протоколом маршрутизации без учета реальной загрузки каналов передачи данных.
Модели качества обслуживания IntServ и DiffServНаправление IntServ начало разрабатываться в IETF еще в начале 90-х годов и было пер
вым направлением, в рамках которого проблема обеспечения параметров QoS в сетях ТСР/
IP начала решаться систематически. Базовая модель IntServ предполагает интегрированное взаимодействие маршрутизаторов сети по обеспечению требуемого качества обслуживания
вдоль всего пути микропотока между конечными компьютерами.
Ресурсы маршрутизаторов (пропускная способность интерфейсов, размеры буферов) распределяются в соответствии с QoS-запросами приложений в пределах, разрешенных политикой QoS для данной сети. Эти запросы распространяются по сети сигнальным протоколом резервирования ресурсов (Resource reSerVation Protocol, RSVP), который позволяет выполнять резервирование ресурсов для потоков данных.
Однако система IntServ обеспечения параметров QoS нашла довольно много противников, преимущественно среди поставщиков услуг Интернета (ISP). Дело в том, что при интегри
рованном обслуживании магистральные ISP-маршрутизаторы должны оперировать ин
формацией о состоянии десятков тысяч микропотоков, проходящих через ISP-сети. Такая нагрузка на маршрутизаторы требует коренного пересмотра их архитектуры и, естественно, ведет к резкому повышению стоимости ІР-сетей и предоставляемых ими услуг.
Поэтому в конце 90-х была создана другая более экономически эффективная технология
QoS в ІР-сетях, получившая название дифференцированного обслуживания (DiffServ).
Она изначально была ориентирована на применение в пределах ISP-сетей, а конечные узлы, генерирующие микропотоки, в расчет не брались. Для технологии DiffServ поддержка параметров QoS начинается на пограничном маршрутизаторе ISP-сети, на который по
ступает большое количество микропотоков из сетей пользователей. Каждый пограничный маршрутизатор классифицирует и маркирует входящий трафик, разделяя его на небольшое числа классов, обычно 3-4 (максимум — 8). Затем каждый маршрутизатор сети обслужива
ет классы трафика дифференцированно в соответствии с произведенной маркировкой, вы
деляя каждому классу определенное количество ресурсов. Резервирование ресурсов марш
рутизаторов производится статически, чаще всего вручную администратором сети. Роль сигнального протокола играют метки принадлежности пакетов к тому или иному классу.
Ответственность за согласованное обслуживание трафика всеми маршрутизаторами сети несет администратор, так как он принимает решение, какие пропускную способность и величину буфера выделить каждому классу на каждом интерфейсе каждого маршрутизатора. Стандарты QoS в IP-сетях
605Модель DiffServ существенно снижает нагрузку на маршрутизаторы ISP-сети, так как тре
бует хранить информацию о состоянии только небольшого количества классов. Кроме того, эта модель удобна для поставщиков услуг тем, что позволяет поддерживать параметры
QoS автономно, только в пределах своих сетей. Однако за эти преимущества приходится платить, и прежде всего, отказом от гарантии сквозной поддержки параметров QoS. Даже если каждый поставщик услуг обеспечит дифференцированное
обслуживание в своей сети, общая картина получится фрагментированной, так как за каждый фрагмент отвечает отдельный администратор, и согласование параметров резервирования остается исключи
тельно субъективной процедурой, не поддерживаемой никакими протоколами.
Ведутся также работы по
комбинированному применению технологий IntServ и DiffServ. Каждая технология в этих моделях работает в своей области, IntServ — в сетях доступа, где количество микропотоков относительно невелико, a DiffServ — в магистральных сетях. Еще одним компонентом, дополняющим DiffServ, является технология MPLS (см. главу 20).
Обе технологии (IntServ и DiffServ) опираются на одни и те же базовые механизмы QoS.
В частности, 6 IP-маршрутизаторах для профилирования и формирования трафика при
меняется алгоритм ведра маркеров.
Алгоритм ведра маркеровАлгоритм ведра маркеров позволяет оценить и ограничить среднюю скорость и величину пульсации потока пакетов. Этот алгоритм основан на сравнении потока пакетов с неко
торым эталонным потоком. Эталонный поток представлен маркерами, заполняющими условное «ведро» маркеров (рис. 18.1).
ГенераторРис. 18.1.
Алгоритм ведра маркеров 606Глава 18. Дополнительные функции маршрутизаторов ІР-сетей
Под маркером в данном случае понимается некий абстрактный объект, носитель «порции» информации, используемый для построения эталонного потока. Генератор маркеров перио
дически с постоянным интервалом
w направляет очередной маркер в «ведро» с ограничен
ным объемом
Ъ байт. Все маркеры имеют одинаковый объем
т байт, а генерация маркеров происходит так, что «ведро» заполняется со скоростью
г бит/с. Нетрудно подсчитать, что
г = 8
m/w. Эта скорость г и является максимальной средней скоростью для трафика пакетов, а объем ведра соответствует максимальному размеру пульсации потока пакетов. Если ведро заполняется маркерами «до краев» (то есть суммарный объем маркеров в ведре становится равным
Ь)у то поступление маркеров временно прекращается. Фактически,
ведро маркеров представляет собой счетчик, который наращивается на величину
т каждые
w секунд.
При применении алгоритма ведра маркеров профиль трафика определяется средней ско
ростью
г и объемом пульсации
b.
Сравнение эталонного и реального потоков выполняет сервер — абстрактное устройство, которое имеет два входа. Вход 1 связан с очередью пакетов, а вход 2 - е ведром маркеров.
Сервер также имеет выход, на который он передает пакеты из входной очереди пакетов.
Вход 1 сервера моделирует входной интерфейс маршрутизатора, а выход — выходной интерфейс.
Пакет из входной очереди продвигается сервером на выхрд только в том случае, если к моменту его поступления на сервер «ведро» заполнено маркерами до уровня не ниже М байт, где М — объем пакета.При продвижении пакета из ведра удаляются маркеры общим объемом в Мбайт (с точно
стью до размера одного маркера, то есть до
т байт).
Если же ведро заполнено недостаточно, то пакет обрабатывается одним из двух описанных далее нестандартных способов, выбор которых зависит от цели применения алгоритма.
□ Если алгоритм ведра маркеров применяется для
сглаживания трафика, то пакет просто задерживается в очереди на некоторое дополнительное время, ожидая поступления в ведро нужного числа маркеров. Таким образом, даже если в результате пульсации в систему приходит большая группа пакетов, из очереди пакеты выходят более равно
мерно — в темпе, задаваемом генератором маркеров.
□ Если же алгоритм ведра маркеров используется для
профилирования трафика, то пакет отбрасывается, как не соответствующий профилю. Более мягким решением может быть повторная маркировка пакета, понижающая его статус при дальнейшем обслуживании.
Например, пакет может быть помечен особым признаком «удалять при необходимости», в результате чего при перегрузках маршрутизаторы будут отбрасывать этот пакет в пер
вую очередь. При дифференцированном обслуживании пакет может быть переведен в другой класс, который обслуживается с более низким качеством.
Алгоритм ведра маркеров допускает пульсацию трафика в определенных пределах. Пусть пропускная способность выходного интерфейса, который моделируется выходом сервера, равна
R. Это значит, что сервер не может передавать данные на выход со скоростью, пре
вышающей
R бит/с. Можно показать, что на любом интервале времени
t средняя скорость исходящего с сервера потока равна минимуму из двух величин:
R и
г +
b/t. При больших значениях
t скорость выходного потока стремится к г — это и говорит о том, что алгоритм обеспечивает желаемую среднюю скорость. В то же время в течение небольшого време
ни
t пакеты могут выходить из сервера со скоростью, большей
г. Если
г +
b /t < Я, то они
Стандарты QoS в IP-сетях
607
выходят из сервера со скоростью г + b/t, в противном случае интерфейс ограничивает эту скорость до величины R. Период времени t соответствует пульсации трафика. Эта ситуация наблюдается тогда, когда в течение некоторого времени пакеты не поступали в сервер, так что ведро полностью заполнилось маркерами (то есть времени, большего, чем b/г). Если после этого на вход сервера поступит большая группа пакетов, следующих один за другим, то эти пакеты будут передаваться на выход со скоростью выходного интерфейса R также один за другим, без интервалов. Максимальное время такой пульсации составляет b/(R - г) секунд, после чего обязательно наступит пауза, необходимая для наполнения опустевшего ведра. Объем пульсации составляет Rb/(R - г) байт. Из приведенного соотношения видно, что алгоритм ведра маркеров начинает плохо работать, если средняя скорость г выбирается близкой к пропускной способности выходного интерфейса. В этом случае пульсация может продолжаться очень долго, что обесценивает алгоритм.
Случайное раннее обнаружение
Механизм профилирования TCP-трафика, названный случайным ранним обнаружением
(Random Early Detection, RED), разработан сообществом Интернета для предотвращения пере
грузок на магистралях Интернета.
RED работает с протоколом TCP, используя свойство последнего, которое заключается втом, что при потерях пакетов источник трафика замедляет передачу пакетов в сеть. В ал
горитме RED имеются два конфигурируемых rtopora уровня перегрузки (рис. 18.2). Когда уровень перегрузки не превышает первого (нижнего) порога, то пакеты не отбрасывают
ся. Когда уровень перегрузки находится между двумя порогами, пакеты отбрасываются с линейно возрастающей вероятностью из диапазона от 0 до конфигурируемой величины
(максимальной вероятности отбрасывания пакета). Максимальная вероятность отбрасыва
ния действует при достижении второго (верхнего) порога. Когда же перегрузка превышает второй порог, пакеты начинают отбрасываться с вероятностью 100 %.
Вероятность отбрасывания пакетов
Рис. 18.2.
Вероятность отбрасывания пакетов алгоритмом RED
608
Глава 18. Дополнительные функции маршрутизаторов ІР-сетей
В качестве показателя перегрузки используется вычисляемое среднее значение длины очереди пакетов, относящейся к определенному ТСР-сеансу.
П Р И М Е Ч А Н И Е --------------------------------------------------------------------------------------------------------------
Заметим, что для UDP-трафика механизм RED неприменим, так как протокол UDP работает без
установления логического соединения и, следовательно, потерь пакетов не замечает.
В том случае, когда нужно обеспечить разные параметры обратной связи для разных классов трафика, применяется взвешенный алгоритм случайного раннего обнаружения
(Weighted Random Early Detection, WRED). Этот вариант алгоритма RED позволяет за
давать для каждого класса трафика свои значения нижнего и верхнего порогов, а также вероятность отбрасывания пакетов. Обычно механизмы WRED и W FQ применяются совместно, обеспечивая надежную доставку TCP-трафика с гарантированной скоростью.
Интегрированное обслуживание и протокол RSVP
Интегрированное обслуживание основано на резервировании ресурсов маршрутизаторов вдоль пути следования потока данных от одного конечного узла (точнее, приложения) до другого (рис. 18.3). Приложение должно использовать соответствующий интерфейс API, чтобы передать запрос о резервировании ресурсов для определенного потока. Подобное резервирование является однонаправленным, так что если гарантированное качество обслу
живания должно быть обеспечено для двустороннего обмена, потребуются две операции резервирования.
IG P-марш рутизатор
Рис. 18.3.
Резервирование ресурсов по протоколу RSVP
Стандарты QoS в IP-сетях
609Резервирование в модели IntServ выполняется с помощью уже упоминавшегося
протокола
резервирования ресурсов (RSVP). Это сигнальный протокол, во многом подобный
сигнальным протоколам телефонных сетей. Однако специфика дейтаграммных пакетных сетей естественно накладывает свой отпечаток. Так, параметры коммутации в IP-сетях не являются атрибутом резервирования, потому что IP-пакеты в любом случае (при резерви
ровании или без него) будут передаваться маршрутизаторами на основе записей таблицы маршрутизации.
Далее описана процедура резервирования необходимых ресурсов сети с помощью про
токола RSVP, а в табл. 18.1 сведены воедино все упоминаемые в этом описании типы сообщений.
1. Источник данных (компьютер С1 на рис. 18.3) посылает получателям по уникальному или групповому (как на рисунке) адресу специальное
РАТН-сообщение, в котором ука
зывает рекомендуемые параметры для качественного приема своего трафика: верхние и нижние границы пропускной способности, задержки и вариации задержки. Эти па
раметры составляют
спецификацию трафика источника. РАТН-сообщение передается маршрутизаторами сети в направлении ко всем указанным в групповом адресе получате
лям. В качестве параметров трафика применяются параметры алгоритма ведра маркеров, то есть средняя скорость и глубина ведра. Кроме того, дополнительно могут быть заданы максимально допустимая скорость и предельные размеры пакетов потока.
2. Каждый маршрутизатор, поддерживающий протокол RSVP, получив РАТН-сообщение, фиксирует «состояние пути», которое включает предыдущий адрес источника РАТН- сообщения, то есть последний по времени шаг в обратном направлении (ведущий к ис
точнику). Это необходимо для того, чтобы ответ приемника прошел по тому же пути, что и РАТН-сообщение.
3. После получения PATH-сообщения приемник отправляет в обратном направлении маршрутизатору, от которого он получил это сообщение,
запрос на резервирование ресурсов, то есть
RESV-сообщение. На рис. 18.3
показано два приемника, компьютеры
С2 и СЗ. В дополнение к спецификациям трафика источника С1 (которые содержат параметры для качественного приема его трафика: верхние и нижние границы про
пускной способности, задержки и вариации задержки) RESV-сообщение дополнительно включает
спецификацию запроса приемника, в которой указываются требуемые
приемнику параметры качества обслуживания, и