snmp协议个人总结
snmp提供了一种从网络上的设备中收集网络管理信息的方法。snmp也为设备想网络管理工
作站报告问题和错误的提供了一种方法。snmp被设计成和协议无关的,可以基于任何协议

snmp采用C/S模式。对网络的管理和维护是通过管理工作站与snmp代理间的交互工作完成的
。每个snmp从代理负责回答snmp管理工作站关于MIB定义信息的各种查询。
snmp代理和管理站通过snmp协议中的标准消息进行通信,在传输层使用UDP进行无连接操作

snmp消息的标准格式
版本标识符           团体名         PDU
版本标识符:确保snmp代理使用相同的协议,每个snmp代理都直接抛弃与自己协议版本不
同的数据报。
团体名:用于snmp从代理对管理站进行认证。如果网络配置成要求验证时,snmp从代理舰
队团体名和管理站的IP地址进行认证,如果失败,snmp从代理将向管理站发送一个认证失
败的trap消息。
协议数据单元PDU:其中PDU指明了snmp的消息类型及其相关参数。
管理信息库MIB
        定义了可访问的网络设备及其属性,设备使用OID来唯一标识,MIB是一个树形结构。OID的
internet标识为{1.3.6.1},企业标识为{1.3.6.1.4.1}.世界上任何一个公司,学校都可以
申请获得一个结点名,这样各厂家就可以定义自己的产品的被管理对象名,使他们能使用
snmp进行管理。
snmp的五种协议数据单元(PDU)
get-request get-next-request get-response set-request trap
get-request:由管理站发出来向代理查询设备信息的。
get-next-request:由管理站发出向代理查询设备的下一参数。
get-response:由代理发出的给管理站的响应消息。
set-request:由管理站发出的对设备的属性进行修改,如设备名称,配置等。
trap:由代理向管理站发出的,一般用于描述某一事件的发生。
trap分为trap和inform request两种,前者不需要管理站回复确认,后者需要。
snmp的运行过程:
        被管代理使用UDP的161端口来接受来自管理站的串行化报文,经过解码,团体名验证,分
析得到管理站想要查找的设备及相关信息,代理读取设备信息然后形成响应报文。管理站
采用162端口来接受trap报文。
收集数据的方法:
        从被管理设备中收集数据有两种方法,一种是轮询,一种是中断。
        如果只采用轮询的方法,网管站总是在控制之下,这种方法的缺陷在于信息的实时性。多
久轮询一次,轮询时采用什么样的设备顺序呢?轮询间隔太小,将产生太多不必要的通信
量,间隔太大,并且轮询时顺序不对那么关于一些重大的灾难性的事件的通知又会太慢。
        当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站,但是产生错误或自
陷需要消耗系统资源,被管设备资源的消耗会影响他执行主要的功能。如果几个同类型的
自陷事件接连发生,那么大量网络带宽可能将被相同的信息占用,尤其是如果自陷是关于
网络拥挤问题的,事情就会变得特别的糟糕。克服这一缺陷的一种方法对于被管设备来说
,应当设置关于什么时候报告问题的阈值,但是设备又必须消耗更多的时间和系统资源来
决定一个自陷是否应该被产生。
        最终的解决办法是采用面向自陷的轮询。网管站轮询被管代理来收集数据,被管代理可以
在任何时候向网管站报告错误情况。轮询和自陷由管理站和代理交互来完成。