Отсутствие исходящего маркера
Когда помеченный IP-пакет следует по LSP-маршруту, неожиданно может возникнуть ситуация, при которой IP-пакет достиг LSR-маршрутизатора, не выполняющего ILM-процедуру отображения входного маркера из этого IP-пакета в NHLFE-запись, даже если входящий маркер является корректным. Такая ситуация может возникнуть, либо вследствие условий переходного процесса, либо вследствие ошибки в LSR-маршрутизаторе, который должен быть на следующем РУ для IP-пакета.
В таких случаях весьма заманчивой становится процедура удаления набор меток и попытка доставить IP-пакет дальше с помощью традиционной процедуры ретрансляции, основываясь при этом только на заголовок сетевого уровня (IP-заголовок). Однако, такая процедура, в общем, не безопасна, так как:
§ если IP-пакет следует по LSP-маршруту на основе явной маршрутизации, то в результате мог бы образоваться петлевой маршрут;
§ IP-заголовок может содержать не достаточно информации для его обработки соответствующим LSR-маршрутизатором, чтобы IP-пакет был ретранслирован корректно.
До тех пор, пока не определено, что делать в указанных ситуациях (а это в данном документе не рассматривается), самым надёжным и безопасным способом является удаление IP-пакета.
Время жизни IP-пакета (Time-to-Live, TTL)
При обычной ретрансляции IP-пакета, последний содержит в IP-заголовке поле «Time-To-Live» (время жизни) с некоторым значением. Всякий раз, когда IP-пакет «проходит» через маршрутизатор, значение в TTL-поле IP-заголовка этого пакета уменьшается на единицу. Если TTL-поле обнулилось ещё до того, как IP-пакет достиг своего получателя, то IP-пакет уничтожается.
Такой подход обеспечивает некоторый уровень защиты от возникновения петлевых маршрутов, которые могут появиться, либо вследствие ошибочных настроек, либо вследствие ошибки в алгоритме маршрутизации, либо вследствие медленной сходимости последнего. Иногда TTL-поле используется и в других целях, например, в целях применения групповой IP-адресации и поддержки управляющей команды «traceroute» (трассировка (прокладка) маршрута). Из этого следует, что существуют две проблемы, связанные с использованием TTL-поля, которые необходимо решить в рамках MPLS-архитектуры:
i. TTL-поле используется для предотвращения петлевых маршрутов;
ii. TTL-поле используется для реализации других функций, например, ограничение времени существования IP-пакета.
Когда IP-пакет «продвигается» по LSP-маршруту, тогда необходимо сохранять именно то значение в TTL-поле, которое могло быть в IP-заголовке, если бы IP-пакет доставлялся через ту же самую последовательность маршрутизаторов, но без MPLS-коммутации. Если IP-пакет «продвигается» по иерархической последовательности из LSP-маршрутов, то общее число промежуточных («встречающихся на маршруте») LSR-маршрутизаторов должно отражаться в TTL-поле этого IP-пакета, когда первоначальное значение в этом TTL-поле было выбрано на основе иерархической последовательности из LSP-маршрутов.
Способ контроля значения в TTL-поле может варьироваться в зависимости от того, каким образом доставляется значение MPLS-маркера, либо с помощью специализированного подзаголовка (вставки) MPLS-коммутации («shim», RFC-3032), либо с помощью заголовка канального уровня (например, ATM-заголовок, RFC-3035, или FR-заголовок, RFC-3034).
Если значения маркеров потока закодированы и размещены в специализированном MPLS-подзаголовке, находящемся между заголовками канального и сетевого уровней, то в MPLS-подзаголовке должно содержаться TTL-поле, значение которого должно быть первоначально установлено путём копирования значения из TTL-поля заголовка сетевого уровня, должно уменьшаться на единицу при прохождении каждого ретрансляционного (промежуточного) LSR-маршрутизатора, и должно копироваться в TTL-поле заголовка сетевого уровня, когда IP-пакет «покидает» свой LSP-маршрут.
Если значения маркеров потока закодированы и размещены в заголовке канального уровня (например, в поле «VPI/VCI» ATM-заголовка адаптации, «AAL5»), и помеченные IP-пакеты транслируются коммутатором канального уровня (например, АТМ-коммутатор), а модуль канального уровня (например, АТМ-модуль) не предусматривает обработку TTL-поля, то исключается возможность уменьшения значения в этом TTL-поле на единицу при прохождении каждого промежуточного LSR-маршрутизатора. Интервал LSP-маршрута, включающий последовательность LSR-маршрутизаторов, которые не могут уменьшать значение в TTL-поле на единицу, будем называть «интервалом (сегментом/участком) LSP-маршрута без обработки TTL-поля».
Когда IP-пакет покидает интервал LSP-маршрута без обработки TTL-поля, тогда, тем не менее, целесообразно, чтобы TTL-поле присутствовало, а его значение отображало число пройденных IP-пакетом LSR-маршрутизаторов. В случае однонаправленной адресации, это может быть обеспечено за счёт распространения протяжённости основного LSP-маршрута тем входным сетевым узлам, которые позволяют снизить значение в TTL-поле еще до того, как транслируемые IP-пакеты «попадут» в сегмент LSP-маршрута без обработки TTL-поля.
Иногда указанное требование (число LSR-маршрутизаторов, пройденных IP-пакетом) может быть обеспечено и после поступления IP-пакета в сегмент LSP-маршрута без обработки TTL-поля, в котором значение TTL-поля истечёт ещё до того, как IP-пакет достигнет выхода из этого сегмента. В таком случае, LSR-маршрутизатор на входе участка LSP-маршрута без обработки TTL-поля обязан не осуществлять коммутацию IP-пакета на основе маркеров потока. Это означает, что должны быть разработаны специализированные процедуры для реализации функции трассировки маршрута, например, IP-пакеты для прокладки маршрута могут доставляться с помощью традиционной поузловой коммутации и доставки.
Дата добавления: 2016-04-11; просмотров: 540;