Выталкивание» на предпоследнем РУ
Если последовательность маршрутизаторов < R1, … , Rn > является LSPm для IP-пакета P, последний может быть доставлен из Rn-1 в Rn, имея в своём составе набор маркеров с (m - 1)-глубиной. Т.е., скорее всего набор маркеров может быть «вытолкнут» в предпоследнем (penultimate) LSR-маршрутизаторе LSP-маршрута, чем на выходе LSP-маршрута.
С точки зрения архитектуры, это вполне приемлемо. Целевое назначение маркера m-уровня является получение IP-пакета LSR-маршрутизатором Rn. После того, как Rn-1 примет решение о передаче IP-пакета Rn, маркер больше не выполняет никакой функции, и поэтому нет смысла доставлять его дальше.
Существует только одно реальное преимущество реализации «выталкивания» на предпоследнем РУ. Если предпоследний LSR-маршрутизатор не сделает этого, то после того, как на выходе LSP-маршрута будет получен IP-пакет, выходной LSR-маршрутизатор проанализирует маркер самого верхнего уровня и в результате этого анализа установит, что он действительно является выходом LSP-маршрута. После этого он должен «вытолкнуть» (удалить) маркер самого верхнего уровня из набора маркеров и проверить, что осталось в IP-пакете. Если в наборе существует другой маркер, выходной LSR-маршрутизатор обнаружит его и отправит IP-пакет, основываясь на результате этой проверки. (В таком случае, выходом LSPm для IP-пакета также будет являться промежуточный сетевой узел по отношению к своему LSPm-1.) Если же в наборе нет другого маркера, то IP-пакет доставляется в соответствие с IP-адресом получателя (адресом сетевого уровня). (Примечание. Сказанное выше могло бы потребовать от выходного LSR-маршрутизатора проведения двух процедур анализа, либо анализ двух маркеров, либо анализ маркера с последующим анализом адреса сетевого уровня.)
Если, с другой стороны, «выталкивание» на предпоследнем РУ осуществляется, то после того, как предпоследний LSR-маршрутизатор проанализирует маркер самого верхнего уровня, он установит:
§ что он «является» предпоследним РУ;
§ и какой следующий РУ.
Затем предпоследний сетевой узел «выталкивает» (удаляет) маркер самого верхнего уровня из набора маркеров и транслирует IP-пакет, основываясь на информации, полученной при анализе маркера, который был прежде на самом верхнем уровне набора маркеров. Когда выходной LSR-маршрутизатор получает IP-пакет, то маркер, располагающийся теперь на самом верхнем уровне набора маркеров, будет тем маркером, который следует проанализировать, чтобы принять решение о дальнейшей доставке IP-пакета. Или, если выходной LSR-маршрутизатор получает IP-пакет с одним маркером, то ему просто следует проанализировать сам IP-пакет (пакет сетевого уровня), чтобы принять решение о дальнейшей его доставке.
Этот способ позволяет выходному LSR-маршрутизатору провести только одну проверку, а также требует и от предпоследнего сетевого узла проведения всего лишь одной проверки.
Формирование «быстрейшего маршрута» (fast path) доставки в результате обработки маркера MPLS-коммутации может быть весьма эффективной «помощью», если известно, что всегда требуется только одна процедура анализа, а именно:
· код (листинг) программы может быть значительно упрощён, если можно предположить, что всегда необходима только одна процедура анализа;
· код (листинг) программы может основываться на «ресурсе времени» (time budget), что предполагает необходимость всего лишь одной процедуры анализа.
Фактически, когда на предпоследнем РУ проводится процедура «выталкивания», то выходом LSP-маршрута не обязательно должен быть LSR-маршрутизатор.
Однако некоторые аппаратные коммутаторы могут не обладать способностью «выталкивания» (удаления) маркера самого верхнего уровня из набора маркеров, так что сказанное выше не может быть «повсеместным» требованием. Кроме того, могут возникнуть ситуации, при которых процедура «выталкивания»маркера на предпоследнем РУ вообще не желательна. Вследствие этого предпоследний сетевой узел «выталкивает» маркер (или весь набор маркеров) только тогда, когда:
§ это специально востребовано выходным сетевым узлом;
§ следующий сетевой узел в LSP-маршруте не реализует функции MPLS-коммутации.
(Если следующий сетевой узел в LSP-маршруте реализует функции MPLS-коммутации, но не запрашивает выполнение «выталкивания» маркера или всего набора маркеров, то предпоследний сетевой узел не способен узнать, что он фактически является предпоследним сетевым узлом.)
LSR-маршрутизатор, который способен «выталкивать» весь набор маркеров, обязан выполнить такое «выталкивание» на предпоследнем РУ в случае, когда эта процедура затребована взаимодействующей с ним стороной доставки маркера, являющейся LSRНП.
Процедура предварительного согласования LDP-протокола должна предоставить каждому LSR-маршрутизатору возможность определить, способны ли соседние LSR-маршрутизаторы удалять набор маркеров. LSR-маршрутизатор не должен требовать от противоположной стороны выполнения процедуры удаления набора маркеров до тех пор, пока она не будет способна её выполнить.
Очевиден вопрос: а всегда ли выходной сетевой узел может соответствующим образом интерпретировать маркер самого верхнего уровня в принятом IP-пакете в том случае, если используется процедура «выталкивания» на предпоследнем РУ? Ответ прост: до тех пор, пока выполняются правила уникальности и применения маркеров, рассмотренные выше, выходной сетевой узел всегда может интерпретировать маркер самого верхнего уровня в принятом IP-пакете корректно и однозначно.
Дата добавления: 2016-01-03; просмотров: 642;