SNMP is a protocol used to monitor network devices and their performance. It has three main components: managed devices that contain SNMP agents, the agents themselves that reside on devices, and network management stations that execute applications to monitor devices. There are three versions of SNMP - version 1 was the initial implementation, version 2 improved on security and performance, and version 3 focuses on authentication, privacy and access control to be considered the current standard.