Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

운영되는 장치에서의 YANG Junos OS

YANG는 구성 및 운영 상태 데이터, 원격 프로시저 호출(RPC) 및 네트워크 디바이스의 서버 이벤트 알림을 모델링하는 데 사용되는 표준 기반의 Extensible 데이터 모델링 언어입니다. 당초 YANG의 NETMOD IETF(Internet Engineering Task Force) 네트워크 관리 데이터를 모델링하고 NETCONF(Network Configuration Protocol) 모델의 컨텐트 계층에 대한 표준을 제공하기 위해 YANG을 설계했습니다. 그러나 YANG는 프로토콜 독립형으로, YANG 데이터 모델을 전송 또는 RPC 프로토콜과 독립적으로 사용할 수 있으며 네트워크 구성 프로토콜에서 지원되는 인코딩 형식으로 변환할 수 있습니다.

주니퍼 네트웍스 구성 계층 및 운영 명령 및 Junos OS YANG 확장을 정의하는 YANG Junos OS 제공합니다. YANG 웹 사이트 또는 YANG의 주니퍼 네트웍스 주니퍼 네트웍스 GitHub 리포지토리에서 YANG 모듈을 다운로드하거나 Junos OS.

YANG은 데이터 계층형 조직인 C-like 구문을 사용하며 내장 유형은 물론 파생된 유형을 정의할 수 있는 기능을 제공합니다. YANG은 가독성을 강조하며 모듈 및 하위 모듈과 사용 가능한 유형 및 노드 그룹을 통해 모듈성과 유연성을 제공합니다.

YANG 모듈은 단일 데이터 모델을 정의하고 해당 데이터에 대한 인코딩을 결정합니다. YANG 모듈은 데이터를 통해 데이터 모델과 해당 데이터에 대한 계층적 구성 및 제약을 정의합니다. 모듈은 완전한 독립형 엔티티일 수 있으며, 다른 모듈 및 하위 모듈의 정의를 참조할 수 있을 뿐만 아니라 추가 노드를 통해 다른 데이터 모델을 보강할 수 있습니다.

YANG 모듈은 구문뿐만 아니라 데이터의 semantics를 정의합니다. 데이터와 제약 조건 간의 관계를 명시적으로 정의합니다. 이를 통해 제약 요건을 충족하는 구성 데이터를 구문적으로 수정하고 디바이스에서 업로드하고 커밋하기 전에 해당 모델과 데이터를 검증할 수 있습니다.

YANG는 모듈을 사용하여 SMI(Management Information)가 MIB를 사용하여 SNMP 작업을 위해 데이터를 모델링하는 방식과 유사한 방식으로 네트워크 운영을 위한 구성 및 상태 데이터, 알림 및 RPC를 정의합니다. 하지만 YANG는 운영 데이터와 구성 데이터를 구분할 수 있는 이점을 제공합니다. YANG는 SNMP의 SMI 버전 2(SMIv2)와 호환을 유지하며, libsmi를 사용하여 SMIv2 관리 정보 베이스(MIB) 모듈을 YANG 모듈로 변환하고 그 반대의 경우도 마찬가지입니다. 또한 YANG 파서(parser)를 사용할 수 없는 경우 YANG 모듈을 YANG Independent Notation(YIN)으로 변환할 수 있습니다. 이는 XML 파서와 XSLT 스크립트에서 읽을 수 있는 동등한 XML 구문입니다.

기존 YANG 기반 툴을 이용하거나 맞춤형 네트워크 관리 애플리케이션을 개발하여 보다 빠르고 정확한 네트워크 프로그래밍 기능을 위해 YANG 모듈을 활용할 수 있습니다. 예를 들어, 클라이언트 애플리케이션은 YANG 모듈을 활용하여 다양한 장치에 대한 벤더별 구성 데이터를 생성하고 해당 데이터를 장비로 업로드하기 전에 해당 데이터를 검증할 수 있습니다. 또한 이 애플리케이션은 예상치 못한 RPC 응답 및 오류를 처리하고 문제를 해결할 수 있습니다.

YANG에 대한 정보는 RFC 6020, YANG - NETCONF(Network Configuration Protocol)를위한 데이터 모델링 언어 및 관련 RFC를 참조하십시오.