TCP/IP 인덱싱된 속성 및 디바이스 인덱스

인덱싱된 속성을 사용하면 숫자 인덱스를 스키마 속성 이름에 추가할 수 있으므로 여러 관련 속성이 동일한 이름을 공유할 수 있지만 각각에는 개별 속성을 식별하는 숫자 인덱스가 있습니다. 인덱스 값은 양의 정수여야 하지만 크기에 상한은 없습니다. 스키마 쿼리는 특정 요소와 연결되어야 하는 인덱스 값을 결정합니다. 이 메커니즘을 사용하면 MIB 테이블의 데이터에 액세스할 수 있습니다.

IndexedProperty 구문은 인덱싱된 속성을 정의합니다. 이 구문에는 다음과 같은 제한이 적용됩니다.

  • IndexedProperty 구문은 속성 구문의 부모일 수 없습니다. NonIndexedProperty 구문은 IndexedProperty 구문에서 인덱스 없이 속성을 정의하는 구문입니다.

  • IndexedProperty 구문이나 NonIndexedProperty 구문은 설치된 구문의 부모가 될 수 없습니다.

쿼리에는 디바이스 인덱스라는 다른 인덱스가 포함될 수도 있습니다. SNMP를 지원하는 네트워크 디바이스는 프린터를 비롯한 다양한 하위 서비스의 호스트가 될 수 있습니다. 네트워크 프린터의 MIB 테이블에는 디바이스 유형(디바이스 인덱스)에 따라 인덱싱된 항목이 있습니다. 쿼리가 MIB 테이블에서 데이터를 검색하려면 쿼리에 올바른 디바이스 인덱스가 있어야 합니다. 표준 TCP/IP 포트 모니터를 사용하면 포트 구성 UI에서 디바이스 인덱스를 구성할 수 있습니다. deviceIndexTRUE로 설정된 bidi 확장(설치된 구문 참조)을 사용하면 원래 OID에 연결된 디바이스 인덱스와 함께 OID가 생성됩니다. 인덱싱된 속성의 인덱스는 사용되는 경우 디바이스 인덱스 다음에 있는 OID에 연결됩니다.

코드 예

다음 코드 예제에서는 Printer 속성에 Display 속성을 추가하여 TCP/IP bidi 통신 스키마를 확장합니다. 또한 Display 속성에는 인덱싱된 속성인 Row가 있으며 deviceIndex 가 TRUE로 설정되어 있습니다. 여기에 표시된 스키마는 프린터 디스플레이의 특정 행에서 텍스트를 검색하는 쿼리를 생성합니다.

<Property name="Printer">
  <Property name="Display">
    <IndexedProperty name="Row">
      <Value name="Text" type="BIDI_TEXT" 
             oid="1.3.6.1.2.1.43.16.5.1.2" deviceIndex="true"/>
    </IndexedProperty>
  </Property>
</Property>

앞의 예제에서는 다음 쿼리를 생성합니다.

\Printer.Display.Row1:Text

이 예제에서 생성된 OID는 Value 속성의 oid 특성과 동일하게 시작되지만 두 개의 인덱스가 추가됩니다. 예제에 추가된 인덱스는 true로 설정되고 Row가 인덱싱된 속성인 deviceIndex 특성에서 발생합니다. 포트 구성 UI가 디바이스 인덱스를 111로 정의하고 프린터 디스플레이의 행 1에 있는 텍스트가 관심이 있다고 가정하면 생성된 OID는 1.3.6.1.2.1.43.16.5.1.2.111.1이 됩니다. 이 OID는 끝에 있는 디바이스 인덱스(111) 및 속성 인덱스(1)를 제외하고 원래와 동일합니다. deviceIndexFALSE로 설정되었거나 생략된 경우 결과 OID는 1.3.6.1.2.1.43.16.5.1.2.1일 것입니다. 표시의 행 n 에서 텍스트를 표시하려면 n의 속성 인덱스( n)를 사용합니다.