СПОСОБ ПРИМЕНЕНИЯ ЭКЗЕМПЛЯРА СЛУЖБЫ К СЕТИ MPLS (ВАРИАНТЫ) И СЕТЬ MPLS
METHOD OF APPLYING SERVICE INSTANCE TO MPLS NETWORK (VERSIONS) AND MPLS NETWORK

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Эта заявка имеет приоритет предварительной патентной заявки США №61/114,558, поданной 14 ноября 2008 года, и заявки на полезную модель №12/412,589, зарегистрированную в США 27 марта 2009 года, каждая из которых включена здесь в качестве ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к сетям связи, более конкретно к способу и устройству, позволяющему применить экземпляр службы к сетям MPLS.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Сети для передачи данных могут включать различные коммутаторы, маршрутизаторы, концентраторы и другие устройства, сконфигурированные для приема и передачи данные по сети. Эти устройства будут далее упоминаться здесь как "элементы сети". Элемент сети, в основном, не является потребителем данных, а скорее, используется для приема и передачи данных через сеть. Данные передаются через сеть путем передачи элементами сети протокольных блоков данных в виде фреймов, пакетов, ячеек или сегментов, друг за другом по каналам связи. Конкретный протокольный блок данных может быть обработан множественными элементами сети и проходит через многочисленные каналы связи по мере перемещения между источником и местом назначения в сети.
Различные элементы сети в сети связи общаются друг с другом по предопределенным правилам, известным как протоколы. Различные протоколы используются для управления различными аспектами связи, такими как способ формирования сигналов для передачи между элементами сети, различными определениями того, на что должны быть похожи протокольные блоки данных, как протокольные блоки данных должны быть обработаны или направлены через сеть элементами сети, и как обмениваться информацией, например данными о маршруте между элементами сети.
В архитектуре сети Ethernet устройства, соединенные с сетью, конкурируют за возможность совместного использования телекоммуникационных каналов в любой момент времени. Там, где используются многократные мосты или узлы для межсоединения сегменты сети, часто существуют различные потенциальные пути к одному и тому же месту назначения. Преимущество этой архитектуры состоит в том, что она обеспечивает избыточность путей между мостами и позволяет увеличить производительность сети в виде дополнительных каналов. Чтобы предотвратить формирование петель, в основном, используется связующее дерево, чтобы ограничить метод, по которому трафик передается в сеть. Поскольку маршруты изучаются путем широковещательной передачи фреймов и, ожидая ответа, и поскольку как запрос, так и ответ будут следовать за связующим деревом, большая часть трафика будет проходить по каналам, которые были частью связующего дерева. Это часто приводило по использованию каналов, которые были на связующем дереве и к недостаточному использованию каналов, которые не были частью связующего дерева.
Чтобы преодолеть некоторые из ограничений, присущих сетям Ethernet, сеть Образования моста в заявке No.11/537,775, зарегистрированной 2 октября 2006 года был предложен мост опорной сети для провайдера (PLSB) (одним примером является протокол с выявлением маршрутов по состоянию связи в сети Ethernet, названный содержание которого включено здесь в качестве ссылки. PLSB дополнительно описывается в американской патентной заявке No.11/702,263, зарегистрированной 5 февраля 2007 с названием «использование базовой сети многоадресного вещания по протоколу с выявлением маршрутов по состоянию связи в сети Ethernet, содержание которого включено здесь в качестве ссылки.
PLSB использует протокол с выявлением маршрутов по состоянию канала связи, такой как «промежуточная система - промежуточная система» (ISTS), чтобы позволить элементам сети обмениваться маршрутной информацией по состоянию связи. В узлах используется маршрутную информацию о состоянии связи, чтобы вычислить кратчайшие пути через сеть. Поскольку используется кратчайший путь маршрутизация, дерево кратчайшего пути может быть вычислено из каждого узла-источника, чтобы избежать использования протокола связующего дерева с тем, чтобы увеличить использование канала в сети.
Сети MPLS могут быть основаны на сетях Ethernet или на других сетях связи. В сети MPLS протокол обмена сигналами используется, чтобы установить пути с коммутацией по меткам через сеть с тем, чтобы трафик мог быть передан по сети по любому желательному пути. В процессе работы входной узел (краевой маршрутизатор метки или LER для краткости) принимает пакет и определит, по какому пути этот пакет должен пройти через сеть. LER применит внешнюю метку к пакету и передаст его на путь связи с меткой (LSP). Маршрутизаторы коммутатора метки на LSR примут пакет, удалят внешнюю метку, используют внешнюю метку для определения следующего транзитного участка для пакета, применяют новую внешнюю метку к пакету и передают пакет по сети к следующему транзитному участку. Таким образом, внешняя метка заменяется на каждом транзитном участке, при прохождении пакета проходит через сеть, пока пакет не достигнет своего места назначения.
MPLS устанавливает одноадресную связь, устанавливая пути с коммутацией по меткам между парами узлов в сети MPLS. Установка путей с коммутацией по меткам требует, чтобы метки были распределены для каждого из узлов на пути связи тем, чтобы узлы могли договориться о том, какие метки будут использоваться, чтобы разрешить пакету следовать по данному пути через сеть. Протокол, который обычно используется, чтобы установить пути с коммутацией по меткам через сеть MPLS, обычно называется как Протокол распределения меток (LDP), хотя также были разработаны другие протоколы обмена сигналами. Используя механизм обмена сигналами, метки устанавливаются вдоль путей с коммутацией по меткам так, что маршрутизаторы переключателя метки могут считать метку, определить выход для пакета на основе метки и применить новую метку для пересылки пакета по пути через сеть. Протокол обмена сигналами используется, чтобы установить метки и другое соответствующее состояние пересылки трафика по пути. Пути с коммутацией по меткам определяют одноадресную связь в сети MPLS, которая, в основном, устанавливается заранее без выбора.
MPLS также имеет несколько различных типов меток, которые обычно используются при передаче данных. В основном, внешняя метка используется для определения передачи контекста для определенного пакета. Эта метка часто заменяется последовательной маршрутизацией по мере перемещения пакета в сети. Как только пакет достигает участка, где передача контекста становится неявной, эта внешняя метка может быть изъята из пакета, который обычно называется предконечным транзитным участком. Передача контекста обычно считается неявной, по меньшей мере, на один транзитный участок от конечного места назначения пакета, и, следовательно, термин предконечный был использован для обозначения этого процесса. Однако внешняя метка может быть удалена в любой точке вдоль сетевого пути, где маршрут становится неявным. Внешние метки характерны для узла, что означает, что они относятся к определенному узлу в сети. Внешние метки не являются глобально уникальными значениями, а скорее, могут быть использованы в различных частях сети.
MPLS позволяет множеству меток сложиться в пакет. Как упомянуто выше, часто внешняя метка используется для определения пересылаемого контекста для пакета. Внутренняя метка (псевдопроводная метка) часто используется, чтобы разрешить узлам демультиплексировать пакет на выходе из пути с коммутацией по меткам. Чтобы сделать это, узел назначения присваивает псевдопроводную метку каждого экземпляра службы, обрабатываемого этим узлом назначения. Узел назначения затем также дает другим узлам команду применять в сети псевдопроводные метки к пакетам, когда они входят в сеть с тем, чтобы выходной узел мог использовать внутреннюю псевдопроводную метку MPLS для определения, как передать пакет. Таким образом, выходной узел присваивает псевдопроводные метки своим экземпляром службы и координирует с входными узлами, чтобы применить эти псевдопроводные метки к трафику, входящему в сеть. Как и внешние метки, внутренние псевдопроводные метки не являются уникальной сетью, а скорее, уникальны только для определенного выходного узла. Использование внутренних меток позволяет мультиплексировать многие различные потоки данных для передачи по данному объявлению LSP в сети MPLS.
При работе LER применяет как внутреннюю псевдопроводную метку, так и внешнюю метку для передачи пакета на вход сети MPLS. Внешняя метка будет использоваться, для пересылки пакета через сеть, и внутренняя метка может использоваться узлом назначения, для передачи пакета из сети MPLS. Это позволяет входу LER выполнить единственный поиск, позволяет использовать коммутацию по меткам для пересылки пакета через сеть MPLS и позволяет узлу назначения осуществить передачу из сети MPLS, например, в клиентскую сеть.
После того как была установлена одноадресная связь посредством установления полного комплекта LSP через сеть, многоадресная связь может быть создана в верхней части сети MPLS. К сожалению, создание многоадресной связи требует использования различных протоколов обмена сигналами, что делает многоадресную передачу более медленной и подверженную ошибкам. Например, узлы используют протокол типа протокола управления группами Интернет (IGMP), чтобы входить и выходить из группы многоадресной передачи, что заставляет добавлять и удалять узлы из многоадресного дерева. Когда узлы входят и выходят из группы многоадресной передачи, многоадресная связь основана на узлах MPLS. Узлы назначения, которые хотели бы подписаться на многоадресную передачу, посылают уведомление о соединении, и промежуточные узлы используют уведомление о соединении для определения, следует ли установить состояние многоадресной передачи. Создание многоадресных деревьев по одному из этих способов является трудоемким и требует значительного объема вычислений. Соответственно, было бы выгодно обеспечить новый способ реализации многоадресной передачи в сети MPLS.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Уникальные идентификаторы узла в масштабе домена и уникальные идентификаторы службы распределяются в домене MPLS, используя систему маршрутизации LSA. Узлы в сети MPLS вычисляют дерево кратчайшего пути для каждого из узлов и устанавливают состояние одноадресной передачи для каждого узла на основе уникального идентификатора узла в масштабе домена. Узлы также устанавливают многоадресное соединение между узлами, объявляя об общем интересе в идентификаторе службы. Вместо распределения меток, используемых при одноадресной и многоадресной связи, узлы создают метки путем детерминированного вычисления. Метки могут быть либо уникальными в масштабе домена для одноадресного или многоадресного пути, либо могут быть локально уникальными и детерминированно расчетными, чтобы обеспечить передачу контекста для соответствующего пути. Можно использовать любое число меток, хотя в одном примере воплощения используются, по меньшей мере, две метки - одна для службы и одна в источнике для многоадресной передачи, и одна для службы и одна на месте назначения при многоадресной передаче. В рамках детерминированного вычисления может использоваться большое число меток.
Когда пакет получен сетью MPLS, краевой маршрутизатор метки определит место назначения пакета в сети MPLS и прилагает метку к пакету. Там, где метка уникальна в масштабе домена, узлы в сети MPLS передадут пакет в место назначения, не подкачивая метки на каждом транзитном участке в сети. Там, где метка не является уникальной в масштабе домена, узлы могут выполнить подкачку метки для пересылки пакета по сети. Пути многоадресной одноадресной передачи могут быть конгруэнтными, хотя это не является обязательным требованием.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Цели настоящего изобретения, в частности, указаны в приложенной формуле изобретения. Настоящее изобретение раскрыто в примерах его осуществления и иллюстрируется чертежами, на которых одинаковые цифровые позиции обозначают аналогичные элементы. Приложенные чертежи раскрывают различные примеры воплощения настоящего изобретения только в целях иллюстрации и не предназначены ограничить объем изобретения. Для ясности, не все элементы на чертежах имеют цифровые позиции.
Фигура 1 - функциональная блок-схема примера сети связи MPLS, иллюстрирующая уникальную идентификацию узла в масштабе домена на примере узла L сети MPLS;
Фигура 2 - функциональная блок-схема примера сети связи MPLS фигуры 1, иллюстрирующая в качестве примера одноадресную связь, установленную к одному из узлов MPLS, чтобы разрешить всем узлам в сети MPLS передать одноадресный трафик этому узлу сети MPLS;
Фигура 3 - функциональная блок-схема примера сети связи MPLS фигуры 1, иллюстрирующая пример общего экземпляра службы для нескольких узлов MPLS;
Фигура 4 - функциональная блок-схема примера сети связи MPLS фигуры 1, иллюстрирующая пример многоадресной связи, установленной между узлами сети MPLS и интерес к общему экземпляру службы;
Фигура 5 - блок-схема процесса, который может использоваться для установления одноадресной связи в сети MPLS, такой как примерная сеть MPLS, показанная на фигурах 1-4;
Фигура 6 - блок-схема процесса, который может использоваться для установления многоадресной связи в сети MPLS, такой как примерная сеть MPLS, показанная на фигурах 1-4;
Фигура 7 - функциональная блок-схема примерного узла MPLS, который может использоваться для реализации примера воплощения изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
На фигуре 1 показан пример сети связи MPLS, которая будет использоваться для пояснения примера воплощения изобретения. В примере воплощения, показанном на фигуре 1, сеть связи 10 MPLS имеет множество узлов 12, соединенных каналами 14. Сети MPLS обычно выполняют протокол маршрутизации с учетом состояния каналов, такой как протокол маршрутизации с выбором кратчайшего маршрута (OSPF) или «промежуточная система к промежуточной системе» (IS-IS). Система маршрутизации позволяет узлам отослать объявления маршрутизации, чтобы уведомить другие узлы о состояния каналов, с которыми они соединены. Эти объявления маршрутизации будут называться здесь объявлениями о состоянии каналов (LSA), которые описывают локальное состояние маршрутизатора или сети, включая состояние интерфейсов и смежные маршрутизаторы. В основном, LSA идентифицирует не только узел, но также и его соседние узлы. Узел реагирует на объявления LSA и использует информацию, содержавшуюся в LSA, чтобы создать общее мнение о топологии сети MPLS, которая хранится в базе данных состояния канала связи (LSDB). Узлы затем могут использовать базу данных состояния канала связи, чтобы вычислить маршруты через сеть MPLS как это требуется.
В одном примере воплощения узлы используют LSA, для передачи уникального идентификатора узла в масштабе домена, называемого здесь "идентификатором узла" или "TD узла". ID узла уникален и детерминирован в пределах домена. ID узла используется для идентификации источника и пункта назначения. В одном примере воплощения ID узла является меткой MPLS, которая может использоваться любым другим узлом в сети для передачи одноадресного трафика узлу, связанному с этим идентификатором узла. Для одноадресного трафика метка идентифицирует место назначения в сети и может, например, идентифицировать узел назначения. В отличие от этого, для многоадресной передачи, метка определяется узлом-источником и однозначно определяет экземпляр службы MPLS в сети MPLS. Может использоваться любое число меток, хотя в одном примере воплощения используются, по меньшей мере, две контекстных метки - одна для службы и одна для пункта назначения при многоадресной передаче. Можно использовать большее количество меток, поскольку они вычисляются детерминированным способом.
Узлы в сети распределяют уникальные примеры экземпляра службы, которые используются, чтобы вычислить и установить состояние передачи. Состояние одноадресной передачи основано на примере экземпляра службы, которая завершается в узле назначения, тогда как состояние многоадресной передачи основано на примере экземпляра службы, которая происходит в узле-источнике. Состояние одноадресной передачи устанавливается для одноадресного экземпляра службы от каждого узла до намеченного узла назначения вдоль деревьев кратчайшего пути к узлу назначения. Состояние многоадресной передачи устанавливается от узла-источника до любого другого узла, распространяя общий интерес в экземпляре службы. На основе уникальных значений экземпляра службы в масштабе домена, одноадресная и многоадресная связь может быть установлена узлами тем же путем. Кроме того, поскольку интерес в экземпляре службы может быть распространен, используя систему маршрутизации, для установления одноадресной или многоадресной передачи через сеть связи MPLS не требуется отдельного протокола обмена сигналами. Состояния передачи может быть также вычислено детерминированно, чтобы избежать использования протоколов распределения меток. Таким образом, многоадресное и одноадресное соединение для связи могут быть установлены на основе экземпляра службы, и необходимое состояние передачи для экземпляра службы может быть вычислено, а не определено через обмен сигналами. Это позволяет использовать протокол маршрутизации и избавляет от необходимости использовать несколько других протоколов, которые обычно используются в сетях MPLS.
В одном примере воплощения ID узла может использоваться в качестве внешней метки, чтобы обеспечить передачу трафика узлу назначения в сети MPLS. Поскольку ID узла в масштабе домена является уникальным, в этом примере воплощения узлы в сети MPLS могут установить состояние передачи так, что любой пакет, идентификатор метки узла, будет передан вдоль дерева кратчайшего пути к месту назначения. В этом примере воплощения узлам не нужно коммутировать метки при пересечении сети пакетом; скорее, на каждом транзитном участке может использоваться одна и та же метка так, что не потребуется координации между узлами на путях для передачи трафика через сеть MPLS.
В другом примере воплощения, вместо использования значения уникальной метки в масштабе домена для одноадресного трафика к месту назначения, узлы в сети могут создавать метки детерминированно, и эти метки будут использоваться для передачи данных к каждому месту назначения в сети. Как отмечено выше, каждый узел в сети имеет синхронизируемое представление топологии сети и вычисляет дерево кратчайшего пути для каждого узла в сети. Как часть этого вычисления, узел может вычислить метку, которая должна использоваться для передачи трафика на дереве кратчайшего пути. Аналогичным образом, узел может вычислить, какие метки будут использовать его соседи для передачи трафика по дереву к месту назначения. Узлы могут установить состояние передачи для этих меток с тем, чтобы пространство метки могло быть снова использовано в сети. Однако, поскольку метки вычисляются, а не уведомляются, узлы могут не использовать LDP или другой протокол обмена сигналами метки для установления меток LSP в сети.
Например, в узле на фигуре 1 L передает уведомление о состоянии каналов 16, содержащее метку MPLS, которая будет служить идентификатором узла L в сети MPLS. Как показано на фигуре 2, узлы в сети MPLS будут использовать топологию сети из системы маршрутизации для определения дерева кратчайшего пути 18 к каждому узлу в сети. Дерево кратчайшего пути обозначено на фигуре 2 более темными линиями. Когда узлы получат уведомление о состоянии каналов, содержащее идентификатор узла, узлы в сети MPLS будут использовать систему маршрутизации для вычисления дерева кратчайшего пути к узлу, который передал уведомление. Узлы в сети также вычисляют метки, которые будут использованы для передачи трафика вдоль дерева к узлу, передающему состояние установки в его базу данных, обеспечивая передачу пакетов с вычисленными метками MPLS другому узлу. В одном примере воплощения ID узла может быть меткой, которая может использоваться всеми узлами в сети для передачи трафика MPLS к узлу. В этом примере воплощения узлам не нужно будет выполнять подкачку метки, и они могут просто передавать трафик, тегированный идентификатором узла метка MPLS, в узел назначения. При этом требуется, чтобы метка MPLS в масштабе домена была бы уникальной. В другом примере воплощения, если уникальные метки MPLS в масштабе домена не используются, узлы могут вычислить метки, которые будут использоваться для передачи трафика и установленном состоянии передачи, основанном на вычисленных метках. В любом примере воплощения не требуется обмена сигналами для обмена метками в сети.
На фигуре 1 узел L передает уведомление о состояния связи, содержащее ID узла = L. ID узла является меткой MPLS. Каждый узел определяет, находится ли он на дереве кратчайшего пути к узлу L и, если это так, устанавливает состояние передачи, чтобы передать трафик к узлу L. Метка может быть уникальной в масштабе домена и постоянной поперек сети, или узлами могут быть вычислены различные метки, которые затем подкачиваются по мере передачи трафика к месту назначения.
При работе, когда пакет достигает края сети, краевой маршрутизатор метки может выполнить поиск и решить, что пакет должен быть передан узлу L в сети. Краевой маршрутизатор метки затем присоединяет метку для узла L (узел L является идентификатором узла) к пакету и передаст пакет в сеть MPLS. Каждый узел в сети MPLS имеет состояние передачи, которое позволяет узлу передать пакет к узлу L по дереву кратчайшего пути.
Например, если узел А получает пакет 20, он выполняет поиск для определения, как передать пакет в сеть. В этом примере узел А определит, что пакет должен быть передан в узел L. Узел А присоединит метку 22 MPLS к пакету, который идентифицирует узел L, и передаст пакет в сеть. Узел Е получает пакет, считывает метку 22 и передает пакет в узел Н. Отметим, что в этом примере узел Е не заменяет метку, а скорее, использует ту же самую метку. Каждый узел MPLS в сети выполняет один и тот же процесс чтения метки 22 с последующим повторным применением той же самой метки, чтобы позволить пакету использовать эту метку на каждом транзитном участке в сети. Дополнительно метка 22 может быть извлечена в последнем узле Н или в другом месте в сети, где передача становится неявной, способом, аналогичным выборке данных на транзитном участке. Этот пример воплощения обеспечивает относительно простую операцию с точки зрения вычисления метки, поскольку каждый узел использует одну и ту же метку для передачи трафика к месту назначения. Изобретение не ограничивается этим способом, поскольку также могут использоваться другие процессы вычисления метки, которые позволят узлам вычислять метки для передачи трафика на путях MPLS.
Передача уникального ID узла в масштабе домена в виде метки MPLS и использование системы маршрутизации для установления состояния связи для той связки метки/узла позволяют установить одноадресную связь в сети MPLS, не требуя посылки сообщений в сеть об отдельных путях коммутации по меткам. Как правило, узел L должен установить раздельные пути коммутации по меткам с каждым из других узлов в сети. При использовании системы маршрутизации для установления одноадресной связи традиционный обмен сигналами LSP может быть исключен.
Многоадресная связь также может быть осуществлена, вводя понятие экземпляра службы в сеть MPLS. Как он используется здесь, термин "экземпляр службы" относится к группе интереса многоадресной или одноадресной передачи. Узлы в сети могут оповещать об интересе в экземпляре службы для уведомления о состоянии каналов, маршрутизатора или сети, включая смежные маршрутизаторы. Примером экземпляра службы, подобной ID узла, является метка MPLS, которая также является уникальным значением в масштабе домена. Узлы в экземпляре службы уведомляют о своем интересе к экземпляру службы, используя IS-IS уведомления LSA. Хотя идентификатор узла идентифицирует узел назначения, в многоадресном контексте идентификатор экземпляра службы идентифицирует место назначения многоадресной передачи.
Когда узел в сети MPLS получает уведомление LSA, содержащее экземпляр службы, он определяет, является ли это кратчайшим путем между узлом распространения интереса в службе ID и узлом-источником, связанным с экземпляром службы. Любой узел, который находится на кратчайшем пути между местом назначения многоадресной передачи и другим узлом, распространяющим общий интерес в том же самом экземпляре службы, установит состояние передачи для экземпляра службы в своей базе данных по передаче данных. Поскольку экземпляр службы является меткой MPLS, установка состояния передачи для экземпляра службы позволит узлу передавать любые пакеты, тегированные меткой экземпляра службы, по кратчайшему пути через сеть MPLS. Таким образом, многоадресная связь MPLS может быть создана, просто инициируя узлы на уведомление интереса к экземпляру службы. Узлы MPLS в сети затем могут создать пути для многоадресного дерева, не требуя отдельного сообщения в сети о многоадресном дереве. Таким образом, многоадресная передача MPLS может быть установлена так же, как одноадресная передача, используя те же самые механизмы, без использования LDP или другого протокола обмена метками и не требуя использования отдельного протокола управления группой многоадресной передачи, такой как группа IGMP.
Например, на фигуре 3 предполагается, что экземпляр службы 100 является многоадресным потоком трафика, сформированным в узле L. Узел L распространяет интерес к экземпляру службы = 100 с тем, чтобы все узлы в сети знали, что узел L является местом назначения многоадресной передачи с идентификатором экземпляра службы = 100. Идентификатор экземпляра службы является многоадресной меткой, которую узел L будет использовать для передачи многоадресного трафика в сети MPLS.
В примере, показанном на фигуре 3, предполагается, что узел А и узел D хотели бы принять многоадресный трафик, связанный с экземпляром службы = 100. Каждый из этих узлов передает уведомление о состоянии маршрутизатора или сети, содержащее идентификатор экземпляра службы многоадресной передачи, который интересуется присоединением. Соответственно, узлы А и D передадут уведомление LSA, содержащее идентификатор службы = 100. Сообщение о состоянии маршрутизатора или сети будет лавинно рассылаться по сети MPLS. Каждый узел, который принимает уведомление о состоянии маршрутизатора или сети, увидит, является ли это кратчайшим путем между местом назначениям многоадресной передачи и конечной вершиной дерева, описывающим общий интерес в том же самом экземпляре службы. Узел Е, например, определит, что он находится на кратчайшем пути между узлом А и узлом L и установит состояние передачи для многоадресной метки, связанной с экземпляром службы в свою таблицу переадресации. Точно так же, узел Н определит, что он находится на кратчайшем пути между узлом А и узлом L и что он находится на кратчайшем пути между узлом D и узлом L. Соответственно, узел Н установит состояние передачи, чтобы дублировать трафик, принятый от узла L, и формирует два порта - один порт к D и один порт к А. В качестве примера показано многоадресное дерево, обозначенное жирными линиями на фигуре 4.
Каждый узел в сети вычисляет метки службы для многоадресной передачи и соответственно устанавливает состояние передачи для многоадресной передачи. Многоадресная передача может использовать уникальную метку MPLS в масштабе домена, которая однозначно определяет многоадресную передачу в сети MPLS. В этом примере воплощения узлы не должны выполнять подкачку метки, но, скорее, все они могут установить состояние передачи для уникальной метки MPLS в масштабе домена. Альтернативно, узлы могут вычислить метки, которые будут использоваться для многоадресной передачи и установить состояния передачи для вычисленных меток.
Когда узел L получает пакет, который ассоциируется с многоадресной передачей, он присоединяет метку 24 к пакету, чтобы идентифицировать пакет как часть экземпляра службы 100. Кроме того, узел также может присоединить вторую метку, идентифицирующую узел-источник (используя идентификатор узла-источника) и использовать его как внешнюю метку. После присоединения метки узел L передает многоадресный пакет в сеть. Когда узел Н получает пакет, он считывает метку и выполняет поиск, чтобы определить, по какому порту или портам он должен передать пакет. Узел Н определяет, что он должен передать пакет узлу Е и узлу D, тиражирует пакет и выдает пакет на порты к этим узлам. Если для экземпляра службы используется глобально уникальная метка, узел Н применит одну и ту же метку к пакету, как она была присоединена к пакету по прибытии с тем, чтобы пакет использовал бы одну и ту же метку на каждом транзитном участке в сети. С другой стороны, если метки были вычислены детерминированным способом, узел подкачивает и первоначальную метку для новой метки, прежде чем передать пакет в сеть. Там, где состояние передачи неявно, например в линии между узлом Н и узлом D, метка может быть извлечена. Передача может быть выполнена на основе только одной служебной метки или на основе комбинации служебной метки и первоначальной метки, если используется исходная метка.
Согласно одному примеру воплощения изобретения метки службы, используемые для создания многоадресной и одноадресной передачи вычисляются детерминированно. Это позволяет создать пути MPLS, не требуя сообщений о путях по отдельному протоколу обмена сигналами - для установления и удаления пути может быть использован протокол маршрутизации. В одном примере воплощения многоадресная передача MPLS использует пространство метки для каждого корня дерева. При этом используется метка, определяющая восходящий поток. Источник должен быть обозначен уникальным идентификатором, который помещается в пространство метки MPLS, используя не более 20 битов. Пространство метки идентифицируется контекстом, который может быть внешней меткой. Узел может вычислить внешнее пространство метки на узел-источник из пространства платформы. Каждый узел вычисляет идентификатор узла так, чтобы идентификатор узла создавался на всех местах назначения.
Многоадресная операция: многоадресные пакеты включают две метки: внешнюю метку от пространства платформы, которое является одним и тем же на всех узлах, и внутреннюю метку, которая обеспечивает источник "идентификатора узла". Внутренняя метка является меткой в масштабе домена. Внутренняя метка основана на источнике и устанавливается только на узлах в домене, которые поддерживают это многоадресное дерево. Уникальная внутренняя метка в масштабе домена основана на "идентификаторе службы".
Все узлы вычисляют кратчайшие пути для всех пар, создающих дерево из каждого источника. Когда узел находится на кратчайшем пути между двумя местами назначения, определяющими интерес к определенному экземпляру службы, узел устанавливает пространство метки для узла-источника и каждого идентификатора службы, который проходит через узел.
Операция передачи включает чтение многоадресного контекста MPLS и поиск пространства метки источника на основе идентификатора узла. Внешняя метка может быть удалена, и вторая (внутренняя) метка определяет набор выходных портов. Внешняя метка может быть снова введена, и пакет тиражируется для каждого исходящего порта.
Одноадресная операция: одноадресные пакеты также включают те же самые две метки. Внешняя метка является уникальной меткой в масштабе домена, основанной на месте назначения "идентификатор узла". Альтернативно, метки на одноадресном пути могут быть вычислены детерминированно. Внутренняя метка основана на месте назначения и проверяется только на выходе.
Все внутренние и внешние метки и/или контексты меток распределяются через IS-TS. Все узлы вычисляют кратчайшие пути для всех пар, создавая дерево из каждого источника. Когда узел находится на кратчайшем пути между двумя местами назначения, узел устанавливает целевую метку для узла назначения, если идентификатор службы является общим. Идентификаторы службы могут быть идентифицированы как место назначения или входят в плоскость управления и, следовательно, могут создать однонаправленный трафик. Службы могут объединять многочисленные идентификаторы службы. Идентификаторы службы могут быть связаны с уникальными идентификаторами топологии.
Кроме того, в одном примере воплощения, одноадресные пути будут конгруэнтными по отношению к многоадресной передаче, если все вычисления являются уникально детерминированными. Изобретение не ограничивается этим способом, и могут использоваться различные процессы определения путей через сеть для одноадресной передачи, в отличие от их использования для многоадресной передачи. Хотя использовались деревья кратчайшего пути, это работает на всех видах деревьев, которые является детерминированными. Таким образом, вместо деревьев кратчайшего пути могут использоваться другие типы детерминированных деревьев. Кроме того, доступен многопутевой принцип, если некоторые из битов метки "идентификатора узла" используются для идентификации различных путей, создающих идентификаторы для равных деревьев.
Спроектированная для трафика сеть MPLS, может использовать метки, подобные меткам для многоадресной передачи, которые определяют метки от точки к точке или от точки к множеству точек. Пространство метки службы должно быть разделено, чтобы обеспечить спроектированные службы трафика. Метки службы могут быть определены как источник и приемник, и так же как спроектированный трафик или не спроектированный трафик. Дополнительная информация о пропускной способности и путях должна быть включена в уведомление о состоянии каналов, чтобы спроектированные пути трафика могли быть использованы в этой сети.
Организация идентификатора службы, которая используется для многоадресной и для одноадресной передачи, и последующее отображение служб по краю этих групп обеспечивают топологию многоадресной передачи от пуска, а не впоследствии.
Создание экземпляров службы позволяет описать службу многоадресной передачи как упрощенный обмен сигналами (то есть, используя локальное состояние маршрутизатора или сети, включая состояние интерфейсов и смежные маршрутизаторы IS-IS). Перемещение всего уведомления групп службы в состояние связи позволяет модели переместиться от текущей модели обмена сигналами к модели вычисления, обеспечивающей быструю сходимость без обмена сигналами. Теперь MPLS использует протоколы распределения меток для создания пути с коммутацией по меткам. При использовании экземпляров службы можно устранить обмен сигналами для распределения меток, чтобы обеспечить модель службы, подобную модели Ethernet, приспособленной для многоадресной и одноадресной передачи, и гарантировать надлежащую связь через Ethernet по протоколу РВВ с ядром MPLS.
На фигуре 5 показана блок-схема процесса установления одноадресной связи в сети MPLS согласно одному примеру воплощения изобретения. Как показано на фигуре 5, узлы в сетях MPLS (100) обмениваются уведомлениями о состоянии маршрутизатора или сети, позволяющее каждому узлу иметь синхронизированное представление о топологии сети. Каждому узлу в сети присваивается идентификатор узла в масштабе домена (метка MPLS), который будет использоваться для передачи одноадресного трафика этому узлу (102). Узлы распространяют свой идентификатор узла, используя сообщение, описывающее локальное состояние маршрутизатора или сети, (104), и узлы в сети вычисляют дерево кратчайшего пути к каждому узлу (106). Затем узлы устанавливают состояние передачи на дереве кратчайшего пути, чтобы обеспечить одноадресный трафик, содержащий идентификатор узла назначения, как метку, передаваемую по дереву кратчайшего пути к месту назначения (108). Идентификатор узла может быть использован на метке передачи, или узел может детерминированно вычислить метки передачи, которые будут использоваться восходящим узлом на дереве и детерминированно вычислить метку передачи, которую он должен использовать для передачи трафика к месту назначения. Когда пакет получен на входе в сеть MPLS, метка назначения будет присоединена к пакету (110). Эта метка будет основана на идентификаторе узла назначения. Затем входной узел передает пакет в сеть MPLS, и узлы на дереве кратчайшего пути передадут пакет через сеть MPLS к выходному узлу (112).
На фигуре 6 показана блок-схема процесса установления многоадресной связи в сети MPLS согласно другому примеру воплощения изобретения. Как показано на фигуре 6, идентификатор службы в масштабе домена присваивается каждой многоадресной передаче, которая будет выполнена в сети MPLS (120). Каждый узел, который хочет участвовать в многоадресной передаче, распространяет идентификатор службы, используя уведомление о состоянии маршрутизатора (122). Узлы заранее вычисляют деревья кратчайшего пути для определения, являются ли они кратчайшими путями между многоадресным источником и одним или несколькими узлами, заявляющими об интересе к многоадресной передаче (124). Любой узел на кратчайшем пути между двумя узлами, объявляющими об общем интересе в том же самом экземпляре службы, устанавливает состояние передачи для этого экземпляра службы (126). Когда прибывает трафик, предназначенный для пересылки в многоадресном дереве, входной узел присоединит метку многоадресной службы к каждому пакету и передаст пакеты в сеть MPLS (128). Узлы в сети MPLS будут использовать состояние передачи для многоадресной передачи, чтобы выборочно передать многоадресный трафик по сети MPLS от узла-источника до других узлов, заинтересованных в получении этого трафика (130).
На фигуре 7 показана схема функционального блока примерного элемент сети MPLS. Как показано на фигуре 7, элемент сети MPLS включает функцию маршрутизации 70, которая получает уведомление о состоянии каналов, описывающее локальное состояние маршрутизатора или сети связи от других узлов и использует уведомление о состояние маршрутизатора или сети для сообщения о формировании базы данных о состоянии связи 72. База данных о состоянии связи содержит информацию о топологии сети и используется сетевым элементом для вычисления деревьев кратчайшего пути с корнями в каждом узле сети.
Согласно еще одному примеру воплощения изобретения функция маршрутизации также получает информацию о метке из сообщений о состоянии связи и использует информацию о метке для программирования функции передачи 74. Информация о метке включает идентификаторы узлов, которые являются метками, идентифицирующими узлы в сети, и идентификаторы службы, которые являются примерами экземплярами службы идентификации меток в сети.
Когда функция маршрутизации получает уведомление о состоянии маршрутизатора или сети, содержащее идентификатор узла, она устанавливает состояние передачи в функцию передачи, чтобы передать трафик, отмеченный идентификатором узла, соответствующему порту выхода с тем, чтобы трафик следовал по дереву кратчайшего пути в узел назначения в сети. В процессе этой операции функция передачи считывает метку для определения следующего транзитного участка для трафика и передает трафик функции организации очередей 76 для соответствующего порта, который соединяется со следующим транзитным участком. Метка службы может быть передана функции передачи или функции организации очередей до передачи пакета.
Когда функция маршрутизации получает уведомление о состоянии маршрутизатора или сети, содержащее идентификатор службы, она обновляет свою базу данных о состояния связи, чтобы включить связь между идентификатором службы и узлом, который выдал уведомление о состоянии маршрутизатора или сети. Функция маршрутизации также будет искать свою базу данных о состоянии связи с другими узлами, которые также выразили интерес к этому идентификатору службы. Затем узел устанавливает состояние передачи для экземпляра службы в передающую функцию всякий раз, когда узел находится на дереве кратчайшего пути между двумя узлами, продвигая общий интерес в этом же экземпляре службы.
Там, где элемент сети 12 является краевым маршрутизатором метки, функция маршрутизации также может поддерживать базу данных метки 78, которая будет использоваться функцией инкапсуляции 80, чтобы отмечать трафик по мере его прохождения в сети. Когда пакет достигнет сетевого элемента 12 за пределами сети MPLS, пакет будет классифицирован и к нему будет присоединена метка. Там, где пакет является одноадресным пакетом, для одноадресного пакета будет получена метка назначения и добавлена функцией инкапсуляции. Там, где пакет является многоадресным пакетом, метка назначения будет получена для многоадресного пакета и добавлена функцией инкапсуляции. Кроме того, функция инкапсуляции может также добавить одну или несколько внутренних меток к пакету. Инкапсулированный пакет затем будет отправлен передающей функции, которая будет передана на соответствующий порт в сеть MPLS.
Описанные выше Функции, могут быть реализованы как ряд команд программы, которые сохраняться в считаемой компьютером памяти, и выполняются на одном или нескольких процессорах материнской платы компьютера. Однако для квалифицированного специалиста ясно, что вся описанная здесь логика может быть реализована, используя дискретные компоненты, интегральные схемы, такие как специализированная интегральная схема (ASIC), программируемая логика, используемая в комплекте с программируемым логическим устройством, таким как вентильная матрица, программируемая пользователем (FPGA) или микропроцессор, конечный автомат или любое другое устройство, включая любую их комбинацию. Программируемая логика может быть установлена временно или постоянно в материальном носителе, таком как микросхема постоянной памяти, память компьютера, диск, или другой носитель. Все такие примеры воплощения входят в объем настоящего изобретения.
Следует понимать, что могут быть сделаны различные изменения и модификации примеров воплощения, показанных на чертежах и описанных в описании изобретения, не выходя из духа и объема настоящего изобретения. Соответственно, все признаки, содержащиеся в вышеупомянутом описании и показанные на сопроводительных чертежах, должны быть интерпретированы в иллюстративном, а не в ограничивающем смысле.