RFC 5277 NETCONF Event Notifications

Network Working Group                                        S. Chisholm
Request for Comments: 5277                                        Nortel
Category: Standards Track                                     H. Trevino
                                                                   Cisco
                                                               July 2008

NETCONF Event Notifications

Уведомления о событиях NETCONF

PDF

Статус документа

В этом документе описан проект стандартного протокола Internet, предложенного сообществу Internet, документ служит приглашением к дискуссии в целях развития предложенного протокола. Текущее состояние стандартизации протокола можно узнать из документа Internet Official Protocol Standards (STD 1). Документ может распространяться свободно.

Аннотация

Этот документ задаёт механизмы асинхронной доставки уведомлений для протокола настройки сети (Network Configuration или NETCONF), являющиеся необязательным свойством протокола NETCONF. Документ определяет возможности и операции, требуемые для поддержки этой службы.

1. Введение

Протокол [NETCONF] концептуально делится на 4 уровня, показанные на рисунке 1.

    Уровень                            Пример
+-------------+      +-------------------------------------------+
|  Содержимое |      |     Данные конфигурации                   |
+-------------+      +-------------------------------------------+
          |                           |
+-------------+      +-------------------------------------------+
|   Операции  |      |<get-config>, <edit-config>, <notification>|
+-------------+      +-------------------------------------------+
          |                           |                    |
+-------------+      +-----------------------------+       |
|     RPC     |      |    <rpc>, <rpc-reply>       |       |
+-------------+      +-----------------------------+       |
          |                           |                    |
+-------------+      +-------------------------------------------+
| Транспортный|      |   BEEP, SSH, SSL, консоль                 |
|  протокол   |      |                                           |
+-------------+      +-------------------------------------------+

Рисунок 1.


Этот документ определяет механизмы, обеспечивающие асинхронную доставку уведомлений для протокола [NETCONF] и являющиеся необязательным свойством протокола NETCONF. Документ определяет возможности и операции, требуемые для поддержки этой службы.

1.1. Определения терминов

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с [RFC2119].

Element

Элемент [XML].

Subscription — подписка

Соглашение и метод для получения уведомлений о событиях через сеанс NETCONF, концепция, связанная с доставкой уведомлений (если они имеются для отправки), включающая адресата и выбор уведомлений и привязанная к сроку действия сессии.

Operation — операция

Операция протокола NETCONF [NETCONF]. В этом документе — операция NETCONF для поддержки уведомлений.

Event — событие

Что-то произошедшее, что может представлять интерес — изменение конфигурации, отказ, смена состояния, пересечение порога, внешний ввод в систему. Зачастую событие ведёт к асинхронному сообщению, иногда называемому уведомлением, которое передаётся заинтересованным сторонам для информирования о событии.

Replay — воспроизведение

Способность передать или повторить записанные уведомления по запросу. Эти уведомления передаются асинхронно. Функция реализуется сервером NETCONF и вызывается клиентом NETCONF.

Stream — поток

Набор уведомлений о событиях, соответствующих неким критериям пересылки, и доступный клиентам NETCONF для подписки.

Filter — фильтр

Параметр, указывающий подмножество событий, которые представляют интерес. Фильтр определяется одним или несколькими элементами фильтрации [NETCONF], каждый из которых задаёт честь единого фильтра.

1.2. Мотивация

Целью этой работы является обеспечение отправки асинхронных сообщений, соответствующих модели данных (содержимому) и модели безопасности, применяемым в реализации NETCONF. Работа нацелена на выполнение указанных ниже требований.

  • В исходном выпуске следует поддерживать уведомления для операций настройки.

  • Следует обеспечить возможность использования одной модели для уведомлений и операций настройки.

  • Следует поддерживать разумные ограничения размера сообщений (не слишком короткие).

  • Уведомления следует доставлять ч помощью ориентированного на соединения механизма.

  • Следует обеспечить механизм подписки на уведомления с учётом того, что сервер NETCONF не передаёт уведомлений до их запроса, а поток уведомлений инициирует клиент NETCONF.

  • На сервере NETCONF следует поддерживать механизм фильтрации передаваемых уведомлений.

  • Содержащихся в уведомлениях сведений должно быть достаточно для независимого от транспорта анализа. Иными словами, содержимое должно полностью описывать уведомление без привлечения данных протокола.

  • Серверу следует поддерживать возможность воспроизведения записанных уведомлений.

1.3. Уведомления о событиях в NETCONF

Этот документ задаёт механизм, с помощью которого клиенты NETCONF указывают заинтересованность в получении уведомлений о событиях от сервера NETCONF путём организации подписки. Сервер NETCONF отвергает или воспринимает запрос и в случае принятия начинает передачу уведомлений о событиях клиенту NETCONF по мере возникновения событий в системе. Эти уведомления продолжаются до завершения сеанса NETCONF или прерывания подписки по иным причинам. Подписка на уведомления о событиях предоставляет клиенту NETCONF опции для указания интересующих событий, задаваемые в момент организации подписки. Организованную подписку нельзя изменить.

Сервер NETCONF должен воспринимать и обрабатывать операцию <close-session> даже при наличии активных подписок на уведомления. Сервер NETCONF может воспринимать и обрабатывать другие команды, иначе они будут отвергаться и сервер должен будет возвращать ошибку resource-denied. Поддержку обработки других команд сервер NETCONF анонсирует через возможность (свойство) :interleave.

2. Связанные с уведомлениями операции

2.1. Подписка на уведомления о событиях

Подписку на уведомления о событиях инициирует клиент NETCONF, а сервер NETCONF отвечает на запрос. Подписка привязана к одному потоку на весь срок своего действия. При организации подписки на уведомления о событиях указываются интересующие события.

2.1.1. <create-subscription>

Эта операция инициирует подписку на уведомления о событиях, которые будут асинхронно передаваться инициатору до прерывания подписки.

Параметры

Stream

Необязательный параметр <stream> указывает интересующий поток событий. При отсутствии параметра передаётся заданный по умолчанию поток событий NETCONF.

Filter

Необязательный параметр <filter> указывает интересующие события. Формат параметра совпадает с форматом параметров фильтров в протокольных операциях NETCONF. При отстутвии параметра передаются все уведомления, не заблокированные другими параметрами (см. параграф 3.6. Детали фильтрации).

Start Time

Параметр <startTime> служит для запуска функции воспроизведения и указывает момент, с которого нужно нвчинать воспроизведение. При отсутствии <startTime> воспроизведения не происходит. Указанное время не может быть больше (позже) текущего. Если <startTime> указывает время раньше первой сохраненной записи, воспроизведение начинается с первой доступной записи. Параметр использует тип dateTime и соответствует [RFC3339]. Реализации должны поддерживать указание часового пояса.

Stop Time

Необязательный параметр <stopTime> применяется с необязательной функцией воспроизведения для указания самых новых интересующих обновлений. При отсутствии <stopTime> уведомления передаются до прерывания подписки. Этот параметр должен использоваться с <startTime> и меть большее значение. Параметр <stopTime> может указывать будущее время. Параметр использует тип dateTime и соответствует [RFC3339]. Реализации должны поддерживать указание часового пояса.

Позитивный отклик

Если сервер NETCONF способен выполнить запрос, он передаёт элемент <ok>.

Негативный отклик

Включается элемент <rpc-error> в <rpc-reply>, если запрос не может быть выполнен по какой-либо причине. Запрос на подписку будет приводит к отказу при наличии ошибок в синтаксисе фильтра или указании имени отсутствующего потока.

Если в запросе указан параметр <stopTime> без <startTime>, следует возвращать

         Tag: missing-element
         Error-type: protocol
         Severity: error
         Error-info: <bad-element>: startTime
         Description: Запрошенный элемент отсутствует.

Если запрошена функция воспроизведения, а сервер NETCONF не поддерживает её, возвращается отклик

         Tag: operation-failed
         Error-type: protocol
         Severity: error
         Error-info: none
         Description: Запрос не  может быть выполнен, поскольку 
         возникла ошибка, для которой нет другой причины.

Если указано значение <stopTime> раньше времени <startTime>, возвращается ошибка

         Tag: bad-element
         Error-type: protocol
         Severity: error
         Error-info: <bad-element>: stopTime
         Description: Значение элемента некорректно, например, ошибочный
         тип, выход за пределы диапазона, несоответствие шаблону.

Если указано значение <startTime> больше текущего времени, возвращается ошибка

         Tag: bad-element
         Error-type: protocol
         Severity: error
         Error-info: <bad-element>: startTime
         Description: Значение элемента некорректно, например, ошибочный
         тип, выход за пределы диапазона, несоответствие шаблону.
2.1.1.1. Пример использования

Ниже приведён пример организации подписки. Более сложные случаи представлены в разделе 5.

   <netconf:rpc message-id="101"
         xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
       <create-subscription
           xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
       </create-subscription>
   </netconf:rpc>

2.2. Передача уведомлений о событиях

После организации подписки сервер NETCONF передаёт через соединение асинхронные уведомления об событиях.

2.2.1. <notification>

Уведомление о событии передаётся клиенту, инициировавшему команду <create-subscription>, асинхронно по интересующим событиям (т. е. соответствующим критериям фильтра). Уведомление о событии — это полный документ XML с корректным форматом. Отметим, что <notification> является не вызовом удалённой процедуры (Remote Procedure Call или RPC), а элементом верхнего уровня, указывающим одностороннее сообщение как уведомление.

Параметры

eventTime

Время события, указанное его источником. Параметр использует тип dateTime и соответствует [RFC3339]. Реализации должны поддерживать указание часового пояса.

Включается также зависимое от уведомления содержимое при его наличии, которое выходит за рамки этого документа.

Отклика на уведомление не передаётся.

2.3. Прерывание подписки

Закрытие подписки на уведомления о событиях может быть выполнено с помощью операции <close-session> из сеанса, где подписка была организована, путём прерывания сессии NETCONF (<kill-session>) или базовой транспортной сессии из другого сеанса. Если указано время остановки подписки, она будет завершаться по достижении этого момента. В этом случае сессия NETCONF может оставаться активной.

3. Концепции поддержки

3.1. Обмен возможностями

Возможность обрабатывать и передавать уведомления о событиях анонсируется при обмене возможностями между кдиентом и сервером NETCONF.

3.1.1. Идентификатор возможности

urn:ietf:params:netconf:capability:notification:1.0

3.1.2. Пример возможности

   <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <capabilities>
        <capability>
            urn:ietf:params:xml:ns:netconf:base:1.0
          </capability>
          <capability>
            urn:ietf:params:netconf:capability:startup:1.0
          </capability>
          <capability>
            urn:ietf:params:netconf:capability:notification:1.0
          </capability>
       </capabilities>
     <session-id>4</session-id>
   </hello>

3.2. Потоки событий

Поток событий определяется как набор уведомлений о событиях, соответствующих неким критериям пересылки.

+----+
| c1 |----+             Доступные потоки
+----+    |    +---------+
+----+    |    |централ. |-> поток 1
| c2 |    +--->|обработч.|-> поток 2       фильтр +-------+
+----+    |    |событий  |-> поток NETCONF  ----->|сервер |
 ...      |    |         |-> поток n              |NETCONF|
Компоненты|    +---------+                        +-------+
системы   |        |                                 /\
 ...      |        |                                 ||
+----+    |        |       (------------)            ||
| cn |----+        |       (   служба   )            ||
+----+             +-----> (   записи   )            ||
                           ( уведомлений)            ||
                           (------------)            ||
                                                     ||
                                                     \/
                                                 +-------+
                                                 |клиент |
                                                 |NETCONF|
                                                 +-------+

Рисунок 2.


На рисунке 2 показан поток уведомлений и концепции, рассмотренные в этом документе. Рисунок не предписывает и не препятствует реализации. Компоненты системы (c1..cn) генерируют уведомления, которые передаются центральному обработчику для классификации и распространения. Этот обработчик проверяет каждое уведомление и сравнивает уведомления о событиях с набором определений потоков. При совпадении уведомление о событии включается в соответствующий поток (1..n). Уведомление может включаться в несколько потоков событий.

После получения сервером NETCONF внутреннего события из потока оно преобразуется сервером в подходящий код XML и элемент <notification> готов к передаче во все сессии NETCONF с подпиской на этот поток. После создания элемента <notification> сервер применяет правила контроля доступа. Если у сессии нет права получать <notification>, элемент исключается для этой сессии и обработка внутреннего события для этой сессии завершается.

Когда клиент NETCONF подписывается на данный поток событий, заданные пользователем фильтры (при наличии) применяются к потоку и соответствующие уведомления о событиях пересылаются серверу NETCONF для распространения этому клиенту NETCONF. Фильтр переносится от клиента на сервер при операции <create-subscription> и применяется к каждому элементу <notification> в потоке. Фильтрация описана в параграфе 3.6.

Может также поддерживаться служба записи (log) уведомлений и в этом случае центральный элемент записывает уведомления о событиях в журнал. Сервер NETCONF позднее может извлекать записанные уведомления для необязательной функции воспроизведения, описанной в параграфе 3.3. Воспроизведение уведомлений.

3.2.1. Определение потока событий

Потоки событий предопределены на управляемом устройстве. Настройка потоков событий выходит за рамки этого документа, однако предполагается, что такие потоки заранее организуются производителем (предварительная настройка), настраиваются пользователем (например, в конфигурации устройства) или задаются комбинацией этих вариантов. Производители могут разрешать настройку потоков событий про протоколу NETCONF (например, с помощью операции <edit-config> operation).

3.2.2. Формат содержимого потока событий

Содержимое всех потоков событий, доступных клиентам NETCONF (например, в уведомлениях от сервера NETCONF) должно кодироваться в XML.

3.2.3. Принятый по умолчанию поток событий

Реализация сервера NETCONF с поддержкой уведомлений должна поддерживать поток уведомлений о событиях NETCONF. Этот поток содержит уведомления NETCONF XML о событиях, поддерживаемые сервером NETCONF. Строка NETCONF используется при анонсировании поддержки потока событий в операции <get> для <streams> и операции <create-subscription>. Определение уведомлений о событиях и их содержимого, за исключением <eventTime>, выходит за рамки этого документа.

3.2.4. Источники потоков событий

За исключением принятого по умолчанию потока событий (NETCONF), спецификация дополнительных источников событий (например, SNMP1, syslog) выходит за рамки этого документа. Реализация сервера NETCONF может использовать любой желаемый источник событий при организации поддерживаемых потоков событий.

3.2.5. Обнаружение потоков событий

Клиент NETCONF извлекает список поддерживаемых сервером NETCONF событий с помощью операции <get>.

3.2.5.1. Извлечение имени с помощью операции <get>

Список доступных потоков событий извлекается путём запроса ветви <streams> с помощью операции <get>. Доступные для запрашивающей сессии потоки событий возвращаются в отклике с элементами <name> и <description>, где <name> является обязательным элементом с уникальным в рамках сервера NETCONF именем. При отсутствии доступных потоков событий (с учётом заданных в операции <get> фильтров) возвращается пустой отклик.

Дополнительные сведения о потоке включают информацию о поддержке воспроизведения и, при наличии такой поддержки, — метку времени наиболее раннего уведомления, которое можно воспроизвести.

Ниже приведён пример, показывающий извлечение списка доступных событий с помощью операции <get>.

   <rpc message-id="101"
      xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <get>
      <filter type="subtree">
        <netconf xmlns="urn:ietf:params:xml:ns:netmod:notification">
           <streams/>
         </netconf>
      </filter>
     </get>
   </rpc>

Сервер NETCONF возвращает список доступных для подписки потоков — NETCONF, SNMP, syslog-critical.

   <rpc-reply message-id="101"
                    xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <data>
       <netconf  xmlns="urn:ietf:params:xml:ns:netmod:notification">
        <streams>
           <stream>
              <name>NETCONF</name>
              <description>Принятый по умолчанию поток событий NETCONF
              </description>
              <replaySupport>true</replaySupport>
              <replayLogCreationTime>
                2007-07-08T00:00:00Z
              </replayLogCreationTime>
           </stream>
           <stream>
              <name>SNMP</name>
              <description>Уведомления SNMP</description>
              <replaySupport>false</replaySupport>
           </stream>
           <stream>
             <name>syslog-critical</name>
             <description>Критическая и высокая важность</description>
             <replaySupport>true</replaySupport>
             <replayLogCreationTime>
               2007-07-01T00:00:00Z
             </replayLogCreationTime>
            </stream>
           </streams>
         </netconf>
     </data>
   </rpc-reply>
3.2.5.2. Подписка на поток событий

Клиент NETCONF может запросить у сервера NETCONF список доступных потоков событий для этой сессии и затем подать запрос <create-subscription> с именем нужного потока. Запрос <create-subscription> без указания имени организует подписку на принятый по умолчанию поток событий NETCONF.

3.2.5.2.1. Фильтрация содержимого потока событий

Набор уведомлений, доставляемых в потоке событий, можно уточнить с помощью заданного пользователем фильтра при организации подписки (<create-subscription>). Это временный фильтр, связанный с подпиской и не меняющий конфигурацию потока событий. Элемент фильтрации применяется к содержимого <notification>, а не к самому элементу. Примеры представлены в разделе 5. Возможна фильтрация по ветвям и выражениям XPATH.

Поддержка XPATH для свойства Notification анонсируется как часть обычного анонса возможностей XPATH. Если поддержка XPATH анонсируется с возможностями XPATH, будет поддерживаться и фильтрация XPATH. Если эта возможность не анонсируется, фильтрация уведомлений по XPATH не будет поддерживаться.

3.3. Воспроизведение уведомлений

3.3.1. Обзор

Воспроизведение даёт возможность подписки на события из недавнего прошлого и в некоторых случаях передавать все записанные уведомления при первом обращении конкретного клиента NETCONF. Эти уведомления передаются обычным способом.

Воспроизвдение уведомлений задаётся включением в запрос подписки параметра <startTime>, указывающего время первого воспроизводимого уведомления. Можно задать также время окончания параметром <stopTime>. Если этот параметр не указан, уведомления передаются до прерывания подписки.

Для потока уведомлений с поддержкой воспроизведения не предполагается неограниченное хранение уведомлений для выполнения любого запроса на воспроизведение. Клиенты могут запросить <replayLogCreationTime> и <replayLogAgedTime>, чтобы узнать доступные для воспроизведения временные рамки.

Фактическое число доступных для воспроизведения уведомлений в данный момент времени зависит от реализации сервера NETCONF. Параметры управления для этого аспекта функции воспроизведения выходят за рамки документа.

Воспроизведение зависит от потока уведомлений, способного поддерживать ту или иную форму записи (log), хотя и не накладывается ограничений на размер или форму журнала, а также его местоположение на устройстве. Узнать о поддержке воспроизведения для потока можно с помощью операции <get> для элемента <streams> в схеме the Notification Management и просмотра полученного объекта <replaySupport>. Эта схема также включает элемент <replayLogCreationTime>, указывающий самую раннюю из доступных в журнале записей.

3.3.2. Организация подписки с воспроизведением

Эта функция использует необязательные параметры команды <create-subscription>, называемые <startTime> и <stopTime>. Параметр <startTime> указывает начальную дату и время интересующих событий для воспроизведения и указывает, что подписка будет обеспечивать воспроизведение уведомлений. Событие до указанного момента не будут воспроизводиться. Параметр <stopTime> задаёт дату и время завершения интересующих событий для воспроизведения уведомлений. При отсутствии параметра воспроизведение будет продолжаться до прерывания подписки.

Отметим, что параметры <startTime> и <stopTime> связаны со временем генерации событий их источником.

Уведомление <replayComplete> передаётся для указания передачи всех воспроизводимых уведомлений и применять его в иных целях недопустимо. Если для подписки не задано время остановки, сессия становится обычной сессией NETCONF. После этого сервер NETCONF будет воспринимать операции <rpc>, даже если ранее он не принимал их по причине отсутствия чередования. В случае подписки без указания времени остановки после отправки уведомления <replayComplete> можно ожидать, что будут переданы любые уведомления, созданные после начала подписки, а затем уведомления будут передаваться по мере их появления в системе.

Уведомления <replayComplete> и <notificationComplete> не фильтруются и будут передаваться всегда для подписки с воспроизведением при указании параметров <startTime> и <stopTime>, соответственно.

3.4. Схема управления уведомлениями

Эта схема служит для получения сведений о поддерживаемых в системе потоках уведомлений. Она содержит определения уведомлений <replayComplete> и <notificationComplete>, передаваемых для индикации того, что все уведомления при воспроизвдении переданы и подписка прервана, соответственно.

 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0"
     xmlns:ncEvent="urn:ietf:params:xml:ns:netconf:notification:1.0"
     xmlns:manageEvent="urn:ietf:params:xml:ns:netmod:notification"
     targetNamespace="urn:ietf:params:xml:ns:netmod:notification"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified"
     xml:lang="ru" version="1.0">
     <xs:annotation>
         <xs:documentation xml:lang="ru">
             Схема, которая может служить для получения сведений о
             текущих потоках событий. Она также включает уведомления 
             replayComplete и notificationComplete.
         </xs:documentation>
     </xs:annotation>

 <xs:import namespace="http://www.w3.org/XML/1998/namespace" 
         schemaLocation="http://www.w3.org/2001/xml.xsd"/> 
 <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
     schemaLocation="netconf.xsd"/>
 <xs:import namespace=
     "urn:ietf:params:xml:ns:netconf:notification:1.0"
       schemaLocation="notification.xsd"/>

 <xs:element name="netconf" type="manageEvent:Netconf"/>

 <xs:complexType name="Netconf">
   <xs:sequence>
       <xs:element name="streams" >
         <xs:annotation>
            <xs:documentation>
              Список потоков событий, поддерживаемых системой.
              По запросу возвращается набор потоков в соответствии
              с правами пользователя.
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
              <xs:element name="stream">
                 <xs:annotation>
                   <xs:documentation>
                     Имя и описание потока, а также иные сведения.
                   </xs:documentation>
                 </xs:annotation>
                 <xs:complexType>
                   <xs:sequence>
                     <xs:element name="name"
                             type="ncEvent:streamNameType">
                        <xs:annotation>
                          <xs:documentation>
                            Имя потока событий. Для заданного по 
                            умолчанию потока событий NETCONF должно
                            использоваться значение NETCONF.
                          </xs:documentation>
                        </xs:annotation>
                     </xs:element>
                     <xs:element name="description"
                                         type="xs:string">
                        <xs:annotation>
                          <xs:documentation>
                            Описание потока событий с указанием типа
                            событий, передаваемых в этом потоке.
                          </xs:documentation>
                        </xs:annotation>
                     </xs:element>
                     <xs:element name="replaySupport"
                                         type="xs:boolean">
                      <xs:annotation>
                          <xs:documentation>
                            Указывает, поддерживается ли воспроизведение
                            для этого потока.
                          </xs:documentation>
                        </xs:annotation>
                     </xs:element>
                     <xs:element name="replayLogCreationTime"
                                    type="xs:dateTime" minOccurs="0">
                       <xs:annotation>
                         <xs:documentation>
                        Временная метка создания журнала для функции
                        воспроизведения в этом потоке. Отметим, что это
                        может быть раньше наиболее давнего уведомления
                        в журнале. Объект обновляется при сбросе журнала
                        по какой-либо причине. Объект ДОЛЖЕН 
                        присутствовать, если поддерживается 
                        воспроизведение.
                          </xs:documentation>
                        </xs:annotation>
                      </xs:element>
                      <xs:element name="replayLogAgedTime"
                             type="xs:dateTime" minOccurs="0">
                        <xs:annotation>
                          <xs:documentation>
                            Временная метка последнего устаревшего 
                            уведомления в журнале. Объект ДОЛЖЕН 
                            присутствовать, если поддерживается 
                            воспроизведение и объекты удалялись из 
                            журнала в результате старения.
                          </xs:documentation>
                        </xs:annotation>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
     </xs:sequence>
     </xs:complexType>

     <xs:complexType name="ReplayCompleteNotificationType">
         <xs:complexContent>
             <xs:extension base="ncEvent:NotificationContentType"/>
         </xs:complexContent>
     </xs:complexType>

     <xs:element name="replayComplete"
         type="manageEvent:ReplayCompleteNotificationType"
         substitutionGroup="ncEvent:notificationContent">
                 <xs:annotation>
           <xs:documentation>
             Это уведомление передаётся для индикации завершения
             воспроизводимой части подписки.
           </xs:documentation>
         </xs:annotation>
         </xs:element>

     <xs:complexType name="NotificationCompleteNotificationType">
         <xs:complexContent>
             <xs:extension base="ncEvent:NotificationContentType"/>
         </xs:complexContent>
     </xs:complexType>

     <xs:element name="notificationComplete"
         type="manageEvent:NotificationCompleteNotificationType"
         substitutionGroup="ncEvent:notificationContent">
                 <xs:annotation>
           <xs:documentation>
             Это уведомление передаётся для индикации завершения
             подписки на уведомления. Оно передаётся, если при 
             организации подписки был задан параметр stopTime.
           </xs:documentation>
         </xs:annotation>
         </xs:element>

 </xs:schema>

3.5. Данные подписки

Подписки представляют меняющиеся сведения о состоянии и срок их действия определяет сессия или параметр <stopTime>.

3.6. Детали фильтрации

Если задан элемент фильтра для поиска определённых данных и таких данных нет в конкретном уведомлении о событии, уведомление будет отфильтровано. Например, если задана проверка severity=critical в уведомлении о событии конфигурации, где это поле не поддерживается, уведомление не пройдёт через фильтр.

Для фильтрации ветвей (subtree) совпадение означает непустой набор узлов, для фильтров XPath следует применять механизмы [XPATH] для преобразования возвращённого значения в логическое (boolean).

3.6.1. Фильтрация

Фильтрация задаётся явно при организации подписки с помощью параметра filter. Фильтр существует лишь как параметр подписки.

3.7. Поток сообщений

На рисунке 3 показан поток сообщений между клиентом (C) и сервером (S) NETCONF при организации подписки и в начале потока уведомлений. Подписка задаёт <startTime>, поэтому сервер начинает воспроизведение записанных уведомлений. Возможен обмен несколькими запросами-откликами в процессе организации подписки, но на рисунке это не показано.

C                           S
|                           |
|  capability exchange      |
|-------------------------->|
|<------------------------->|
|                           |
|  <create-subscription>    | (startTime)
|-------------------------->|
|<--------------------------|
|     <rpc-reply>           |
|                           |
|     <notification>        |
|<--------------------------|
|                           |
|     <notification>        |
|<--------------------------|
|      <notification>       | (replayComplete)
|<--------------------------|
|                           |
|                           |
|                           |
|     <notification>        |
|<--------------------------|
|                           |
|                           |
|     <notification>        |
|<--------------------------|
|                           |
|                           |

Рисунок 3.


На рисунке 4 показан обмен сообщениями между клиентом (C) и сервером (S) NETCONF при организации подписки и в начале потока уведомлений. Подписка задаёт параметры <startTime> и <stopTime>, поэтому начинается воспроизведение записанных уведомлений с последующим переходом сессии в обычный режим NETCONF запрос-отклик после передачи уведомлений <replayComplete> и <notificationComplete>, когда становится возможной обычная обработка запросов <rpc>. Возможен обмен множеством пар rpc/rpc-reply до организации подписки, но на рисунке это не показано.

C                           S
|                           |
|  capability exchange      |
|-------------------------->|
|<------------------------->|
|                           |
|  <create-subscription>    | (startTime,
|-------------------------->|  stopTime)
|<--------------------------|
|     <rpc-reply>           |
|                           |
|     <notification>        |
|<--------------------------|
|                           |
|     <notification>        |
|<--------------------------|
|      <notification>       | (replayComplete)
|<--------------------------|
|      <notification>       |(notificationComplete)
|<--------------------------|
|                           |
|                           |
|                           |
|          <rpc>            |
|-------------------------->|
|<--------------------------|
|       <rpc-reply>         |
|                           |

Рисунок 4.


4. Схема XML для уведомлений о событиях

Ниже показана схема [XMLSchema], определяющая уведомления о событиях NETCONF.

<?xml version="1.0" encoding="UTF-8"?>
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"
     xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0"
     targetNamespace=
        "urn:ietf:params:xml:ns:netconf:notification:1.0"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified"
       xml:lang="ru">

    <!-- Импорт стандартных определений XML -->

     <xs:import namespace="http://www.w3.org/XML/1998/namespace"
                schemaLocation="http://www.w3.org/2001/xml.xsd">
       <xs:annotation>
         <xs:documentation>
           Импорт обращается к группам атрибутов xml: для получения
           xml:lang, объявленного в элементе error-message.
         </xs:documentation>
       </xs:annotation>
     </xs:import>

     <!-- Импорт базовых определений netconf -->
     <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
       schemaLocation="netconf.xsd"/>

<!-- ************** Симметричные операции  ********************-->

     <!-- Операция <create-subscription> -->

    <xs:complexType name="createSubscriptionType">
        <xs:complexContent>
            <xs:extension base="netconf:rpcOperationType">
                <xs:sequence>
                    <xs:element name="stream"
                        type="streamNameType" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation>
                               Необязательный параметр для указания
                               потока интересующий событий. По умолчанию
                               передаётся поток событий NETCONF.
                            </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                        <xs:element name="filter"
                            type="netconf:filterInlineType"
                            minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>
                                    Необязательный параметр для указания
                                    набора интересующих событий. Формат
                                    параметра совпадает с форматом 
                                    фильтров операций протокола NETCONF.
                                    По умолчанию передаются все события,
                                    не заблокированные другими 
                                    параметрами.
                                </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    <xs:element name="startTime" type="xs:dateTime"
                        minOccurs="0" >
                        <xs:annotation>
                            <xs:documentation>
                                Параметр для инициирования функции
                                воспроизведения, указывающий время
                                начала. Отсутствие параметра указывает,
                                что воспроизведение не применяется.
                            </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="stopTime" type="xs:dateTime"
                        minOccurs="0" >
                        <xs:annotation>
                            <xs:documentation>
                                Необязательный параметр для применения с
                                функцией воспроизведения, для указания
                                интереса к уведомлениям до указанного
                                момента. При отсутствии параметра 
                                уведомления передаются до прерывания
                                подписки. Параметр должен использоваться
                                вместе с startTime.
                            </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:simpleType name="streamNameType">
        <xs:annotation>
            <xs:documentation>
                Имя потока событий.
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:element name="create-subscription"
        type="createSubscriptionType"
        substitutionGroup="netconf:rpcOperation">
        <xs:annotation>
            <xs:documentation>
                Команда для организации подписки на уведомления. Она
                принимает имя потока уведомления и фильтр для указания
                содержимого подписки. Имеются также временные параметры
                startTime и stopTime, служащие для выбора интервала 
                интересующих событий при воспроизведении уведомлений.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

<!-- ************** Односторонние операции ******************-->

     <!-- Операция <Notification> -->
     <xs:complexType name="NotificationContentType"/>

    <xs:element name="notificationContent"
        type="NotificationContentType" abstract="true"/>

    <xs:complexType name="NotificationType">
        <xs:sequence>
            <xs:element name="eventTime" type="xs:dateTime">
              <xs:annotation>
                <xs:documentation>
                Время события, указанное его источником.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="notificationContent"/>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="notification" type="NotificationType"/>
  </xs:schema>

5. Примеры фильтрации

В этом разделе даны примеры различных методов фильтрации содержимого подписки на уведомления. Для примеров нужны некоторые предположения о содержимом уведомлений. Здесь предполагается, что определение схемы включает на верхнем уровне элемент <event>, включающий класс события (например, отказ, статус, конфигурация), оповещающих объект и важность или рабочее состояние. Для генерации примеров использовалась приведенная ниже фиктивная схема.

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema targetNamespace="http://example.com/event/1.0"
       xmlns="http://example.com/event/1.0"
       elementFormDefault="qualified"
       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xmlns:ncEvent="urn:ietf:params:xml:ns:netconf:notification:1.0">

       <xs:import namespace=
           "urn:ietf:params:xml:ns:netconf:notification:1.0"
           schemaLocation="notification.xsd"/>

       <xs:complexType name="eventType">
           <xs:complexContent>
               <xs:extension base="ncEvent:NotificationContentType">
                   <xs:sequence>
                       <xs:element name="eventClass" />
                       <xs:element name="reportingEntity">
                           <xs:complexType>
                               <xs:sequence>
                                   <xs:any namespace="##any"
                                   processContents="lax"/>
                               </xs:sequence>
                           </xs:complexType>
                       </xs:element>
                       <xs:choice>
                           <xs:element name="severity"/>
                           <xs:element name="operState"/>
                       </xs:choice>
                   </xs:sequence>
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>

       <xs:element name="event"
           type="eventType"
           substitutionGroup="ncEvent:notificationContent"/>

   </xs:schema>

Приведённое выше фиктивное определение может приводить к показанному ниже списку уведомлений, используемых в примерах этого разделаsection.

   <notification
      xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
      <eventTime>2007-07-08T00:01:00Z</eventTime>
      <event xmlns="http://example.com/event/1.0">
         <eventClass>fault</eventClass>
         <reportingEntity>
             <card>Ethernet0</card>
         </reportingEntity>
         <severity>major</severity>
       </event>
   </notification>

   <notification
     xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
      <eventTime>2007-07-08T00:02:00Z</eventTime>
      <event xmlns="http://example.com/event/1.0">
          <eventClass>fault</eventClass>
          <reportingEntity>
              <card>Ethernet2</card>
          </reportingEntity>
          <severity>critical</severity>
       </event>
   </notification>

   <notification
     xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
      <eventTime>2007-07-08T00:04:00Z</eventTime>
      <event xmlns="http://example.com/event/1.0">
          <eventClass>fault</eventClass>
          <reportingEntity>
               <card>ATM1</card>
           </reportingEntity>
           <severity>minor</severity>
      </event>
   </notification>

   <notification
     xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
     <eventTime>2007-07-08T00:10:00Z</eventTime>
     <event xmlns="http://example.com/event/1.0">
         <eventClass>state</eventClass>
         <reportingEntity>
             <card>Ethernet0</card>
         </reportingEntity>
         <operState>enabled</operState>
      </event>
   </notification>

5.1. Фильтр ветвей

Фильтрация по ветвям XML мало подходит для создания сложных фильтров, поскольку она поддерживает лишь сравнение на равенство и применение логических операторов ИЛИ (OR), например, в ветви event выбрать все уведомления с severity=critical, severity=major или severity=minor. Тем не менее, такие фильтры можно применять для определения простых фильтров пересылки уведомлений, как показано ниже.

Далее показано, как выбрать отказы с важностью critical, major или minor. Выражение для фильтра имеет форму ((fault & severity=critical) | (fault & severity=major) | (fault & severity=minor)).

        <netconf:rpc netconf:message-id="101"
                xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
          <create-subscription
              xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
            <filter netconf:type="subtree">
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>critical</severity>
              </event>
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>major</severity>
              </event>
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>minor</severity>
              </event>
            </filter>
          </create-subscription>
        </netconf:rpc>

Ниже показано, как выбрать состояние, настройку или отказ сетевого адаптера Ethernet0. Выражение для фильтра имеет вид ( state | config | ( fault & ( card=Ethernet0))).

<netconf:rpc netconf:message-id="101"
                xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
      <create-subscription
          xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
        <filter netconf:type="subtree">
          <event xmlns="http://example.com/event/1.0">
            <eventClass>state</eventClass>
          </event>
          <event xmlns="http://example.com/event/1.0">
            <eventClass>config</eventClass>
          </event>
          <event xmlns="http://example.com/event/1.0">
            <eventClass>fault</eventClass>
            <reportingEntity>
              <card>Ethernet0</card>
            </reportingEntity>
          </event>
        </filter>
      </create-subscription>
</netconf:rpc>

5.2. Фильтры XPATH

Пример фильтра [XPATH] показывает, как выбрать уведомления EventClass с важностью critical, major или minor. Выражение для фильтра имеет вид ((fault) & ((severity=critical) | (severity=major) | (severity = minor))).

      <netconf:rpc netconf:message-id="101"
                xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
        <create-subscription
              xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
          <filter netconf:type="xpath"
                  xmlns:ex="http://example.com/event/1.0"
             select="/ex:event[ex:eventClass='fault' and
                  (ex:severity='minor' or ex:severity='major'
                       or ex:severity='critical')]"/>
        </create-subscription>
      </netconf:rpc>

Далее показано, как выбрать состояние, настройку или отказ сетевого адаптера Ethernet0. Выражение для фильтра имеет вид ( state | config | (fault & card=Ethernet0))

     <netconf:rpc message-id="101"
              xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
        <create-subscription
           xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
             <filter netconf:type="xpath"
                     xmlns:ex="http://example.com/event/1.0"
                select="/ex:event[
                   (ex:eventClass='state' or ex:eventClass='config') or
                   ((ex:eventClass='fault' and ex:card='Ethernet0'))]"/>
       </create-subscription>
     </netconf:rpc>

6. Способность чередования

6.1. Описание

Свойство :interleave указывает, что партнёр NETCONF способен чередовать подписку на уведомления с другими операциями NETCONF. Это означает, что сервер NETCONF должен принимать, обрабатывать и отвечать на запросы NETCONF в сессии, где активна подписка на уведомления. Такая возможность способствует расширяемости за счёт снижения общего числа сессий NETCONF, требуемых оператору или управляющему приложению.

6.2. Зависимости

Эта возможность зависит от поддержки уведомлений.

6.3. Идентификатор возможности

Возможность :interleave указывается строкой urn:ietf:params:netconf:capability:interleave:1.0

6.4. Новые операции

Нет.

6.5. Изменения имеющихся операций

Когда передаётся запрос <create-subscription> при наличии другой активной подписки в той же сессии, возвращается ошика, показанная ниже.

      Tag: operation-failed
      Error-type: protocol
      Severity: error
      Error-info: none
      Description: Запрос невозможно выполнить, поскольку операция 
      столкнулась в отказом по причинам, не охватываемым другими 
      условиями ошибок.

7. Вопросы безопасности

Соображения безопасности из [NETCONF] применимы к свойству уведомлений (Notification capability).

Модель контроля доступа и выбор транспорта будут оказывать существенное влияние на безопасность решения.

Элементы <notification> никогда не передаются до завершения организации транспортного уровня и уровня NETCONF, включая обмен возможностями, а также до определения и проверки подлинности менеджера.

Рекомендуется позаботиться о безопасности:

  • вызовов <create-subscription>;

  • операций <get> для доступных лишь для чтения узлов;

  • содержимого <notification>.

Безопасное выполнение означает применение защищённого транспорта и гарантии наличия у пользователя прав на выполнение функций, запрашивающих определённую часть содержимого NETCONF. При получении вызова <get> для заданного этим документом содержимого клиентам следует предоставлять возможность просмотра лишь того содержимого, к которому им предоставлен доступ. Вызов <create-subscription> можно считать отложенной операцией <get> для содержимого, к которому могут получать доступ разные пользователи различными способами.

Разные права доступа отражаются в элементах <notification>, к которым разные пользователи имеют доступ.

Одна из возможных проблем безопасности связана с доставкой данных из потоков, не относящихся к NETCONF, таких как syslog и SNMP. Эти данные могут быть более (или менее) уязвимыми при транспортировке через NETCONF по сравнению с доставкой по обычно используемым для них протоколам, в зависимости от свидетельств (credential) защиты двух подсистем. Сервер NETCONF отвечает за контроль доступа к содержимому потока.

Содержимое уведомлений и имена потоков событий могут включать чувствительные сведения и следует позаботиться о том, чтобы они были доступны лишь уполномоченным пользователям. Серверу NETCONF недопустимо включать в уведомления какие-либо данные, к которым пользователю не предоставлен доступ.

Если подписка создана с параметром <stopTime>, сессия NETCONF будет возвращаться к обычному режиму NETCONF (запрос-отклик) по окончании воспроизведения. Клиенты отвечают за закрытие сессии, когда она становится ненужной.

Если враждебный или содержащий ошибки клиент NETCONF передаёт множество запросов <create-subscription>, они аккумулируются и могут истощать ресурсы системы. В таких ситуациях подписка может быть прервана путём завершения базовых сессий NETCONF с помощью операции <kill-session>.

8. Взаимодействие с IANA

Этот документ регистрирует три URI для пространства имён NETCONF XML в реестре IETF XML в соответствии с [RFC3688]. Отметим, что URN возможностей соответствуют параграфу 10.3 в [NETCONF].

 

Индекс

Идентификатор возможности

:notification

urn:ietf:params:netconf:capability:notification:1.0

:interleave

urn:ietf:params:netconf:capability:interleave:1.0

 

   URI: urn:ietf:params:xml:ns:netmod:notification
   URI: urn:ietf:params:xml:ns:netconf:notification:1.0
   Registrant Contact: The IESG.
   XML: N/A, запрошенный URI является пространством имён XML.

Кроме того, агентство IANA зарегистрировало схему XML, заданную в разделе 4.

9. Благодарности

Спасибо Gilbert Gagnon, Greg Wilbur, Kim Curran за их вклад на раннем этапе работы над документом. Редакторы признательны за вклад в работу на сессии редактирования в Ванкувере Orly Nicklass, James Balestriere, Yoshifumi Atarashi, Glenn Waters, Alexander Clemm, Dave Harrington, Dave Partain, Ray Atarashi, David Perkins, а также на сессии редактирования в Монреале — Balazs Lengyel, Phil Shafer, Rob Enns, Andy Bierman, Dan Romascanu, Bert Wijnen, Simon Leinen, Juergen Schoenwaelder, Hideki Okita, Vincent Cridlig, Martin Bjorklund, Olivier Festor, Radu State, Brian Trammell, William Chow. Спасибо Li Yan за многочисленные рецензии и Suresh Krishnan — за общий обзор документа.

10. Нормативные документы

[NETCONF] Enns, R., Ed., «NETCONF Configuration Protocol», RFC 4741, December 2006.

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

[RFC3339] Klyne, G., Ed. and C. Newman, «Date and Time on the Internet: Timestamps», RFC 3339, July 2002.

[RFC3688] Mealling, M., «The IETF XML Registry», BCP 81, RFC 3688, January 2004.

[XML] World Wide Web Consortium, «Extensible Markup Language (XML) 1.0», W3C XML, February 1998, <http://www.w3.org/TR/1998/REC-xml-19980210>.

[XMLSchema] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, «XML Schema Part 1: Structures Second Edition», W3C http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html, October 2004.

[XPATH] Clark, J. and S. DeRose, «XML Path Language (XPath) Version 1.0», W3C http://www.w3.org/TR/1999/REC-xpath-19991116, November 1999.

Адреса авторов

Sharon Chisholm
Nortel
3500 Carling Ave
Nepean, Ontario K2H 8E9
Canada
EMail: schishol@nortel.com
 
Hector Trevino
Cisco
Suite 400
9155 E. Nichols Ave
Englewood, CO 80112
USA
EMail: htrevino@cisco.com

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008). К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

1Simple Network Management Protocol — простой протокол управления сетью.

Рубрика: RFC | Оставить комментарий

RFC 5251 Layer 1 VPN Basic Mode

Network Working Group                                      D. Fedyk, Ed.
Request for Comments: 5251                                        Nortel
Category: Standards Track                                Y. Rekhter, Ed.
                                                        Juniper Networks
                                                        D. Papadimitriou
                                                          Alcatel-Lucent
                                                               R. Rabbat
                                                                  Google
                                                               L. Berger
                                                                    LabN
                                                               July 2008

 

Базовый режим VPN уровня 1

Layer 1 VPN Basic Mode

PDF

Статус документа

В этом документе описан проект стандартного протокола Internet, предложенного сообществу Internet, документ служит приглашением к дискуссии в целях развития предложенного протокола. Текущее состояние стандартизации протокола можно узнать из документа Internet Official Protocol Standards (STD 1). Документ может распространяться свободно.

Аннотация

В этом документе описан базовый режим VPN уровня 1 (L1VPN1). Базовый режим L1VPN (L1VPN BM2) представляет собой виртуальные частные сети (VPN) на основе портов. В L1VPN базовым элементом сервиса является путь с коммутацией по меткам (LSP3) между парой пользовательских портов с данной топологией портов VPN. В этом документе определена рабочая модель, использующая механизм предоставления или автоматического обнаружения VPN, а также сигнальные расширения для L1VPN BM.

1. Введение

В этом документе описан базовый режим VPN уровня 1 (L1VPN BM), кратко очерченный в [RFC4847]. Вопросы применимости VPN уровня 1 рассмотрены в [RFC5253]. В этом документе рассматривается сеть сервис-провайдера уровня 14, которая состоит из устройств, поддерживающих GMPLS (например, устройств LSC5, оптических кросс-коннекторов, кросс-коннекторов SONET/SDH6 и т. п.). Эти устройства будем делить на провайдерские (P) и краевые (PE7). В контексте этого документа будем просто обозначать устройства первого типа P, а второго — PE. Устройства P подключаются только к внутренним устройствам сети провайдера. Устройства PE подключаются к другим устройствам (P или PE) в сети провайдера, а также к внешним по отношению к этой сети устройствам. Будем называть такие устройства пользовательскими (CE8). Примером CE могут быть поддерживающие GMPLS устройства типа маршрутизаторов, кросс-коннекторов SDH или коммутаторов Ethernet.

[RFC4208] определяет сигнализацию от CE к PE. Используемый в [RFC4208] термин CN9 соответствует узлам P и PE, а EN10 — узлам CE. Здесь дополнительно определяется термин «edge Core Node11«, соответствующий устройствам PE.

               +---+    +---+
               | P |....| P |
               +---+    +---+
              /              \
        +-----+               +-----+    +--+
+--+    |  PE |               |     |----|  |
|CE|----|     |               |     |    |CE|
+--+\   +-----+               |     |----|  |
     \     |                  | PE  |    +--+
      \ +-----+               |     |
       \| PE  |               |     |    +--+
        |     |               |     |----|CE|
        +-----+               +-----+    +--+
              \              /
               +---+    +---+
               | P |....| P |
               +---+    +---+

Рисунок 1. Централизованная модель L1VPN.

На рисунке 1 показаны компоненты сети L1VPN.

В этом документе описано как сервис L1VPN BM может быть реализован с использованием предоставления12 или автоматического детектирования VPN, механизмов сигнализации [RFC3471, RFC3473], маршрутизации [RFC4202] и LMP13 [RFC4204] протокола GMPLS14.

Требования к автоматическому детектированию L1VPN [RFC4847] подобны требованиям к автоматическому детектированию L3VPN. Как и в L3VPN возможен выбор протокола, используемого для автоматического детектирования. В параграфе 4.1.1 рассматривается информация, которую нужно детектировать.

Маршрутизация и сигнализация GMPLS без расширений используются в сети провайдера для организации и поддержки соединений LSC или SONET/SDH TDM между узлами провайдера. Это соответствует модели [RFC4208].

В базовом режиме L1VPN LMP упрощает заполнение таблиц PIT15 сервис-провайдера. Вместо этого LMP может использоваться как опция для автоматизации локального обнаружения каналов от CE к PE. LMP также может расширять возможности маршрутизации (в расширенном режиме), а также средства обработки отказов.

Организация L1VPN между разными провайдерами или автономными системами требует дополнительного анализа.

1.1. Используемые в документе соглашения

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с [RFC2119].

В документе предполагается, что читатель знаком с терминами, определенными и используемыми в [RFC3945], [RFC3471], [RFC3473], [RFC3477], [RFC4201], [RFC4202], [RFC4204], [RFC4208] и документах, на которые те ссылаются.

2. Сервис Layer 1 VPN

Услуги VPN уровня 1 на пользовательских и провайдерских портах могут предоставляться на любых интерфейсах уровня 1, поддерживаемых GMPLS. Поскольку предлагаемые в этом документе механизмы используют для сигнализации GMPLS, а GMPLS работает для интерфейсов SONET/SDH (TDM16) и LSC, услуги L1VPN предоставляются оборудованию, работающему на основе LSC или TDM (но не ограничиваются только этими типами оборудования). Отметим, что в этом документе описаны L1VPN базового типа, что обуславливает два требования:

  1. GMPLS RSVP-TE используется для сигнализации в сети провайдера (между PE), а также между оборудованием провайдера и пользовательским оборудованием (между CE и PE);

  2. маршрутизация GMPLS на канале от CE к PE выходит за пределы базового режима работы L1VPN (см. [RFC4847]).

Устройства CE соединяются с PE через один или множество каналов. В контексте этого документа канал представляет собой конструкцию GMPLS TE17, определенную в [RFC4202]. В контексте этого документа канал TE представляет собой логическую конструкцию, являющуюся частью VPN, и обеспечивает возможность представления множества устройств CE, образующих VPN. Интерфейсы на конце каждого канала относятся к типам TDM или LSC, поддерживаемым GMPLS. Говоря точнее, канал <CE, PE> должен относиться к типу <X, LSC> или <Y, TDM>, где X представляет собой PSC18, L2SC19 или TDM, Y представляет собой PSC или L2SC. В случаях, когда LSP не завершается устройством CE, X может также представлять собой устройство LSC, а Y — устройство TDM. Одним из применений L1VPN является предоставления услуг virtual private lambda20 или подобных им. В таких случаях CE является истинно конечной точкой в терминах GMPLS, и возможности коммутации на канале TE не имеют отношения к делу (хотя его идентификатор GPID21 должен использоваться для сигнализации и совпадать на обоих CE22).

Подобно этому, PE могут представлять собой любые устройства уровня 1, поддерживаемые GMPLS (например, оптические кросс-коннекторы, кросс-коннекторы SDH), тогда как CE могут быть устройствами уровня 1, 2 или 3 (например, кросс-коннекторами SDH, коммутаторами Ethernet или маршрутизаторами, соответственно).

Каждое соединение TE может состоять из одного или множества каналов или субканалов (например, длина волны или длина волны и временной интервал23, соответственно). В рамках нашего обсуждения все каналы в данном соединении должны иметь похожие разделяемые параметры (например, возможности коммутации24, кодирование, тип и т. п.) и могут выбираться независимо с точки зрения CE. Для каналов на разных соединениях CE одинаковые характеристики не требуются.

Для данной пары CE-PE может существовать более одного соединения TE. Устройство CE может быть подключено к нескольким PE (по крайней мере через один порт на каждом PE). И, наоборот, PE может иметь более одного подключенного CE из различных VPN.

Если CE соединен с PE множеством каналов TE, относящихся к одной VPN, эти каналы (их называют компонентами) можно рассматривать как один канал TE, используя конструкции связок (bundling) [RFC4201].

Для выполнения требований базового режима L1VPN требуется, чтобы для данной пары CE-PE хотя бы один канал между ними имел по крайней мере один опорный (bearing) канал и по крайней мере один управляющий опорный канал или присутствовала IP-связность между CE и PE, которую можно использовать для обмена управляющей информацией.

Канал point-to-point имеет две конечных точки — CE и PE. В этом документе первая называется портом CE, вторая — портом PE. Из сказанного выше следует, что CE соединен с PE через один или множество портов и каждый порт может состоять из одного или множества каналов или субканалов (например, длина волны или длина волны и временной интервал), все каналы данного порта имеют похожие характеристики и могут быть поменяны местами с точки зрения CE. По аналогии с определением канала TE,порты в контексте этого документа являются логическими конструкциями, которые служат для представления групп физических ресурсов, используемых для подключения CE к PE на основе L1VPN.

В любой заданный момент данный порт PE связан не более, чем с одной L1VPN, точнее не более, чем с одной таблицей информации порта (Port Information Table), поддерживаемой PE (хотя разные порты в данном PE могут быть связаны с разными L1VPN или, точнее, с разными таблицами информации портов). Связь порта с VPN может определяться путем организации взаимосвязей на устройствах сервис-провайдера. Иными словами, контекст принадлежности к VPN в базовом режиме находится под управлением сервис-провайдера.

Требуется, чтобы интерфейс (между CE и PE, используемый для сигнализации) был способен инициировать/обрабатывать протокольные сообщения GMPLS [RFC3473] и следовал процедурам, описанным в [RFC4208].

Важной задачей сервиса L1VPN является возможность поддержки «одной точки обслуживания» (single-ended provisioning), когда добавление нового порта в данную L1VPN включает изменение конфигурации только в PE, содержащем этот порт. Расширение этой модели на CE выходит за рамки L1VPN BM.

Другой важной задачей сервиса L1VPN является организация/завершение LSP между парой (существующих) портов внутри L1VPN от устройств CE без изменения конфигурации в каких-либо устройствах сервис-провайдера. Иными словами, топология VPN находится под управлением CE (предполагается, что нижележащая связность PE-PE обеспечивается и разрешена сетью).

Описанные в этом документе механизмы направлены на решение этих задач. В частности, как компоненты сервиса L1VPN, эти механизмы (1) позволяют сервис-провайдеру ограничить набор портов, к которым может подключиться данный порт, (2) позволяют CE организовать LSP для подмножества портов. И, наконец, механизмы позволяют поддерживать любые топологии L1VPN, от hub-and-spoke (подключение к концентратору) до full mesh point-to-point (полносвязная сеть соединений «точка-точка». Поддерживаются только каналы point-to-point.

Обмен маршрутной и топологической информацией CE с поставщиком услуг выходит за рамки L1VPN BM.

3. Адресация, порты, каналы и каналы управления

Соглашения GMPLS для адресации и нумерации каналов рассмотрены в [RFC3945]. В этом разделе приводятся определения для случая L1VPN, где адресация пользователей и поставщиков услуг происходит в контексте уровня 1.

3.1. Область адресов сервис-провайдера

Для провайдера или группы сервис-провайдеров, обеспечивающих услуги L1VPN, требуется наличие области адресации, покрывающей все устройства PE, вовлеченные в предоставление услуг L1VPN. Требуются механизмы GMPLS для организации и поддержки путей. Мы будем называть эту область адресной областью сервис-провайдера. Кроме того, для каждого абонента L1VPN требуется своя область адресации с полной свободой применения публичных или приватных адресов. Эти области мы будем называть областями адресации абонентов. Абонентские области адресации могут перекрываться (т. е., адреса в них не уникальны) между собой и могут также пересекаться с областью адресов провайдера.

3.2. Порты и индексы на уровне 1

В данной L1VPN каждый порт CE, соединяющий CE с PE, имеет идентификатор, который уникален в рамках этой L1VPN (не требуется уникальность в нескольких L1VPN). Одним из способов создания такого идентификатора является назначение каждому порту уникального в рамках L1VPN адреса и применение этого адреса в качестве идентификатора. Другим вариантом является назначение каждому порту CE уникального в масштабе CE индекса и назначение каждому CE уникального в рамках L1VPN адреса с использованием в качестве идентификатора порта пары <индекс порта, адрес CE>. Отметим, что адреса порта и CE могут указываться в нескольких форматах, включая IPv4 и IPv6. Этот идентификатор является частью абонентской области адресов и служит устройству CE для идентификации порта CE и удаленного порта CE для сигнализации. CE не знают и не понимают адресов из области сервис-провайдера.

В сети сервис-провайдера каждый порт PE, соединяющий данное устройство PE с устройством CE имеет уникальный в рамках этой сети идентификатор. Одним из способов создания таких идентификаторов является задание для каждого порта PE уникального в рамках данного PE индекса, назначение для PE уникального в масштабе области адресов провайдера адреса IP и использование пары <индекс порта, адрес PE IPv4> или <индекс порта, адрес PE IPv6> в качестве идентификатора порта в сети сервис-провайдера. Другим вариантом является назначение для каждого порта адреса IPv4 или IPv6, уникального в рамках области адресации сервис-провайдера. В любом случае адрес IPv4 или IPv6 является внутренним для сети сервис-провайдера и применяется для сигнализации GMPLS внутри этой сети.

В результате каждый канал, подключающий CE к PE, имеет порт CE с уникальным в рамках данной L1VPN идентификатором и порт PE с уникальным для сети сервис-провайдера идентификатором. Будем называть первый идентификатор CPI25, а второй — PPI26.

3.3. Отображение между портами и индексами

Этот документ требует для каждого порта PE, имеющего PPI, наличие также уникального в рамках связанной с этим портом L1VPN идентификатора из пользовательской области адресов. Одним из способов создания такого идентификатора является назначение каждому порту адреса, который уникален в пользовательской области адресов данной L1VPN, и использование этого адреса в качестве идентификатора порта. Другим вариантом является назначение каждому порту индекса, который уникален в рамках данного PE, назначение каждому PE уникального адреса IP из пользовательской области адресов данной L1VPN (этот адрес может не быть уникальным в сети сервис-провайдера) и использование пары <индекс порта, IP-адрес PE> в качестве идентификатора порта. Будет обозначать эти идентификаторы VPN-PPI (см. рисунок 2).

   (Пользовательские адреса)
   +----+                             +----+
   |    |<индекс порта> <индекс порта>|    |
   |    |CPI              VPN-PPI     |    |
---| CE |-----------------------------| PE |---
   |    |               <индекс порта>|    |
   |    |                 PPI         |    |
   +----+                             +----+
                            (Адреса провайдера)

Рисунок 2. Отображение Customer/Provider Port/Index.


Для L1VPN требуется, чтобы операции сервис-провайдера были не зависимы от области адресации VPN абонента, а область адресации сервис-провайдера была скрыта от пользователей. Для решения этой задачи определим на PE два идентификатора — один для пользователя, другой для сервис-провайдера. IP-адрес PE, используемый для VPN-PPI, не зависит от IP-адреса PE, используемого для PPI (они берутся из разных областей адресации — первый из пользовательской, второй из области адресов VPN сервис-провайдера). Если для данного порта PE интерфейсы PPI и VPN-PPI являются безадресными (unnumbered), оба интерфейса могут использовать одинаковый индекс порта. Это достаточно удобно, поскольку PPI и VPN_PPI могут использовать любую комбинацию приемлемых форматов.

Как было отмечено выше, адрес IP, используемый для CPI, PPI и VPN-PPI, может быть адресом IPv4 или IPv6.

Для данного канала, соединяющего CE с устройством PE выполняются приведенные ниже условия.

  • Если CPI является адресом IPv4, значение VPN-PPI также должно быть адресом IPv4, поскольку для VPN-PPI используются адреса из пространства абонента. Если CPI представлен парой <port index, CPI IPv4 address>, значение VPN-PPI должно быть парой <port index, PE IPv4 address> по той же причине.

  • Если CPI является адресом IPv6, значение VPN-PPI также должно быть адресом IPv6, поскольку для VPN-PPI используются адреса из пространства абонента. Если CPI представлен парой <port index, CPI IPv6 address>, значение VPN-PPI должно быть парой <port index, PE IPv4 address> по той же причине.

Примечание. Для конкретного порта PE использование в качестве VPN-PPI адреса IP или пары <port index, PE IP address> не зависит от формата PPI данного порта.

В этом документе предполагается, что назначение PPI находится под исключительным контролем сервис-провайдера (без какой-либо координации с абонентами L1VPN), тогда как назначение адресов, используемых CPI и VPN-PPI, контролируется исключительно администраторами L1VPN. Это обеспечивает максимальную гибкость. Администратор L1VPN полностью управляет услугами L1VPN, относящимися к конкретным абонентам L1VPN. Эта функция может принадлежать сервис-провайдеру, но может также выполняться сторонней компанией, имеющей договор с сервис-провайдером. Естественно, каждый абонент L1VPN может назначать такие адреса самостоятельно, без какой-либо координации с другими L1VPN.

Этот документ также требуется связности на уровне IP между устройствами CE и PE, как было отмечено выше. Эта связь служит для организации канала управления между CE и PE. Связь может представлять собой один интервал (hop) IP, реализованный через выделенный канал, в форме L2 VPN или частной сети IP (например, L3VPN). Единственным требованием к такой связности является является однозначное сопоставление конкретного канада управления от CE к PE с конкретной сетью L1VPN. При реализации связи по выделенному каналу этот канал должен быть связан с конкретной сетью L1VPN. При реализации соединения на основе L2VPN, следует выделять отдельную L2VPN для сопоставления с L1VPN. При реализации соединения на основе L3VPN, следует выделять отдельную L3VPN для сопоставления с L1VPN.

Будем обозначать адрес CE этого канала CE-CC-Addr27, а адрес PE — PE-CC-Addr28. Оба адреса CE-CC-Addr и PE-CC-Addr должны быть уникальными а рамках L1VPN, к которой они относятся, но не требуется обеспечивать их уникальность в разных L1VPN. Адреса канала управления не используются совместно в разных VPN. Назначение адресов CE-CC-Addr и PE-CC-Addr контролируется администраторами L1VPN.

Множество портов устройства CE могут использовать общий канал управления только в том случае, когда все эти порты относятся к одной L1VPN. Аналогично, множество портов устройства PE могут использовать общий канал управления только в том случае, когда все эти порты относятся к одной L1VPN.

4. Базовый режим L1VPN на основе портов

L1VPN представляет собой базовый сервис VPN на основе портов, где пара CE может быть соединена через сеть сервис-провайдера с помощью LSP на основе GMPLS в данной топологии порта VPN. Именно этот LSP является базовым элементом услуг L1VPN, которые предоставляет сервис-провайдер. Если порт, служащий для подключения CE к устройству PE, включает множество каналов (например, разные длины волн), CE может организовать LSP с несколькими другими устройствами CE в одной VPN через один порт.

В L1VPN сервис-провайдер не инициирует создания LSP между парой портов CE. Создание LSP инициируется устройством CE. Однако SP с помощью описанного здесь механизма и средств ограничивает набор портов CE, которые могут быть удаленными точками LSP с данным портом в качестве локальной конечной точки. С учетом этих ограничений связность между CE находится под управлением самих устройств CE. Иными словами, SP позволяет иметь в L1VPN некий набор топологий, выражаемый как матрица соединений между портами. Для выбора определенной топологии из этого набора служит инициируемая CE сигнализация.

               PE                         PE
            +---------+              +--------------+
+--------+  | +------+|              | +----------+ | +--------+
|  VPN-A |  | |VPN-A ||              | |  VPN-A   | | |  VPN-A |
|   CE1  |--| |PIT   || Распростран. | |  PIT     | |-|   CE2  |
+--------+  | |      ||<------------>| |          | | +--------+
            | +------+|  маршрутов   | +----------+ |
            |         |              |              |
+--------+  | +------+|              | +----------+ | +--------+
| VPN-B  |  | |VPN-B ||  --------    | |   VPN-B  | | |  VPN-B |
|  CE1   |--| |PIT   ||-(магистраль)-| |   PIT    | |-|   CE2  |
+--------+  | |      ||   (GMPLS)    | |          | | +--------+
            | +------+|  ----------  | +----------+ |
            |         |              |              |
+--------+  | +-----+ |              | +----------+ | +--------+
| VPN-C  |  | |VPN-C| |              | |   VPN-C  | | |  VPN-C |
|  CE1   |--| |PIT  | |              | |   PIT    | |-|   CE2  |
+--------+  | |     | |              | |          | | +--------+
            | +-----+ |              | +----------+ |
            +---------+              +--------------+

Рисунок 3. Базовый режим L1VPN.


Для каждого экземпляра L1VPN, имеющего хотя бы один порт на данном PE, устройство PE поддерживает таблицу PIT, связанную с L1VPN. Эта таблица содержит список пар <CPI, PPI> для всех портов в L1VPN. Кроме того, для портов локального PE данного экземпляра L1VPN включаются также значения VPN-PPI.

4.1. Таблицы информации портов L1VPN

На рисунке 3 показаны 3 сети VPN — VPN-A, VPN-B и VPN-C со связанными таблицами PIT. Таблица PIT включает локальные и удаленные данные. Отсюда следует, что PIT на данном PE заполняется из двух источников.

  1. Информация, относящаяся к портам CE, которые подключены к портам локального PE.

  2. Информация о CE, подключенных к удаленным PE.

PIT может заполняться путем предоставления или автоматического обнаружения. В случае предоставления вся таблица может быть заполнена по команде предоставления с консоли или из системы управления, которая может включать средства автоматизации. По мере роста сети автоматизация становится потребностью.

Для локальной информации между CE и PE элемент PE может усилить LMP для заполнения канальной информации <CPI, VPN-PPI>. Эта локальная информация должна также распространяться другим PE в той же VPN. Механизмы этого выходят за рамки документа, но информация, которой нужно обмениваться, указана в параграфе 4.1.1.

PIT по своей природе относится к VPN. Элементу PE требуется поддерживать PIT для каждой L1VPN, куда она имеет локально подключенные CE. PE не требуется поддерживать PIT для других L1VPN. Однако полный набор PIT со всеми записями L1VPN для множества VPNs может быть доступен всем PE.

Удаленная информация в контексте идентификатора VPN (т. е. удаленные CE этой VPN) также может передаваться локальным CE, относящимся к той же VPN. Обмен этой информацией выходит за рамки документа.

4.1.1. Локальные данные автоматического обнаружения

Данными, которые требуется обнаруживать на локальном порту PE, являются локальный CPI и VPN-PPI.

Эта информация может быть настраиваемой или может быть полученной при обмене с LMP, если тот применяется между CE и PE.

Когда CPI обнаружен, соответствующий VPN-PPI отображается в локальном контексте на идентификатор VPN и соответствующий PPI. Одним из способов обеспечения контролируемого провайдером контекста VPN является предварительное обеспечение VPN-PPI идентификатором VPN. Другие механизмы политики для решения этой задачи выходят за рамки документа. Таким образом, связь CPI и VPN и PPI порта может быть установлена когда порт предоставлен как относящийся к VPN.

4.1.2. Информация автоматического обнаружения в PE

В этом параграфе представлена информация, которая передается любым механизмом автоматического обнаружения и служит для динамического заполнения PIT. Информация обеспечивает одно отображение <CPI, PPI>. Каждый механизм автоматического детектирования будет определять метод(ы) для обмена и аннулирования множества отображений <CPI, PPI>.

Эту информацию следует рассматривать независимо от используемого для ее распространения механизма [RFC5195], [RFC5252].

Формат кодирования <PPI, CPI> представлен на рисунке.

+---------------------------------------+
|     PPI Length (1 октет)               |
+---------------------------------------+
|     PPI (переменный)                  |
+---------------------------------------+
|     CPI AFI (2 октета)                |
+---------------------------------------+
|     CPI (length)                      |
+---------------------------------------+
|     CPI (переменный)                  |
+---------------------------------------+

Рисунок 4. Информация автоматического обнаружения.


Значение полей описано ниже.

PPI Length

Однооктетное поле, указывающее размер поля PPI.

PPI

Поле переменного размера, содержащее значение PPI (адрес или <port index, address>). Отметим, что PPI всегда согласованно кодируются в домене провайдера, поэтому формат поля PPI неявно присутствует в сети данного провайдера.

CPI AFI

Двухоктетное поле, указывающее семейство адресов CPI. Значения берутся из [RFC1700].

CPI Length

Однооктетное поле, указывающее размер поля CPI.

CPI

Поле переменного размера, содержащее значение CPI (адрес или <port index, address>).

Кортежи <PPI, CPI> также должны быть связаны с одним или несколькими уникальными в глобальном масштабе идентификаторами, связанным с конкретной VPN. Такими идентификаторами могут служить VPN-ID, цель маршрута или иной идентификатор, уникальный в глобальном масштабе. Для базового режима достаточно уникальности идентификатора в административном домене сервис-провайдера. При использовании множества провайдеров (это выходит за рамки документа) достаточно уникальности и согласованности идентификатора среди этих провайдеров. В этом документе задан базовый формат кодирования для уникального в глобальном масштабе идентификатора, подходящий для всех механизмов автоматического обнаружения. Однако каждый такой механизм будет определять конкретный метод(ы) распространения кодирования и привязки к кортежу <PPI, CPI>. Кодирование уникального в глобальном масштабе идентификатора, связанное с VPN показано на рисунке.


+------------------------------------------------+
|Глобально уникальн. идентифик. L1VPN(8 октетов) |
+------------------------------------------------+

Рисунок 5. Auto-Discovery Globally Unique Identifier Format.

4.2. Организация LSP между CE

Для организации LSP элементу CE нужно идентифицировать все другие CE в его L1VPN, с которыми он хочет соединиться. CE может уже иметь эту информацию, полученную через представление или иную схему (такие схемы выходят за рамки документа).

Порты, связанные с данным каналом от CE к PE, могут также иметь другую связанную с ними информацию в дополнение к их CPI и PPI, которая описывает характеристики и ограничения каналов в этих портах, такие как поддерживаемое каналами кодирование, пропускная способность, общая незарезервированная полоса порта и т. п. Эта информация может быть дополнена данными о некоторых возможностях сети провайдера (например, поддержка служебной информации секции регенерации — RSOH29, прозрачность DCC30, произвольная конкатенация и пр.). Такая информация служит для обеспечения наличия у портов на каждой стороне LSP совместимых характеристик и достаточно объема нераспределенных ресурсов для организации LSP между этими портами.

Может случиться, что для данной пары портов в L1VPN каждый из CE, подключенных к этим портам, будет одновременно пытаться организовать LSP с другим CE. Если наличие пары LSP между двумя портами нежелательно, можно потребовать от CE с меньшим значением CPI прервать LSP, созданный этим CE. Эта опция может управляться настройкой CE.

4.3. Сигнализация

В L1VPN BM нужно настраивать CE с CPI других портов. После настройки CE с CPI других портов в той же L1VPN, которые называют целевыми портами, CE использует подмножество сигнализации GMPLS для запроса у сети провайдера организации LSP с целевым портом.

Для соединений между CE элемент CE создает запрос, содержащий CPI одного из портов, который он хочет применять для LSP, и CPI целевого порта. Когда PE, подключенный к инициировавшему запрос CE, получит этот запрос, он будет определять соответствующую PIT, а затем использовать информацию этой PIT для поиска PPI, связанного с CPI целевого порта, указанного в запросе. Для организации LSP элементу PE должно быть достаточно PPI. В конечном итоге запрос приходит в CE, связанный с целевым CPI (отметим, что в запросе сохраняется CPI инициировавшего запрос элемента). Если CE, связанный с целевым CPI, принимает запрос, организуется LSP.

Отметим, что CE не требуется создавать LSP с каждым целевым портом, известным ему, т. .е локальная политика заключается в выборе подмножества целевых портов, с которыми CE будет пытаться организовать LSP.

Процедуры организации отдельного соединения между двумя соответствующими CE совпадают с процедурой, заданной для перекрытия GMPLS [RFC4208].

4.3.1. Сигнальные процедуры

Когда входной CE передает сообщение RSVP Path входному PE, IP-адрес отправителя в пакете IP с сообщением указывает подходящий CE-CC-Addr, а целевой адрес IP в пакете — подходящий PE-CC-Addr. Когда входной PE шлет назад входному CE соответствующее сообщение Resv, для IP-адреса отправителя в пакете IP с сообщением указывается PE-CC-Addr, а для получателя — CE-CC-Addr.

Аналогично при передаче выходным PE сообщения RSVP Path выходному CE адрес отправителя в пакете IP с сообщением содержит подходящий PE-CC-Addr, а адрес получателя — подходящий CE-CC-Addr. Когда выходной CE возвращает выходному PE соответствующее сообщение Resv, IP-адресом отправителя в пакете с сообщением будет CE-CC-Addr, получателя — PE-CC-Addr.

Помимо использования IP-адресов в пакетах IP с сообщениями RSVP между CE и PE, адреса CE-CC-Addr и PE-CC-Addr применяются в поле Next/Previous Hop Address объектов IF_ID RSVP_Hop Object, передаваемых между CE и PE.

Когда канал между CE и PE имеет адреса и не является связкой, CPI и VPN-PPI этого канала используются для TLV типа 1 или 2 объекта IF_ID RSVP_Hop Object, который передается между CE и PE. Если канал между CE и PE является безадресным и не является связкой, CPI и VPN-PPI этого канала используются для поля IP Address в TLV типа 3. Если канал между CE и PE является связкой, CPI и VPN-PPI этого канала используются для поля IP Address в TLV типа 3.

Дополнительная обработка, связанная с безадресными каналами, описана в разделе 3 (Обработка объекта IF_ID RSVP_HOP) и параграфе 4.1 (Безадресная смежность по пересылке) RFC 3477 [RFC3477].

Когда входной CE передает сообщение Path для организации LSP от удаленного порта к данному CE о определенный целевой порт, CE использует CPI своего порта в объекте Sender Template. Если CPI целевого порта является адресом IP, CE использует его в объекте Session. А если это кортеж <port index, IP address>, CE использует IP-адрес из кортежа в объекте Session, а весь кортеж — в качестве субобъекта Unnumbered Interface ID в явном объекте маршрутизации (ERO31).

Для сессий RSVP-TE имеется два варианта. В одном имеется сквозной сеанс RSVP-TE, где адреса клиента и провайдера меняются местами на PE (это называется перестановкой). В другом варианте используется сшивание или иерархия для создания двух сессий LSP — одна между провайдерскими PE, другая (сквозная) — между CE.

4.3.1.1. Сессии с перестановкой

Сессии перетасовки применяются, когда желательно иметь LSP, начинающийся на CE и завершающийся на удаленном CE. Адрес клиента заменяется провайдерским адресом на входном PE, а на выходном PE выполняется обратная перестановка с использованием отображения, предоставленного PIT.

Когда сообщение Path приходит на входной PE, тот выбирает PIT, связанную с L1VPN, а затем использует его для отображения CPI, передаваемых в объектах Session и Sender Template на подходящие PPI. После того как отображение выполнено, входной PE заменяет CPI этими PPI. В результате объекты Session и Sender Template, которые передаются сигнализацией GMPLS в сети провайдера, содержат PPI, а не CPI.

На выходном PE выполняется обратное отображение. PE извлекает значения входных и выходных PPI из объектов Sender Template и Session (соответственно). Выходной PE идентифицирует подходящую PIT для поиска нужного CPI, связанного с PPI выходного CE. Когда отображение найдено, выходной PE заменяет входное и выходное значения PPI соответствующими значениями CPI. В результате объекты Session и Sender Template (включенные в сообщение GMPLS RSVP-TE Path от выходного PE к выходному CE) содержат значения CPI, а не PPI.

Для сообщений GMPLS RSVP-TE Path, отправленных от выходного PE элементу CE здесь также устанавливается для IP-адреса отправителя (в пакете IP с сообщением) подходящее значение PE-CC-Addr, а для получателя — подходящее значение CE-CC-Addr.

На этом этапе CE видит один LSP «точка-точка» между двумя CE с виртуальным каналом между узлами PE — CE-PE(-)PE-CE. Узлы L1VPN PE видят сегмент PE-PE LSP со всеми деталями. Элементы PE могут фильтровать сигнализацию RSVP-TE, т. е. удалять информацию о топологии провайдера и заменять ее представлением виртуального канала.

Эта трансляция адресов и идентификаторов сессий называется перестановкой (shuffling) и управляется таблицами L1VPN Port Information Table (раздел 4). Перестановка должна выполняться для всех сообщений RSVP-TE на краевых устройствах PE. В этом случае имеется одна сессия CE-CE.

4.3.1.2. Сшитые или вложенные сессии

Варианты Stitching (сшивание) или Nesting (вложение) зависят от типа коммутации LSP. Если PE между CE (CE-CE) и между PE (PE-PE) идентичны по типу коммутации и пропускной способности, LSP можно сшить вместе и применить процедуры [RFC5150]. Если CE-CE LSP и PE-PE LSP имеют разный тип коммутации или имеют разную, но совместимую пропускную способность, LSP можно вложить один в другой применить процедуры [RFC4206]. Поскольку сигнальные процедуры Stitched и Nested LSP включают организацию сессии между элементами PE, совместимой с параметрами сессии CE, они описываются вместе.

При получении сообщения Path Message входным PE этот PE выбирает PIT, связанную с L1VPN, а затем использует его для отображения значений CPI из объектов Session и Sender Template на подходящие PPI. После отображения организуется новая сессия между PE с параметрами, совместимыми с сессией CE. После организации этой сессии передается запрос сигнализации CE выходному элементу PE.

На входном PE при использовании сшивания или встраивания организуется сессия между PE. Это можно сделать одним из перечисленных ниже способов.

  • Связывание имеющегося LSP между PE или Forwarding Adjacency LSP (FA-LSP) с получателем, соответствующим запрошенным параметрам.

  • Организация подходящего сегмента PE-PE LSP.

В этот момент CE будет видеть один LSP «точка-точка» между двумя CE с виртуальным каналом между узлами PE — CE-PE(-)PE-CE. Узлы L1VPN PE будет видеть сегмент PE-PE LSP со всеми деталями. Узлы PE не фильтруют сигнализацию RSVP-TE путем удаления данных о топологии провайдера, поскольку сигнализация PE-PE не видна CE.

4.3.1.3 Прочая сигнализация

Входной PE может получить и, возможно, отвергнуть сообщение Path с ERO, что может привести к отказу при организации коммутируемого соединения. Однако входной PE может воспринимать объекты ERO, которые включают последовательность {<входной PE (строго), CPI выходного CE (loose)>}.

  • Сообщение Path без ERO. Когда входной PE получает от входного CE сообщение Path без ERO, он должен рассчитать маршрут к получателю для PE-PE LSP и включить этот маршрут в ERO до пересылки сообщения Path. Единственным исключениям является случай, когда выходной узел ядра является смежным с данным узлом.

  • Сообщение Path с ERO. Когда входной PE получает от входного CE сообщение Path ERO (в указанной выше форме), он рассчитывает путь до выходного PE. Затем этот добавляется в ERO до пересылки сообщения Path.

В случае перестановки правила наложения для уведомлений и обработки RRO идентичны UNI32 или модели Overlay [RFC4208], в которых сказано, что Edge PE может удалять и редактировать Provider Notification и объекты RRO при передаче сообщений элементам CE.

4.4. Процедуры восстановления

Сигнализация

CE запрашивает защищенный сетью LSP (т. е. LSP, защищенный от PE до PE), используя описанный в [RFC4873] метод. Динамическая идентификация узлов слияния поддерживается с помощью флагов LSP Segment Recovery Flag, передаваемых в объекте Protection (см. параграф 6.2 в [RFC4873]).

Уведомления

Объект Notify Request может быть помещен в сообщение Path или Resv для указания адреса элемента CE, который следует уведомлять при отказе LSP. Уведомления можно запросить в восходящем и нисходящем направлении:

  • восходящие уведомления указываются включением объекта Notify Request в соответствующее сообщение Path;

  • нисходящие уведомления указываются включением объекта Notify Request в соответствующее сообщение Resv.

PE, получившему сообщение с объектом Notify Request, следует сохранить Notify Node Address в соответствующем блоке состояния RSVP. PE следует также включить объект Notify Request в исходящее сообщение Path или Resv. Исходящий адрес Notify Node Address может быть обновлен на основе локальной политики. Это означает, что PE при получении объекта от CE может обновить значение Notify Node Address.

Если входной CE включает объект Notify Request в сообщение Path, входной PE может заменить принятое значение Notify Node Address своим выбранным Notify Node Address (в частности, локальным TE Router_ID). Объект Notify Request может передаваться в сообщениях Path или Resv (раздел 7 в [RFC3473]). Формат объекта Notify Request определен в [RFC3473]. В соответствии с параграфом 4.2.1 [RFC3473] в качестве Notify Node Addresses нужно указывать адрес IPv4 или IPv6.

Включение объекта Notify Request служит для запроса генерации уведомлений, но не гарантирует создания сообщений Notify.

5. Вопросы безопасности

Безопасность L1VPN рассмотрена в [RFC4847] и [RFC5253]. В этом документе рассматриваются вопросы безопасности, связанные с уровнем управления.

Привязка определенного порта к конкретной L1VPN (точнее, к определенной PIT) является операцией настройки, обычно выполняемой сервис-провайдером вручную при настройке предоставления услуги. Таким образом, ее нельзя подменить через сигнализацию между CE и PE. Это означает, что сигнализацию невозможно использовать для доставки трафика L1VPN не тому клиенту. Оператору следует использовать подходящие механизмы защиты процессов администрирования и настройки, а также рассмотреть методы проверки уровня данных для предотвращения непреднамеренных ошибок при настройке. Клиент может также использовать сквозную (от CE до CE) проверку связности на уровне данных L1VPN для обнаружения некорректных соединений. Тестирование связности уровня данных можно выполнить с помощью протокола LMP33 [RFC4204].

Отметим, что можно заполнить локальную часть PIT с помощью автоматического обнаружения LMP. Протокол LMP может быть защищен, как описано в [RFC4204]. Предполагается, что сигнализация между CE и PE передается по частному каналу (например, в основной полосе или по волокну) или частной сети. Использование частных каналов делает соединение CE с PE защищенным с тем же уровнем, что и описанный выше канал данных. Использование частной сети предполагает, что внешние элементы не могут подделать или изменить управляющее взаимодействие между CE и PE. Кроме того, все элементы частной сети считаются доверенными. Таким образом, для описанных в этом документе протокольных обменов не требуется механизмов защиты.

Однако оператор, озабоченный безопасностью своих частных линий, может применять функции аутентификации и защиты целостности, доступные в RSVP-TE [RFC3473], или использовать IPsec ([RFC4301], [RFC4302], [RFC4835], [RFC4306], и [RFC2411]) для сигнализации «точка-точка» между PE и CE. В [MPLS-SEC] рассмотрены варианты защиты, доступные для уровня управления GMPLS.

Отметим, что частая сеть (например, L2 VPN или L3 VPN) может применяться для организации управляющего соединения между PE и несколькими CE. В таком варианте рекомендуется для каждого клиента L1 VPN иметь свою частную сеть. Механизмы защиты частной сети следует использовать для обеспечения безопасности управляющих взаимодействий между клиентом и сервис-провайдером.

6. Литература

6.1. Нормативные документы

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

[RFC3471] Berger, L., Ed., «Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description», RFC 3471, January 2003.

[RFC3473] Berger, L., Ed., «Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions», RFC 3473, January 2003.

[RFC3477] Kompella, K. and Y. Rekhter, «Signalling Unnumbered Links in Resource ReSerVation Protocol — Traffic Engineering (RSVP-TE)», RFC 3477, January 2003.

[RFC4202] Kompella, K., Ed., and Y. Rekhter, Ed., «Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)», RFC 4202, October 2005.

[RFC4204] Lang, J., Ed., «Link Management Protocol (LMP)», RFC 4204, October 2005.

[RFC4206] Kompella, K. and Y. Rekhter, «Label Switched Paths (LSP) Hierarchy with Generalized Multi-Protocol Label Switching (GMPLS) Traffic Engineering (TE)», RFC 4206, October 2005.

[RFC4208] Swallow, G., Drake, J., Ishimatsu, H., and Y. Rekhter, «Generalized Multiprotocol Label Switching (GMPLS) User-Network Interface (UNI): Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Support for the Overlay Model», RFC 4208, October 2005.

[RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, «GMPLS Segment Recovery», RFC 4873, May 2007.

[RFC5150] Ayyangar, A., Kompella, K., Vasseur, JP., and A. Farrel, «Label Switched Path Stitching with Generalized Multiprotocol Label Switching Traffic Engineering (GMPLS TE)», RFC 5150, February 2008.

6.2. Дополнительная литература

[RFC1700] Reynolds, J. and J. Postel, «Assigned Numbers», RFC 170034, October 1994.

[RFC3945] Mannie, E., Ed., «Generalized Multi-Protocol Label Switching (GMPLS) Architecture», RFC 3945, October 2004.

[RFC4201] Kompella, K., Rekhter, Y., and L. Berger, «Link Bundling in MPLS Traffic Engineering (TE)», RFC 4201, October 2005.

[RFC4847] Takeda, T., Ed., «Framework and Requirements for Layer 1 Virtual Private Networks», RFC 4847, April 2007.

[RFC2411] Thayer, R., Doraswamy, N., and R. Glenn, «IP Security Document Roadmap», RFC 2411, November 1998.

[RFC4301] Kent, S. and K. Seo, «Security Architecture for the Internet Protocol», RFC 4301, December 2005.

[RFC4302] Kent, S., «IP Authentication Header», RFC 4302, December 2005.

[RFC4306] Kaufman, C., Ed., «Internet Key Exchange (IKEv2) Protocol», RFC 4306, December 2005.

[RFC4835] Manral, V., «Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH)», RFC 4835, April 2007.

[RFC5195] Ould-Brahim, H., Fedyk, D., and Y. Rekhter, «BGP-Based Auto-Discovery for Layer-1 VPNs», RFC 5195, June 2008.

[RFC5252] Bryskin, I. and L. Berger, «OSPF-Based Layer 1 VPN Auto-Discovery», RFC 5252, July 2008.

[RFC5253] Takeda, T., Ed., «Applicability Statement for Layer 1 Virtual Private Network (L1VPN) Basic Mode», RFC 5253, July 2008.

[MPLS-SEC] Fang, L., Ed., » Security Framework for MPLS and GMPLS Networks», Work in Progress, February 2008.

7. Благодарности

Авторы благодарят Adrian Farrel, Hamid Ould-Brahim и Tomonori Takeda за полезные комментарии.

Sandy Murphy, Charlie Kaufman, Pasi Eronen, Russ Housley, Tim Polk и Ron Bonica помогли в процессе IESG review.

Адреса авторов

Don Fedyk

Nortel Networks

600 Technology Park

Billerica, MA 01821

Phone: +1 (978) 288 3041

EMail: dwfedyk@nortel.com

Yakov Rekhter

Juniper Networks

1194 N. Mathilda Avenue

Sunnyvale, CA 94089

EMail: yakov@juniper.net

Dimitri Papadimitriou

Alcatel-Lucent

Fr. Wellesplein 1,

B-2018 Antwerpen, Belgium

Phone: +32 3 240-8491

EMail: Dimitri.Papadimitriou@alcatel-lucent.be

Richard Rabbat

Google Inc.

1600 Amphitheatre Pky

Mountain View, CA 95054

EMail: rabbat@alum.mit.edu

Lou Berger

LabN Consulting, LLC

Phone: +1 301-468-9228

EMail: lberger@labn.net

Перевод на русский язык

Николай Малых

nmalykh@gmail.com

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


1Layer 1 VPN.

2L1VPN Basic Mode.

3Label Switched Path.

4 Физический уровень модели OSI. Прим. перев.

5 Lambda Switch Capable — коммутация длин волн (лямбда).

6 Synchronous Optical Network/Synchronous Digital Hierarchy.

7 Provider edge.

8 Customer Edge device — пользовательское краевое устройство.

9 Core Node — центральный узел.

10 Edge Node — краевой узел.

11 Краевой центральный узел.

12 В оригинале «off-line provisioning». Прим. перев.

13 Link Management Protocol — протокол управления каналом.

14 Generalized Multi-Protocol Label Switching — обобщенная многопротокольная коммутация меток.

15 Port Information Table — таблица информации порта.

16 Time Division Multiplexing — мультиплексирование с разделением по времени. Прим. перев.

17 Traffic Engineering — организация (построение) трафика.

18 Packet Switch Capable — коммутация пакетов.

19 Layer 2 Switch Capable — коммутация на канальном уровне.

20 Виртуальная частная полоса (лямбда) в оптическом кабеле.

21 Generalized Protocol Identifier — обобщенный идентификатор протокола.

22 Head-end CE и tail-end CE.

23 Timeslot.

24 Switching capability.

25Customer Port Identifier — идентификатор порта абонента.

26Provider Port Identifier — идентификатор порта провайдера.

27CE Control Channel Address — адрес CE канала управления.

28PE Control Channel Address — адрес PE канала управления.

29Regeneration section overhead.

30Data Communications Channel — канал передачи данных.

31Explicit Route Object.

32User-Network Intercase — интерфейс между пользователем и сетью.

33Link Management Protocol — протокол управления каналом.

34В соответствии с RFC 3232 этот документ заменен базой данных http://www.iana.org/numbers/. Прим. перев.

Рубрика: RFC | Комментарии к записи RFC 5251 Layer 1 VPN Basic Mode отключены

RFC 5212 Requirements for GMPLS-Based Multi-Region and Multi-Layer Networks (MRN/MLN)

Network Working Group                                    K. Shiomoto
Request for Comments: 5212                                       NTT
Category: Informational                             D. Papadimitriou
                                                      Alcatel-Lucent
                                                         JL. Le Roux
                                                      France Telecom
                                                        M. Vigoureux
                                                      Alcatel-Lucent
                                                         D. Brungard
                                                                AT&T
                                                           July 2008

 

Требования к многозоновым и многоуровневым сетям на базе GMPLS

Requirements for GMPLS-Based Multi-Region and Multi-Layer Networks (MRN/MLN)

PDF

Статус документа

Этот документ содержит информацию для сообщества Internet. Документ не задает каких-либо стандартов Internet. Допускается свободное распространение документа.

Аннотация

Большинство первоначальных усилий по использованию GMPLS1 было связано со средами, содержащими устройства с одним типом коммутации2. Управление плоскостью данных в таких случаях похоже на управление классическими сетями IP/MPLS. За счет расширения MPLS путем поддержки множества технологий коммутации GMPLS обеспечивает комплексную основу для управления многоуровневыми сетями, использующими одну или множество технологий коммутации.

В GMPLS область использования одной технологии коммутации определяет зону3 и сети с множеством типов коммутации в этом документе будут называться многозоновыми (MRN4). При обсуждении в общем случае разделенных на уровни сетей, которые могут включать одну или множество зон в этом документе используется термин «многоуровневая сеть» (MLN5). В этом документе определена схема основанных на GMPLS многоуровневых/многозоновых сетей и приведен список требований к ним.

1. Введение

Технология GMPLS расширяет возможности MPLS в плане использования множества технологий коммутации: коммутация пакетов6, коммутация кадров7, коммутация TDM8, коммутация длин волн9 и коммутация волокон10 (см.[RFC3945]). Для этих технологий вводится концепция «способности коммутировать интерфейсы» (ISC11) и обозначения PSC (способность коммутировать пакеты), L2SC (способность коммутации на уровне 2), способность коммутации TDM, LSC (способность коммутации длин волн — «лямбд») и FSC (способность коммутации волокон).

В управляющей плоскости GMPLS представление области одной технологии коммутации называется зоной [RFC4206]. Тип коммутации описывает способность узла пересылать данные с использованием определенной технологии и однозначно идентифицирует зону сети. Уровень описывает гранулярность коммутации данных (например, VC4, VC-12). Уровень плоскости данных ассоциируется с зоной в плоскости управления (например, VC4 ассоциируется TDM, MPLS — с PSC). Однако с одной зоной может быть ассоциировано более одного уровня плоскости данных (например, с TDM могут ассоциироваться VC4 и VC12). Таким образом, зона плоскости управления, идентифицируемая типом коммутации (например, TDM), может быть дополнительно разделена на более мелкие компоненты по уровням коммутации плоскости данных. Дескриптор ISCD12 [RFC4202], идентифицирующий ISC, тип кодирования и гранулярность полосы коммутации13, позволяет характеризовать ассоциированные уровни.

В этом документе многоуровневая сеть (MLN) определяется, как домен построения трафика (TE14), охватывающий множество уровней коммутации плоскости данных одной (например, TDM) или разных ISC (например, TDM и PSC) и контролируемый одним экземпляром управляющей плоскости GMPLS. Позднее будут дополнительно определены частные случаи MLN. Многозоновая сеть (MRN) определяется, как домен TE, поддерживающий не менее двух разных типов коммутации (например, PSC и TDM), реализованных на одном или множестве устройств, и находящийся под контролем одного экземпляра управляющей плоскости GMPLS.

MLN можно разбить на категории в соответствии с распределением ISC по маршрутизаторам с коммутацией меток (LSR15):

  • Каждый LSR может поддерживать одну ISC.Такие маршрутизаторы LSR называют single-switching-type-capable LSR. Сеть MLN может состоять из множества таких LSR, которые способны поддерживать различные ISC.
  • Каждый LSR может одновременно поддерживать несколько ISC.Такие LSR называют multi-switching-type-capable LSR; их дополнительно делят на симплексные и гибридные, как описано в параграфе 4.2.
  • MLN может представлять собой комбинацию обоих перечисленных выше типов.

Поскольку GMPLS обеспечивает полнофункциональную основу для управления различными системами коммутации, для контроля MLN/MRN можно использовать один экземпляр GMPLS. Это обеспечивает возможность быстрого предоставления сервиса и эффективное построение трафика для всех технологий коммутации. В таких сетях соединения TE консолидируются в единую базу TED16. Поскольку TED содержит информацию для всех зон и уровней, существующих в сети, пути через множество зон и уровней можно рассчитывать с использованием этой TED. Таким образом может быть достигнута оптимизация сетевых ресурсов в масштабах всей MLN/MRN.

Рассмотрим в качестве примера MRN, содержащую маршрутизаторы PSC и кросс-коннекторы TDM. Предположим, что путь LSP17 маршрутизируется между PSC-маршрутизаторами (отправителем и получателем) и LSP может быть направлен через зону PSC (т. е., с использованием только топологии зоны коммутации пакетов). Если требования по производительности для LSP не выполняются, между маршрутизаторами PSC могут создаваться новые соединения TE через TDM-зону (например, по каналам VC-12) и LSP может направляться по этим соединениям TE. Более того, даже при успешной организации LSP через зону PSC, могут создаваться иерархические TDM LSP (через зону TDM между маршрутизаторами PSC), которые могут использоваться для удовлетворения объективных потребностей оператора в сетевых ресурсах (например, полосе). Такая же ситуация возникает в тех случаях, когда предоставляются дополнительные VC4 LSP для обеспечения дополнительной гибкости уровней VC12 и/или VC11 в MLN.

В разделах 3 и 4 приведена дополнительная информации рассмотрены дополнительные концепции и мотивация. В разделе 5 детально рассматриваются требования к протоколам, используемым для реализации многоуровневых и многозоновых сетей.

1.1. Сфера рассмотрения

В первых параграфах этого документа рассматриваются мотивы и причины, побудившие к разработке и реализации сетей MRN/MLN. Далее рассматриваются требования к функциям, которые должны обеспечиваться плоскостью управления GMPLS для поддержки MRN/MLN. Целью этого документа не является задание специфических элементов и/или протоколов. Применимость существующих протоколов GMPLS и любых протокольных расширений для MRN/MLN рассматривается в отдельных документах [MRN-EVAL].

В этом документе рассматриваются элементы одного экземпляра управляющей плоскости GMPLS, контролирующие множество уровней в данном домене TE. Экземпляр плоскости управления может контролировать один, два или большее число уровней. Другие возможные варианты типа использования множества экземпляров плоскости управления для контроля набора независимых уровней выходят за пределы настоящего документа. Весьма вероятно, что рассматриваемые здесь MLN и MRN будут работать в рамках одного сервис-провайдера, однако данный документ не исключает возможности работы двух уровней (или зон) под разным административным контролем (например, разные сервис-провайдеры могут совместно использовать один экземпляр плоскости управления), когда административные домены готовы к совместному использованию ограниченного объема информации.

Для таких доменов TE взаимодействие с узлами/доменами, поддерживающими интерфейсы, не являющиеся GMPLS (такие, как интерфейсы, определенные другими организациями по разработке стандартов SDO18), может потребовать реализацию функции межсетевого взаимодействия. Спецификация и локализация такой функции выходят за пределы рассмотрения данного документа (поскольку такая функция отвечает за аспекты межсетевого взаимодействия).

В данном документе предполагается, что соединение смежных MRN/MLN доменов TE осуществляется с использованием [RFC4726], когда на периметре этих доменов поддерживаются междоменные расширения GMPLS RSVP-TE.

2. Используемые соглашения

Хотя этот документ не является спецификацией протокола, ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не нужно (SHALL NOT), следует (SHOULD), не следует (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с RFC 2119 [RFC2119].

В контексте этого документа сквозной LSP определяется как LSP, который начинается на неком клиентском уровне, заканчивается на том же уровне и может проходить через один или множество более низких уровней. В терминах возможностей коммутации это означает, что если выходной интерфейс на головном19 LSR имеет возможности X, то входной интерфейс оконечного LSR20 также имеет возможности X. Далее, для любого интерфейса, через который проходит LSP, на любом промежуточном LSR с возможностями Y, должно выполняться условие Y >= X.

2.1. Список сокращений

ERO: Explicit Route Object — объект явного маршрута.

FA: Forwarding Adjacency — смежность по пересылке.

FA-LSP: Forwarding Adjacency Label Switched Path — путь LSP со смежностью по рассылке

FSC: Fiber Switching Capable — способность коммутации волокон.

ISC: Interface Switching Capability — способность коммутации интерфейсов.

ISCD: Interface Switching Capability Descriptor — дескриптор способности коммутации интерфейсов.

L2SC: Layer-2 Switching Capable — способность коммутации на канальном уровне (2).

LSC: Lambda Switching Capable — способность коммутации длин волн («лямбд»).

LSP: Label Switched Path — путь с коммутацией по меткам.

LSR: Label Switching Router — маршрутизатор с коммутацией по меткам.

MLN: Multi-Layer Network — многоуровневая сеть.

MRN: Multi-Region Network — многозоновая сеть.

PSC: Packet Switching Capable — способность коммутации пакетов.

SRLG: Shared Risk Link Group — группа канала с разделяемым риском.

TDM: Time-Division Multiplexing — мультиплексирование с разделением по времени.

TE: Traffic Engineering — построение трафика.

TED: Traffic Engineering Database — база данных построения трафика.

VNT: Virtual Network Topology — топология виртуальной сети.

3. Позиционирование

Многозоновые сети MRN всегда являются многоуровневыми (MLN), поскольку сетевые устройства на границах зон используют различные ISC. MLN, однако, не обязательно является MRN, поскольку множество уровней может полностью содержаться в одной зоне. Например, VC12, VC4 и VC4-4c являются разными уровнями зоны TDM.

3.1. Уровни плоскости данных и зоны плоскости управления

Уровень плоскости данных представляет собой набор сетевых ресурсов, способных завершать (терминировать) и/или коммутировать трафик данных в определенном формате [RFC4397]. Эти ресурсы могут использоваться для организации LSP с целью доставки трафика. Примерами уровней могут служить VC-11 и VC4-64c.

С точки зрения плоскости управления зона LSP определяется как набор из одного или множества уровней плоскости данных, разделяющих общую технологию (тип) коммутации. Например, уровни VC-11, VC-4 и VC-4-7v являются частями зоны TDM. В настоящее время определены зоны PSC, L2SC, TDM, LSC и FSC. Следовательно, зона LSP является областью использования технологии (идентифицируемой типом ISC), для которой ресурсы плоскости данных (т. е. каналы передачи данных) представлены в плоскости управления, как агрегат информации TE, связанной с набором каналов (т. е. каналов TE). Например, поддерживающие VC-11 и VC4-64c каналы TE являются частью одной зоны TDM. Таким образом, в одной зоне сети может существовать множество уровней.

Отметим также, что зоны могут различаться в плоскости управления. Уровни одной зоны используют общую технологию коммутации и, следовательно, — общий набор связанных с технологией сигнальных объектов и обусловленную технологией установку атрибутов соединения TE на плоскости управления, но уровни из разных зон могут использовать разные, связанные с технологией, объекты и значения атрибутов TE. Это означает, что простая пересылка сигнальных сообщений между LSR с различными технологиями коммутации может оказаться невозможной. Это обусловлено тем, что некоторые сигнальные объекты (например, параметры трафика) изменяются при пересечении границы зоны даже в тех случаях, когда для управления всей MRN используется один экземпляр плоскости управления. Для решения этой проблемы может использоваться триггерная сигнализация (параграф 4.3.1).

3.2. Сети сервисного уровня

Сеть сервис-провайдера может быть поделена на разные уровни сервиса. Сеть заказчика с точки зрения провайдера рассматривается как высший уровень сервиса. Такая сеть имеет интерфейс взаимодействия с высшим уровнем сервиса в сети провайдера. Соединение через высший уровень сервиса сети провайдера может обеспечиваться с поддержкой со стороны нижележащих уровней сервиса. Уровни сервиса реализуются через иерархию сетевых уровней, расположенных в общем случае в нескольких зонах и согласованных по возможностям коммутации сетевых устройств.

Например, некоторые заказчики покупают у провайдера услуги уровня 1 (т. е. транспортного21), другие — уровня 2 (например, ATM), а третьи — уровня 3 (IP/MPLS). Сервис провайдер реализует услуги, как стек сетевых уровней, локализованных в одной или нескольких зонах сети. Сетевые уровни обычно организуются в соответствии с возможностями коммутации сетевых устройств. Таким образом, сеть заказчика может поддерживаться «поверх» многоуровневой/многозоновой сети на базе GMPLS. Например, услуги уровня 1 (реализуются через сетевой уровень зон TDM и/или LSC и/или FSC) могут поддерживать сеть уровня 2 (реализуется через ATM VP/VC22), которая, в свою очередь, поддерживает сеть уровня 3 (зона IP/MPLS). Поддерживаемые отношения плоскости данных представляют собой отношения «клиент-сервер», где нижележащий уровень предоставляет услуги вышележащему уровню, а сам при этом использует каналы данных, реализованные на более низком уровне.

Услуги, обеспечиваемые MRN/MLN на базе GMPLS, называют «многозоновыми/многоуровневыми сетевыми услугами23». Например, традиционные сети IP и IP/MPLS могут поддерживаться «поверх» сетей MRN/MLN. Это подчеркивает мотивирующий характер предоставления таких разнообразных услуг для развертывания многозоновых/многоуровневых сетей.

Сеть заказчика может поддерживаться «поверх» сервера сети MRN/MLN на базе GMPLS, который обеспечивается сервис-провайдером. Например, «чистая» сеть IP и/или IP/MPLS может быть обеспечена «поверх» сетей packet-over-optical24 на базе GMPLS [RFC5146]. Отношения между сетями представляют собой отношения «клиент-сервер», а такие услуги зазывают услугами MRN/MLN. В таких случаях сеть заказчика может формировать часть MRN/MLN или быть частично отделенной (например, для поддержки раздельной маршрутной информации при общей сигнализации).

3.3. Вертикальное и горизонтальное взаимодействие и интеграция

Вертикальное взаимодействие определяется как механизмы совместной работы внутри сетевого элемента, который способен поддерживать более одного уровня или зоны и реализовать отношения клиент-сервер между уровнями или зонами. Протокольный обмен между двумя сетевыми контроллерами, обслуживающими разные зоны или уровни, также является вертикальным взаимодействием. Интеграция таких взаимодействий, как части плоскости управления, называется вертикальной интеграцией. Таким образом, это говорит о механизмах совместной работы внутри одного экземпляра плоскости управления, обслуживающего множество сетевых уровней, относящихся к одной или разным зонам. Такая концепция полезна для создания основы, облегчающей эффективное использование сетевых ресурсов и быстрое предоставление услуг в сетях операторов, работающих с множеством уровней, типов коммутации или ISC.

Горизонтальное взаимодействие определяется как протокольный обмен между сетевыми контроллерами, которые управляют транспортными узлами внутри данного уровня или зоны. Взаимодействие на плоскости управления между двумя сетевыми элементами TDM, коммутирующими на уровне OC-48, является примером горизонтального взаимодействия. Операции протокола GMPLS обслуживают горизонтальные взаимодействия внутри одной области маршрутизации. Случай, когда взаимодействие осуществляется через границу домена (например, между двумя областями маршрутизации внутри одного сетевого уровня) рассматривается как часть междоменного взаимодействия [RFC4726] и называется горизонтальной интеграцией. Таким образом, горизонтальная интеграция указывает на механизмы взаимодействия между частями сети и/или административными подразделениями типа областей маршрутизации и автономных систем.

Эта особенность требует дальнейшего прояснения для тех случаев, когда административные домены соответствуют границам уровней/зон. Горизонтальное взаимодействие расширяется для таких ситуаций. Например, механизмы взаимодействия между двумя областями LSC связаны с горизонтальной интеграцией. С другой стороны, механизмы взаимодействия между доменом PSC (например, IP/MPLS) и отдельным доменом, TDM (например, VC4 SDH25), через который он работает, являются частью горизонтальной интеграции и, в то же время, могут представляться как первый шаг в направлении вертикальной интеграции.

3.4. Мотивация

Применимость GMPLS ко множеству разных технологий коммутации обеспечивает возможность унифицированного контроля и управления для предоставления и восстановления LSP. В действительности основным мотивом для унификации возможностей и операций плоскости управления GMPLS является желание поддерживать маршрутизацию multi-LSP-region [RFC4206] и возможности TE. Например, это обеспечит возможность эффективного использования сетевых ресурсов для зон Packet/Layer2 LSP и TDM или Lambda LSP в сетях с высокой пропускной способностью.

Разумные основания для построения многозоновых/многоуровневых сетей, управляемых GMPLS, приведены ниже:

  • Поддержка множества экземпляров плоскости управления на устройствах, поддерживающих более одного типа коммутации, не только осложняет взаимодействие между экземплярами плоскостей управления, но и повышает объем операций, требуемых для обслуживания каждого экземпляра плоскости управления.
  • Унификация адресных пространств помогает избежать возникновения множества идентификаторов для одного объекта (например, канала или, в более общем случае, любого сетевого ресурса). С другой стороны такое объединение не оказывает влияния на разделение между плоскостями управления и данных.
  • За счет поддержки единственного экземпляра протокола маршрутизации и одной базы данных TE на LSR модель унифицированной плоскости управления снимает требование поддержки выделенной топологии маршрутизации для каждого уровня и, следовательно, не требует полносвязной топологии соединений между маршрутизаторами, как в случае перекрывающихся плоскостей управления.
  • Взаимодействие между технологическими уровнями, в которых канал управления связан с каналом данных (например, плоскости данных в форме кадров/пакетов), и технологическими уровнями, в которых нет прямой связи между каналом управления и каналом данных (SONET/SDH, G.709 и т. п..) облегчается за счет поддержки в GMPLS возможности связать сигнализацию плоскости управления в основной полосе с оконечными интерфейсами IP в плоскости управления.
  • Управление ресурсами и политика, применяемые на краях таких сетей MRN/MLN, становятся более простыми (меньше взаимодействий) и масштабируемыми (за счет агрегирования).
  • Многозоновое/многоуровневое построение трафика упрощается при хранении информации о соединениях TE из разных зон/уровней в общей базе TED.

4. Ключевые концепции сетей MLN и MRN на базе GMPLS

Сеть, охватывающая транспортные узлы с множеством уровней плоскости данных и одной или несколькими ISC, контролируемая одним экземпляром плоскости управления GMPLS, называется многоуровневой сетью (MLN). Подмножество MLN состоит из сетей, поддерживающих LSP с различными технологиями коммутации (ISC). Сеть, поддерживающая более одной технологии коммутации, называется многозоновой (MRN).

4.1. Возможности коммутации интерфейсов

Понятие «возможность коммутации интерфейсов (ISC26) вводится в GMPLS для унификации поддержки разнотипных технологий коммутации [RFC4202]. ISC идентифицируется типом коммутации.

Тип коммутации (тип возможности коммутации) показывает способность узла пересылать данные, относящиеся к определенной технологии плоскости данных, и однозначно идентифицирует зону сети. Определены следующие типы ISC (и, следовательно, зон): PSC, L2SC, TDM, LSC и FSC. Каждое окончание канала данных (точнее, каждый интерфейс, подключающий канал данных к узлу) в сети GMPLS ассоциируется с ISC.

Значение ISC анонсируется как часть дескриптора (ISCD27), являющегося атрибутом окончания канала TE, и ассоциируется с конкретным канальным интерфейсом [RFC4202]. Кроме ISC дескриптор ISCD содержит информацию, включающую тип кодирования, гранулярность полосы и незарезервированную полосу на каждом из 8 уровней приоритета, с которым может быть создан путь LSP. ISCD не идентифицирует сетевые уровни, этот дескриптор уникально характеризует информацию, связанную с одним или множеством сетевых уровней.

Окончание канала TE может содержать множество ISCD. Это может интерпретироваться как анонсирование многоуровневого (поддерживающего множество технологий коммутации) завершения канала TE. Т. е., завершение канала TE (и, следовательно, сам канал TE) присутствует на множестве сетевых уровней.

4.2. Множество ISC

В MLN элементы сети могут представлять собой узлы, поддерживающие один (single-switching-type-capable) или множество (multi-switching-type-capable) типов коммутации. Узлы с одним типом коммутации анонсируют свое значение ISC как часть ISCD для описания возможностей каждого окончания своих каналов TE. Этот случай рассмотрен в [RFC4202].

LSR с поддержкой множества типов коммутации делятся на симплексные и гибридные. Различие между ними состоит в способе анонсирования множества поддерживаемых ISC:

  • Симплексный узел может завершать каналы данных с различными возможностями коммутации, когда каждый канал данных подключен к узлу через отдельный канальный интерфейс. Такой узел анонсирует несколько каналов TE, каждый из которых имеет одно значение ISC, передаваемое в ISCD (в соответствии с правилами [RFC4206]). Примером может служить LSR с каналами PSC и TDM, каждый из которых подключен к LSR через свой интерфейс.
  • Гибридный узел может завершать каналы данных с разнотипной коммутацией, подключенные к узлу через один интерфейс. Такой узел анонсирует канал TE, содержащий более одного дескриптора ISCD, каждый из которых имеет свое значение ISC. Например, узел может завершать каналы данных PSC и TDM, соединяя эти разнотипные внешние каналы данных через внутренние каналы. Внешние интерфейсы, подключенные к узлу, поддерживают одновременно PSC и TDM.

В дополнение к сказанному анонсы канала TE, генерируемые симплексным или гибридным узлом, могут потребоваться для обеспечения информации о внутренних возможностях преобразования между поддерживаемыми технологиями. Термин «преобразование» в данном случае обозначает возможность гибридного узла соединять между собой разнотипные внешние интерфейсы. Информация о возможностях преобразования узлов в сети позволяет процессу расчета пути выбирать сквозной путь через множество уровней или зон, который включает каналы с различными возможностями коммутации, объединенные LSR, позволяющим адаптировать (т. е., преобразовать) сигналы между каналами.

4.2.1. Сети с гибридными узлами, поддерживающими разные типы коммутации

Этот тип сетей содержит по крайней мере один гибридный узел и множество узлов, поддерживающих единственный тип коммутации, и может также включать симплексные узлы.

На рисунке 1 показан пример гибридного узла. Этот узел имеет два коммутационных элемента (две матрицы), поддерживающие, например, коммутацию TDM и PSC. Узел служит завершением каналов PSC и TDM (Link1 и Link2, соответственно). Кроме того, этот узел имеет внутреннее соединение между двумя коммутационными элементами.

Два коммутационных элемента соединены внутри между собой таким способом, что обеспечивается возможность завершения некоторых ресурсов канала Link2 (для примера) и преобразования для трафика PSC, принимаемого/передаваемого через интерфейс PSC (#b). Такая ситуация моделируется в GMPLS путем соединения локального окончания Link2 с коммутационным элементом TDM через дополнительный интерфейс, реализующий функции завершения/преобразования. Существует два способа организации PSC LSP через гибридный узел. Анонсирование доступных ресурсов (т. е. Unreserved и Min/Max LSP Bandwidth) должно учитывать оба способа.

            .............................
            : Элемент сети              :
            :            --------       :
            :           |  PSC   |      :
Link1 -------------<->--|#a      |      :
            :           |        |      :
            :  +--<->---|#b      |      :
            :  |         --------       :
            :  |        ----------      :
TDM         :  +--<->--|#c  TDM   |     :
 +PSC       :          |          |     :
Link2 ------------<->--|#d        |     :
            :           ----------      :
            :............................

Рисунок 1: Гибридный узел

4.3. Интегрированное построение трафика (TE) и управление ресурсами

В многозоновых/многоуровневых сетях на базе GMPLS соединения TE могут консолидироваться в одной базе данных TED для использования одним экземпляром плоскости управления. Поскольку база TED содержит информацию о всех уровнях всех зон сети, пути через множество уровней (возможно проходящие через множество зон) могут рассчитываться с использованием информации из TED. Таким образом может быть обеспечена оптимизация сетевых ресурсов для множества уровней одной зоны и для множества зон.

Эти концепции позволяют организовать работу одного сетевого уровня на основе топологии (т. е. Каналов TE), обеспечиваемой другими сетевыми уровнями (например, использование LSC LSP для организации PSC LSP). Благодаря этому может быть достигнут высокий уровень контроля и межсетевого взаимодействия, включая (но не ограничиваясь):

  • динамическую организацию FA28 LSP [RFC4206] (см. параграфы 4.3.2 и 4.3.3);
  • предоставление сквозных LSP с динамическим переключением FA LSP.

Отметим, в сети MLN/MRN, включающей узлы с поддержкой множества типов коммутации, явный маршрут, используемый для организации сквозного LSP, может задавать узлы, относящиеся к разным уровням или зонам. В этом случае может потребоваться механизм управления динамическим созданием FA-LSP (см. параграфы 4.3.2 и 4.3.3).

Существует полный спектр опций для контроля динамической организации FA-LSP. Процесс создания может осуществляться под контролем политики, которая может быть набором компонент управления и может требовать во время организации FA-LSP согласования с плоскостью управления. В дополнение к этому FA-LSP можно создавать по запросам плоскости управления без контроля над процессом создания.

4.3.1. Триггерная сигнализация

Когда LSP проходит через границу от верхнего уровня к нижнему, такой путь может оказаться вложенным в FA-LSP нижележащего уровня, который проходит через этот уровень. С точки зрения сигнализации существует два варианта организации FA-LSP нижележащего уровня — статический (подготовленный заранее) и динамический (триггерный). Статический FA-LSP может инициироваться оператором или автоматически с использованием механизмов типа TE auto-mesh29 [RFC4972]. Если такого LSP нижележащего уровня еще нет, LSP можно организовать динамически. Такой механизм называется триггерной сигнализацией.

4.3.2. FA-LSP

После создания LSP через уровень от граничного узла одного уровня к граничному узлу другого, этот путь может использоваться в качестве канала данных вышележащими уровнями.

Более того, путь будет анонсироваться как соединение TE, что позволит другим узлам рассматривать LSP в качестве канала TE при своем расчете путей [RFC4206]. LSP, созданные статически или динамически одним экземпляром плоскости управления и анонсируемые в качестве каналов TE в тот же экземпляр плоскости управления, называются FA-LSP30. Путь FA-LSP анонсируется в качестве канала TE и этот канал называется FA31. FA имеет особые свойства, не требующие смежности маршрутизаторов (peering) между конечными точками пути при сохранении связности на плоскости управления между конечными точками FA-LSP на основе сигнальной смежности. Каналы FA являются полезным и мощным средством повышения уровня масштабируемости сетей с поддержкой GMPLS-TE, поскольку множество LSP вышележащих уровней может быть вложено (агрегировано) в один канал FA-LSP.

Агрегирование LSP позволяет создавать вертикальную иерархию (вложенность) LSP. Множество FA-LSP через нижележащий уровень или внутри него можно использовать в процессе выбора пути для LSP вышележащего уровня. Подобно этому, LSP вышележащего уровня могут проходить через динамические каналы данных, реализованные в виде LSP (также, как при передаче через обычные каналы данных). Этот процесс требует вложенности LSP на основе иерархического процесса [RFC4206]. База TED содержит множество анонсов LSP от различных уровней, которые идентифицируются дискриминаторами ISCD, содержащимися в анонсах каналов TE, связанных с LSP [RFC4202].

Если LSP нижележащего уровня не анонсируется как FA, этот путь все равно может использоваться для передачи LSP вышележащего уровня через нижележащий. Например, если LSP организуется с использованием триггерной сигнализации, этот путь может использоваться LSP вышележащего уровня, вызвавшего переключение (триггер). Более того, нижележащий уровень остается доступным для использования другими LSP вышележащего уровня, приходящими на границу.

При некоторых обстоятельствах может быть полезен контроль анонсов LSP в качестве FA в сигнальном процессе организации LSP [DYN-HIER].

4.3.3. Виртуальная сетевая топология

Набор из одного или множества LSP нижележащего уровня обеспечивает информацию для эффективного обслуживания путей на верхних уровнях MLN или, иными словами, обеспечивает виртуальную сетевую топологию (VNT32) для верхних уровней. Например, набор LSP, каждый из которых поддерживается LSC LSP, обеспечивает VNT для уровней зоны PSC в предположении, что зона PSC подключена к зоне LSC. Отметим, что один путь LSP нижележащего уровня является особым случаем VNT. Настройка VNT осуществляется путем организации или разрыва путей LSP нижележащего уровня. За счет использования сигнализации GMPLS и протоколов маршрутизации VNT можно адаптировать к потребностям передачи трафика.

LSP нижележащего уровня представляется как соединение TE в VNT. Независимо от использования различно маршрутизируемых LSP нижележащего уровня, LSP скрыты от верхнего уровня в VNT. Таким образом, VNT упрощает решение вопросов по построению трафика и маршрутизации для вышележащего уровня за счет сокрытия маршрутов, принимаемых LSP нижележащего уровня. Однако сокрытие маршрутов LSP нижележащего уровня может приводить к утрате важной информации, которая требуется для обеспечения надежности LSP вышележащего уровня.

Например, при маршрутизации и построении трафика на уровне IP/MPLS обычно не принимается во внимание способ формирования каналов IP/MPLS TE из оптических путей и маршрутизация на оптическом уровне. Два оптических пути могут использовать общее волокно на нижележащем уровне и, следовательно, при обрыве волокна оба канала перестанут работать. Таким образом, параметры разделения риска для каналов TE в сети VNT должны быть доступны для вышележащего уровня в процессе расчета пути. Далее, топология VNT должна быть организована таким образом, чтобы обрыв одного волокна не разрывал VNT на отдельные части. Эти вопросы дополнительно рассматриваются ниже.

Реконфигурация VNT может быть вызвана изменением запросов по трафику, сменой топологической конфигурации, сигнальными запросами от вышележащего уровня и отказами в сети. Например, путем реконфигурации VNT в соответствии с потребностями трафика между парой узлов (отправителем и получателем) параметры производительности сети (такие, как максимальная загрузка канала и свободная емкость) могут быть оптимизированы. Реконфигурация выполняется путем расчета новой VNT в соответствии с потребностями трафика и с возможным учетом текущей конфигурации VNT. Детали этого расчета выходят за пределы данного документа. Однако этом метод можно адаптировать в соответствии с политикой сервис-провайдера в части производительности и качества обслуживания (задержка, потери/повреждения, загрузка, свободная емкость, надежность).

5. Требования

5.1. Обслуживание узлов с одним и многими типами коммутации

Сеть MRN/MLN может содержать узлы, поддерживающие один или множество типов коммутации. Механизм расчета пути в MLN должен обеспечивать возможность расчета путей, включающих любую комбинацию таких узлов.

Как узлы с поддержкой одного типа коммутации, так и узлы, поддерживающие множество технологий (симплексные и гибридные) могут выступать в качестве границ уровня. Расчет пути MRN/MLN должен обрабатывать топологии TE, включающие любые комбинации узлов.

5.2. Анонсирование доступных ресурсов смежности

Гибридному узлу следует поддерживать ресурсы на своих внутренних каналах (каналах, требуемых для вертикальной интеграции между уровнями). Более того, должны быть подготовлены элементы расчета пути для использования информации о доступности ресурсов завершения и преобразования в процессе расчета пути MRN/MLN. Это будет снижать вероятность блокировки организованного LSP вышележащего уровня по причине нехватки ресурсов завершения/преобразования на нижележащих уровнях.

Требуется анонсирование возможностей преобразования (способность завершать LSP нижележащих зон и пересылать трафик в вышележащие зоны) узла MRN, поскольку это анонсирование обеспечивает критичную для расчета многозонового пути информацию.

Механизм расчета пути должен работать и в случаях, когда каналы вышележащего уровня подключены непосредственно к коммутационным элементам вышележащего уровня, а также в случаях, когда подключение осуществляется через внутренние каналы между элементами вышележащего и нижележащего уровней (см. параграф 4.2.1).

5.3. Масштабируемость

MRN/MLN работает на основе унифицированных моделей маршрутизации и построения трафика.

  • Унифицированная модель маршрутизации. За счет поддержки одного экземпляра протокола маршрутизации и одной базы TED на LSR унифицированная модель плоскости управления снимает требование наличия выделенной топологии маршрутизации для каждого уровня и, следовательно, требует полной связности маршрутизаторов на каждом уровне.
  • Унифицированная модель TE. База TED в каждом LSR заполняется каналами TE из всех уровней каждой зоны (интерфейсы каналов TE в LSR, поддерживающих множество типов коммутации, могут анонсироваться с множеством ISCD). Это может приводить к росту объема информации, которая хранится в сети и рассылается в лавинном режиме.

Кроме того, время расчета пути, которое может иметь очень большое значение при восстановлении, будет зависеть от размера TED.

Таким образом, механизмы маршрутизации MRN/MLN должны обеспечивать масштабирование в случаях роста любого из перечисленных параметров:

  • число узлов;
  • число каналов TE (включая FA-LSP);
  • число LSP;
  • число зон и уровней;
  • число ISCD на канал TE.

Для протоколов маршрутизации недопустимо предотвращение фильтрации данных TE на базе ISCD. Механизму расчета пути и протоколу сигнализации следует поддерживать возможность работы с неполной информацией TE.

Поскольку каналы TE могут анонсировать множество ISC (возможностей коммутации), число каналов может быть ограничено за счет использования специфических топологических отображений, которые называют виртуальными сетевыми топологиями (VNT). Введение виртуальных топологий позволяет рассмотреть концепцию эмуляции перекрытий плоскостей данных.

5.4. Стабильность

Расчет пути зависит от топологии сети и состояния каналов. На стабильность расчета пути на вышележащем уровне может оказывать влияние частота изменений VNT и/или частота изменения параметров соединений TE (например, метрики TE) в VNT. В этом контексте отказоустойчивость VNT определяется как возможность гладкого изменения и предотвращения распространения изменений на вышележащие уровни. Изменения в VNT могут вызываться созданием, удалением или изменением LSP.

Должны обеспечиваться протокольные механизмы, обеспечивающие создание, удаление и изменение LSP, инициируемые с помощью оперативных действий. Следует обеспечивать протокольные механизмы для обеспечения возможности управления действиями с LSP по инициативе смежных уровней. Могут обеспечиваться протокольные механизмы, позволяющие реализовать подобные функции для адаптации к изменениям в среде (типа изменения потребностей трафика, изменения топологии, отказов в сети). Отказоустойчивость маршрутизации должна быть связана с адаптивностью к таким изменениям.

5.5. Минимизация повреждений

При реконфигурировании VNT в соответствии с изменившимися запросами трафика может повреждаться LSP вышележащего уровня. Такие повреждения должны быть минимизированы.

Когда уровень сохранившихся ресурсов падает до некоторого значения, часть LSP нижележащего уровня может быть освобождена в соответствии с локальной или сетевой политикой. Существует компромисс между объемом ресурсов, резервируемых на нижележащем уровне, и нарушениями трафика на вышележащем уровне (т. е. переносом трафика в другие TE-LSP, чтобы освободить некоторые LSP). Некоторое нарушение трафика допустимо, но должно происходить под контролем политики, задаваемой оператором. Любое репозиционирование трафика должно быть неразрушающим, насколько это возможно.

5.6. Наследование атрибутов LSP

Параметры канала TE должны наследоваться из параметров LSP, которые обеспечивают канал TE, а также из каналов TE на нижележащих уровнях, через которые проходит LSP. К наследуемым параметрам относятся:

  • ISC;
  • метрика TE;
  • максимальная полоса LSP для каждого уровня приоритета;
  • нерезервируемая полоса для каждого уровня приоритета;
  • максимальная резервируемая полоса;
  • атрибуты защиты;
  • минимальная полоса LSP (в зависимости от возможности коммутации);
  • SRLG.

Правила наследования должны применяться на основе заданной политики. Особое внимание следует обращать на наследование метрики TE (метрика может отличаться от точной суммы метрик составляющих каналов TE на нижележащем уровне), атрибутов защиты и SRLG.

Как указано выше, сокрытие маршрутов LSP нижележащего уровня может приводить к потере важной информации, требуемой для обеспечения надежности LSP в сети вышележащего уровня. SRLG могут использоваться для идентификации LSP нижележащего уровня, которые разделяют риск отказа, для минимизации потенциального риска разрыва VNT и повышения уровня защищенности путей, организуемых на вышележащем уровне. Наследование информации SRLG от нижележащего уровня требует дополнительного обсуждения и выходит за пределы данного документа.

5.7. Расчет путей с вложенной сигнализацией и без нее

Расчет пути может принимать во внимание зону LSP и границы уровней. При расчете пути выбор LSP может ограничиваться только теми каналами, которые используют интерфейсы, поддерживающие PSC. Для примера предположим, что TDM-LSP маршрутизируется через топологию, составленную из каналов TE того же уровня TDM. При расчете пути для LSP данные TED могут фильтроваться для того, чтобы оставить лишь те каналы, оба конца которых поддерживают LSP с нужным типом коммутации. В этом случае иерархическая маршрутизация осуществляется за счет использования фильтрации TED по возможностям коммутации (т. е., с выбором определенного уровня).

Если разрешена триггерная сигнализация, механизм расчета пути может порождать маршрут, включающий множество зон/уровней. Пути рассчитываются через множество уровней/зон даже в тех случаях, когда путь не «соединен» на том же уровне, где существуют конечные точки пути. Здесь предполагается, что будет использоваться триггерная сигнализация для «соединения» пути, когда сигнальный запрос вышележащего уровня придет на границу узла.

Сигнальный запрос вышележащего уровня может включать объект явной маршрутизации (ERO33), который содержит только интервалы вышележащего уровня. В этом случае граничный узел отвечает за триггерное создание FA-LSP нижележащего уровня с использованием выбранного пути или выбор любого доступного LSP нижележащего уровня в качестве канала данных для вышележащего уровня. Этот механизм подходит для сред, где TED фильтруется на вышележащем уровне и на каждом уровне используется отдельный экземпляр маршрутизации или сред, где административные правила не позволяют вышележащему уровню задавать пути через нижележащий уровень.

Обычно при анонсировании LSP нижележащего уровня в качестве канала TE (виртуального или реального) на вышележащий уровень сигнальный запрос вышележащего уровня может содержать идентификатор канала TE, показывая таким способом ресурсы нижележащего уровня, которые будут использоваться. Но в таком случае путь LSP нижележащего уровня может динамически изменяться этим уровнем в любой момент.

В дополнение к этому сигнальный запрос вышележащего уровня может включать ERO, задающий маршрут FA-LSP нижележащего уровня. В этом случае граничный узел может самостоятельно решать, следует ли ему использовать путь, содержащийся в ERO или заново рассчитать путь на нижележащем уровне.

Даже в том случае, когда FA-LSP нижележащего уровня уже организованы, сигнальный запрос может быть введен в случае потери ERO. В такой ситуации граничный узел сам решает, следует ли ему создать новый FA-LSP нижележащего уровня или использовать существующий FA-LSP.

FA-LSP нижележащего уровня могут анонсироваться на вышележащий уровень просто как FA-LSP или как сосед IGP нижележащего уровня.

5.8. Использование ресурсов LSP

Использование ресурсов на всех уровнях следует оптимизировать как единое целое (т. е., на всех уровнях), координируя действия на всех уровнях (т. е., принимая во внимание все уровни). Число LSP нижележащего уровня, используемых для поддержки LSP вышележащего уровня, следует минимизировать (отметим, что для распределения нагрузки может использоваться множество LSP). Перемаршрутизации трафика LSP в другие LSP следует избегать.

5.8.1. Организация и разрыв FA-LSP

При малых запросах трафика некоторые FA-LSP, не используемые для передачи LSP вышележащего уровня, могут освобождаться, что ведет к освобождению ресурсов нижележащего уровня и возможности их передачи другим задачам. Отметим, что если незначительная часть доступной полосы FA-LSP продолжает использоваться, вложенные LSP могут быть перемаршрутизированы в другие FA-LSP (возможно, с использованием метода make-before-break34) для полного освобождения FA-LSP. Кроме того, неиспользуемые FA-LSP могут сохраняться для использования в будущем. Освобождение или сохранение неиспользуемых FA-LSP определяется политикой.

Как часть процесса повторной оптимизации, решение должно обеспечивать возможность повторной маршрутизации FA-LSP с сохранением идентификаторов интерфейсов соответствующих каналов TE. Более того, возможность этого процесса должна обеспечиваться при передаче через FA-LSP трафика LSP вышележащего уровня с минимальным нарушением этого трафика.

Кроме того, FA-LSP могут создаваться на основе политики, которая может принимать во внимание остающиеся свободными ресурсы и изменения потребностей трафика в масштабе зоны. За счет создания новых FA-LSP может повышаться производительность сети (например, увеличиваться уровень остающихся свободными ресурсов).

По мере роста числа FA-LSP остающиеся свободными ресурсы могут уменьшаться. В таких случаях может выполняться повторная оптимизация FA-LSP в соответствии с политикой.

Любое решение должно включать меры предотвращения дестабилизации сети, вызываемой быстрой организацией и освобождением LSP при изменении трафика около заданного порога.

Сигнализации для LSP нижележащего уровня следует поддерживать механизм быстрого анонсирования LSP в качестве каналов TE и определения экземпляров маршрутизации, в которые следует анонсировать канал TE.

5.8.2. Виртуальные каналы TE

Может показаться недостатком создание заранее набора LSP нижележащего уровня, которые будут обеспечивать VNT, поскольку для этого будет резервироваться полоса, которая могла бы использоваться для других LSP в отсутствие трафика вышележащего уровня.

Однако для того, чтобы обеспечить возможность расчета LSP вышележащего уровня через нижележащий уровень, LSP нижележащего уровня можно анонсировать на вышележащий уровень как полностью организованные без их реального создания. Такие каналы TE, представляющие возможности нижележащего LSP, называют виртуальными каналами TE. Реализация самостоятельно принимает решение о создании на граничном узле уровня виртуальных или реальных каналов TE и этот выбор (если реализация его обеспечивает) должен находиться под контроле политики оператора. Отметим, что требований поддержки создания виртуальных каналов TE не возникает, поскольку могут использоваться реальные каналы TE (с организацией LSP). Даже при отсутствии каналов TE (виртуальных или реальных), анонсируемых на вышележащий уровень, возможно маршрутизировать LSP вышележащего уровня в нижний уровень в предположении динамического создания при необходимости корректных иерархических LSP.

Если LSP вышележащего уровня, использующий виртуальный канал TE, организован, информация об основном LSP должна быть незамедлительно передана на нижний уровень.

Если виртуальные каналы TE используются взамен организованных заранее LSP, каналы TE через верхний уровень могут стабильно использовать заранее рассчитанные пути, пока удается избежать перерасхода полосы на нижнем уровне и ненужного резервирования ресурсов адаптации.

Решению следует поддерживать операции, упрощающие создание таких виртуальных каналов TE, с учетом прогнозов трафика и доступных ресурсов нижнего уровня.

Виртуальные каналы TE можно создавать, удалять или динамически изменять (в части их емкости) в соответствиями с изменениями прогнозов трафика и доступными ресурсами нижнего уровня. Должна обеспечиваться возможность динамического создания, удаления и изменения виртуальных каналов TE.

Любое решение должно поддерживать меры предотвращения дестабилизации сети в результате быстрых изменений VNT при изменении уровня трафика вблизи заданного порога.

Концепция VNT может быть расширена для использования виртуальных каналов TE, как части VNT. Комбинация заранее организованных (реальных) и виртуальных каналов TE определяет VNT, обеспечиваемую нижним уровнем. VNT можно изменять путем организации и/или удаления виртуальных каналов TE, а также путем изменения реальных каналов (т. е., полностью обеспечиваемых LSP). Создание и поддержка VNT выходят за пределы данного документа.

В некоторых случаях допустимо селективное анонсирование предпочтительных соединений вместе с набором узлов между уровнями. Дальнейшее уменьшение числа анонсов может быть достигнуто за счет абстрагирования топологии (между граничными узлами) с использованием моделей, похожих на описанную в [RFC4847].

5.9. Верификация LSP

Когда LSP нижележащего уровня организуется для использования в качестве канала данных верхнего уровня, этот LSP можно проверить на предмет корректной связности и целостности данных еще до того, как станет возможным использование канала. Механизмы проверки зависят от технологии и выходят за пределы данного документа, но протоколам GMPLS следует обеспечивать механизмы координации проверки каналов данных.

5.10. Управление

Сети MRN/MLN требуют поддержки функций управления. Требуются операции для обеспечения некоторого уровня контроля и управления для коммутаторов и каналов в сети, которые могут относиться к одному уровню или одной зоне.

Мы можем рассмотреть две разных модели работы: (1) управление в рамках уровня и (2) кросс-уровневое управление.

В части элементов управления внутри одного уровня возможно управление MLN как раздельными уровнями, хотя такой подход категорически расходится с целями определения многоуровневых сетей. В этом случае на каждом уровне будут работать отдельные системы управления и эти системы не знать о том, что уровни тесно связаны между собой в плоскости управления. В таких системах при автоматическом создании LSP по запросам плоскости управления другого уровня (например, триггерная сигнализация) управляющим программам потребуется регистрация новых LSP и затрата сетевых ресурсов. Особую роль в таких случаях будут играть граничные узлы уровней, которые будут сообщать управляющим программам о соответствующих событиях.

Более разумным представляется реализация кросс-уровневых элементов управления и создание тесно связанных между собой систем управления отдельными уровнями. Это может быть достигнуто за счет использования унифицированной системы управления, способной работать на многих уровнях, или мета-систем, координирующих работу отдельных систем управления, каждая из которых отвечает за свой уровень. Первый вариант возможен только в результате разработки новых систем управления, тогда как второй может быть реализован за счет координации работы существующих инструментов сетевого управления.

Отметим, что в тех случаях, когда граница уровня формирует также административную границу, маловероятно, что здесь будет использоваться унифицированное многоуровневое управление. В этом случае уровни будут независимо управляться разными административными объектами, но может происходить некоторая «утечка» информации между административными доменами для упрощения работы MLN. Например, система управления нижележащего уровня может автоматически генерировать отчеты об доступности ресурсов (совпадающие с маршрутной информацией TE) и сигналы тревоги.

Это обсуждение достаточно близко к вопросам работы и управления VNT. Как было отмечено в параграфе 5.8, вопросы устройства и управления VNT выходят за пределы этого документа, но следует понимать, что VNT представляет собой конструкцию клиентского уровня, построенную с использованием ресурсов серверного уровня. Это означает, что работа VNT представляет собой совместные действия нескольких уровней. Такие действия возможны даже в тех случаях, когда уровни администрируются независимо, но в таких случаях могут оказывать влияние коммерческие вопросы.

Существуют модули MIB для моделирования сетей GMPLS и управления ими [RFC4802] [RFC4803]. Некоторые из разворачиваемых сетей GMPLS могут выбирать использование модулей MIB для работы отдельных сетевых уровней. В таких случаях операторы могут принять решение о координации уровней с помощью модуля MIB, который может быть разработан. Для многоуровневых протокольных решений (т. е., решений, где один экземпляр плоскости управления работает на нескольких уровнях) следует обеспечивать возможность управления с помощью модулей MIB. Может быть разработан дополнительный модуль MIB для координации множества сетевых уровней модулем MIB плоскости управления.

Инструменты OAM35 имеют важное значение для успеха развертывания всех сетей.

Требования OAM для сетей GMPLS описаны в документе [GMPLS-OAM]. Этот документ отмечает, что в протокольные решения для отдельных сетевых уровней следует включать механизмы для OAM или обеспечивать наследование функций OAM от физических сред уровней. Дальнейшее обсуждение этого вопроса выходит за пределы данного документа.

При работе OAM в MLN следует принимать во внимание вопрос обеспечения OAM для сквозных LSP, проходящих через границы уровней (которые могут быть также административными границами), и координации сообщений об ошибках и сигналов тревоги, детектируемых серверным уровнем, которые нужно передавать на клиентский уровень. Эти рабочие вопросы должны оставаться открытыми для сервис-провайдеров и разработчиков протоколов MLN, а также должны включать следующие функции:

  • В контексте и технологии высшего уровня в LSP (т. е. уровня технологии первого интервала маршрутизации) должна обеспечиваться возможность сквозного OAM для MLN LSP. Эта функция появляется на входном LSP как обычная функция OAM на базе LSP [GMPLS-OAM], но на границах уровней, в зависимости от метода, используемого для прохождения через нижележащий уровень, может потребоваться отображение операций OAM клиентского уровня на операции OAM серверного уровня. Большинство таких требований сильно зависит от средств OAM технологии плоскости данных на клиентском и серверном уровнях. Однако механизмы плоскости управления, используемые на клиентском уровне в соответствии с [GMPLS-OAM], должны отображаться и включать OAM на серверном уровне.
  • Работа OAM, включаемая в соответствии с [GMPLS-OAM] на клиентском уровне для LSP, должна выполняться на всей протяженности LSP. Это означает, что при пересечении LSP домена технологии нижележащего уровня, операции OAM клиентского уровня должны гладко соединяться внутри клиентского уровня на обоих концах LSP клиентского уровня.
  • Функции OAM на серверном уровне должны быть контролируемыми с клиентского уровня так, чтобы LSP серверного уровня, которые поддерживают LSP клиентского уровня, имели функции OAM, включаемые по запросу клиентского уровня. Такой контроль следует осуществлять в соответствии с правилами на границе уровня, когда автоматическое включение и запросы LSP на серверный уровень контролируются политикой.
  • Информация о состоянии, включающая сообщения об ошибках и сигналы тревоги, применимые к LSP серверного уровня, должны быть доступными на клиентском уровне. Эту информацию следует делать настраиваемой для автоматического уведомления клиентского уровня на границе уровня; кроме того, к этой информации следует применять политику, позволяющую серверному уровню фильтровать или скрывать часть информации, передаваемой на клиентский уровень. Более того, на клиентском уровне следует обеспечивать возможность фильтрации такой информации.

Отметим, что интерфейс между уровнями находится внутри узла сети и, следовательно, не обязательно соответствует спецификациям протоколов. Разработчики могут использовать стандартизованные методы (такие, как модули MIB) для доставки информации о состоянии (такой, как сообщения об ошибках и сигналы тревоги) между уровнями, но решение этих вопросов выходит за пределы данного документа.

6. Вопросы безопасности

Архитектура MLN/MRN не вносит дополнительных требований безопасности, сверх тех, которые содержатся в общей архитектуре GMPLS, описанной в [RFC3945]. Дополнительное рассмотрение вопросов безопасности, связанных с MPLS и GMPLS, приведено в [MPLS-SEC].

Однако при работе отдельных уровней сети MLN/MRN в разных административных домена могут возникать дополнительные вопросы безопасности в связи с механизмами, позволяющими организовывать LSP через границы уровней, триггерным управлением LSP нижележащего уровня и управлением VNT. Может потребоваться рассмотрение объема информации, разделяемой между разными административными доменами, и компромисса между многоуровневыми TE и конфиденциальностью информации при передаче через другой административный домен.

Предполагается, документы, посвященные решениям, будут содержать полный анализ проблем безопасности, которые создает протокол.

7. Благодарности

Авторы признательны Adrian Farrel и членам ITU-T Study Group 15, Question 14 за внимательный просмотр документа. Авторы также благодарят команду IESG за тщательный просмотр документа, выражаю особую благодарность Tim Polk, Miguel Garcia, Jari Arkko, Dan Romascanu и Dave Ward.

8. Литература

8.1. Нормативные документы

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

[RFC3945] Mannie, E., Ed., «Generalized Multi-Protocol Label Switching (GMPLS) Architecture», RFC 3945, October 2004.

[RFC4202] Kompella, K., Ed., and Y. Rekhter, Ed., «Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)», RFC 4202, October 2005.

[RFC4206] Kompella, K. and Y. Rekhter, «Label Switched Paths (LSP) Hierarchy with Generalized Multi-Protocol Label Switching (GMPLS) Traffic Engineering (TE)», RFC 4206, October 2005.

[RFC4397] Bryskin, I. and A. Farrel, «A Lexicography for the Interpretation of Generalized Multiprotocol Label Switching (GMPLS) Terminology within the Context of the ITU-T’s Automatically Switched Optical Network (ASON) Architecture», RFC 4397, February 2006.

[RFC4726] Farrel, A., Vasseur, J.-P., and A. Ayyangar, «A Framework for Inter-Domain Multiprotocol Label Switching Traffic Engineering», RFC 4726, November 2006.

8.2. Дополнительная литература

[DYN-HIER] Shiomoto, K., Rabbat, R., Ayyangar, A., Farrel, A. And Z. Ali, «Procedures for Dynamically Signaled Hierarchical Label Switched Paths», Work in Progress, February 2008.

[MRN-EVAL] Le Roux, J.L., Ed., and D. Papadimitriou, Ed., «Evaluation of existing GMPLS Protocols against Multi Layer and Multi Region Networks (MLN/MRN)», Work in Progress, December 2007.

[RFC5146] Kumaki, K., Ed., «Interworking Requirements to Support Operation of MPLS-TE over GMPLS Networks», RFC 5146, March 2008.

[MPLS-SEC] Fang, L., Ed., «Security Framework for MPLS and GMPLS Networks», Work in Progress, February 2008.

[RFC4802] Nadeau, T., Ed., and A. Farrel, Ed., «Generalized Multiprotocol Label Switching (GMPLS) Traffic Engineering Management Information Base», RFC 4802, February 2007.

[RFC4803] Nadeau, T., Ed., and A. Farrel, Ed., «Generalized Multiprotocol Label Switching (GMPLS) Label Switching Router (LSR) Management Information Base», RFC 4803, February 2007.

[RFC4847] Takeda, T., Ed., «Framework and Requirements for Layer 1 Virtual Private Networks», RFC 4847, April 2007.

[RFC4972] Vasseur, JP., Ed., Leroux, JL., Ed., Yasukawa, S., Previdi, S., Psenak, P., and P. Mabbey, «Routing Extensions for Discovery of Multiprotocol (MPLS) Label Switch Router (LSR) Traffic Engineering (TE) Mesh Membership», RFC 4972, July 2007.

[GMPLS-OAM] Nadeau, T., Otani, T. Brungard, D., and A. Farrel, «OAM Requirements for Generalized Multi-Protocol Label Switching (GMPLS) Networks», Work in Progress, October 2007.

9. Адреса участников работы

Eiji Oki

NTT Network Service Systems Laboratories

3-9-11 Midori-cho, Musashino-shi

Tokyo 180-8585

Japan

Phone: +81 422 59 3441

EMail: oki.eiji@lab.ntt.co.jp

Ichiro Inoue

NTT Network Service Systems Laboratories

3-9-11 Midori-cho, Musashino-shi

Tokyo 180-8585

Japan

Phone: +81 422 59 3441

EMail: ichiro.inoue@lab.ntt.co.jp

Emmanuel Dotaro

Alcatel-Lucent

Route de Villejust

91620 Nozay

France

Phone: +33 1 3077 2670

EMail: emmanuel.dotaro@alcatel-lucent.fr

Адреса авторов

Kohei Shiomoto

NTT Network Service Systems Laboratories

3-9-11 Midori-cho, Musashino-shi

Tokyo 180-8585

Japan

EMail: shiomoto.kohei@lab.ntt.co.jp

Dimitri Papadimitriou

Alcatel-Lucent

Copernicuslaan 50

B-2018 Antwerpen

Belgium

Phone : +32 3 240 8491

EMail: dimitri.papadimitriou@alcatel-lucent.be

Jean-Louis Le Roux

France Telecom R&D

Av Pierre Marzin

22300 Lannion

France

EMail: jeanlouis.leroux@orange-ftgroup.com

Martin Vigoureux

Alcatel-Lucent

Route de Villejust

91620 Nozay

France

Phone: +33 1 3077 2669

EMail: martin.vigoureux@alcatel-lucent.fr

Deborah Brungard

AT&T

Rm. D1-3C22 — 200

S. Laurel Ave.

Middletown, NJ 07748

USA

Phone: +1 732 420 1573

EMail: dbrungard@att.com


Перевод на русский язык

Николай Малых

nmalykh@gmail.com

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


1Generalized MPLS — обобщенная технология MPLS.

2В оригинале with a single switching capability. Прим. перев.

3В оригинале region. Прим. перев.

4Multi-region network.

5Multi-layer network.

6Packet switching.

7Layer-2 switching.

8Time-Division Multiplexing — мультиплексирование с разделением по времени.

9Wavelength switching.

10Fiber switching.

11Interface Switching Capability.

12Interface Switching Capability Descriptor — дескриптор способности коммутации интерфейсов.

13Switching bandwidth granularity.

14Traffic Engineering.

15Label Switching Routers.

16Traffic Engineering Database.

17Label Switched Path.

18Standards development organization.

19Head-end.

20Tail-end.

21Физический уровень модели OSI. Прим. перев.

22Virtual Path / Virtual Circuit — виртуальный путь/виртуальное устройство (канал).

23Multi-region/multi-layer network service.

24Оптическая пакетная сеть.

25Synchronous Digital Hierarchy — синхронная цифровая иерархия.

26Interface Switching Capability.

27Interface Switching Capability Descriptor.

28Forwarding Adjacency — соседство по пересылке.

29Автоматическое связывание.

30Forwarding Adjacency LSP.

31Forwarding Adjacency — соседство по пересылке.

32Virtual network topology.

33Explicit Route Object.

34Работать до прерывания.

35Operations and Management — эксплуатация и управление.

Рубрика: RFC | Оставить комментарий

RFC 5227 IPv4 Address Conflict Detection

Network Working Group                                        S. Cheshire
Request for Comments: 5227                                    Apple Inc.
Updates: 826                                                   July 2008
Category: Standards Track

IPv4 Address Conflict Detection

Обнаружение конфликтов адресов IPv4

PDF

Статус документа

В этом документе описан проект стандартного протокола Internet, предложенного сообществу Internet, документ служит приглашением к дискуссии в целях развития предложенного протокола. Текущее состояние стандартизации протокола можно узнать из документа Internet Official Protocol Standards (STD 1). Документ может распространяться свободно.

Аннотация

При попытке двух хостов на одном канале одновременно установить один адрес IPv4 (за исключением редких особых случаев, когда это заранее согласовано) возникают проблемы на одном или обоих хостах. В этом документе описаны (i) простые меры предосторожности для предотвращения таких проблем и (ii) простой механизм пассивного обнаружения проблемы, позволяющий администратору хоста узнать о её возникновении.

1. Введение

Исторически сложилось так, что настройка одного адреса IP на двух хостах Internet часто создавала раздражающую и трудно диагностируемую проблему.

Это печально, поскольку имеющийся протокол распознавания адресов (Address Resolution Protocol или ARP) обеспечивает хостам простой способ обнаружения этого типа конфигурационных ошибок и информирование о них пользователя. В спецификации DHCP [RFC2131] кратко отмечена роль ARP в обнаружении ошибок конфигурации, как показано в трёх приведённых ниже цитатах из RFC 2131:

  • клиенту следует проверить недавно полученный адрес (например, с помощью ARP);

  • клиенту следует окончательно проверить параметры (например, ARP для выделенного сетевого адреса);

  • если обнаружено, что адрес уже занят (например, с помощью ARP), клиент должен передать серверу сообщение DHCPDECLINE.

К сожалению в спецификации DHCP нет рекомендаций для разработчиков в части количества передаваемых пакетов ARP, интервалов между ними и общего времени ожидания перед принятием решения о возможности бесконфликтного использования адреса и даже не указано, какие типы пакетов нужно прослушивать для принятия решения. Это оставляет неопределённость выбора действия, которое следует предпринимать, если после решения о возможности использования адреса обнаруживается его ошибочность. Не указаны также меры предосторожности, которые клиенту DHCP следует принимать для защиты от «патологических» отказов, например, при многократном предложении сервером DHCP того же адреса, который уже был много раз отвергнут.

Авторы спецификации DHCP возможно были вправе думать тогда, что ответы на эти вопросы представляются слишком простыми, прямыми и очевидными, но к сожалению это перенесло значительную часть сложностей реализации протокола на отдельных разработчиков. Этот документ пытается исправить упущение, чётко указал действия, требуемые в перечисленных ниже случаях.

  1. Проверка возможности конфликта при использовании адреса, включая (a) активное использование этого адреса другим хостом на том же канале и (b) непреднамеренное совпадение начала использования двумя хостами одного адреса во время проверки возможности его применение (2.1. Зондирование адреса).

  2. Последующее пассивное обнаружение использования того же адреса другим хостом в сети. Даже при использовании на всех хостах мер предосторожности такие конфликты все равно могут возникать, если хосты не обмениваются сведениями в процессе настройки интерфейсов. Это может происходить в беспроводных сетях, когда хост временно выходит за пределы доступности сети или на проводных интерфейсах Ethernet, если канал между двумя концентраторами (hub) не работал в момент настройки адреса. Хорошо организованный хост будет обрабатывать не только конфликты в процессе настройки интерфейса, но и возникшие позже конфликты в течение всего срока (2.4. Обнаружение конфликтов и защита адреса).

  3. Ограничение числа попыток получения адреса при большом числе повторяющихся конфликтов (2.1. Зондирование адреса).

Детектирование конфликтов адресов IPv4 (Address Conflict Detection или ACD) не ограничивается клиентами DHCP. Обнаружение конфликтов полезно при настройке адресов вручную и при получении от сервера DHCP или иного источника. При обнаружении конфликта агенту настройки следует сообщать об ошибке. Если таким агентом является человек, уведомлением может быть текст на экране, сообщение протокола SNMP1 или текстовое сообщение, отправленное на телефон. Для DHCP уведомлениями могут служить сообщения DHCP DECLINE для сервера. При настройке другими программами уведомления могут принимать форму соответствующих программных ошибок, информирующих о конфликте выбранного программой адреса с адресом другого хоста в сети. Программа может отказаться от работы с сетью или автоматически выбрать другой адрес для хоста, чтобы обеспечить максимально быстрое восстановление связности IP.

Выделение адресов IPv4 Link-Local [RFC3927] можно считать частным случаем этого механизма, где агентом настройки служит генератор псевдослучайных чисел а действием при обнаружении конфликта служит выбор другого случайного значения и повторение попытки. Фактически именно такая реализация IPv4 Link-Local была предложена в Mac OS 9 ещё в 1998 г. Если клиент DHCP не получил отклика от сервера DHCP, он может просто создать фиктивный отклик со случайным адресом 169.254.x.x. Если модуль ARP при этом укажет конфликт адресов, клиент DHCP повторяет попытку, создавая новый случайный адрес 169.254.x.x, пока конфликт не будет исчерпан. Реализация ACD как стандартной функции сетевого стека имеет побочный эффект, означающий, что половина работы для адресации IPv4 Link-Local уже сделана.

1.1. Используемые соглашения и термины

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с [RFC2119].

В этом документе слова «IP-адрес отправителя» и «целевой IP-адрес» в контексте пакетов ARP указывают поля пакета ARP, называемые в спецификации ARP [RFC826] ar$spa (протокольный адрес отправителя) and ‘ar$tpa’ (протокольный адрес цели), соответственно. Описанное в этом документе использование ARP предполагает, что эти поля содержат адреса IPv4.

Термин «проба ARP» относится к пакетам ARP Request, передаваемым по широковещательному адресу в локальный канал с нулевым значением IP-адреса отправителя. Поле аппаратного адреса отправителя должно содержать аппаратный адрес передающего интерфейса. Поле IP-адреса отправителя должно быть заполнено нулями для предотвращения загрязнения кэша ARP на других хостах того же канала, если адрес уже занят другим хостом. Поле аппаратного адреса цели игнорируется и его следует заполнять нулями. Поле целевого адреса IP должно содержать проверяемый адрес. Пакет ARP Probe содержит вопрос: «Кто-нибудь использует этот адрес?» и предполагаемое утверждение: «Я надеюсь использовать этот адрес».

Термин «анонс ARP» в этом документе обозначает пакет ARP Request передаваемый в локальный канал по широковещательному адресу, похожий на описанный выше пакет ARP Probe, но с полями IP-адресов отправителя и получателя, содержащими анонсируемый адрес IP. Пакет содержит более сильное утверждение: «Я использую этот адрес».

Ниже перечислены временные ограничения, используемые в этом протоколе и упоминаемые в разделе 2, который подробно описывает протокол. Указанные значения являются фиксированными константами и не предполагается их переопределение разработчиками, операторами или пользователями. Константы указаны символьными именами для упрощения будущего стандарта, где может упоминаться этот документ, но в данный момент такого стандарта нет.

   PROBE_WAIT           1 секунда  (исходная случайная задержка)
   PROBE_NUM            3          (число пробных пакетов)
   PROBE_MIN            1 секунда  (минимальная задержка при повторе проб)
   PROBE_MAX            2 секундыаксимальная задержка при повторе проб)
   ANNOUNCE_WAIT        2 секунды  (задержка перед анонсированием)
   ANNOUNCE_NUM         2          (число пакетов Announcement)
   ANNOUNCE_INTERVAL    2 секунды  (интервал между пакетами Announcement)
   MAX_CONFLICTS       10          (максимальное число конфликтов перед ограничением скорости)
   RATE_LIMIT_INTERVAL 60 секунд   (задержка между последовательными попытками)
   DEFEND_INTERVAL     10 секунд   (минимальный интервал между защитными ARP)

1.2. Связь с RFC 826

Документ не меняет правил для протокола RFC 826. Он не меняет формат пакетов или назначение полей. Имеющиеся правила генерации пакетов и откликов на них применяются в полном соответствии с RFC 826.

Документ расширяет RFC 826, задавая два правила, указанных ниже.

  1. При настройке интерфейса следует генерировать ARP Request, чтобы обнаружить занятость адреса.

  2. Для каждого полученного пакета ARP должен выполняться тривиальный тест, позволяющий пассивно обнаруживать наличие конфликта. Для таких тестов не треьуется передача через сеть дополнительных пакетов, а нагрузка на CPU хоста практически не увеличивается, поскольку каждый хост, поддерживающий ARP, все равно должен обрабатывать каждый полученный пакет ARP в соответствии с правилами приема RFC 826. Эти правила уже включают проверку присутствия IP-адреса отправителя в кэше ARP, а дополнительная проверка заключается в сравнении IP-адреса отправителя с адресами данного хоста, что позволяет обойтись одной командой во многих архитектурах.

Как уже отмечено в RFC 826, пакета ARP Request выполняют две функции — утверждение и запрос.

Утверждение

Поля ar$sha (аппаратный адрес отправителя) и ar$spa (протокольный адрес отправителя) совместно утверждают, что данный протокольный адрес отображён (сопоставлен) с данным аппаратным адресом.

Запрос

Поля ar$tha (аппаратный адрес цели, 0) и ar$tpa (протокольный адрес цели) служат вопросом о возможности отображения данного протокольного адреса на данный аппаратный адрес.

В том документе разъясняется, что значит одно без другого.

Некоторые читатели могут отметить, что, вероятно, невозможно задать «чистый вопрос» и любой вопрос вызывает предположения о том, что спрашивающий хочет получить в ответ. Это похоже на указание свободного места с вопросом: «Здесь кто-нибудь сидит?», подразумевающим невысказанное: «Если нет, то сяду я». Пакет ARP Probe с нулём в поле IP-адреса отправителя может быть простым вопросом: «Кто-нибудь использует этот адрес?», но интеллектуальная реализация, понимающая как обнаружить конфликт адресов IPv4, должна быть способна распознать такой вопрос как предвосхищение заявления об использовании этого адреса.

Поэтому, если реализация в это же время задаёт очень похожий вопрос, ей следует понимать, что двое не могут сидеть на одном месте и следует попросить другое.

1.2.1. Широковещательные отклики ARP

В некоторых случаях обнаружения конфликта адресов IPv4 (Address Conflict Detection или ACD) может быть выгодно доставлять пакеты ARP Reply с использованием широковещательной адресации (вместо индивидуальной) поскольку это позволит раньше обнаруживать конфликты. Например, при динамической настройке адресов IPv4 Link-Local [RFC3927] механизм ACD используется так, как указано здесь, но дополнительно задана широковещательная передача ARP Reply, поскольку в данном контексте повышение надёжности и отказоустойчивости за счёт роста уровня широковещательного сочтено разумным компромиссом. В будущем могут появиться и другие спецификации с уместностью такого компромисса. Дополнительно этот вопрос рассматривается в параграфе 2.6. Широковещательные отклики ARP.

В RFC 826 подразумевается, что отклики на ARP Request обычно передаются по индивидуальным адресам, но допускается и широковещательная отправка ARP Reply. Правила восприятия пакетов в RFC 826 указывают, что содержимое поля ar$spa следует обрабатывать до проверки поля ar$op, поэтому любой хост с корректной реализацией восприятия пакетов по правилам RFC 826 будет правильно обрабатывать пакеты ARP Reply полученные через широковещательную рассылку на канале.

1.3. Применимость

Эта спецификация применима ко всем ЛВС IEEE 802 [802], включая Ethernet [802.3], Token-Ring [802.5] и беспроводные ЛВС IEEE 802.11 [802.11], а также к другим технологиям канального уровня, которые работают со скоростью по меньшей мере 1 Мбит/с, имеют задержку кругового обхода не более 1 секунды и используют протокол ARP [RFC826] для сопоставления адресов IP с адресами канального уровня. В этом документе для обозначения таких технологий применяется термин IEEE 802.

Технологии, поддерживающие ARP, но имеющие скорость меньше 1 Мбит/с или период кругового обхода больше 1 секунды, будут корректно работать с этим протоколом, но им чаще придется обрабатывать запоздалое обнаружения конфликтов уже после завершения фазы зондирования (Probing). Для таких каналов может указаться желательной настройка других значений перечисленных ниже параметров.

  1. PROBE_NUM, PROBE_MIN, PROBE_MAX — число пакетов ARP Probe и интервал между ними, описанные в параграфе 2.1.

  2. ANNOUNCE_NUM и ANNOUNCE_INTERVAL — число пакетов ARP Announcement и интервал между ними, описанные в параграфе 2.3.

  3. RATE_LIMIT_INTERVAL и MAX_CONFLICTS, задающие максимальную частоту попыток заявить адрес, как описано в параграфе 2.1.

  4. DEFEND_INTERVAL — пороговое значение интервала между конфликтующими ARP, делающее недопустимыми попытки защитить адрес при более частых конфликтах, как описано в параграфе 2.4.

Канальные технологии без поддержки ARP могут включать другие методы определения занятости адресов IP. Рассмотрение ACD для таких сетей выходит за рамки этого документа.

Для эффективной работы описанного здесь протокола не требуется его поддержка всеми хостами на канале. Для защиты поддерживающего эту спецификацию хоста от непреднамеренных адресных конфликтов достаточно корректной реализации партнёрами по каналу протокола ARP в соответствии с RFC 826. Когда партнер получает ARP Request, где целевой протокольный адрес совпадает с одним из адресов IP на данном интерфейсе, и корректно отвечает на него пакетом ARP Reply, запрашивающий хост может определить занятость этого адреса.

Эта спецификация позволяет хостам обнаруживать конфликты адресов на одном физическом канале. Метод ACD не может (и не должен) определять совпадение адресов, используемых хостами на разных физических каналах. Например адрес 10.0.0.1 [RFC1918] использует огромное число устройств во множестве разных сетей и это не вызывает конфликтов, поскольку адреса связаны с разными каналами. Конфликт будет возникать лишь при использовании адреса двумя устройствами на одном канале2 (это случается) и в этом случае механизм ACD будет чрезвычайно полезен для обнаружения конфликта и оповещения (или автоматического исправления).

В этом документ группа хостов считается относящейся к одному каналу при выполнении двух условий:

  • при отправке хостом A пакета любому хосту B из той же группы по индивидуальному, групповому или широковещательному адресу данные пакета канального уровня доставляются в неизменном виде;

  • широковещательный пакет, переданный в канал любым членом группы, будет получен каждым хостом этой группы.

Заголовок канального уровня может быть изменён (например, в Token Ring Source Routing [802.5]), но данные остаются неизменными. В частности, при изменении пересылающим устройством какой-либо части заголовка или данных IP пакет уже не будет относиться к тому же каналу. Это означает, что пакеты, доставляемые через повторители, мосты, концентраторы, коммутаторы, могут относиться к одному каналы, а пакеты, доставляемые через маршрутизатор IP, декрементирующий поле TTL или вносящий иные изменения в заголовок IP, — не могут.

Термин хост в этом документе в равной степени относится к интерфейсам маршрутизаторов и других многодомных устройств, независимо от пересылки (маршрутизации) пакетов таким устройством. Во многих случаях маршрутизатор является важной частью сетевой инфраструктуры с хорошо известным в локальном масштабе адресом IP, который считается достаточно стабильным. Например, адрес принятого по умолчанию маршрутизатора является одним из параметров, которые сервер DHCP обычно сообщает своим клиентам, но у сервера DHCP (по крайней мере до момента широкой реализации механизма DHCP Reconfigure [RFC3203]) нет способа уведомить своих клиентов о смене этого адреса. Поэтому для таких устройств обработка конфликтов путём выбора нового адреса IP не является лучшим вариантом. В таких случаях применяется вариант (c) из параграфа 2.4. Обнаружение конфликтов и защита адреса.

Однако даже при настройке адреса вручную заявление того же адреса IP другим устройством в сети будет загрязнять кэш ARP и препятствовать надёжной работе, поэтому оператору полезна информация о таких конфликтах. Если конфликт обнаруживается при настройке адреса вручную, оператора следует уведомлять сразу же, а при более позднем обнаружении конфликта полезно уведомить оператора по какому-либо асинхронному каналу связи. Несмотря на невозможность надёжной связи через вызвавший конфликт адрес, остаётся возможность проинформировать оператора по сохраняющемуся каналу связи, например, через другой интерфейс маршрутизатора, динамический адрес IPv4 link-local, рабочий адрес IPv6 или даже без использования технологии IP (локальный экран или последовательный терминал).

2. Проба адреса, анонсирование, обнаружение конфликтов и защита

В этом разделе описано начальное зондирование для безопасного детектирования уже занятых адресов, анонсирования выбранного адреса, проверки конфликтов и необязательного использования широковещания ARP Reply для обнаружения конфликтов.

2.1. Зондирование адреса

Перед началом использования адреса IPv4 (настроенного вручную, полученного от DHCP и пр.) реализующий эту спецификацию хост должен проверить занятость адреса путём широковещательной передачи пакетов ARP Probe. Это также применяется при переходе сетевого интерфейса в активное состояние в процессе пробуждения компьютера, при изменении состояния канала в результате подключения кабеля Ethernet, привязке беспроводного интерфейса 802.11 к новой базовой станции или ином изменении связности, когда хост получает активное соединение с логическим каналом.

Хосту недопустимо выполнять такую проверку периодически, поскольку это ведёт к ненужному расходу пропускной способности сети и не требуется благодаря возможности хостов обнаруживать конфликты в пассивном режиме, как описано в параграфе 2.4.

2.1.1. Детали зондирования

Хост проверяет занятость адреса, отправляя для него широковещательный пакет ARP Request. Клиент должен указать в поле sender hardware address пакета ARP Request аппаратный адрес интерфейса, из которого передаётся пакет. Поле sender IP address должно быть заполнено нулями, чтобы избежать загрязнения кэша ARP на других хостах канала, в случаях занятости адреса другим хостом. Поле target hardware address игнорируется и его следует заполнять нулями, а в поле target IP address должен быть указан проверяемый адрес. Пакет ARP Request, созданный описанным способом, с нулевым IP-адресом отправителя называют зондом ARP (ARP Probe).

Когда хост готов к передаче пробных пакетов, ему следует выждать случайное время из интервала с однородным распределением от 0 до PROBE_WAIT секунд, а затем передать PROBE_NUM проб со случайными интервалами от PROBE_MIN до PROBE_MAX (в секундах). Начальная задержка предотвращает одновременную отправку пробных пакетов при включении сразу множества устройств.

Если в интервале от начала зондирования до ANNOUNCE_WAIT после отправки последнего зонда хост получает на интерфейсе, откуда выполняется зондирование, любой пакет ARP (Request или Reply), где в поле sender IP address содержится адрес, для которого выполнялась проверка, хост должен считать это индикацией занятости адреса другим хостом и сообщить об этом агенту настройки (оператор, сервер DHCP и т. п.).

Кроме того, если в этом интервале хост получает пакет ARP Probe, где поле target IP address содержит проверяемый адрес, а sender hardware address отличается от аппаратных адресов данного хоста, хосту следует считать это конфликтом и сообщать о нем агенту настройки. Это может происходить при случайной настройке одного адреса на двух (и более) хостах, которые одновременно проверяют возможность использования этого адреса.

Примечание. Проверка того, что sender hardware address не является аппаратным адресом какого-либо из интерфейсов хоста важна. Некоторые типы концентраторов Ethernet (их часто называют буферизованными повторителями) и многие беспроводные точки доступа могут в широковещательном режиме ретранслировать широковещательные пакеты всем получателям, включая исходного отправителя. По этой причине описанные выше предосторожности нужны для предотвращения путаницы в случаях, когда хост получит свои пакеты ARP.

Реализующий эту спецификацию хост должен принять меры по ограничению частоты проверки новых потенциальных адресов. Если хост обнаруживает не менее MAX_CONFLICTS конфликтов на данном интерфейсе, он должен ограничить частоту проверки адресов на этом интерфейсе — не более 1 попытки в течение RATE_LIMIT_INTERVAL. Это предотвращает катастрофические «штормы» ARP в случаях серьёзных проблем, таких как сервер DHCP, повторно выделяющий хосту один и тот же адрес. Это правило ограничения частоты проверки применяется не только к конфликтам на этапе начального зондирования, но и к более поздним конфликтам, рассматриваемым в параграфе 2.4.

Если в течение ANNOUNCE_WAIT секунд после отправки последнего пакета ARP Probe не было получено конфликтующего ARP Reply или ARP Probe, хост может считать проверяемый адрес свободным и использовать его.

2.2. Сокращение тайм-аута для других технологий

Могут появиться сетевые технологии, для которых уместны более короткие задержки, нежели требует этот документ. В последующих публикациях IETF для таких технологий могут быть представлены иные значения PROBE_WAIT, PROBE_NUM, PROBE_MIN и PROBE_MAX.

В ситуации, когда хосты на канале используют разные временные параметры, не возникает никаких проблем. Протокол не требует от всех хостов на канале реализации одной версии и даже не зависит от реализации на всех хостах канала. От хостов требуется лишь поддержка ARP в соответствии с RFC 826 и корректные ответы на полученные пакеты ARP Request. При использовании хостами разных временных параметров меняется лишь скорость настройки интерфейсов на хостах. В маловероятной ситуации, когда конфликт не обнаруживается на этапе зондирования, он будет замечен функцией обнаружения конфликтов, описанной в параграфе 2.4.

2.3. Анонсирование адреса

Проверив возможность использовать желаемый адрес, реализующий эту спецификацию хост должен объявить о начале использования этого адреса путём широковещательной передачи ANNOUNCE_NUM пакетов ARP Announcement с интервалом ANNOUNCE_INTERVAL секунд. Пакеты ARP Announcement похожи на ARP Probe, но в полях IP-адреса отправителя и получаетля указывается выбранный хостом адрес IPv4. Пакеты ARP Announcement нужны для того, чтобы исключить из кэшей ARP записи, которые могли остаться от прежнего владельца адреса. Хост может начать использование адреса IP сразу после отправки двух первых пакетов ARP Announcement, при этом отправка второго ARP Announcement может выполняться одновременно с другими сетевыми операциями хоста.

2.4. Обнаружение конфликтов и защита адреса

Обнаружение адресных конфликтов не ограничено моментом начальной настройки конфигурации интерфейса, когда передаются пакеты ARP Probe. Обнаружение конфликтов — это непрерывный процесс, выполняющийся в течение всего срока использования адреса хостом. В любой момент получение хостом пакета ARP (Request или Reply), где в поле sender IP address указан один из адресов IP, настроенных на данном интерфейсе, а sender hardware address не соответствует адресу на интерфейсе хоста говорит о конфликте адресов, т. е. попытке другого хоста воспользоваться тем же адресом. Для разрешения конфликта хост должен отвечать на конфликтующий пакет ARP, как указано ниже.

  1. При получении конфликтующего пакета ARP хост может немедленно прекратить использование адреса, сообщив агенту настройки, как описано выше.

  2. Если у хоста есть активные соединения TCP или иные причины сохранить адрес IPv4 и он не видел конфликтующих пакетов ARP в последние DEFEND_INTERVAL секунд, он может попытаться защитить свой адрес, записывая время приёма конфликтного пакета ARP а затем передавая широковещательный пакет ARP Announcement со своим аппаратным и IP-адресом, своим адресом IP в поле target IP address и нулевым значением в поле target hardware address. После этого хост может продолжать обычное использование адреса без дополнительных действий. Однако если конфликтный пакет ARP не был первым в интервале DEFEND_INTERVAL, хост должен немедленно прекратить использовать адрес и уведомить агент настройки об ошибке, как описано выше. Это нужно для предотвращения зацикливания попыток защиты одного адреса двумя хостами.

  3. Если для хоста задано сохранение адреса при любых обстоятельствах (возможно потому, что хост должен иметь стабильный известный адрес IP, применяемый, например, для маршрута по умолчанию или сервера DNS), он может выбрать защиту адреса на неопределённый срок. При получении таким хостом конфликтного пакета ARP ему следует предпринять шаги по записи в журнал таких сведений, как адрес отправителя Ethernet из пакета ARP, и сообщить администратору о проблеме. Число таких уведомлений следует контролировать для предотвращения избыточных сообщений об ошибках. Если хост не получал других конфликтных пакетов ARP в последние DEFEND_INTERVAL секунд, он должен записать время получения конфликтного пакета ARP, а затем передать 1 широковещательный пакет ARP Announcement со своим аппаратным и IP-адресом. После этого хост может продолжать обычное использование адреса без дополнительных действий. Однако если конфликтный пакет ARP не был первым в интервале DEFEND_INTERVAL и время, записанное для предыдущего конфликтного пакета ARP, попадает в интервал DEFEND_INTERVAL, хосту недопустимо передавать другие защитные пакеты ARP Announcement. Это нужно для предотвращения зацикливания защиты одного адреса двумя некорректно настроенными хостами с использованием широковещания.

Хост, желающий обеспечить надёжную работу в сети, должен отвечать на конфликтные пакеты ARP в соответствии с пп. (a), (b), (c). Игнорирование конфликтных пакетов ARP ведёт к кажущимся случайными сетевым отказам, которые сложны в диагностике и очень расстраивают пользователей.

Принудительная замена адреса может приводить к обрыву соединений TCP (и других транспортных протоколов). Однако такие отказы должны быть редкими, а при дублировании адресов отказы неизбежны.

Перед отказом от адреса в результате конфликта хосту следует предпринять попытку активного сброса соединений, использующих этот адрес. Это снижает некоторые угрозы, которые могут быть связаны с перенастройкой адресов, как описано в разделе 5.

Для большинства клиентских машин, которым не требуется постоянный адрес IP, немедленный запрос у агента настройки (пользователь, клиент DHCP и т. п.) нового адреса при обнаружении конфликта является наилучшим способом быстрого восстановления коммуникаций. Описанный выше механизм широковещательной передачи одного сообщения ARP для защиты адреса несколько смягчает проблему, повышая вероятность сохранения адреса одним из двух конфликтующих хостов.

2.5. Продолжение работы

С момента отправки хостом первого пакета ARP Announcement до отказа от использования адреса IP хост должен отвечать на пакеты ARP Request в соответствии со спецификацией ARP [RFC826]. Это означает, в частности, что при получении пакета ARP Request, не вызывающего конфликта, где поле target IP address указывает один из адресов IP, настроенных на данном интерфейсе, хост должен отвечать пакетом ARP Reply, как описано в RFC 826. Это применимо как к обычным пакетам ARP Request с отличным от 0 IP-адресом отправителя, так и к пакетам Probe Request с нулевым IP-адресом отправителя.

2.6. Широковещательные отклики ARP

В корректно работающей сети с адресами, настроенными вручную или полученными надёжными клиентами от надёжных серверов DHCP, конфликту адресов возникают очень редко и пассивного мониторинга, описанного в параграфе 2.4, вполне достаточно. Если для двух хостов будет задан один адрес IP, рано или поздно один из них передаст широковещательный пакет ARP Request, который получит другой хост, что позволит обнаружить и устранить конфликт.

Однако кратковременное существование условий конфликта до его обнаружения возможно. Предположим, что хостам A и B непреднамеренно был назначен один адрес IP (X), а в момент проверки возможности использования этого адреса канал между хостами по какой-то причине не работал и конфликт не был обнаружен при настройке интерфейсов. Если после восстановления канала другой хост C передаст широковещательный пакет ARP Request для адреса X, не знающие о конфликте хосты A и B передадут индивидуальные (unicast) пакеты ARP Reply хосту C. Получивший эти отклики хост C будет сбит с толку, а хосты A и B не увидят отклик другого хоста и не будут знать о конфликте, продолжая работать, пока один из них не передаст широковещательный пакет ARP Request.

Быстрое обнаружение конфликтов можно обеспечить, передавая пакеты ARP Reply по широковещательному адресу для канала вместо широковещательной передачи ARP Request с индивидуальными откликами. Это не рекомендуется в общем случае, но другие спецификации на основе IPv4 ACD могут задавать при необходимости широковещательные отклики ARP Reply. Например, документ Dynamic Configuration of IPv4 Link-Local Addresses [RFC3927] задаёт широковещание для ARP Reply, поскольку в этом контексте обнаружение адресных конфликтов с использованием IPv4 ACD является не резурвной мерой, а единственным механизмом настройки конфигурации.

Широковещательная передача ARP Reply увеличивает объем широковещательного трафика (не более чем вдвое для худшего случая). При традиционном использовании ARP индивидуальные пакеты ARP Reply передаются лишь в ответ на широковещательные пакеты ARP Request, поэтому широковещательный режим ведёт к одному широковещательному пакету Reply в ответ на каждый широковещательный пакет Request. Во многих сетях трафик ARP составляет столь малую часть общего трафика, что его удвоение практически не будет заметно. Однако в некоторых сетях ситуация может отличаться, поэтому широковещание ARP Reply не следует применять во всех случаях. Использование широковещательных пакетов ARP Reply следует выбирать там, где это поможет быстрее обнаруживать конфликты, с учётом роста широковещательного трафика и нагрузки, связанной с его обработкой хостами.

3. ARP Announcement в ARP Request вместо ARP Reply

При обсуждении в IETF обнаружения адресных конфликтов IPv4 в период с 2000 г. по 2008 г. неоднократно возникал вопрос о передаче анонсов ARP с использованием незапрошенных пакетов ARP Reply. На первый взгляд такое решение представляется разумным и обычный пакет ARP Reply обеспечивает ответ на вопрос, а поскольку вопрос не был задан, ответ можно считать незапрошенным. Термин «незапрошенный отклик» (gratuitous reply) представляется корректным для анонсов ARP Announcement — ответ на вопрос, который не был задан.

Однако на практике имеется два аргумента в пользу пакетов ARP Request, один из которых связан с историческими причинами, другой является прагматическим. Исторический аргумент связан с тем, что (см. раздел 4) сообщения Gratuitous ARP описаны в документе [Ste94] как использующие пакеты ARP Request и это реализовано в BSD Unix, Microsoft Windows, Mac OS 9, Mac OS X и т. п. Попытки вынудить всех разработчиков перейти на использование пакетов ARP Reply представляются бесполезными.

Прагматический аргумент заключается в том, что пакеты ARP Request с большей вероятностью будут корректно работать с большинством имеющихся реализаций ARP, часть которых может не полностью соответствовать RFC 826. Правила приёма пакетов в RFC 826 указывают, что код операции проверяется последним в процессе обработки пакета и на практике может не оказывать влияния. Однако могут быть «творческие» реализации, в которых обработка пакета зависит от поля ar$op и есть несколько причин, по которым такие реализации будут скорее воспринимать незапрошенные пакеты ARP Request, нежели незапрошенные ARP Reply.

  • Некорректная реализация ARP может ожидать передачу ARP Reply лишь по индивидуальным адресам. В RFC 826 это не сказано, но некорректная реализация может предполагать, что «принцип наименьших сюрпризов» диктует при наличии нескольких способов решения проблемы использование того, в котором меньше необычных свойств, поскольку он будет меньше влиять на возможность взаимодействия. Сообщения ARP Announcement должны передавать информацию всем хостам на канале. Поскольку пакеты ARP Request всегда являются широковещательными, в отличие от ARP Reply, приём широковещательного пакета ARP Request вызывает меньше удивления, нежели приём широковещательного пакета ARP Reply.

  • Некорректная реализация ARP может предполагать, что пакеты ARP Reply могут быть получены лишь в качестве откликов на ARP Request, недавно переданных этой реализацией. Незапрошенные пакеты Reply могут просто игнорироваться.

  • Некорректная реализация ARP может игнорировать пакеты ARP Reply, где ar$tha не совпадает с её аппаратным адресом.

  • Некорректная реализация ARP может игнорировать пакеты ARP Reply, где ar$tpa отличается от её адреса IP.

Таким образом, имеется больше шансов отклонения некорректной реализацией ARP пакетов ARP Reply (которые обычно являются результатом запроса клиента), нежели пакетов ARP Request (обычно незапрошенных).

4. Историческое замечание

Некоторые читатели книги Stevens [Ste94] отмечали, что описанный в ней механизм Gratuitous ARP обеспечивает детектирования дубликатов адресов, делая ACD ненужным. Это ошибочное представления, То, что в книге Stevens названо Gratuitous ARP, является просто более описательным представлением ARP Announcement из данного документа. Эта традиционная реализация Gratuitous ARP передаёт лишь одно сообщение ARP Announcement при первоначальной настройке интерфейса. В результате «жертва» (владелец адреса) записывает ошибку, а нарушитель зачастую продолжает работу, даже не замечая проблему. Обе машины продолжают использовать один адрес IP и отказы возникают постоянно, поскольку каждый из хостов сбрасывает TCP-соединения другого. Предполагается, что администратор машины-жертвы увидит журнальное сообщение и исправит ошибку. Обычно для этого нужен физический доступ к такой машине, поскольку нет возможности поддерживать соединение TCP достаточно долго для выполнения нужной настройки.

Gratuitous ARP фактически не обеспечивают эффективного обнаружения дубликатов адресов и (на январь 2008 г.) большинство результатов поиска Google по фразе Gratuitous ARP дают рекомендации по отключению механизма.

Однако разработчикам IPv4 ACD следует помнить, что на момент написания этого документа использование Gratuitous ARP было еще достаточно широким. Шаги, описанные в параграфах 2.1 и 2.4 этого документа помогут обеспечить устойчивость хоста к некорректной настройке и конфликтам адресов даже в случаях, когда другой хост не следует этим правилам.

5. Вопросы безопасности

Механизм обнаружения адресных конфликтов IPv4 ACD основан на ARP [RFC826] и наследует проблемы безопасности этого протокола. Вредоносный хост может передавать в сеть обманные пакеты ARP, нарушающие работу других хостов. Например, он может отвечать на все пакеты ARP Request пакетами ARP Reply со своим аппаратным адресом, заявляя тем самым владение всеми адресами в сети.

Данная спецификация не усугубляет эту уязвимость ARP и даже несколько смягчает ее, поскольку реализующие спецификацию хосты пытаются автоматически сменить адрес и по меньшей мере информировать пользователя о конфликте.

Если хост при обнаружении конфликта ARP сам меняет адрес, как описано в п. (a) параграфа 2.4, это может упростить подключённому к каналу злоумышленнику захват соединений TCP. Активный сброс хостом всех имеющихся соединений перед отказом от адреса снижает этот риск.

6. Благодарности

Документ является результатом обсуждения в рабочей группе Zeroconf адресации IPv4 Link-Local [RFC3927], когда многим участниками было неясно, какие элементы управления локальными адресами относятся к данной проблеме (например, случайный выбор адреса) и какие элементы управления являются базовыми и применимыми ко всем механизмам настройки адресов IPv4 (например, обнаружение конфликтов). В обсуждение проблемы и редактирование документа внесли свой вклад Bernard Aboba, Randy Bush, Jim Busse, James Carlson, Alan Cox, Spencer Dawkins, Pavani Diwanji, Ralph Droms, Donald Eastlake III, Alex Elder, Stephen Farrell, Peter Ford, Spencer Giacalone, Josh Graessley, Erik Guttman, Myron Hattig, Mike Heard, Hugh Holbrook, Richard Johnson, Kim Yong-Woon, Marc Krochmal, Rod Lopez, Rory McGuire, Satish Mundra, Thomas Narten, Erik Nordmark, Randy Presuhn, Howard Ridenour, Pekka Savola, Daniel Senie, Dieter Siegmund, Valery Smyslov, Mark Townsley, Oleg Tychev, Ryan Troll.

7. Литература

7.1. Нормативные документы

[RFC826] Plummer, D., «An Ethernet Address Resolution Protocol — or — Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware», STD 37, RFC 826, November 1982.

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

7.2. Дополнительная литература

[802] IEEE Standards for Local and Metropolitan Area Networks: Overview and Architecture, ANSI/IEEE Std 802, 1990.

[802.3] ISO/IEC 8802-3 Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Common specifications — Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications, (also ANSI/IEEE Std 802.3-1996), 1996.

[802.5] ISO/IEC 8802-5 Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Common specifications — Part 5: Token ring access method and physical layer specifications, (also ANSI/IEEE Std 802.5-1998), 1998.

[802.11] Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific Requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE Std. 802.11-1999, 1999.

[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G., and E. Lear, «Address Allocation for Private Internets», BCP 5, RFC 1918, February 1996.

[RFC2131] Droms, R., «Dynamic Host Configuration Protocol», RFC 2131, March 1997.

[RFC3203] T’Joens, Y., Hublet, C., and P. De Schrijver, «DHCP reconfigure extension», RFC 3203, December 2001.

[RFC3927] Cheshire, S., Aboba, B., and E. Guttman, «Dynamic Configuration of IPv4 Link-Local Addresses», RFC 3927, May 2005.

[Ste94] W. Stevens, «TCP/IP Illustrated, Volume 1: The Protocols», Addison-Wesley, 1994.

Адрес автора

Stuart Cheshire

Apple Inc.

1 Infinite Loop

Cupertino

California 95014

USA

Phone: +1 408 974 3207

EMail: rfc@stuartcheshire.org

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

1Simple Network Management Protocol — простой протокол управления сетью.

2Следует отметить, что конфликт может возникать и при использовании одного адреса на разных каналах, если между ними имеется маршрутизация. Но это уже иной контекст. Прим. перев.

Рубрика: RFC | Оставить комментарий

RFC 5195 BGP-Based Auto-Discovery for Layer-1 VPNs

Network Working Group                                 H. Ould-Brahim
Request for Comments: 5195                                  D. Fedyk
Category: Standards Track                                     Nortel
                                                          Y. Rekhter
                                                    Juniper Networks
                                                           June 2008

Автоматическое детектирование Layer-1 VPN на основе BGP

BGP-Based Auto-Discovery for Layer-1 VPNs

PDF

Статус документа

Этот документ представляет проект стандартного протокола для сообщества Internet и служит приглашением к дискуссии в целях развития и совершенствования протокола. Информацию о текущем состоянии стандартизации протокола можно найти в документе Internet Official Protocol Standards (STD 1). Настоящий документ может распространяться без ограничений.

Аннотация

Целью настоящего документа является определение механизма автоматического детектирования Layer-1 VPN (L1VPN) на основе протокола BGP. Механизм автоматического детектирования для L1VPN позволяет устройствам сети провайдера автоматически находить набор PE1, имеющих порты, подключенные к устройствам CE2, которые входят в одну сеть VPN. Эта информация требуется для завершения сигнальной фазы соединений L1VPN. Одной из основных задач механизма автоматического детектирования L1VPN является поддержка модели single-end provisioning, в которой добавление порта в данную L1VPN будет вызывать изменения конфигурации только того устройства PE, которое включает затронутый соединением порт, и устройства CE, подключенного к PE через этот порт.

1. Введение

Целью настоящего документа является определение механизма автоматического детектирования Layer-1 VPN [L1VPN-FRMK]. Механизм автоматического детектирования для L1VPN позволяет устройствам сети провайдера автоматически находить набор PE, имеющих порты, подключенные к устройствам CE, которые входят в одну сеть VPN. Эта информация требуется для завершения сигнальной фазы соединений L1VPN. Одной из основных задач механизма автоматического детектирования L1VPN является поддержка модели «single-end provisioning», в которой добавление порта в данную L1VPN будет вызывать изменения конфигурации только того устройства PE, которое включает затронутый соединением порт, и устройства CE, подключенного к PE через этот порт.

Механизм автоматического детектирования обеспечивается за счет того, что PE анонсирует другим устройствам PE по крайней мере свой адрес IP и список локальных для данного PE пар <private address, provider address>3. После получения этой информации устройства PE будут будут знать список членов VPN, связанных с данным PE, и использовать переданную механизмом автоматического детектирования информацию для преобразования адресов во время сигнальной фазы соединений L1VPN.

Рисунок 1 показывает схему работы механизма автоматического детектирования для L1VPN на основе BGP. Для работы механизма автоматического детектирования требуется активизация BGP только в сети провайдера. Устройства PE поддерживают для каждой VPN информационные таблицы PIT4, относящиеся к парам <private address, provider address>. Дополнительная информация о таблицах PIT приведена в разделе 2.

                PE1                        PE2
            +---------+             +--------------+
+--------+  | +------+|             | +----------+ | +--------+
|  VPN-A |  | |VPN-A ||             | |  VPN-A   | | |  VPN-A |
|   CE1  |--| |PIT   || Распростран.| |  PIT     | |-|   CE2  |
+--------+  | |      ||<----------->| |          | | +--------+
            | +------+| маршр. BGP  | +----------+ |
            |         |             |              |
+--------+  | +------+|             | +----------+ | +--------+
| VPN-B  |  | |VPN-B ||  --------   | |   VPN-B  | | |  VPN-B |
|  CE1   |--| |PIT   || -(магистр)- | |   PIT    | |-|   CE2  |
+--------+  | |      ||   (GMPLS)   | |          | | +--------+
            | +------+|  ---------  | +----------+ |
            |         |             |              |
+--------+  | +-----+ |             | +----------+ | +--------+
| VPN-C  |  | |VPN-C| |             | |   VPN-C  | | |  VPN-C |
|  CE1   |--| |PIT  | |             | |   PIT    | |-|   CE2  |
+--------+  | |     | |             | |          | | +--------+
            | +-----+ |             | +----------+ |
            +---------+             +--------------+

Рисунок 1: BGP Auto-Discovery для L1VPN

В документе [L1VPN-FRMK] описаны два режима работы L1VPN — базовый и расширенный (enhanced). В настоящем документе рассматривается механизм автоматического детектирования только для базового режима.

1.1. Термины

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с [RFC2119].

2. Процедуры

В контексте L1VPN устройства CE подключаются к PE через один или множество портов и каждый порт может включать один или множество каналов или субканалов. Каждый порт CE, соединяющий CE с PE имеет уникальный в масштабе L1VPN идентификатор (значения идентификаторов в разных L1VPN могут перекрываться). Этот идентификатор мы будем называть CPI5. Каждый порт PE также имеет уникальный в рамках сети провайдера идентификатор. Будем обозначать эти идентификаторы PPI6. Отметим, что для CPI и PPI могут использоваться адреса IPv4 или IPv6.

Для каждой L1VPN, которая имеет на PE хотя бы один сконфигурированный порт, PE поддерживает таблицу PIT, содержащую список пар <CPI, PPI> для всех портов в L1VPN. Отметим, что PIT может также включать маршрутную информацию (например, когда значения CPI определяются с использованием протокола маршрутизации).

Таблица PIT для данного PE включает два типа информации:

  • информация, связанная с портами CE, подключенными к PE; эта информация может быть задана в локальной конфигурации PE или получена от CE;
  • информация, полученная от других PE с использованием механизма автоматического детектирования.

Информацию первого типа будем называть локальной, а второго — удаленной. Распространение локальной информации другим PE осуществляется с использованием многопротокольного расширения BGP [RFC4760]. Для ограничения потока такой информации только PIT, относящимися к данной L1VPN, мы будем использовать фильтрацию маршрутов BGP на основе Route Target Extended Community [BGP-COMM], как описано ниже.

Для каждой таблицы PIT в конфигурации устройства PE задается по крайней мере одна группа Route Target, которую будем называть export Route Targets, — эта группа будет использоваться для того, чтобы помечать локальную информацию при ее экспорте в BGP провайдера. Гранулярность таких тегов может уменьшаться до уровня отдельной пары <CPI, PPI>. В дополнение к этому конфигурация каждой таблицы PIT в PE содержит по крайней мере одну группу Route Target, которую мы будем называть import Route Targets, — эта группа ограничивает набор маршрутов, которые могут быть импортированы из BGP провайдера в PIT, только теми маршрутами, которые входят по крайней мере в одну из групп импорта.

При добавлении провайдером порта L1VPN в конкретном устройстве PE, этот порт связывается с таблицей PIT данного PE, а таблица PIT связывается с конкретной L1VPN.

Поскольку для заполнения таблиц PIT удаленной информацией используется протокол BGP, который работает со множеством автономных систем (AS7), описанный в этом документе механизм позволяет поддерживать L1VPN, распределенные между несколькими автономными системами.

Хотя L1VPN такого типа в настоящее время не рассматриваются для базового режима, определенные здесь механизмы могут быть использованы в будущем. В настоящее время может потребоваться дополнительная работа по проверке различных аспектов, включая безопасность.

3. Передача информации L1VPN в BGP

Отображения <CPI, PPI> передаются с использованием многопротокольного расширения8 BGP [RFC4760]. Документ [RFC4760] определяет формат двух атрибутов BGP — MP_REACH_NLRI и MP_UNREACH_NLRI, которые могут использоваться для анонсирования и отзыва анонсов информации о доступности. В этом документе добавляется идентификатор семейства адресов, названный Layer-1 VPN auto-discovery information9 (значение 69) и определяется новый формат NLRI10 для передачи CPI и PPI.

В упомянутых выше атрибутах BGP может передаваться одна или множество пар <PPI, CPI>.

Рисунок 2 показывает формат NLRI2.

+---------------------------------------+
| Размер (1 октет)                      |
+---------------------------------------+
| Информация автодетектирования (перем.)|
+---------------------------------------+

Рисунок 2: Кодирование NLRI

Отметим, что представление информации механизма автоматического детектирования описано в [L1VPN-BM] и подчеркнем также, что при значении Length = 4 в поле Next Hop (атрибут MP_REACH_NLRI) значением Next Hop будет адрес IPv4, а при значении 16 Next Hop будет содержать адрес IPv6.

4. Передача информации L1VPN Traffic Engineering в BGP

В дополнение к информации о доступности механизм автоматического детектирования может передавать информацию Traffic Engineering, используемую для выбора исходящего пути. Например, PE может узнать возможности коммутации и максимальную полосу LSP удаленных интерфейсов L1VPN от удаленных PE. Для передачи такой информации в данном документе предлагается использовать атрибут BGP Traffic Engineering [BGP-TE-ATTRIBUTE].

5. Масштабируемость

Напомним, что сеть провайдера состоит из (a) устройств PE, (b) маршрутных рефлекторов11 BGP, (c) узлов P (которые не являются ни PE, ни Route Reflector) и, в случае VPN с использованием нескольких провайдеров, (d) граничных маршрутизаторов автономных систем (ASBR12).

Маршрутизатор PE, если он не является маршрутным рефлектором, не сохраняет связанной с L1VPN информации, пока на не нет хотя бы одной VPN со значением import Route Target, идентичным связанной с VPN информации атрибутов Route Target. Если PE не имеет VPN с соответствующим значением import Route Target, это устройство должно отбрасывать полученную информацию L1VPN. Для отбрасывания информации должна применяться фильтрация на входе. При последующем добавлении import Route Target для одной из VPN устройства PE (операция VPN Join13) устройство PE должно принимать связанную с VPN информацию, которая ранее отбрасывалась.

Для таких случаев должен использоваться механизм обновления, описанный в [BGP-RFSH]. Могут также применяться механизмы фильтрации на выходе [BGP-ORF] и [BGP-CONS] для обеспечения более динамичной фильтрации.

Аналогично, если конкретное значение import Route Target больше не присутствует в VPN какого-либо PE (в результате выполнение одной или множества операций VPN Prune), устройство PE может отбрасывать BGP-маршруты L1VPN и в результате не иметь более import Route Targets в таблицах PIT устройств PE как атрибутов Route Target.

Отметим, что операции VPN Join и VPN Prune являются неразрушающими и не требуют разрыва каких-либо соединений BGP или использования механизма обновления [BGP-RFSH].

В результате использования описанных правил распространения информации ни одному устройству PE не требуется иметь всех маршрутов во все L1VPN — это важно учитывать при рассмотрении вопросов масштабирования.

Рефлекторы маршрутов могут быть разделены между VPN так, чтобы каждая группа рефлекторов передавала маршруты только для подмножества L1VPN, поддерживаемых провайдером. Таким образом ни от одного из рефлекторов не требуется поддержки связанной с VPN информации для всех VPN.

Для VPN, включающих множество провайдеров, при использовании EBGP14 через несколько интервалов маршрутизации от маршрутизаторов ASBR совсем не требуется поддержка и распространение связанной с VPN информации. Маршрутизаторы P не поддерживают у себя какой-либо информации, связанной с VPN.

В результате не возникает единой точки в сети провайдера, которая поддерживала бы всю связанную с VPN информацию для всех VPN. Таким образом, возможности провайдеров в части роста числа поддерживаемых VPN не ограничиваются возможностями какого-либо из конкретных устройств.

Важно подчеркнуть что возможна поддержка неограниченного числа систем BGP используемых для передачи связанной с VPN информации. Это отличается от ситуации в Internet, где каждая система BGP должна передавать все маршруты Internet. Таким образом, одно значимое (но, возможно, трудно уловимое) различие при использовании BGP для маршрутизации Internet и для распространения связанной с VPN информации состоит в том, что в первом случае невозможно разделение на части, а во втором это реально.

6. Вопросы безопасности

В этом документе описан механизм автоматического детектирования на базе протокола BGP, позволяющий устройствам PE, подключенным к L1VPN, находить другие маршрутизаторы PE, подключенные к той же VPN. Каждый маршрутизатор PE, который подключен к данной VPN, использует протокол BGP для анонсирования факта подключения. Другие маршрутизаторы PE, подключенные к той же VPN, получают анонсы BGP. Это позволяет всему множеству PE автоматически находить друг друга. Отметим, что PE не всегда будет получать эти анонсы непосредственно от удаленных PE — анонсы могут приходить от «промежуточных» узлов BGP.

Критически важно, что для любого маршрутизатора PE недопустимо его «детектирование» в качестве подключенного к VPN до того, как данный PE будет реально подключен к этой VPN, что неоспоримо говорит о наличии у маршрутизатора полномочий на подключение к данной VPN. Если произвольный узел Internet может начать передачу анонсов BGP о своей принадлежности к VPN и такие анонсы будут достигать других узлов PE при условии, что эти узлы PE будут принимать такие анонсы, тогда любой желающий сможет добавить любой сайт к любой L1VPN. Таким образом, описанный здесь механизм предполагает, что конкретный маршрутизатор PE доверяет своим партнерам BGP и, более того, считает этих партнеров обеспечивающими надежную защиту своих локальных подключений (т. е., PE должен верить, что его партнеры подключены к соответствующим L1VPN и имеют на такое подключение право).

Если некий удаленный маршрутизатор PE является BGP-партнером локального PE, следует использовать процедуры аутентификации BGP [RFC2385] для того, чтобы убедиться в том, что удаленному PE можно доверять (т. е., данный PE является тем, за кого он себя выдает).

Если некий удаленный маршрутизатор PE не является BGP-партнером локального PE, тогда анонсируемая удаленным PE информация будет приходить на локальный маршрутизатор PE через цепочку узлов BGP. Локальный PE должен верить, что его партнеры воспринимают информацию только от доверенных партнеров и, таким образом, доверительные отношения должны быть транзитивными (переходящими). Протокол BGP не обеспечивает возможности удостовериться в том, что информация, полученная от узла BGP, была передана в соответствии с имеющимися полномочиями. Следовательно, описанные в этом документе процедуры должны использоваться в средах, где могут поддерживаться адекватные доверительные отношения между узлами BGP (например, использование механизма автоматического детектирования в рамках сети одного провайдера).

7. Согласование с IANA

В этом документе выделяется новое значение SAFI15, названное Layer-1 VPN auto-discovery information (см. раздел 3). Это значение включено в реестр дополнительных идентификаторов семейств адресов (SAFI) с использованием процедуры Standards Action. Новый идентификатор имеет значение 69.

8. Литература

8.1. Нормативные документы

[RFC2119] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, «Multiprotocol Extensions for BGP-4», RFC 4760, January 2007.

[BGP-RFSH] Chen, E., «Route Refresh Capability for BGP-4», RFC 2918, September 2000.

8.2. Прочие ссылки

[BGP-TE-ATTRIBUTE] Ould-Brahim, H., Fedyk, D., and Rekhter, Y., «Traffic Engineering Attribute», Work in Progress, January 2008.

[BGP-ORF] Chen, E. and Y. Rekhter, «Outbound Route Filtering Capability for BGP-4», Work in Progress17, September 2006.

[BGP-CONS] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk, R., Patel, K., and J. Guichard, «Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)», RFC 4684, November 2006.

[BGP-COMM] Sangli, S., Tappan, D., and Y. Rekhter, «BGP Extended Communities Attribute», RFC 4360, February 2006.

[L1VPN-FRMK] Takeda, T., Ed., «Framework and Requirements for Layer 1 Virtual Private Networks», RFC 4847, April 2007.

[L1VPN-BM] Fedyk, D., Ed., Rekhter, Y., Ed., Papadimitriou, D., Rabbat, R., and L. Berger, «Layer 1 VPN Basic Mode», Work in Progress18, February 2008.

[RFC2385] Heffernan, A., «Protection of BGP Sessions via the TCP MD5 Signature Option», RFC 2385, August 1998.

9. Благодарности

Авторы выражают благодарность Adrian Farrel за полезные комментарии.

Адреса авторов

Hamid Ould-Brahim

Nortel

PO Box 3511 Station C

Ottawa ON K1Y 4H7

Canada

Phone: +1 (613) 763 4730

EMail: hbrahim@nortel.com

Yakov Rekhter

Juniper Networks

1194 N. Mathilda Avenue

Sunnyvale, CA 94089

USA

EMail: yakov@juniper.net

Don Fedyk

Nortel

600 Technology Park

Billerica, MA 01821

USA

Phone: +1 (978) 288 3041

Email: dwfedyk@nortel.com


Перевод на русский язык

Николай Малых

nmalykh@gmail.com

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


1Provider Edge — краевое устройство провайдера.

2Customer Edge — краевое устройство пользователя.

3Приватный адрес — адрес провайдера.

4Port Information Table — таблица информации для порта.

5Customer port identifier — идентификатор пользовательского порта.

6Provider port identifier — идентификатор порта провайдера.

7Autonomous system — автономная система. Прим. перев.

8Multiprotocol Extensions. Прим. перев.

9Информация механизма автоматического детектирования Layer-1 VPN.

10Network Layer Reachability Information — информация о доступности на сетевом уровне.

11Route Reflector.

12Autonomous System Border Router — граничный маршрутизатор автономной системы.

13Включение в VPN. Прим. перев.

14External BGP — внешний BGP.

15Subsequent Address Family Identifier — дополнительный идентификатор семейства адресов.

17В настоящее время работа завершена и опубликована в RFC 5291. Перевод имеется на сайте www.protokols.ru. Прим. перев.

18В настоящее время работа завершена и опубликована в RFC 5251. Прим. перев.

Рубрика: RFC | Оставить комментарий

RFC 5209 Network Endpoint Assessment (NEA): Overview and Requirements

Network Working Group                                   P. Sangster
Request for Comments: 5209                                 Symantec
Category: Informational                                 H. Khosravi
                                                              Intel
                                                            M. Mani
                                                              Avaya
                                                         K. Narayan
                                                      Cisco Systems
                                                           J. Tardo
                                                     Nevis Networks
                                                          June 2008

PDF

Оценка конечных точек обзор и требования

Network Endpoint Assessment (NEA): Overview and Requirements

Статус документа

Этот документ содержит информацию для сообщества Internet и не задает каких-либо стандартов Internet. Документ может распространяться свободно.

Аннотация

В данном документе описана задача, область применения и требования к протоколам взаимодействия компонент эталонной модели NEA1. Модель NEA обеспечивает владельцам сетей (например, предприятиям с удаленным доступом в сеть) механизм определения состояния2 систем. Определение может выполняться в процессе обработки запросов на доступ в сеть и/или позднее в течение сеанса работы в сети. Полученные сведения о состоянии могут использоваться для принятия различных решений, ориентированных на соответствие. Информация о состоянии зачастую оказывается полезной для обнаружения систем с недостаточным уровнем защиты или устаревшими средствами обеспечения безопасности (например, антивирусы или персональные МСЭ). Для обеспечения контекста разработки требований вводится эталонная модель и терминология.

1. Введение

Оконечные точки, подключенные к сети, могут подвергаться широкому классу угроз. Некоторую защиту от таких угроз можно обеспечить за счет предъявления к таким точкам требований соответствия определенному набору правил (политике). Следовательно, задачей NEA является оценка конечных точек с целью проверки их соответствия политике безопасности для того, чтобы можно было предпринять меры по защите до возникновения угроз. Например, если будет выяснено, что система не соответствует требованиям по причине нехватки средств защиты (типа персональных МСЭ и антивирусных программ) или отсутствия критически важных исправлений ПО, протоколы NEA могут обеспечить механизм детектирования недостаточного уровня защищенности, а также указать требуемые для приведения в соответствие меры. Отметим, что оконечная точка, соответствующая требованиям политики, может оставаться уязвимой для угроз, которые могут присутствовать в сети.

NEA обычно включает использование специальных клиентских программ, работающих на оконечных точках, которые определяют конфигурацию системы и передают информацию в сетевую инфраструктуру. Инфраструктура сети включает соответствующее ПО для проверки валидности конечных точек, способное сравнить данные о конфигурации подключающейся системы с принятой в сети политикой безопасности и передать информацию о результатах сравнения соответствующим элементам, санкционирующим доступ в сеть или к приложениям. На некоторых конечных точках (например, принтерах) может не поддерживаться возможность запуска клиентов NEA, а отдельные клиенты могут отказываться от предоставления сведений о своей конфигурации. Такие ситуации выходят за пределы NEA и должны обрабатываться в соответствии с принятой локальной политикой.

Результат оценки конечной точки может оказывать влияние на принятие решения о предоставлении доступа, которое передается механизмам реализации политики доступа в сеть и/или запрашивающим доступ точкам. Хотя рабочая группа NEA признает возможность наличия связи между оценкой и принятием решения о предоставлении доступа, механизмы и протоколы исполнения этих решений выходят за пределы настоящей спецификации.

Архитектуры, похожие на NEA, используются уже достаточно давно и реализованы в поставляющейся на рынок продукции, но решения разных производителей не обеспечивают должной интероперабельности. Примерами таких архитектур могут служить: Trusted Network Connect [TNC] от Trusted Computing Group, Network Access Protection [NAP] от Microsoft или Cisco Network Admission Control [CNAC]. В этих технологиях оценивается программная и/или аппаратная конфигурация оконечных устройств в целях мониторинга или исполнения требований принятой в организации политики.

Рабочая группа NEA разработала стандартные протоколы, которые могут использоваться для обмена информацией между клиентом (NEA Client) и сервером (NEA Server). В этом документе описывается контекст NEA, включая терминологию, вопросы применимости, постановку задачи, эталонную модель и примеры использования. Далее идентифицируются требования к протоколам, используемым для обмена информацией между клиентами и серверами NEA. В заключительной части документа рассматриваются некоторые потенциальные угрозы безопасности и приватности при использовании NEA. Основная часть данной спецификации представляет собой описание контекста NEA.

1.1. Уровни требований

Выделенные шрифтом уровни требований в данном документе, применяются в указанном ниже смысле:

должно, требуется (MUST) — обязательно к выполнению;

недопустимо (MUST NOT) — полностью запрещено;

следует (SHOULD) — желательно выполнить для достижения желаемого результата;

не следует (SHOULD NOT) — желательно не допускать;

можно (MAY) — выполняется по желанию.

Использование перечисленных слов без шрифтового выделения означает обычную трактовку этих терминов без привязки к приведенным выше определениям.

2. Терминология

В этом разделе приведены определения используемых в документе терминов. В других документах те же термины могут иметь иной смысл, поэтому здесь предпринимается попытка растолковать их в контексте NEA.

Assessment — оценка

Процесс сбора информации о свойствах конечной точки (таких, как наличие персонального МСЭ), которые могут использоваться для проверки соответствия требованиям политики.

Assertion Attributes — подтвержденные атрибуты

Атрибуты, включающие пригодную для дальнейшего использования информацию о результатах предыдущей оценки данной точки. Такие атрибуты могут служить для оптимизации последующих оценок с целью предотвращения ненужных повторов. Например, атрибут такого типа может выделяться специально для конкретной точки с подписью и датой от сервера NEA, подтверждающей на определенный период соответствие этой точки заданному набору правил. Сервер NEA может принимать такой атрибут вместо повторного запроса информации для оценки.

Attribute — атрибут

Элемент данных, включающий любые требуемые метаданные, которые описывают наблюдаемое, ожидаемое или оперативное состояние конечной точки (например, используемые антивирусные программы).

Обмен атрибутами выполняется, как часть протокола NEA (см. параграф 5.2). NEA предполагает множество сценариев, где использование атрибута того или иного типа может показывать:

  • предшествующую оценку состояния (Assertion Attributes);

  • наблюдаемую конфигурацию или свойство (Posture Attributes);

  • запрос данных о конфигурации или свойствах (Request Attributes);

  • решение об оценке (Result Attributes);

  • инструкции по исправлению ситуации (Remediation Attributes).

Рабочая группа NEA будет стандартизовать подмножество пространства имен атрибутов в качестве стандартных атрибутов. Нестандартизованные атрибуты называются в данной спецификации фирменными (vendor-specific).

Dialog — диалог

Последовательность запросов и откликов в обмене сообщениями.

Endpoint — оконечная точка

Любое компьютерное устройство, которое может быть подключено к сети. С такими устройствами обычно бывает связан некий конкретный адрес канального уровня еще до подключения и может выделяться адрес IP после подключения к сети. Конечными точками могут быть настольные и стационарные компьютеры, серверы, сотовые телефоны и прочие устройства, которые могут поддерживать адрес IP.

Message — сообщение

Самодостаточная единица обмена данными между клиентом и сервером NEA. Например, сообщение с атрибутами может содержать набор атрибутов, описывающих конфигурацию антивирусных программ на конечной точке.

Owner — владелец

Элемент (сущность), являющийся законным и правомочным обладателем актива (например, конечной точки). Владелец имеет право контролировать исполнение политики для устройства даже если это устройство не находится в его распоряжении. Владелец может разрешить пользователю переопределять или усиливать правила, а также может отказаться от исполнения любых правил, ограничивающих использование актива.

Posture — состояние

Конфигурация и/или состояние оборудования и программ на конечной точке применительно к политике безопасности организации.

Posture Attributes — атрибуты состояния

Атрибуты, описывающие конфигурацию или состояние (posture) конечной точки. Например, такие атрибуты могут указывать версию операционной системы, установленной на конечной точке.

Request Attributes — атрибуты запроса

Атрибуты, передаваемые сервером NEA для идентификации данных о состоянии, запрашиваемых у клиента NEA. Такие атрибуты могут включать, например, сообщение с запросом сервера NEA о версии операционной системы на стороне клиента.

Remediation Attributes — атрибуты восстановления

Атрибуты, содержащие инструкции по приведению конечной точки в соответствие одному или нескольким правилам. Рабочая группа NEA не будет определять стандартные атрибуты восстановления, но в данной спецификации описывается использование таких атрибутов в эталонной модели и протоколах.

Result Attributes — атрибуты результата

Атрибуты, описывающие соответствие конечной точки политике NEA. Такие атрибуты обычно создаются сервером NEA в качестве заключения по результатам проверки соответствия. Может использоваться более одного атрибута этого типа для обеспечения гранулярности уровней соответствия в дополнение к общему решению по результатам оценки.

Session — сессия

Соединение с поддержкой информации о состоянии, способное поддерживать обмен множеством сообщений, связанных с оценкой(ами) конкретной конечной точки. В этом документе термин «сессия» определяется на концептуальном уровне, но не описываются свойства сессий и не задаются требования к протоколам NEA по управлению сессиями.

User — пользователь

Персональная роль для лица, пользующегося услугами конечной точки. Пользователь может не быть владельцем конечной точки и к нему могут применяться те или иные ограничения, наложенные владельцем. Например, сотрудники предприятия могут быть пользователями компьютеров, предоставленных организацией (владелец) для выполнения работы.

3. Применимость

В этом разделе описана сфера действия стандартизуемых технологий и рассмотрены сетевые среды, в которых технологии NEA представляются применимыми.

3.1. Сфера действия

Приоритетной задачей группы NEA является разработка стандартных протоколов верхних уровней эталонной модели (см. раздел 5): протокола атрибутов состояния (PA3) и протокола брокера (PB4). Протоколы PA и PB разрабатываются с учетом передачи информации по разным протоколам транспортного уровня (PT). Рабочая группа NEA будет идентифицировать стандартные протоколы PT, которые явятся обязательными для реализации. Протоколы PT могут определяться другими рабочими группами, поскольку требования могут не относиться к сфере NEA. При работе со стандартными протоколами PT (например, EAP5, TLS6 [TLS]) протоколы PA и PB обеспечат интероперабельность между клиентами NEA одного производителя и серверами NEA других компаний. В данной спецификации не рассматриваются другие интерфейсы между функциональными компонентами эталонной модели NEA и требования к их устройству. Включенное в текст рассмотрение этих аспектов предназначено лишь для разъяснения модели и тех или иных требований.

Некоторые смежные области, не показанные в эталонной модели, также выходят за пределы сферы деятельности группы NEA. В результате данная спецификация включает:

  • стандартизацию протоколов и механизмов исполнения для организации доступа в сеть с учетом ограничений;

  • разработку стандартных протоколов для внесения изменений на конечных точках, не соответствующих требованиям;

  • спецификация протоколов, используемых для обмена данными с удаленными компонентами клиентов или серверов NEA (например, удаленные коллекторы или валидаторы состояния);

  • поддержка клиентов NEA, обеспечивающих состояние (posture) для других конечных точек (например, клиент NEA на устройстве IDS7, обеспечивающий состояние для конечных точек без клиента NEA);

  • определение набора событий и ситуаций, которые могут инициировать на клиенте или сервере NEA запрос оценки;

  • детектирование ложных конечных точек и работа с ними (см. параграф 8.1.1).

3.2. Применимость сред

Поскольку модель NEA основана на специальных программах NEA, присутствующих на клиентах и в сетевой инфраструктуре, а также по самой природе информации, которая будет раскрываться, применение технологий NEA может оказаться невозможным во многих ситуациях, возникающих в сети Internet. Поэтому в данном разделе рассматриваются сценарии, в которых применимость NEA достаточно очевидна, а также некоторые случаи, когда использование этих технологий невозможно. В конечном счете применение NEA не ограничивается описанными здесь сценариями. Решение об использовании NEA всегда остается за тем, кто развертывает систему (например, сетевым провайдером) с учетом предполагаемых отношений с владельцами и потенциальными пользователями конечных точек.

Технологии NEA в основном сфокусированы на сценариях, где владелец конечных точек является и владельцем сети. Это типичный случай для корпоративных сетей, обеспечивающих своих сотрудником оборудованием для выполнения их работы. Такие сотрудники связаны с владельцем контрактными обязательствами, в которых оговаривается использование корпоративных активов и допустимые в рабочее время действия. Контракт может включать установку правил подключения и использования конечных точек.

Подобные ситуации могут наблюдаться и в других средах, обеспечивая там преимущества использования технологий NEA. Примером могут служить среды, где конечные точки принадлежат лицам (возможно, даже пользователям), явно выразившим желание соответствовать политике сети или поставщика услуг в обмен на возможность доступа к его активам. Примером могут также служить сотрудники, не входящие в штат компании и использующие личные компьютеры для доступа в корпоративную сеть в соответствии с правилами оценки NEA, принятыми для штатных сотрудников. Технологии NEA хорошо подходят для таких случаев.

И, напротив, некоторые среды, где применение NEA не ожидается, будут включать среды, в которых конечные точки принадлежат владельцам, не согласным на выполнение правил сетевого провайдера. Примером могут служить ситуации, когда упомянутые выше нештатные сотрудники компаний подключаются к сети в местах общего доступа типа кафе. Использование технологий NEA в кафе не предполагается и переносной компьютер при подключении к сети не может быть оценен. Инвазивная по своей природе технология NEA при проверке конечных точек в таких местах общего доступа может создавать угрозу приватности.

Сложнее определить применимость NEA в других средах, поэтому рабочая группа NEA будет рассматривать эти среды, как выходящие за пределы данной спецификации. Для того, чтобы та или иная среда рассматривалась, как применимая для NEA, владельцы или пользователи конечных точек должны четко понять, что им придется соответствовать правилам владельца и оператора сети. Соответствие включает также раскрытие некой информации, которая требуется сети для выполнения проверки соответствия.

4. Описание задачи

Технология NEA может быть использована для решения различных задач. В этом разделе описаны основные ситуации, в которых могут быть реализованы преимущества технологии NEA.

Технологию можно использовать для облегчения проверки соответствия конечных точек принятой в организации политике безопасности при подключении этих точек к сети. Организации часто требуют наличия на конечных точках заданной службами IT конфигурации операционной системы (ОС) и наличия некого набора защитных приложений (например, антивирусов, средств обнаружения/предотвращения вторжений, персональных МСЭ, программ контроля обновлений). Конечные точки, не удовлетворяющие требованиям политики, могут быть уязвимыми для различных известных угроз, которые могут существовать в сети.

Без применения технологии NEA обеспечение соответствия конечных точек принятой в компании политике требует много времени и усилий. Не все конечные точки находятся в ведении служб IT компании (например, компьютеры привлекаемых извне специалистов). Даже для контролируемых активов не всегда удается обеспечить своевременную установку обновлений, поскольку не все компьютеры постоянно подключены к корпоративной сети (например, портативные компьютеры). При использовании технологии NEA сеть получает возможность оценки каждой конечной точки при получении от нее запроса на подключение к сети или в любой момент после подключения. Это обеспечивает организации возможность своевременной проверки соответствия заданной политике на всех поддерживающих NEA конечных точках и обеспечивает при необходимости своевременное внесение изменений на конечных точках.

Технологию NEA можно использовать для организации оценки состояния для множества вариантов подключения к сети, включая (но не ограничиваясь) проводные и беспроводные подключения к ЛВС с использованием 802.1X [802.1X], удаленный доступ по протоколам IPsec [IPSEC], SSL8 VPN, серверы доступа.

Конечные точки, не способные работать с NEA или не предоставляющие достаточный для оценки состояния объем информации, можно подключать в соответствии с другими правилами доступа. Решение о способах обслуживания таких точек может приниматься администратором сети на основе данных от других механизмов защиты в сети (например, аутентификации). Не соответствующим политике конечным точкам могут направляться инструкции по исправлению или предупреждения вместе с предоставлением ограниченного доступа в сеть. Технологии контроля доступа в сети могут использовать результаты NEA для ограничения или блокирования доступа в сеть отдельных точек, что позволяет устранять потенциальные уязвимости до того, как конечная точка станет открытой для атак. Представление результатов оценки NEA и обмен соответствующей информацией с технологиями контроля доступа в сети выходит за пределы этого документа.

Переоценка является другим важным примером использования технологии NEA, когда выполняется новая оценка конечных точек, ранее считавшихся соответствующими политике. Такая проверка может потребоваться в результате смены политики и/или состояния конечной точки, что может произойти в любой момент. Считавшаяся ранее соответствующей правилам конечная точка при подключении ее к сети может показать несоответствие, если политика была сменена. Например, переоценка может потребоваться, если пользователь отключит защитные функции, требуемые политикой (например, персональный МСЭ), или МСЭ перестает соответствовать требованиям политики, связанным с установкой обязательного обновления.

Третьим примером использования технологии NEA может служить проверка или дополнение данных об активах организации, хранящихся в инвентаризационных базах данных.

Технологию NEA можно использовать также для проверки соответствия конечных точек заданной политике и подготовки отчетов о результатах для случаев попыток доступа таких точек к критически важным корпоративным приложениям по инициативе службы персонала.

5. Эталонная модель

В этом параграфе описана эталонная модель оценки конечных точек (NEA). Эта модель разработана для организации контекста обсуждения и может не отражать напрямую тот или оной конкретный протокол или архитектуру развертывания. Модель описывает базовую функциональность клиентов и серверов NEA, связь между ними, а также используемые для коммуникаций на различных уровнях протоколы (например, PA передается с помощью протокола PB).

Хотя на рисунке 1 показано 3 протокольных уровня, PA по сути является сообщениями, содержащими набор атрибутов, которые собираются вместе и инкапсулируются в PB. В свою очередь, PB представляет собой упрощенный протокол для передачи множества сообщений, поэтому стек протоколов представляет собой, прежде всего, транспорт (PT9). Вертикальные линии на рисунке представляют API и/или протоколы взаимодействия между компонентами внутри клиентов и серверов NEA. Эти интерфейсы выходят за пределы сферы стандартизации рабочей группы NEA.

+-------------+                        +--------------+
|  Коллекторы |  <--------PA-------->  |   Оценщики   |
|  состояний  |                        |   состояний  |
|  (1 .. N)   |                        |   (1 .. N)   |
+-------------+                        +--------------+
      |                                       |
      |                                       |
      |                                       |
+-------------+                        +--------------+
|   Клиент    |                        |   Сервер     |
|   брокера   |  <--------PB-------->  |   брокера    |
|   состояний |                        |   состояний  |
+-------------+                        +--------------+
      |                                       |
      |                                       |
+-------------+                        +--------------+
|   Клиент    |                        |   Сервер     |
|   доставки  |  <--------PT-------->  |   доставки   |
|   состояний |                        |   состояний  |
|   (1 .. N)  |                        |   (1 .. N)   |
+-------------+                        +--------------+
  Клиент NEA                              Сервер NEA

Рисунок 1. Эталонная модель NEA

Эталонная модель NEA не включает механизмов обнаружения клиентов и серверов NEA. Предполагается, что в конфигурации клиентов и серверов NEA указывается информация, позволяющая им находить друг друга. Методы указания и механизмы организации коммуникационных каналов выходят за пределы эталонной модели NEA и их следует включать в спецификации протоколов, претендующих на роль PT.

5.1. Клиент и сервер NEA

5.1.1. Клиент NEA

Клиент NEA размещается на оконечном устройстве и обеспечивает следующую функциональность:

  • сбор состояний (Posture);

  • клиент брокера состояний;

  • клиент транспортировки состояний.

Клиент NEA отвечает за отклики на запросы атрибутов, описывающих локальную конфигурацию рабочего домена для клиента и обработку результатов оценки, включая выполнение инструкций по приведению в соответствие политике. Клиенты NEA не отвечают за отчеты о состоянии элементов, которые могут присутствовать на конечной точке или доступны через сеть, но находятся за пределами рабочего домена данной конечной точки (например, виртуальные машины другого домена).

Например, устройство трансляции сетевых адресов (NAT) может маршрутизировать соединения для многочисленных устройств, расположенных за ним, но когда NAT-устройство подключается к сети, его клиент NEA будет сообщать только свое (локальное) состояние. Аналогично и конечные точки с поддержкой виртуализации могут иметь множество независимых рабочих доменов (например, экземпляров OS). Каждый клиент NEA отвечает только за информацию о состоянии для своего рабочего домена, но эта информация может агрегироваться теми или иными локальными механизмами для представления состояния множества доменов конечной точки. Такие механизмы агрегирования данных о состоянии выходят за пределы данной спецификации.

Конечные точки без клиента NEA (не входят в область действия NEA) или отказавшиеся от предоставления атрибутов, запрашиваемых сервером NEA, могут рассматриваться, как не соответствующие требованиям. Модель NEA включает для конечных точек возможности обновления их состояний с целью приведения в соответствие.

5.1.1.1. Сборщик состояний

Сборщик состояний (Posture Collector) отвечает за отклики на запросы информации о состоянии, полученных в атрибутах Request Attribute от сервера NEA. Он отвечает также за обработку решений по результатам оценки, полученных с Result Attribute и выполнение инструкций из Remediation Attribute. Клиент NEA может поддерживать несколько сборщиков состояний способных собирать стандартные или фирменные атрибуты состояния (Posture Attribute) для отдельных свойств конечной точки. Типичные примеры сборщиков предоставляют информацию о версии операционной системы (ОС) и уровне обновления (patch level), антивирусных программах и механизмах защиты конечной точки (таких, как IDS или МСЭ).

Каждый сборщик связывается с одним или множеством идентификаторов, позволяющих указывать этот сборщик в качестве получателя сообщений PA. Клиент брокера состояний (Posture Broker Client) использует эти идентификаторы для маршрутизации сообщений соответствующему сборщику. Идентификаторы могут быть динамическими (например, их может генерировать клиент брокера при регистрации), статическими (например, выделяемыми сборщикам на этапе инсталляции и передаваемые брокерам при регистрации) или задаваться, как функция сообщений с атрибутами, которые сборщик желает получать (например, по типу сообщения).

В модели NEA для сборщика состояний выделяются следующие зоны ответственности:

  • выяснение из локальной политики приватности и безопасности ограничений, которые могут применяться к раскрытию информации данному серверу NEA;

  • прием атрибутов Request Attribute от валидатора и выполнение их локальной обработки, требуемой для отклика; это может включать:

    • сбор связанной информации о состояниях для конкретных характеристик конечной точки и возврат этой информации в атрибутах Posture Attribute;

    • кэширование и контроль применимости ранее выданных атрибутов, содержащих пригодные для повторного использования оценки, которые могут служить для подтверждения соответствия и возврата атрибутов взамен данных о состоянии;

  • прием атрибутов, содержащих инструкции по обновлению функциональности конечной точки; это может потребовать от сборщика взаимодействия с пользователем, владельцем и/или сервером восстановления;

  • мониторинг состояния отдельных характеристик конечной точки на предмет изменений, о которых требуется сообщать клиенту брокера состояний;

  • выполнение криптографической верификации атрибутов, полученных от валидатора (Validator) с использованием криптозащиты возвращаемых атрибутов.

Приведенный выше список показывает возможные зоны ответственности сборщика состояний с точки зрения модели. Отметим, что этот не задает требований, которым должна соответствовать каждая реализация сборщика состояний, и не является исчерпывающим перечнем того, что сборщик может делать.

5.1.1.2. Клиент брокера состояний

Клиент брокера состояний (Posture Broker Client) представляет собой мультиплексор-демультиплексор сообщений PA. Клиент отвечает за демультиплексирование сообщений PB, получаемых от сервера NEA, и распределение каждого инкапсулированного в нем сообщения PA соответствующему сборщику (Posture Collector). Модель также позволяет на клиентах заранее подготавливать отклики с данными о состоянии, что позволяет клиенту NEA передать свое состояние, не дожидаясь получения запроса для конкретного атрибута от сервера NEA.

Клиент брокера также мультиплексирует отклики от сборщиков состояний и возвращает их серверу NEA. Клиент-брокер создает одно или множество сообщений PB, используя сообщения PA, которые он получил от сборщиков, вовлеченных в оценку. Количество и порядок откликов от сборщиков состояний (сообщения PA), мультиплексируемых в каждое сообщение PB определяется клиентом брокера на основе множества факторов, включая политику и характеристики нижележащего уровня сетевого транспорта (например, MTU). Клиент NEA может иметь одного клиент-брокера.

Клиент-брокер также обслуживает глобальное решение по результатам оценки от серверного брокера ((Posture Broker Server) и может взаимодействовать с пользователем для передачи ему полученного решения и рекомендаций по приведению в соответствие.

Модель NEA возлагает на клиента брокера следующие зоны ответственности:

  • поддержка реестра известных сборщиков состояний и обеспечение для них возможности динамической регистрации-дерегистрации;

  • мультиплексирование и демультиплексирование сообщений с атрибутами между сервером NEA и соответствующими сборщиками;

  • обработка уведомлений об изменении состояния от сборщиков и инициирование переоценки;

  • уведомление пользователя о принятом по результатам оценки решении и передача пользователю других сообщений от сервера NEA.

5.1.1.3. Клиент транспортировки состояний

Клиент транспортировки (Posture Transport Client) отвечает за организацию надежного коммуникационного канала с сервером NEA для обмена сообщениями между клиентом и сервером. На одном клиенте NEA может поддерживаться более одного транспортного клиента для работы по разным протоколам (например, 802.1X, VPN). На некоторых транспортных клиентах в конфигурации может быть задан адрес подходящего сервера транспортировки (Posture Transport Server) для использования с конкретной сетью.

Модель NEA выделяет Posture Transport Client две зоны ответственности:

  • инициирование и поддержка коммуникационного канала с сервером NEA; транспортный клиент прячет детали взаимодействия с нижележащим уровнем (Layer 2 или Layer 3);

  • обеспечение криптографической защиты обмена сообщениями между клиентом и сервером NEA.

5.1.2. Сервер NEA

Сервер NEA обычно наделяется следующей функциональностью:

  • валидатор состояний (Posture Validator);

  • серверный брокер состояний (Posture Broker Server);

  • сервер транспортировки состояний (Posture Transport Server).

Валидаторы состояний могут размещаться на отдельном от серверного брокера сервере и тогда от брокера будет требоваться взаимодействие как с локальными, так и с удаленными валидаторами.

5.1.2.1. Валидатор состояний

Валидатор состояний отвечает за обработку атрибутов Posture Attribute от соответствующих сборщиков состояний. Валидатор может обрабатывать атрибуты состояний от одного или множества сборщиков (и наоборот). Валидатор выполняет оценку состояния для одной или множества характеристик конечной точки (например, анитивирусы) и генерирует результат, дополняя его при необходимости рекомендациями по приведению в соответствие. По своему усмотрению валидатор может запросить дополнительные атрибуты от одного или нескольких сборщиков.

С каждым валидатором связывается один или множество идентификаторов, которые позволяют указать этот валидатор в качестве получателя сообщений PA. Серверный брокер состояний использует эти идентификаторы для маршрутизации сообщений к валидатору. Идентификатор может быть динамическим (генерируется серверным брокером при регистрации), статическим (присваивается валидатору при инсталляции и передается брокеру в процессе регистрации) или функцией от сообщений с атрибутами, которые валидатор желает принимать (например, тип сообщений).

Валидаторы могут размещаться вместе с сервером NEA или устанавливаться на отдельный сервер. Очевидно, что серверу NEA требуется обслуживать множество валидаторов.

Модель NEA выделяет для валидаторов следующие зоны ответственности:

  • запрос атрибутов от сборщиков состояний, который может включать:

    • атрибуты Request Attribute, указывающие сборщику необходимость собрать и представить атрибуты Posture Attributes для конкретной характеристики конечной точки;

  • прием атрибутов от сборщиков; отклики сборщика состояний могут включать:

    • атрибуты Posture Attribute, собранные для запрошенной функциональности;

    • атрибуты Assertion Attribute, показывающие результат проверки соответствия из предыдущей оценки;

  • оценка состояния характеристик конечной точки на основе полученных от сборщика атрибутов;

  • передача результатов оценки состояния серверному брокеру;

  • передача результатов оценки состояния сборщику состояний; сообщение может включать:

    • атрибуты Result Attribute, показывающие результат оценки;

    • атрибуты Remediation Attribute с инструкциями по приведению в соответствие для сборщика;

  • мониторинг обновлений (по внешним каналам), которые требуют выполнения переоценки и передачи уведомления серверному брокеру;

  • обеспечение криптографической защиты для атрибутов, передаваемых сборщику, и криптографической верификации полученных от сборщика атрибутов.

Приведенный выше список показывает зоны ответственности валидатора с точки зрения модели. Перечисленные пункты не являются требованиями, которые должна поддерживать каждая реализация Posture Validator, и не задают полного списка того, что может делать валидатор.

5.1.2.2. Серверный брокер состояний

Серверный брокер состояний (Posture Broker Server) выступает в качестве мультиплексора и демультиплексора сообщений с атрибутами. Серверный брокер разбирает сообщения PB, полученные от клиента NEA и демультиплексирует их в сообщения PA, которые передает соответствующим валидаторам. Серверный брокер также мультиплексирует сообщения PA (например, сообщения с атрибутами Request Attribute от соответствующих валидаторов) в одно или несколько сообщений PB и передает их клиенту NEA с помощью протокола Posture Transport. Количество и порядок откликов валидатора (сообщения PA), а также общее решение по результатам оценки, мультиплексируемые в отклик(и) PB, могут определяться серверным брокером на основе множества факторов, включая политику и характеристики нижележащего сетевого транспорта (например, значение MTU).

Серверный брокер также отвечает за расчет общего решения по результатам оценки на основе отдельных решений по оценке состояний по результатам от разных валидаторов. Общее решение по результатам оценки возвращается клиенту NEA в атрибутах Result Attribute внутри сообщения PB. Конкретный сервер NEA может иметь один серверный брокер, который будет обслуживать все локальные и удаленные валидаторы.

Модель NEA возлагает на серверный брокер следующие зоны ответственности:

  • поддержка реестра валидаторов и обеспечение для них возможности регистрации и дерегистрации;

  • мультиплексирование и демультиплексирование сообщений, передаваемых валидаторам и принимаемых от них;

  • расчет общего решения по результатам оценки на основе результатов оценки состояний от разных валидаторов и проверки соответствия политике; принятое по результатам оценки решение передается клиенту-брокеру в сообщении PB.

5.1.2.3. Сервер транспортировки состояний

Сервер транспортировки (Posture Transport Server) отвечает за надежный канал связи с клиентом NEA для обмена сообщениями между клиентом и сервером NEA. На конкретном сервере NEA может использоваться несколько серверов транспортировки для поддержки разных транспортных протоколов. Конкретный сервер транспортировки обычно будет обслуживать запросы множества транспортных клиентов (Posture Transport Clients) and may require local configuration describing how to reach the NEA Clients.

Модель NEA возлагает на сервер транспортировки несколько зон ответственности:

  • организация и поддержка коммуникационного канала с (потенциально) несколькими клиентами NEA;

  • обеспечение криптографической защиты обмена сообщениями между клиентом и сервером NEA.

5.2. Протоколы

Эталонная модель NEA включает три протокольных уровня (PA, PB, PT), обеспечивающих обмен атрибутами через сеть. Эти три протокола предназначены для совместного использования и каждый играет в рамках модели свою роль, однако функциональность разных уровней может перекрываться. Например, каждому из этих протоколов следует обеспечивать возможность защиты информации от атак (см. параграф 8.2).

5.2.1. Протокол атрибутов состояний (PA)

PA10 представляет собой протокол, который служит для переноса одного или множества атрибутов между сборщиком состояний и связанным с ним валидатором (Posture Validator). Протокол PA представляет собой облегченный, ориентированный на сообщений способ сбора в единый блок атрибутов, которые нужно передать. При сборке атрибутов воедино может быть указана цель, которой служат эти атрибуты. К ожидаемым типам сообщений относятся запросы информации о состоянии (Request Attribute), данные о состоянии конечной точки (Posture Attribute), результат оценки (Result Attribute), пригодные для повторного использования оценки состояния (Assertion Attribute), а также инструкции по приведению конечной точки в соответствие политике (Remediation Attribute). Протокол PA также обеспечивает необходимое кодирование и криптографическую защиту атрибутов состояния (Posture Attribute).

5.2.2. Протокол брокера состояний (PB)

PB11 представляет собой протокол для передачи агрегированных атрибутов между сборщиками состояний на клиенте NEA и соответствующими валидаторами на сервере NEA, вовлеченном в конкретную оценку. Протокол PB обеспечивает поддержку сеанса обмена сообщениями для каждой оценки. Сессия PB используется для множества запросов Posture Attribute и откликов от разных сборщиков состояний и валидаторов, вовлеченных в конкретную оценку. Протокол PB позволяет также передавать общее решение по результатам оценки в атрибуте Result Attribute от серверного брокера к клиент-брокеру. PB можно использовать для передачи дополнительных типов сообщений, используемых брокерами (клиентом и сервером), например, о предпочитаемых пользователем настройках интерфейса (например, языке).

5.2.3. Протокол доставки состояний (PT)

PT представляет собой транспортный протокол, используемый для обмена данными между клиентом и сервером NEA и отвечающий за доставку сообщений, генерируемых протоколом PB. Протокол PT доставляет сообщения PB в процессе запроса на организацию соединения с сетью или после организации такого соединения.

В сценариях, где начальная оценка требуется в процессе подключения к сети, протокол PT (например, EAP в 802.1X) может вносить ограничения на использование сети, поэтому при реализации может быть выбрано ограничение числа и/или размера передаваемых атрибутов. Клиентам и серверам NEA следует поддерживать обнаружение возможности такого ограничения до выполнения оценки на основе свойств нижележащего сетевого протокола. С учетом этой информации политика NEA может задавать аспекты начальной проверки конечных точек и потенциально ограничивать обмен атрибутами в сообщениях PA. За этой процедурой может следовать полная переоценка конечной точки после ее подключения к сети. Можно и не ограничивать объем обмена атрибутами, настроив технологию доступа в сеть на выделение адресов IP из специального блока, которому присущи определенные ограничения, до полной проверки конечной точки и использование полнофункционального IP-транспорта по результатам оценки. Некоторые из ограничений, которые могут быть присущи протоколам на этапе подключения к сети, перечислены ниже:

  • ограниченный размер MTU и ограниченная возможность его увеличения;

  • невозможность использования множества циклов (roundtrip);

  • слабая поддержка «привязывания» (piggybacking) атрибутов для других протоколов;

  • малая полоса или значительные задержки, ограничивающие объем передаваемой информации;

  • неспособность сервера инициировать обмен сообщениями вне фазы подключения к сети.

В процессе выбора протокола PT требуется учесть влияние конкретного PT и множества нижележащих протоколов на потребности развертывания PA и PB, которые выбираются раньше PT и их потребности уже понятны. Некоторые нижележащие стеки протоколов могут вносить слишком большие ограничения, не позволяющие выполнить адекватные оценки NEA на этапе подключения к сети.

Протокол PT обеспечивает гарантированную доставку сообщений, взаимную аутентификацию и криптографическую защиту для сообщений PB в соответствии с локальной политикой.

5.3. Атрибуты

Протокол PA отвечает за обмен атрибутами между сборщиком состояний и валидатором. Протокол PB может также передавать атрибуты общего результата оценки от серверного брокера. Атрибуты, по сути, являются зарезервированными словами, обозначающими те или иные состояния. Сервер NEA способен запрашивать лишь информацию, для которой имеется соответствующий атрибут, определяющий тип получаемого состояния. Рабочая группа NEA будет определять общий (стандартный) набор атрибутов, которые представляются достаточно широко применимыми для сборщиков состояний, чтобы обеспечить максимальное взаимодействие, однако сборщики могут поддерживать и дополнительные (фирменные) атрибуты.

Назначение обмена атрибутами может меняться в зависимости от сценария развертывания (например, данные о состоянии или оценка соответствия). В этом разделе рассматривается предполагаемое влияние на ситуацию каждого класса атрибутов в сообщениях PA с учетом инициатора. Приведенная классификация не является схемой для определения пространства имен рабочей группой NEA.

5.3.1. Атрибуты, обычно передаваемые клиентом NEA

  • Posture Attribute (атрибуты состояния) — атрибуты и значения, передаваемые для обмена информацией о конкретном аспекте системы (на основе семантики атрибута). Такие атрибуты обычно передаются в ответ на атрибуты запроса (Request Attribute) от сервера NEA. Например, набор атрибутов состояния может описывать статус межсетевого экрана на хосте (например, запущен ли он, какова версия и кто производитель). Решение сервера NEA будет базироваться на сравнении данного типа атрибута с политикой.

  • Assertion Attribute (атрибуты оценки) — атрибуты, содержащие предыдущую оценку соответствия, которые хранятся для предотвращения необходимости повторного запроса состояния и его передачи серверу NEA. Примерами таких атрибутов могут служить (a) предоставленные сервером NEA атрибуты (состояние), описывающие предыдущую оценку (например, непонятные для конечной станции, подписанные и помеченные временем данные, констатирующие тот или иной результат) или (b) идентификационные данные клиента NEA, используемые сервером NEA для поиска информации о предыдущих решениях (например, cookie). Эти атрибуты могут возвращаться взамен атрибутов запроса (Posture Attribute) или в дополнение к ним.

5.3.2. Атрибуты, обычно передаваемые сервером NEA

  • Request Attribute (атрибуты запроса) — атрибуты, определяющие конкретную информацию о состоянии, которую хочет получить сервер NEA. Эти атрибуты могут формировать шаблон, который сборщик состояний будет заполнять (с учетом ограничений локальной политики) данными, соответствующими каждому атрибуту. В результате будут получены атрибуты состояния (Posture) или оценки (Assertion) от клиента NEA.

  • Result Attribute (атрибуты результата) — атрибуты, содержащие решение валидаторов (Posture Validator) и/или серверного брокера (Posture Broker Server). Уровень детализации сильно зависит от соответствия или несоответствия отдельных атрибутов.

  • Remediation Attribute (атрибуты реабилитации) — атрибуты, показывающие клиенту NEA и пользователю, что нужно сделать для приведения конечной точки в соответствие политике сервера NEA. Эти атрибуты передаются в тех случаях, когда принято общее решение о несоответствии конечной точки заданным правилам. Атрибуты Remediation и Result могут передаваться в одном сообщении от сервера NEA.

  • Assertion Attribute (атрибуты оценки) — атрибуты, содержащие оценку сервером NEA соответствия конечной точки заданной политике для будущего использования клиентом NEA (см. параграф 5.3.1).

6. Варианты использования

В этом разделе рассмотрено несколько ситуаций применения NEA с целью описания и обсуждения рассматриваемой проблемы. Примеры обеспечивают контекст и общее обоснование определяемых здесь требований. Для упрощения понимания вариантов использования и их связи с эталонной моделью каждый вариант применения сопровождается простым примером и обсуждением его связи с протоколами NEA. Следует понимать, что представленные примеры не являются единственными вариантами решения задач и приведены скорей для понимания того, какие потоки могут возникать и как они влияют на протоколы NEA.

Варианты применения будем делить на две широких категории, каждая из которых имеет свой набор событий-триггеров:

  • начальная оценка — оценка состояния конечной точки, которая не проверялась раньше (в обозримые сроки) и, таким образом, не имеет каких-либо подтверждений соответствия политике; такая оценка может инициироваться по запросу на подключение к сети, запросу на использование сервиса или по желанию понять состояние системы;

  • переоценка — оценка состояния конечной точки, которая оценивалась ранее; такая оценка может выполняться по разным причинам, включая констатацию клиентом или сервером NEA событий, которые могут повысить уровень риска для конечной точки (например, ситуация, когда с момента предыдущей оценки прошло достаточно много времени).

6.1. Начальная оценка

Начальная оценка выполняется в тех случаях, когда на клиента или сервере NEA происходит событие, которое вызывает необходимость проверить состояние конечной точки в первый раз. Конечная точка не относится к этой категории, если она ранее была оценена и клиент или сервер NEA поддерживает информацию о соответствии данной конечной точки и, следовательно, не возникает необходимости оценивать эту точку заново.

6.1.1. Оценка при подключении к сети или по запросу сервера

Этот вариант фокусируется на оценках, выполняемых при попытке подключения конечной точки к сети или начала использования сервиса, который требует оценки состояния. Этот вариант представляет особый интерес, поскольку он позволяет серверу NEA оценить состояние конечной точки до того, как ей будет предоставлен доступ к сети или сервису.

Данная модель может использоваться для обнаружения конечных точек с известными уязвимостями и выполнения корректирующих действий до того, как конечная точка будет допущена в сеть и сможет создать угрозу для нее.

Оценки этого класса могут вызываться самыми разными действиями на конечных точках. Например, оценка может быть инициирована попыткой конечной точки получить доступ к хорошо защищенному сетевому сервису (например, к серверу финансовых или кадровых приложений), где требуется серьезная проверка защищенности. Хорошим примером может служить запрос доступа в сеть, требующую от конечных точек соответствия заданной политике. Более детальное рассмотрение этого случая приведено ниже.

6.1.1.1. Пример

Сотрудник IT, вернувшийся из отпуска, включает свой офисный компьютер, который генерирует запрос на подключение к проводной сети компании. Политика безопасности в сети от системы предоставить информацию о состоянии для проверки того, что функции защиты на компьютере включены и обновлены. Компьютер передает свои сведения об установленных обновлениях, антивирусе, межсетевом экране. Сервер NEA определяет отсутствие на компьютере свежих обновлений защиты, предназначенных для устранения серьезной уязвимости, и система помещается в сеть с ограниченным доступом. Компьютер следует предоставленным инструкциям по загрузке и установке требуемых обновлений. Позднее компьютер снова запрашивает подключение к сети и ему предоставляется полный доступ в сеть компании после полной оценки его состояния.

6.1.1.2. Возможные события и использование протокола

Ниже приведен типичный поток сообщений эталонной модели NEA для описанного выше примера.

  1. Стационарный компьютер сотрудника IT подключается к сети через шлюз доступа в проводной сети предприятия.

  2. Серверный брокер на сервере NEA получает инструкцию разрешить подключение конечной точки к проводной сети.

  3. В соответствии с политикой серверный блокер связывается с компонентами проверки установленных обновлений, локального брандмауэра и антивирусной системы (валидатор) для проверки соблюдения политики доступа. Каждый валидатор создает сообщение, содержащее атрибуты, которые должны быть запрошены для проверки подключаемого компьютера.

  4. Серверный блокер агрегирует сообщения PA от валидатора в сообщение PB, а затем передает PB серверу транспорта, который использует протокол PT для отправки сообщения PB клиенту NEA на компьютере.

  5. Клиент транспорта получает сообщение от сервера NEA и передает его клиентскому брокеру для доставки.

  6. Клиентский брокер демультиплексирует сообщение PB и доставляет сообщения PA сборщикам состояний с запросами атрибутов для межсетевого экрана, исправлений (patch) операционной системы и антивирусной защиты.

  7. Каждый вовлеченный сборщик состояний обращается к локальной политике для определения информации, которая может быть раскрыта, и после этого возвращает запрошенные атрибуты, для которых предоставлены полномочия, в сообщении PA клиентскому брокеру.

  8. Клиентский брокер агрегирует сообщения PA в одно сообщение PB и передает его серверному брокеру, используя сессию между клиентом и сервером транспорта.

  9. Сервер транспорта предоставляет сообщение PB серверному брокеру, который демультиплексирует его и передает атрибуты соответствующим валидаторам.

  10. Каждый валидатор сравнивает полученные атрибуты с ожидаемыми значениями, определяемыми его политикой.

  11. Для антивируса и межсетевого экрана валидатор возвращает серверному брокеру атрибуты, подтверждающие соответствие компьютера, а для исправлений операционной системы передается несоответствие. Валидатор для исправлений операционной системы создает сообщение PA, которое содержит атрибуты с инструкциями по исправлению в дополнение к атрибутам, показывающим несоответствие.

  12. Серверный брокер агрегирует сообщения PA и передает их в сообщении PB клиентскому брокеру через транспортный сервер и клиента.

  13. Клиентский брокер доставляет сообщения PA с результатами от разных валидаторов сборщикам состояний, включая сообщение PA, содержащее атрибуты с инструкциями по исправлению для операционной системы. Сборщик состояний для исправлений операционной системы взаимодействует с пользователем для загрузки и установки требуемых обновлений, при этом конечная может оставаться в карантине.

  14. После внесения исправлений указанные выше этапы 1-10 повторяются (по инициативе клиента NEA, повторяющего запрос на подключение к сети).

  15. С этого момента каждый вовлеченный валидатор (включая проверяющий обновления операционной системы) возвращает статус соответствия и серверный брокер возвращает результат, показывающий общий успех.

  16. Клиентский брокер получает результат соответствия и компьютер сотрудника IT подключается к сети.

6.1.1.3. Воздействие на требования

Ниже приведено несколько аспектов примера варианта использования, которые может быть необходимо учесть в требованиях.

  • Оценка местоположения до того, как конечная точка будет допущена в сеть.

  • Конечная точка передает атрибуты, содержащие данные о местоположении.

  • Сервер NEA передает инструкции по исправлению

  • Клиент NEA запрашивает переоценку после исправления.

6.1.2. Оценка по инициативе конечной точки

Этот вариант показывает, что конечная точка (возможно, по запросу пользователя) может инициировать оценку своего состояния для проверки работоспособности и своевременности механизмов защиты.

6.1.2.1. Пример

Студент идет в зал терминалов для работы над проектом. В этом зале размещаются терминалы общего пользования, принадлежащие учебному заведению и подключенные к сети. Эти системы ранее использовались другими студентами, поэтому состояние из защиты неизвестно. Студент хочет проверить соответствие защищенности терминала правилам учебного заведения до начала работы, поэтому он запрашивает оценку состояния. Сервер NEA проводит первоначальную оценку системы и определяет ее соответствие, но указывает, что антивирусная защита не применяется. Студен получает консультативное сообщение, указывающее, что антивирусные программы отключены, но все остальное соответствует правилам. Студент включает антивирусную защиту, сканирует систему и по завершении сканирования принимает решение о доверии к системе и начинает работу.

6.1.2.2. Возможные события и использование протокола

Ниже приведен поток сообщений через эталонную модель NEA для студента, использующего общую систему в терминальном зале.

  1. Студент запускает клиентский брокер на компьютере терминального зала для инициирования оценки.

  2. Брокер организует сессию с серверным брокером, что запускает процесс оценки.

  3. Серверный брокер детектирует новую сессию и просматривает правила для определения валидаторов, участвующих в оценке. Брокер принимает решение о выборе нескольких валидаторов, включая антивирусную проверку.

  4. Используемые валидаторы создают сообщения PA с запросами конкретных атрибутов, содержащих информацию о компьютере в терминальном зале на основе политики безопасности учебного заведения.

  5. Серверный брокер собирает сообщение PB, включающее все сообщения PA от валидаторов.

  6. Транспортный сервер передает сообщение PB транспортному клиенту, где оно передается клиентскому брокеру.

  7. Клиентский брокер на компьютере студента демультиплексирует сообщения PA и доставляет их соответствующим сборщикам состояний.

  8. Сборщики состояний обращаются к политике конфиденциальности для решения вопроса о предоставляемой серверу информации. Если это допустимо, каждый сборщик состояний возвращает сообщение PA с запрошенной оценкой клиентскому брокеру.

  9. Клиентский брокер собирает возвращенные сообщения PA в сообщение PB и передает его транспортному клиенту для отправки серверу транспорта.

  10. Серверный брокер разделяет и распределяет сообщения PA от сборщика состояний между соответствующими валидаторами.

  11. Валидаторы определяют соответствие содержащихся в оценке атрибутов, включенных в сообщение PA, принятым правилам и возвращают оценку состояния серверному брокеру. В данном случае антивирусный валидатор возвратил сообщение PA, указывающее несоответствие по причине отсутствия запущенной антивирусной программы и содержащее рекомендации по активации программы.

  12. Серверный брокер принимает общее решение о соответствии на основе результатов оценки всеми валидаторами и передает сообщение PB с атрибутом, выражающим общее решение об оценке и сообщение PA от антивирусного валидатора. В данном случае общая оценка указывает соответствие системы требованиям (несмотря на результат антивирусного валидатора), поскольку политика серверного брокера разрешает работать без антивирусной программы, если в системе установлены исправления и работает межсетевой экран (на основании данных от других валидаторов).

  13. Транспортный сервер передает сообщение PB транспортному клиенту, который доставляет его клиентскому брокеру.

  14. Клиентский брокер на компьютере в терминальном зале проверяет атрибуты общего решения в сообщении PB и сообщает студенту, что система соответствует требованиям, но имеются дополнительные рекомендации.

  15. Клиентский брокер передает сообщение PA с атрибутами рекомендации антивирусному сборщику состояний, который информирует пользователя как включить антивирус для улучшения локальной защиты.

  16. Студент запускает антивирусную программу и операции 1-10 повторяются.

  17. На этот раз антивирусный валидатор сообщает о работе программы и серверный брокер возвращает решение о положительной общей оценке в сообщении PB.

  18. Клиентский брокер получает решение о положительной общей оценке в сообщении PB и студен начинает работу с компьютером.

6.1.2.3. Воздействие на требования

Ниже приведены несколько разных аспектов примера, которые могут быть учтены в требованиях.

  • Произвольная конечная точка запросила начальную оценку.

  • Положительное общее решение включено в сообщение PB с сообщением PA, содержащим рекомендуемый набор атрибутов для исправления.

6.2. Повторная оценка состояния

Повторная оценка конечной точки может произойти в любой момент после успешной первоначальной оценки NEA. Это может быть вызвано событием, например, обнаруженной клиентом NEA смене местоположения или изменениями, обнаруженными сетевой инфраструктурой, таким как регистрация подозрительного поведения или обновление сетевой политики на сервер NEA. /то может быть также периодическая (по таймеру) оценка состояния конечной точки.

6.2.1. Переоценка по инициативе клиента NEA

Этот вариант позволяет программам на конечной точке или пользователю определить необходимость в повторной оценке системы. Имеется много причин, по которым такая переоценка может быть полезной, включая изменение сообщенного ранее состояния, обнаружение подозрительного поведения или даже просто возможность системы периодически опрашивать сервер NEA для проверки соответствия свежей политике.

6.2.1.1. Пример

Настольные компьютеры в отделе кадров компании слабо защищены и могут быть взломаны. Администратор отдела кадров решает развернуть на каждом компьютере программы для мониторинга использования защитных механизмов. Однажды сотрудник отдела случайно отключил персональный брандмауэр. Процесс мониторинга обнаруживает это и связывается с сервером NEA для запроса переоценки соответствия брандмауэра. Сервер NEA возвращает решение о необходимости включения брандмауэра для продолжения работы в сети. Клиент NEA доводит это решение до пользователя, указывая способ включения брандмауэра. Сотрудник запускает брандмауэр и инициирует запрос на подключение к сети.

6.2.1.2. Возможные события и использование протокола

Ниже приведен поток сообщений через эталонную модель NEA для сотрудника отдела кадров.

  1. Программа мониторинга настольного компьютера, которая обычно может служить сборщиком состояний, запускает Posture Broker Client для инициирования переоценки состояния. Клиентский брокер создает сообщение PB, содержащее сообщение PA с указанием отключенного на настольном компьютере брандмауэра.

  2. Клиентский брокер передает сообщение PB серверному брокеру.

  3. Транспортный клиент передает сообщение PB серверу транспорта по протоколу PT.

  4. Серверный брокер получает сообщение PB и пересылает сообщение PA из него валидатору брандмауэра для оценки.

  5. Валидатор брандмауэра определяет, что конечная точка не соответствует требованиям, поскольку брандмауэр отключен.

  6. Валидатор создает сообщение PA с атрибутами, указывающими несоответствие при оценке состояния, и рекомендациями по включению брандмауэра.

  7. Валидатор передает сообщение PA с результатом оценки серверному брокеру для отклика клиенту NEA.

  8. Серверный брокер создает сообщение PB с решением по общей оценке (несоответствие) и сообщением PA от валидатора брандмауэра.

  9. Транспортный сервер доставляет сообщение PB клиенту транспорта, а тот передает его клиентскому брокеру.

  10. Клиентский брокер обрабатывает атрибут, содержащий решение об общей оценке состояния от сервера NEA и выводит пользователю сообщение о несоответствии.

  11. Клиентский брокер пересылает сообщение PA сборщику состояний брандмауэра, который выводит инструкции по включению персонального брандмауэра.

  12. Пользователю предлагается инициировать переоценку после включения брандмауэра.

  13. После выполнения рекомендаций клиент NEA инициирует переоценку и этапы 1-4 повторяются. На этот раз валидатор брандмауэра определяет соответствие конечной точки требованиям и возвращает положительное решение.

  14. Серверный брокер создает сообщение PB с решением об общей оценке (соответствие) и возвращает его клиенту NEA.

6.2.1.3. Воздействие на требования

Ниже приведены несколько разных аспектов примера, которые могут быть учтены в требованиях.

  • Произвольная конечная точка (программа) запросила повторную оценку.

  • Сервер NEA запросил конкретные атрибуты, связанные с брандмауэром.

  • Клиент NEA (сборщик состояний брандмауэра) взаимодействует с пользователем для устранения проблемы.

6.2.2. По инициативе сервера NEA

Во многих случаях (особенно для переоценки) сервер NEA может инициировать определенную или полную переоценку одной или множества конечных точек, в зависимости от:

  • времени (периодическая);

  • события;

  • обновления политики.

6.2.2.1. Пример

Предприятие требует, чтобы сотрудники всегда были в курсе важных обновлений защиты операционной системы. Сотрудник отдела маркетинга подключается к сети и выполняет начальную оценку, которая определяет соответствие его переносного компьютера требованиям безопасности. Несколько часов спустя крупный производитель операционных систем выпускает комплект исправлений, предотвращающих серьезную уязвимость системы, которая используется в Internet.

Администраторы предприятия делают обновления доступными и меняют политику сети с требованием установить обновления к 17 часам. Это изменение политики заставляет сервер NEA запросить переоценку для определения конечных точек, на которые воздействуют исправления, но те еще не установлены. Переносной компьютер маркетолога оценивается и определяется необходимость установки обновлений. Передаются рекомендации по установке и сотруднику выдается разъяснение о способе получения обновлений и необходимости их установки до 17 часов. Сотрудник незамедлительно загружает и устанавливает обновления, а также получает подтверждение установки всех исправлений.

В 17 часов проводится повторная оценка всех затронутых обновлением конечных точек для определения их соответствия. Компьютер сотрудника маркетингового отдела переоценивается и представляет установленные обновления, подтверждая свое соответствие требованиям.

6.2.2.2. Возможные события и использование протокола

Ниже приведен поток сообщений через модель NEA описанного выше примера.

  1. Сотрудник отдела маркетинга подключается к сети и выполняет первоначальную оценку а результате которой принимается решение о соответствии.

  2. Администратор предприятия настраивает политику обновления операционных систем, указывающую, что все свежие исправления должны быть установлены к 17 часам для предотвращения серьезных уязвимостей.

  3. Валидатор для операционных систем на сервере NEA узнает о смене политики и создает сообщение PA, запрашивающее атрибуты с описанием установленных обновлений операционной системы и указывает серверному брокеру инициировать повторную оценку конечных точек, подключенных к сети.

  4. Posture Broker создает сообщение PB, включающее сообщение PA от Posture Validator для проверки обновлений ОС.

  5. Серверный брокер постепенно организует сессию с каждым доступным клиентом NEA.

  6. Серверный брокер передает сообщение PB клиенту клиентскому брокеру.

  7. Сервер транспорта передает сообщение PB транспортному клиенту по протоколу PT.

  8. Клиентский брокер получает сообщение PB и пересылает сообщение PA сборщику состояний для обновлений операционной системы.

  9. Сборщик состояний для обновлений ОС определяет установленные на конечной точке обновления и, если это разрешено политикой раскрытия информации, создает сообщение PA с атрибутами установленных обновления.

  10. Клиентский брокер передает сообщение PB, включающее сообщение PA об установленных обновлениях.

  11. Клиент транспорта доставляет сообщение PB транспортному серверу, где оно передается серверному брокеру.

  12. Серверный брокер получает сообщение PB и доставляет сообщение PA валидатору для обновлений ОС.

  13. Валидатор извлекает атрибуты, описывающие установленные обновления из сообщения PA и использует их для проверки соответствия конечной точки новой политике. Валидатор решает, что конечная точка не соответствует правилам, поскольку на ней не установлены новые исправления.

  14. Валидатор генерирует сообщение PA, включающее атрибуты, которые указывают решение о несоответствии и атрибуты, содержащие инструкции по исправлению, позволяющие конечной точке загрузить требуемые обновления ОС.

  15. Валидатор сообщает результат оценки серверному брокеру вместе с сообщением PA.

  16. Серверный брокер принимает глобальное решение по оценке и передает сообщение PB с этим решением и сообщением PA от валидатора.

  17. Сервер транспорта доставляет сообщение PB транспортному клиенту, где оно передается клиентскому брокеру.

  18. Клиентский брокер обрабатывает атрибут Result, полученный от сервера NEA, и выводит на экран пользователя сообщение о несоответствии.

  19. Клиентский брокер пересылает сообщение PA с инструкциями по исправлению сборщику состояний для обновлений ОС и тот дает пользователю инструкции по обеспечению соответствия, включающие загрузку требуемых обновлений ОС для устранения уязвимости.

  20. Сотрудник отдела маркетинга устанавливает требуемые обновления и это обеспечивает соответствие.

  21. Клиент NEA инициирует повторную оценку обновлений ОС, при которой повторяются многие из указанных выше этапов. На этот раз на этапе 13 валидатор определяет соответствие компьютера сотрудника заданным требованиям. Он возвращает многократно используемый (например, подписанный и датированный) набор атрибутов, подтверждающий соответствие ОС новой политике. Эта оценка соответствия ОС может использоваться в будущих сообщениях PA от коллектора обновлений ОС вместо новой проверки и предоставления установленного набора обновлений.

  22. На этот раз сборщик состояний обновления ОС, получив сообщение PA с многократно используемыми атрибутами, подтверждающее соответствие, кэширует эти атрибуты на будущее.

  23. Позднее, в 17 часов, сервер NEA запускает постепенную переоценку для проверки соответствия рекомендациям по установке обновлений. Когда сборщик состояний для обновлений ОС получает запрос информации о положении дел (как в п. 9 выше), он возвращает кэшированный набор подтверждений (вместо информации об исправлениях ОС) для индикации установки обновлений вместо реальной проверки установленных в системе обновлений.

  24. Когда валидатор для обновлений ОС получает сообщение PA с этими подтверждениями, он способен проверить их подлинность и пригодность. В результате он возвращает положительное решение по результатам оценки, позволяя компьютеру оставаться в сети.

6.2.2.3. Воздействие на требования

Ниже приведены несколько разных аспектов примера, которые могут быть учтены в требованиях.

  • Инициированная сервером переоценка, требуемая доступностью важного обновления.

  • Представление клиентом NEA атрибутов оценки вместо подтверждения установки обновления.

  • Способность сервера NEA признавать ранее выданные атрибуты оценки достаточными.

7. Требования

В этом разделе описаны требования, которые будут предъявляться рабочей группой NEA при оценке и сравнении протоколов-кандидатов для PA, PB и PT. Эти требования часто выражают функции, которые кандидаты должны поддерживать, чтобы разработчик мог решить вопрос об использовании этой функции. Раздел не содержит требований по реализации функций протоколов. Например, могут быть заданы требования (должно, следует, можно), чтобы функции криптографической защиты были доступны в каждом протоколе, но это не означает для разработчиков необходимости применять все или даже некоторые из этих функций, если он считает, что среда обеспечивает достаточный уровень защиты.

7.1. Общие требования к протоколам

Ниже перечислены требования, применимые к протоколам PA, PB и PT в эталонной модели NEA.

  1. Протоколы NEA должны поддерживать множество обменов между клиентом и сервером NEA в одном процессе оценки.

  2. Протоколам NEA следует обеспечивать клиентам и серверам NEA возможность инициировать оценку и переоценку при возникновении необходимости.

  3. Протоколы NEA, включающие возможности защиты, должны быть способны защитить от активных и пассивных атак на промежуточных и конечных точках, включая защиту от повторного использования (replay).

  4. Протоколы PA и PB должны быть способны работать на основе любого протокола PT. Например, протокол PB должен обеспечивать независимый от транспорта интерфейс, позволяющий протоколу PA работать без изменений в широком диапазоне сетевых сред (EAP/802.1X, TLS, IKEv212).

  5. Процесс выбора протоколов для NEA должен оценивать и предпочитать использование имеющихся открытых стандартов, удовлетворяющих требованиям, перед тем, как разрабатывать новые. Целью NEA является не создание дополнительных протоколов при наличии подходящих решений, которые уже разработаны.

  6. Протоколы NEA должны быть расширяемыми по масштабу развертывания, протоколы должны поддерживать множество сборщиков состояний на большом числе клиентов NEA для оценки множеством Posture Validator, размещенных на многих серверах NEA.

  7. Протоколы NEA должны поддерживать эффективную доставку большого числа сообщений с атрибутами между клиентом и сервером NEA.

  8. Протоколы NEA должны эффективно работать на каналах с низкой пропускной способностью и большими задержками.

  9. Для всех строк, выводимых пользователям протоколы должны поддерживать преобразование строк с учетом языковых предпочтений пользователя.

  10. Протоколы NEA должны поддерживать кодирование строк в формате UTF-8 [UTF8].

  11. В результате различия транспортных характеристик базовых протоколов, являющихся кандидатами в PT клиент и сервер NEA должны быть способны узнавать и приспосабливаться к ограничениям доступного протокола PT. Например, некоторые характеристики PT могут влиять на работу протоколов PA и PB, включая ограничения на возможность той или иной стороны инициировать соединение NEA, максимальный объем данных в сообщении или полной оценке, верхнюю границу числа обменов, упорядоченный (дуплексный) обмен сообщениями. Процесс выбора для протоколов PT должен учитывать ограничения кандидатов в PT, налагаемые на протоколы PA и PB.

7.2. Требования к протоколу PA

Протокол атрибутов состояния (PA) определяет транспорт и модель данных для доставки информации о состоянии и оценке между конкретным сборщиком состояний, связанным с клиентом NEA, и валидатором, связанным с сервером NEA. Протокол PA передает наборы стандартных и фирменных атрибутов. Сам протокол PA передается протоколом PB.

Приведенные ниже требования задают желаемые свойства, формирующие базу для сравнения и оценки протоколов-кандидатов в PA. Эти требования не задают использование свойств, просто протоколы кандидаты могут предлагать эти свойства при необходимости.

  1. Протокол PA должен поддерживать обмен расширяемым набором стандартных атрибутов NEA. Эти атрибуты будут отличаться от нестандартных.

  2. Протокол PA должен поддерживать обмен расширяемым набором фирменных атрибутов. Эти атрибуты будут сегментироваться в однозначно определяемые пространства имен производителей.

  3. Протокол PA должен позволять валидаторам делать один или множество запросов для атрибутов от сборщика состояний в одном процессе оценки. Это позволяет валидатору повторно оценить состояние конкретной конечной точки или запросить другую оценку, в том числе для других частей конечной точки.

  4. Протокол PA должен быть способен возвращать атрибуты от валидаторов сборщику состояний. Например, это может позволить сборщику состояний узнать конкретную причину негативной оценки и помочь в исправлении ошибок и уведомлении владельца.

  5. Протоколу PA следует поддерживать защиту подлинности, целостности и конфиденциальности атрибутов, передаваемых между сборщиком состояний и валидатором. Это обеспечивает сквозную защиту системы NEA, которая может включать транзитные среды и переходить через границы доверия.

  6. Протокол PA должен обеспечивать возможность передачи атрибутов, содержащих двоичные и иные данные, включая шифрованные.

7.3. Требования к протоколу PB

Протокол PB поддерживает мультиплексирование сообщений Posture Attribute (протокол PA) между сборщиками состояний на клиенте NEA и валидаторами на сервере NEA (в обоих направлениях).

Протокол PB передает клиентскому брокеру глобальное решение об оценке, принятое серверным брокером, с учетом результатов валидаторов, участвовавших в оценке.

Протокол PB также агрегирует и доставляет рекомендации и уведомления, такие как инструкции по исправлению(например, ссылки на обновления) от одного или нескольких валидаторов.

Требования к PB приведены ниже

  1. Протокол PB должен поддерживать передачу атрибутов от серверного брокера клиентскому. Это позволяет клиентскому брокеру получить решение по результатам оценки и, если это применимо, рекомендации и уведомление для владельца конечной точки.

  2. Протоколу PB недопусимо интерпретировать содержимое передаваемых сообщений PA (т. е. данные в сообщениях должны быть «непрозрачны» для протокола).

  3. Протокол PB должен передавать уникальный идентификатор, используемый брокерами для маршрутизации (доставки) сообщений PA между сборщиками состояний и валидаторами. Эта маршрутизация сообщений должна способствовать динамической регистрации и дерегистрации сборщиков состояний и валидаторов. Например, динамически регистрируемому антивирусному сборщику состояний следует поддерживать подписку для получения сообщений от соответствующих сборщиков состояний на клиентах NEA.

  4. Протокол PB должен обеспечивать возможность поддержки полудуплексного протокола PT. Однако это не препятствует работе PB в полнодуплексном режиме при полнодуплексном протоколе PT.

  5. Протокол PB может поддерживать защиту подлинности, целостности и конфиденциальности атрибутов, передаваемых между клиентским и серверным брокером. Это позволяет защитить обмен группами сообщений с атрибутами между клиентским и серверным брокером. Эта защита независима от защиты PA (которая является сквозной) и позволяет реализовать более простые сборщики состояний и валидаторы, а также консолидировать криптографические операции для улучшения расширяемости и управляемости.

  6. Протокол PB должен поддерживать группировку сообщений с атрибутами для оптимизации доставки сообщений и снижения числа обменов.

7.4. Требования к протоколу PT

Транспортный протокол PT обеспечивает обмен сообщениями протокола PB между клиентом и сервером Posture Transport. PT отвечает за обеспечение защищенного транспорта для протокола PB. Сам протокол PT может транспортироваться в одной или нескольких объединенных (конкатенация) сессиях протокола нижележащего уровня (например, 802.1X, RADIUS [RADIUS], TLS, IKE).

В этом параграфе приведены требования, которые должны выполнять протоколы, являющиеся кандидатами в PT.

  1. Протоколу недопустимо интерпретировать содержимое передаваемых сообщений PB (т. е. передаваемые данные должны быть «непрозрачны» для протокола).

  2. Протокол PT должен обеспечивать возможность поддержки взаимной аутентификации, а также защиту целостности и конфиденциальности сообщений PB между клиентом и сервером Posture Transport.

  3. Протокол PT должен обеспечивать надежную доставку для протокола PB, включая возможность фрагментации и сборки, обнаружение дубликатов и нарушения порядка, если это требуется.

  4. Протоколу PT следует обеспечивать возможность работы и имеющимися протоколами доступа в сеть, такими как 802.1X и IKEv2.

  5. Протоколу PT следует обеспечивать возможность обмена между клиентом и сервером NEA по протоколу TCP или UDP (подобно LDAP13).

8. Вопросы безопасности

Этот документ задает функциональные требования к протоколам PA, PB и PT, используемым при оценке конечных точек (NEA). Поэтому здесь не задан конкретный стек протоколов или набор технологий. В результате данный раздел посвящен вопросам безопасности NEA в целом и отдельных аспектов эталонной модели NEA.

Хотя многие темы выходят за рамки рабочей группы NEA и, следовательно, данной спецификации (см. параграф 3.1), важно обеспечить защиту этих механизмов от атак. Например, методы запуска оценки или переоценки выходят за рамки документа, но они должны быть надежно защищены от атак (например, от сокрытия злоумышленником события, указывающего на изменение политики сервера NEA).

NEA намеревается облегчить обнаружение и исправление взаимодействующих конечных точек в соответствии с принятой в сети политикой. Например, предполагается, что эти правила позволят разработчикам обнаруживать устаревшие, неактивные или отсутствующие механизмы защиты на конечной точке, что может делать ее более уязвимой для известных атак. Если конечная точка более уязвима, рискованно иметь такую точку в сети вместе с другими ценными активами. Заранее оценивая взаимодействующие конечные точки при их подключении к сети, можно существенно повысить их устойчивость к атакам еще до допуска в сеть. Точно так же повторная оценка взаимодействующих конечных точек сети может помочь для обеспечения использования механизмов защиты, соответствующих свежей политике сети.

NEA полностью признает, что не все конечные точки будут взаимодействовать, предоставляя свое реальное состояние (или вообще состояние). Причиной этого могут быть вредоносные программы, влияющие на клиентов NEA или правила, что делает достоверную оценку невозможной. Такая ситуация может привести к допуску в сеть конечной точки, представляющей угрозу для сети и других конечных точек, несмотря на прохождение проверки NEA.

8.1. Доверие

NEA включает оценку состояния конечных точек, входящих или уже находящихся в сети, на предмет соответствия правилам, чтобы убедиться в их адекватной защите. Поэтому конечные точки должны считаться недоверенными, пока нет оснований полагать (на основе данных о состоянии), что они защищены от угроз, устраняемых политикой соответствия, и не будут распространять угроз другим конечным точкам. На стороне сетевого провайдера обычно предполагается, что клиент NEA доверяет сетевой инфраструктуре в части злоупотреблений раскрытой информацией о состоянии (см. раздел 9) и какими-либо инструкциями, предоставляемыми конечной точке. Клиент NEA обычно должен быть уверен в том, что сервер NEA будет запрашивать лишь информацию для определения безопасности разрешения конечной точке доступа к сетевым активам.

Между клиентом и сервером NEA имеется сеть, которая не считается доверенной. Поэтому мало что в этой сети считается заслуживающим доверия, кроме ее готовности и возможности своевременно доставлять сообщения в процессе обмена ими. Уровень доверия к каждому элементу эталонной модели NEA зависит от реализации. Рабочая группа NEA намеревается предоставить механизмы защиты для снижения уровня доверия, который должен предполагаться разработчиком. Эти вопросы более подробно рассмотрены в последующих параграфах.

8.1.1. Конечная точка

Для правильной работы NEA конечные точки должны быть доверенными, чтобы точно представить запрашиваемое состояние защиты серверу NEA. Согласно уставу рабочей группы NEA, эталонная модель NEA не задает явно способ обнаружения или предотвращения ложных конечных точек, намеренно искажающих свое состояние. Точно так же обнаружение вредоносных программ (например, rootkit), которые могут обмануть сборщики состояний, возвращая некорректные данные, является предметом исследований и стандартизации вне IETF (например, в Trusted Computing Group [TCG]) и не рассматривается в модели. Однако при использовании таких механизмов в реализации, эталонная модель NEA должна быть способна приспособить эти технологии, позволяя им взаимодействовать по протоколу PA с валидаторами или работать независимо для защиты клиентов NEA от атак и обеспечения возможности сборщикам видеть корректное состояние.

Помимо необходимости доверять целостности клиента NEA и его способности точно собрать и передать атрибуты состояния конечной точки, мы пытаемся не использовать другое предполагаемое доверие. Большинство моделей использования NEA предполагает отправку информации о состоянии на сервер NEA для оценки и принятия решения. При использовании защиты на уровне PA и/или PT конечная точка должна доверять целостности и возможно конфиденциальности данных привязки доверия (например, сертификатам открытых ключей), используемых сборщиком состояний и/ли транспортным клиентом. Однако реализации NEA могут выбрать отправку или предварительную подготовку неких правил конечной точке для оценки, обеспечивающих повышение доверия. В таких случаях сервер NEA должен верить, что механизмы хранения, оценки и информирования в конечной точке не фальсифицируют результаты оценки соответствия.

Как правило, конечной точке не следует доверять сетевым коммуникациям (например, входящим запросам на соединение), пока это доверие не было специально разрешено пользователем или владельцем (через политику или действие). Эталонная модель NEA предполагает размещение клиента NEA целиком на конечной точке. Незапрошенные соединения из сети должны проверяться обычными механизмами защиты хоста (например, брандмауэр, протоколы защиты IDS/IPS14 и т. п.). Коммуникации, связанные с оценкой или переоценкой NEA, требуют некоторого уровня доверия особенно при их инициировании сервером NEA (переоценка). Уровень доверия моет быть ограничен за счет применения строгой защиты сообщений в соответствии с требованиями сети и политикой конечной станции/пользователя.

8.1.2. Сетевые коммуникации

Между клиентом и сервером NEA может присутствовать много разнотипных устройств, обеспечивающих коммуникационный путь. Некоторые из промежуточных устройств (например, простые коммутаторы L2), которые способны наблюдать и изменять передаваемые сообщения. Промежуточные устройства можно разделить на несколько категорий по влиянию на уровень доверия к операциям.

Во-первых, некоторые промежуточные устройства участвуют в пересылке сообщение или поддержке PT (например, коммутаторы L2, маршрутизаторы L3). Предполагается, что эти устройства не отбрасывают сообщений и не предпринимают попыток активно препятствовать (например, DoS-атака15) развертыванию NEA.

Во-вторых, некоторые промежуточные устройства могут быть частью уровня управления доступом в сеть т поэтому им доверяется исполнение политики, включая исправление, изоляцию и контроль доступа, предоставляемые им по результатам оценки NEA. Эти устройства могут также играть другие роли, описанные в этом разделе.

В-третьих, некоторые устройства могут служить точкой завершения или прокси для транспортного протокола PT. Часто предполагается, что базовый протокол для PT завершается на клиенте и сервере NEA, которые оказываются точками завершения PT. Если в реализации это не выполняется, приходится доверять устройствам завершения в части аккуратной и точной передачи сообщений PT следующему протоколу оператора (например, при переходе внутренних сообщений метода EAP [EAP] из туннеля EAP в сессию RADIUS).

В-четвертых, инфраструктура многих сетей включает такие устройства, как IDS/IPS, которые отслеживают и исправляют подозрительное поведение в сети. Эти устройства могут быть связаны с сервером NEA, но этот вопрос выходит за рамки спецификации. Устройства, которым сервер NEA доверяет предоставление данных о защите, которые могут влиять на принимаемое сервером решение, предполагаются доверенными и не вынуждающими сервер NEA принимать некорректные решения.

Кроме того, между клиентом и сервером NEA могут размещаться другие типы сетевых устройств для обслуживания задач, выходящих за пределы NEA. Эти устройства могут быть способны пассивно перехватывать трафик, архивировать данные для последующего применения (например, повторное использование — replay или нарушение конфиденциальности), а также активно влиять на работу протоколов NEA. Поскольку эти устройства напрямую не участвуют в работе NEA, важно при развертывании NEA не доверять слепо таким устройствам в части обеспечения корректной работы NEA. Поэтому протоколы NEA должны обеспечивать защиту, чтобы такие устройства не могли украсть, изменить, подделать данные или иным способом воздействовать на обмен сообщениями.

8.1.3. Сервер NEA

Серверу NEA (включая возможные удаленные системы, обеспечивающие услуги проверки состояния) обычно доверяют исполнение заданных правил состояния, поэтому он должен быть защищен. Важно обеспечить для серверов NEA надежную защиту от различных атак со стороны сети и конечных точек.

Хотя приходится в той или иной степени доверять работе сервера NEA, нужна строгая защита, анализ и мониторинг сети и внутренних процессов сервера. Сетевые коммуникации могут быть подвержены таким атакам на предоставление политики из систем управления правилами, а также базовые протоколы защиты и управления сетью. Примерами защиты внутренних процессов могут служить защита от вредоносных программ на сервере NEA, защита внутренней логики сервера, а также хранилища данных (особенно в части, способной влиять на принимаемые решения и их исполнение). Сервер NEA должен доверять базовым протоколам NEA и сетевым протоколам нижележащих уровней в части корректного поведения и надлежащей защиты обмена сообщениями с конечными точками. Эталонная модель NEA не пытается решать вопросы защиты целостности операционной системы и других программ, поддерживающих работу сервера NEA.

Интересным примером является физическое разделение сервера NEA между разными системами. Это может происходить в тех случаях, когда валидатор (или используемый им удаленный сервер) размещается отдельно от серверного брокера. Точно так же серверный брокер может быть физически отделен от сервера транспорта. При наличии такого физического разделения коммуникации между удаленными компонентами сервера NEA должны гарантировать устойчивость сессий PB и обмена сообщениями PA к активным и пассивным атакам, в частности от перехвата, поддержки и повторного использования. Аналогично, для валидаторов может быть желательно минимизировать свое доверие к серверному брокеру помимо его способности должным образом передавать и доставлять сообщения PA. Валидаторы могут реализовать сквозную защиту PA с проверкой подлинности, целостности и конфиденциальности обмена сообщениями PA. При использовании защиты PA каждый валидатор должен иметь возможность доверять целостности и (возможно) конфиденциальности своих правил привязки доверия.

8.2. Механизмы защиты на разных уровнях

Неотъемлемой частью требований является стремление к тому, чтобы все протоколы-кандидаты для NEA в эталонно модели были способны обеспечить механизмы строгой защиты, требуемые конкретным развертыванием. В некоторых случаях может показаться, что эти механизмы дублируют друг друга. Такие очевидные наложения могут служить для обеспечения более эшелонированной защиты. Однако многоуровневая структура протоколов позволяет реализовать несколько различающиеся возможности защиты и уровни детализации.

Например, разработчик может шифровать трафик на уровне PT для защиты от некоторых форм анализа или перехвата. Дополнительно могут также шифроваться некоторые сообщения, содержащие оценку конечных точек, для обеспечения сквозной защиты конфиденциальности соответствующих валидаторов. В частности, это может быть желательно при размещении валидаторов отдельно от сервера NEA, когда информация передается через дополнительные сегменты сети, а также для обеспечения валидаторам возможности проверить подлинность сборщика состояний (и наоборот).

Разные варианты и среды применения технологий NEA будут вероятно влиять на выбор механизмов защиты. Целью требований NEA является поощрение выбора технологий и протоколов, способных обеспечить требуемый уровень защиты для самых разных вариантов оценки состояния.

8.3. Классы атак

Возможно множество разных атак для протоколов и технологий оценки NEA. В этом параграфе не приводится полного анализа безопасности, но рассмотрено несколько типов атак, которые повлияли на выбор требований и должны учитываться при развертывании путем выбора подходящих механизмов защиты в рамках эталонной модели NEA.

Как уже говорилось, имеется множество защитных механизмов, включенных в требования для протоколов-кандидатов в NEA. Различные среды и варианты применения могут вынудить разработчиков к отказу от использования некоторых механизмов, однако это следует делать с осознанием того, что отказ может открывать уязвимость для некоторых типов атак. Как всегда, следует учитывать баланс между риском, производительностью, удобством использования, управляемостью и другими факторами.

Ниже описаны типы атак, применимых к сетевым протоколам, которые определены в эталонной модели. Эти атаки следует учитывать при разработке.

8.3.1. Перехват с участием человека (MITM)

MITM16-атаки на сетевой протокол возникают в тех случаях, когда посторонние могут подключиться к сетевой среде между отправителем и получателем, перехватывая и изменяя трафик между ними. Например, зараженная вредоносным кодом система может подключиться к сети и повторно использовать пакеты оценки состояния, перехваченные от чистой системы, подключающейся к сети. Это может произойти, когда система включается в диалог и выступает в качестве активного посредника в диалоге сообщений. Воздействие MITM-атак можно предотвратить или ослабить путем выбора подходящих методов защиты протоколов.

Например, требования для PT поддерживать взаимную аутентификацию до начала диалога с конечной точкой не позволит злоумышленнику незаметно включиться в качестве активного участника (прокси), если у него нет учетных данных участников диалога, позволяющих представиться легитимным участником. Многократно используемые учетные данные не следует раскрывать в сети, чтобы организаторы MITM-атак не могли ими воспользоваться для обмана. Требование к PT обеспечивать защиту конфиденциальности (шифрование) вместе с упомянутой выше проверкой подлинности предотвращает пассивные MITM-атаки за счет перехвата и сохранения значений проверки состояния для последующего использования. Требование к PT в части предотвращения повторного использования (replay) предотвращает пассивные MITM-атаки путем организации новых сессий (или захвата имеющейся) и использования ранее перехваченного обмена сообщениями.

С помощью активной MITM-атаки злоумышленник может прикинуться «чистой» конечной точкой и представить ее данные оценки состояния серверу NEA. Например, злоумышленник может подключиться к серверу NEA и корректно представиться ему, а когда сервер запросит данные состояния, злоумышленник может запросить эти данные у чистой конечной точки. Если такая точка доверяет атакующему в плане запроса переоценки и готова поделиться запрошенными данными, злоумышленник может получить требуемую оценку состояния и передать ее серверу NEA. Для предотвращения этой формы MITM-атак протоколам NEA следует обеспечивать строгую (криптографическую) привязку данных оценки состояния к аутентифицированной сессии с сервером NEA, чтобы сервер знал, что сведения получены от проверенной конечной точки. Такая строгая привязка вполне возможна и рабочей группе NEA следует предпочитать ее.

8.3.2. Изменение сообщений

Без защиты целостности сообщений злоумышленники, способные перехватывать сообщения, смогут менять их содержимое и вынуждать к принятию некорректных решений. Например, атакующий может изменить атрибуты оценки состояния, указав в них некорректные значения, что не позволит соответствующей требованиям системе подключиться к сети. Если сервер NEA не сможет обнаружить такую подмену, атакующему удастся заблокировать доступ в сеть большому числу «чистых» систем. И наоборот, злоумышленник может обеспечить подключение к сети системы, зараженной вредоносными программами, изменяя передаваемые атрибуты оценки состояния для сокрытия вредоносных программ от валидаторов. Злоумышленник может также заразить вредоносными программами «чистые» системы путем передачи инструкций по установке вредоносного кода или отключению механизмов защиты.

Для защиты от таких атак в PT включено требование строгой защиты целостности (например, с помощью защищенных хэш-значений, таких как HMAC17 [HMAC]), чтобы любое изменение сообщения можно было заметить. В PA включено аналогичное требование для обеспечения сквозной защиты целостности атрибутов, расширяющей защиту на весь путь до валидаторов даже при их размещении отдельно от серверов NEA.

Важно применять в схемах защиты целостности свежую секретную информацию (неизвестную злоумышленникам), которая привязана к аутентифицированной сессии. Это может быть, например, HMAC с использованием производного свежего секрета, связанного с сессией. Включение информации о свежести позволяет участникам защититься от некоторых атак с повтором сообщений, использующих секретную информацию из прежних сессий.

8.3.3. Повторное использование сообщений или кража атрибутов

Злоумышленник может прослушивать сеть, записывать сообщения или атрибуты от соответствующих правилам конечных точек для последующего использования с тем же сервером NEA или просто «инвентаризации» программ на других системах с целью поиска уязвимостей в них. Сервер NEA должен быть способен обнаружить попытки повторного использования данных состояния и/или модель должна обеспечивать защиту такой информации от перехвата. Поэтому протокол PT должне защищать конфиденциальность и предотвращать повторное использование.

Криптографическая защита от раскрытия сообщений PT, PB, PA не позволяет при пассивной атаке видеть содержимое сообщений, а также препятствует их последующему повторному использованию. Однако активный атакующий может повторно использовать шифрованное сообщение, если оно не связано надежно с создавшей его стороной или сеансом обмена. Привязка обмена зашифрованными сообщениями к проверке подлинности или использование свежей информации в каждой сессии и обмена ключами предотвращает возможность повторного использования сообщений.

8.3.4. Другие типы атак

В этом параграфе не представлен полный список возможных атак для эталонной модели NEA. Некоторые типы атак будет проще понять и проанализировать после того, как рабочая группа NEA выпустит спецификации выбранных технологий и протоколов для применения в NEA. Одним из таких типов являются DoS-атаки. В данный момент не имеет смысла пытаться определить все возможные воздействия на протоколы NEA, поэтому такой анализ следует включать в раздел «Вопросы безопасности» выбираемых протоколов NEA.

Важно обеспечить устойчивость сервера NEA к DoS-атакам, поскольку такие атаки могут воздействовать на большое число конечных точек, желающих подключиться или остаться в сети. Эталонная модель NEA предполагает, что протокол PT будет обеспечивать ту или иную степень устойчивости к DoS-атакам, а протоколы PA и PB будут опираться на нее и использовать свою защиту. Для снижения фронта возможных атак неуполномоченных сторон предполагается использованием серверами NEA протоколов PT с упреждающей взаимной аутентификацией запрашивающих конечных точек как одного из механизмов фильтрации атак.

Для происходящих после проверки подлинности атак известно по меньшей мере то, что их источники владеют действующими свидетельствами и могут быть привлечены к ответственности. Точно так же протоколам NEA следует обеспечивать строгую защиту от повторного использования для предотвращения DoS-атак на основе таких сессий и сообщений. Оценки соответствия следует строго привязывать к транспортной аутентификации, чтобы гарантировать происхождение данных оценки от полномочной стороны. Следует применять криптографические механизмы и иные ресурсоемкие средства с осторожностью, пока не будет подтверждена достоверность запроса. Эти и другие атаки на протоколы и ресурсы можно будет оценить точнее после выбора технологий NEA и применяемой ими криптографии.

9. Приватность

Несмотря на многочисленные преимущества применения технологий NEA для организаций и сетевых операторов, владеющих сетями, которые предоставляют услуги конечным точкам, эти же технологии могут быть использованы для злоупотреблений и вторжения в частную жизнь в случаях неподобающего применения. В этом разделе рассматриваются несколько возможных проблем нарушения приватности в результате развертывания технологии и даны некоторые рекомендации для разработчиков.

Технология NEA позволяет видеть конфигурацию конечной точки из сети. Такая «прозрачность» позволяет сети учитывать надежность защитных механизмов конечной точки при решении вопроса о ее доступе к сетевым ресурсам. Однако это можно использовать также для обеспечения ограничительных правил в ущерб пользователям, ограничивая им выбор программ или пытаясь изучить прошлое и настоящее использование конечной точки.

Область действия рабочей группы NEA была ограничена спецификацией протоколов, нацеленных на варианты использования, где конечные точки и сеть принадлежат одной организации или владельцы конечных точек четко указали согласие с раскрытием информации владельцу сети. Это знакомая модель работы для правительственных организаций, учреждений и многочисленных предприятий, предоставляющих оборудование (конечные точки) для выполнения работы своим сотрудникам. В большинстве этих случаев конечная точка приобретается организацией и принадлежит ей, которое часто оставляет за собой право аудита конечных точек и указания правил использования этих устройств. Технологии NEA позволяют автоматизировать проверку содержимого конечной точки и эти данные могут быть привязаны к механизмам управления доступом в сеть для ограничения использования конечной точки в соответствии правилами соответствия.

В таких средах уровень защиты приватности сотрудников может быть существенно снижен локальными правилами и обычаями. Однако в ситуациях, когда конечная точка принадлежит пользователю или местное законодательство защищает права пользователей даже при использовании чужих конечных точек, важно, чтобы реализация NEA позволяла пользователям контролировать распространение данных конечной точки по сети. Такие меры контроля, организованные пользователем могут блокировать или ограничивать доступ к некоторым ресурсам сети или защищенным ресурсам, но это должно быть выбором пользователя.

9.1. Вопросы реализации

Рабочая группа NEA не задает стандарты содержимого правил для клиентов NEA и не определяет требований к аспектам реализации сверх сетевых протоколов, однако приведенные ниже рекомендации помогут реализовать сохраняющие приватность системы для более широкого использования, чем рассмотренная выше корпоративная реализация.

Реализациям клиентов NEA рекомендуется предоставлять пользователю возможность согласиться с политикой подключения до предоставления в сеть данных с оценкой состояния конечной точки. Механизм согласия следует делать селективным для каждого пользователя и сервера NEA, чтобы пользователь мог контролировать, какие сети могут получить доступ к информации о его системе. Для сетей, которым открыт доступ к конечной точке, пользователю следует предоставить возможность задать ограничения для раскрываемых данных и атрибутов. Реализациям валидаторов не рекомендуется использовать принятое по умолчанию поведение на основе шаблонных запросов, которые могут приводить к избыточному раскрытию информации (9.2. Минимизация раскрытия атрибутов). Вместо этого валидаторам рекомендуется по умолчанию запрашивать лишь конкретные атрибуты, требуемые для оценки системы.

Запросы атрибутов, которые не разрешены явно (или запрещены) для передачи в сеть, должны приводить к уведомлению пользователя и/или записи в системный журнал, чтобы пользователь мог оценить, делает ли служба что-либо нежелательное т хочет ли он делиться запрашиваемой информацией через сеть для получения доступа. В некоторых решениях могут применяться (на основе правил) приглашения пользователям на предоставление запрашиваемой сервером информации для оценки состояния конечной точки (с описанием этих данных) еще до отправки серверу NEA.

Предполагается, что владелец конечной точки имеет возможность задать правила раскрытия информации, которые могут переопределять или изменять политику пользователя в части раскрытия атрибутов в сеть. Если политика раскрытия информации от владельца позволяет передать больше информации, нежели политика пользователя, реализации следует обеспечивать механизм обратной связи, позволяющий пользователю понять ситуацию и принять решение об использовании конечной точки в таких обстоятельствах.

В таких системах важно обеспечить для пользовательского интерфейса управления политикой простоту понимания и четкость формулировок в правилах раскрытия информации, включая учет политики владельца конечной точки. Пользователь должен быть в состоянии понять, какое состояние приемлемо для сети и какое влияние может иметь раскрытие этих данных. Для уменьшения списка перечисляемых ограничений следует использовать по умолчанию консервативную политику раскрытия, такую как «запрещено раскрытие чего-либо, не разрешенного явно». Это позволит избежать непреднамеренной утечки информации.

Реализациям серверов NEA следует предоставлять новым абонентам (пользователям конечных точек) заявление о раскрытии информации, в котором четко указаны:

  • требуемая для доступа в сеть информация;

  • использование и защита предоставленных данных;

  • применимые локальные правила защиты приватности.

Эта информация позволит абонентам принять решение о приемлемости раскрытия запрашиваемой информации с учетом местных законов и обычаев.

9.2. Минимизация раскрытия атрибутов

Одним из важных вопросов при разработке эталонной модели и протоколов NEA является предоставление конечным точкам возможности минимального раскрытия информации, требуемой в соответствии с политикой сети. Можно рассмотреть несколько моделей организации набора раскрываемых атрибутов, каждая из которых имеет свои преимущества и недостатки в части приватности пользователей, разработчикам следует принимать их во внимание. В этом параграфе кратко описаны три возможных модели раскрытия атрибутов в NEA и некоторые последствия такого раскрытия для приватности в рамках каждой модели.

Первая модель проста в реализации и развертывании, но в ней есть проблемы конфиденциальности и могут также возникать проблемы с задержками и расширяемостью. В этой модели по умолчанию локальная политика диктует отправку всех известных атрибутов NEA Posture при оценке конечной точки. Это может упростить развертывание, но ведет к передаче большого объема информации, которая может быть не связана с оценкой состояния защиты в системе и даже раскрывать те или иные приватные сведения. Например, нужно ли предприятию при оценке защищенности системы знать об использовании в системе Firefox, а не иного браузера?

Во второй модели используется предоставление всем конечным точкам политики раскрытия информации по отдельному каналу до подключения к сети. Эта модель может включать заданную предприятием политику, в соответствии с которой нужно предоставить определенный набор атрибутов в процессе обмена NEA. Правила конфиденциальности конечной точки могут фильтровать этот список атрибутов, но отказ от предоставления того или иного атрибута может воспрепятствовать получению конечной точкой доступа в сеть или к определенным ресурсам. Эта модель упрощает сетевой обмен, поскольку конечные точки всегда передают отфильтрованный набор атрибутов при подключении к сети. Однако для реализации модели требуется дополнительный протокол управления без использования сети, позволяющий организовать и поддерживать правила раскрытия информации NEA для всех систем.

В третьей модели исключена необходимость предварительной передачи политики раскрытия за счет использования серверами NEA специальных запросов с указанием требуемых атрибутов. Это напоминает политику, используемую в процессе обмена сообщениями NEA, которой достаточно просто управлять. Модель позволяет серверу NEA итеративно запрашивать атрибуты на основе значений предыдущих атрибутов. Отметим, что даже в этой модели от протоколов NEA не ожидается поддержки языка запросов общего назначения. Она скорее позволяет серверу NEA запрашивать конкретные атрибуты по заданному политикой списку. Например, предприятие может запрашивать версию ОС в первом сообщении диалога и после получения ответа об использовании ОС Linux запрашивать один набор атрибутов, в для Windows — другой. Предполагается, что это позволит минимизировать набор передаваемых через сеть атрибутов, если оценивается достаточно сложная система (например, определяется набор установленных обновлений ОС).

В каждой модели пользователь может создать набор правил фильтрации, применяемых клиентом NEA для предотвращения раскрытия атрибутов, которые являются приватными по своей природе или не относятся к конкретной сети. Такие фильтры будут защищать приватность пользователя, но могут приводить к ограничению доступа в сети или к определенным ресурсам.

10. Литература

10.1. Нормативные документы

[UTF8] Yergeau, F., «UTF-8, a transformation format of ISO 10646», STD 63, RFC 3629, November 2003.

10.2. Дополнительная литература

[802.1X] IEEE Standards for Local and Metropolitan Area Networks: Port based Network Access Control, IEEE Std 802.1X-2001, June 2001.

[CNAC] Cisco, Cisco’s Network Admission Control Main Web Site, http://www.cisco.com/go/nac

[EAP] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. Levkowetz, Ed., «Extensible Authentication Protocol (EAP)», RFC 3748, June 2004.

[HMAC] Krawczyk, H., Bellare, M., and R. Canetti, «HMAC: Keyed-Hashing for Message Authentication», RFC 2104, February 1997.

[IPSEC] Kent, S. and K. Seo, «Security Architecture for the Internet Protocol», RFC 4301, December 2005.

[NAP] Microsoft, Network Access Protection Main Web Site, http://www.microsoft.com/nap

[RADIUS] Rigney, C., Willens, S., Rubens, A., and W. Simpson, «Remote Authentication Dial In User Service (RADIUS)», RFC 2865, June 2000.

[TLS] Dierks, T. and E. Rescorla, «The Transport Layer Security (TLS) Protocol Version 1.1», RFC 4346, April 2006.

[TCG] Trusted Computing Group, Main TCG Web Site, http://www.trustedcomputinggroup.org/

[TNC] Trusted Computing Group, Trusted Network Connect Main Web Site, https://www.trustedcomputinggroup.org/groups/network/

11. Благодарности

Авторы документа благодарят членов рабочей группы NEA, внесших свой вклад в подготовку предшествующих документов в части идентификации проблемы и разработки требований, оказавших влияние на данную спецификацию, Kevin Amorin, Parvez Anandam, Diana Arroyo, Uri Blumenthal, Alan DeKok, Lauren Giroux, Steve Hanna, Thomas Hardjono, Tim Polk, Ravi Sahita, Joe Salowey, Chris Salter, Mauricio Sanchez, Yaron Sheffer, Jeff Six, Susan Thompson, Gary Tomlinson, John Vollbrecht, Nancy Winget, Han Yin, Hao Zhou.

Адреса авторов

Paul Sangster

Symantec Corporation

6825 Citrine Dr

Carlsbad, CA 92009 USA

Phone: +1 760 438-5656

EMail: Paul_Sangster@symantec.com

Hormuzd Khosravi

Intel

2111 NE 25th Avenue

Hillsboro, OR 97124 USA

Phone: +1 503 264 0334

EMail: hormuzd.m.khosravi@intel.com

Mahalingam Mani

Avaya Inc.

1033 McCarthy Blvd.

Milpitas, CA 95035 USA

Phone: +1 408 321-4840

EMail: mmani@avaya.com

Kaushik Narayan

Cisco Systems Inc.

10 West Tasman Drive

San Jose, CA 95134

Phone: +1 408 526-8168

EMail: kaushik@cisco.com

Joseph Tardo

Nevis Networks

295 N. Bernardo Ave., Suite 100

Mountain View, CA 94043 USA

EMail: joseph.tardo@nevisnetworks.com

Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


1Network Endpoint Assessment — оценка оконечных точек.

2В оригинале используется термин «posture». Прим. перев.

3Posture Attribute.

4Posture Broker.

5Extensible Authentication Protocol — расширяемый протокол аутентификации.

6Transport Layer Security — защита на транспортном уровне.

7Intrusion Detection System — система детектирования вторжений.

8Secure Socket Layer — уровень защищенного сокета.

9Posture Transport.

10Posture Attribute Protocol.

11Posture Broker Protocol.

12Internet Key Exchange Protocol version 2 — протокол обмена ключами в Internet, версия 2.

13Lightweight Directory Access Protocol — облегченный протокол доступа к службам каталогов.

14Intrusion Detection/Prevention System — система обнаружения/предотвращения вторжений.

15Denial of service — отказ в обслуживании.

16Man-in-the-Middle.

17Hashed Message Authentication Code — хэшированный код проверки подлинности сообщения.

Рубрика: RFC | Комментарии к записи RFC 5209 Network Endpoint Assessment (NEA): Overview and Requirements отключены

RFC 5226 Guidelines for Writing an IANA Considerations Section in RFCs

Network Working Group                                      T. Narten
Request for Comments: 5226                                       IBM
BCP: 26                                                H. Alvestrand
Obsoletes: 2434                                               Google
Category: Best Current Practice                             May 2008

 

Рекомендации по написанию раздела «Взаимодействие с IANA» в RFC

Guidelines for Writing an IANA Considerations Section in RFCs

PDF

Статус документа

Этот документ относится к категории обмена опытом (Internet Best Current Practices) в сообществе Internet и служит приглашением к дискуссии в целях совершенствования. Документ может распространяться свободно.

Аннотация

Многие протоколы используют идентификаторы, представляющие собой константы и другие общеизвестные (well-known) значения. Однако после определения протокола и начала его развертывания может потребоваться выделение новых значений (например, для нового типа опций DHCP, нового алгоритма шифрования или аутентификации для IPSec). Для того, чтобы такие параметры имели согласованные значения и интерпретацию в разных реализациях протоколов, требуется централизованное управление выделением значений. Для протоколов IETF функции управления возложены на агентство IANA1.

Для того, чтобы агентство IANA могло расчетливо распоряжаться пространством имен, требуется руководство описывающее условия выделения новых значений. Если предполагается, что IANA управляет пространством имен, агентству нужно дать краткие и четкие инструкции для выполнения этой задачи. В данном документе обсуждаются вопросы, которые следует рассматривать при формулировке правил распределения значений в пространствах имен и даются рекомендации авторам документов по включению в их работы текстов для удовлетворения требований IANA.

Этот документ служит заменой RFC 2434.

1. Введение

Многие протоколы используют поля, содержащие константы и другие общеизвестные значения (например, поле Protocol в заголовке IP [IP] или тип MIME в почтовых сообщениях [MIME-REG]). Однако после определения протокола и начала его развертывания может потребоваться выделение новых значений (например, для нового типа опций DHCP [DHCP-OPTIONS], нового алгоритма шифрования или аутентификации для IPSec [IPSEC]). Для того, чтобы такие параметры имели согласованные значения и интерпретацию в разных реализациях протоколов, требуется централизованное управление выделением значений. Для протоколов IETF роль такого агентства выполняет IANA [IANA-MOU].

В этом документе мы будем называть наборы возможных значений таких полей пространством имен (name space); реальное содержимое этого пространства может включать строки текста, числа или иные типы значений. Выделенные в пространстве имен конкретные значения для решения определенных задач называется присвоенными номерами (assigned number, иногда code point, protocol constant или protocol parameter). Каждое присвоение значения в пространстве имен называется регистрацией.

Для того, чтобы агентство IANA могло расчетливо распоряжаться пространством имен, требуется руководство описывающее условия, при которых следует выделять новые значения, или когда (и как) могут изменяться существующие значения. В этом документе содержатся рекомендации для авторов по включению в документы четких рекомендация для IANA и рассматриваются вопросы, которые следует принимать во внимание при формулировке политики присвоения значений в пространстве имен.

Не все пространства имен требуют централизованного администрирования. В некоторых случаях полномочия по управлению пространством имен могут быть переданы так, чтобы дальнейшее выделение имен происходило независимо без дополнительной (централизованной) координации. Например, в системе доменных имен (DNS2) IANA имеет дело только с распределением имен доменов верхнего уровня, а все субдомены управляются организациями, которым переданы соответствующие полномочия. Другим примером могут служить идентификаторы объектов (OID), определенные ITU, полномочия по выделению которых также переданы другим организациям [ASSIGNED]. Когда полномочия по управлению пространством имен передаются другим организациям, IANA занимается только вопросами распределения в тех частях, для которых полномочия переданы этому агентству.

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не нужно (SHALL NOT), следует (SHOULD), не следует (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе должны интерпретироваться в соответствии с RFC 2119 [KEYWORDS]. В данном случае спецификация требований, определенная в RFC 2119, относится к обработке протоколов, которые подаются на стандартизацию IETF.

2. Зачем может потребоваться управление пространствами имен

Одним из вопросов управления пространством имен является размер этого пространства. Если пространство сильно ограничено в размерах, распределение нужно вести очень аккуратно, чтобы не возникло проблемы нехватки пространства. Если пространство имен не сильно ограничено в размерах, проблемы нехватки может не возникать совсем. Однако даже при неограниченном пространстве имен обычно желательно проводить хотя бы минимальный обзор перед выделением имен, чтобы:

  • предотвратить захват или необоснованный расход значений; например, если пространство состоит из текстовых строк, может оказаться желательным предотвращение получения одним лицом больших массивов строк, содержащих привлекательные имена (например, названия существующих компаний);

  • проверить осмысленность и обоснованность запроса; опыт показывает, что даже минимальный обзор со стороны специалистов позволяет предотвратить выделение значений по некорректно сформированным и не обоснованным реальной потребностью запросам (например, наличие выделенных ранее значений для существующего эквивалентного сервиса, который является эквивалентом).

Вторым вопросом является рассмотрение целесообразности передачи полномочий по распределению пространства имен. Такую передачу полномочий по возможности следует использовать для снижения нагрузки на IANA, связанной с распределением значений.

Третьим и, возможно, самым важным вопросом является потенциальное влияние на совместимость нерассмотренных расширений. Предлагаемые расширения протоколов обычно получают преимущества от публичного рассмотрения и такое рассмотрение зачастую позволяет предотвратить в будущем проблемы взаимодействия [PROTOCOL-EXT].

Когда пространство имен не имеет существенных ограничений и не возникает потенциальных проблем совместимости, выделение значений может без опаски выполнять кто угодно без предварительного обзора. В таких случаях значения может распределять непосредственно IANA на основе конкретных инструкций о типах запросов, для которых можно выделять значения, и информации, которая должна быть включена в корректный запрос на выделение значений.

3. Назначенные эксперты

3.1. Мотивация для экспертов

Следует отметить, что IANA не создает и не определяет самих правил распределения — агентство лишь следует правилам, определенным другими людьми и опубликованным в RFC. IANA нужно дать рекомендации, которые позволят принимать решения о выделении с минимальной субъективностью без наличия технического опыта в части протоколов, которые будут использовать реестр.

Во многих случаях уместен некий обзор предполагаемого распределения и возникает вопрос, кто должен делать такой обзор и что должно являться его целью. Можно ожидать, что рабочая группа IETF (WG3) хорошо представляет пространство имен и следует консультироваться с такой группой. На практике, однако, рабочие группы зачастую распускаются и поэтому не могут рассматриваться в качестве постоянных консультантов. Возможно также создание пространств имен при подаче документов, созданных без организации рабочих групп (индивидуально).

Одним из способов создания перспективного обзора пространства имен является подача запрашивающим документа для публикации в качестве RFC. Это будет гарантировать публичный обзор и постоянную доступность спецификации, а также обеспечит некоторое ее рецензирование до публикации и выделения запрашиваемых значений. Это обеспечивает преимущественный способ обеспечить просмотр, что особенно важно в тех случаях, когда могут возникать проблемы взаимодействия. Например, во многих случаях не просто выделяются значения, но и включены элементы спецификации протокола. Новая опция может определять поля, которые нужно разбирать и предпринимать соответствующие действия, которые (если они описаны недостаточно хорошо) могут не согласовываться с архитектурой других опций или работающими с ними базовыми протоколами.

В некоторых случаях публикация RFC для выделения значений является излишней. Тем не менее, в общем случае будет полезно (а иногда необходимо) обсудить предлагаемые дополнения в почтовой конференции (mailing list), выделенной для этих целей (например, ietf-types@iana.org для типов media), или более общей почтовой конференции (например, в действующей или бывшей рабочей группе IETF). Такие почтовые конференции обеспечивают для новых регистраций возможность публичного обзора до реального выделения значений и позволяет заинтересованным лицам понять, что в действительности следует регистрировать.

Хотя обсуждение в почтовой конференции может обеспечить полезную техническую информацию, мнения участников могут существенно расходиться и дискуссия может продолжаться в течение продолжительного времени без результатов. Кроме того, IANA не может принимать участие во всех подобных конференциях и поэтому, не может определить наличие согласия среди участников дискуссии. Следовательно, IANA будет опираться на мнение эксперта по соответствующему вопросу. Назначенный эксперт — это конкретный человек, который отвечает за подобающую оценку и подготовку рекомендации для IANA.

Следует отметить, что ключевым мотивом использования назначенных экспертов для IETF является предоставление IANA специалистов, которым могут быть переданы полномочия по оценке. IANA пересылает запросы на выделение экспертам для оценки и эксперт (после проведения оценки) информирует IANA, следует или не следует выполнять запрошенное выделение или регистрацию.

3.2. Роль назначенного эксперта

Назначенный эксперт отвечает за инициирование и координацию подходящего обзора запроса на выделение. Широта обзора определяется ситуацией и мнением назначенного эксперта. Обзор может включать консультации с техническими специалистами, обсуждение в публичном списке рассылки, консультации с рабочей группой (или обсуждение в списке рассылки группы, если она уже распущена). В идеальном случае назначенный эксперт следует конкретным критериям , документированным для протокола, который создает или будет использовать пространство имен. Примеры таких критериев можно найти в разделах «Согласование с IANA» (IANA Considerations) [RFC3748] и [RFC3575].

Предполагается, что назначенный эксперт способен обосновать свое решение перед IETF и процесс оценки не будет скрытым и дающим экспертам неограниченные полномочия. Предполагается, что эксперты будут использовать подходящие документированные процедуры рецензирования или голосования, соответствующие общепринятым нормам (например, указанным в параграфе 3.3).

В параграфе 5.2 более подробно рассматриваются вопросы, связанные со спорами и апелляциями.

Эксперты назначаются IESG (обычно по рекомендации имеющего отношения к делу руководителя направления4). Они обычно известны к тому моменту, когда документ о создании или изменении пространства имен одобрен IESG, но изначально назначенный эксперт может оказаться недоступным в нужный момент и IESG при необходимости будет находить замену ему.

Для некоторых реестров полезно назначать множество экспертов. Иногда эти эксперты будут совместно оценивать запрос, а в других случаях дополнительные эксперты будут просто резервом. При отсутствии согласия между экспертами, они отвечают за выработку единых четких рекомендация для IANA. Разрешение споров между экспертами неприемлемо для IANA. В экстремальных (тупиковых) ситуациях для решения проблемы могут потребоваться действия IESG.

Для реестров, где запросы оцениваются группой экспертов, в таких групп следует иметь руководителя, отвечающего за распределение запросов между экспертами и рецензирование. В некоторых случаях группа может включать основных и резервных экспертов и резервные эксперты подключаются к обработке запросов при недоступности основных. В других случаях IANA может распределять запросы между отдельными людьми последовательно или в произвольном порядке. В тех случаях, когда IANA получает противоречащие друг другу рецензии от экспертов из группы, руководитель этой группы отвечает за решение этой проблемы и предоставление IANA четких инструкций.

Поскольку экспертов назначает IESG, они могут быть отозваны IESG.

3.3. Рецензии назначенных экспертов

За восемь лет с момента публикации и вступления в силу RFC 2434 накопился рад наблюдений:

  • Назначенный эксперт должен реагировать на запросы своевременно — обычно в течение недели для простых запросов и нескольких недель в более сложных случаях. Необоснованные задержки могут вызывать серьезные проблемы у запрашивающей стороны, например, когда запрашиваемые значения нужны для поставки продукции. Это не означает, что рецензирование должно выполняться в указанные компанией сроки, но оно должно начинаться своевременно, а запрашивающая сторона и IANA должны иметь представление о сроках завершения рецензирования.

  • Если назначенный эксперт не отвечает на запрос IANA в разумные сроки готовой рецензией или разумным объяснением причин задержки (например, сложность запроса) и это повторяется неоднократно, агентство IANA должно обозначить эту проблему в IESG. По причине проблем, вызываемых задержкой оценки и выделения значений, IESG следует принять адекватные меры, обеспечивающие гарантии понимания и принятия экспертом своей ответственности, или назначить другого эксперта.

  • Эксперт не обязан сам оценивать и принимать решения по всем запросам — он отвечает за их обработку и может при необходимости привлекать других людей. В тех случаях, когда запрос отвергается и отказ представляется спорным, эксперту следует заручиться поддержкой других специалистов. Это означает, что эксперт должен быть способен обосновать решение перед сообществом в целом.

В тех случаях, когда используется назначенный эксперт, но отсутствуют документированные критерии для оценки, следует выделять запрошенные значения, если нет веских причин для отказа. Причинами для отказа могут служить:

  • нехватка значений, когда остающиеся в небольшом количестве ресурсы требуют бережного распределения, или запрос большого числа значений в тех случаях, когда обычно запрашивается одно значение;

  • документация не позволяет должным образом оценить или обеспечить функциональную совместимость;

  • значения требуются для расширения протокола, но это расширение не согласуется с документированной (или понятной всем) архитектурой расширяемого базового протокола и будет мешать работе протокола при широком распространении; несоответствия не являются непреднамеренными (на уровне личных предпочтений), и оказывают существенное влияние на безопасность, предполагают изменение семантики существующих типов сообщений или операций, требуют внесения необоснованных изменений в развернутые системы (по сравнению с другими путями достижения такого же результата) и т. п.;

  • расширения будут вызывать проблемы в работе развернутых систем;

  • расширение будет конфликтовать с другим расширением, которое активно разрабатывается IETF, и его принятие принесет больше вреда, чем пользы в плане функциональной совместимости.

4. Создание реестра

Создание реестра включает описание создаваемых пространств имен, выделяемые изначально значения (если это приемлемо) и рекомендации для последующего распределения.

После создания реестра IANA фиксирует все выделенные значения. Ниже приведены возможные значения статуса для отдельных выделенных значений (или диапазонов).

Private Use (приватное использование)

Только для приватного использования (без распределения), как описано в параграфе 4.1.

Experimental (для экспериментов)

Доступно для экспериментальных приложений, как описано в [EXPERIMENTATION]. IANA не фиксирует выделение значений для каких-либо конкретных приложений.

Unassigned (не распределено)

Не выделено и доступно для распределения в соответствии с документированными процедурами.

Reserved (резерв)

Не распределено. Резервные значения сохраняются для специальных целей типа расширения пространства имен по мере его исчерпания. Резервные значения недоступны для обычного распределения.

4.1. Определения общеизвестных правил IANA

Ниже приведены определения некоторых процедур (правил), используемых в настоящее время. Эти процедуры включают типовые правила, которые используются для описания процессов выделения новых значений в пространствах имен. Использование приведенных здесь терминов в документах не является обязательным — реальные требование заключается в том, чтобы инструкции для IANA были четкими и однозначными. Однако по возможности рекомендуется использовать приведенные здесь термины, поскольку их смысл понятен большинству людей.

Private Use (приватное использование)

Только для частного или локального использования в соответствии с потребностями и целями локального сайта. Не предпринимается попыток предотвращения использования разными сайтами одних и тех же значений с разными (и несовместимыми) целями. Для IANA нет необходимости рассматривать такие назначения и обычно они не важны зрения взаимодействия. Сайт самостоятельно отвечает за использование значений из диапазона Private Use и предотвращение конфликтов (в пределах своей зоны влияния).

Примеры: специфические для сайта опции DHCP [DHCP-IANA], реестр Fibre Channel Port Type [RFC4044], типы обмена в заголовках IKEv2 [RFC4306].

Experimental Use (экспериментальное использование)

Похожи на значения для приватного или локального применения, но предназначены для выполнения экспериментов. Более подробную информацию можно найти в [EXPERIMENTATION].

Примеры: значения для экспериментов в заголовках IPv4, IPv6, ICMPv4, ICMPv6, UDP и TCP [RFC4727].

Hierarchical Allocation (иерархическое распределение)

Уполномоченные менеджеры могут выделять значения в пределах находящейся под их контролем области пространства имен. IANA контролирует верхний уровень пространства имен в соответствии с одним из своих правил.

Примеры: имена DNS, идентификаторы объектов (Object Identifier), адреса IP.

First Come First Served (распределение в порядке очередности запросов)

Кто угодно может получить нужные значения в порядке подачи запросов. Здесь не требуется какого-либо рецензирования, за исключением проверки формальной корректности запроса и отсутствия дублирования. Запрос должен содержать минимальный объем информации, включающий сведения о контактах (в частности, адрес электронной почты) и краткое описание предполагаемого использования запрашиваемых значений. Также должна быть предоставлена дополнительная информация, специфичная для запрашиваемого типа, в соответствии с описанием пространства имен. Для чисел конкретные значения в общем случае выдает IANA, для текстовых строк запрашиваемые значения обычно указываются при запросе.

Примеры: имена механизмов SASL [RFC4422], имена механизмов LDAP, синтаксис LDAP Syntax [RFC4520].

Expert Review (Designated Expert) — рецензия экспертов (назначенный эксперт)

Требуется одобрение назначенного эксперта. Требуемую документацию и критерии рецензирования для назначенного эксперта следует задавать при создании реестра (см., например, разделы 6 и 7.2 в [RFC3748]).

Примеры: типы методов EAP [RFC3748], версии алгоритмов HTTP Digest AKA [RFC4169], схемы URI [RFC4395], типы расположения GEOPRIV [RFC4589].

Specification Required (требуется спецификация)

Значения и их трактовки должны быть документированы в постоянно и легко доступных публикациях с достаточным уровнем детализации для обеспечения совместимости независимых реализаций. Эта процедура предполагает также использование назначенных экспертов (Designated Expert), которые будут рецензировать опубликованные спецификации и оценивать их по части четкости формулировки требований к совместимости. Слова «постоянно и легко доступны» означают, что документ можно будет найти и получить в течение достаточно продолжительного срока после того, как IANA выделит запрошенные значения. Публикация RFC является идеальным способом выполнения этих требований, однако процедура Specification Required может применяться не только к документам, опубликованным в форме RFC. Предполагается, что при публикации RFC обычный процесс рецензирования обеспечит требуемый обзор совместимости, хотя назначенный эксперт может оказаться более подходящим вариантом для оценки требований по совместимости.

Примеры: идентификаторы моделей ограничения полосы TE с поддержкой Diffserv [RFC4124], идентификаторы TLS ClientCertificateType [RFC4346], идентификаторы профилей ROHC [RFC4995].

RFC Required (требуется RFC)

Достаточно публикации RFC (с подачи IETF или RFC Editor Independent [RFC3932]). Если не указано иное, достаточно RFC любого типа (например, Informational, Experimental, Standards Track и т. д.).

IETF Review (рецензирование IETF)

(В [IANA-CONSIDERATIONS] эта процедура называлась IETF Consensus). Новые значения выделяются только через RFC, прошедшие через IESG, как AD-Sponsored или IETF WG [RFC3932] [RFC3978]. Предполагается, что документ и предложенное выделение значений рассмотрено в IESG и соответствующих рабочих группах IETF (или экспертами, если нужных групп уже нет), чтобы гарантировать отсутствие негативного влияния на совместимость, а также неподобающего расширения или нарушения работы протоколов IETF.

Для обеспечения надлежащего рассмотрения сообществом такие документы проходят через IESG, как AD-sponsored (или WG) с использованием процедуры IETF Last Call.

Примеры: типы алгоритмов IPSECKEY [RFC4025], значения Accounting-Auth-Method AVP в протоколе DIAMETER [RFC4005], расширения TLS Handshake Hello [RFC4366].

Standards Action (стандартизация)

Значения выделяются только для RFC категории Standards Track, одобренных IESG.

Примеры: типы сообщений BGP [RFC4271], типы опций Mobile Node Identifier [RFC4283], типы пакетов DCCP [RFC4340].

IESG Approval (одобрение IESG)

Новые распределения могут быть одобрены IESG. Хотя здесь отсутствует требование документирования запроса в RFC, IESG во своему усмотрению время от времени запрашивает документы или другие материалы в поддержку запроса.

Процедура IESG Approval не предназначена для частого использования; более того, с момента публикации RFC 2434 эта процедура применялась достаточно редко. Ее назначение заключается скорее в обеспечении совместно с другими процедурами запасного механизма на случай невозможности своевременно воспользоваться иной процедурой или при возникновении иных сложностей. Процедура IESG Approval не предназначена для обхода общественного рассмотрения, требуемого другими процедурами, для конкретного назначения. Однако эта процедура подойдет для тех случаев, когда желательна целесообразность и имеется согласованное мнение о выделении запрошенных значений (например, согласие рабочей группы).

Ниже приведены рекомендации, предлагаемые для оценки запросов при использовании процедуры IESG Approval:

  • IESG может (и следует это делать) отвергать запросы при наличии другого пути для регистрации и отсутствии разумных причин для отказа от такого пути;

  • до удовлетворения запроса следует провести консультации с сообществом (через запрос комментариев — call for comments) с целью получения максимально полной информации о запросе.

Примеры: распределение групповых адресов IPv4 [RFC3171], значения типов и кодов IPv4 IGMP [RFC3228], значения типов и опций заголовков Mobile IPv6 Mobility [RFC3775].

Следует отметить, что зачастую имеет смысл разделение пространства имен по категориям с независимым распределением в каждой из них. Например, для многих протоколов пространство имен сейчас делится на две (или более) части, одна из которых резервируется для приватного использования и экспериментов, а остальные служат для уникального в глобальном масштабе распределения. Деление пространства на категории позволяет использовать свои правила для распределения имен из каждой категории.

Примеры: LDAP [RFC4520], PWE3 [RFC4446].

4.2. Что нужно включать в документы для создания реестра

В предшествующих параграфах был отмечен ряд вопросов, которые следует принимать во внимание при формулировке правил распределения значений из пространства имен. Формулировка политики и подготовка соответствующего документа являются задачами рабочей группы и/или автора документа. Почти для всех случаев подходит явное включение в документ раздела «Согласование с IANA» (IANA Considerations). В последующих разделах даны определения того, что требуется включить для разных типов действий IANA.

Документы, создающие новые пространства имен (или меняющие определение существующего пространства), в которых предполагается участие IANA в поддержке (например, обслуживание репозитория выделенных значений), должны включать четкие и детальные инструкции. В частности, документы должны включать:

  1. Имя реестра (субреестра), который будет создаваться и/или поддерживаться. Имя будет указываться на web-странице IANA и в будущих документах, которые будут запрашивать выделения из этого пространства. Следует указывать полное имя реестра и его сокращение (если оно имеется). Желательно, чтобы имя реестра не порождало путаницы с именами других реестров. При создании субреестров следует четко указать имя родительского реестра. При указании существующих реестров полезно привести URL с точным указанием на реестр. Однако все такие URL будут удаляться из RFC перед его публикацией. Например, документ может содержать фразу: «TO BE REMOVED: This registration should take place at the following location: http://www.iana.org/assignments/foobar-registry5».

  2. Перечень информации, которая должна быть включена в запрос на выделение значений. К такой информации может относиться рассмотрение вопросов безопасности, если они имеются.

  3. Обзор процедур6, которые будут использоваться для запросов на выделение значений в будущем.

    Если запрос следует обсудить также в конкретной почтовой конференции (например, ietf-types@iana.org для типов media), для которой следует указать почтовый адрес. Отметим однако, что при указании списка рассылки должно также указываться требование назначения эксперта (см. раздел 3).

    Если предполагается, что IANA может выделять значения без внешнего рецензирования, должно быть приведено четкое руководство, позволяющее оценить запрос с минимальной субъективностью.

  4. Размер, формат и синтаксис элементов реестра. При создании нового пространства имен/номеров авторы должны описать любые технические требования к значениям реестра (субреестра) (например, допустимые диапазоны целых чисел, ограничения на размер строк и т. п.), а также точный формат отображения значений в реестре. Для числовых значений следует указать формат представления (десятичный, шестнадцатеричный или иной). Для строк следует указывать кодировку символов (например, ASCII, UTF8 и т. п.). Авторам следует четко указать, какие поля записываются в реестр.

  5. Исходное распределение и резервирование. Следует представить четкие инструкции по идентификации выделенных исходно значений или регистраций. В дополнение к этому следует четко указать все резервируемые диапазоны (Private Use, Reserved, Unassigned и т. п.).

При описании процесса будущего распределения значений вполне уместно привести один (или несколько) примеров правил, перечисленных в параграфе 4.1, указав их имена. В действительности это полезно в тех случаях, когда примеры правил обеспечивают достаточный уровень обзора. Допустимо также цитирование одного из приведенных выше правил и включение дополнительных рекомендаций в части аспектов, которые следует принимать во внимание при рецензировании запросов. Например, для протокола RADIUS [RFC3575] задано использование назначенного эксперта и включены дополнительные критерии, которым этот эксперт должен следовать.

Например, документ может включать что-то похожее на приведенный ниже пример.

 

Тег

Имя

Размер данных

Смысл

TBD1

FooBar

N

Сервер FooBar

 

Данный документ определяет новую опцию DHCP, названную FooBar (см. раздел y) в выделением значения TBD1 из пространства DHCP Option space [будет удалено перед публикацией: http://www.iana.org/assignments/bootp-dhcp-parameters] [DHCP-OPTIONS] [DHCP-IANA].

 

Значение

Имя DHCP FooBar FooType

Определение

0

Резерв

1

Frobnitz

См. параграф y.1

2

NitzFrob

См. параграф y.2

3-254

Не распределены

255

Резерв

 

Опция FooBar также определяет 8-битовое поле FooType, для которого IANA будет создавать и поддерживать субреестр FooType values в рамках реестра опций FooBar. Начальные значения для реестра DHCP FooBar FooType приведены в таблице справа, распределение значений будет осуществляться по процедуре Expert Review [IANA-CONSIDERATIONS]. Выделение включает имя DHCP FooBar FooType и связанное с ним значение.

Примеры документов с подробными рекомендациями для IANA включают [RFC2929], [RFC3575], [RFC3968] и [RFC4520].

4.3. Обновление рекомендаций для IANA в существующих реестрах

Обновление процесса регистрации для существующего (т. е. созданного ранее) пространства имен (созданного явно или неявно) выполняется по процедурам, аналогичным тем, которые использовались при создании пространства имен. Т. е. разрабатываются документы со ссылкой на существующее пространство имен, обеспечивающие подробные рекомендации для распределения значений в каждом пространстве имен. Такие документы обычно относятся к категории BCP7 [IETF-PROCESS].

Примерами документов с обновлением рекомендаций по управлению существующими пространствами имен могут служить [RFC2929], [RFC3228] и [RFC3575].

5. Регистрация новых значений в существующем реестре

5.1. Что нужно включать в документы для регистрации новых значений

Зачастую запрашивается выделение значений из существующих (т. е., созданных в ранее опубликованных RFC) пространств имен. Требования к документированию запросов для таких случаев приведены ниже.

  • В документе должно быть четко указано пространство имен, из которого запрашиваются значения. Если регистрация осуществляется в субреестре, автору документа следует четко указать, где следует выполнять регистрацию или присвоение значений. Полезно в таких случаях использовать точное имя реестра, как оно указано на web-странице IANA (и определяющем RFC), и привести цитату из RFC, где пространство имен определено.

    Примечание 1: Нет необходимости указывать, что используется политика распределения, заданная в приведенной ссылке.

    Примечание 2: При упоминании существующего реестра полезно указание URL для точной идентификации этого реестра. Однако такие URL обычно следует удалять из RFC перед публикацией окончательного документа, поскольку URL на сайте IANA могут изменяться. В тех случаях, когда важно сохранение URL в документе, это следует делать с согласия IANA.

    Например, документ может содержать фразу «TO BE REMOVED: This registration should take place at the following location: http://www.iana.org/assignments/foobar-registry8».

  • Каждое запрашиваемое значение должно иметь уникальную ссылку. Для цифровых значений используется нотация TBD1, TBD2 и т. д. В тексте документа, вместо реально выделенного IANA значения используется обозначение TBDx. Это поможет поместить в законченный документ RFC все корректно выделенные значения, включив их в те места документа, где они ожидаются в финальной версии. Для тестовых строк можно предложить конкретное имя. IANA обычно будет выделять предложенное значение, если оно не вступает в конфликт с выделенными ранее.

  • Обычно выделяемые значения выбирает IANA, а в документах следует указывать значения TBD. Однако в некоторых случаях значения могут использоваться для тестирования предварительных реализаций. В таких случаях допускается включение текста, предлагающего конкретное значение, которое следует использовать (вместе с обоснованием выбора значений). Например, можно включить текст: «the value XXX is suggested as it is used in implementations9». Однако следует отметить, что предложенные значения не обязательно будут выделены — IANA попытается это сделать, но выделение может оказаться невозможным, если предложенные значения уже используются.

    Для некоторых реестров IANA в течение длительного срока поддерживает политику запрета выделения имен или кодов по именам организаций или связанных с тщеславием. Например, коды всегда выделяются по порядку, если нет веских причин для исключения из правила. Этот документ никоим образом не меняет эту политику и не отменяет ее применения в будущем.

     

    Значение

    Описание

    Документ

    TBD1

    Foobar

    [RFCXXXX]

     

  • В разделе «Согласование с IANA (IANA Considerations) следует указать все действия IANA со ссылками на соответствующие разделы документов, если таковые имеются. При регистрации множества значений в общем случае полезно собрать их в таблицу10. В таблице имеет смысл использовать такой же формат, который применяется на web-сайте IANA. Пример показан на врезке справа.

В качестве примера ниже приведен текст, который может быть включен в запрос номера опции DHCPv6.

IANA выделяет значение кода TBD1 для опции DNS Recursive Name Server и кода TBD2 для опции Domain Search List из пространства кодов опций DHCP, определенного в параграфе 24.3 документа RFC 3315.

5.2. Обновление регистрации

Регистрация является запросом на выделение нового значения, включающим информацию, которая нужна для оценки и документирования запроса. Даже после выделения значений некоторые типы регистраций сохраняют дополнительную информацию, которая может потребовать обновления по истечении времени. Например, типы MIME media, кодировки символов, теги языков и т. п. обычно включают существенный объем информации в дополнение к самим регистрируемым значениям. Такая информация может включать контактные данные, вопросы безопасности, указатели на обновления, ссылки на литературу и т. п. В таких случаях документ, определяющий пространство имен, должен четко указывать, кто отвечает за поддержку и обновление регистрации. В других случаях может оказаться полезным включение перечисленного ниже:

  • разрешение автору менять регистрацию с такими же ограничениями и рецензированием, ка при новой регистрации;

  • предоставление того или иного механизма для комментирования регистрации на случай, когда у кого-либо возникают существенные возражения против требований регистрации, но автор не соглашается на ее изменение;

  • указание представителя IESG, назначенного эксперта или иного лица, имеющего право замены лица, связанного с регистрацией, а также все требования или условия такой замены (это может быть существенно в тех случаях, когда требуется внести изменения, проводившее регистрацию лицо недоступно).

5.3. Переопределение регистрационных процедур

После публикации RFC 2434 опыт показал, что документирование вопросов согласования с IANA для отдельных протоколов не всегда адекватно отражает реальность после начала использования протокола. Например, многие старые протоколы маршрутизации просто не включают подробно документированных вопросов согласования с IANA. Кроме того, документы иногда документируют эти вопросы слишком строго, не позволяя даже в документах рабочих групп (при наличии согласия) получать от IANA значения кодов до реальной публикации RFC. В отдельных случаях процедуры документированы нечетко или не учитывают всех ситуаций. Для того, чтобы обеспечить возможность упреждающего выделения значений в отдельных случаях при согласии IETF, но отсутствии поддержки такого выделения в документированной процедуре, IESG предоставлено право одобрять выделение значений в таких ситуациях. Цель такого разрешения заключается не в отмене корректно документированных процедур или отмене необходимости включения в спецификации протоколов вопросов согласования с IANA. Это сделано лишь для того, чтобы можно было выделить требуемые значения в тех случаях, когда они реально нужны, а обновление процедур IANA для единичного случая представляется слишком обременительным.

В IETF хотели бы видеть недостатки регистрационных процедур IANA для пространств имен, пересмотренных при стандартизации в IETF, но не ценой неразумной задержки выделения требуемых значений. Если IESG предпринимает указанные в этом разделе действия, это является индикатором необходимости обновления процедур регистрации в IANA (возможно, в параллель с работой над протоколом).

6. Прочие вопросы

6.1. Когда не требуется участия IANA

До публикации документа Internet-Draft как RFC агентству IANA нужно знать, какие действия (если они есть) потребуются от него. Опыт показывает, что не всегда очевидно, нужны ли какие-то действия без детального обзора документа. Чтобы можно было четко видеть, что от IANA не требуется каких-либо действий (и автор осознает это), в документ следует включать раздел IANA Considerations (согласование с IANA), содержащий фразу:

This document has no IANA actions11.

Такое заявление или его эквивалент, должно включаться в документ лишь после того, как рабочая группа или представивший документ индивидуал убеждены в его истинности. Использование такой формулировки «по шаблону» может привести к неполным или некорректным действиям IANA.

Если в спецификации используются значения из пространств имен, которыми не управляет IANA, может оказаться полезным отметить это словами типа:

The values of the Foobar parameter are assigned by the Barfoo registry on behalf of the Rabfoo Forum. Therefore, this document has no IANA actions12.

В некоторых случаях отсутствие выделенных IANA значений может послужить ценной информацией для будущих читателей, а в иных отсутствие выделенных значений после одобрения документа может инициировать удаление раздела перед публикацией. Для указания нужного варианта еще на этапе подготовки документа можно включить в раздел фразу типа:

[RFC Editor: please remove this section prior to publication.]13

или

[RFC Editor: please do not remove this section.]14

6.2. Документирование управления пространством имен

Для всех RFC, которые явно или неявно полагаются на IANA для оценки выделения значений без задания правил такой оценки, IANA (консультируясь с IESG) будет выбирать подходящие правила выделения. Изменение существующих правил всегда может быть инициировано через обычную процедуру согласования с IETF (IETF consensus).

Все будущие RFC, которые явно или неявно полагаются на IANA в вопросах регистрации или иных действий по управлению пространством имен, должны включать рекомендации по управлению этим пространством.

6.3. Регистрация постфактум

В некоторых случаях IANA становится известно об использовании не распределенных значений из пространства имен в сети Internet или об использовании выделенных значений с иными целями. IANA не оставляет такие факты без внимания, в таких случаях должны использоваться процедуры описанных в этом документе типов. Если не задано иное, значение могут быть переназначены для другого применения только с согласия исходного правообладателя (если это возможно) и с подобающим учетом влияния такого переназначения. В случаях вероятного противоречия рекомендуется консультация с IESG.

6.4. Отзыв выделенных значений

Отзыв выделенных ранее значений с целью их повторного использования сложен, поскольку это может вызывать проблемы совместимости с развернутыми системами, которые используют выделенные ранее значения. Кроме того, очень сложно определить масштабы распространения систем, использующих то или иное значение. Однако в случаях, когда пространство имен заканчивается и нужны новые значения, может быть желательно предпринять попытку отзыва неиспользуемых значений. При отзыве таких значений следует принимать во внимание по крайней мере перечисленные ниже аспекты.

  • Следует предпринять попытку установления контакта с лицом, для которого значения были выделены изначально, чтобы определить, использовались ли выделенные значения и насколько широко (возможны ситуации, когда продукция, для которой были выделены значения, никогда не поставлялась или давно не применяется, а в иных случаях выделенные значения могли не использоваться совсем).

  • Повторное распределение не следует выполнять без согласия исходно запросившего значения лица. Возврат значений следует осуществлять только в тех случаях, когда ясно, что значения не получили широкого распространения и необходимость отзыва оправдывает связанные с этим издержки. В любом случае для этого требуется одобрение IESG (IESG Approval).

  • Может оказаться целесообразным описать предлагаемые меры и запросить их оценку в соответствующем сообществе пользователей. В некоторых случаях может оказаться целесообразной подготовка соответствующего RFC и прохождение формальных процедур IETF (включая IETF Last Call), как было сделано при отзыве некоторых опций DHCP из числа зарезервированных для приватного использования (Private Use) [RFC3942].

7. Апелляции

Апелляции на регистрационные решения IANA можно подавать с использованием обычной процедуры апелляции IETF, описанной в параграфе 6.5 [IETF-PROCESS]. Апелляции следует направлять в IESG, а затем (при необходимости) в IAB и т. п.

8. Списки рассылок

Все списки рассылок IETF, связанные с оценкой или обсуждением запросов на выделение значений, как описано в этом документе, управляются в соответствии с правилами и методами, определенными в действующих документах BCP15 или решениях IESG.

9. Вопросы безопасности

Информация, связанная с созданием или обновлением регистрационных запросов должна проходить аутентификацию и проверку полномочий. IANA обновляет реестры в соответствии с инструкциями, опубликованными в RFC или полученными от IESG. Могут приниматься также разъяснения от авторов, руководителей соответствующих рабочих групп, назначенных экспертов и участников почтовых конференций.

Информация о потенциальных уязвимостях протокола может меняться с течением времени. Кроме того, могут меняться уязвимости, связанные со способом использования выделенных значений (например, если они идентифицируют протоколы). При обнаружении новых уязвимостей может возникать необходимость добавить информацию о них к существующим регистрациям, чтобы пользователи не заблуждались в вопросах безопасности, связанных с использованием зарегистрированных значений.

Анализ вопросов безопасности в общем случае требуется для всех протоколов, применяющих параметры (типы данных, коды операций, ключевые слова и т. п.), используемые в протоколах IETF или зарегистрированные IANA. Обсуждение вопросов безопасности обычно включается в протокольные документы [RFC3552]. Ответственность за обеспечение рассмотрения вопросов безопасности (если таковые имеются) при выделении новых значений и рецензирование такого рассмотрения ложится на агентство IANA при рассмотрении соответствующих вопросов выделения значений.

10. Отличия от RFC 2434

  • Существенное изменение текста с целью расширения описаний и улучшения группировки тем (например, «обновление реестров» и «создание новых реестров») для упрощения авторам поиска наиболее применимых к их задачам тем.

  • Многочисленные редакторские правки для удобочитаемости.

  • Название процедуры IETF Consensus (согласие IETF) заменено на IETF Review (рецензия IETF) и приведены дополнительные разъяснения. Опыт показывает, что люди, увидев слова IETF Consensus (и не глядя на определение этой процедуры) делают некорректное допущение о значении их в контексте IANA Consideration.

  • В список определенных правил добавлено RFC Required (требуется публикация RFC).

  • Существенно более явные указания и примеры того, что «следует включать в RFC».

  • Правило Specification Required (требуется спецификация) сейчас предполагает использование назначенных экспертов (Designated Expert) для оценки ясности спецификаций.

  • Существенно изменено содержание раздела 3. Основной целью изменений служило указание того, что рецензенты несут ответственность перед сообществом, а также предоставление некоторых рекомендаций по критериям рецензирования в типичных случаях.

  • Изменен текст с целью удаления каких-либо специальных путей для апелляций. Используется описанный в RFC 2026 путь апеллирования.

  • Добавлен раздел об отзыве неиспользуемых значений.

  • Добавлен параграф «Регистрация постфактум».

  • Добавлен раздел, указывающий, что почтовые рассылки, используемые для оценки возможности выделения значений (например, назначенным экспертом), подчиняются обычным правилам IETF.

11. Благодарности

В этот документ внесли существенный вклад отклики Jari Arkko, Marcelo Bagnulo Braun, Brian Carpenter, Michelle Cotton, Spencer Dawkins, Barbara Denny, Miguel Garcia, Paul Hoffman, Russ Housley, John Klensin, Allison Mankin, Blake Ramsdell, Mark Townsley, Magnus Westerlund, Bert Wijnen.

В разделе благодарностей RFC 2434 было сказано:

Jon Postel и Joyce K. Reynolds подробно объяснили, что требуется IANA для эффективного управления распределением значений и терпеливо комментировали многочисленные варианты этого документа. Brian Carpenter внес полезные комментарии к ранним версиям документа. Один абзац раздела «Вопросы безопасности» был заимствован из документа [MIME-REG].

12. Литература

12.1. Нормативные документы

[KEYWORDS] Bradner, S., «Key words for use in RFCs to Indicate Requirement Levels», BCP 14, RFC 2119, March 1997.

12.2. Дополнительная литература

[ASSIGNED] Reynolds, J., Ed., «Assigned Numbers: RFC 1700 is Replaced by an On-line Database», RFC 3232, January 2002.

[DHCP-OPTIONS] Alexander, S. and R. Droms, «DHCP Options and BOOTP Vendor Extensions», RFC 2132, March 1997.

[DHCP-IANA] Droms, R., «Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types», BCP 43, RFC 2939, September 2000.

[EXPERIMENTATION] Narten, T., «Assigning Experimental and Testing Numbers Considered Useful», BCP 82, RFC 3692, January 2004.

[IANA-CONSIDERATIONS] Narten, T. and H. Alvestrand, «Guidelines for Writing an IANA Considerations Section in RFCs», BCP 26, RFC 2434, October 1998.

[IANA-MOU] Carpenter, B., Baker, F., and M. Roberts, «Memorandum of Understanding Concerning the Technical Work of the Internet Assigned Numbers Authority», RFC 2860, June 2000.

[IETF-PROCESS] Bradner, S., «The Internet Standards Process – Revision 3», BCP 9, RFC 2026, October 1996.

[IP] Postel, J., «Internet Protocol», STD 5, RFC 791, September 1981.

[IPSEC] Kent, S. and K. Seo, «Security Architecture for the Internet Protocol», RFC 4301, December 2005.

[MIME-REG] Freed, N. and J. Klensin, «Media Type Specifications and Registration Procedures», BCP 13, RFC 4288, December 2005.

[PROTOCOL-EXT] Carpenter, B. and B. Aboba, «Design Considerations for Protocol Extensions», Work in Progress, December 2007.

[RFC2929] Eastlake 3rd, D., Brunner-Williams, E., and B. Manning, «Domain Name System (DNS) IANA Considerations», BCP 42, RFC 2929, September 2000.

[RFC3171] Albanna, Z., Almeroth, K., Meyer, D., and M. Schipper, «IANA Guidelines for IPv4 Multicast Address Assignments», BCP 51, RFC 3171, August 2001.

[RFC3228] Fenner, B., «IANA Considerations for IPv4 Internet Group Management Protocol (IGMP)», BCP 57, RFC 3228, February 2002.

[RFC3552] Rescorla, E. and B. Korver, «Guidelines for Writing RFC Text on Security Considerations», BCP 72, RFC 3552, July 2003.

[RFC3575] Aboba, B., «IANA Considerations for RADIUS (Remote Authentication Dial In User Service)», RFC 3575, July 2003.

[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. Levkowetz, Ed., «Extensible Authentication Protocol (EAP)», RFC 3748, June 2004.

[RFC3775] Johnson, D., Perkins, C., and J. Arkko, «Mobility Support in IPv6», RFC 3775, June 2004.

[RFC3932] Alvestrand, H., «The IESG and RFC Editor Documents: Procedures», BCP 92, RFC 3932, October 2004.

[RFC3942] Volz, B., «Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options», RFC 3942, November 2004.

[RFC3968] Camarillo, G., «The Internet Assigned Number Authority (IANA) Header Field Parameter Registry for the Session Initiation Protocol (SIP)», BCP 98, RFC 3968, December 2004.

[RFC3978] Bradner, S., Ed., «IETF Rights in Contributions», BCP 78, RFC 3978, March 2005.

[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, «Diameter Network Access Server Application», RFC 4005, August 2005.

[RFC4025] Richardson, M., «A Method for Storing Ipsec Keying Material in DNS», RFC 4025, March 2005.

[RFC4044] McCloghrie, K., «Fibre Channel Management MIB», RFC 4044, May 2005.

[RFC4124] Le Faucheur, F., Ed., «Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering», RFC 4124, June 2005.

[RFC4169] Torvinen, V., Arkko, J., and M. Naslund, «Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Agreement (AKA) Version-2», RFC 4169, November 2005.

[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., «A Border Gateway Protocol 4 (BGP-4)», RFC 4271, January 2006.

[RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. Chowdhury, «Mobile Node Identifier Option for Mobile IPv6 (MIPv6)», RFC 4283, November 2005.

[RFC4306] Kaufman, C., Ed., «Internet Key Exchange (IKEv2) Protocol», RFC 4306, December 2005.

[RFC4340] Kohler, E., Handley, M., and S. Floyd, «Datagram Congestion Control Protocol (DCCP)», RFC 4340, March 2006.

[RFC4346] Dierks, T. and E. Rescorla, «The Transport Layer Security (TLS) Protocol Version 1.1», RFC 4346, April 2006.

[RFC4366] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and T. Wright, «Transport Layer Security (TLS) Extensions», RFC 4366, April 2006.

[RFC4395] Hansen, T., Hardie, T., and L. Masinter, «Guidelines and Registration Procedures for New URI Schemes», BCP 115, RFC 4395, February 2006.

[RFC4422] Melnikov, A., Ed., and K. Zeilenga, Ed., «Simple Authentication and Security Layer (SASL)», RFC 4422, June 2006.

[RFC4446] Martini, L., «IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)», BCP 116, RFC 4446, April 2006.

[RFC4520] Zeilenga, K., «Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP)», BCP 64, RFC 4520, June 2006.

[RFC4589] Schulzrinne, H. and H. Tschofenig, «Location Types Registry», RFC 4589, July 2006.

[RFC4727] Fenner, B., «Experimental Values In IPv4, IPv6, ICMPv4, ICMPv6, UDP, and TCP Headers», RFC 4727, November 2006.

[RFC4995] Jonsson, L-E., Pelletier, G., and K. Sandlund, «The RObust Header Compression (ROHC) Framework», RFC 499516, July 2007.

Адреса авторов

Thomas Narten

IBM Corporation

3039 Cornwallis Ave.

PO Box 12195 — BRQA/502

Research Triangle Park, NC 27709-2195

Phone: 919-254-7798

EMail: narten@us.ibm.com

Harald Tveit Alvestrand

Google

Beddingen 10

Trondheim, 7014

Norway

EMail: Harald@Alvestrand.no

Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

Полное заявление авторских прав

Copyright (C) The IETF Trust (2008).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены «как есть» и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.


1Internet Assigned Numbers Authority.

2Domain Name System.

3Working group.

4Area Director.

5Будет удалено: Эту регистрацию следует разместить по адресу http://www.iana.org/assignments/foobar-registry.

6При использовании назначенного эксперта (процедура Designated Expert) в документе недопустимо указывать имя эксперта. Эксперта следует назначать руководителю соответствующего направления (Area Director) при передаче документа на одобрение IESG.

7Best Current Practices.

8Будет удалено: Эту регистрацию следует разместить по адресу http://www.iana.org/assignments/foobar-registry.

9Для использования в реализациях предлагается значение XXX.

10Если авторы считают, что включение полной таблицы приведет к избыточности или повтору информации, им все таки следует включать такую таблицу, но можно сопроводить ее информацией об удалении перед публикацией окончательного документа RFC.

11Для этого документа не требуется действий IANA.

12Значения параметра Foobar выделяются реестром Barfoo от имени Rabfoo Forum. Следовательно, для этого документа не требуется действий IANA.

13Редактор RFC, пожалуйста удалите этот раздел перед публикацией.

14Редактор RFC, пожалуйста не удаляйте этот раздел.

15Best Current Practice.

16Документ заменен RFC 5795. Прим. перев.

 

Рубрика: RFC | Оставить комментарий

RFC 5205 Host Identity Protocol (HIP) Domain Name System (DNS) Extensions

Заменен RFC 8005.

Рубрика: RFC | Оставить комментарий

RFC 5204 Host Identity Protocol (HIP) Rendezvous Extension

Заменен RFC 8004.

Рубрика: RFC | Оставить комментарий

RFC 5203 Host Identity Protocol (HIP) Registration Extension

Заменен RFC 8003.

Рубрика: RFC | Оставить комментарий