闲话SNMP

www.net130.com     日期:2011-11-2    浏览次数:
出处:muziyiwu 的BLOG
-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span>

解剖SNMP:

首先把SNMP解个小剖.SNMP分为SNMP管理器(服务器)SNMP代理(客户端)MIB(数据库).

SNMP管理器是用SNMP控制和监视网络主机活动的系统。最常见的是NMS。具体产品见CiscoWorks2000.

SNMP代理是被管理设备的软件部分,维护和报告设备的数据给管理系统。比如ADSL里面的SNMP客户端就是SNMP代理的一种.

MIB是用于网络管理信息的虚拟信息存储区,包括管理对象的集合。MIB模块是由SNMP MIB模块语言写成。SNMP代理包括了MIB变量SNMP管理器可以通过Get或者Set操作来请求或者修改设备参数。管理器可以从代理读取值或者存储值到代理。代理从MIB中收集数据,MIB是设备参数和网络数据信息的仓库。老是有客户要MIB文件,其实就是个数据结构模型.

  SNMP管理器》获取或者设置SNMP代理MIB

  SNMP代理》responsetrapsSNMP管理器

WhileI’m writing, gossip really takes me a lot of time. There is no need to regret about it now, just continue my network studying. Because my regret will waste my time further

SNMP怎么运行的?

SNMP使用UDP端口161来发送和接受请求,端口162来接受被管理设备的Traps.

SNMP使用下面运行来获取数据,修改SNMP对象变量和发送通知。Get/Set/Send notification

SNMP Get: NMS用来获取SNMP对象变量。分为三种:

Get-SNMP代理中获取精确对象

GetNext-获取下一个对象变量,指定变量的下一个,按照特定顺序。

getBulk-获取大量对象变量值,免得重复GetNext

SNMP SetNMS用来修改对象变量值。

SNMP notificationSNMP代理可以主动提供通知。

  Trapsinforms

主动通知可以以trapsinform request形式生成。Traps是用来提醒SNMP管理器网络情况的消息。Informs是包括证实SNMP管理器收到请求的traps通知可以用来显示不当用户认证,重启,连接关闭,与邻居路由器连接中断或者其它重要事件。

  Traps没有informs可靠,因为traps,接收者在收到traps后不需要发送确认。发送者不知道trap有没有收到。SNMP收到inform后,使用SNMP response PDU确认。如果发送者没有接收到response,将会重新发送informTrapsUDPInformsTCP

   通常情况下,还是选择用traps,因为informs太耗网络和路由器的资源。不像trap一样,发出去后就完事了,但是inform发出去后,必须留在内存了,直到Response或者请求时间到。Traps只发一次,inform会重发,从而增加流量。实际使用,还是要看具体情况,就像使用UDP还是TCP一样。

MIBsRFCs

MIB模块主要是在RFC文档里面定义的。思科使用的是RFC 1213描述的MIB II变量和RFC 1215里面的SNMP Traps

SNMP版本

SNMPv1RFC1157,安全是基于community string

SNMPv2c:基于community string的管理框架

以上两个版本使用community概念来建立管理器和代理之间的信任。代理配置三种community名字:read-only, read-writetrap,其实就是相当于密码的使用。

SNMPv3:定义在RFC3413RFC3415。提供了安全访问设备,因为认证和加密了数据包。

安全性体现在:消息完整性,认证,加密

SNMPv1SNMPv2c使用了community形式安全。

分享道
相关新闻