이 페이지의
Junos XML 관리 프로토콜 및 Junos XML API 사용의 이점
Junos XML 관리 프로토콜과 Junos XML API 는 지원되는 모든 Junos OS 운영 요청, Junos OS 구성 계층의 모든 명령문, 구성 모드 명령에 해당하는 기본 작업에 대한 모든 옵션을 완벽하게 문서화합니다. 태그 이름은 운영 또는 구성 요청 또는 구성 명령문에서 요소의 기능을 명확하게 나타냅니다.
의미 있는 태그 이름과 DTD의 구조적 규칙을 결합하면 XML 태깅된 데이터 세트 또는 문서의 내용과 구조를 쉽게 이해할 수 있습니다. Junos XML 및 Junos XML 프로토콜 태그 요소는 장비에서 정보를 요청하는 클라이언트 애플리케이션이 출력을 구문 분석하고 특정 정보를 찾을 수 있도록 지원합니다.
디바이스 출력 구문 분석
다음 예제에서는 Junos XML API를 통해 디바이스 출력을 더 쉽게 구문 분석하고 필요한 정보를 추출하는 방법을 보여 줍니다. 이 예제는 Junos OS를 실행하는 디바이스에서 형식화된 ASCII 및 XML 태깅 버전의 출력을 비교합니다.
형식의 ASCII는 다음과 같습니다.
Physical interface: fxp0, Enabled, Physical link is Up Interface index: 4, SNMP ifIndex: 3
해당 XML 태깅 버전은 다음과 같습니다.
<interface> <name>fxp0</name> <admin-status>enabled</admin-status> <operational-status>up</operational-status> <index>4</index> <snmp-index>3</snmp-index> </interface>
클라이언트 애플리케이션이 형식화된 ASCII 출력에서 특정 값을 추출해야 하는 경우, 절대적으로 또는 인접 필드의 레이블 또는 값과 관련하여 표시된 값의 위치에 의존해야 합니다. 클라이언트 애플리케이션이 인터페이스 인덱스를 추출하기를 원한다고 가정해 보겠습니다. 정규 표현식 매칭 유틸리티를 사용하여 특정 문자열을 찾을 수 있지만 한 가지 어려움은 인터페이스 인덱스의 숫자 수가 반드시 예측 가능하지 않다는 것입니다. 클라이언트 애플리케이션은 단순히 Label 다음 Interface index:
의 특정 문자 수를 읽을 수는 없지만, Label과 후속 Label SNMP ifIndex:
간의 모든 것을 추출하고 포함된 쉼표도 고려해야 합니다.
Junos OS의 최신 버전에서 텍스트 출력의 형식이나 순서가 변경되면 문제가 발생합니다. 예를 들어 인터페이스 인덱스 번호에 따라 필드가 추가되면 Logical index:
새로운 형식의 ASCII가 다음과 같이 나타날 수 있습니다.
Physical interface: fxp0, Enabled, Physical link is Up Interface index: 4, Logical index: 12, SNMP ifIndex: 3
이제 레이블에서 구분된 인터페이스 인덱스 번호를 추출하는 Interface index:
SNMP ifIndex:
애플리케이션이 잘못된 결과를 얻습니다. 새로운 구분 기호로 Label을 검색하려면 애플리케이션을 Logical index:
수동으로 업데이트해야 합니다.
이와 반대로 XML 태그 출력의 구조화된 특성을 통해 클라이언트 애플리케이션은 오프닝 <index>
태그 내의 모든 것을 추출하고 태그를 닫 </index>
아 인터페이스 인덱스를 검색할 수 있습니다. 애플리케이션은 출력 문자열에서 요소의 위치에 의존할 필요가 없으므로, Junos XML 프로토콜 서버는 태그 요소 내 <interface>
의 모든 순서로 하위 태그 요소를 내출할 수 있습니다. 향후 릴리스에 새 <logical-index>
태그 요소를 추가해도 애플리케이션이 태그 요소를 찾 <index>
은 후 컨텐트 추출을 수행할 수 있는 기능에 영향을 미치지 않습니다.
디바이스 출력 표시
XML 태깅된 출력은 형식화된 ASCII 출력과는 다른 디스플레이 형식으로 변환하는 것이 더 쉽습니다. 예를 들어, 특정 디바이스 구성 요소에 대한 상세 정보를 서로 다른 시간에 표시할 수 있습니다. 디바이스가 형식화된 ASCII 출력을 반환하면 표시 프로그램에서 특정 루틴 및 데이터 구조를 작성하여 지정된 세부 수준에 적합한 정보를 추출하고 표시해야 합니다. 이와 반대로 XML 출력의 고유한 구조는 디스플레이 프로그램의 자체 구조에 이상적인 기반이 됩니다. 또한 몇 가지 수준의 세부 사항에 대해 동일한 추출 루틴을 쉽게 사용할 수 있으며 덜 상세한 디스플레이를 만들 때 필요하지 않은 태그 요소를 무시하기만 하면 됩니다.