Стандарты Интернета №3, апрель 2016

YANG и NETCONF/RESTCONF получают широкое развитие в отрасли

Фото аватара
Редакция

Махеш Джетанандани (Mahesh Jethanandani) и Бенуа Клэз (Benoit Claise)

Редакция

За последнюю пару лет протокол NETCONF и язык YANG получили широкое развитие в сетевой индустрии. Они перешли от этапа определения в этап реализации. В рамках IETF количество разрабатываемых моделей YANG растет невероятными темпами. Однако быстрый рост числа моделей YANG не обходится без проблем, главная из которых заключается в их координации. Хотя все модели великолепно определяют, каким образом можно конфигурировать или отслеживать конкретные функции, они также должны взаимодействовать с моделями, разрабатываемыми в IETF и в других SDO.

В 2003 году в рамках RFC 3535 «Overview of the 2002 IAB Network Management Workshop» («Обзор состоявшегося в 2002 году семинара IAB по сетевому управлению») были задокументированы результаты диалога между сетевыми операторами и разработчиками протоколов о концентрации усилий IETF на дальнейшей работе по управлению сетями. Семинар идентифицировал 14 требований операторов и определил «удобство использования» как ключевое требование для любой новой системы управления сетями. Такое удобство использования включает способность управлять сетью, а не просто устройством в сети, и устанавливает, что должно существовать четкое разграничение между конфигурационной, рабочей и статистической информацией устройства. Кроме того, эти требования включают способность развернуть конфигурацию, проверить ее правильность перед практическим задействованием и выполнить откат назад к предыдущей конфигурации в случае неудачи.
Эти 14 требований операторов привели к созданию в том году рабочей группы NETCONF, рабочей группы NETMOD в 2008 году и к развитию базовых моделей данных для управления сетями. Результатом этих усилий стали появившиеся в 2011 году RFC 6241, 6242, 6243 и 6244 (переработанные и созданные на основе RFC 4741, 4742, 4743 и 4744 соответственно) для основанного на XML протокола NETCONF и связанные с ними RFC 6020 и 6021 для языка моделирования данных YANG, которые появились в 2010 году.
За последнюю пару лет протокол NETCONF и язык YANG получили широкое развитие в сетевой индустрии. Они перешли от этапа определения на этап реализации. В рамках IETF количество разрабатываемых моделей YANG растет невероятными темпами. Новые модели YANG разрабатываются в области систем эксплуатации и управления (OPS, Operations and Management), а также в таких областях, как Маршрутизация (RTG), Интернет (INT), Транспорт (TSV) и Безопасность (SEC). Однако наиболее впечатляющие примеры принятия моделей YANG происходят в рамках проекта с отрытым исходным кодом Open Daylight, где выход Lithium сопровождался публикацией более чем 480 моделей YANG.
Одним из результатов популярности YANG является то, что операторы, желающие разработать свой собственный протокол управления, используют YANG в качестве языка моделирования данных. Сюда относится CoMI, который определяет интерфейс управления для ограниченных устройств. Даже среди существующих протоколов NETCONF и RESTCONF имеются разные кодировки (например, XML и JSON) для моделей YANG.
Другие организации-разработчики стандартов (SDO) также инициировали проекты по разработке моделей YANG. Например, организация Metro Ethernet Forum стала первопроходцем в разработке моделей YANG для управления производительностью (PM, Performance Management) и управления ошибками (FM, Fault Management) в рамках Service OAM (SOAM); в настоящее время эта организация работает над моделями YANG на уровне сервисов. Кроме того, Институт инженеров по электротехнике и электронике (IEEE, Institute of Electrical and Electronics Engineers) утвердил проект для моделей 802.1x и 802.1q, проявляя интерес к разработке модели 802.3. Аналогичным образом сектор по стандартизации телекоммуникаций Международного совета по телекоммуникациям (ITU-T, International Telecommunication Union Telecommunication Standardization Sector) заинтересовался разработкой модели G.8032. Информацию обо всех моделях организаций-разработчиков стандартов можно найти в GitHub.
Быстрый рост числа моделей YANG не обходится без проблем, главная из которых заключается в их координации. Хотя все модели великолепно определяют, каким образом можно конфигурировать или отслеживать конкретные функции, они также должны взаимодействовать с моделями, разрабатываемыми в IETF и в других SDO. Первый практический пример координации происходит в области маршрутизации и проводится организацией Routing Area YANG Coordination Forum. Координация работ по разработке YANG в рамках IETF и в других SDO попадает в сферу ответственности директора Области эксплуатации и управления (OPS, Operations and Management) Бенуа Клэза (Benoît Claise), который работает в сотрудничестве с группой YANG Model Coordination Team.
Рабочие группы IETF, работающие над аспектами развития модели YANG, включают:

  • LIME (модели YANG OAM)
  • L3SM (модель YANG для сервиса L3VPN)
  • SUPA (модели YANG последовательной политики)
  • I2NSF (модели YANG, связанные с обеспечением безопасности)

Для того, чтобы помочь в разработке моделей YANG, с докторами YANG можно связаться как по электронной почте, так и в течение недели, когда происходят совещания IETF в рамках сеансов редактирования/рекомендаций YANG. Кроме того, доступны несколько инструментов для разработки и компиляции моделей YANG (см. trac.tools.ietf.org/area/ops/trac/wiki/YangModelCoordGroup для получения полного списка).
Вероятно, наиболее важным из таких инструментов является pyang – средство компиляции YANG на основе языка Python, которое осуществляет синтаксическую проверку и позволяет генерировать такие выходные форматы, как UML, модель на основе дерева, YIN и т.д. Эти инструменты должны запускаться с опцией IETF (–ietf) для того, чтобы проверять правила YANG, определенные в RFC 6087. До сих пор многие модели YANG не могут быть корректно скомпилированы. Онлайновый графический эквивалент инструмента pyang можно найти по адресу: yangvalidator.com; этот инструмент берет файл YANG или проект/RFC IETF, извлекает модель YANG и затем проверяет ее правильность.
Благодаря опыту, накопленному при разработке и внедрении некоторых моделей YANG, рабочая группа NETMOD получила отзывы и комментарии по YANG 1.0. На основе этой информации в настоящее время окончательно дорабатывается версия YANG v1.1. Эта новая версия является отладочной версией языка YANG; она устраняет двусмысленности и дефекты, которые содержались в исходной спецификации.
После завершения специфицирования NETCONF и YANG операторы могут начать их использование для целей конфигурирования и мониторинга. Однако некоторые операторы уже начали использовать закрытые (патентованные) интерфейсы API REST, предоставленные другими производителями, для управления своими сетями.
RESTCONF представляет собой REST-подобный протокол, работающий через HTTP, который используется для доступа к данным, определенным в YANG. REST-подобный API не предназначен для замены NETCONF, он скорее предоставляет упрощенный интерфейс, тем самым удовлетворяя потребности разработчиков приложений. По этой причине рабочая группа NETCONF решила добавить в концепцию поддержку протокола RESTCONF. Протокол RESTCONF поддерживает два формата кодирования: XML и JSON.
Хотя эта возможность часто остается незамеченной, устройства могут также посылать уведомления, определенные в модели YANG.
Недавно принятая концепция NETCONF включает обновление для Уведомлений о событиях (Event Notifications) NETCONF и развитие механизма «уведомления по подписке» (subscription-and-push), который позволяет клиентским приложениям запрашивать уведомления об изменениях в хранилище данных. Эти возможности откроют NETCONF для мира телеметрии, посылая данные приложениям систем сетевого управления (NMS).
Одним из результатов популярности YANG является то, что операторы, желающие разработать свой собственный протокол управления, используют YANG в качестве языка моделирования данных.
Сюда относится CoMI, который определяет интерфейс управления для ограниченных устройств. Даже среди существующих протоколов NETCONF и RESTCONF имеются разные кодировки (например, XML и JSON) для моделей YANG.
В конечном счете, главное значение имеют модели данных. В рамках индустрии существует явная потребность в стандартных моделях данных, которые помогли бы облегчить управление и, что более точно, программируемость сетей, объединяющих аппаратные средства разных производителей. YANG четко позиционирует себя как тот самый язык моделирования данных для этих стандартных моделей.
Если мы хотим, чтобы все модели YANG безболезненно работали друг с другом, то эта задача по координации моделей возложена на нас – участников IETF.
Источник: YANG and NETCONF/RESTCONF Gain Traction in the Industry