Сообщение запроса метки
Использование TLV вектора пути и числа шагов предотвращает зацикливание сообщений запросов метки в среде, содержащей LSR, не поддерживающие объединение меток (non-merge).
Правила, которые управляют использованием TLV числа шагов в сообщениях запроса метки, посланных LSR R (детектирование петель активировано), представлены ниже:
- Сообщение запроса метки должно включать в себя TLV числа шагов.
- Если R посылает запрос метки, из-за того, что он является входным, он должен включить в сообщение TLV числа шагов со значением равным 1.
- Если R посылает запрос метки, как результат получения запроса метки от вышестоящего LSR, и если полученный запрос содержит TLV числа шагов, R должен инкрементировать значение счетчика на 1 и положить результат в TLV числа шагов сообщения запроса метки, передаваемого следующему узлу вдоль маршрута;
Правила, которые управляют использованием TLV вектора пути в сообщениях запроса метки, посылаемых LSR R (детектирование петель активировано) представлены ниже:
- Если R посылает запрос метки, из-за того, что он является входным, тогда, если R не поддерживает объединение меток, он должен включить TLV вектора длины со значением 1, содержащее его собственный идентификатор LSR Id.
- Если R посылает запрос метки, как результат получения запроса метки от вышестоящего LSR, тогда, если полученный запрос содержит TLV вектора длины или если R не поддерживает объединение меток, то:
R должен добавить к вектору пути собственный Id LSR, и должен передать полученный вектор пути узлу следующего шага в сообщении запроса метки. Если запрос метки не содержит TLV вектора пути, R должен включить TLV вектора пути со значением 1 со своим идентификатором LSR Id.
Заметим, что если R получает сообщение запроса метки для конкретного FEC, а R уже послал ранее запрос метки для этого FEC своему партнеру следующего шага и не получил пока отклика, и, если R намерен объединить вновь полученный запрос метки с существующим незавершенным запросом, тогда R не пересылает этот запрос узлу следующего шага.
Если R получает сообщение запроса метки от узла следующего шага с TLV числа шагов, которое превышает сконфигурированный максимум, или с TLV вектора пути, содержащий его собственный Id или который превышает допустимый предел длины, тогда R считает, что запрос метки прошел через петлю.
Когда R детектирует петлю, он должен послать отправителю запроса метки сообщение предупреждения об этом и выбросить полученное сообщение запроса метки.
LSR посылает запрос метки (Label Request) партнеру LDP, чтобы установить соответствие (mapping ) для FEC. Формат сообщения запроса метки представлен ниже:
ID сообщения
32-битный код используется, чтобы идентифицировать это сообщение.
FEC TLV
FEC, для которого запрашивается метка. Кодирование смотри в разделе "TLV FEC".
Опционные параметры
Это поле переменной длины содержит 0 или более параметров, каждый из которых имеет формат TLV. Опционными параметрами являются:
TLV числа шагов | 1 | Смотри ниже |
TLV вектора пути | переменная | Смотри ниже |
Кодирование TLV числа шагов и вектора пути можно найти в разделе "Кодирование TLV параметров общего пользования".
Число шагов
Специфицирует полное число LSR-шагов вдоль LSP, определяется в результате запроса метки . В разделе "Процедуры числа шагов" описано, как обрабатывать эти TLV.
Вектор пути
Специфицирует узлы вдоль LSP. Этот список сформирован посредством сообщения запроса метки. В разделе "Процедуры вектора расстояния" описано, как обрабатывать эти TLV.