SNMP GetPrev: An Efficient Way To Access Data in Large MIB Tables David Breitgand, Danny Raz, and Yuval Shavitt Bell Labs, Lucent Technologies 101 Crawfords Corner Road, Holmdel, NJ 07733 davb@cs.huji.ac.il, {raz,shavitt}@research.bell-labs.com Accepted to IFIP/IEEE IM 2001, May 2001 Abstract: For many network management applications, e.g., MIB browsing, there is a need to traverse portions of a MIB tree, especially tables, in both directions. While the GetNext request defined by SNMP standard allows an easy and fast access to the next instance columnar object instance or next scalar object, there is no corresponding operator defined in the SNMP framework for retrieving the previous MIB object instance. This, in effect, allows an efficient MIB traversal only in one direction and makes the search in the reverse direction problematic. This paper presents a GetPrev application, a tool that substantially optimizes retrieval of the previous instances of a columnar objects or scalar MIB objects. Our GetPrev application uses only standard SNMP GetNext and Get requests to carry on a fast and bandwidth efficient search for the required object instance. For example, as our experiments show, retrieving a value of the last columnar object instance in a large forwarding table (ipForwardTable) containing about 3000 entries can take several minutes using a sequence of the GetNext requests (the straightforward approach used, e.g., by widely deployed snmpwalk and snmptable applications). The GetPrev application presented in this paper retrieves this value using no more than 20 GetNext requests (in most cases about 7 requests), taking no more than a second (i.e., it is two orders of magnitude faster and two to three orders of magnitude less bandwidth consuming).