MPLS сочетает гибкость сетей IP и стабильность виртуальных каналов. Как этот союз работает? MPLS: новый порядок в сетях IP?

За последние десять лет IP и Internet были, без всякого сомнения, наиболее примечательными достижениями в области сетевых технологий. Учитывая это, многие предсказывают успех IP и для новых необычных предложений — от передачи речи до виртуальных частных сетей (Virtual Private Network, VPN).

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

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

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

Сети без установления соединения, такие, как IP, весьма гибки, свидетельством чему может служить Internet. Сети с установлением соединения предсказуемы и стабильны, подтверждением чему может служить frame relay. Объединение двух названных концепций представляется неизбежным. И это ведет к появлению MPLS.

MPLS: ОТКУДА ОНА ВЗЯЛАСЬ И КАК РАБОТАЕТ?

Аббревиатура MPLS расшифровывается как «многопротокольная коммутация с использованием меток» (Multiprotocol Label Switching, MPLS). Рабочая группа IETF по MPLS надеется опубликовать свой первый стандарт (RFC) уже в этом году. На своем далеко не безоблачном пути MPLS пришлось пройти через ряд проблем и компаний.

В середине 90-х технические специалисты таких компаний, как IBM, Toshiba и Cisco Systems, стали искать способы ускорить и упростить процесс маршрутизации и, таким образом, избежать необходимости поиска по огромным таблицам маршрутизации при передаче пакетов по сетям IP. В то же время, другие специалисты пытались решить проблему управления трафиком в центре сети IP — например, как определенные пакеты направить на конкретные линии в целях равномерного распределения нагрузки.

Эти усилия получили широкий резонанс в 1996 году, когда компания Ipsilon объявила об «IP-коммутации» — объединении технологий ATM и IP в целях сокращения или исключения обращений к таблицам маршрутизации при обработке данных внутри сети IP. Компьютерная пресса вознесла Ipsilon и IP-коммутацию на вершину славы. (Впоследствии Ipsilon была приобретена Nokia.) Позднее, в 1996 году, Cisco заявила, что она собирается представить в IETF свое собственное решение для коммутации IP. В органах стандартизации тег-коммутация от Cisco была объединена с предложениями от других организаций, в том числе Toshiba и IBM, и стала впоследствии базисом для MPLS. К 1998 году большинство деталей MPLS было согласовано, и с начала года производители начали внедрять поддержку MPLS. Несмотря на то что стандарт еще окончательно не готов и официально не одобрен, свыше двух десятков компаний объявили об имеющихся или готовящихся продуктах или поддержке MPLS.

MPLS основывается на концепции более старой, чем возраст некоторых специалистов по сетям. В 1970 году протокол коммутации пакетов под названием X.25 впервые сделал достоянием гласности так называемую «маршрутизацию с обменом меток» или «коммутацию меток». На Рисунке 1 показано, как она работает в сети MPLS. Для простоты изображен только один маршрут.

В данном примере сеть MPLS состоит из граничных и транзитных устройств. Передаваемые в сеть данные с граничного устройства A адресуются граничному устройству C (точнее, подключенному к нему пользователю). Первый этап состоит в поиске граничным маршрутизатором А адреса пакета (10.1.1.4) в таблице маршрутизации для выяснения исходящего порта (Порт 1) и номера метки (Метка 1). Граничное устройство MPLS ставит пакет в очередь на Порт 1, но вначале оно вставляет в него Метку 1.

На Транзите B пакет поступает на Порт 3. На этот раз, вместо того чтобы искать весь адрес целиком в таблице маршрутизации, транзитное устройство просто ищет порт и метку (или, если метка уникальна, только метку) в таблице. Обычно меткам присваиваются последовательные номера — значение метки n будет соответствовать записи в таблице за номером n. В результате поиск значительно ускоряется. В данном случае запись в таблице меток указывает Порт 4 и новое значение метки — Метка 21.

Этот процесс преобразования входящих меток в исходящие может продолжаться на любом числе транзитных узлов, но в данном примере следующим узлом является другое граничное устройство MPLS. Здесь Метка 21 на Порт 7 этого устройства сопоставляется с исходящим адресом, в данном случае это порт локальной сети, где находятся адресаты из подсети 10.1.x.x. Затем пакеты следуют по показанному зеленым цветом пути до адресата. Путь информации через сеть зависит от содержания таблиц меток.

В сетях frame relay, ATM и X.25 такие фиксированные пути можно создать двумя способами. В первом случае владелец сети (например, провайдер услуг в общедоступной сети frame relay или ATM) вносит записи в таблицы меток для определения всех путей информации; это так называемые постоянные виртуальные соединения (Permanent Virtual Circuit, PVC). Во втором случае специальное сообщение посылается в сеть с просьбой установить коммутируемое виртуальное соединение (Switched Virtual Circuit, SVC) с указанным адресатом.

MPLS также предлагает два способа организации фиксированных маршрутов. Один из них по сути ничем не отличается от похода с SVC в frame relay: специальное сообщение отправляется в сеть для «прокладки маршрута». В соответствии с текущим состоянием стандарта используемое сообщение будет тем же самым, что и в случае протокола резервирования ресурсов (Resource Reservation Protocol, RSVP). Возвращаясь снова к Рисунку 1, мы рассмотрим на его примере, как создается фиксированный путь (он выделен зеленым цветом).

  1. Система управления подает команду граничному устройству C (хозяну маршрута) создать маршрут до 10.1.1.x для использования граничным устройством A. Система управления может выбрать конкретный путь (т. е. указать маршрут явным образом или предоставить вектор маршрутизации от источника) или разрешить внутренним узлам выполнить маршрутизацию самостоятельно. Мы будем считать, что система управления указала вектор маршрутизации от источника, причем информация должна передаваться от пограничного устройства С на А через транзитный узел B.
  2. Пограничное устройство C генерирует сообщение RSVP и включает в него маршрут от источника. Оно присваивает этому маршруту номер Мет-ка 21 и создает для него запись в таблице меток. Эта запись сообщает, что Порт 7 связан со следующим транзитным узлом Транзит B; кроме того, она содержит номер порта локальной сети, к которому подключена сеть 10.1.1.х.
  3. Транзитное устройство B получает сообщение и создает запись в таблице меток. Исходящему направлению через Порт 3 присваивается Метка 1, таким образом входящая Метка 21 через Порт 4 привязывается к Метке 1 через Порт 3. Затем сообщение RSVP маршрутизируется на граничное устройство А.
  4. Граничное устройство А получает сообщение и связывает Метку 1 через Порт 1 со своей записью в таблице маршрутизации для 10.1.1.x. Любые поступающие на этот адрес пакеты граничный маршрутизатор А теперь будет направлять по созданному фиксированному маршруту.
  5. Очевидно, это полудуплексный процесс; если данные должны перемещаться в обоих направлениях, то маршрутизатор должен передать сообщение в обратном направлении.
Вторую разновидность MPLS объяснить труднее, Рисунок 2 поможет проиллюстрировать основные моменты.
  1. Маршрутизаторы в сети MPLS вначале создают свои таблицы маршрутов обычным образом с помощью протоколов маршрутизации, таких, как RIP. «Владеющие» целевой подсетью узлы рекламируют себя как маршрут в эту сеть, а другие узлы записывают данные маршрутизации, как показано на рисунке на этапе 1.
  2. После того как таблицы построены, каждый маршрутизатор присваивает метку каждой из записей в таблице маршрутизации, как показано на этапе 1 на рисунке. Эти метки включаются в таблицу меток как и в предыдущем примере, а имеющиеся в записях таблицы маршрутизации указания по обработке копируются в каждую запись таблицы меток.
  3. Каждый маршрутизатор затем сообщает соседним маршрутизаторам о связях между записями и метками, как показано на рисунке на этапе 2. Например, маршрутизатор сообщает соседям «IP-адресам 10.1.1.x должна быть присвоена моя Метка 21».
  4. Соседние маршрутизаторы помещают метку исходного маршрутизатора в записи таблицы меток для этого адреса. Если маршрутизатор находится на границе сети MPLS, то он помещает запись в таблицу маршрутизации.
  5. После того как таблица построена, она выглядит аналогично показанной на Рисунке 1. Теперь можно начинать передачу данных.

Обмен метками между соседними маршрутизаторами осуществляется с помощью нового протокола под названием «протокол распространения меток» (Label Distribution Protocol, LDP). Кроме того, имеются предложения по расширению существующих протоколов маршрутизации, в частности OSPF, таким образом, чтобы они могли сообщать информацию о метках наряду с данными о маршрутах, исключая необходимость отдельно обмениваться таблицами маршрутизации и таблицами меток. В любой модели MPLS сеть может иметь «границу», где начинается поддержка MPLS. Маршрутизаторы в этой пограничной точке будут генерировать и передавать сообщения MPLS по направлению внутрь ядра сети, но только не вовне. Эти граничные маршрутизаторы должны хранить свои метки в записях таблицы маршрутизации, так как их соседи за пределами облака MPLS не могут понимать процедуры MPLS. Именно по этой причине на этапе 4 второй разновидности MPLS граничное устройство хранит метки в таблице маршрутизации, и именно по этой причине граничным устройствам MPLS на Рисунках 1 и 2 приходится осуществлять преобразование адресов в метки. Эти устройства направляют IP-пакеты с традиционной адресацией по маршрутам MPLS.

MPLS, ТУННЕЛИРОВАНИЕ И ATM

Как вы уже, наверно, заметили, фиксированные пути MPLS во многом аналогичны туннелям, создаваемым другими протоколами, такими, как протокол туннелирования «точка-точка» (Point-to-Point Tunneling Protocol, PPTP) и протокол туннелирования второго уровня (Layer-2 Tunneling Protocol, L2TP). Сходство несомненно, но есть и различия.

Традиционные протоколы туннелирования используют IP для инкапсуляции информации, т. е. пользовательские пакеты, включая адреса и заголовки, просто перемещаются в IP-пакетах как данные. В конечной точке туннеля «конверт» удаляется, и содержимое обрабатывается естественным для него образом. Содержимое IP-пакетов сетью игнорируется, поэтому эти протоколы туннелирования можно использовать для передачи отличных от IP данных через сеть IP или же для передачи IP-пакетов с неуникальными адресами по Internet (с так называемыми «частными» адресами, определенными в RFC 1918).

Пути MPLS характеризуются теми же особенностями; содержимое не анализируется узлами вдоль маршрута, поэтому им может быть любой протокол или адресная схема. Однако традиционные протоколы туннелирования используют для маршрутизации «конвертов» IP-маршрутизацию, потому что те являются IP-пакетами. MPLS устанавливает иной способ обработки данных на каждом маршрутизаторе/узле MPLS: коммутацию с использованием меток. Пакеты MPLS обрабатываются посредством коммутации на основе меток и никак не затрагивают процесс маршрутизации IP. Сам содержащий пакет обрабатывается не традиционными для IP средствами.

Именно коммутация на основе меток делает MPLS столь полезным и уникальным. Frame relay и ATM обеспечивают QoS за счет выбора маршрута, на протяжении которого сеть будет поддерживать требования трафика к QoS благодаря выделению ресурсов на каждом узле и линии в целях гарантии того, что трафик получит необходимые для достижения требуемого QoS ресурсы. Фиксированные пути MPLS могут быть явным образом маршрутизированы через сеть вдоль любого желаемого пути, а устройства вдоль пути могут задействовать различные средства управления ресурсами, такие, как честная взвешенная очередь, чтобы каждый путь MPLS получил необходимые ресурсы. Таким образом, MPLS способен обеспечивать контроль QoS, эквивалентный предоставляемому frame relay или ATM, при условии, что используемые в сети MPLS средства выбора пути и управления трафиком столь же действенны, как и те, что применяются в сети трансляции кадров/ячеек.

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

Даже «временные» туннели MPLS, создаваемые с помощью RSVP, могут начинаться внутри сети, а не из пользовательского приложения. Большинство экспертов по MPLS полагает, что пользователи будут продолжать применять обычные IP-пакеты и адресацию в своих приложениях и даже локальных сетях. Однако в случае подключения локальной сети к глобальной некоторые из IP-пакетов пользователей (или пакеты, относящиеся к другим протоколам) могут направляться через туннели MPLS в целях обеспечения специальной обработки.

MPLS схож не только с туннелированием, но и с сетью виртуальных каналов — frame relay и ATM. Это ведет к двум весьма различным применениям MPLS.

Сегодня ATM используется в IP-сетях для создания ядра сети с поддержкой нескольких уровней обслуживания и в целях распределения трафика между несколькими высокоскоростными каналами. С появлением MPLS по крайней мере некоторые провайдеры Internet надеются получить эти преимущества без помощи коммутаторов ATM. Для них построение сети целиком на базе маршрутизаторов является вполне логичным и выгодным с точки зрения их профессионального опыта. По иронии судьбы, целая группа провайдеров IP преследует прямо противоположные цели — использовать MPLS для расширения объемов ATM-коммутации в своей сети. Поскольку MPLS ведет себя аналогично виртуальным каналам, то виртуальный канал ATM может быть без труда сопряжен с фиксированным путем MPLS. На самом деле это настолько просто, что стандарт на MPLS определяет соответствующий подход, а некоторые производители (в том числе Cisco) уже реализовали его. Причина расширения присутствия ATM в сетях на базе MPLS кроется в возможности управления QoS. Хотя сеть устройств MPLS (которые в стандарте называются «маршрутизаторами с коммутацией меток») может дублировать качество обслуживания ATM — при наделении ее функциями управления выбором маршрута через сеть и задания приоритетов трафика на каждом узле, — многие считают маловероятным, что большинство продуктов MPLS будет иметь эти функции в ближайшее время. ATM их уже имеет.

ПРЕИМУЩЕСТВА MPLS: ЭТО QOS

Основным преимуществом MPLS, с точки зрения пользователя, является QoS, а следующим по важности — упрощение защиты и процедуры доступа к VPN. До некоторой степени эти преимущества обеспечивают обе модели MPLS, но они наиболее наглядно проявляются в случае временных путей. В этой модели MPLS фиксированные пути устанавливаются с помощью сообщения RSVP, а комбинация этих путей может составлять VPN. Вследствие того, что явный фиксированный путь имеет все свойства виртуального соединения, ему могут быть выделены ресурсы, а качество обслуживания может быть гарантировано на всем его протяжении. Кроме того, он столь же защищен, как и виртуальный канал, так что в дополнительном шифровании или других мерах предосторожности нет необходимости. Наконец, передаваться могут любые данные, так как содержимое остается неизменным вдоль всего пути, если не считать замены меток. Как следствие, пользователи могут передавать SNA, SPX/IPX, IP-пакеты с неразрешенными адресами (адреса RFC 1918), кадры frame relay, ячейки ATM и т. д.

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

Такая модель открывает возможности для оказания совершенно новых видов услуг. Например, VPN с поддержкой NetMeeting от Microsoft может быть запущена на час на плановой основе для поддержки ряда пользователей в нескольких местах. При наступлении положенного часа трафик будет автоматически маршрутизироваться в MPLS VPN без какого-либо вмешательства пользователя и получит уровень обслуживания, определенный для этой VPN. По истечении часа пути MPLS будут ликвидированы, и тот же самый трафик станет обрабатываться как обычно, например направляться через Internet.

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

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

Если изобразить интерфейс службы на базе IP в виде большого круга, то VPN, созданная с помощью MPLS, добавит небольшой логический «туннель» к этому общему интерфейсу (небольшой круг внутри большого). Такой туннель может транспортировать IP-трафик, использующий частный внутренний адрес. Второй туннель может перемещать трафик NetWare SPX/IPX, а третий — голос в пакетах. Отметим, что при этом пользователь не ограничен исключительно голосом поверх IP, так как MPLS не зависит от протокола. Каждый из туннелей VPN способен предоставлять уникальное для него качество обслуживания.

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

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

Где MPLS может оказаться полезным в локальной сети — так это в отделении неинформационных услуг от трафика данных. Аудио- и видеотрафик могут передаваться MPLS-совместимыми коммутаторами с такой точностью с точки зрения обеспечения QoS, что результат будет звучать или выглядеть, как если бы он поступил по прямому соединению. Эмуляция каналов по типу ATM находится в рамках возможностей MPLS, особенно с учетом достижения локальными сетями гигабитных скоростей.

БУДУЩЕЕ MPLS

MPLS создавалась главным образом как своего рода технология для «самого ядра сети» — нечто, благодаря чему устройства, которым приходится справляться с огромными потоками информации, могут обрабатывать эти потоки более эффективно. В соответствии с такой ролью первое знакомство конечных пользователей с MPLS состоится через посредничество услуг, которые она предлагает. В январе 1999 г. AT&T объявила о первой услуге VPN на базе MPLS — своем IP-совместимом сервисе frame relay. Предложения от других провайдеров услуг должны не замедлить появиться, так что, в конце концов, конечные пользователи получат и гибкость IP, и аналоги виртуальных каналов, которые они хотели иметь столько времени. К концу 1999 года мы можем ожидать появления по крайней мере трех, а может быть, и четырех предложений услуг на базе MPLS. Связанная с MPLS активность будет, скорее всего, развиваться в следующих двух основных направлениях. На уровне провайдеров услуг мы увидим смещение интереса к таким, так сказать, временным приложениям VPN, как одночасовая встреча по NetMeeting VPN в вышеприведенном примере. Это выдвинет на первый план разновидность MPLS с использованием сообщений RSVP и, кроме того, поставит новые требования, такие, как сбор статистики для составления разнообразных ценовых планов.

На корпоративном уровне временные VPN должны облегчить организацию прямых соединений между фиксированными путями MPLS провайдера услуг и корпоративной сетью. Здесь мы можем ожидать появления коммутирующих продуктов для локальных сетей третьего уровня, в частности устройств для магистралей старшего класса с поддержкой MPLS. Одна из функций MPLS — то, что Cisco называет «объединение виртуальных каналов», когда несколько туннелей MPLS объединяются для создания единого туннеля. Такая структура напоминает систему притоков реки и распространяет VPN на базе MPLS в сети оператора на сеть внутри офиса и прямо до сервера или клиента. При подобном расширении VPN оператору может быть предоставлена ответственность по управлению для обеспечения непрерывного контроля за QoS из конца в конец.

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

Рынок сетевых технологий питает порой нездоровые и разрушительные предубеждения относительно отдаленного будущего; мы должны пережить сегодня, чтобы дожить до завтра, поэтому проблемам сегодняшнего дня следует отдавать больший приоритет. Тем не менее имеет смысл спросить, с какими вопросами MPLS может столкнуться в будущем?

Что касается офисных сред, вопрос в том, удастся ли MPLS действительно проникнуть в локальные сети и в клиентское и серверное программное обеспечение TCP/IP. Такого рода расширение MPLS не представляет сложности с технической точки зрения, так как весьма вероятно, что программное обеспечение IP для компьютеров будет поддерживать протокол RSVP, который MPLS использует для создания маршрутов явным образом.

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

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

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

ОБ АВТОРЕ

Том Нолле — президент консалтинговой компании CIMI, специализирующейся в области стратегического планирования информационных систем. С ним можно связаться по адресу: tnolle@cimicorp.com.
Рисунок 1. Метки MPLS указывают, каким маршрутом должен следовать трафик через коммутируемое ядро сети с установлением соединения. Рисунок 2. При втором способе создания таблиц меток маршрутизаторы присваивают метки записям в таблицах маршрутизации и затем передают информацию о соответствиях между записями и метками своим соседям.

Ресурсы Internet

Дополнительную информацию о MPLS и связанных с ней вопросах можно найти на сервере компании CIMI по адресу: http://www.cimicorp.com.

Стандарты IETF на MPLS опубликованы на сервере IETF по адресу: http://www.ietf.org.

Cisco Systems предлагает обширную информацию о MPLS и своей реализации MPLS под названием тег-коммутация на сервере http://www.cisco.com.