《实战录》导语
云端卫士《实战录》栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,2017年我们将一如既往地为朋友们奉献更多优质内容。本期分享人为云端卫士大数据工程师谢志博,主要介绍简单网络管理协议(SNMP)。
SNMP(Simple Network Management Protocol),中文名是简单网络管理协议,该规范是由IETF在1990年五月发布的RFC 1157中定义。
SNMP为网管界定了管理者(Manager)和代理者(Agent,被管理设备)之间的关系。管理者可对管理设备提出效能、配置、和状态等信息的询问,透过要求与回复(request/replay)的简单机制来查询代理者的当前信息,两者之间主要是通过PDU协议数据单元来载送。SNMP使用UDP作为IP的传输层协议。
SNMP对于任何程序设计人员来说是特别易于理解的。简单来说,一个网络设备以守护进程的方式运行SNMP代理,该守护进程能够响应来自网络的各种请求信息。
但是它通常被认为较难理解,并且过于复杂,原因就是其可用的API似乎在本来非常简单的东西外面封装了大量的东西,而关于SNMP的书籍又往往只是把它更加复杂化。
在实现过程中,管理者会发送一个PDU给一个代理者(可以是路由器、交换机、防火墙……等可支持网管的设备),代理者收到管理者所发出内含询 问信息的PDU报文后,再透过PDU回传给相关的管理者。
在该过程中,代理者基本上只能处于被动的状态,反复进行一问一答的模式,而唯一可由代理者自动发 出的只有Trap的不定期回报特殊状况信息。
SNMP协议有两个基本命令模式:read和 read/write。