MIB를 사용하여 라우터 관리 정보
라우터 관리를 위한 MIB(관리 정보 기반) API를 사용하면 라우터 관리자 또는 라우터 관리자가 서비스하는 라우팅 프로토콜 중 하나에서 내보낸 MIB 변수의 값을 쿼리하고 설정할 수 있습니다. 라우터는 이 API를 사용하여 SNMP(Simple Network Management Protocol)를 지원합니다.
SNMP 프레임워크에서 라우터의 관리 가능한 각 개체는 고유한 OID(개체 식별자)가 있는 변수로 표시됩니다. 각 OID에 해당하는 값은 개체의 현재 상태를 나타내는 값입니다. OID 및 값의 컬렉션을 MIB(관리 정보 베이스)라고 합니다. MprAdminMib 호출을 사용하면 개발자가 OID로 개체를 지정하고 개체의 값을 쿼리 또는 쓰기("Set")할 수 있습니다.
MIB 변수를 쿼리하고 설정하려면 호출을 서비스하는 모듈이 데이터 구조 집합을 정의해야 합니다. 이러한 데이터 구조에는 개체 식별자로 사용할 구조와 액세스되는 MIB 변수의 값을 보유하는 구조체가 포함됩니다. 이러한 데이터 구조는 MIB 함수의 호출자와 호출을 서비스하는 모듈을 제외한 모든 사용자에게 불투명합니다.
MIB 호출을 서비스하는 모듈은 라우터 관리자 또는 라우팅 프로토콜 중 하나입니다. 호출자는 라우팅 프로토콜 중 하나에서 호출을 처리하는 경우에도 라우터 관리자를 지정해야 합니다. 이러한 경우 호출자는 해당 라우팅 프로토콜에 대한 프로토콜 패밀리에 해당하는 라우터 관리자를 지정해야 합니다. 예를 들어 OSPF(Open Shortest Path First) 라우팅 프로토콜이 MIB 호출을 처리하는 경우 OSPF는 IP 프로토콜 패밀리에 속하므로 호출자는 IP 라우터 관리자를 지정해야 합니다. 각 MIB 함수에서 dwTransportId 매개 변수는 라우터 관리자를 지정하고 RoutingPid 매개 변수는 라우팅 프로토콜을 지정합니다. 라우터 관리자 자체에서 일부 MIB 변수를 처리할 수 있으므로 라우터 관리자에는 고유한 RoutingPid도 있습니다.
MprAdminMib 함수는 관리되는 컴퓨터가 아닌 다른 컴퓨터에서 호출할 수 있습니다. 값을 쿼리하거나 쓰는 MprAdminMIB 함수는 관리할 컴퓨터에 대한 핸들을 매개 변수로 사용합니다. MprAdminMIBServerConnect 함수를 사용하여 원격 컴퓨터에 대한 연결을 설정하고 이 핸들을 가져옵니다. 특정 관리 작업을 수행하는 데 필요한 MprAdminMIB 함수를 호출한 후 MprAdminMIBServerDisconnect 함수를 호출하여 원격 컴퓨터에 대한 연결을 종료합니다.
MprAdminMIBEntryCreate 및 MprAdminMIBEntrySet 함수는 OID 및 개체에 대한 새 값을 포함하는 버퍼를 매개 변수로 사용합니다.
MprAdminMIBEntryGet, MprAdminMIBEntryGetFirst 및 MprAdminMIBEntryGetNext 함수는 OID 및 포인터 변수의 주소를 매개 변수로 사용합니다. 반환이 성공적이면 포인터 변수는 개체의 값이 포함된 버퍼를 가리킵니다. 호출자는 MprAdminMIBBufferFree 함수를 호출하여 이 버퍼에 대한 메모리를 해제해야 합니다.
MprAdminMIBEntryGetFirst 및 MprAdminMIBEntryGetNext 함수를 사용하면 개발자가 SNMP 워크를 수행할 수 있습니다. OID는 순서가 지정되므로 각 OID 및 관리 가능한 각 개체에는 다음 OID가 있습니다. SNMP 워크는 OID 시퀀스를 읽거나 작성하여 MIB의 일부를 트래버스하는 것을 의미합니다.
모든 MprAdminMib 호출은 DIM(동적 인터페이스 관리자)을 통과합니다. OID에 따라 DIM은 라우터 관리자 중 한 명에게 호출을 전달합니다. (IP 및 IPX는 모두 SNMP를 지원합니다.) 다시 말하지만, OID에 따라 라우터 관리자는 호출 자체를 처리하거나 해당 클라이언트 중 하나에 호출을 전달할 수 있습니다. 비슷한 이름의 MprAdminMIB 함수에 해당하는 다음 함수를 구현하고 내보내려면 모든 라우터 클라이언트가 필요합니다.