Меню Рубрики

Какое значение mpls метки определяет полезную нагрузку ipv4

На современных предприятиях при выстраивании инфраструктуры корпоративной сети может применяться технология MPLS. В чем заключаются ее особенности? Какие преимущества она имеет перед традиционными технологиями маршрутизации?

В чем заключается специфика MPLS? Что это за технология? MPLS — это концепция, в соответствии с которой в компьютерных сетях осуществляется переадресация пакетов. Главная ее особенность — в предложении альтернативы анализу маршрутизаторами типа IPLP заголовков по всем пакетам, который осуществляется в целях определения направления для их пересылки к следующему компоненту инфраструктуры. В случае если задействуется рассматриваемая технология, то анализ заголовка осуществляется однократно при входе в сеть MPLS, а затем инициируется проверка соответствия между параметрами пакета и свойствами потока.

Разработали технологию MPLS специалисты, заинтересованные в реализации универсального протокола обмена данными, который бы подходил как для инфраструктуры с коммутацией по каналам, так и для приложений, где осуществляется передача пакетов. В сетях MPLS могут передаваться самые разные виды трафика — IP, ATM, Ethernet, SONET, SDH. Разработка концепции осуществлялась с учетом достоинств и недостатков более ранних протоколов аналогичного назначения. При этом в некоторых аспектах MPLS предполагает реализацию более простых алгоритмов в сравнении с подходами, применяемыми в традиционных решениях. Как отмечают эксперты, сетевое оборудование, поддерживающее технологию MPLS, способно вытеснить с рынка традиционные решения, что свидетельствует о том, что разработчиками MPLS была проделана хорошая работа по оптимизации и универсализации данной концепции.

Итак, мы знаем основные принципы функционирования концепции MPLS, что это за технология. В обычных сетях, в которых задействуется протокол TCP-IP, маршрутизация пакетов реализована с использованием IP-адреса компьютера, на который передается пакет. В сети при этом все маршрутизаторы владеют сведениями о том, какой интерфейс задействуется при передаче данных, а также о том, на какой компьютер необходимо перенаправить текущий пакет.

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

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

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

Еще одно важное свойство концепции — универсальность. Практически в любые сети IP MPLS может быть внедрена. Рассматриваемая технология хорошо поддерживается на аппаратном уровне. Принципиально возможно применение доступных по цене решений для внедрения MPLS – Mikrotik, к примеру. Универсальны принципы приведения инфраструктуры в работоспособное состояние. Однако при конструировании сети MPLS настройка оборудования должна производиться опытными специалистами. Прежде всего — компетентными в части понимания особенностей архитектуры сети, характеристик ее аппаратных компонентов.

Инфраструктура MPLS характеризуется масштабируемостью и высокой степенью автономности работы в отношении различных протоколов, посредством которых осуществляется передача данных. Специфика конкретных стандартов, реализуемых на канальном уровне, не имеет значения. При внедрении сети MPLS нет необходимости обеспечения функционирования сетей на втором уровне, которые оптимизированы под передачу тех или иных разновидностей трафика. С точки зрения классификации сетей по типу коммутации MPLS правомерно отнести к инфраструктуре, в которой осуществляется коммутация пакетов.

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

— маршрутизатор, совместимый с концепцией MPLS, а также с обычными протоколами передачи данных;

— маршрутизатор, взаимодействующий с устройствами, на которых коммутация с использованием меток не осуществляется (в том числе по причине отсутствия поддержки MPLS);

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

Фактически устройства первого типа образуют соответствующую группу, которая, в свою очередь, формирует домен. MPLS-маршрутизаторы второго типа образую пограничную область данного домена.

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

Тот или иной маршрутизатор может запрашивать сведения о сети, используя некоторый алгоритм, совместимый с MPLS – BGP, к примеру. Главная функция устройства в данном случае — обеспечение обмена данными с соседствующими девайсами посредством распределения меток, впоследствии используемых в целях коммутации. Непосредственно обмен ими может осуществляться разными способами. Например, может быть задействован протокол LDP, или же измененные версии иных стандартов маршрутизации, используемые администратором сети.

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

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

Рассмотрим более подробно особенности структуры сетевой концепции, о которой идет речь. MPLS состоит из двух основных компонентов:

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

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

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

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

В более сложных инфраструктурах предполагается задействование отдельного набора меток в рамках отдельного модуля или же устройства. Непосредственно перед тем, как включиться в состав пакета, MPLS-метка кодируется в соответствии с установленным алгоритмом. Если в сети задействуется протокол IP, то метка размещается в рамках заголовка пакета. В иных случаях она отражается в заголовке протокола уже на канальном уровне. Также может осуществляться ее кодировка в конкретном значении.

В процессе передачи данных с помощью рассматриваемой сетевой концепции в структуре пакета могут присутствовать, как мы отметили выше, группы меток — стеки. В каждом из них может отражаться операция по добавлению или удалению тех или иных меток. При этом, только в самой верхней задается конкретный результат коммутации. Данная особенность передачи данных в сетях MPLS позволяет реализовывать туннельные коммуникации. В стеке присутствуют компоненты, которые имеют длину в 32 бита. При этом 20 отводится на метку, 8 — на счетчик периода жизни пакета, 1 — отражает нижний предел в группе меток, 3 — не задействуются на практике. В целом возможно любое значение метки — исключая некоторое количество зарезервированных.

Чтобы детально понять то, по каким принципам работает сеть MPLS, что это за технология, полезно будет изучить особенности структуры коммутируемого пути, который выстраивается в рамках инфраструктуры сети. Главная его особенность в том, что он состоит из совокупности участков — на одном уровне. На них коммутация осуществляется с использованием меток по конкретному уровню.

В структуре того или иного уровня предполагается использование входного и выходного маршрутизаторов. Выше мы отметили, что в сетях MPLS может применяться протокол LDP. Изучим то, каким образом коммутируемый путь может выстраиваться при задействовании LDP.

Первым делом в ходе рассылки пакетов UDP, при которой может задействоваться большое количество адресов, маршрутизаторы устанавливают собственное месторасположение в сети — с использованием LDP. Также может определяться связь между маршрутизаторами, которые не относятся к одному и тому же каналу. Данная особенность структуры сети важна с точки зрения реализации передачи данных в туннельном формате.

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

источник

Метка представляет собой последовательность записей. Каждая запись в стек имеет длину 4 октета. Формат такой записи показан на рис. 10.1.

Запись меток размещается после заголовка канального уровня, и перед заголовком сетевого уровня (например между Ethernet — и IP -заголовком). Верх стека записывается первым, а дно – последним. Сетевой заголовок следует сразу за записью стека меток с битом S=1 . Каждая запись стека меток содержит в себе следующие поля.

Является средством поддержки иерархической структуры стека меток MPLS . В заголовке последней (т. е. самой глубокой или нижней) метки бит S=1, а во всех остальных метках в стеке бит S=0. Подробнее стек меток рассматривается ниже.

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

Это 3- битовое поле зарезервировано для экспериментальных целей ( QoS ). В настоящее время проводится работа на создание согласованного стандарта использования этих битов для поддержки дифференцированного обслуживания разнотипного трафика и идентификации класса обслуживания. Первоначально это поле так и называлось – «Класс обслуживания» (CoS), и это название до сих пор широко распространено. При предоставлении дифференцированных услуг MPSL-сети это поле может указывать определенный класс обслуживания, например аналогичный классам DiffServ .

Это 20- битовое поле несет в себе код метки. Может быть любым числом в диапазоне от 0 до 220- 1, за исключением резервных значений (0, 1, 2, 3 и др.), определением использования которых занимается рабочая группа MPLS в составе комитета IETF.

Когда получен помеченный пакет, анализируется значение метки наверху стека. В результате этого анализа определяется:

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

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

Существует несколько зарезервированных значений меток.

Значение 0 представляет «IPv4 Explicit NULL Label». Это значение метки является единственно допустимым для дна стека меток. Оно указывает, что стек должен быть очищен и переадресация пакета должна основываться на IPv4-заголовке.

Значение 1 представляет » Router Alert Label». Это значение метки является легальным в любом месте стека меток, за исключением дна. Когда полученный пакет содержит такую метку на вершине стека, он доставляется локальному модулю для обработки. Действительная переадресация пакета определяется меткой в его стеке. Однако если пакет переадресовывается дальше, еще до переадресации в стек должна быть занесена метка » Router Alert «. Использование этой метки сходно с применением опции » Router Alert » в IP -пакетах. Так как эта метка не может лежать на дне стека, она не ассоциируется с определенным протоколом сетевого уровня.

Значение 2 представляет «IPv6 Explicit NULL Label». Это значение метки является единственно допустимым для записи на дне стека. Оно указывает, что стек должен быть очищен, а переадресация пакетов должна после этого основываться на заголовке IPv6.

Значение 3 представляет » Implicit NULL Label». Это метка , которую LSR может присваивать и рассылать, но которая в действительности никогда не используется при инкапсуляции. Когда LSR замещает метку на верху стека на новую и эта новая метка является » Implicit NULL «, LSR очистит стек , вместо того чтобы осуществить замену. Хотя это значение не может появиться при инкапсуляции, оно должно быть специфицировано в протоколе рассылки меток, так что значение может считаться зарезервированным.

Значения 4–15 зарезервированы.

Спецификация кодирования стека меток MPLS определена в RFC3032 » MPLS Label Stack Encoding». Данный документ содержит детальную информацию о метках и о том, как они используются с различными сетевыми технологиями, а также определяет ключевое для технологии MPLS понятие – стек меток. Возможность иметь в пакете более одной метки в виде стека позволяет создавать иерархию меток, что открывает дорогу многим приложениям.

MPLS может выполнить со стеком следующие операции : помещать метку в стек , удалять метку из стека и заменять метку. Эти операции могут использоваться для слияния и разветвления информационных потоков. Операция помещения метки в стек ( push operation ) добавляет новую метку поверх стека, а операция удаления метки из стека ( pop operation ) удаляет верхнюю метку стека.

Функциональные возможности стека MPLS позволяют объединять несколько LSP в один. К стеку меток каждого из этих LSP сверху добавляется общая метка , в результате чего образуется агрегированный тракт MPLS . В точке окончания такого тракта происходит его разветвление на составляющие его индивидуальные LSP . Так могут объединиться тракты, имеющие общую часть маршрута. Следовательно, MPLS способна обеспечивать иерархическую пересылку, что может стать важной и востребованной функциональной возможностью. При ее использовании не нужно переносить глобальную маршрутную информацию, и это делает сеть MPLS более стабильной и масштабируемой, чем сеть с традиционной маршрутизацией.

Согласно рассматриваемым ниже правилам инкапсуляции меток, за меткой MPLS в пакете всегда должен следовать заголовок сетевого уровня. Так как MPLS начинает работу верхнего уровня стека, этот стек используется по принципу LIFO «последним пришел, первым ушел».

Пример четырехуровневого стека меток представлен на рис. 10.2.

Заголовок MPLS № 1 был первым заголовком MPLS , помещенным в пакет, затем в него были помещены заголовки № 2, № 3 и, наконец, заголовок № 4. Коммутация по меткам всегда использует верхнюю метку стека, и метки удаляются из пакета так, как это определено выходным узлом для каждого LSP , по которому следует пакет. Рассмотренный в предыдущем параграфе бит S имеет значение 1 в нижней метке стека и 0 – во всех остальных метках. Это позволяет привязывать префикс к нескольким меткам, другими словами – к стеку меток (Label Stack). Каждая метка стека имеет собственные значения поля EXP , S-бита и поля TTL .

источник

Итак, попробуем структурировать все что я собираюсь описать:

MPLS TE features
— Overview
— Secondary LSP
— MBB (Make-before-break)
— CSPF (Constrained Shortest Path First)
— Link Coloring
— SRLG (Shared Risk Link Grouping)

RSVP-TE
— Overview
— Signaling procedure
— Fast Reroute
— One-to-One backup
— Facility Backup
— Manual Bypass

LDP
— Overview
— Signaling procedure
— T-LDP

Сегодня пункт номер 0. Погнали!

LDP. Довольно простой, с первого взгляда, протокол. Наиболее часто он применяется в случае, когда нужно всем маршрутизаторам знать обо всех метках в сети. Именно это и произойдет, если вы включите на маршрутизаторе Cisco MPLS на нужных интерфейсах. Каждый маршрутизатор проанонсирует все соответствия метка/префикс всем своим соседям. После чего эти соседи будут обладать необходимыми знаниями о том с какой меткой отправлять трафик для того или иного префикса. Там тоже не все так просто, метки эти могут распространяться по запросу, а не по мере узнавания о них. Но это все детали. Это как раз тот случай, когда трафик будет ходить по маршрутам, которые предоставил протокол маршрутизации.

На картинке ниже я пытался изобразить, как R1 узнав, что у него появился новый префикс рассказывает своим соседям, что им нужно отправлять трафик для этого префикса с меткой 30. Соседи получают это сообщение и вешают метку 30 в исходящие пакеты. Таким же образом R2 и R3 отправляют своим соседям метки для своих префиксов. В итоге, все узлы знают обо всех метках в сети. Такое поведение можно изменить, изменяя режимы работы LDP. Но сейчас про базовый принцип работы.

На картинке инициировано создание туннеля, который направлен от PE1 к PE2. PE1 отправляет сообщение Path, которое адресовано PE2. В этом сообщении передается довольно много информации, в числе прочего передается просьба о резервировании ресурсов. P1 получив этот пакет, оценивает свои возможности и отправляет сообщение P3. P3 проделывает аналогичные процедуры и отправляет сообщение на PE2. Тот выделяет метку для этого туннеля и отправляет ответное сообщение Reserv, в котором её и передает. P3 получив сообщение записывает метку, выделяет ресурсы, генерирует свою и отправляет её P1. P1 проделывает аналогичные процедуры. В итоге сообщение Reserv доходит до PE1. Тот выделяет ресурсы, записывает метку себе и считает туннель поднятым. Теперь можно начать передавать трафик от PE1 к PE2. Чтобы передавать трафик обратно, нужно сигнализировать ещё один обратный туннель. Конечно, я опустил все подробнисти, какие только мог опустить. С подробностями разберемся в будущих постах. В общем, когда PE1 хочет отправить чистый клиентский трафик в тунель, он вешает метку 102 и отправляет трафик P1. Тот смотрит на метку, убирает её и вставляет 101, после чего отправляет трафик к P3. Тот тоже смотрит на метку, снимает её и вещает 100 и отправляет в сторону PE2. PE2 получая трафик аналогично смотрит в метку, убирает её и отправляет чистый трафик клиенту.

Кстати, никто не обязывает использовать CSPF для просчета пути. Всегда можно положиться на результат работы внутреннего протокола маршрутизации. Более того, есть пара моментов, когда это поможет обойти ряд проблем. Об этом будет в статье по LDPoRSVP.

Один их тех параметров, которые может учитывать CSPF (и который перенося OSPF TE и IS-IS TE). Концепция внешне проста как две копейки. Мы говорим нашей MPLS сети обращаясь к Head End маршрутизатору: «А прокинь-ка, пожалуйста, туннель до такого-то маршрутизатора. Зарезервируй по пути мегабит, скажем, двадцать. Только знаешь, избегай, пожалуйста, линков, которые я до этого обозначил как красные. Спасибо, дружище». Жена всегда ругается на меня, когда я с техникой разговариваю. После такой просьбы, маршрутизатор пытается прокинуть MPLS туннель используя RSVP TE по кратчайшему пути и с заданными параметрами. Если у него не получается, то он обязательно отрапортует об этом.

На картинке, при попытке построить туннель от PE1 до PE2 с условием избегать крассные линки, CSPF тщательно обойдет его и построить туннель окольными путями.

Читайте также:  Чем полезны плоды рябины

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

В следующий раз в планах разобраться с RSVP-TE или LDP, с механизмами позволяющими достичь довольно большой отказоустойчивости. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии.

источник

Пока группа IETF разрабатывала модели интегрального и дифференцированного обслуживания, было найдено более эффективное решение проблемы обеспечения качества услуг при передаче мультимедийного трафика. Таким решением является многопротокольная коммутация по меткам MPLS (Multiprotocol Label Switching) [1] [2] , позволяющая передавать интернет-трафик по сети. Сеть MPLS ориентирована на надежный сервис с установлением соединения в отличии от ненадежных дейтаграммных сетей. При рассмотрении использования механизмов в IP-сетях модели IntServ и DiffServ оперируют соответственно в режиме сквозной передачи и на уровне транзитов. MPLS игнорирует протокол IP, так как нет полей заголовка IP-пакета, обрабатываемых в целях обеспечения качества услуг QoS. В технологии MPLS маршрутизация базируется не на адресе назначения, как в IP-сети, а на метках, которые вставляются в начало каждого пакета данных. Метод использования меток во многом близок к виртуальным каналам. Сети Х.25, Frame Relay, АТМ также устанавливают метки (идентификаторы виртуальных каналов), на основе которых осуществляется коммутация с помощью таблиц маршрутизации. Заголовок метки MPLS, состоящий из четырех байтов, предопределяет сетевой маршрут, который учитывает требуемый уровень QoS.

Заголовок MPLS-метки состоит из следующих полей (рис. 1):

  • метка (20 бит) используется для выбора соответствующего пути коммутации по меткам;
  • поле экспериментальных битов (EXP) содержит 3 бита, которые резервированы для дальнейших исследований и экспериментирования. В настоящее время проводится работа, направленная на создание согласованного стандарта использования этих битов для поддержания дифференцированного обслуживания разнотипного трафика и идентификации класса обслуживания. При предоставлении дифференцированных услуг MPLS-сети это поле может указывать определенный класс обслуживания, например, аналогичный классам DiffServ;
  • поле MPLS-стека ( S )

(S)> содержит 1 бит и является средством поддержки иерархической структуры стека меток MPLS. В заголовке последней метки бит S = 1

S=1> , а во всех остальных- бит S = 0

S=0> ;

  • время жизни TTL (8 бит) дублирует аналогичное поле IP-пакета, которое является средством сброса пакетов в сети вследствие образования закольцованных маршрутов.
  • Заголовок MPLS-метки не образует полноценного уровня, а «вклинивается» в сетях IP, Ethernet, АТМ или Frame Relay между вторым и третьим уровнями модели OSI, оставаясь независимым от этих уровней. В технологии MPLS используются кадры второго уровня для помещения в них пакетов сетевого уровня, которым обычно является IP-пакет.

    На рис. 2 показано положение заголовка метки в следующих типах кадров: PPP, Ethernet, Frame, Relay, ATM.

    Одной из сильных сторон технологи MPLS является то, что она может использоваться совместно с различными протоколами уровня 2. Среди этих протоколов – РРР, АТМ, Frame Relay, Ethernet. Протокол PPP (Point-to-Point Protocol) применяется для передачи IP-пакетов по коммутируемым и выделенным каналам. РРР является стандартным протоколом Интернета. Он применяется в самых разных случаях, включая обеспечение соединения между маршрутизаторами, между пользователями и провайдерами. В отношении ячеек АТМ и кадров Frame Relay для MPLS используются форматы заголовков этих сетей, а во всех остальных случаях – вставку между заголовками второго и третьего уровней. В коммутаторах АТМ верхняя метка помещается в поле VPI/VCI заголовка ячейка АТМ, а данные о стеке меток MPLS – в поле данных ячеек АТМ.

    Далее для упрощения изложения работы MPLS будем подразумевать, что используется канальный протокол РРР. При разработке протокола РРР за основу был взят другой протокол канального уровня HDLC (High-level Data Link Control, высокоуровневое управление линией связи). Для протокола HDLC характерно его функциональное разнообразие, которое выражается в подмножестве относящихся к нему протоколов. Протокол канального уровня сети Х.25 является одним из них и называется сбалансированным протоколом доступа к каналу LAP-B (Link Access Procedure Balanced). Протокол РРР отличается от подмножества протоколов HDLC в следующем.

    1. Не занимается упорядочиванием кадров и проверкой порядка их следования;
    2. Производит удаленную аутентификацию по протоколам РАР или СНАР (опционно);
    3. Поддерживает несколько протоколов сетевого уровня.

    В MPLS — сетях пересылка пакетов выполняется коммутаторами. После того, как пакет принят сетью MPLS, обработка пакета больше не требуется. Пакет перемещается в сети, основываясь только на содержании метки MPLS.Поэтому сеть MPLS можно рассматривать для IP-пакета как один транзит. Маршрутизатор с поддержкой MPLS использует содержимое метки MPLS для указания маршрута, основываясь на требованиях приложения к уровню качества обслуживания QoS. Внутри сети MPLS содержимое заголовка IP-пакета больше не нуждается в рассмотрении для определения маршрута. Содержимое метки определяется в соответствии с несколькими критериями, которые объединены в определённый класс эквивалентности пересылки FEC (Forwarding Equivalency Class). Класс FEC может осуществлять сортировку пакетов по различной совокупности значений, в которую могут входить следующие:

    • адрес в заголовке IP-пакета;
    • номер TCP-порта

    и другие. Технология сети MPLS позволяет использовать модель дифференцированного обслуживания DiffServ для обеспечения требований пользователя качеством обслуживании QoS. Поэтому FEC включает классы обслуживания. Они указываются в трех битах EXP заголовка метки, что позволяет реализовать до восьми комбинаций битов. Следует отметить отсутствие стандартизированного протокола реализации DiffServ в сети MPLS. На рисунке 3 приведен пример коммутации пакетов в сети MPLS. Под доменом MPLS понимается сеть MPLS, обслуживаемая одним оператором. Рассмотрим работу маршрутизаторов коммутации меток.

    Маршрутизатор коммутации меток LSR (Label Switching Router)является «двигателем» домена MPLS. Маршрутизатор LSR определяется как любое устройство, способное поддерживать протокол MPLS. LSR может являться IP-маршрутизатором, коммутатором Frame Relay, коммутатором АТМ. Технология MPLS поддерживает несколько типов кадров: РРР, Ethernet, Frame Relay и АТМ. Это не означает то, что под MPLS работает какая-либо из перечисленных технологий. Это означает только то, что в технологии MPLS используются форматы кадров этих технологий для помещения в них пакета сетевого уровня, которым почти всегда является IP-пакет. Когда пакет, расширенный за счет заголовка метки MPLS, поступает на маршрутизатор LSR с помощью таблицы маршрутизации и определяется исходящий канал и значение новой метки в пакете. Смена меток производится также, как и в рассмотренных сетях связи с виртуальными каналами X.25, FR и ATM.

    Кроме функции коммутации, каждый маршрутизатор MPLS выполняет функцию управления по формированию таблицы маршрутизации. Эта таблица называется таблицей пересылки LIB (Label Information Base). LIB состоит из входящей метки и одной или нескольких вложенных записей. Каждая такая запись включает выходную метку, номер выходного интерфейса и адрес следующего маршрутизатора в LSR.

    Все узлы MPLS используют протоколы маршрутизации TCP/IP для обмена соответствующей информацией маршрутизации с другими узлами MPLS-сети при создании таблицы LIB. Внутренние LSR коммутируют эти служебные пакеты не по меткам, а по обычным IP-заголовкам. Продвижение кадра в MPLS-сети происходит на основе метки MPLS и техники коммутируемого по меткам тракта LSР, а не на основе адресной информации и той технологии, формат кадра которой использует MPLS. Например, если в MPLS применяется кадр Ethernet, то МАС-адреса источника и приемника, хотя и присутствуют в соответствующих полях Ethernet, но для продвижения кадра не задействуются.

    Функциональные возможности стека MPLS позволяют реализовать несколько функций и, в частности, объединить (агрегировать) несколько LSP в один. Концепция стека меток является развитием концепции двухуровневой адресации виртуальных каналов VPI/VPC, принятой в АТМ. Многоуровневый принцип создания путей сокращает время задержки передачи пакета.

    Если в одном LSP сливается несколько потоков (каждый поток – со своим FEC и своей меткой), то этот LSP помещает сверху метку нового FEC, который соответствует объединенному потоку пакетов, образующемуся в результате слияния. В точке окончания такого объединенного тракта он разветвляется на составляющие его индивидуальные LSP. Так могут объединяться тракты, имеющую общую часть маршрута.Пример четырёхуровнего стека меток приведён на рисунке 4.

    Здесь заголовок MPLS № 1 был первым заголовком MPLS, помещённым в пакет, затем в него были помещены заготовки № 2, № 3, № 4. Извлекаются заголовки меток из стека в обратной последовательности (4,3,2,1). Коммутация по меткам всегда использует верхнюю метку стека, метки удаляются из пакета сверху. Каждый заголовок MPLS имеет собственные значения поля ЕХР, S-бита и поля TTL. Заголовок метки №1 на рисунке 4 является самым нижним (S=1). MPLS может выполнять со стеком следующие операции: помещение метки в стек (push), удаление верхней метки из стека (pop), замену метки (swap). На рисунке 5 показан пример использования стека в MPLS при создании путей двух пакетов IP с разными адресами назначения и, соответственно, разными значениями FEC. Сеть состоит из двух MPLS — доменов. В LER1 начинаются два пути (коммутируемых по меткам тракта) — LSP1 и LSP2 (LSP1 для пакета IP1 с адресом получателя А в заголовке и LSP2 для пакета IP2 с адресом получателя В в заголовке). В LER1 метки каждого из этих пакетов (соответственно 305 для первого пакета и 14 — для второго пакета) проталкиваются (push) вниз, а верхней становится в обоих пакетах метка 256. Продвижение обоих пакетов производится по верхней метке, которая на выходе меняет значение (256 на 272).

    На предпоследнем LSR2 домене производится удаление (pop) верхней метки. В результате верхней меткой для пакета IP1 становится метка 305, а для IP2 метка 14 уничтожается. LER2 завершает путь LSP2 пакета IP1, передавая его оконечному устройству. LER2 продвигает пакет IP1 на основе таблицы маршрутизации. LER2 заменяет метку 305 на метку 299 и далее через LER3 и LER4 продвигает его по пути LER2 до оконечного пункта А. Приведённый пример двухуровневого пути может быть расширен для любого количества уровней.

    Таким образом, если в одном маршрутизаторе сливаются несколько потоков (каждый поток со своим FEC и со своей меткой), то этот коммутируемый по меткам тракт (путь) LSP не заменяет метки, связанные с названными потоками, а оставляет их, помещая сверху метку нового FEC, который соответствует объединенному потоку пакетов, образующемуся в результате слияния. Если в промежуточном маршрутизаторе такого объединенного потока происходит слияние еще с одним потоком, то на верху стека устанавливается еще одна метка. Путь LSP1: LERl, LSRl, LSR2, LER2, LER3, LSR3, LER4 пакета IP1 с адресом получателя пункт А. Путь LSP2: LER1, LSR1, LSR2, LER 2 пакета IP2 с адресом получателя пункт В. В результате стек меток позволяет создать древовидную структуру множества трактов LSP, заканчивающихся в одном маршрутизаторе (корне дерева).
    Введем понятие уровня m тракта LSP. Маршрут LSP уровня m представляет собой последовательность маршрутизаторов, которая с входного LSR, помещающего в пакет метку уровня m (стек из m заголовков меток), содержит промежуточные LSR, каждый из которых принимает решение о пересылке пакета на основе метки уровня m и заканчивается входным LSR, где решение о пересылке принимается на основе метки уровня m-1 или на основе обычных (не MPLS, а IP) процедур пересылки. От предпоследнего LSR в выходной граничный маршрутизатор можно передавать пакеты со стеком метки глубины (m-1), поскольку метка уровня m выходному LSR не требуется. В предпоследнем LSR производится уничтожение верхней метки стека.

    На рис. 6 приведен пример древовидной структуры множества трактов LSP четырёх уровней (m=4) для тракта LSP4.

    В таблице 1 приведена структура этих уровней в маршрутизаторах LSR1, LSR2, LSR3, LSR4.

    Таблица 1. Структура стека меток тракта LSP4
    Уровни LSP Содержание метки
    4 Общая метка LSP1, LSP2, LSP3, LSP4
    3 Общая метка LSP2, LSP3, LSP4
    2 Общая метка LSP3, LSP4
    1 Метка LSP4

    Аналогично для LSP3, LSP2, LSP1 древовидная структура представляет соответственно три (для LSP3) и два (для LSP1 и LSP2) уровня тракта LSP.

    Когда пакет MPLS поступает в маршрутизатор коммутации по меткам LSR, этот маршрутизатор производит коммутацию пакета, используя имеющуюся у него таблицу информационной базы меток LIB (Label Information Base). Ниже приведён пример такой таблицы пересылки пакета в MPLS (табл. 2).

    Таблица 2. Пример таблицы пересылки LIB
    Входящая метка Первая запись Вторая запись
    Значение входящей метки Исходящая метка Исходящая метка
    Выходной интерфейс Выходной интерфейс
    Адрес следующего LSR Адрес следующего LSR

    Как видно из таблицы 2, пересылка пакета производится на выходной интерфейс на основании значения метки во входящем в LSR пакете MPLS. При этом в исходящем из LSR пакете указывается адрес следующего LSR и устанавливается новое значение метки. Несколько записей в таблице пересылки (в табл. 2 их две) требуются при многоадресной рассылке пакета. Программное обеспечение LSR может быть разработано в одном из двух вариантов LIB – либо одна общая таблица для LSR, либо их несколько по количеству интерфейсов LSR. Алгоритм формирования привязки метки к FEC предусматривает выделение в LSR отдельного пула «свободных» меток. Эти метки используются для их локальной привязки, а число таких «свободных» меток определяет максимальное число таких пар «метка – FEC», которое может быть установлено в текущий момент работы данного LSR.

    Сущность распределения меток – информировать смежные маршрутизаторы о привязке «FEC-метка». Выбор маршрута заключается в определении пути LSP для данного кода эквивалентности при пересылке FEC. Фактическая установка LSP заключается в двух типах привязки меток к FEC. При первом типе метка выбирается и назначается в LSR локально. При втором типе LSR получает от некоторого смежного LSR информацию о привязке метки, которая создана на нем. Такую привязку называют удаленной. Локальная и удаленная привязка распространяется только между смежными маршрутизаторами LSR. При локальной привязке маршрутизатор информирует назначенную метку данному классу FEC смежным LSR. Эти смежные LSR получают возможность правильно установить метки в пакеты, направленные LSR-создателю этой метки. При удаленной привязке создателем «FEC-метка» является LSR транзитного участка тракта LSP. Это позволит производить замену входящей на исходящую метку в пакетах, передаваемых LSR-создателем привязки. Таким образом, метки могут рассматриваться как в определенной степени аналог идентификаторам логических номеров виртуальных каналов глобальных сетей Х.25 (LCN), FR (DLCI), ATM (VPI/VCI). Архитектура MPLS позволяет использовать следующие протоколы распределения меток.

    1. Специальный протокол распределения меток LDP (Label Distribution Protocol) подлежащий рассмотрению в следующем разделе;
    2. Расширение возможностей протокола IP-сети BGP;
    3. Расширение возможностей протокола IP-сети RSVP.

    В сети MPLS в отличие от сетей связи Х.25, FR, ATM (VPI/VCI) с виртуальными каналами отсутствует фаза установления соединения по сообщению запроса пользователя. Метки в коммутируемом по меткам тракте LSP назначаются с помощью протокола распределения меток LDP (Label Distribution Protocol), причём существуют разныe способы такого распределения. Процедуры протокола LDP позволяют создать тракт LSP. Создание LSP означает создание таблиц коммутации по меткам во всех маршрутизаторах этого LSP. Функция протокола LDP состоит в частности, в определении каждой привязки «FEC — метка» в каждом LSR тракта LSP. Один из вариантов работы LDP состоит в следующем. При загрузке маршрутизатора выявляется, для каких маршрутов он является пунктом назначения (например, какие хвосты находятся в его локальной вычислительной сети). Для них создаётся один или несколько FEC и каждому из них выделяется метка, значение которой сообщается соседним LER. Эти LER. в свою очередь, заносят эти метки в свои таблицы пересылки и посылают новые метки своим соседним маршрутизаторам. Процесс продолжается до тех пор пока все маршрутизаторы не получат данные о маршрутах. По мере формирования путей могут резервироваться ресурсы, что позволяет обеспечить надлежащее качество обслуживания. Протокол LDP является протоколом прикладного уровня и использует оба протокола транспортного уровня — UDP и TCP (рис. 7).

    Протокол LDP работает с использованием транспортного уровня по протоколу UDP только для передачи сообщения обнаружения DISCOVERY. При этом используются сообщения многоадресной рассылки Hello для получения информации о смежных с ним LSR. После обмена этими сообщениями устанавливается TCP-соединение и сеанс LDP с этими маршрутизаторами. Теперь MPLS позволяет LSR запросить у смежного LSR информацию о привязке «FEC-метка». Такой режим называется нисходящее распределение меток по требованию. Для этого LSR запрашивает метку, передав сообщение Label Request. В последнее сообщение входит FEC, для которого запрашивается метка. Если сообщение Label Request поступает в выходной граничный маршрутизатор, то в нем содержится метка, которая имеет локальное значение на участке между входным и соседним с ним вышестоящим маршрутизатором. Если на всех следующих далее вышестоящих LSR успешно произойдет привязка меток к FEC, то после обработки во входном LER сообщения Label Mapping, полученного от соседнего с ним нижестоящего маршрутизатора, маршрут для тракта LSP будет создан.

    Назначение меток производится в сторону отправителя трафика, то есть противоположную направлению трафика. Такой LSR, где назначается метка называется нижним (расположен «ниже по течению»), а расположенный «выше по течению» верхним LSR. Метка всегда локальна, то есть обозначает некоторый FEC для пары маршрутизаторов, между которыми имеется прямая или коммутируемая связь. Напомним, что значения идентификатора виртуального пути VPI и виртуального канала VCI в сети ATM являются также локальными. Пересылка пакета данных MPLS с FEC, соответствующим установленной метке, производится от верхнего LSR к нижнему LSR. Для пересылки пакетов данных того же FEC к следующему маршрутизатору LSR используется другая метка, идентифицирующая этот FEC для новой пары маршрутизаторов, в которой маршрутизатор, бывший в предыдущей паре нижним, приобретает статус верхнего, а статус нижнего получает второй маршрутизатор этой новой пары. Отсюда ясно, что каждый маршрутизатор MPLS-сети, должен хранить соответствие между входящими и исходящими метками для всех FEC, которыми он оперирует. Напомним, что длина поля метки составляет 20 бит и означает, что маршрутизатор одновременно может оперировать 2 20 метками, которым соответствует определённые FEC.

    Применение в MPLS механизма инжиниринг трафика ТЕ позволяют решить эту проблему, указав два разных пути от маршрутизатора А к маршрутизатору Е, то есть кроме А-В-Е маршрут A-C-D-E. ТЕ лучше использует сетевые ресурсы за счёт перевода части трафика с более загруженного на менее загруженный участок сети. При этом достигается более высокое качество обслуживания трафика, поскольку уменьшается вероятность перегрузки в сети. Кроме того, для услуг, которые требуют выполнения заданных норм качества обслуживания QoS (например, заданного коэффициента потерь пакетов, задержки, джиттера) инжиниринг трафика позволяет обеспечить надлежащее QoS путём назначения явно определённых маршрутов.
    В технологии MPLS TE пути LSP называют TE-туннелями. TE-туннели не прокладываются распределенным способом вдоль путей, находимых обычными протоколами маршрутизации независимо в каждом отдельном устройстве LSR. Вместо этого TE-туннели прокладываются в соответствии с техникой маршрутизации от источника, когда централизовано задаются промежуточные узлы маршрута. В этом отношении TE-туннели подобны PVC-каналам в технологиях АТМ и Fame Relay. Инициатором задания маршрута для TE-туннеля выступает начальный узел туннеля, а рассчитываться такой маршрут может как этим же начальным узлом, так и внешней по отношению к сети программной системой или администратором.

    MPLS TE поддерживает туннеля двух типов:

    1. Строгий TE-туннель – определяет все промежуточные узлы между двумя пограничными устройствами;
    2. Свободный TE-туннель – определяет только часть промежуточных узлов от одного пограничного устройства до другого, а остальные промежуточные узлы выбираются устройством LSR самостоятельно.

    При прокладке туннеля 2 (свободного) администратор задает только начальный и конечный узлы туннеля, то есть устройства LER5 и LER2. Промежуточные устройства LSR4 и LSR2 находятся автоматически начальным узлом туннеля 2, то есть устройством LER5, а затем с помощью сигнального протокола устройства LER5 сообщает этим и конечному устройствам о необходимости прокладки туннеля.

    Независимо от типа туннеля он всегда обладает таким параметром, как резервируемая средняя пропускная способность. В нашем примере туннель 1 резервирует для трафика 10 Мбит/с, а туннель 2 резервирует 36 Мбит/с. Эти значения определяются администратором, и технология MPLS TE никак не влияет на их выбор, она только реализует запрошенное резервирование. Чаще всего администратор оценивает резервируемую для туннеля пропускную способность на основании измерений трафика в сети, тенденций изменения трафика. Некоторые реализации MPLS TE позволяют затем автоматически корректировать величину зарезервированной пропускной способности на основании трафика, проходящего через туннель.

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

    Читайте также:  Контурные карты по географии 8 класс рельеф и полезные ископаемые

    Однако сама по себе прокладка в MPLS-сети TE-туннеля еще не означает передачи по нему трафика. Она означает только то, что в сети действительно существует возможность передачи трафика по туннелю со средней скоростью, не превышающей зарезервированное значение. Для того чтобы данные были переданы по туннелю, администратору предстоит еще одна ручная процедура – задание для начального устройства туннеля условий, определяющих, какие именно пакеты должны передаваться по туннелю. Такими условиями могут быть классы эквивалентности пересылки FEC и классы обслуживания. Устройство LER должно сначала провести классификацию трафика, удостоверившись, что средняя скорость потока не превышает зарезервированную, а затем начать маркировать пакеты, используя начальную метку TE-туннеля, чтобы передать трафик через сеть MPLS.

    Для выбора и проверки TE-туннелей используются расширенный протокол маршрутизации OSPF-TE, который распространяет следующую информацию:

    • максимальная пропускная способность звена (то есть между маршрутизаторами);
    • максимальная пропускная способность звена, доступная для резервирования;
    • резервированная на звене пропускная способность;
    • текущее использование пропускной способности звена.

    Располагая такими значениями, а также параметрами потоков, для которых нужно определить TE-туннели, маршрутизатор LER может найти решение наиболее рационального использования ресурсов сети. В качестве критерия для этого используется обычно значение min (max Ki) для всех возможных путей.

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

    В примере, показанном на риc. 10, ограничением является максимально допустимое значение коэффициента использования ресурсов, равное 0,65. В варианте 1 решение было найдено при очередности рассмотрения потоков 1, 2, 3. Для первого потока был выбран путь А-В-С, так как в этом случае он, с одной стороны, удовлетворяет ограничению (все ресурсы вдоль пути – каналы А-В, В-С и соответствующие интерфейсы маршрутизаторов оказываются загруженными на 50/155=0,32). Пропускная способность каналов А-В и B-C равна В=155, а каналов А-D, D-Е, Е-C равна В=100. Для второго потока также был выбран путь А-В-С, так как и в этом случае ограничение удовлетворяется — результирующий коэффициент использования оказывается равным 50+40/155=0,58. Третий поток направляется по пути А-D-Е-С и загружает ресурсы каналов А- D, D-Е и Е-С на 30/100=0,3. Решение 1 можно назвать удовлетворительным, так как коэффициент использования любого ресурса в сети не превышает 0,58.

    Однако существует лучший способ, представленные в варианте 2. Здесь потоки 2 и 3 были направлены по верхнему пути А-В-С, а поток 1 по нижнему А-D-Е-С. Ресурсы верхнего пути оказываются загруженными на 0,45, и нижнего -на 0,5, то есть на лицо более равномерная загрузка ресурсов, а максимальный коэффициент использования всех ресурсов сети не превышает 0,5. Этот вариант может быть получен при одновременном рассмотрении всех трех потоков с учетом ограничения min (max Ki) или же при рассмотрении потоков по очереди в последовательности 2, 3 ,1.

    Несмотря на не оптимальность решения, в производимом сегодня оборудовании применяется вариант технологии MPLS TE с последовательным рассмотрением потоков. Он проще в реализации и ближе к стандартным для протоколов OSPF процедурам нахождения кратчайшего пути по одной сети назначения. В отсутствие ограничений найденное решение для выбора кратчайших путей не зависит от последовательности учета сетей, для которых производится поиск. Кроме того, при изменении ситуации – появлении новых потоков или изменении интенсивности существующих – найти путь удается только для одного потока.

    В технологии MPLS TE информация о найденном рациональном пути используется полностью, то есть запоминаются IP-адреса источника, всех транзитных маршрутизаторов и конечного узла. Поэтому достаточно, чтобы поиском путей занимались только пограничные устройства сети (LER), а промежуточные устройства (LSR) лишь поставляли им информацию о текущем состоянии резервирования пропускной способности каналов. После нахождения пути независимо от того, найден он был устройством LER или администратором, его необходимо зафиксировать. Для этого в MPLS TE используется расширение уже рассмотренного нами протокола резервирования ресурсов (RSVP), который часто в этом случае называют протоколом RSVP TE.

    Для реализации этой функции RSVP-TE расширяется новым объектом- ERO (Explicit Route Object). Объект переносится в сообщении Path и содержит явно заданный маршрут, по которому должно идти сообщение. Пересылка такого сообщения маршрутизатором определяется не адресом получателя, содержащимся в заголовке IP-пакета, а содержанием объекта ERO. Эта функция позволяет автоматически (или в результате действий администратора) ремаршрутизировать LSP в обход перегружаемых областей. При установлении нового пути в сигнальном сообщении наряду с последовательностью адресов пути указывается также и резервируемая пропускная способность. Каждое устройство LSR, получив такое сообщение, вычитает запрашиваемую пропускную способность из пула свободной пропускной способности соответствующего интерфейса, а затем объявляет остаток в сообщениях протокол маршрутизации, например OSPF. Таким образом протокол RSVP-TE выполняет свою традиционную функцию обеспечения требований QoS пользователей в соответствии с моделью интегрального обслуживания.

    В заключение рассмотрим вопрос отношения технологий MPLS TE и QoS. Как видно из описания, основной целью MPLS TE является использование возможностей MPLS для достижения внутренней цели поставщика услуг, а именно сбалансированной загрузки всех ресурсов сети. Однако при этом так же создается основа для предоставления транспортных услуг с гарантированными параметрами QoS, так как трафик по TE-туннелям передается при соблюдении некоторого максимального уровня коэффициента использования ресурсов. Коэффициент использования ресурсов оказывает решающее влияние на процесс образования очереди, так что потоки, передаваемые по TE-туннелям, передаются с некоторым гарантированным уровнем QoS.

    Для того чтобы обеспечить параметры QoS для разных видов трафика, поставщику услуг необходимо для каждого класса эквивалентности пересылки установить в сети отдельную систему туннелей. При этом для чувствительного к задержкам FEC требуется выполнить резервирование таким образом, чтобы максимальный коэффициент использования ресурсов туннеля находился в диапазоне 0,2-0,3, иначе задержки пакетов и их вариации выйдут за допустимые пределы.

    Кроме основной задачи гибкого управления трафиком подсистема ТЕ выполняет c помощью стека меток ещё одну функцию – быструю ремаршрутизацию FRR (Fast Reroute). В случае выхода из строя канала связи в сетях с коммутацией пакетов требуется повторное установление соединения с оконечного пункта. При этом происходят задержки и потери пакетов (ячеек, кадров) данных, значительно влияющих на показатели QoS. FRR в MPLS-сети обеспечивает защиту от этих потерь, ремаршрутизируя трафик, проходящий по LSP, в обход повреждённого канала в течении 50 мсек. Приведённый на рис. 11 пример показывает, каким образом FRR используется.

    Как видно из рис. 11, когда LSR2 обнаружит, что канал между LSR2 и LSR3 неисправен, трафик в LSR3 будет переведён на резервный туннель (через LSR5 и LSR6). Это выполняется помещением метки 38 наверх стека с помощью процедуры push. Предварительно производится процедура замены метки (swap) 25 на 9. Продвижение пакета через LSR5 происходит по верхней метке. На LSR6 верхняя метка удаляется. В результате верхней меткой, по которой происходит коммутация, становится метка 9, т.е. та же самая, что и в случае исправного канала между LSR2 и LSR3 (т.е. когда в LSR2 метка 25 заменяется на метку 9).

    Кратко сформулируем преимущества MPLS-сети по сравнению с транспортной IP-сетью.

    1. Технология MPLS поддерживает показатели качества обслуживания QoS, предоставляя различные классы обслуживания. IP-сети не предоставляют такой возможности.
    2. Технология MPLS позволяет сбалансировать нагрузку в сети, осуществляя перераспределение потоков (инжиниринг трафика). Это повышает показатели QoS за счет оптимизации использования полосы пропускания на недостаточно загруженных маршрутах. Протоколы IP-сети такой возможности не предусматривают.
    3. При использовании технологии MPLS провайдеры служб могут создавать так называемые виртуальные частные сети VPN (Virtual Private Network). VPN-сети содержат географически удаленные друг от друга узлы, которые могут безопасно связывать их по совместно используемой магистрали. В отличие от IP-сетей технология MPLS позволяет создавать VPN-сети без необходимости использовать дорогостоящее шифрование. Подробно построению VPN-сетей на базе MPLS посвящена следующая глава.
    4. Быстрая ремаршрутизация при отказах в каналах связи.

    источник

    В начале 90-х для размещения маршрутной таблицы в маршрутизаторе хватало 4-8Мбайт, но требования быстро росли, и это стимулировало широкое внедрение идеологии автономных систем (AS). На какое-то время AS позволили решить проблему, но к 2005-му году требования к памяти маршрутизатора возросли до 100Мбайт и это не предел.

    Давайте сначала прикинем, со сколькими сетевыми узлами вы и сотрудники вашего подразделения устанавливаете связь в течение рабочего дня. Это число нестабильно, зависит от характера работы и сильно варьируется от человека к человеку. Но, очевидно, что это число вряд ли превышает несколько сот и слабо меняется со временем. Таким образом, для обеспечения требуемых маршрутов объем маршрутной таблицы, если бы он содержал только используемые вами IP-адреса, был бы незначительным. При этом поиск в такой таблице занимал бы на порядки меньше времени (RTT сокращается на порядок).

    Именно идея сохранения в маршрутной таблице только реально используемых виртуальных путей и легла в основу разработки протокола MPLS и сопряженных с ним протоколов маршрутизации.

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

    Период экстенсивного развития сети Интернет завершился несколько лет тому назад даже в РФ. Сейчас многие сервис-провайдеры пытаются привлечь клиентов дополнительными информационными услугами IP-телефония, интерактивные игры, доступ к разнообразным базам данных и депозитариям, электронным магазинам, видеоконференции, видео-телефония и т. д. Клиенты же ищут не просто доступа к Интернет, а интересуются полосой пропускания, безопасностью, стабильностью связи. Именно с этим сопряжен бум разработок основополагающих документов (RFC) в последние 5 лет. По этой причине многие компании, в первую очередь производящие сетевое оборудование, уделяют повышенное внимание средствам управления трафиком (ТЕ) и QoS.

    Если рассмотреть ситуацию на уровне L2, здесь имеется сильная зависимость от физического уровня (L1). В сетях с маркерным доступом (Token Ring или FDDI, см. book.itep.ru) существуют механизмы управления приоритетом и способы контроля доступа, гарантирующие определенное значение задержек сетевого отклика. В сетях ISDN и в особенности в ATM предусмотрен целый арсенал средств управления, работающих на фазе установления виртуального канала (процедура SETUP). Для Ethernet до последнего времени ситуация была много хуже. Здесь только некоторые переключатели поддерживают VLAN. Технология виртуальных сетей L2 позволяет сформировать в локальной сети соединение точка-точка. В таком соединении можно гарантировать пропускную способность на уровне 10/100Мбит/c. К сожалению VLAN L2 создаются и модифицируются, как правило администратором, но можно эту проблему перепоручить сценарию, например, на PERL, работающему с демоном SNMP сетевого прибора. В такой сети можно также гарантировать низкий уровень разброса времени реакции сети. Если сформировать VLAN с числом узлов (N) больше двух, можно гарантировать полосу лишь не ниже (10/100)/N. Для произвольной сети Ethernet никаких гарантий на уровне L2 предоставить нельзя. Здесь можно рассчитывать только на вышележащие уровни (IP/TCP/UDP).

    Принципы организации приоритетного трафика на уровне L2 рассмотрены в стандарте 802.1р. Стандарт 802.1р является частью стандарта 802.1D (мостовые соединения). В протоколе 802.1Q определена 4-байта метки (смотри рис.1). Поле EtherType=TPID (Tagged Protocol Identifier) содержит код 0x8100 . Это поле соотвествует полю тип протокола стандартного поля кадра Ethernet и указывает на необходимость обработки кадра согласно требованиям IEEE 802.1Q. Смотри grouper.ieee.org/groups/802/1/pages/802.1v.html.

    Рис. 1. Формат меток VLAN на уровне L2 (стандарт 802.1р).

    Поле приоритета пользователя — 3 бита, 1-битовое поле CFI (Canonical Format >

    Топология связей в локальной сети на уровне L3 определяется протоколами маршрутизации (статическими или динамическими — RIP, OSPF, IGRP). В последнее время поставщики сетевого оборудования стали предлагать устройства уровня L2, способные осуществлять отбор пакетов на уровне L3 и даже L4 (TCP/UDP). В принципе ничто не мешает создать сетевые переключатели уровня L2, способные гарантировать пропускную способность, минимизировать вероятность потери пакета и т.д.

    Любые способы управления трафиком на уровне L3 для сетей, работающих в рамках стека протоколов TCP/IP, в настоящее время базируются на возможностях этих транспортных протоколов (IP, UDP, TCP).

    Протокол (см. IP) предусматривает задание значение ToS, определяемое соответствующим полем заголовка. Одно-октетное поле тип сервиса (TOS — Type Of характеризует то, как должна обрабатываться дейтограмма.

    Субполе приоритет предоставляет возможность присвоить код приоритета каждой дейтограмме. Значения приоритетов приведены в таблице (в настоящее время это поле не используется).

    0 Обычный уровень
    1 Приоритетный
    2 Немедленный
    3 Срочный
    4 Экстренный
    5 CEITIC/ECP
    6 Межсетевое управление
    7 Сетевое управление

    В новейших разработках (RFC-2474, Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers) поле TOS заменено на поле DSCP (Differentiated Services Code Point), где младшие 6 бит выделены для кода DS (Differentiated Services), а старшие два бита пока не определены и их следует обнулять.

    До середины 90-х годов поле TOS в большинстве реализаций игнорировалось. Но после начала разработок средств обеспечения качества обслуживания (QoS) внимание к этому возрасло. Появилось предложение замены поля TOS на поле DSCP (Differenciated Services Code Point), которое также имеет 8 бит (см. RFC-2474). Смотри рис. 2. Биты CU пока не определены. Иногда это поле называется байтом DS (Differenttiated Services).

    Биты DS0-DS5 определяют селектор класса. Значения этого кода представлены в таблице ниже. Стандартным значением DSCP по умолчанию является 000000.

    Селектор класса DSCP
    Приоритет 1 001000
    Приоритет 2 010000
    Приоритет 3 011000
    Приоритет 4 100000
    Приоритет 5 101000
    Приоритет 6 110000
    Приоритет 7 111000

    На базе DSCP разработана технология пошагового поведения PHB (per Hop Behavior). В рамках этой политики определяются коды DSCP внутри классов. Например, для политики немедленной переадресации EF рекомендуемое значение DSCP=101110. Эта политика соответствует наиболее высокому уровню обслуживания.

    В маршрутизаторах компании CISCO Systems для классификации пакетов и выбора очередей используются два младших бита из трех. По умолчанию классу 0 выделяется 10% полосы, а классам 1, 2 и 3 — 20%, 30% и 40%, соответственно. Для очередей, основанных на классах QoS, пакеты, не принадлежащие ни одной группе, относятся к группе 0 и автоматически получают 1% от общей пропускной способности группы. Общий вес остальных групп не может превышать 99%. При наличии нераспределенной полосы, она относится к группе 0.

    В протоколе IPv6 поле приоритет имеет 4 бита (см. IPv6). Биты C, D, T и R характеризуют пожелание относительно способа доставки дейтограммы. В таблице 1 приведены стандартизованные значения поля Type of Service (TOS) IP-пакета.

    Таблица 1. Значения TOS для разных протоколов

    Процедура Минимал. задержка Максимал. пропускная способность Максимал. надежность Минимал. стоимость Код TOS
    FTP управление
    FTP данные
    1 0x10
    1 0x08
    TFTP 1 0x10
    DNS

    TCP

    1 0x10
    0x00
    0x00
    Telnet 1 0x10
    ICMP 0x00
    IGP 1 0x04
    SMTP управление
    SMTP данные
    1 0x10
    1 0x08
    SNMP 1 0x04
    NNTP 1 0x02

    Помимо перечисленных значений может рассматриваться значение “Максимальная безопасность”. Строго говоря, значения TOS и QOS не эквивалентны, но именно значение ToS является базой для задания QoS. Присваивая при формировании IP-пакета определенное значение поля ToS, прикладная программа может попытаться реализовать определенные ограничения на QoS. Это поле может анализироваться маршрутизаторами, которые поддерживают протокол RSVP. В протоколе UDP нет никаких механизмов управления трафиком. Кое-что предлагает набор протоколов RTP/RTCP, предназначенный для мультимедийных приложений (например, позволяет ликвидировать влияние разброса времени доступа в каналах Ethernet на качество воспроизведения изображения и звука.). Некоторые приложения и сетевые приборы способны сигнализировать о перегрузке (потере пакетов из-за переполнения буферов), посылая ICMP(4).

    Таблица 2. Значения бит поля флаги

    Обозначение битов (слева на право) поля флаги Значение бита, если он равен 1
    URG Флаг важной информации, поле Указатель важной информации имеет смысл, если URG=1.
    ACK Номер октета, который должен был прийти следующим, правилен.
    PSH Этот сегмент требует выполнения операции push. Получатель должен передать эти данные прикладной программе как можно быстрее.
    RST Прерывание связи.
    SYN Флаг для синхронизации номеров сегментов, используется при установлении связи.
    FIN Отправитель закончил посылку байтов.

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

    Существенную проблему составляет необходимость идентифицировать пакеты, принадлежащие определенному процессу. Эта задача легко решается только в рамках протокола IPv6. Там в заголовке предусмотрено поле метка потока. Некоторые возможности предоставляет также протокол MPLS.

    В настоящее время используется несколько методов управления трафиком:

    1. Динамическая маршрутизация (RIP, OSPF, IGRP, BGP) и т.д.). Здесь нет средства резервирования полосы, но имеется механизм изменения маршрута при изменении значений метрики или из-за выхода из строя узла или обрыва канала. Некоторые из таких протоколов (OSPF, IGRP) могут строить отдельные таблицы маршрутизации для каждого уровня TOS/QOS [1], но метрики для каждого уровня задаются сетевым администратором. Здесь имеется возможность запараллеливания потоков с целью увеличения пропускной способности. Эти протоколы работают только в пределах одной автономной системы (AS). Протокол же BGP , используемый для прокладки путей между автономными системами не способен как-либо учитывать уровень TOS/QOS (использует алгоритм вектора расстояния, что связано с трудностью согласования значений метрик состояния канала администраторами разных AS). Новая версия многопротокольного расширения MP-BGP специально создана для совместной работы с MPLS при формировании виртуальных сетей, но и он безразличен к TOS/QOS.
    2. Формирование виртуальных сетей на уровнях L2 и L3. Протоколы VLAN обеспечивают повышенный уровень безопасности, но не способны резервировать полосу. К этому типу относится и протокол MPLS.
    3. Резервирование полосы в имеющемся виртуальном канале (протокол RSVP). RSVP может работать с протоколами IPv4 и IPv6. Протокол достаточно сложен для параметризации, по этой причине для решения этой задачи был разработан протокол COPS, который существенно облегчает параметризацию. Функция COPS сходна с задачей языка RPSL для маршрутизации.
    4. Автоматическое резервирование полосы при формировании виртуального канала процедурой SETUP в сетях ATM, ISDN, DQDB, Frame Relay и т.д. Управление очередями осуществляется аппаратно, но базовые параметры могут задаваться программно. Программы управления трафиком MPLS позволяют расширяют возможности L2 сетей ATM и Frame Relay.
    5. Использование приоритетов в рамках протокола IPv6. Возможность присвоения потокам меток облегчает, например, разделение аудио- и видеоданных.
    6. Управление перегрузкой (окно перегрузки в TCP, ICMP(4) для UDP-потоков (ICMP L2 и т.д.).

    QoS связана с возможностью сети предоставить клиенту необходимый ему уровень услуг в условиях работы поверх сетей с самыми разнообразными технологиями, включая Frame Relay, ATM, Ethernet, сети 802.1, SONET, и маршрутизуемые IP-сети.

    QoS представляет собой собрание технологий, которые позволяют приложениям запрашивать и получать предсказуемый уровень услуг с точки зрения пропускной способности, временного разброса задержки откликa, а также общей задержки доставки данных. В частности, QoS подразумевает улучшение параметров или достижение большей предсказуемости предоставляемых услуг. Это достигается следующими методами:

    • Поддержкой определенной полосы пропускания.
    • Сокращением вероятности потери кадров.
    • Исключением или управляемостью сетевых перегрузок.
    • Возможностью конфигурирования сетевого трафика.
    • Установкой количественных характеристик трафика по пути через сеть.

    IEFT определяет для QoS следующие две архитектуры:

    • Интегрированные услуги (IntServ)
    • Дифференцированные услуги ( DiffServ )

    IntServ для явного задания уровня услуги (QoS) использует протокол RSVP. Это делается путем уведомления об этом требовании всех узлов вдоль пути обмена. Если все сетевые устройства вдоль пути могут предоставить запрошенную полосу, резервирование завершается успешно (смотри документ RFC-1633 [2]).

    DiffServ, вместо того чтобы уведомлять о требованиях приложения, использует в IP-заголовке DiffServ Code Point (DSCP), чтобы указать требуемые уровни QoS. Cisco IOS ® Software Release 12.1(5)T вводит совместимость маршрутизаторов Cisco c DiffServ (см. [15-16]). DSCP размещается в поле TOS IP-пакета. В таблице 3 представлены различные виды использования QoS.

    Протокольная группа Протокол Ссылка
    QoS Signaling Protocol_family
    QoS Policy and Shaping CAR Rate Limiting
    CAR
    http://www.cisco.com/en/US/tech/tk543/tk545/tk764/ tech_protocol_home.html
    Tech_protocol
    QoS Link Efficiency Mechanisms MLPPP http://www.cisco.com/en/US/tech/tk543/tk762/tk763/ tech_protocol_home.html
    QoS Congestion Management WFQ
    VIP-Distributed WFQ
    PQ
    LLQ
    IP RTP Priority
    FIFO Queueing
    Distributed LLQ
    CBWFQ
    http://www.cisco.com/en/US/tech/tk543/tk544/tk718/ tech_protocol_home.html
    http://www.cisco.com/en/US/tech/tk543/tk544/tk530/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk544/tk399/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk544/tk366/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk544/tk228/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk544/tk761/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk544/tk96/ tech_protocol_home.html
    QoS Congestion Avoidance WRED
    RED
    Flow-based WRED
    D-WRED
    http://www.cisco.com/en/US/tech/tk543/tk760/tk725/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk760/tk549/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk760/tk230/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk760/tk185/ tech_protocol_home.html
    QoS Configuration and Monitoring http://www.cisco.com/en/US/tech/tk543/tk759/ tech_protocol_family_home.html
    QoS Classification and Marking MPLS EXP bit
    Frame Relay DE bit
    DCAR
    ATM CLP bit
    http://www.cisco.com/en/US/tech/tk543/tk757/tk776/ tech_protocol_home.html http://www.cisco.com/en/US/tech/tk543/tk757/tk758/ tech_protocol_home.html
    Читайте также:  Рецепты из творога полезные

    Управление перегрузкой может осуществляться путем изменения порядка, в котором посылаются пакеты согласно приписанного им приоритету. QoS-управление перегрузкой имеет четыре модификации протоколов управления очередями, каждый из которых позволяет организовать разное число очередей.

    Одной из задач MPLS является предоставление условий передачи мультимедиа данных по виртуалным частным сетям с гарантированным качеством [69].

    Рис. 2.a. Site-to-site MPLS VPN

    L2 QoS предполагает следующее:

    1. Управление входными очередями: когда кадр приходит на вход порта, он может быть отнесен к одной из нескольких очередей, ассоциированных с портом, прежде чем он будет направлен на один из выходных портов. Обычно, несколько очередей используются тогда, когда различные информационные потоки требуют различных уровней услуг или минимизации задержки. Например, IP мультимедиа требует минимизации задержки, в отличие от передачи данных в FTP, WWW, email, Telnet, и т.д.
    2. Классификация: процесс классификации включает просмотр различных полей в заголовке Ethernet L2, а также полей IP-заголовка (уровень 3 — L3) и заголовков TCP/UDP (уровень 4 — L4), чтобы обеспечить определенный уровень услуг при коммутации пакетов.
    3. Политика: осуществление политики является процессом анализа кадра Ethernet, чтобы определить, не будет ли превышен заданный уровень трафика за определенный интервал времени (обычно, это время является внутренним параметром переключателя). Если кадр создает ситуацию, при которой трафик превысит заданный уровень, он будет отброшен. Или значение CoS (Class of Service) может быть понижено.

  • Перезапись: процесс перезаписи предоставляет возможность переключателю модифицировать CoS в заголовке или ToS (Type of Service) в IPv4-заголовке. Следует учесть, что заголовок Ethernet 802.3 поля CoS не имеет (именно эта версия стандарта наиболее распространена в РФ).
  • Управление выходными очередями: после процесса перезаписи переключатель поместит кадр Ethernet, в выходную очередь для последующей коммутации. Переключатель выполнит управление буфером так, чтобы не произошло переполнение. Это обычно осуществляется с помощью алгоритма RED (Random Early Discard), когда некоторые кадры случайным образом удаляются из очереди. Weighted RE (WRED) является директивой RED (используемой некоторыми модулями семейства Catalyst 6000), где значения CoS анализируются с целью определения того, какие кадры следует отбросить. Когда буферы окажутся заполнены до определенного уровня, кадры с низким уровнем приоритета отбрасываются, в очереди сохраняются только высокоприоритетные кадры.
  • Основы протокола MPLS описаны в официальных документах RFC [3-9 и 14]. Существуют публикации и на русском языке [11-13]. Имеются три монографии, посвященных рассматриваемой проблематике [17-19].

    Протокол MPLS хорошо приспособлен для формирования виртуальных сетей (VPN) повышенного быстродействия (метки коммутируются быстрее, чем маршрутизируются пакеты). Принципиальной основой MPLS являются IP-туннели. Для его работы нужна поддержка протокола маршрутизации MP-BGP (RFC-2858 [23]). Протокол MPLS может работать практически для любого маршрутизируемого транспортного протокола (не только IP). После того как сеть сконфигурирована (для этого используются специальные, поставляемые производителем скрипты), сеть существует, даже если в данный момент через нее не осуществляется ни одна сессия. При появлении пакета в виртуальной сети ему присваивается метка, которая не позволяет ему покинуть пределы данной виртуальной сети. Никаких других ограничений протокол MPLS не накладывает. Протокол MPLS предоставляет возможность обеспечения значения QoS , гарантирующего более высокую безопасность. Не следует переоценивать уровня безопасности, гарантируемого MPLS, атаки типа “человек посередине” могут быть достаточно разрушительны. При этом для одного и того же набора узлов можно сформировать несколько разных виртуальных сетей (используя разные метки), например, для разных видов QoS. Но можно использовать возможности АТМ (процедура setup ), если именно этот протокол применен в опорной сети (возможные перегрузки коммутаторов не в счет).

    Для обеспечения структурирования потоков в пакете создается стек меток, каждая из которых имеет свою зону действия. Формат стека меток представлен на рис. 3 (смотри RFC-3032). В норме стек меток размещается между заголовками сетевого и канального уровней (соответственно L2 и L3). Каждая запись в стеке занимает 4 октета.

    Рис. 3а. Размещение меток в стеке

    Место заголовка МАС может занимать заголовок РРР. В случае работы с сетями АТМ метка может занимать поля VPI и VCI. Смотри рис 4. Глубина стека в данном случае не может превышать 1.

    На рисунке поле СoS соответствует субполю приоритет поля ToS. Поле CoS имеет три бита, что достаточно для поля приоритета IP-заголовка. 6-битовое поле кода дифференцированной услуги DSCP сюда записать нельзя. Можно попробовать разместить этот код в поле самой метки. S — флаг-указатель дна стека меток; TTL— время жизни пакета MPLS.

    Существующие версии программного обеспечения Cisco IOS (например, Cisco IOS Release 12.0) содержат набор средств управления трафиком. В частности, имеется возможность формировать статические маршруты и управлять динамическими маршрутами путем манипулирования значениями метрики . Иногда этого вполне достаточно, но в большинстве случаев провайдер нуждается в более эффективных средствах.

    Межрегиональные каналы являются одной из основных расходных статей провайдеров. Управление трафиком позволяет IP-провайдеру предложить оптимальный уровень услуг своим клиентам с точки зрения полосы и задержки. Одновременно эта технология снижает издержки обслуживания сети.

    MPLS представляет собой интеграцию технологий уровней L2 и L3. Управление трафиком в MPLS реализуется путем предоставления традиционных средств уровня L2 уровню L3. Таким образом, можно предложить в односвязной сети то, что достижимо только путем наложения уровня L3 на уровень L2.

    Управление коммутацией по меткам основывается на базе данных LIB (Label Information Base). Пограничный маршрутизатор MPLS LER (Label Edge Router) удаляет метки из пакетов, когда пакет покидает облако MPLS, и вводит их во входящие пакеты. Схема работы с помеченными и обычными IP-пакетами показана на рис. 5.

    Рис. 5. Обработка помеченных и обычных IP-пакетов

    Управление трафиком MPLS автоматически устанавливает и поддерживает туннель через опорную сеть, используя возможности RSVP. Путь, используемый данным туннелем в любой момент времени определяется на основе ресурсных требований и сетевых возможностей, таких как полоса пропускания. В самом ближайшем будущем MPLS сможет решать проблему обеспечения требуемого уровня QoS и самостоятельно.

    Информация об имеющихся ресурсах доводится до сведения заинтересованных субъектов с помощью протокола IPG (Interior Protocol Gateway), алгоритм которого базируется на состоянии канала.

    Путь туннеля вычисляется, основываясь на сформулированных требованиях и имеющихся ресурсах (constraint-based routing). IGP автоматически маршрутизирует трафик через эти туннели. Обычно, пакет, проходящий через опорную сеть MPLS движется по одному туннелю от его входной точки к выходной.

    Управление трафиком MPLS основано на следующих механизмах IOS:

    • Туннелях LSP (Label-switched path), которые формируются посредством RSVP, c расширениями системы управления трафиком. Туннели LSP представляют собой туннельные двунаправленные интерфейсы IOS c известным местом назначения.
    • Протоколах маршрутизации IGP, базирующиеся на состоянии канала (такие как IS-IS) с расширениями для глобальной рассылки ресурсной информации, и расширениях для автоматической маршрутизации трафика по LSP туннелям.
    • Модуле вычисления пути MPLS, который определяет пути для LSP туннелей.
    • Модуле управления трафиком MPLS, который обеспечивает доступ и запись ресурсной информации, подлежащей рассылке.
    • Переадресации согласно меткам, которая предоставляет маршрутизаторам возможности, сходные с уровнем L2, перенаправлять трафик через большое число узлов согласно алгоритму маршрутизации отправителя.

    Одним из подходов управления опорной сетью является определение сети туннелей между всеми участниками обменов. Протокол IGP, работающий в начале туннеля, определяет то, какой трафик должен проходить через любой оконечный узел. Модули вычисление пути и управления MPLS определяют маршрут LSP туннеля. Для каждого туннеля подсчитывается число пропущенных пакетов и байт.

    Иногда, поток настолько велик, что его нельзя пропустить через один канал (туннель). В этом случае может быть создано несколько туннелей между отправителем и получателем.

    Для реализации MPLS управления трафиком сеть должна поддерживать следующие возможности Cisco IOS:

    • Мультипротокольную переадресацию пакетов с использованием меток (MPLS)
    • IP-переадресацию CEF (Cisco Express Forwarding)
    • Протокол маршрутизации IS-IS (Intermediate System-to-Intermediate System; см. RFC-1142, -1195, -2763, -2966 и -2973)

    Дополнительные данные о MPLS и управлении трафиком можно найти в документации Cisco (поддерживается в реализациях 7620, 7640, 7200, 7500 и 12000):

    • Cisco IOS Release 12.0 Switching Services Configuration Guide, глава «Tag Switching»
    • Cisco IOS Release 12.0 Switching Services Command Reference, глава «Tag Switching Commands».
    • Cisco IOS Release 11.3 Switching Services Command Reference, Часть 1, глава «Configuring RSVP»
    • Cisco IOS Release 11.3 Network Protocols Command Reference, Часть 1, глава «RSVP Commands».
    • Cisco IOS Release 12.0 Switching Services Configuration Guide, глава «Tag Switching».
    • Cisco IOS Release 12.0 Switching Services Command Reference, глава «Tag Switching Commands».

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

    Новые алгоритмы управления трафиком вычисляют пути до одного или более узлов в сети. Эти маршруты рассматриваются как логические интерфейсы исходного маршрутизатора. В данном контексте эти маршруты представляют собой LSP и рассматриваются как TE-туннели.

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

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

    В рекомендациях CISCO [15] можно прочесть, что MPLS позволяет провайдеру маршрутизировать потоки данных так, чтобы клиенту гарантировать минимум задержки и максимум пропускной способности.

    Сформировав несколько виртуальных сетей для заданного набора узлов, можно попытаться объединять возможности этих сетей в случае возникновения такой необходимости, увеличивая пропускную способность. Можно для каждой из субсетей использовать разный уровень QoS с помощью протокола RSVP.

    Рассмотрение описания конфигурации MPLS в аппаратах CISCO [15] показывает отсутствие возможности задания какого-либо значения QoS. Но это не означает, что этого не будет возможно уже в 2003 году.

    Если сетевые условия позволяют, то, используя протокол RSVP (где QoS задается в спецификации потока (flowspec) — практически на сегодня это единственное реализуемое решение), можно попытаться зарезервировать для заданной виртуальной сети определенное значение полосы пропускания. Следует иметь в виду, что протокол RSVP приспособлен в основном для резервирования определенного значения полосы пропускания, а не произвольного QoS (спецификации QoS см. в RFC-2210, 2211 и 2212) для существующего виртуального соединения. Если виртуальное соединение разорвано, следом ликвидируются и все резервирования. Следует, разумеется, иметь в виду, что >RSVP может работать как c TCP- так и c UDP-сессиями поверх IPv4 и IPv6. Сессия резервирования инициируется получателем данных. Резервирование может осуществляться как для уникаст, так и мультикаст-потоков. Протокол RSVP (L. Zhang, R. Braden, Ed., S. Berson, S. Herzog, S. Jamin «Resource ReSerVation Protocol», RFC-2205; http://book.itep.ru/4/44/Rsv_4496.htm; смотри также RFC-2206-10, -2490, -2745-47, -2750-52, -2872, -2961, -2996, -3097, -3175, -3181, -3209-10) определяет режим резервирования (способ объединения нескольких заявок для одного и того же интерфейса: WF, FF, SE), формирования резервирования и его поддержания в условиях отсутствия поддержки данного протокола в одном или нескольких узлах виртуального пути, пересылки QoS-запросов другим маршрутизаторам и т.д., но решения принимаются маршрутизатором локально без знания условий в остальной части пути. По этой причине здесь не может идти речь о минимизации задержки, обеспечении надежности или безопасности, хотя в перспективе это может стать возможным.

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

    RSVP не имеет механизмов управления очередями в конкретных интерфейсах, а механизм резервирования полосы пропускания для одного из направлений обмена является зоной ответственности изготовителя маршрутизатора и не публикуется. Кроме того, при скоростях несколько сот Мбит/с часто обработка процедур буферизации перепоручается аппаратным средствам (например, в случае компании CISCO).

    • RSVP выполняет резервирование для уникастных и мультикастных приложений, динамически адаптируясь к изменениям членства в группе вдоль маршрута.
    • RSVP является симплексным протоколом, т.е., он выполняет резервирование для однонаправленного потока данных.
    • RSVP ориентирован на получателя, т.е., получатель данных инициирует и поддерживает резервирование ресурсов для потока.
    • RSVP поддерживает динамическое членство в группе и автоматически адаптируется к изменениям маршрутов.
    • RSVP не является маршрутным протоколом, но зависит от существующих и будущих маршрутных протоколов.
    • RSVP транспортирует и поддерживает параметры управления трафиком и политикой, которые остаются непрозрачными для RSVP.
    • RSVP обеспечивает несколько моделей резервирования или стилей, для того чтобы удовлетворить требованиям различных приложений.
    • RSVP обеспечивает прозрачность операций для маршрутизаторов, которые его не поддерживают.
    • RSVP может работать с IPv4 и IPv6.

    Подобно приложениям маршрутизации и протоколам управления, программы RSVP исполняется в фоновом режиме.

    Спецификация flowspec в запросе резервирования включает в себя значение класса услуг и два набора параметров:

    1. «Rspec», которая определяет желательное значение QoS, и

    2. «Tspec», которая описывает информационный поток.

    Форматы и содержимое Tspecs и Rspecs определяются общими моделями обслуживания [RFC 2210] и обычно недоступны для RSVP. Конкретный формат спецификации фильтра зависит от того, используется IPv4 или IPv6. Например, спецификация фильтра может использоваться для выделения некоторых составных частей информационного потока, осуществляя отбор с учетом полей пакетов прикладного уровня. В интересах упрощения в описываемом стандарте RSVP спецификация фильтра имеет довольно ограниченную форму: IP-адрес отправителя и, опционно, номер порта SrcPort (UDP/TCP).

    Так как номера портов UDP/TCP используются для классификации пакетов, каждый маршрутизатор должен уметь анализировать эти поля. Это вызывает потенциально три проблемы.

    1. Необходимо избегать IP-фрагментации потока данных, для которого желательно резервирование ресурсов. Документ [RFC 2210] специфицирует процедуру вычисления минимального MTU для приложений, использующих средства RSVP.
    2. IPv6 вводит переменное число Internet заголовков переменной длины перед транспортным заголовком, увеличивая трудность и стоимость классификации пакетов. Эффективная классификация информационных пакетов IPv6 может быть достигнута путем использования поля метки потока заголовка IPv6.
    3. IP-уровень безопасности как для IPv4, так и IPv6 может шифровать весь транспортный заголовок, скрывая номера портов промежуточных маршрутизаторов.

    Сообщения RSVP, несущие запросы резервирования, исходят со стороны получателя и направляются отправителю информации.

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

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

    Базовая модель резервирования RSVP является однопроходной: получатель посылает запрос резервирования вдоль мультикастинг-дерева отправителю данных и каждый узел по пути воспринимает или отвергает этот запрос. RSVP поддерживает улучшенную версию однопроходного варианта алгоритма, известного под названием OPWA (One Pass With Advertising) [OPWA95]. С помощью OPWA управляющие пакеты RSVP, посланные вдоль маршрута для сбора данных, которые могут быть использованы для предсказания значения QoS маршрута в целом. Результаты доставляются протоколом RSVP в ЭВМ получателя. Эти данные могут позднее служить для динамической адаптации соответствующих запросов резервирования.

    Запрос резервирования включает в себя набор опций, которые в совокупности называются стилем. Одна опция резервирования определяет способ резервирования различными отправителями в пределах одной сессии.

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

    Стиль WF использует опции: «разделенного» резервирования и произвольного выбора отправителя («wildcard»). Таким образом, резервация со стилем WF создает резервирование, которое делится между потоками всех отправителей. Это резервирование может рассматриваться как общая «труба», чей размер равен наибольшему из ресурсных запросов от получателей, и не зависит от числа отправителей. Стиль резервирования WF передается в направлении отправителей и автоматически распространяется на новых отправителей при их появлении.

    Стиль FF использует опции: «четкое» (distinct) резервирование и «явный» (explicit) выбор отправителя. Таким образом, простой запрос со стилем FF создает точно заданное резервирование для информационных пакетов от определенного отправителя, без совместного использования ресурса с другими отправителями в пределах одной и той же сессии.

    Стиль SE использует опции: «разделенное» (shared) резервирование и «явный» explicit) выбор отправителя. Таким образом, стиль резервирования SE формирует одно резервирование, которое совместно используется несколькими отправителями. В отличие от стиля WF, SE позволяет получателю непосредственно специфицировать набор отправителей.

    Для облегчения работы с RSVP разработан протокол COPS (Common Open Policy Service; RFC-2748, The COPS Protocol, D. Durham, Ed. Смотри также RFC-2749, -2940 и -3084 ).

    Протокол COPS предназначен для обмена информации о политике между серверами политики (Policy Decision Point или PDP и их клиентами (Policy Enforcement Points или PEP). Примером клиента политики является RSVP-маршрутизатор, который должен реализовывать управление доступом, базирующееся на определенной политике. Предполагается, что существует, по крайней мере, один сервер, определяющий политику в каждом из доменов. Базовая модель взаимодействия между сервером политики и клиентом совместима с документом по управлению доступом [27-28]. Смотри также http://book.itep.ru/4/4/cops.htm

    В конфигурационном сценарии PEP выполнит запрос PDP для определенного интерфейса, модуля, или функциональности, которые могут быть специфицированы в информационном объекте именованного клиента. PDP пошлет потенциально несколько решений, содержащих именованные блоки конфигурационных данных PEP. Предполагается, что PEP инсталлирует и использует конфигурацию локально. Конкретная именованная конфигурация может быть актуализована путем отправки дополнительных сообщений-решений для данной конфигурации. Когда PDP более не хочет, чтобы PEP использовал часть конфигурационной информации, он пошлет сообщение-решение, специфицирующее именованную конфигурацию и объект флагов решения (decision flags) с командой удаления конфигурации. PEP должен удалить соответствующую конфигурацию и послать сообщение-отчет PDP, об этом удалении.

    При работе с АТМ ситуация ненамного лучше, программное обеспечение АТМ-коммутаторов также обычно не доступно. Но имеется возможность работы RSVP поверх АТМ [29-31].

    Рассматривается внедрение протокола RSVP на уровень L2 [34].

    При наличии механизмов реализации других типов QoS (смотри, например, RFC-2430 [21] и Rosen, Rekhter, Tappan, Farinacci, Fedorkow, Li, and Conta, «MPLS Label Stack Encoding», где предлагается ввести дополнительные биты в заголовок), можно решить проблему в более общем виде (но эта технология находится лишь на стадии обсуждения и не внедрена ни на одном серийном приборе). В рамках одной автономной системы (AS), где используется внутренний протокол маршрутизации OSPF>, можно обеспечить требуемый уровень QoS, но это будет делаться вручную, во всяком случае, на уровне задания значений метрики. Теоретически можно это сделать и автоматически, например, в случае применения версии протокола IGRP (внутренний протокол компании CISCO), поддерживающего автоматическую оценку значений метрики. К сожалению, компания CISCO отошла от первоначального плана и значения метрики там задается в настоящее время также администратором.

    Реализация управления QoS предполагает организацию эффективной системы мониторинга базовых параметров, характеризующих требуемый уровень QoS. Для этого требуется контролировать уровень информационных потоков во всех фрагментах VPN, постоянно измерять значение RTT и его дисперсии, контролировать уровень вероятности потери пакетов во всех фрагментах виртуального пути. Желательно также отслеживать корреляции перечисленных параметров и локального значения загрузки. Схема мониторинга и управления QoS показана на рис. 6.

    Управляющее воздействие может осуществляться с помощью скриптов или с привлечением механизмов политик. В любом случае нужно позаботиться об исключении влияния случайных флуктуаций результатов измерений.

    источник

    Источники:
    • http://www.intuit.ru/studies/courses/966/157/lecture/28718
    • http://www.labnfun.ru/2016/06/mpls-overview.html
    • http://ru.bmstu.wiki/%D0%A1%D0%B5%D1%82%D0%B8_MPLS
    • http://book.itep.ru/4/4/mpls17.htm