Обработка сообщений FR/LSR-коммутаторов
Использование DLCI-идентификаторов
MPLS-коммутация реализуется путём привязки маркеров к маршрутам, а также на основе использования значения маркера для доставки пакетов, включая определение значения любого заменяемого маркера. При использовании FR/LSR-коммутаторов верхний (текущий) MPLS-маркер доставляется в DLCI-поле заголовка FR-кадра. Верхний маркер содержит информацию в неявной форме о протоколе сетевого уровня.
Если два FR/LSR-коммутатора соединены друг с другом, то для функционирования LDP-протокола (Label Distribution Protocol) должно быть организовано полностью дуплексное соединение. DLCI-идентификатору, используемого в интересах виртуального соединения (Virtual Circuit, VC) LDP-протокола, присваивается значение с помощью процедуры настройки, аналогично настройке DLCI-идентификатора, используемого между коммутаторами при функционировании протоколов IP-маршрутизации.
За исключением этого настраиваемого значения параметра, значения DLCI-идентификатора, используемого в MPLS-системах в обоих направлениях канала передачи данных, могут рассматриваться как относящиеся к двум независимым диапазонам, т.е. каждое направление имеет свой собственный DLCI-идентификатор (VC-соединения могут быть полудуплексными).
Допустимые диапазоны и длина DLCI-идентификаторов, а также способность слияния VC-соединений, должны устанавливаться с помощью сообщений LDP-протокола. Следует заметить, что диапазон DLCI-идентификаторов, используемых для маркеров потока, зависит от длины DLCI-поля.
Однородные LSP-маршруты
Если < LSR1, LSR2, LSR3 > является LSP-маршрутом, то можно предположить, что LSR1, LSR2 и LSR3 будут использовать один и тот же способ кодирования при доставке IP-пакета P от LSR1 до LSR2 и далее до LSR3. Такой LSP-маршрут является однородным.
Неоднородные LSP-маршруты
Если < LSR1, LSR2, LSR3 > является LSP-маршрутом, то можно предположить, что LSR1 будет использовать один способ кодирования при доставке IP-пакета P от LSR1 до LSR2, а LSR2 — другой способ кодирования при доставке IP-пакета P до LSR3. В целом, MPLS-архитектура допускает использование LSP-маршрутов с различными видами кодирования на разных РУ. После получения помеченного IP-пакета, LSR-маршрутизатор обязан декодировать его с целью определения текущего значения в наборе маркеров, а затем — проанализировать набор маркеров с целью определения значение нового маркера для набора, после чего — закодировать соответствующим образом значение нового маркера, и в последующем — отправить помеченный IP-пакет на следующий РУ.
Естественно, существуют MPLS-сети, в которых функционируют комбинированные FR/LSR-коммутаторы и обычные LSR-маршрутизаторы, при этом последние использовать различные типы MPLS-вставки, например, универсальная MPLS-вставка (заголовок с MPLS-вставкой) или ATM-вставка. В таких сетях могут функционировать LSR-маршрутизаторы, имеющие FR-интерфейсы и интерфейсы для универсальной MPLS-вставки. Примером сказанного является LSR-маршрутизатор, реализующий различные способы кодирования маркеров потока на разных РУ одного и того же LSP-маршрута. Такой LSR-маршрутизатор может удалить кодовый FR-маркер на входном интерфейсе, а на выходном интерфейсе вставить универсальную MPLS-вставку.
Обнаружение и предотвращение петлевых LSP-маршрутов
FR/LSR-коммутаторы должны взаимодействовать со свободными FR/LSR-коммутаторами или FR-сегментами LSP-маршрутов, приводящими к петлевым маршрутам. Более того, FR/LSR-коммутаторы должны использовать соответствующие способы и средства выявления и предотвращения петлевых маршрутов.
Обнаружение FR/LSR-коммутаторов, приводящих к петлевым маршрутам (обработка TTL-времени в MPLS-системах). В MPLS-системах TTL-значение, содержащееся в наборе маркеров, представляет собой способ, который используется для:
a) предотвращения петлевых маршрутов;
b) ограничения области действия IP-пакета.
Когда IP-пакет следует по LSP-маршрутe, он должен завершить маршрут с таким же TTL-значением, которое он мог бы иметь, если бы проследовал через такую же последовательность маршрутизаторов, но не использующих MPLS-коммутацию. Если IP-пакет следует по иерархической совокупности LSP-маршрутов, то общее число РУ должно отображаться в TTL-значении этого IP-пакета, когда последний покидает такой иерархический маршрут.
В MPLS-системах начальное TTL-значение размещается в новой записи, вставляемой в набор маркеров. Это начальное TTL-значение изымается из предшествующего (ранее используемого) TTL-поля, которое было представлено, либо в заголовке сетевого уровня, если набор маркеров ранее отсутствовал, либо из ранее существовавшей записи на более низком уровне в наборе маркеров.
FR/LSR-коммутаторы, транслируя помеченные IP-пакеты с помощью маркеров одного уровня, не уменьшают значение в TTL-поле. Последовательность таких FR/LSR-коммутаторов образует сетевой сегмент без контроля TTL-поля (non-TTL segment)
Когда IP-пакет выходит из сетевого сегмента, не контролирующего TTL-поле, тогда всё-таки целесообразно отобразить в TTL-поле число РУ, пройденных этим IP-пакетом. В случае использования однонаправленного адреса, это можно обеспечить путём распространения реальной протяжённости LSP-маршрута или протяжённость сетевого LSP/FR-сегмента до выходных FR/LSR-узлов, способных уменьшить значение в TTL-поле, прежде чем IP-пакеты будут доставлены в сетевой сегмент, не контролирующий TTL-поле.
Если входной FR/LSR-коммутатор, при уменьшении TTL-значения в рамках MPLS-системы, определит, что TTL-значение соответствующего IP-пакета будет просрочено ещё до его выхода из сетевого сегмента, не контролирующего TTL-поле, то FR/LSR-коммутатор обязан не транслировать этот IP-пакет с помощью MPLS-коммутации, а следовать рекомендациям, представленным в RFC-3032, и попытаться направить ответное сообщение об ошибке IP-узлу отправителю этого IP-пакета, т.е.:
1) он интерпретирует IP-пакет, как просроченный, и направляет ответное ICMP-сообщение отправителю этого просроченного IP-пакета;
2) он транслирует далее IP-пакет, как не помеченный, и содержащий TTL-значение, которое соответствует TTL-значению, указанному в заголовке сетевого уровня.
Если входное TTL-значение равно единице, то реализуется только первое правило, рассмотренное выше.
В случае групповой адресации, реальная протяжённость LSP-маршрута или протяжённость сетевого LSP/FR-сегмента распространяется до выходного FR/LSR-узла, который способен уменьшить значение в TTL-поле, прежде чем IP-пакеты будут доставлены в сетевой сегмент, не контролирующий TTL-поле.
Вычисление TTL-времени в MPLS-системах. Вычисление входного TTL-значение (input TTL), которое в последующем становится выходным TTL-значением (output TTL), зависит от:
i. входной вставки (input encapsulation);
ii. доставляемой вставки (forwarding encapsulation);
iii. выходной вставки (output encapsulation).
Связь между этими тремя значениями может быть представлена как функция D от входной (ie), доставляемой (fe) и выходной вставок (oe). Соответственно, вычисление входного TTL-значение (TTLвх), которое в последующем преобразуется в выходное TTL-значение (TTLвых), может быть определено следующим образом:
TTLвых = TTLвх – D(ie, fe, oe) ,
или в краткой форме:
TTLвых = TTLвх – d ,
где d может принимать три значения: «0», «1» или число РУ в сегменте LSP-маршрута.
В таблице № 35.1 представлены значения d для передачи с использованием однонаправленного адреса.
Число РУ в сегменте LSP-маршрута представляет собой значение «счётчика РУ», которое добавляется в маркер потока, используемый при доставке IP-пакета. Если LDP-протокол обеспечивает функцию «счётчик РУ», то значение последнего доставляется в составе маркера потока по LSP-маршруту (т.е. в составе LDP-сообщение имеется поле «hop count object»). Если же LDP-протокол не обеспечивает функцию «счётчика РУ» или обеспечивает поддержку «неизвестного значения» (unknown value), то значение «счётчика РУ в сегменте LSP-маршрута» равно единице.
Таблица № 35.1
d | Тип повторного обрамления на входе | Тип повторного обрамления при доставке | Тип повторного обрамления на выходе |
Ретрансляция кадров | Ретрансляция кадров | Ретрансляция кадров | |
Любое | Универсальная MPLS-вставка | Универсальная MPLS-вставка | |
Число ретрансляционных участков в сегменте LSP-маршрута | Любое | Универсальная MPLS-вставка или IP-протокол (сетевой уровень) | Ретрансляция кадров |
Когда транслируется привязанный к восходящему трафику маркер, тогда «счётчик РУ» связан с соответствующей привязкой к нисходящему трафику. И если значение счётчика отличается от «неизвестного значения», то оно должно быть уменьшено на единицу, а результат вычитания будет транслироваться с восходящим трафиком в качестве значения счётчика, связанного с новым маркером этого потоку («неизвестное значение» счётчика транслируется без изменений). Если новое значение «счётчика РУ» превышает допустимое максимальное значение, то FR/LSR-коммутатор не должен передавать помеченный восходящий трафик, но вместо этого обязан направить сообщение об ошибке в составе восходящего потока.
В таблице № 35.2 представлены значения d для передачи с использованием групповой адресации.
Обозначим доставляемую вставку (forwarding encapsulation) символом «I» при использовании IP-сетей (сетевой уровень), «G» при использовании универсальной MPLS-вставки и «F» при использовании MPLS-коммутации на основе FR-сетей. Аналогично, обозначим LSR-интерфейс символом «i», если входная или выходная вставка относится к сетевому уровню (IP-сеть) и не откосится к MPLS-вставке, «g», если входная или выходная вставка является универсальной MPLS-вставкой, «f», если используется MPLS-коммутация на основе FR-сети, «a», если используется MPLS-коммутация на основе ATM-сети. Кроме этого, в дальнейшем будем использовать следующие символы «iIf», «gGf », «fFf» и т.п. для обозначения LSR-маршрутизаторов, которые осуществляют необходимые входные, доставляемые и выходные вставки, имеющие рассмотренное выше кодирование.
Таблица №35.2
d | Тип повторного обрамления на входе | Тип повторного обрамления при доставке | Тип повторного обрамления на выходе |
Ретрансляция кадров | Ретрансляция кадров | Ретрансляция кадров | |
Любое | Универсальная MPLS-вставка или IP-протокол (сетевой уровень) | Ретрансляция кадров | |
Число ретрансляционных участков в сегменте LSP-маршрута | Ретрансляция кадров | Универсальная MPLS-вставка или IP-протокол (сетевой уровень) | Любое |
На рис. 35.4 и 35.5 представлены примеры однородного (homogeneous) и неоднородного (heterogeneous) LSP-маршрутов (соответственно), в которых используется рассмотренное выше кодирование.
На рис. 35.6 и 35.7 приведены примеры расчёта TTL-значения на входе LSP-маршрута на базе FR-сети при использовании однонаправленного адреса и на выходе LSP-маршрута на базе FR-сети при использовании групповой адресации, соответственно.
Обработка маркеров потока входными FR/LSR-коммутаторами
Если IP-пакет впервые «попадает» в сетевой MPLS-сегмент, то он отправляется с помощью стандартных процедур доставки сетевого уровня, за исключением выходной вставки набора MPLS-маркеров, включающего, по крайней мере, одну запись (RFC-3032).
TTLIP = n |
TTLIP = TTLMPLS - 1 = n - 6 |
TTLMPLS = n - 5 |
fIi |
fFf |
fFf |
fFf |
fFf |
Номер ретрансляционного участка |
iIf |
Рис. 35.4. Пример однородного LSP-маршрута
«Нулевая» FR-вставка содержит информацию о протоколе сетевого уровня, которая в неявном виде транслируется в составе маркера потока. При этом последний должен быть связан только с указанным сетевым протоколом.
TTL-поле, расположенное в верхней записи набора маркеров, заполняется в соответствие с аналогичным полем в заголовке сетевого уровня (либо «TTL», либо «Hop Limit»), значение которого было получено после доставки (и обработки IP-заголовка) на сетевом уровне (RFC-3032). Последующая обработка FR/LSR-коммутатором идентична в двух следующих возможных случаях:
a) однородный LSP-маршрут — только FR-сеть — FR/LSR-коммутатор является входным;
b) не однородный LSP-маршрут — LSP-маршрут формируется из сетевых FR- , PPP- , ATM- , Ethernet- и других сегментов — FR/LSR-коммутатор является входом в сетевой FR-сегмент.
Для IP-пакетов с однонаправленными адресами, TTL-значение в MPLS-системах должно уменьшаться на число РУ, либо однородного LSP-маршрута на основе FR-сети, либо сетевого FR-сегмента неоднородного LSP-маршрута. Программный LDP-модуль (LDP-протокол), отвечающий за формирование LSP-маршрута, обязан направлять входному FR/LSR-коммутатору всю необходимую информацию, касающуюся числа РУ сетевого сегмента, не контролирующего TTL-поле.
Для IP-пакетов с групповой адресацией, TTL-значение в MPLS-системах должно уменьшаться на единицу. Программный LDP-модуль, отвечающий за формирование LSP-маршрута, обязан направлять выходному FR/LSR-коммутатору всю необходимую информацию, касающуюся числа РУ сетевого сегмента, не контролирующего TTL-поле.
В дальнейшем, IP-пакет, «помещённый» в FR-кадр, который используется в MPLS-системе, направляется по каналу передачи данных, и при этом FR-кадр включает верхний маркер, расположенный в поле выходного DLCI-идентификатора. FR-кадр, используемый в MPLS-системе и содержащий IP-пакет, доставляется по виртуальному FR-соединению следующему LSR-маршрутизатору.
Обработка маркеров потока магистральными FR/LSR-коммутаторами
На выходе FR/LSR-коммутатора текущий (верхний) MPLS-маркер размещается в DLCI-поле заголовка FR-кадра. Также как и в стандартной FR-сети, поступивший на интерфейс FR-кадр содержит в своём заголовке входной DLCI-идентификатор, который просматривается в DLCI-БД (база данных, содержащая информацию о DLCI-идентификаторах), и затем заменяется на выходной DLCI-идентификатор. И после этого, вновь сформированный FR-кадр транслируется через выходной интерфейс (доставляется по РУ на следующий сетевой узел).
Информация о текущем маркере также транслируется в верхней записи набора маркеров. В записи верхнего уровня все поля имеют текущее значение,
кроме данных о маркере, которые доставляются в заголовке FR-кадра и заменяются при прохождении каждого FR/LSR-коммутатора.
TTLвых = TTLвх - 4 |
3/2 |
4/3 |
Номер ретрансляционного участка |
TTLвых = TTLвх - 3 |
Рис. 35.6. Пример расчёта TTL-значения на входе LSP-маршрутов на базе FR-сети
при использовании однонаправленного адреса
TTLвых = TTLвх - 3 |
Номер ретрансляционного участка |
TTLвых = TTLвх - 4 |
Рис. 35.7. Пример расчёта TTL-значения на выходе LSP-маршрутов на базе FR-сети
при использовании групповой адресации
Обработка маркеров потока выходными FR/LSR-коммутаторами
Когда FR-кадр достигает конечной точки LSP-маршрута, FR/LSR-коммутатор удаляет набор маркеров. Если удалённый маркер был последним маркером, то необходимо определить соответствующий протокол сетевого уровня, пакет которого транслировался по LSP-маршруту. Набор маркеров не содержит информации в явной форме, по которой можно определить протокол сетевого уровня. Это должно следовать из значения маркера, который удаляется из набора маркеров.
Если удалённый маркер не был последним маркером, то предыдущее TTL-значение верхнего уровня набора MPLS-маркеров отображается в новой верхней записи этого набора.
Если FR/LSR-коммутатор является выходом сетевого FR-сегмента гибридного LSP-маршрута, и в тоже время конечная точка сетевого FR-сегмента не является конечной точкой LSP-маршрута, то MPLS-пакет будет обработан на основе NHLFE-записи (Next Hop Label Forwarding Entry) с целью его дальнейшей доставки по следующему РУ LSP-маршрута (RFC-3031). Значение выходного маркера также извлекается из NHLFE-записи, а TTL-значение MPLS-системы уменьшается на соответствующую величину, зависящую от выходного интерфейса или типа ретрансляционной процедуры. Далее MPLS-пакет доставляется в соответствие с MPLS-требованиями для конкретного канала связи следующего РУ (сетевого сегмента) LSP-маршрута.
Для IP-пакетов с однонаправленными адресами, TTL-значение в MPLS-системах должно уменьшаться на единицу, если выходной интерфейс является универсальным MPLS-интерфейсом, или на число РУ следующего сетевого ATM-сегмента неоднородного LSP-маршрута, если выходной интерфейс является ATM-интерфейсом, не контролирующим TTL-поле (non-TTL).
Для IP-пакетов с групповой адресацией, TTL-значение в MPLS-системах должно уменьшаться на число РУ сетевого FR-сегмента, являющегося выходным. Программный LDP-модуль, отвечающий за формирование LSP-маршрута, обязан направлять выходному FR/LSR-коммутатору всю необходимую информацию, касающуюся числа РУ сетевого FR-сегмента, не контролирующего TTL-поле.
Дата добавления: 2016-01-03; просмотров: 618;