SNMP介绍
  

静下心来敲木鱼 863

{{ttag.title}}
SNMP协议基础
基本概念
SNMP(Simple NetworkManagement Protocol)简单网络管理协议,是广泛应用于TCP/IP网络的网络管理标准协议,不仅实现了对网络设备高效和批量的管理,还屏蔽了不同厂商产品之间的差异,可以对不同厂商的产品进行统一管理
SNMP端口号为UDP 161和162端口
管理网络设备的的条件是网络设备需要支持SNMP协议
SNMP架构
NMS
将相关SoftWare软件安装到某台设备中,这台设备就会变为NMS
软件可以提供SNMP报文的交互,可以通过软件进行SNMP报文交互
网络管理员通过操作NMS,向被管理设备发出请求,从而可以监控和配置网络设备
例如自身电脑安装MIB Bro、服务器安装SNC等软件就可以作为管理站
Agent代理进程
设备被管理时,设备的代理进程来响应NMS的请求,把管理数据汇报给发送请求的NMS
网络设备在出厂时已经内置了相应的代理进程与标准SNMP协议对接,不需要我们额外安装(即设备收到标准的SNMP报文的信息,就会自动通过代理进程来响应)

MIB和SMI后续介绍
SNMP版本
SNMPv1
通过团体名认证,不加密
适用于小型网络,组网简单,安全性要求不高的网络
SNMPv2c
在V1的基础上修改,该协议能够支持分布式网络管理,通过团体名/用户名认证,不加密
适用于大中型网络,安全性要求不高,但业务比较繁忙,有可能发生流量拥塞的网络
SNMPv3
在V2c的基础上扩展了安全性,通过MD5/SHA认证,通过AES128或者DES56加密

适用于各种规模的网络,尤其是对安全性要求较高,只有合法的管理员才能对网络设备进行管理的网络


SMI数据类型
SMI 的作用
规定MIB中对象的命名方式、数据类型、编码和传输方式等
是定义MIB必须遵守的标准
SMI的数据类型
不同数据类型显示的信息不同,管理端在管理被管理端时也需要设置相应的数据类型
数据类型又分为简单类型、应用类型、结构类型
简单类型
整型(INTERGER)
字符串(OCTER STRING)
NULL(表示相关变量没有值)
应用类型
IpAddress      设备IP地址
PhysAddress  设备MAC地址
TimeTicks      时间计数器(0.01s单位递增)
结构类型
sequence      定义列表,一个sequence包含0个或多个元素,每个元素一种数据类型
squuence pf   定义表格,所有元素都具有相同的类型



MIB管理信息库
MIB基本概念
MIB是所有代理进程包含的,并且能够被管理进程查询和设置的信息的集合
被管理设备中哪些信息可以被管理,通过MIB来进行标识
Agent通过查找MIB表来收集设备状态信息;Agent通过修改MIB表来修改设备状态参数
即:代理进程查询MIB数据库(MIB数据库有这些东西才可以查询)
MIB为树形结构
每个OID(objectidentifier对象标识符)对应树中的一个管理对象,可以通过OID来标识不同的设备

其子分支就表示可以管理此设备的哪些内容(接口、设备名称、ip地址等参数)
MIB文件中数据结构节点的命名
文件描述
点分描述字符串
如Root.iso.org.dod.internet.mtmt.mib
对象标识OID描述(Object identifier)
由句点隔开的一组整数,用点分十进制整形字符串来标识

如 .1.3.6.1.2.1
叶子节点与非叶子节点
叶子节点和非叶子节点的区别
最末端的节点为叶子节点,其余节点为非叶子节点
可访问的节点称为叶子节点,不可访问的节点未非叶子节点

叶子节点中存放的是节点对应的变量,非叶子节点中存放的是叶子节点或非叶子节点
叶子节点存放的变量类型
叶子节点中存放的变量可以分为简单变量和表格变量两种
简单变量:一个OID节点只有一个值的变量

表格变量:一个OID节点具有多个值的变量
表格变量的索引
索引用于表格变量中,用于唯一标识相同OID中存在不同值;索引格式是一串十进制的值
不同的表格变量的索引不同

索引不一定是一个值,也有可能是多个值构成一个索引,只要能够唯一标识相同OID中存在不同值的情况就可以
节点标识
节点标识分为对象标识和实例标识
对象标识没有加索引或补.0;实例标识需要加上.0或者索引
对象标识—存储节点的OID
叶子节点/非叶子节点中的OID就称为对象标识
实例标识—存储叶子节点对应的值
对叶子节点的对象标识补.0或者补索引,补充完之后的标识就称为实例标识
只有实例标识可以进行实际数据的读取与设置
简单变量的OID为叶子节点的对象标识添加.0则为实例标识

表格变量的OID为叶子节点的对象标识添加索引则为实例标识
不同SNMP协议下NMS与Agent的交互操作

SNMPv1操作类型
Get查询,Set修改,Trap告警
Trp使用的端口号默认为162,其余都是161
Get         NMS查询被管理设备的信息
GetNext  NMS按照字典顺序查询被管理设备的信息
Set         NMS修改被管理设备的参数
Response被管理理设备对Get、GetNext、Set以及后续版本的GeetBulk、InformResponse五种操作的响应操作

Trap      被管理设备主动向NMS发送的告警信息
SNMPv2c操作类型
新增GetBulk、InformRequest操作
GetBilk  
NMS对被管理设备进行一组查询,相当于连续执行多次GetNext操作
在NMS上,可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数
InformRequest
本质上还是被管理设备向NMS发送的告警信息
只是通过IngormRequest进行通告的告警信息,NMS收到后会进行响应

比Trap消息多了一层确认收到消息的保护机制,在一定时间内没有收到回应将会发送Trap消息
SNMPv3操作类型
与SNMPv2c一样,只是v3会进行安全参数的协商,对所有交互的报文进行认证加密

针对SNMP的排查思路(C/S架构)
被管理端
是否开启SNMP、是否配置读写字
检查查询的信息是否存在(对于AC来说,网管平台如果要查看AP的信息,前提是AC上有对应AP的信息)
查看SNMP的流控信息(多台设备同时读取被管理设备时,可能会超过被管理设备配置的SNMP流控,导致SNMP报文丢失)--流控的设置是为了保证被管理设备的CPU
中间链路
检查被管理设备和管理设备的连通性(携带1500字节)
中间地址是否有防火墙,是否放通了UDP 161、162端口
管理端
读取操作是否正确(即是否误操作);OID是否正确
使用第三方MIB读取软件来读取信息,看是否是管理软件的问题

查看是否是软件使用的数据类型不匹配

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

新手719320 发表于 2023-11-22 23:11
  
感谢分享,努力学习中!!!!
dhf 发表于 2024-4-8 10:38
  
感谢楼主的精彩分享,有助工作!!!
小鱼儿 发表于 2024-4-14 00:25
  
一起来学习,一起来学习
taoyb 发表于 2024-4-14 00:25
  
一起来学习,一起来学习
taoyanbin 发表于 2024-4-14 00:25
  
一起来学习,一起来学习
唐三平 发表于 2024-4-14 00:26
  
一起来学习,一起来学习
鲤鲤 发表于 2024-4-14 00:36
  
一起来学习,一起来学习
蔺嘉宾 发表于 2024-4-14 00:36
  
一起来学习,一起来学习
梦境人生 发表于 2024-4-14 00:37
  
一起来学习,一起来学习
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
新版本体验
GIF动图学习
功能体验
产品连连看
标准化排查
自助服务平台操作指引
2023技术争霸赛专题
运维工具
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
深信服技术支持平台
安全攻防
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人