Кратко
- 26 октября руководитель разработки BIRD Мария Матейка сопоставила на RIPE 93 NETCONF/XML, RESTCONF/JSON и CORECONF/CBOR.
- В её авторском предложении строка JSON
"+3"после преобразования в XML может быть прочитана как число.
На границе форматов у знака плюс проверили документы. В JSON он приехал в составе строки. После пересадки через XML сохранил внешний вид, но следующий получатель увидел перед собой число. Маршрут конфигурационной команды от этого не стал длиннее; её смысл мог измениться прямо на пересадке.
Мария Матейка возглавляет разработку BIRD в CZ.NIC. На заседании RIPE 93 26 октября она разобрала семейство интерфейсов управления сетью. Оригинальные слайды идут от NETCONF и XML к RESTCONF и JSON, затем к CORECONF и CBOR. Модель данных описывает YANG, но способы кодирования передают информацию о типах по-разному. Устройство с несколькими дверями удобно для инструментов; у каждой двери появляется толкователь.
В индивидуальном проекте, опубликованном Матейкой в марте, приведён точный случай. Поле YANG допускает int32 или string. Запись JSON "item": "+3" выбирает строковый вариант согласно RFC 7951. В XML символы +3 сохраняются, а подсказка в виде кавычек JSON исчезает. При следующем чтении поле может попасть в числовую ветвь объединения. Переданы те же знаки, но другая идентичность значения.
Проект предлагает поручить преобразователю чтение модели YANG, выбор формы вывода, проверку и мысленный тест обратного преобразования. При смене варианта типа он предлагает выдавать предупреждение и передавать аннотацию об исходном типе. В реестре IETF мартовский индивидуальный проект сейчас числится истёкшим и архивным. Октябрьский доклад показывает, что задача реализации пережила срок документа.
Проблема не сводится к одному знаку. RFC 7951 записывает часть целых как числа JSON, а int64, uint64 и decimal64 — как строки. У CBOR есть ещё более компактные способы кодирования. Прокси, который смотрит только на набор символов и не читает модель, назначает тип по внешнему виду. Это уже решение о конфигурации, хотя в журнале может остаться лишь слово «конвертация».
В слайдах отмечены незавершённые части CORECONF. Для работающих интерфейсов нужна проверка полного пути: отправить типизированные значения через каждую доступную комбинацию и сравнить с тем, что устройство применило. Байты без сведений об их типе — протокол допроса без имени свидетеля.
Первичные источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





