Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Enjoy The TCP/IP Guide? Get the complete PDF!
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Network Configuration and Management Protocols (BOOTP, DHCP, SNMP and RMON)
           9  TCP/IP Network Management Framework and Protocols (SNMP and RMON)
                9  TCP/IP Simple Network Management Protocol (SNMP) Protocol
                     9  SNMP Protocol Operations

Previous Topic/Section
SNMP Protocol Basic Request/Response Information Poll Using GetRequest and (Get)Response Messages
Previous Page
Pages in Current Topic/Section
1
2
Next Page
SNMP Protocol Object Modification Using SetRequest Messages
Next Topic/Section

SNMP Protocol Table Traversal Using GetNextRequest and GetBulkRequest Messages
(Page 1 of 2)

The GetRequest-PDU message we examined last topic is the one used by applications to request values for regular, single variables in an SNMP managed object's management information base. As I mentioned in the topic describing MIB objects, however, the Structure of Management Information (SMI) also allows a management information base to contain tabular data.

MIB tables are a useful way for a device to store and organize a set of related data items. It would be rather inefficient to try to structure these items just as collections of regular objects. For example, a device may have multiple IP addresses. It would be inefficient to define one MIB object called ipAddr1, and another called ipAddr2, and so on to store IP address information. Instead, an object called ipAddrTable is defined in the original SNMPv1 MIB, which specifies a table containing one or more entries called ipAddrEntry. Each entry contains the IP address and subnet mask for one of the interfaces of the device.

SNMPv1 Table Traversal Using GetNextRequest

There needs to be a way to let an SNMP manager may wish to read the contents of these tables from a device. This can be done using the regular GetRequest-PDU message, by specifying each entry in the table one after the other. However, this is somewhat crude, and it leaves a problem: the SNMP manager may not know how many entries are in the table, and therefore, how many entries it should request.

The problem of table traversal was addressed in SNMPv1 through the creation of a new message type called GetNextRequest-PDU. You can think of this as a “relative” version of the regular GetRequest-PDU. The GetNextRequest-PDU contains the name of a tabular variable, as well as a particular entry in the table. The device receiving the GetNextRequest-PDU uses this to look up the next value in the table and return it in a GetResponse-PDU message.

The actual protocol exchange is about the same as that described in the previous topic: a request is sent by the SNMP manager and a reply returned by the SNMP agent. The difference is that instead of the SNMP agent returning the value for the variable specified, it returns the value of the next variable in the table. This is then used as the value for the next request, and so on, until the last entry in the table is reached. Once this happens and a GetNextRequest-PDU is sent that contains this last entry, the responding device indicates this by returning the MIB object that conceptually follows the table in the implementation of the management information base. This signals to the SNMP manager that the table has been fully traversed.

Key Concept: The SNMP GetNextRequest-PDU message allows a network management station to request a series of consecutive variables in a management information base. This is most commonly used to allow tabular data to be more easily retrieved without requiring that each variable in the table be individually specified.



Previous Topic/Section
SNMP Protocol Basic Request/Response Information Poll Using GetRequest and (Get)Response Messages
Previous Page
Pages in Current Topic/Section
1
2
Next Page
SNMP Protocol Object Modification Using SetRequest Messages
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.