简单网络管理协议SNMP中的管理程序和代理程序按客户机/服务器方式工作。管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序。在被管对象上运行的SNMP服务器程序不停的监听来自管理站的SNMP客户程序的请求或命令。一旦收到了,就立即返回管理站所需要的信息或执行某个操作。
网络管理系统可访问的被管设备的状态信息等都保存在管理信息库MIB中。MIB是一个树形结构。
在SNMPv1版本,只验证团体名,属于同一团体的管理站和被管理站才能互相作用。类似于密码的作用。
SNMPv2c也采用团体名认证。在兼容SNMPv1的同时又扩充了SNMPv1的功能:它提供了更多的操作类型(GetBulk和inform操作)。
SNMPv3最大的改进就在于安全性。
SNMP使用的是无连接的UDP协议,因此在网络上传送SNMP报文的开销很小,但UDP是不保证可靠交付的。同时SNMP使用UDP的方法有些特殊,在运行代理程序的服务器端用161端口来接收Get或Set报文和发送响应报文(客户端使用临时端口),但运行管理程序的客户端则使用熟知端口162来接收来自各代理的Trap报文。
SNMP定义了一些常见的协议数据单元。
(1)Get-Request:管理者从代理读取一个或一组变量的值。
(2)Get-NextRequest:管理者从代理的MIB树上读取下一个变量的值。
(3)Set-Request:管理者对代理的一个或多个MIB变量的值进行设置。
(4)Get-R