![77d560e429aeb9c975b866cbfaef95ff.png](https://i-blog.csdnimg.cn/blog_migrate/f331ecfffa3d6b9678a68c0440c0dc4f.jpeg)
简单网络管理协议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-Response:代理向管理者发送对之前报文的响应,并提供差错码、差错状态等信息。
(5)Trap:代理向管理者报告代理中发生的异常事件。
SNMPv2协议增加了GetbulkRequest消息、Inform-Request消息。GetBulkRequest管理站一次读取代理处MIB中大量成块数据, 高效率地从代理处获取大量管理对象数据。该消息在检索大量管理信息时使所需要的协议交换数目大大减少。InformRequest消息实现管理进程之间互相通信,也就是由管理站发起,向另一个管理站报告状态或数据。
![ed61ebfa7518d8b3accf51600238c863.png](https://i-blog.csdnimg.cn/blog_migrate/2d46af9a896700f322580525d01de83d.jpeg)