YANG 모듈 개요
YANG 데이터 모델은 모듈 및 하위 모듈로 구성되며 YANG 기반 클라이언트에서 사용할 구성 및 상태 데이터, 알림 및 RPC를 정의할 수 있습니다. YANG 모듈은 데이터와 해당 데이터의 계층적 조직 및 제약을 통해 데이터 모델을 정의합니다. 각 모듈은 네임스페이스 URI로 고유하게 식별됩니다.
모듈은 단일 데이터 모델을 정의합니다. 그러나 모듈은 외부 모듈을 임포트하기 위해 명령문을 사용하거나 하나 이상의 서브무두를 포함하도록 명령문을 사용 import 함으로써 다른 모듈 및 include 서브미들에서 정의를 참조할 수 있습니다. 또한 모듈은 명령문을 사용하여 데이터 모델 계층에서 새로운 노드의 배치를 정의하고 when 새 노드가 유효한 상태를 정의하는 명령문을 사용하여 augment 다른 데이터 모델을 확대할 수 있습니다. 모듈은 feature 명령문을 사용하여 조건부인 모듈의 부품과 deviation 명령문을 사용하여 장비의 구현이 원래 정의에서 벗어날 수 있는 위치를 지정합니다.
외부 모듈을 임포트할 때 임포트된 모듈에서 정의를 참조할 때 사용되는 접두사 정의 임포트된 모듈에 정의된 것과 동일한 Prefix를 사용하여 충돌을 방지할 것을 권장합니다.
YANG은 노드가 있는 계층형 트리 기반 구조를 사용하여 데이터를 모델링합니다. YANG은 4가지 노드 유형을 정의합니다. 각 노드에는 이름이 있으며 노드 유형에 따라 노드가 값을 정의하거나 하위 노드 집합을 포함할 수 있습니다. 노드 유형은 다음과 같습니다.
리프 노드—특정 유형의 단일 값 포함
leaf-list 노드—일련의 리프 노드 포함
컨테이너 노드—4가지 노드 유형 중에서 하위 노드만 포함하는 관련 노드 그룹화 포함
list node—하나 이상의 키 리프에 의해 고유하게 식별되는 일련의 목록 엔트리를 포함합니다.
YANG에서 각 리프 및 리프 리스트 노드는 해당 노드에 type 유효한 데이터를 위한 데이터 유형을 식별하는 명령문을 포함합니다. YANG는 내장 유형 집합을 정의하며 기본 제공 유형 또는 다른 파생 유형이 될 수 있는 기본 유형에서 파생된 유형을 정의하기 위한 명령문을 제공합니다 typedef .
기본적으로 노드는 구성 데이터를 정의합니다. 노드는 상태 데이터를 태그 config false한 경우 를 정의합니다. 구성 데이터는 NETCONF 작업을 사용하여 반환되고, NETCONF <get-config> <get> 작업을 사용하여 상태 데이터가 반환됩니다.
YANG 언어의 구문 및 의미론에 대한 자세한 내용은 다음을 참조하십시오.