A.2.Prepare_Label_Mapping_Attributes
Краткое изложение:
Эта процедура используется всякий раз, когда нужно послать партнеру сообщение присвоения метки, содержащее число шагов и вектор пути.
Параметры:
- Peer. LDP-партнер, которому посылается сообщение.
- FEC. FEC, для которого посылается запрос метки.
- RAttributes. Атрибуты, которые этот LSR ассоциирует с LSP для FEC.
- SAttributes. Атрибуты, подлежащие включению в сообщение присвоения метки.
- IsPropagating. LSR посылает сообщение присвоения метки, чтобы реализовать рассылку метки, которую он получил от узла следующего шага для заданного FEC.
- PrevHopCount. Число шагов, которые LSR ассоциирует с LSP для FEC.
Дополнительный контекст:
- LSR Id. Уникальный Id данного LSR.
Алгоритм:
PMpA.1 | Нужно ли число шагов для данного партнера (смотри замечание 1.)? ИЛИ Включает ли RAttributes число шагов? ИЛИ Сконфигурировано ли на данном LSR детектирование петель? Если нет, goto PMpA.21. |
PMpA.2 | Является ли LSR выходным для FEC? Если нет, goto PMpA.4. |
PMpA.3 | Включить число шагов 1 в SAttributes. Goto PMpA.21. |
PMpA.4 | Имеет ли RAttributes число шагов? Если нет, goto PMpA.8. |
PMpA.5 | Является ли LSR краевым для домена, чьи LSR не осуществляют декрементацию TTL И Находится ли партнер в этом домене (Смотри замечание 2). Если нет , goto PMpA.7. |
PMpA.6 | Включить число шагов 1 в SAttributes. Goto PMpA.9. |
PMpA.7 | Инкрементировать число шагов RAttributes и скопировать результат в SAttributes. Смотри замечание 2. Goto PMpA.9. |
PMpA.8 | Включить число шагов = unknown (0) в SAttributes. |
PMpA.9 | Сконфигурировано ли на данном LSR детектирование петель? Если нет, goto PMpA.21. |
PMpA.10 | Имеют ли RAttributes вектор пути? Если да, goto PMpA.19. |
PMpA.11 | Пересылает ли LSR полученные данные о присвоенных метках? Если нет , goto PMpA.20. |
PMpA.12 | Поддерживает ли LSR объединение меток? Если нет, goto PMpA.14. |
PMpA.13 | Посылал ли LSR партнеру ранее сообщение присвоения метки для FEC? Если нет, goto PMpA.20. |
PMpA.14 | Включает ли RAttributes число шагов? Если нет, goto PMpA.21. |
PMpA.15 | Равно ли число шагов в Rattributes unknown (0)? Если да, goto PMpA.20. |
PMpA.16 | Посылал ли LSR ранее партнеру сообщение присвоения метки для FEC? Если нет goto PMpA.21. |
PMpA.17 | Отличается ли число шагов в RAttributes от PrevHopCount? Если нет goto PMpA.21. |
PMpA.18 | Является ли число шагов в RAttributes > PrevHopCount? ИЛИ Является ли PrevHopCount unknown(0) Если нет, goto PMpA.21. |
PMpA.19 | Добавить Id LSR в начало вектора пути из RAttributes и скопировать результат в SAttributes. Goto PMpA.21. |
PMpA.20 | Включить вектор пути длиной 1, содержащий Id LSR в SAttributes. |
PMpA.21 | DONE. |
Замечания:
- Канал до партнера может требовать, чтобы число шагов было включено в сообщения присвоения метки; например, смотри [RFC3035] и [RFC3034].
- Если LSR является пограничным для облака LSR, которые не выполняют декрементацию TTL и он осуществляет пересылку сообщений присвоения меток вверх по течению в этом облаке, он устанавливает число шагов равным 1, так что число шагов через облако оказывается вычисленным верно. Это гарантирует правильное управление TTL для пакетов переадресуемых через область LSP, которая проходит через облако.
- Для арифметики числа шагов, unknown + 1 = unknown.
Назад:
Оглавление:
Вперёд: