{"id":918,"date":"2026-03-19T08:46:54","date_gmt":"2026-03-19T08:46:54","guid":{"rendered":"https:\/\/networkingnotebook.com\/?p=918"},"modified":"2026-03-19T08:56:25","modified_gmt":"2026-03-19T08:56:25","slug":"snmp-read-write-operations","status":"publish","type":"post","link":"https:\/\/networkingnotebook.com\/?p=918","title":{"rendered":"SNMP Read\/Write Operations"},"content":{"rendered":"\n<p>SNMP is a network management protocol used to manage and monitor network devices on an IP network. It is an application layer protocol that is run in an agent-manager model. SNMP communication is initiated by both the manager and the agent, depending on the type of operation. Today I am going to discuss the various types of messages that can be done on both ends.&nbsp;<\/p>\n\n\n\n<p><strong>GET-<\/strong> I am going to start off with manager initiated commands that are used to retrieve information. When a manager sends commands to retrieve various information from an SNMP, it is called \u201cpolling.\u201d Polling in the context of pull vs push, is a pull model meaning the manager is retrieving information by initiating the request-response transaction. Polls are sent via UDP port 161 (agent). The first type of polling is called \u201cGET\u201d, and this is a request sent from a SNMP manager (NMS) to retrieve a value of a specific object in the network devices MIB. The manager simply sends the GET message along with its OID and the agent searches through its MIB, retrieves the value of the object and returns it to the manager.<br><\/p>\n\n\n\n<p><strong>GETNext- <\/strong>The second type of polling sent from a manager (NMS) is \u201cGETNext.\u201d GETNext is a type of command that is used to retrieve the value of the next sequential object in the MIB after the specified OID. This allows the manager to retrieve the value of objects without knowing the OID in advance. This is popular for an operation that is called \u201cMIB walking\u201d or \u201cSNMP walking.\u201d MIB walking, is retrieving several values of objects in the MIB back to back following another. MIB walking is great for going through large tables such as routing tables, interface tables, MAC address tables, or ARP tables.\u00a0<\/p>\n\n\n\n<p><strong>GETBulk-<\/strong> Although GETNext is a very efficient way of walking through an MIB for large tables, there is a much more efficient way of doing so which was introduced in SNMPv2. This operation is called \u201cGETBulk.\u201d This is an operation where the manager queries the agent for large blocks of data at one time. This allows the manager to retrieve a whole table (routing table, interface table) with fewer request-response cycles. Unlike GETNext where the manager sends a request back to back until it receives the whole table, GETBulk is able to receive that same table within one response. This operation reduces network traffic and uses less processing resources (CPU,RAM,etc).\u00a0<\/p>\n\n\n\n<p><strong>SET- <\/strong>The last operation that is sent from a manager is \u201cSET.\u201d This command allows the manager to change the value of an object. If the manager has the permission to change the value, all it has to do is provide the OID and the new desired value to the managed device\u2019s agent and that change will be made immediately.<\/p>\n\n\n\n<p><strong>Trap\/Inform-<\/strong> SNMP communication does not only happen on the manager side but also on the agent side as well. Agents can also initiate communication by sending \u201ctraps\u201d to the manager if an event or a condition has occurred. A trap is an unsolicited notification when something has changed within the managed device, so if a CPU threshold has been reached, an interface status went from up to down, or an internal server temperature is too high then the agent will automatically send this information to the manager. This is a push based type of notification, as the agent initiates this transaction of information. A trap is sent via UDP port 162 and is inherently unreliable being that no acknowledgements are required. A similar type of notification called \u201cinform\u201d was introduced in order to provide some reliability. An inform is still an unsolicited notification sent from an SNMP agent, but it requires the manager to send an acknowledgement. If an acknowledgement is not sent from the manager within a certain time interval, the inform notification will be sent again.\u00a0<\/p>\n\n\n\n<p><strong>Read vs Write- <\/strong>These operations can either be classified as read or write. GET, GETNext, and GETBulk are classified as \u201cread\u201d while \u201cSET\u201d is usually classified as write. This is important when it comes to permissions which I will talk about in my next upcoming blog. A read operation is a permission level granted to a SNMP manager (NMS) that allows the manager to retrieve or view the information and values of the objects in MIB but is not allowed to modify it. A write operation is a type of permission level granted to an SNMP manager (NMS) that allows the manager to modify or configure the values of the managed objects in the devices MIB.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-1024x394.png\" alt=\"\" class=\"wp-image-921\" srcset=\"https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-1024x394.png 1024w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-300x115.png 300w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-768x295.png 768w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-1536x590.png 1536w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-19-2048x787.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"322\" src=\"https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-1024x322.png\" alt=\"\" class=\"wp-image-924\" srcset=\"https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-1024x322.png 1024w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-300x94.png 300w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-768x242.png 768w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-1536x483.png 1536w, https:\/\/networkingnotebook.com\/wp-content\/uploads\/2026\/03\/image-20-2048x645.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>SNMP is a network management protocol used to manage and monitor network devices on an IP network. It is an application layer protocol that is run in an agent-manager model. SNMP communication is initiated by both the manager and the agent, depending on the type of operation. Today I am going to discuss the various&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-918","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=918"}],"version-history":[{"count":4,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/918\/revisions"}],"predecessor-version":[{"id":925,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/918\/revisions\/925"}],"wp:attachment":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}