Jazyk YANG má novou verzi 1.1

Na konci srpna vyšel dokument RFC 7950, který obsahuje specifikaci jazyka YANG verze 1.1. Tento jazyk slouží k modelování konfiguračních a stavových dat a představuje základ pro bezpečnou vzdálenou správu síťových zařízení všeho druhu. Po skromných začátcích se YANG v posledních dvou letech docela pěkně rozšířil nejen v rámci IETF, ale i v jiných standardizačních institucích (IEEE, BBF) a také v průmyslu. Ukazuje se totiž, že standardní a strojově čitelné datové modely – tedy popis struktury dat, jejich datových typů a sémantických pravidel – jsou zejména pro operátory velkých a heterogenních sítí důležitější než konkrétní protokol, jímž se data přenášejí a editují.

YANG 1.1 má povahu udržovací verze, přesto ale kromě oprav nalezených chyb a vysvětlení některých nejasností přináší několik pozoruhodných novinek:

  • V datovém modelu je možné definovat tzv. akce, což jsou RPC operace spojené s určitým uzlem v datovém schématu. Od „běžných“ RPC operací, známých už z YANGu 1.0, se akce liší asi tak jako metody od funkcí v objektově orientovaném programování.
  • Podobně je možné s uzly schématu spojovat i asynchronní notifikace.
  • Byly zavedeny nové XPath funkce, které rozšiřují možnosti specifikace sémantických podmínek a omezení.
  • Velmi zásadně byl změněn způsob popisu konkrétní implementace datového modelu, tedy souboru YANG modulů a jejich verzí, volitelných vlastností a dalších detailů podporovaných daným zařízením. Formát této specifikace se jmenuje YANG library a je popsán v samostatném RFC 7895.

Společně s RFC 7950 byla vydána i dvě další rozšíření YANGu, která jsem měl na starost já –  jsou obsažena v RFC 7951 a 7952.

První z nich definuje JSON serializaci dat modelovaných v YANGu. Ta je tedy nyní standardní alternativou XML, což byl původně jediný serializační formát. YANG a s ním spojené technologie vznikaly před deseti a více lety, kdy bylo XML na vrcholu popularity, dnes je ale jasným favoritem pro zápis a přenos strukturovaných dat právě JSON. Nejenom, že je podstatně kompaktnější, ale daleko lépe se s ním také pracuje v softwaru. Řada nástrojů a projektů založených na YANGu podporovala JSON serializaci ještě před publikací RFC 7951 – k nejvýznamnějším patří YumaPro a OpenDaylight.

V nejbližší době by měl být pro YANG k dispozici i binární serializační formát – CBOR. YANG se tak vlastně stává schémovým jazykem pro hierarchická data bez ohledu na způsob jejich serializace, což je myslím docela zajímavé.

RFC 7952 pak rozšiřuje YANG o možnost definování anotací, které dovolují k běžným datům připojovat i metadata či jiné informace. Příkladem takové anotace je třeba atribut, kterým se deaktivuje podstrom v konfiguraci bez toho, že by byl z konfiguračního úložiště odstraněn.

Autor:

Zanechte komentář