SNMP - Simple Network Management Protocol =========================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is SNMP?** SNMP (Simple Network Management Protocol) is a widely used protocol for monitoring and managing devices on IP networks. It enables centralized monitoring of network-attached devices such as routers, switches, servers, printers, and more. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is SNMP useful?** SNMP is useful because it allows network administrators to gather performance data, detect faults, and configure devices remotely. It's essential for proactive network management and automation of alerts and reporting. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** SNMP operates using a manager-agent model. The **SNMP manager** queries or receives traps from **SNMP agents** running on network devices. The agent exposes data through a MIB (Management Information Base), which the manager reads or modifies using SNMP operations like GET, SET, and TRAP. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is SNMP used?** SNMP is used in enterprise networks, data centers, telecom infrastructure, and even IoT environments to monitor and manage network devices' health, performance, and configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** SNMP operates at the **Application Layer (Layer 7)** of the OSI model. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SNMP Windows specific?** No, SNMP is not Windows specific. While SNMP services and managers can run on Windows systems, it is supported across virtually all major platforms and devices. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SNMP Linux specific?** No, SNMP is not Linux specific. However, Linux-based systems often use SNMP agents (like `snmpd`) and provide a wide range of SNMP tools for monitoring and configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by SNMP?** SNMP primarily uses the **UDP** protocol for lightweight communication. However, TCP may be used in some implementations. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by SNMP?** SNMP typically uses: - **UDP port 161** for standard SNMP queries (GET, SET, etc.) - **UDP port 162** for SNMP traps and notifications .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SNMP using client-server model?** Yes, SNMP follows a **client-server (manager-agent)** model. The **SNMP manager** (client) requests or receives data from the **SNMP agent** (server) running on a network device. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`SNMP Version&RFC Details ` * :ref:`SNMP Basic Setup on Ubuntu using IPv4 ` * :ref:`SNMP Basic Setup on Ubuntu using IPv6 ` * :ref:`SNMP Protocol Packet Details ` * :ref:`SNMP Usecases ` * :ref:`SNMP Basic Features ` * :ref:`SNMP Feature : Simple Protocol ` * :ref:`SNMP Feature : Standardized Communication ` * :ref:`SNMP Feature : Agent-Manager Model ` * :ref:`SNMP Feature : MIB (Management Information Base) ` * :ref:`SNMP Feature : Polling and Traps ` * :ref:`SNMP Feature : Scalability ` * :ref:`SNMP Feature : Cross-Platform Support ` * :ref:`SNMP Feature : Security (SNMPv3) ` * :ref:`SNMP Feature : Extensibility ` * :ref:`SNMP Feature : Low Overhead ` * :ref:`Reference links ` .. _SNMP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _SNMP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _SNMP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _SNMP_step5: .. tab-set:: .. tab-item:: SNMP Version&RFC Details .. csv-table:: :file: ./SNMP/snmp_rfc_details.csv :widths: 10,10,10,30 :header-rows: 1 .. _SNMP_step20: .. tab-set:: .. tab-item:: SNMP Basic Setup on Ubuntu using IPv4 * Setup .. _SNMP_step21: .. tab-set:: .. tab-item:: SNMP Basic Setup on Ubuntu using IPv6 * Setup .. _SNMP_step6: .. tab-set:: .. tab-item:: SNMP Protocol Packet Details **GetRequest Packet** .. csv-table:: :file: ./SNMP/snmp_packet1_details.csv :widths: 10,20,30,10 :header-rows: 1 **GetNextRequest Packet** .. csv-table:: :file: ./SNMP/snmp_packet2_details.csv :widths: 10,20,30,10 :header-rows: 1 **GetBulkRequest Packet** .. csv-table:: :file: ./SNMP/snmp_packet3_details.csv :widths: 10,20,30,10 :header-rows: 1 **SetRequest Packet** .. csv-table:: :file: ./SNMP/snmp_packet4_details.csv :widths: 10,20,30,10 :header-rows: 1 **GetResponse Packet** .. csv-table:: :file: ./SNMP/snmp_packet5_details.csv :widths: 10,20,30,10 :header-rows: 1 **Trap Packet(SNMPv1)** .. csv-table:: :file: ./SNMP/snmp_packet6_details.csv :widths: 10,20,30,10 :header-rows: 1 **InformRequest Packet** .. csv-table:: :file: ./SNMP/snmp_packet7_details.csv :widths: 10,20,30,10 :header-rows: 1 **SNMPv2-Trap Packet** .. csv-table:: :file: ./SNMP/snmp_packet8_details.csv :widths: 10,20,30,10 :header-rows: 1 .. _SNMP_step7: .. tab-set:: .. tab-item:: SNMP Usecases .. csv-table:: :file: ./SNMP/snmp_usecases.csv :widths: 10,20,30 :header-rows: 1 .. _SNMP_step8: .. tab-set:: .. tab-item:: SNMP Basic Features .. csv-table:: :file: ./SNMP/snmp_features.csv :widths: 10,10,30 :header-rows: 1 .. _SNMP_step9: .. tab-set:: .. tab-item:: SNMP Feature : Simple Protocol **Simple Protocol - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature1_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step10: .. tab-set:: .. tab-item:: SNMP Feature : Standardized Communication **Standardized Communication - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature2_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step11: .. tab-set:: .. tab-item:: SNMP Feature : Agent-Manager Model **Agent-Manager Model - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature3_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step12: .. tab-set:: .. tab-item:: SNMP Feature : MIB (Management Information Base) **MIB (Management Information Base) - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature4_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step13: .. tab-set:: .. tab-item:: SNMP Feature : Polling and Traps **Polling and Traps - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature5_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step14: .. tab-set:: .. tab-item:: SNMP Feature : Scalability **Scalability - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature6_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step15: .. tab-set:: .. tab-item:: SNMP Feature : Cross-Platform Support **Cross-Platform Support - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature7_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step16: .. tab-set:: .. tab-item:: SNMP Feature : Security (SNMPv3) **Security (SNMPv3) - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature8_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step17: .. tab-set:: .. tab-item:: SNMP Feature : Extensibility **Extensibility - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature9_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step18: .. tab-set:: .. tab-item:: SNMP Feature : Low Overhead **Low Overhead - Testcases** .. csv-table:: :file: ./SNMP/snmp_feature10_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _SNMP_step19: .. tab-set:: .. tab-item:: Reference links * Reference links