YANG (Yet Another Next Generation) è un linguaggio di modellazione dei dati utilizzato per modellare i dati di configurazione e di stato degli elementi di rete. È stato sviluppato dal gruppo di lavoro IETF NETMOD e si basa su un linguaggio di modellazione dei dati chiamato XML Schema. YANG fornisce un linguaggio comune di modellazione dei dati per il Network Configuration Protocol (NETCONF) ed è usato per gestire i dati di configurazione e di stato degli elementi di rete.
YANG offre diversi vantaggi ai progettisti, agli operatori e agli utenti della rete. È uno standard aperto che offre flessibilità ed estensibilità, consentendo di configurare e gestire facilmente le risorse di rete. YANG permette inoltre un approccio alla modellazione dei dati indipendente dalla piattaforma, consentendo una più facile integrazione di diversi elementi di rete. Infine, YANG è un linguaggio auto-documentante, che lo rende facile da capire e da usare.
YANG è composto da quattro componenti principali: moduli, nodi di dati, attributi dei nodi di dati e raggruppamenti. I moduli sono i componenti di primo livello di YANG e definiscono i nodi di dati e gli attributi del linguaggio. I nodi di dati sono gli elementi che definiscono gli elementi della rete e sono organizzati in una struttura ad albero. Gli attributi dei nodi di dati sono le proprietà dei nodi di dati e forniscono informazioni aggiuntive sui nodi di dati. I raggruppamenti sono componenti riutilizzabili che forniscono un modo per definire un insieme di nodi di dati.
YANG utilizza una sintassi simile a quella di XML Schema. La sintassi consiste in parole chiave e definizioni di tipi di dati. Alcune delle parole chiave utilizzate in YANG sono modulo, contenitore, foglia, elenco, scelta e caso. I tipi di dati sono definiti utilizzando i tipi di dati incorporati in YANG o i tipi di dati definiti dall'utente.
YANG viene utilizzato per modellare i dati di configurazione e di stato degli elementi di rete. Viene utilizzato in vari modi, tra cui file di configurazione, librerie di componenti e protocolli di gestione della rete. YANG è utilizzato anche nel protocollo NETCONF, che viene usato per configurare e gestire gli elementi di rete.
YANG è diverso da altri linguaggi di modellazione dei dati per diversi aspetti. È uno standard aperto, che consente una maggiore flessibilità d'uso. È anche autodocumentante, il che lo rende più facile da capire e da usare. Infine, YANG è utilizzato nel protocollo NETCONF, che fornisce un approccio indipendente dalla piattaforma alla configurazione e alla gestione della rete.
Sono disponibili diversi strumenti per lavorare con YANG. Alcuni di questi includono YANG Development Kit (YDK), utilizzato per generare i modelli YANG; YANG Compiler (YComp), utilizzato per compilare i modelli YANG in codice; YANG Interpreter (YInt), utilizzato per interpretare i modelli YANG.
Alcuni esempi di modelli YANG includono i modelli YANG dell'IETF, utilizzati per modellare gli elementi di rete; i modelli YANG di OpenDaylight, utilizzati per modellare le funzioni di rete; e i modelli YANG di Cisco, utilizzati per modellare i prodotti Cisco.
Conclusione
YANG è un potente linguaggio di modellazione dei dati che fornisce un approccio indipendente dalla piattaforma alla configurazione e alla gestione della rete. Si tratta di uno standard aperto che si auto-documenta e offre flessibilità ed estensibilità. Sono disponibili diversi strumenti per lavorare con YANG e ci sono molti esempi di modelli YANG utilizzati per scopi diversi. YANG è uno strumento prezioso per i progettisti, gli operatori e gli utenti della rete.
YANG è un linguaggio di programmazione di alto livello utilizzato per creare programmi che possono essere eseguiti sulla macchina virtuale Python.
Il modello di dati YANG si basa sul modello di dati utilizzato nel protocollo NETCONF. Utilizza gli stessi tipi di dati, come stringa, intero e booleano. YANG ha anche i propri tipi di dati, come leafref, identityref ed enumeration.
YANG può essere utilizzato con i seguenti protocolli:
- NETCONF
- RESTCONF
- gNMI
- gNOI
- OpenConfig
No, YANG non è simile a JSON. YANG è un linguaggio di modellazione dei dati usato per modellare i dati di configurazione e di stato manipolati dai moduli Network Configuration Protocol (NETCONF), NETMOD (gestione della rete) e YANG Data Modeling Language (YANGDM).
No, YANG non è un linguaggio di programmazione. YANG è un linguaggio di modellazione dei dati usato per modellare i dati di configurazione e di stato manipolati dal Network Configuration Protocol (NETCONF), dalle chiamate di procedura remota NETCONF e dalle notifiche NETCONF.