# SNMP

SNMP is an industry-standard framework and protocol that was originally released in 1988.

* RFC 1065 - Structure and identification of management information for TCP/IP-based internets.
* RFC 1066 - Management information base for network management of TCP/IP-based internets.
* RFC 1067 - A simple network management protocol.

SNMP can be used to monitor the status of devices, make configuration changes, etc.

There are two main types of devices in SNMP:

1. Managed Devices\
   -> These are the devices being managed using SNMP.\
   -> For example, network devices like routers and switches
2. Network Management Station (NMS)\
   -> The device/devices managing the managed devices.\
   -> This is the SNMP 'server'.

## Operations

There are three main operations used in SNMP.

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FZ8OM6YSBOlFKtOWCexUY%2FScreenshot%20from%202023-08-03%2009-15-04.png?alt=media&#x26;token=0cd5d6c0-745d-4dcb-9c8a-b2fc096c32b8" alt=""><figcaption></figcaption></figure>

1. Managed devices can notify the NMS of events.

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FVOoWVEEZlb7gPx72lsUx%2FScreenshot%20from%202023-08-03%2009-15-41.png?alt=media&#x26;token=17555385-42b8-4f28-8a8a-3b51ea035f7f" alt=""><figcaption></figcaption></figure>

2. The NMS can ask the managed devices for information about their current status.

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FyPTrW1nUQfZQLE2klYla%2FScreenshot%20from%202023-08-03%2009-16-53.png?alt=media&#x26;token=df1768a3-d4fc-4ff2-a42c-820a56e7d3c6" alt=""><figcaption></figcaption></figure>

3. The NMS can tell the managed devices to change aspects of their configuration.

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FzjWv5bLZBteyDt028nXd%2FScreenshot%20from%202023-08-03%2009-19-54.png?alt=media&#x26;token=441954c2-e9b1-4a89-b74e-dae7d5b3ac1e" alt=""><figcaption></figcaption></figure>

## Components

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FOFpISDqlSJ5VTdfwbCRi%2FScreenshot%20from%202023-08-03%2009-20-46.png?alt=media&#x26;token=174637b5-afb6-422e-8d98-28a4a220067a" alt=""><figcaption></figcaption></figure>

* The **SNMP Manager** is the software on the NMS that interacts with the management devices. It receives notifications, sends requests for information, send configuration changes, etc.
* The **SNMP Application** provides an interface for the network admin to interact with. Displays alerts, statistics, charts, etc.
* The **SNMP Agent** is the SNMP software running on the managed that interacts with the SNMP Manager on the NMS. It sends notification to/receives messages from the NMS.
* The **Management Information Base (MIB)** is the structure that contains the variables that are managed by SNMP. Each variable is identified with an Object ID (OID). Example variables: Interface status, traffic throughput, CPU usage, temperature, etc.

### OIDs

SNMP Object IDs are organized in a hierarchical structure.

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2F4pTcu6q1fqgW60mhKevr%2FScreenshot%20from%202023-08-03%2009-53-23.png?alt=media&#x26;token=a6d6a392-49fb-4263-9672-474518cb8804" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1474932522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAgItg4KAZpnXjAFPWRf8%2Fuploads%2FPTn7CIN8FhMXlKz55Dsz%2FScreenshot%20from%202023-08-03%2009-54-07.png?alt=media&#x26;token=3aca0d0f-81f3-4ee7-bf2c-66b92cf15dc4" alt=""><figcaption></figcaption></figure>
