Netconf (Network Configuration Protocol) – это стандартный протокол для удаленной конфигурации устройств сетевого оборудования, таких как маршрутизаторы и коммутаторы. Он основан на XML (eXtensible Markup Language) и предоставляет возможность управлять конфигурациями и административными данными устройств.
Протокол Netconf определяет методы для чтения, записи и удаления конфигурационных данных, а также возможности управления устройствами и контроля целостности данных. Он поддерживает транспорт по протоколу SSH (Secure Shell), который обеспечивает безопасное соединение между клиентами и серверами Netconf.
Протокол Netconf позволяет автоматизировать и упростить процесс управления и конфигурирования сетевого оборудования. Он предоставляет возможность удаленного управления устройствами через программные интерфейсы, такие как API (Application Programming Interface).
Netconf является частью более широкого фреймворка управления устройствами сетевого оборудования, известного как YANG (Yet Another Next Generation). YANG – это язык моделирования данных для описания конфигураций и административных данных устройств. Протокол Netconf использует YANG для определения схем данных и операций, которые могут быть выполнены над данными.
Протокол Netconf широко применяется в сетевых устройствах и платформах управления сетевым оборудованием для автоматизации задач конфигурирования, управления и мониторинга.
NETCONF может работать поверх нескольких транспортных протоколов:
- SSH (RFC 4742), который является обязательным в реализации NETCONF
- SOAP (RFC 4743)
- BEEP (RFC 4744)
- TLS (RFC 5539)
Базовая функциональность NETCONF может быть расширена посредством дополнений. При установке сессии клиент и сервер обмениваются друг с другом информацией об установленных расширениях. RFC 4741 определяет дополнительные возможности, в частности: xpath и: validate.
Возможность подписки и получения асинхронных сообщений опубликована в RFC 5277. Она определяет запрос типа <create-subscription>, который включает возможность подписки на сообщения реального времени. В свою очередь сообщения отправляются посредством инструкции <notification>. RFC также определяет возможность: interleave, которая совместно с: notification помогает обрабатывать различные NETCONF запросы во время включенной подписки.
Дополнительные возможности включают блокировку части конфигурации. Это позволяет в рамках нескольких сессий редактировать не перекрывающиеся деревья в исполняемой конфигурации. Без этого дополнения возможна только блокировка всей конфигурации.
В данный момент рабочая группа работает над поддержкой сообщений, позволяющих обмениваться шаблонами (XML Schema, Relax NG, etc.), которые определяют дерево NETCONF.
Содержимое запросов NETCONF представляет собой валидный XML, большая часть которого относится к конфигурации устройства.
Рабочая группа NETMOD закончила работу по созданию человеко-ориентированного языка для представления текущего состояния устройства, конфигурации, оповещений и операций, называемый YANG. YANG определен в RFC 6020 и дополнен RFC 6021, в котором представленные основные типы данных.
В течение лета 2010 рабочей группе NETMOD была предоставлена возможность поработать над моделью конфигурации (системы, интерфейсов, маршрутизации), совместимой с моделью SNMP.
Преимущества Netconf:
1. Универсальность: Netconf является универсальным протоколом управления сетевыми устройствами и может использоваться для конфигурирования различных типов сетевого оборудования от разных производителей.
2. Открытость: Netconf является открытым стандартным протоколом, который разработан в рамках Интернет-инжиниринговой задачи (IETF). Это означает, что любой разработчик может использовать и расширять протокол Netconf в своих продуктах и решениях.
3. Безопасность: Netconf предлагает механизмы безопасности, такие как аутентификация, авторизация и шифрование данных, что позволяет защитить устройства от несанкционированного доступа и повысить безопасность сети.
4. Автоматизация: Netconf поддерживает автоматизацию управления сетевыми устройствами с помощью языка запросов RPC (Remote Procedure Call) и моделей данных YANG. Это позволяет выполнить массовую конфигурацию и управление устройствами с минимальной задержкой и ошибками.
Недостатки Netconf:
1. Сложность реализации: Реализация и поддержка Netconf может требовать значительных усилий и компетенций разработчиков и сетевых инженеров. Это в особенности относится к созданию и поддержке собственных моделей данных YANG.
2. Ограничения производителя: Некоторые производители сетевого оборудования могут иметь ограничения в реализации и поддержке Netconf. В некоторых случаях, функциональность Netconf может быть ограничена или не полностью реализована.
3. Совместимость: Для использования Netconf требуется поддержка протокола со стороны сетевого оборудования и управляющей системы. Если производители не поддерживают протокол, это может привести к сложностям и несовместимости при интеграции с разными устройствами.
4. Сложности масштабирования: Масштабирование Netconf может быть сложным в случае больших сетей или большого количества устройств, требуя высокой производительности управляющей системы и пропускной способности сети для обработки большого объема данных и запросов.