Обработка Diff-Serv TLV в режиме Downstream on Demand
В этом разделе описаны операции, используемые в режиме Downstream on Demand. При запросе метки для E-LSP, который использует предварительно сконфигурированную таблицу EXP<-->PHB, вышестоящий Diff-Serv LSR посылает сообщение Label Request без Diff-Serv TLV.
При запросе метки для E-LSP, который использует согласованную таблицу EXP<-->PHB, вышестоящий Diff-Serv LSR посылает сообщение Label Request с Diff-Serv TLV для E-LSP, которое содержит по одной записи MAP для каждого значения EXP, поддерживаемого в этом E-LSP.
При запросе метки для L-LSP, вышестоящий Diff-Serv LSR посылает сообщение Label Request с Diff-Serv TLV для L-LSP, содержащее PSC, который следует поддерживать в этом L-LSP.
Нижестоящий Diff-Serv LSR, посылая сообщение Label Mapping в ответ на запрос метки для E-LSP или L-LSP не должен включать Diff-Serv TLV в это сообщение ассоциации метки. Предполагая формирование метки успешным, нижестоящий и вышестоящий LSR должны:
актуализовать контекст Diff-Serv, ассоциированный со сформированными LSP в их ILM/FTN, как это указано в предыдущих разделах (входящая и исходящая метки),
инсталлировать требуемую обработку переадресации Diff-Serv (формирование трафика и политика отбрасывания) для этого NHLFE (исходящая метка).
Вышестоящий Diff-Serv LSR, получая в ответ на запрос метки сообщение Label Mapping, содержащее Diff-Serv TLV, должен отклонить ассоциацию метки, послав сообщение Label Release, содержащее TLV метки и статус TLV со статусным кодом Unexpected Diff-Serv TLV.
Нижестоящий Diff-Serv LSR, получая сообщение Label Request с несколькими Diff-Serv TLV, принимает во внимание только первый из них. LSR должен игнорировать и не переадресовывать последующие Diff-Serv TLV.
Нижестоящий Diff-Serv LSR, который получает сообщение Label Request с Diff-Serv TLV для E-LSP и не поддерживает конкретное PHB, записанное в одном (или более) записей MAP, должен отвергнуть запрос, послав сообщение со статусным кодом Unsupported PHB.
Нижестоящий Diff-Serv LSR, получив сообщение Label Request с Diff-Serv TLV для E-LSP и определив, что согласованная таблица EXP <-->PHB некорректна, должен отвергнуть запрос, послав сообщение Notification, которое включает в себя статус TLV со статусным кодом Invalid EXP<-->PHB mapping. Согласованная таблица EXP<-->PHB в DIFFSERV TLV для E-LSP является некорректной, если:
поле MAPnb вне диапазона 1 - 8, или
данное значение EXP присутствует более одного раза в записи MAP, или
кодировка PHBID некорректна.
Нижестоящий Diff- Serv LSR, получая сообщение Label Request с Diff-Serv TLV для L-LSP, содержащее значение PSC, которое не поддерживается, должен отвергнуть запрос, послав сообщение Notification которое включает в себя TLV со статусным кодом Unsupported PSC.
Нижестоящий Diff-Serv LSR, который распознает тип Diff-Serv TLV Type в сообщении Label Request, но не может предоставить необходимую для каждого LSP контекстную информацию, должен отвергнуть запрос, послав сообщение Notification, которое включает в себя статус TLV со статусным кодом Per-LSP context allocation failure.
Нижестоящий Diff-Serv LSR, который распознает тип Diff-Serv TLV в сообщении Label Request и поддерживает запрошенный PSC, но не способен удовлетворить запрос метки по другим причинам (например, нет доступной метки), должен послать сообщение Notification в соответствии с существующими процедурами LDP [LDP] (например, со статусным кодом No Label Resource). Это сообщение Notification должно включать в себя запрошенный Diff-Serv TLV.