Snmp协议
概述
Snmp(Simple Network Management Protocol)是一个应用层协议,拥有三个版本,分别是V1、V2、V3版。
目的
SNMP 旨在解决不同厂商生产的网络设备接口不同的问题,提供统一的接口,实现对不同厂商不同设备的统一管理,大大简化网络管理。
组件
网络管理系统(NMS)
NMS在网络中扮演管理者角色,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。
- NMS可以向设备上的Agent发出请求,查询或修改一个或多个具体的参数值。
- NMS可以接收设备上的Agent主动发送的Trap信息,以获知被管理设备当前的状态
简单来说,负责管理和监控网络设备,运行在管理端
代理进程(Agent)
在受管设备上运行的进程,用于接收来自 NMS 的请求,然后将答案返回给 NMS。
管理信息库(MIB)
指包含被管理设备维护的变量的数据库(信息可以由代理查询和设置)。
被管理对象(Managed Object)
是将被管理的对象,它可以是硬件组件(如接口板)或为硬件或软件配置的参数(如路由选择协议)。
工作原理
SNMP采用UDP协议在管理端和agent之间传输信息。
SNMP采用UDP 161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。
SNMP消息全部通过UDP端口161接收,只有Trap信息采用UDP端口162
操作类型
操作类型 | 描述 |
---|---|
Get | Get操作可以从Agent中提取一个或多个参数值。 |
GetNext | GetNext操作可以从Agent中按照字典序提取下一个参数值。 |
Set | Set操作可以设置Agent的一个或多个参数值。 |
Response | Response操作可以返回一个或多个参数值。这个操作是由Agent发出的,它是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四种操作的响应操作。Agent接收到来自NMS的Get/Set指令后,通过MIB完成相应的查询/修改操作,然后利用Response操作将信息回应给NMS。 |
Trap | Trap信息是Agent主动向NMS发出的信息,告知管理进程设备端出现的情况。 |
GetBulk | GetBulk操作实现了NMS对被管理设备的信息群查询。 |
Inform | InformRequest也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS回复InformResponse来进行确认。 |
Traps告警
SNMP Agent上报SNMP Traps有两种方式:Trap和Inform。Trap和Inform的区别在于,SNMP Agent通过Inform向NMS发送告警或事件后,NMS需要回复InformResponse进行确认。
Trap操作工作原理
Trap不属于NMS对被管理设备的基本操作,它是被管理设备的自发行为。当被管理设备达到告警的触发条件时,会通过SNMP Agent向NMS发送Trap消息,告知设备侧出现的异常情况,便于网络管理人员及时处理。例如被管理设备热启动后,SNMP Agent会向NMS发送warmStart的Trap。
这种Trap信息是受限制的。只有在设备端的模块达到模块预定义的告警触发条件时,SNMP Agent才会向管理进程报告。这种方法的好处是仅在严重事件发生时才发送Trap信息,减少报文交互产生的流量。
Inform操作工作原理
Inform操作也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管理设备没有收到确认信息则:
- 将告警或事件暂时保存在Inform缓存中。
- 重复发送该告警或事件,直到NMS确认收到该告警或者发送次数达到最大重传次数。
- 被管设备上会生成相应的告警或事件日志。
TNT
概述
指的是**DPS Telecom NetMediator **,是一款工业级的网络设备,核心定位是 “协议转换桥梁”。
与snmp的关系
很多老设备(如工厂的传感器、机房的老串口设备)不支持 SNMP 协议,无法直接被监控软件管理。TNT 的作用就是把这些非 SNMP 设备的数据,“翻译” 成 SNMP 格式,让它们能接入统一的监控系统。
核心功能
协议转换
把串口、传感器等设备的 “小众协议”,转成 SNMP协议
告警上报
当设备出问题(如传感器检测到温度过高),TNT 会主动通过 SNMP 向监控软件发 “告警信息”。