Описание тега ietf-netconf
Протокол NETCONF позволяет устройству предоставлять полный формальный интерфейс прикладного программирования (API). Приложения могут использовать этот простой API для отправки и получения полных и частичных наборов данных конфигурации.
На момент написания были опубликованы две версии протокола: NETCONF 1.0 и 1.1. Первая версия была опубликована как RFC4741, а позже была отменена RFC6241. Обе версии все еще находятся в обращении.
Протокол использует парадигму удаленного вызова процедур (RPC). Клиент кодирует RPC в XML и отправляет его на сервер, используя безопасный сеанс с установлением соединения. Сервер отвечает ответом, закодированным в XML. Содержимое как запроса, так и ответа полностью описывается в XML DTD или XML-схемах, или в обоих, что позволяет обеим сторонам распознавать синтаксические ограничения, наложенные на обмен.
Типичный обмен между клиентом и сервером будет выглядеть так:
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:ex="http://example.net/content/1.0"
ex:user-id="fred">
<get/>
</rpc>
<rpc-reply message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:ex="http://example.net/content/1.0"
ex:user-id="fred">
<data>
<!-- contents here... -->
</data>
</rpc-reply>
Протокол концептуально разделен на несколько уровней:
Layer Example
+-------------+ +-----------------+ +----------------+
(4) | Content | | Configuration | | Notification |
| | | data | | data |
+-------------+ +-----------------+ +----------------+
| | |
+-------------+ +-----------------+ |
(3) | Operations | | <edit-config> | |
| | | | |
+-------------+ +-----------------+ |
| | |
+-------------+ +-----------------+ +----------------+
(2) | Messages | | <rpc>, | | <notification> |
| | | <rpc-reply> | | |
+-------------+ +-----------------+ +----------------+
| | |
+-------------+ +-----------------------------------------+
(1) | Secure | | SSH, TLS, BEEP/TLS, SOAP/HTTP/TLS, ... |
| Transport | | |
+-------------+ +-----------------------------------------+
- Уровень Secure Transport обеспечивает безопасную и надежную передачу сообщений между клиентом и сервером. SSH - наиболее часто используемый протокол для этого уровня NETCONF, за которым следует TLS. RFC6242 и RFC7589 описывают, как они используются в качестве безопасного транспорта NETCONF.
- Уровень сообщений обеспечивает механизм кодирования вызовов удаленных процедур (RPC) и уведомлений.
- Уровень операций определяет набор операций базового протокола для получения и редактирования данных конфигурации.
- Уровень содержимого состоит из данных конфигурации и данных уведомлений.
Хотя RFC не указывает, как Content
а также Operations
При моделировании слоев был разработан (первоначально) специальный язык моделирования для NETCONF, называемый YANG (дополнительную информацию см. в теге ietf-netmod-yang).
Базовые операции NETCONF стандартизированы и состоят из:
- получить
- get-config
- изменить конфигурацию
- копировать конфигурацию
- удалить конфигурацию
- замок
- разблокировать
- закрытое заседание
- kill-session
- подтверждать
- совершить
- подтверждено-совершить
- отменить фиксацию
- создать подписку *
- get-schema *
- частичная блокировка *
- частичная разблокировка *
* указано в отдельном RFC
Узнайте больше о NETCONF здесь:
(также источники большей части контента на этой странице)