Сети и телекоммуникации
.pdf
491
492
4.для всех i, 1 < i < n: Ri отправляет IP-пакет P Ri+1 с помощью средств
MPLS-коммутации, т.е. с помощью маркера самого верхнего уровня в на-
боре маркеров (маркер m-уровня), аналогичного индексу в ILM-проце-
дуре;
5.для всех i, 1 < i < n: если система S принимает и ретранслирует IP-пакет P
после его передачи LSR-маршрутизатором Ri, но ещѐ до того, как IP-па-
кет P будет принят Ri+1 (например, Ri и Ri+1 могут быть связаны через подсеть с коммутацией кадров (коммутация на канальном уровне), а S
может быть одним из коммутаторов канального уровня), то система S
принимает решение о доставке, не основываясь на маркере m-уровня или заголовке сетевого уровня. Это может быть следствием того, что:
a.принимаемое решение вообще не основывается на наборе маркеров или заголовке сетевого уровня;
b.принимаемое решение основывается на наборе маркеров, в который могут быть вставлены дополнительные маркеры (т.е. маркер на (m+k)-
уровне, где k > 0).
Другими словами, LSPm при доставке IP-пакет P представляет собой по-
следовательность маршрутизаторов:
1.которая начинается с LSR-маршрутизатора (вход LSP-маршрута), встав-
ляющего маркер m-уровня;
2.в которой все промежуточные LSR-маршрутизаторы принимают решение о доставке с помощью процедуры коммутации маркеров, расположенных на m-уровне;
3.которая заканчивается (выход LSP-маршрута, LSP Egress) тогда, когда решение о доставке принимается, либо с помощью процедуры коммута-
ции маркеров, расположенных на (m k)-уровне (где k > 0), либо «стан-
дартным» образом, когда при доставке не используется MPLS-коммута-
ция.
493
Следствием сказанного выше является то (или можно предположить), что
LSR-маршрутизатор всегда вставляет маркер в уже (ранее) помеченный IP-па-
кет. Это необходимо для обеспечения гарантий того, что новый маркер соответ-
ствует FEC-классу, у которого выходом LSP-маршрута является LSR-маршру-
тизатор с закреплѐнным за ним маркером, являющимся в настоящий момент вторым в наборе маркеров.
Последовательность LSR-маршрутизаторов называется LSP-маршрутом определѐнного FEC-класса F (LSP for a particular FEC F), если она представля-
ет собой LSPm для соответствующего IP-пакета P, в котором маркер m-уровня является маркером, отображающий FEC-класс F.
Предположим, что имеет место совокупность узлов, которые могут быть узлами входа LSP-маршрута для FEC-класса F. Тогда существует LSP-маршрут для FEC-класса F, который начинается в каждом из указанных узлов. Если все такие LSP-маршруты имеют один и тот же выход LSP-маршрута, то можно предположить, что совокупность таких LSP-маршрутов образует дерево, кор-
нем которого является выход LSP-маршрута. (Так как данные транслируются по этому дереву маршрутов, которое сходится в один корневой узел, то такое дерево называется «сходящимся» (multipoint-to-point tree).) Таким образом,
можно говорить о «дереве LSP-маршрутов» относительно определѐнного FEC-
класса F.
«Выталкивание» на предпоследнем РУ
Если последовательность маршрутизаторов < R1, … , Rn > является LSPm
для IP-пакета P, последний может быть доставлен из Rn-1 в Rn, имея в своѐм со-
ставе набор маркеров с (m 1)-глубиной. Т.е., скорее всего набор маркеров мо-
жет быть «вытолкнут» в предпоследнем (penultimate) LSR-маршрутизаторе
LSP-маршрута, чем на выходе LSP-маршрута.
С точки зрения архитектуры, это вполне приемлемо. Целевое назначение маркера m-уровня является получение IP-пакета LSR-маршрутизатором Rn. По-
494
сле того, как Rn-1 примет решение о передаче IP-пакета Rn, маркер больше не выполняет никакой функции, и поэтому нет смысла доставлять его дальше.
Существует только одно реальное преимущество реализации «выталки-
вания» на предпоследнем РУ. Если предпоследний LSR-маршрутизатор не сде-
лает этого, то после того, как на выходе LSP-маршрута будет получен IP-пакет,
выходной LSR-маршрутизатор проанализирует маркер самого верхнего уровня и в результате этого анализа установит, что он действительно является выходом
LSP-маршрута. После этого он должен «вытолкнуть» (удалить) маркер самого верхнего уровня из набора маркеров и проверить, что осталось в IP-пакете. Ес-
ли в наборе существует другой маркер, выходной LSR-маршрутизатор обнару-
жит его и отправит IP-пакет, основываясь на результате этой проверки. (В та-
ком случае, выходом LSPm для IP-пакета также будет являться промежуточный сетевой узел по отношению к своему LSPm-1.) Если же в наборе нет другого маркера, то IP-пакет доставляется в соответствие с IP-адресом получателя (ад-
ресом сетевого уровня). (Примечание. Сказанное выше могло бы потребовать от выходного LSR-маршрутизатора проведения двух процедур анализа, либо анализ двух маркеров, либо анализ маркера с последующим анализом адреса сетевого уровня.)
Если, с другой стороны, «выталкивание» на предпоследнем РУ осуществ-
ляется, то после того, как предпоследний LSR-маршрутизатор проанализирует маркер самого верхнего уровня, он установит:
что он «является» предпоследним РУ;
и какой следующий РУ.
Затем предпоследний сетевой узел «выталкивает» (удаляет) маркер само-
го верхнего уровня из набора маркеров и транслирует IP-пакет, основываясь на информации, полученной при анализе маркера, который был прежде на самом верхнем уровне набора маркеров. Когда выходной LSR-маршрутизатор получа-
ет IP-пакет, то маркер, располагающийся теперь на самом верхнем уровне на-
бора маркеров, будет тем маркером, который следует проанализировать, чтобы
495
принять решение о дальнейшей доставке IP-пакета. Или, если выходной LSR-
маршрутизатор получает IP-пакет с одним маркером, то ему просто следует проанализировать сам IP-пакет (пакет сетевого уровня), чтобы принять реше-
ние о дальнейшей его доставке.
Этот способ позволяет выходному LSR-маршрутизатору провести только одну проверку, а также требует и от предпоследнего сетевого узла проведения всего лишь одной проверки.
Формирование «быстрейшего маршрута» (fast path) доставки в результате обработки маркера MPLS-коммутации может быть весьма эффективной «по-
мощью», если известно, что всегда требуется только одна процедура анализа, а
именно:
код (листинг) программы может быть значительно упрощѐн, если можно предположить, что всегда необходима только одна процедура анализа;
код (листинг) программы может основываться на «ресурсе времени» (time budget), что предполагает необходимость всего лишь одной процедуры
анализа.
Фактически, когда на предпоследнем РУ проводится процедура «вытал-
кивания», то выходом LSP-маршрута не обязательно должен быть LSR-
маршрутизатор.
Однако некоторые аппаратные коммутаторы могут не обладать способно-
стью «выталкивания» (удаления) маркера самого верхнего уровня из набора маркеров, так что сказанное выше не может быть «повсеместным» требованием.
Кроме того, могут возникнуть ситуации, при которых процедура «выталкива-
ния»маркера на предпоследнем РУ вообще не желательна. Вследствие этого предпоследний сетевой узел «выталкивает» маркер (или весь набор маркеров)
только тогда, когда:
это специально востребовано выходным сетевым узлом;
следующий сетевой узел в LSP-маршруте не реализует функции MPLS-
коммутации.
496
(Если следующий сетевой узел в LSP-маршруте реализует функции
MPLS-коммутации, но не запрашивает выполнение «выталкивания» маркера или всего набора маркеров, то предпоследний сетевой узел не способен узнать,
что он фактически является предпоследним сетевым узлом.) LSR-маршрутизатор, который способен «выталкивать» весь набор марке-
ров, обязан выполнить такое «выталкивание» на предпоследнем РУ в случае,
когда эта процедура затребована взаимодействующей с ним стороной доставки маркера, являющейся LSRНП.
Процедура предварительного согласования LDP-протокола должна пре-
доставить каждому LSR-маршрутизатору возможность определить, способны ли соседние LSR-маршрутизаторы удалять набор маркеров. LSR-маршру-
тизатор не должен требовать от противоположной стороны выполнения проце-
дуры удаления набора маркеров до тех пор, пока она не будет способна еѐ вы-
полнить.
Очевиден вопрос: а всегда ли выходной сетевой узел может соответст-
вующим образом интерпретировать маркер самого верхнего уровня в принятом
IP-пакете в том случае, если используется процедура «выталкивания» на пред-
последнем РУ? Ответ прост: до тех пор, пока выполняются правила уникально-
сти и применения маркеров, рассмотренные выше, выходной сетевой узел все-
гда может интерпретировать маркер самого верхнего уровня в принятом IP-
пакете корректно и однозначно.
Следующий РУ LSP-маршрута
Следующий РУ LSP-маршрута для соответствующего IP-пакета, поме-
ченного определѐнным LSR-маршрутизатором, представляет собой LSR-
маршрутизатор, расположенный в конце следующего РУ, который был выбран с помощью NHLFE-записи, используемой в период доставки этого IP-пакета.
497
Следующий РУ LSP-маршрута для соответствующего FEC-класса пред-
ставляет собой следующий РУ, который был выбран с помощью NHLFE-записи,
помеченной маркером потока, соответствующим этому FEC-классу.
(Примечание. Следующий РУ LSP-маршрута может отличаться от следующего РУ, который мог быть выбран алгоритмом маршрутизации сетевого (3-го) уровня. Если в дальнейшем пойдѐт речь о таком алгоритме, то будет использоваться термин «следующий РУ сетевого (3-го) уровня» («L3 next hop»).)
Недействительные входящие маркеры потоков
Что должен делать LSR-маршрутизатор, если он получил помеченный IP-
пакет с соответствующим входящим маркером потока, но который не имеет привязки к этому маркеру? Первое, что «приходит на ум»: такие маркеры могут быть просто удалены, а сам IP-пакет может доставляться далее, как непомечен-
ный. Однако, в некоторых случаях, это может привести к петлевому маршруту доставки. Если LSRВП «думает», что маркер был привязан к явному маршруту
(explicit route), а LSRНП «не думает», что маркер был привязан к чему-либо дру-
гому, и если ретрансляционный маршрут непомеченного IP-пакета «доставил» его обратно в LSRВП, то очевидно, что сформировался петлевой маршрут.
Также возможен случай, когда маркер был предназначен для отображе-
ния маршрута, который не может быть «выявлен» из IP-заголовка.
По этой причине, когда помеченный IP-пакет был принят с недействи-
тельным входящим маркером, он должен быть удалѐн, за исключением тех слу-
чаев, когда он будет распознан некоторыми средствами (в данном стандарте не рассматриваются), которые доставляют его не помеченным без каких-либо не-
гативных последствий.
Управление LSP-маршрутом: регулируемое или независимое
Некоторые FEC-классы соответствуют префиксам IP-адресов, которые распределяются с помощью алгоритма динамической маршрутизации. Опреде-
498
ление LSP-маршрутов для таких FEC-классов может быть осуществлено одним из следующих способов:
независимое управление LSP-маршрутом;
регулируемое управление LSP-маршрутом.
При независимом управлении LSP-маршрутом каждый LSR-маршрутиза-
тор, после объявления того, что он определил соответствующий FEC-класс,
принимает независимое решение о привязке маркера к этому FEC-классу и о доставке этой привязки своим взаимодействующим сторонам по доставке мар-
керов. Это соответствует стандартному способу маршрутизации IP-пакетов, т.е.
каждый узел принимает независимое решение о том,«как обходиться» с каж-
дым IP-пакетом, и «уверен» в том, что алгоритм маршрутизации является «бы-
стро сходимым», а это, в свою очередь, гарантирует, что каждый IP-пакет будет доставлен корректно.
При регулируемом управлении LSP-маршрутом каждый LSR-маршрутиза-
тор только привязывает маркер к определѐнному FEC-классу, если он является выходным LSR-маршрутизатором, или если он уже получил маркер, привязан-
ный к этому FEC-классу, от взаимодействующей стороны следующего РУ для этого FEC-класса.
Если есть необходимость гарантировать прохождение трафика соответст-
вующего FEC-класса по маршруту с некоторыми специфическими свойствами
(например, чтобы трафик не проходил через какой-либо сетевой узел дважды,
чтобы для обработки трафика привлекался некоторый определѐнный объем ре-
сурсов, чтобы трафик проходил по строго определѐнному маршруту), то долж-
но использоваться регулируемое управление. При независимом управлении не-
которые LSR-маршрутизаторы могут начать коммутировать трафик на основе маркеров потока в соответствие с некоторым FEC-классом ещѐ до того, как
LSP-маршрут будет полностью установлен, и таким образом, некоторая часть трафика, соответствующая определѐнному FEC-классу, будет следовать по маршруту, который не обладает требуемыми свойствами. Регулируемое управ-
499
ление следует использовать и в том случае, когда распознавание FEC-класса представляет собой результат установки соответствующего LSP-маршрута.
Регулируемое управление может быть установлено по инициативе, либо входного сетевого узла, либо выходного сетевого узла.
Регулируемое управление и независимое управление являются полностью функционально совместимыми. Тем не менее, если все LSR-маршрутизаторы
LSP-маршрута используют регулируемое управление, то общее функциониро-
вание сети гораздо эффективнее, чем при независимом управлении, так как ни-
кто не может уверенным в том, что LSP-маршрут не используется, пока он пол-
ностью не установлен.
Такой подход позволяет делать выбор между независимым управлением и регулируемым управлением, который, в свою очередь, имеет только локаль-
ное значение. Несмотря на то, что предложены два метода межсетевого взаи-
модействия, конкретному LSR-маршрутизатору следует поддерживать только один из двух. Вообще говоря, выбор между независимым и регулируемым управлением не принесѐт какого-либо положительного эффекта, пока не будут определены способы доставки маркеров.
Агрегирование
Один из способов разбиения трафика на FEC-классы заключается в фор-
мировании отдельного FEC-класса для каждого префикса IP-адреса, который представлен в маршрутной таблице. Однако в пределах сетевого MPLS-сег-
мента разбиение трафика на FEC-классы может привести к тому, что весь тра-
фик всех этих FEC-классов будет следовать по одному и тому же маршруту.
Например, в совокупности префиксов выделенных адресов последние могут иметь один и тот же выходной сетевой узел, а процедура замены маркера может использоваться только для приема трафика в выходном сетевом узле. В таком случае, в границах сетевого MPLS-сегмента, результатом слияния (объединения)
таких FEC-классов будет этот же FEC-класс. И здесь появляется выбор: либо
500
выделенный маркер потока должен быть привязан к каждому составному FEC-
классу, либо одиночный маркер должен быть привязан к объединению FEC-
классов, чтобы маркер использовался для всего трафика, принадлежащего та-
кому объединению?
Процедура привязки одиночного маркера к объединению FEC-классов,
которое является этим же FEC-классом (в пределах некоторого сетевого сег-
мента), а также применения этого маркера ко всему трафику, принадлежащего объединению FEC-классов, называется процедурой агрегирования (aggregation). MPLS-архитектура предусматривает процедуру агрегирования. Процедура аг-
регирования может значительно снизить количество используемых маркеров,
которые необходимы для обработки соответствующей совокупности IP-пакетов,
а также может снизить объем управляющего трафика необходимый для достав-
ки (распределения) маркеров.
Пусть имеет место совокупность FEC-классов, которая может быть агре-
гирована в один FEC-класс, тогда возможно:
a.агрегировать их в один FEC-класс;
b.агрегировать их в совокупности FEC-классов;
c.никак их не агрегировать.
Таким образом, можно говорить об «уровне разделения» агрегированных
FEC-классов, т.е. «разделение на самые крупные (по числу FEC-классов) под-
группы» (coarsest granularity) и «разделение на самые маленькие (по числу
FEC-классов) подгруппы» (finest granularity).
При регулируемом управлении, каждый LSR-маршрутизатор должен адаптировать (для конкретного набора FEC-классов) уровень разделения агре-
гированных FEC-классов, которые используются на следующем РУ.
При независимом управлении, возможна ситуация, при которой два смежных (соседних) LSR-маршрутизатора, Ru и Rd, будут проводить процедуру агрегирования некоторой совокупности FEC-классов по-разному.
