Descripción de los módulos YANG de Junos
Juniper Networks publica el esquema para dispositivos Junos mediante modelos YANG para los datos de configuración y estado operativo, comandos operativos y extensiones de Junos. En las siguientes secciones se describen los módulos nativos de Junos YANG.
Descripción general de los módulos YANG de Junos
Juniper Networks ofrece módulos de YANG que definen las jerarquías de configuración, los comandos operativos y los datos de estado, así como extensiones y tipos de YANG, para dispositivos que ejecutan Junos OS y dispositivos que ejecutan Junos OS Evolved. A partir de Junos OS versión 17.2, los módulos YANG son específicos de una familia de dispositivos. La Tabla 1 describe los identificadores de las diferentes familias de dispositivos e indica qué plataformas se incluyen en cada familia. A partir de Junos OS Evolved versión 23.4R2, todas las plataformas de Junos OS Evolved utilizan el identificador de familia de junos dispositivos.
| Identificador de familia de dispositivos |
Plataformas Junos OS |
Plataformas evolucionadas de Junos OS |
|---|---|---|
| Junos |
Serie ACX |
Serie ACX |
| junos-es |
Serie J |
– |
| junos-ex |
Serie EX (ciertas plataformas) |
– |
| junos-qfx |
Serie QFX |
Serie QFX (23.2 y anteriores) |
Diferentes plataformas dentro de la misma serie pueden clasificarse en diferentes familias de dispositivos. En dispositivos que ejecutan Junos OS Evolved versión 23.4R1 y versiones anteriores y en dispositivos que ejecutan Junos OS, puede verificar la familia de un dispositivo específico ejecutando el comando de show system information modo operativo o la <get-system-information/> RPC en el dispositivo. El valor del Family campo en la salida del comando o el <os-name> elemento en la respuesta RPC indica la familia de dispositivos.
A partir de Junos OS versión 17.4R1, el módulo YANG de configuración se divide en un módulo raíz que se complementa con varios módulos más pequeños. Además, los módulos nativos de Junos YANG utilizan una nueva convención de nomenclatura para el nombre, el nombre de archivo y el espacio de nombres del módulo. El nombre del módulo y el nombre de archivo incluyen la familia de dispositivos y el área de la configuración o jerarquía de comandos a la que pertenece el esquema del módulo. El nombre de archivo del módulo también incluye una fecha de revisión. En la Tabla 2 se resumen los módulos YANG nativos de los dispositivos Junos y se identifica la versión en la que se utilizan los distintos nombres de módulo.
Los módulos que no requieren esquemas específicos de la familia y que son comunes a todas las plataformas utilizan la familia de junos dispositivos para el nombre, el nombre de archivo y el espacio de nombres del módulo.
| Módulo YANG de Junos |
Descripción |
Nombre del módulo |
Libera |
|---|---|---|---|
| Módulos de configuración |
Defina el esquema para la jerarquía de configuración de Junos. A partir de Junos OS versión 17.4R1, el módulo YANG de configuración se divide en un módulo raíz (family-conf-root) que se complementa con varios módulos más pequeños. |
|
14.2 a 17.3 |
|
|
17.4R1 y versiones posteriores |
||
| Módulos de comando operacional |
Representar la jerarquía de comandos operativos y el grupo colectivo de módulos que definen las llamadas a procedimiento remoto (RPC) para los comandos en modo operativo. Hay módulos separados para las diferentes áreas de la jerarquía de comandos. |
|
16.1 a 17.3 |
|
|
17.4R1 y versiones posteriores |
||
junos-state Módulos de estado |
Conjunto seleccionado de módulos YANG para datos de estado operativo. | junos-state-area |
22.2R1 y versiones posteriores |
|
|
Definir modelos de datos YANG para el estado operativo. Los modelos exponen un subconjunto de datos de comando show a través de la RPC gNMI |
|
24.2R1 y versiones posteriores (Junos OS evolucionado) |
| Módulo de extensiones DDL |
Contiene instrucciones del lenguaje de definición de datos (DDL) para dispositivos Junos. Este módulo incluye las |
|
15.1 a 17.3 |
|
|
17.4R1 y versiones posteriores |
||
| Módulo de extensiones ODL |
Contiene instrucciones de lenguaje de definición de salida (ODL) que se pueden usar para crear y personalizar salidas ASCII con formato para RPC ejecutadas en dispositivos Junos. |
|
16.1 a 17.3 |
|
|
17.4R1 y versiones posteriores |
||
| Módulo de extensiones de anotaciones de metadatos |
Define anotaciones de metadatos para las operaciones de configuración. Las anotaciones se definen en RFC 7952, Definición y uso de metadatos con YANG. |
junos-configuration-metadata |
22.2R1 y versiones posteriores (Junos OS evolucionado) |
| Módulo Tipos |
Contiene definiciones para tipos de YANG. |
|
17.4R1 y versiones posteriores |
Para admitir módulos YANG para diferentes familias de dispositivos en diferentes versiones, los módulos descargados se organizan por familia de dispositivos y el nombre, el nombre de archivo y el espacio de nombres de cada módulo reflejan la familia de dispositivos a la que pertenece el esquema del módulo.
Para obtener información acerca de cómo obtener los módulos, consulte Descargar y generar módulos de Junos YANG.
Para obtener información acerca de los espacios de nombres de módulo, consulte Descripción de los espacios de nombres y prefijos de módulo de Junos YANG.
Descargue y genere módulos de Junos YANG
Puede recuperar los módulos Junos OS y Junos OS Evolved YANG de la siguiente manera:
-
Descargue los módulos del sitio web de Juniper Networks en https://www.juniper.net/support/downloads
-
Descarga de los módulos del repositorio de GitHub de Juniper/yang
-
Generación de los módulos en un dispositivo de Juniper Networks
A partir de la versión 23.4R1 de Junos OS Evolved, publicamos los módulos Yang nativos de Junos OS Evolved en el sitio de descargas de Juniper Networks y en GitHub. En versiones anteriores, debe generar los módulos en el dispositivo.
En Junos OS versión 17.1 y anteriores, los módulos YANG para la configuración de Junos OS y las jerarquías de comandos que se publican en el sitio web de Juniper Networks y en GitHub definen el esquema para todos los dispositivos que ejecutan esa versión de Junos OS. Por el contrario, los módulos YANG generados en el dispositivo local definen el esquema específico de ese dispositivo. El esquema específico del dispositivo incluye nodos tanto de módulos nativos como de cualquier módulo estándar o personalizado que se haya agregado al dispositivo.
A partir de Junos OS versión 17.2, los módulos Junos YANG son específicos de una familia de dispositivos y el espacio de nombres de cada módulo refleja la familia de dispositivos a la que pertenece el esquema del módulo. Como resultado, el paquete de descarga y el repositorio de GitHub incluyen un directorio separado para los módulos de cada familia de dispositivos y un directorio común para los módulos que son comunes a todas las familias de dispositivos. Cada directorio específico de la familia utiliza su identificador de familia de dispositivos como nombre de directorio y contiene los módulos de comando operativo y de configuración compatibles con las plataformas de esa familia. Los identificadores de familia de dispositivos se definen en la Tabla 1. Los módulos YANG generados en un dispositivo local que ejecuta Junos OS versión 17.2 siguen definiendo el esquema específico de ese dispositivo.
A partir de Junos OS versión 17.4R1, los módulos YANG generados en un dispositivo local, de forma predeterminada, contienen esquemas específicos de la familia, que son idénticos en todos los dispositivos de la familia de dispositivos dada. Para generar módulos específicos del dispositivo, configure la instrucción de device-specific configuración en el nivel de [edit system services netconf yang-modules] jerarquía.
En la tabla 3 se resume el alcance del esquema en los módulos de YANG descargados y generados para las distintas versiones de Junos OS.
| Versión de Junos OS |
Alcance del esquema en módulos descargados |
Alcance del esquema en los módulos generados |
|---|---|---|
| 17.1 y versiones anteriores |
Todos los dispositivos |
Dispositivo |
| 17.2 a 17.3 |
Familia de dispositivos |
Dispositivo |
| 17.4R1 y versiones posteriores |
Familia de dispositivos |
Familia de dispositivos |
A partir de Junos OS Evolved versión 23.4R1, publicamos los módulos YANG evolucionados de Junos OS en el sitio de descargas de Juniper Networks y en GitHub. En versiones anteriores, debe generar los módulos en el dispositivo.
Además, a partir de Junos OS versión 23.4R1 y Junos OS Evolved versión 23.4R1, proporcionamos todos los modelos de datos YANG para un sistema operativo y una versión determinados en un único paquete de descarga y carpeta de repositorio de GitHub. La carpeta del paquete y del repositorio incluye:
-
Configuración nativa, estado y modelos de datos RPC
-
Configuración de OpenConfig y modelos de estado compatibles con ese sistema operativo
-
Modelos IETF compatibles con ese sistema operativo
Para obtener más información acerca de cómo descargar o generar los módulos YANG de Junos OS, consulte Usar módulos YANG de Juniper Networks.
Descripción de los espacios de nombres y prefijos del módulo YANG de Junos
En Junos OS versión 17.1 y anteriores, los módulos Junos YANG utilizan un identificador único para diferenciar el espacio de nombres de cada módulo.
namespace "http://yang.juniper.net/yang/1.1/module-id;
A partir de Junos OS versión 17.2R1, los módulos Junos YANG son específicos de una familia de dispositivos. Para admitir distintos módulos de YANG para diferentes familias de dispositivos en una versión determinada, los módulos de YANG utilizan un espacio de nombres que incluye el nombre del módulo, la familia de dispositivos y la cadena de versión de Junos OS, además del identificador. Por ejemplo:
namespace "http://yang.juniper.net/yang/1.1/module-id/module-name/device-family/release";
A partir de Junos OS versión 17.4R1, el espacio de nombres se simplifica para incluir la familia de dispositivos, el tipo de módulo y un identificador que es único para cada módulo y que diferencia el espacio de nombres del módulo del de otros módulos.
namespace "http://yang.juniper.net/device-family/type/identifier";
Las siguientes definiciones se aplican a todas las versiones del espacio de nombres en el que aparece esa variable:
device-family |
Identificador de la familia de dispositivos a la que pertenece el esquema del módulo, por ejemplo, Tanto los módulos con esquemas específicos de dispositivo como los módulos con esquemas específicos de familia utilizan el mismo identificador de familia de dispositivos en el espacio de nombres.
Nota:
Los módulos comunes utilizan el identificador de familia de |
identifier |
Cadena que diferencia el espacio de nombres del módulo del de otros módulos. Los módulos de configuración y comando de Junos incluyen un identificador que indica el área de la configuración o jerarquía de comandos a la que pertenece el esquema del módulo. |
module-id |
Identificador único específico del módulo, por ejemplo, |
module-name |
Nombre del módulo YANG incluido en ese archivo, por ejemplo, |
release |
Versión de Junos OS o Junos OS Evolved en la que se admite el esquema de ese módulo. |
type |
Tipo de módulo. Los valores posibles incluyen:
|
En la Tabla 4 se describe el URI y el prefijo (tal como se define en la instrucción del prefix módulo) de cada módulo en las diferentes versiones. A partir de Junos OS versión 17.2, el prefijo de cada módulo de comando operativo refleja el área de jerarquía de comandos de los RPC incluidos en ese módulo. Del mismo modo, a partir de Junos OS versión 17.4R1, el prefijo para cada módulo YANG de configuración refleja la jerarquía de instrucciones de configuración que se incluye en ese módulo. Los módulos de extensión y tipo de Junos YANG usan el identificador de familia de junos dispositivos en el espacio de nombres, pero los módulos son comunes a todas las familias de dispositivos.
| Módulo YANG |
Lanzamiento |
URI del espacio de nombres |
Prefijo |
|---|---|---|---|
| Módulos de configuración |
17.1 y versiones anteriores |
http://yang.juniper.net/yang/1.1/jc |
|
| 17.2 a 17.3 |
http://yang.juniper.net/yang/1.1/jc/configuration/device-family/release |
|
|
| 17.4R1 y versiones posteriores |
http://yang.juniper.net/device-family/conf/hierarchy |
|
|
| Módulos de comando operacional |
17.1 y versiones anteriores |
http://yang.juniper.net/yang/1.1/jrpc |
|
| 17.2 a 17.3 |
http://yang.juniper.net/yang/1.1/jrpc/module-name/device-family/release |
hierarchy |
|
| 17.4R1 y versiones posteriores |
http://yang.juniper.net/device-family/rpc/hierarchy |
hierarchy |
|
junos-state Módulos de estado |
22.2R1 y versiones posteriores | http://yang.juniper.net/junos/state/state-area |
js-area |
|
|
24.2R1 y versiones posteriores |
|
|
| Módulo de extensiones DDL |
17.1 y versiones anteriores |
http://yang.juniper.net/yang/1.1/je/ |
|
| 17.2 y posteriores |
http://yang.juniper.net/yang/1.1/je/junos-extension/junos/release |
|
|
| 17.4R1 y versiones posteriores |
http://yang.juniper.net/junos/common/ddl-extensions |
|
|
| Módulo de extensiones ODL |
17.1 y versiones anteriores |
http://yang.juniper.net/yang/1.1/jodl |
|
| 17.2 a 17.3 |
http://yang.juniper.net/yang/1.1/jodl/junos-extension-odl/junos/release |
|
|
| 17.4R1 y versiones posteriores |
http://yang.juniper.net/junos/common/odl-extensions |
|
|
| Módulo de extensiones de anotaciones de metadatos |
22.2R1 y versiones posteriores |
http://yang.juniper.net/junos/jcmd |
jcmd |
| Módulo Tipos |
17.4R1 y versiones posteriores |
http://yang.juniper.net/junos/common/types |
|
A partir de Junos OS versión 17.2, cuando se configura la rfc-compliant instrucción en el nivel de [edit system services netconf] jerarquía y se solicitan datos de configuración en una sesión de NETCONF, el servidor establece el espacio de nombres predeterminado para el <configuration> elemento en el mismo espacio de nombres que en el modelo de YANG correspondiente. Por ejemplo:
<rpc>
<get-config>
<source>
<running/>
</source>
</get-config>
</rpc>
]]>]]>
<nc:rpc-reply
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:junos="http://xml.juniper.net/junos/17.2R1/junos">
<nc:data>
<configuration
xmlns="http://yang.juniper.net/yang/1.1/jc/configuration/junos/17.2R1.13"
junos:commit-seconds="1493761452"
junos:commit-localtime="2017-05-02 14:44:12 PDT"
junos:commit-user="user">
...
</configuration>
</nc:data>
</nc:rpc-reply>
]]>]]>
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.
junos identificador de familia de dispositivos en lugar de
junos-qfx.
junos:command instrucción extension en esquemas emitidos con extensiones.