Аппаратное и программное обеспечение ЭВМ и сетей ТЕМА: 29 Дополнительные функции маршрутизаторов. Фильтрация маршрутизаторов в IP-сетей. Стандарты QoS в IP-сетях Раздел 5 Сети TCP/IP. Сетевой уровень. Транспортный уровень. Прикладной уровень
Дополнительные функции маршрутизаторов Помимо базовых функций современные IP-маршрутизаторы поддерживают ряд важных более сложных возможностей, которые превращают IP-маршрутизаторы в гибкие и мощные многофункциональные устройства по обработке трафика. Маршрутизатор является пограничным устройством, соединяющим сеть с внешним миром. Поэтому естественно возложить на него функции по защите сети от внешних атак. Эти функции IP-маршрутизаторы выполняют путем фильтрации пользовательского трафика в соответствии с разнообразными признаками, передаваемыми в IP-пакетах: адресами отправителя и получателя, идентификатором типа протокола, вложенным в IP- пакет, идентификатором типа приложения, генерирующего этот трафик. Подобная функциональность предотвращает проникновение нежелательного трафика во внутреннюю сеть и снижает вероятность атаки на ее хосты. Важную роль в защите внутренних ресурсов сети играет технология трансляции сетевых адресов (NAT), которая позволяет скрыть от внешних пользователей реальные адреса, используемые хостами сети.
Дополнительные функции маршрутизаторов Сравнительно новым свойством IP-сетей является поддержка параметров качества обслуживания (QoS). Отдельные механизмы, необходимые для контроля и предотвращения перегрузок, IP-маршрутизаторы поддерживают на протяжении уже долгого времени, однако стандарты систем обеспечения QoS были разработаны для IP-сетей только в конце 90-х. Существует две технологии поддержания параметров QoS для IP-сетей интегрированное обслуживание и дифференцированное обслуживание. Первая обеспечивает качество обслуживания для отдельных потоков, а вторая разработана для агрегированных потоков, представляющих небольшое число классов трафика. Технология интегрированного обслуживания сегодня находит основное применение на периферии сети, в корпоративных сетях и сетях доступа, в то время как технология дифференцированного обслуживания начинает применяться на магистралях сетей. Причина такого разделения областей применения обеспечение параметров QoS для каждого отдельного потока создает для маршрутизаторов дополнительную нагрузку, пропорциональную количеству обслуживаемых потоков.
Дополнительные функции маршрутизаторов Фильтрация Под фильтрацией понимается нестандартная обработка IP- пакетов маршрутизаторами, приводящая к отбрасыванию некоторых пакетов или изменению их маршрута. Фильтрация пользовательского трафика маршрутизаторами аналогична по принципу действия фильтрации, выполняемой коммутаторами локальных сетей. Условия фильтрации маршрутизаторов обычно существенно сложнее и учитывают гораздо больше признаков, чем коммутаторы локальных сетей. Например, это могут быть: IP-адрес источника и приемника; МАС-адреса источника и приемника; идентификатор интерфейса, с которого поступил пакет; тип протокола, сообщение которого несет IP-пакет (то есть TCP, UDP, ICMP или OSPF); номер порта TCP/UDP (то есть тип протокола прикладного уровня).
Дополнительные функции маршрутизаторов При наличии фильтра маршрутизатор сначала проверяет совпадение условия, описанного этим фильтром, с признаками пакета, и при положительной проверке выполняет над пакетом ряд нестандартных действий. Например, пакет может быть отброшен (drop); направлен к следующему маршрутизатору, отличающемуся от того, который указан в таблице маршрутизации; помечен, как вероятный кандидат на отбрасывание при возникновении перегрузки. Одним из таких действий может быть и обычная передача пакета в соответствии с записями таблицы маршрутизации Рассмотрим примеры фильтров, написанных на командном языке маршрутизаторов Cisco. Эти фильтры, называемые списками доступа, сегодня в IP-маршрутизаторах являются очень распространенным средством ограничения пользовательского трафика. Наиболее простым является стандартный список доступа, который учитывает в качестве условия фильтрации только IP- адрес источника.
Дополнительные функции маршрутизаторов Общая форма такого условия выглядит следующим образом: access-list номер_списка_доступа {deny | permit } { адрес_источиика [метасимволы_источника ] | any} Стандартный список доступа определяет два действия с пакетом, который удовлетворяет описанному в фильтре условию: deny, то есть отбросить, и permit, то есть передать для стандартной обработки в соответствии с таблицей маршрутизации. Условием выбора того или иного действия в стандартном списке доступа является совпадение IP-адреса источника пакета с адресом источника, заданным в списке. Совпадение проверяется в том же стиле, что и при проверке таблицы маршрутизации, при этом метасимволы являются аналогом маски, но в несколько модифицированном виде. Двоичный нуль в поле метасимволов источника означает, что требуется совпадение значения этого разряда в адресе пришедшего пакета и в адресе, заданном в списке доступа. Двоичная единица означает, что совпадения в этом разряде не требуется. Параметр any означает любое значение адреса это просто более понятная и краткая форма записи значения в поле метасимволов источника.
Дополнительные функции маршрутизаторов Пример стандартного списка доступа: access-list 1 deny Здесь:1 номер списка доступа; deny действие с пакетом, который удовлетворяет условию данного списка доступа; адрес источника; метасимволы источника. Этот фильтр запрещает передачу пакетов, у которых в старших трех байтах адреса источника имеется значение Список доступа может включать более одного условия. В этом случае он состоит из нескольких строк с ключевым словом access-list и одним и тем же номером списка доступа. Так, если мы хотим разрешить прохождение через маршрутизатор пакетов хоста , запрещая передачу пакетов одному из хостов сети /24, то список доступа будет выглядеть следующим образом: access-list 1 permit access-list 1 deny access-list 1 permit any
Дополнительные функции маршрутизаторов Условия списка доступа проверяются по очереди, если какое-либо из них дает совпадение, то выполняется действие permit или deny, определенное в этом условии. После этого остальные условия списка уже не проверяются. Считается по умолчанию, что в конце каждого списка имеется неявное условие вида: [access-list 1 deny any] Однако, если вам все же требуется пропускать все пакеты, не определенные явно в условиях, необходимо добавить в последней строке условие: access-list 1 permit any Список доступа можно применять к любому интерфейсу маршрутизатора и в любом направлении: если список применяется с ключевым словом in, то он действует на входящие в интерфейс пакеты, а если с ключевым словом out то на выходящие. Например, написанный нами список доступа 1 можно применить к некоторому интерфейсу для обработки входящего трафика, используя следующую команду: access-group 1 in
Дополнительные функции маршрутизаторов Существуют также и более мощные типы списков доступа для маршрутизаторов Cisco, например расширенные списки доступа. Общий формат этих списков следующий: access-list номер_списка_доступа { deny | permit } { protocol | ключевое_слово_протокола } { адрес__источника [ метасимволы_источника ]] [ порт_источника ] | any} [ адрес_приемника [ метасимволы_приемника ]] [ порт_приемника ] Пользуясь расширенными списками доступа, можно запретить прохождение во внутреннюю сеть предприятия FTP-пакетов. Как известно, FTP задействует для приема запросов от клиентов протокол TCP с хорошо известным портом 21. Для этого в список доступа нужно включить условие: access-list 102 deny TCP any 21 any Затем можно применить его к интерфейсу маршрутизатора, к которому подключена внутренняя сеть, с ключевым словом out.
Дополнительные функции маршрутизаторов Администраторы корпоративных сетей часто запрещают возможность трассировки извне внутренних хостов утилитой ping. Это делается с помощью условия: access-list 101 deny ICMP any eq 8 Как видно из условия, его синтаксис для протокола ICMP несколько отличается от общего синтаксиса расширенных списков доступа. Параметр eq 8 означает, что запрещается передача ICMP-сообщений типа 8, соответствующего эхо- запросам, на основе которых разработана утилита ping. Еще более гибким является язык фильтров программного маршрутизатора, работающего во многих версиях Unix. Синтаксис этого языка близок к синтаксису языка С, что позволяет строить весьма сложные логические конструкции с помощью условных операторов if, then, else. Необходимо отметить, что фильтрация пользовательского трафика может существенно замедлять работу маршрутизатора, так как обработка каждого пакета требует проверки дополнительных условий.
Дополнительные функции маршрутизаторов Для того чтобы не создавать еще большую нагрузку на маршрутизатор и «не отвлекать» его от выполнения основных обязанностей, в фильтрах маршрутизаторов не используется информация о предыстории сеансов. Сколько бы ни было сложным условие фильтрации маршрутизатора, в нем учитываются только параметры текущего пакета и не могут учитываться параметры предыдущих пакетов, уже обработанных маршрутизатором. Это ограничение является главным отличием маршрутизаторов от брандмауэров, специальных программных систем, которые, используя информацию о предыстории сеансов, выполняют более качественную фильтрацию.
Дополнительные функции маршрутизаторов Фильтрация маршрутных объявлений Для контроля достижимости узлов и сетей можно, наряду с фильтрацией пользовательского трафика, ограничить распространение объявлений протоколов маршрутизации. Такая мера предотвращает автоматическое появление в таблице маршрутизации записей о некоторых сетях. Этот способ требует гораздо меньших затрат вычислительной мощности маршрутизатора, так как маршрутные объявления поступают в маршрутизатор гораздо реже, чем пользовательские пакеты. Пусть, например, маршрутизаторы Cisco должны ограничить распространение маршрутных объявлений о какой-нибудь сети. Для этого нужно включить описание данной сети в стандартный список доступа, а затем применить к интерфейсу специальную команду с ключевым словом distribute-list (вместо access-group, как в случае фильтрации пользовательского трафика).
Дополнительные функции маршрутизаторов Например, если администратор не хочет, чтобы информация о внутренних сетях предприятия /24 и /16 распространялась по внешним сетям, ему достаточно написать следующий стандартный список доступа: access-list 2 deny access-list 2 deny access-list 2 permit any После этого достаточно применить его к интерфейсу с помощью команды distribute-list 2 out serial 1
Дополнительные функции маршрутизаторов Стандарты QoS в IP-сетях Технологии стека TCP/IP были созданы для эластичного трафика, который достаточно терпим к задержкам и вариациям задержек пакетов. Поэтому основное внимание разработчиков протоколов TCP/IP было сосредоточено на обеспечении надежной передачи трафика с помощью TCP. Тем не менее для борьбы с перегрузками на медленных линиях доступа в IP-маршрутизаторы были встроены многие механизмы QoS, в том числе механизмы приоритетных и взвешенных очередей, профилирования трафика и обратной связи. Однако эти механизмы использовались каждым сетевым администратором без какой-либо стройной системы. И только в середине 90- х годов начались работы по созданию стандартов QoS для IP-сетей, на основе которых можно было бы создать систему поддержки параметров QoS в масштабах составной сети и даже Интернета. В результате были созданы две системы стандартов QoS для IP-сетей: система интегрированного обслуживания (Integrated Services, intServ) ориентирована на предоставление гарантий QoS для потоков конечных пользователей (именно поэтому технология intServ используется а основном на периферии сети; система дифференцированного обслуживание (Differentiated Services, OfffServ)делает тожё самое для классов трафика, и, следовательно, ее предпочтительнее использовать на магистрали.
Дополнительные функции маршрутизаторов Обе системы используют все базовые элементы схемы поддержания параметров QoS, основанной на резервировании, то есть: кондиционирование трафика; сигнализацию для координации маршрутизаторов; резервирование пропускной способности интерфейсов маршрутизаторов для потоков и классов; приоритетные и взвешенные очереди. Ни одна из этих технологий не решает проблемы инжиниринга трафика, так как пакеты по-прежнему направляются вдоль пути с наилучшей метрикой, выбираемому стандартным протоколом маршрутизации без учета реальной загрузки каналов передачи данных.
Дополнительные функции маршрутизаторов Модели качества обслуживания IntServ и DiffServ Базовая модель IntServ предполагает интегрированное взаимодействие маршрутизаторов сети по обеспечению требуемого качества обслуживания вдоль всего пути микропотока между конечными компьютерами. Ресурсы маршрутизаторов (пропускная способность интерфейсов, размеры буферов) распределяются в соответствии с QoS-запросами приложений в пределах, разрешенных политикой QoS для данной сети. Эти запросы распространяются по сети сигнальным протоколом RSVP, который позволяет выполнять резервирование ресурсов для потоков данных. Однако система IntServ обеспечения параметров QoS нашла довольно много противников, преимущественно среди поставщиков услуг Интернета (ISP). Дело в том, что при интегрированном обслуживании Магистральные ISP-маршрутизаторы должны оперировать информацией о состоянии десятков тысяч микропотоков, проходящих через ISP-сети. Такая нетрадиционная нагрузка на маршрутизаторы требует коренного пересмотра их архитектуры и, естественно, ведет к резкому повышению стоимости IP-сетей и предоставляемых ими услуг.
Дополнительные функции маршрутизаторов Поэтому в конце 90-х была создана другая, более экономически эффективная технология QoS в IP-сетях, получившая название дифференцированного обслуживания (DiffServ). Она изначально была ориентирована на применение в пределах ISP-сетей, а конечные узлы, генерирующие микропотоки, в расчет не брались. Для технологии DiffServ поддержка параметров QoS начинается на пограничном маршрутизаторе ISP-сети, на который поступает большое количество микропотоков из сетей пользователей. Каждый пограничный маршрутизатор классифицирует и маркирует входящий трафик, разделяя его на небольшое число классов, обычно 3-4 (максимум 8). Затем каждый маршрутизатор сети обслуживает классы трафика дифференцированно в соответствии с произведенной маркировкой, выделяя каждому классу определенное количество ресурсов. Резервирование ресурсов маршрутизаторов производится статически, чаще всего вручную администратором сети. Роль сигнального протокола играют метки принадлежности пакетов к тому или иному классу. Ответственность за согласованное обслуживание трафика всеми маршрутизаторами сети несет администратор, так как он принимает решение, какую пропускную способность и величину буфера выделить каждому классу на каждом интерфейсе каждого маршрутизатора.
Дополнительные функции маршрутизаторов Ведутся также работы по комбинированному применению технологий IntServ и DiffServ. Каждая технология в этих моделях работает в своей области, IntServ в сетях доступа, где количество микропотоков относительно невелико, a DiffServ в магистральных сетях. Еще одним компонентом, дополняющим DiffServ, является технология MPLS, позволяющая решать задачи инжиниринга трафика в IP- сетях. Эта технология появилась в результате «скрещивания» IP с такой популярной технологией глобальных сетей, как ATM. Обе технологии (IntServ и DiffServ) опираются на одни и те же базовые механизмы QoS. В частности, в IP- маршрутизаторах для профилирования и формирования трафика применяется алгоритм ведра маркеров.
Дополнительные функции маршрутизаторов Алгоритм ведра маркеров Алгоритм ведра маркеров позволяет оценить и ограничить среднюю скорость и величину пульсации потока пакетов. Этот алгоритм основан на сравнении потока пакетов с некоторым эталонным потоком. Эталонный ноток представлен маркерами, заполняющими условное ведро маркеров (рис ). Под маркером в данном случае понимается некий абстрактный объект, носитель «порции» информации, используемый для построения эталонного потока. Генератор маркеров периодически с постоянным интервалом w направляет очередной маркер в ведро с ограниченным объемом b байт. Все маркеры имеют одинаковый объем m байт, а генерация маркеров происходит так, что ведро заполняется со скоростью г бит в секунду. Нетрудно подсчитать, что г = 8*m/w. Эта скорость г и является максимальной средней скоростью для трафика пакетов, а объем ведра соответствует максимальному размеру пульсации потока пакетов. Если ведро заполняется маркерами «до краев» (то есть суммарный объем маркеров в ведре становится равным b), то поступление маркеров временно прекращается. Фактически ведро маркеров представляет собой счетчик, который наращивается на m каждые w секунд.
Входной поток пакетов Выходной поток пакетов М Очередь пакетов Сервер b бит объем ведра r бит/c cкорость наполнения ведра Рис Алгоритм «ведро маркеров» Дополнительные функции маршрутизаторов K Условие пропуска пакетов: M
Дополнительные функции маршрутизаторов При применении алгоритма ведра маркеров профиль трафика определяется средней скоростью r и объемом пульсации b. Сравнение эталонного и реального потоков выполняет сервер абстрактное устройство, которое имеет два входа. Вход 1 связан с очередью пакетов, а вход 2 с ведром маркеров. Сервер также имеет выход, на который он передает пакеты из входной очереди пакетов. Вход 1 сервера моделирует входной интерфейс маршрутизатора, а выход выходной интерфейс. Пакет из входной очереди продвигается сервером на выход только в том случае, если к моменту его поступления на сервер «ведро- заполнено маркерами до уровня не ниже M байт,где М объем пакета. При продвижении пакета из ведра удаляются маркеры общим объемом в М байт (с точностью до размера одного маркера, то есть до m байт).
Дополнительные функции маршрутизаторов Если же ведро заполнено недостаточно, то пакет обрабатывается одним из двух описанных ниже нестандартных способов, выбор которых зависит от цели применения алгоритма. Если алгоритм ведра маркеров применяется для сглаживания трафика, то пакет просто задерживается в очереди на некоторое дополнительное время, ожидая поступления в ведро нужного числа маркеров. Таким образом, даже если в результате пульсации в систему приходит большая группа пакетов, из очереди пакеты выходят более равномерно, в темпе, задаваемом генератором маркеров. Если же алгоритм ведра маркеров используется для профилирования трафика, то пакет отбрасывается, как не соответствующий профилю. Более мягким решением может быть повторная маркировка пакета, понижающая его статус при дальнейшем обслуживании. Например, пакет может быть помечен особым признаком (удалять при необходимости), в результате чего при перегрузках маршрутизаторы будут отбрасывать этот пакет в первую очередь. При дифференцированном обслуживании пакет может быть переведен в другой класс, который обслуживается с более низким качеством.
Дополнительные функции маршрутизаторов ПРИМЕЧАНИЕ: Алгоритм ведра маркеров допускает пульсацию трафика в определенных пределах. Пусть пропускная способность выходного интерфейса, который моделируется выходом сервера, равна R. Это значит, что сервер не может передавать данные на выход со скоростью, превышающей R бит/с. Можно показать, что на любом интервале времени t средняя скорость исходящего с сервера потока равна минимуму из двух величин: R и г + b/t. При больших значениях t скорость выходного потока стремится к г это и говорит о том. что алгоритм обеспечивает желаемую среднюю скорость. В то же время в течение небольшого времени t пакеты могут выходить из сервера со скоростью, большей r. Если r+b/t < R, то они выходят из сервера со скоростью r+b/t, в противном случае интерфейс ограничивает эту скорость до величины R. Период времени t соответствует пульсации трафика. Эта ситуация наблюдается тогда, когда в течение некоторого времени пакеты не поступали в сервер, так что ведро полностью заполнилось маркерами (то есть времени, большего, чем b/г).
Дополнительные функции маршрутизаторов Если после этого на вход сервера поступит большая последовательность пакетов, следующих один за другим, то эти пакеты будут передаваться на выход со скоростью выходного интерфейса R также один за другим, без интервалов. Максимальное время такой пульсации составляет b/(R - r) секунд, после чего обязательно наступит пауза, необходимая для наполнения опустевшего ведра. Объем пульсации составляет R*b/(R - r) байт. Из приведенного соотношения видно, что алгоритм ведра маркеров начинает плохо работать, если средняя скорость r выбирается близкой к пропускной способности выходного интерфейса. В этом случае пульсация может продолжаться очень долго, что обесценивает алгоритм.
Дополнительные функции маршрутизаторов Случайное раннее обнаружение Механизм профилирования TCP-трафика, названный случайным ранним обнаружением (Random Earty Detection, RED), разработан сообществом Интернета для предотвращения перегрузок на магистралях Интернета. RED работает с TCP и основан на свойстве TCP, которое заключается в том, что при потерях пакетов источник трафика замедляет передачу пакетов в сеть. В алгоритме RED используется два конфигурируемых порога уровня перегрузки (рис ). Когда уровень перегрузки не превышает первого (нижнего) порога, то пакеты не отбрасываются. Когда уровень перегрузки находится между двумя порогами, пакеты отбрасываются с линейно возрастающей вероятностью из диапазона от 0 до конфигурируемой величины (максимальной вероятности отбрасывания пакета). Максимальная вероятность отбрасывания действует при достижении второго (верхнего) порога. Когда же перегрузка превышает второй порог, пакеты начинают отбрасываться с вероятностью 100 %.
Средняя длина очереди Вероятность отбрасывания пакетов Нижний порог Верхний порог 1 Максимальная вероятность отбрасывания пакетов Рис Вероятность отбрасывания пакетов алгоритмом RED Дополнительные функции маршрутизаторов
Интегрированное обслуживание и протокол RSVP Интегрированное обслуживание основано на резервировании ресурсов маршрутизаторов вдоль пути следования потока данных от одного конечного узла (точнее, приложения) до другого (рис ). Приложение должно использовать соответствующий интерфейс API, чтобы передать запрос о резервировании ресурсов для определенного потока. Подобное резервирование является однонаправленным, так что если гарантированное качество обслуживания должно быть обеспечено для двустороннего обмена, потребуется две операции резервирования. Резервирование в модели IntServ выполняется с помощью протокола резервирования ресурсов (RSVP). Это сигнальный протокол, во многом подобный сигнальным протоколам телефонных сетей. Однако специфика дейтаграммных пакетных сетей естественно накладывает свой отпечаток. Так, параметры коммутации в IP-сетях не являются атрибутом резервирования, потому что IP-пакеты в любом случае (при резервировании или без него) будут передаваться маршрутизаторами на основе записей таблицы маршрутизации.
Дополнительные функции маршрутизаторов Ниже описана процедура резервирования необходимых ресурсов сети с помощью протокола RSVP, а в табл сведены воедино все упоминаемые в этом описании типы сообщений. 1. Источник данных (компьютер С1 на рис ) посылает получателям по уникальному или групповому (как на рисунке) адресу специальное РАТН-сообщение, в котором указывает рекомендуемые параметры для качественного приема своего трафика: верхние и нижние границы пропускной способности, задержки и вариации задержки. Эти параметры составляют спецификацию трафика источника. РАТН- сообщение передается маршрутизаторами сети в направлении ко всем указанным в групповом адресе получателям. В качестве параметров трафика применяются параметры алгоритма ведра маркеров, то есть средняя скорость и глубина ведра. Кроме того, дополнительно могут быть заданы максимально допустимая скорость и предельные размеры пакетов потока.
PATH message RESV message Рис Резервирование ресурсов с помощью RSVP IGP route (multicast) PATH RESV C1 C2 C3 R1
Дополнительные функции маршрутизаторов 2. Каждый маршрутизатор, поддерживающий протокол RSVP, получив РАТН- сообщение, фиксирует «состояние пути», которое включает предыдущий адрес источника PATH-сообщения, то есть последний по времени шаг в обратном направлении (ведущий к источнику). Это необходимо для того, чтобы ответ приемника прошел по тому же пути, что и PATH-сообщение. 3. После получения РАТН- сообшения приемник отправляет в обратном направлении маршрутизатору, от которого он получил это сообщение, запрос на резервирование ресурсов (RESerVation Request, RESV), то есть RESV-сообщение. На рис показано два приемника, компьютеры С2 и СЗ. В дополнение к спецификациям трафика источника С1 (которые содержат параметры для качественного приема его трафика: верхние и нижние границы пропускной способности, задержки и вариации задержки) RESV-сообщение дополнительно включает спецификацию запроса приемника, в которой указываются требуемые приемнику параметры качества обслуживания, и спецификацию фильтра, которая определяет, к каким пакетам сеанса применять данное резервирование (например, по типу транспортного протокола и номеру порта).
Дополнительные функции маршрутизаторов Вместе спецификации запроса и фильтра представляют собой дескриптор потока, для которого выполняется резервирование. Запрашиваемые параметры QoS в спецификации запроса могут отличаться от указанных в спецификации трафика. Например, если приемник решает принимать не все посылаемые источником пакеты, а только их часть (что указывается в спецификации фильтра), то ему нужна, соответственно, меньшая пропускная способность. 4. Каждый маршрутизатор, поддерживающий протокол RSVP вдоль восходящего пути, получив RESV-сообщение, выполняет две проверки: во-первых, имеются ли у маршрутизатора ресурсы, необходимые для поддержания запрашиваемого уровня QoS, а во- вторых, имеет ли пользователь право на резервирование ресурсов. Если запрос не может быть удовлетворен (из-за недостатка ресурсов или ошибки авторизации), маршрутизатор возвращает сообщение об ошибке отправителю. Если запрос принимается, то маршрутизатор посылает RESV-сообщение далее вдоль маршрута следующему маршрутизатору, а данные о требуемом уровне QoS передаются механизмам маршрутизатора, ответственным за управлением трафиком.
Дополнительные функции маршрутизаторов 5. Прием маршрутизатором запроса на резервирование ресурсов означает также передачу параметров QoS на обработку в соответствующие блоки маршрутизатора. Конкретный способ обработки параметров QoS маршрутизатором в протоколе RSVP не описывается, но обычно она заключается в том, что маршрутизатор проверяет наличие свободной пропускной способности и емкости памяти для нового резервирования. При положительном результате проверки маршрутизатор запоминает новые параметры резервирования и вычитает их из счетчиков соответствующих свободных ресурсов. 6. Когда последний в обратном направлении маршрутизатор получает RESV- сообщение и принимает запрос, то он посылает подтверждающее сообщение узлу-источнику. При групповом резервировании учитывается тот факт, что в точках разветвления дерева доставки несколько резервируемых потоков сливаются в один. Так, в маршрутизаторе R1 в рассматриваемом примере сливаются RESV-сообщения от приемников С2 и СЗ. Если для всех резервируемых потоков запрашивается одинаковая пропускная способность, то она требуется и для общего потока, а если запрашиваются различные величины пропускной способности, то для общего потока выбирается максимальная. 7. После установления состояния резервирования в сети источник начинает отправлять данные, которые обслуживаются на всем пути к приемнику (приемникам) с заданным качеством обслуживания.
Дополнительные функции маршрутизаторов
Описанная схема выполняет резервирование только в одном направлении. Для того чтобы в рамках пользовательского сеанса данные передавались с заданным качеством обслуживания также и в обратном направлении, нужно, чтобы приемник и источник поменялись местами и выполнили RSVP- резервирование еще раз. Для того чтобы параметры резервирования можно было применить затем к трафику данных, необходимо, чтобы RSVP-сообщения и пакеты данных следовали через сеть одним и тем же маршрутом. Это можно обеспечить, если передавать RSVP-сообщения на основе тех же записей таблиц маршрутизации, которые применяются для пользовательского трафика. Если для передачи RSVP-сообщений будет использоваться традиционная схема выбора маршрута из таблиц маршрутизации, то при этом потеряется возможность полноценного решения задач инжиниринга трафика, так как не все возможные маршруты будут задействованы для резервирования, а только кратчайший маршрут, выбранный в соответствии с некоторой метрикой протокола маршрутизации. Для протокола RSVP в настоящее время разработано большое количество расширений, которые делают его пригодным не только для работы в рамках архитектуры RSVP. Одни из наиболее важных-расширения, относящиеся к инжинирингу трафика. Эти расширения применяются в технологии MPLS.
Дополнительные функции маршрутизаторов Дифференцированное обслуживание Дифференцированное обслуживание (DiffServ) опирается на ту же обобщенную модель QoS. что и интегрированное обслуживание, однако в качестве объектов обслуживания рассматриваются не отдельные потоки, а классы трафика. Напомним, что классом трафика называется совокупность поступающих на обработку пакетов, обладающих общими признаками, например асе пакеты голосовых приложений или все пакеты с MTU а определенных пределах. Обычно в сети DiffServ поддерживается дифференцированное обслуживание небольшого количество классов трафика, например двух (чувствительного к задержкам и эластичного) или трех (к первым двум прибавляется класс, требующий гарантированной доставки пактов с определенным минимумом скорости трафика). Небольшое количество классов определяет масштабируемость этой модели, так как маршрутизаторы не должны запоминать состояния каждого потока пользователя.
Дополнительные функции маршрутизаторов Высокая степень масштабирумости DiffServ обеспечивается также тем, что каждый маршрутизатор самостоятельно принимает решение о том, как он должен обслуживать тот или иной класс трафика, не согласовывая свои действия с другими маршрутизаторами. Такой подход назван независимым поведением маршрутизаторов (Per Hop Behavior, РНВ). Так как в модели DiffServ маршруты пакетов не отслеживаются, го здесь не используется сигнальный протокол резервирования ресурсов, подобный RSVP модели IntServ. Вместо этого маршрутизаторы сети выполняют статическое резервирование ресурсов для каждого из поддерживаемых сетью классов.
Дополнительные функции маршрутизаторов Рис
Дополнительные функции маршрутизаторов В модели DiffServ объектами обслуживания являются классы трафика, а не потоки. В качестве признака принадлежности IP-пакета к определенному классу в DiffServ используется метка, переносимая полем приоритета IP-пакета (ToS-байт), которое с появлением стандартов DiffServ было переопределено и названо DS-байтом. Как показано на рис , DS-байт переопределяет значения битов ToS- байта, как это было определено ранее в соответствующих спецификациях (RFC 791, RFC 1122, RFC 1349). В настоящее время используются только старшие 6 бит DS-байта, причем только старшие 3 из них требуются для определения класса трафика (что дает не более 8 различных классов). Младший бит (из используемых шести) DS-байта обычно переносит признак IN индикатор того, что пакет «вышел» из профиля трафика (аналогично признакам DE и технологии Frame Relay и CPL в технологии ATM). Промежуточные два бита обычно описывают различные варианты обслуживания пакетов внутри одного класса трафика.
Дополнительные функции маршрутизаторов Рис Соответствие битов DS-байта битам поля типа сервиса Маршрутизатор, поддерживающий модель DiffServ, должен обеспечивать классификацию, маркирование, измерение и кондиционирование трафика, его обслуживание в приоритетной или взвешенной очереди и сглаживание.
Дополнительные функции маршрутизаторов Хотя маркировкой пакетов может заниматься каждый маршрутизатор сети, в модели дифференцированного обслуживания основным вариантом считается маркировка пакетов на границе сети, поддерживающей модель DiffServ и находящейся под административным контролем одной организации. Такая сеть называется DiffServ-доменом. При выходе пакетов за пределы DiffServ-домена маркировка снимается, так что другой домен может назначить ее заново. Пограничные маршрутизаторы DiffServ исполняют роль контрольно-пропускных пунктов домена, проверяя входящий трафик и определяя, имеет ли он право на дифференцированное обслуживание. Модель DiffServ подразумевает существование соглашения об уровне обслуживания (SLA) между доменами с общей границей. Соглашение SLA определяет критерии политики предоставления сервиса, профиль трафика, а также гарантируемые параметры QoS. Ожидается, что трафик будет формироваться и сглаживаться в выходных точках домена в соответствии с SLA, а во входной точке домена будет кондиционироваться в соответствии с правилами политики.
Дополнительные функции маршрутизаторов Любой трафик «вне профиля» (например, выходящий за верхние границы полосы пропускания, указанной в SLA) не получает гарантий обслуживания (или же оплачивается по повышенной стоимости в соответствии с SLA). Правила политики предоставления сервиса могут включать время дня, адреса источника и приемника, транспортный протокол, номера портов. На сегодняшний день IETF разработаны два стандарта пошагового продвижения пакетов для схемы РНВ, которые представляют два разных варианта обслуживания. Быстрое продвижение (Expedited Forwarding, EF) характеризуется одним значением кода (10111) и представляет собой высший уровень качества обслуживания, обеспечивая минимум задержек и вариаций задержек. Любой трафик, интенсивность которого превышает указанную в профиле, отбрасывается. Гарантированная доставка (Assured Forwarding, AF). Имеется четыре класса трафика и три уровня отбрасывания пакетов в каждом классе всего 12 различных типов трафика. Каждому классу трафика выделяется определенный минимум пропускной способности и размер буфера для хранения его очереди. Трафик, параметры которого превышают указанные в профиле, доставляется с меньшей степенью вероятности, чем трафик, удовлетворяющий условиям профиля. Это означает, что качество его обслуживания может быть понижено, но он не обязательно будет отброшен.
Дополнительные функции маршрутизаторов На основе этих пошаговых спецификаций и соответствующих соглашениях SLA могут быть построены сервисы для конечных пользователей «из конца в конец» это EF-сервис и AF-сервис соответственно. Основное назначение EF-сервиса предоставление качества обслуживания, сопоставимого с качеством обслуживания выделенных каналов, поэтому этот сервис называется также сервисом виртуальных выделенных каналов. Поскольку EF-сервис допускает полное вытеснение другого трафика (например, при его реализации с помощью приоритетной очереди), то его реализация должна включать некоторые средства ограничения влияния EF-трафика на другие классы трафика, например, с путем ограничения скорости EF-трафика на входе маршрутизатора по алгоритму ведра маркеров. Максимальная скорость EF-трафика и, возможно, величина пульсаций должны устанавливаться сетевым администратором.
Дополнительные функции маршрутизаторов Четыре класса AF-сервиса ориентированы на гарантированную доставку, но без минимизации уровня задержек пакетов, как это оговорено для EF-сервиса. Гарантированная доставка выполняется в том случае, когда входная скорость трафика не превышает отведенной данному классу минимальной пропускной способности. Реализация классов AF-трафика хорошо сочетается с EF-сервисом EF-трафик может обслуживаться по приоритетной схеме, но с ограничением интенсивности входного потока. Оставшаяся пропускная способность распределяется между классами AF-трафика в соответствии с алгоритмом взвешенного обслуживания, который обеспечивает необходимую пропускную способность, но не минимизацию задержек. Реализация AF-сервиса предполагает (но не требует) взвешенного обслуживания для каждого класса с резервированной полосой пропускания, а также применения обратной связи (в форме RED). Относительная простота определяет недостатки дифференцированного обслуживания. Главным недостатком является сложность предоставления количественных гарантий пользователям. Поясним это на примере сети, изображенной на рис
Дополнительные функции маршрутизаторов Обслуживание классов трафика подразумевает, что пограничные маршрутизаторы выполняют профилирование трафика без учета адреса назначения пакетов. Обычно для входных интерфейсов пограничных маршрутизаторов задается некоторый порог допустимой нагрузки для трафика каждого класса. Например, пусть наша сеть поддерживает трафик двух классов, реализуя особое обслуживание и обслуживание с максимальными усилиями, причем порог для трафика с особым обслуживанием установлен в 20 % пропускной способности для каждого входного интерфейса каждого пограничного маршрутизатора. Кроме того, предположим для упрощения рассуждений, что все интерфейсы маршрутизаторов сети имеют одинаковую пропускную способность.
Дополнительные функции маршрутизаторов Рис Неопределенность уровня обслуживания в модели DiffServ
Дополнительные функции маршрутизаторов Несмотря на такое достаточно жесткое ограничение, интерфейсы маршрутизаторов сети оказываются под воздействием разной нагрузки. На рис для упрощения ситуации показаны только потоки, требующие особого обслуживания. Так, выходной интерфейс i 11 маршрутизатора R1 обслуживает два таких потока и нагружен на АО %, в то время как выходной интерфейс i21 маршрутизатора R2 только один из них, так как второй поток уходит через другой выходной интерфейс. Выходной же интерфейс i31 маршрутизатора R3 перегружен, обслуживая три таких потока, так что его коэффициент использования равен 60 %. Коэффициент использования является наиболее существенным фактором и значения в районе 50 % являются критическими. Поэтому в интерфейсе i31 возникают длинные очереди пакетов класса особого обслуживания, которые снижают качество такого обслуживания, так как приводят к длительным задержкам и их вариациям, а также потерям пакетов. Кроме того, страдает трафик класса обслуживания с максимальными усилиями, проходящий через этот интерфейс, так как ему достается только 40 % пропускной способности интерфейса.
Дополнительные функции маршрутизаторов Для того чтобы снизить вероятность перегрузки внутренних интерфейсов магистральных маршрутизаторов и выходных интерфейсов пограничных маршрутизаторов, можно также уменьшить допустимый порог нагрузки входных интерфейсов трафиком особого обслуживания, например, до 5 %. Однако все эти меры не дают гарантии, что все интерфейсы всех маршрутизаторов сети будут работать в нужном диапазоне значений коэффициента использования, а следовательно, обеспечивать заданное качество обслуживания. Для того чтобы дать такие гарантии, необходимо «улучшить» модель DiffServ и применять методы инжиниринга трафика, то есть контролировать не классы, а потоки трафика, в данном случае агрегированные. Под агрегированным понимается поток, состоящий из пакетов одного класса, имеющих общую часть пути через сеть. Эта общая часть не обязательно включает полный путь, от входного интерфейса одного из пограничных маршрутизаторов до выходного интерфейса другого пограничного маршрутизатора.
Дополнительные функции маршрутизаторов Достаточно, чтобы пакеты проходили хотя бы два общих интерфейса, чтобы считать их агрегированным потоком, как, например, в случае потока, проходящего через интерфейсы i11 и i22 (см. рис ). Затем, зная путь прохождения каждого агрегированного потока через сеть, можно проверить, имеются ли достаточные ресурсы вдоль пути для каждого потока, например, не превышают ли коэффициенты использования интерфейсов заданного порога. Для этого нужно провести профилирование с учетом адреса назначения пакетов. Однако реализация такого подхода в IP-сетях сталкивается с несколькими трудностями. Во-первых, в технологии DiffServ не предусмотрен сигнальный протокол, такой как, например, RSVP в технологии IntServ. Это означает, что все проверки наличия ресурсов у маршрутизаторов для каждого агрегированного потока нужно выполнять в автономном режиме, вручную или с помощью какого-то специального программного обеспечения. Во-вторых, для проведения таких расчетов нужно знать пути потоков через сеть.
Дополнительные функции маршрутизаторов Такие пути определяются таблицами маршрутизации, которые строятся протоколом маршрутизации, например RIP или OSPF (либо их комбинацией, если в сети используются несколько протоколов маршрутизации IGP-класса), или вручную. Поэтому для ручного или автоматизированного расчетов нужно знать таблицы маршрутизации всех маршрутизаторов сети и следить за их изменениями, а это непросто, учитывая, что отказы линий связи или маршрутизаторов приводят к перестройке таблиц. Нужно также учитывать, что маршрутизаторы могут применять методы балансировки нагрузки, разделяя агрегированный поток на несколько подпотоков, что также усложняет расчеты. «Улучшенная» версия DiffServ, обеспечивающая учет адресов назначения, повышает качество услуг оператора связи, но вместе с тем усложняет саму идею метода, в основе которого лежит идея независимого обслуживания классов трафика каждым маршрутизатором сети.
Список использованных источников В.Г. Олифер, Н.А. Олифер Компьютерные сети, 3-е издание, 2009г.