Спецификация LDP, RSVPTE, GMPLS
Частные TLV LDP производителя
Диапазон кодов типа 0x3E00 - 0x3EFF зарезервирован для частных TLV производителя. Формат частных TLV производителя представлен ниже на рис. 12.31:
U бит
Бит неизвестного TLV. При получении неизвестного TLV, если U=0, отправителю сообщения должно быть прислано уведомление, а само сообщение проигнорировано; если U=1, неизвестное TLV молча игнорируется, а остальная часть сообщения обрабатывается так, как если бы неизвестного TLV не существовало.
Определение того, понятно ли частное сообщение производителя, зависит от типа и обязательного поля ID производителя.
F бит
Бит переадресации неизвестного TLV. Этот бит используется, только когда U=1, а сообщение LDP, содержащее неизвестное TLV, должно быть переадресовано. Если F=0, неизвестное TLV не переадресуется вместе с содержащим его сообщением; если F=1, неизвестное TLV переадресуется вместе с содержащим его сообщением.
Тип
Значение тип лежит в диапазоне 0x3E00 - 0x3EFF. Вместе с типом и Id производителя поле специфицирует, как следует интерпретировать поле данных.
Длина
Специфицирует суммарную длину в октетах идентификатора производителя и поля данных.
Id производителя
ID производителя 802, как это предписано IEEE.
Данные
Остальные октеты после ID производителя в поле значение являются опционными данными, зависящими от производителя.
Частные сообщения LDP производителя
Код типа в диапазоне 0x3E00 - 0x3EFF зарезервирован для частных сообщений производителя (рис. 12.32).
U бит
Бит неизвестного сообщения. При подтверждении неизвестного сообщения, если U=0, отправителю сообщения возвращается уведомление; если U=1, неизвестное сообщение молча игнорируется.
Определение того, будет ли воспринято частное сообщение производителя, базируется на типе сообщения и параметре ID производителя.
Тип сообщения
Код типа сообщения лежит в диапазоне 0x3E00 - 0x3EFF. Вместе с типом сообщения и ID производителя специфицирует то, как будет интерпретироваться сообщение.
Длина сообщения
Специфицирует суммарную длину в октетах полей ID сообщения, ID производителя, остальных обязательных и опционных параметров.
ID сообщения
32-битовый код, используемый для идентификации этого сообщения. Используется LSR-отправителем, чтобы упростить идентификацию уведомлений, которые могут относиться к этому сообщению. LSR, посылающий уведомление в качестве отклика на это сообщение, будет включать этот Id в сообщение уведомления.
ID производителя
ID производителя 802, как это предписано IEEE.
Остальные обязательные параметры
Набор переменной длины остальных обязательных параметров.
Опционные параметры
Набор переменной длины опционных параметров сообщения.
Экспериментальные расширения LDP
LDP поддержка экспериментирования подобна поддержке частных расширений производителя со следующими отличиями:
- диапазон кодов тип 0x3F00 0x3FFF зарезервирован для экспериментальных TLV;
- диапазон кодов тип сообщения 0x3F00 - 0x3FFF зарезервирован для экспериментальных сообщений;
Кодирование экспериментальных TLV и сообщений подобно кодированию частных сообщений производителя со следующим отличием:
Экспериментальные TLV и сообщения используют поле экспериментального ID вместо поля ID производителя. Поле ID эксперимента используется с полем тип сообщения, чтобы специфицировать интерпретацию экспериментального TLV или сообщения. Администрирование экспериментальных ID находится в сфере ответственности экспериментаторов.
Перечень сообщений
Следующие сообщения LDP определены в данной версии протокола (таблице 12.10).
Сводка TLV
Следующие TLV определены в этой версии протокола (таблица 12.11).
Сводка кодов статуса
Ниже представлены статусные коды, определенные в данной версии протокола. В колонке "E" представлены значения Е-бита статусного кода, требующие установки; колонка "Статусные данные" содержит 30-битовое поле статусных данных в формате TLV. Заметим, что значение F-бита статусного кода остается на усмотрение LSR, формирующего TLV статуса (таблица 12.12.).
UDP-порт для LDP-сообщения Hello имеет номер 646. TCP-порт для установления LDP-сессии также имеет номер 646.
Неявная метка NULL
Неявная метка NULL (смотри [RFC-3031]) представляется как TLV общей метки со значением поля метка, как это специфицировано в [RFC-3032].
LDP делит пространство имен для типов сообщений на три диапазона. Далее предлагаются соображения по распоряжению этими диапазонами.
- Типы сообщений 0x0000 - 0x3DFF в этом диапазоне являются частью базового протокола LDP и выделяются в результате консенсуса IETF.
- Типы сообщений 0x3E00 - 0x3EFF в этом диапазоне зарезервированы для частных расширений производителя и являются областью ответственности отдельных производителей. IANA не вмешивается в распределение пространства типов сообщений в этом диапазоне.
- Типы сообщений 0x3F00 0x3FFF в этом диапазоне зарезервированы для экспериментальных расширений и являются областью ответственности отдельных экспериментаторов. IANA не вмешивается в распределение пространства типов сообщений в этом диапазоне; однако, IANA ответственна за распоряжение частью пространства экспериментальных ID.
LDP делит пространство имен для типов TLV на три диапазона. Далее предлагаются соображения по распоряжению этими диапазонами.
- Типы TLV в диапазоне 0x0000 - 0x3DFF являются частью базового протокола LDP и выделяются в результате консенсуса IETF.
- Типы TLV в диапазоне 0x3E00 - 0x3EFF зарезервированы для расширений производителей и являются областью ответственности отдельных производителей. IANA не вмешивается в распределение пространства типов TLV в этом диапазоне.
- Типы TLV в диапазоне 0x3F00 - 0x3FFF зарезервированы для экспериментальных расширений и являются областью ответственности отдельных экспериментаторов. IANA не вмешивается в распределение пространства TLV в этом диапазоне; однако, IANA ответственна за распоряжение частью пространства экспериментальных ID имен.
Типы FEC в диапазоне 0 - 127 выделяются в результате консенсуса IETF, типы в диапазоне 128 - 191 выделяются по принципу первым_пришел_первым_обслужен, а типы в диапазоне 192 - 255 зарезервированы для частных применений.
Статусные коды в диапазоне 0x00000000 - 0x1FFFFFFF выделяются в результате консенсуса IETF, коды в диапазоне 0x20000000 - 0x3EFFFFFF выделяются по принципу первым_пришел_первым_обслужен, и коды в диапазоне 0x3F000000 - 0x3FFFFFFF зарезервированы для частного использования.
Экспериментальные Id в диапазоне 0x00000000 - 0xefffffff выделяются по принципу первым_пришел_первым_обслужен, а экспериментальные Id в диапазоне 0xf0000000 - 0xffffffff зарезервированы для частного использования.