jv开发SNMP协议_第1页
jv开发SNMP协议_第2页
jv开发SNMP协议_第3页
jv开发SNMP协议_第4页
jv开发SNMP协议_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SNMP协议原理及开发流程 SNMP协议 SNMP基本原理 SNMP定义 SNMP SimpleNetworkManagementProtocol 简单网络管理协议 前身是简单网关监控协议 SGMP 用来对通信线路进行管理 随后 人们对SGMP进行了很大的修改 特别是加入了符合Internet定义的SMI和MIB 体系结构 改进后的协议就是SNMP SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台 因此SNMP受Internet标准网络管理框架的影响也很大 现在SNMP已经出到第三个版本的协议 其功能较以前已经大大地加强和改进了 SNMP详细 所有的网络管理系统所包含 包括SNMP 被管理的节点 被监视的设备 如 电脑 交换机 监控器等 管理代理 用来跟踪被管理设备状态的特殊软件或固件 网络管理工作站 与在不同的被管理节点中的代理通讯 并显示代理的中心设备 网络管理协议 被管理工作站和代理用来交换信息的协议 管理信息数据库 提供有关被管网络设备的信息 管理信息数据库结构 MIB MIB是一个概念上的数据库 由被管理对象组成 每个管理代理管理MIB中属于自己的本地对象 这些对象的信息共同构成全网的MIB SNMP协议的核心是被管理的对象 MIB的结构必须符合使用TCP IP的Internet的管理信息结构 SMI SMI定义的属性支持的对象类型 如 接口 带宽 流量 IP等 语法 识别对象时语法规定 存取 权限 网元自身所拥有的权限 状态 状态信息 MIB以OID objectid 来标识当前所在节点位置的信息如 OID 1 3 6 1 2 1 7 1 以点分隔开的树状路径 管理信息数据库详细 MIB MIB信息数据库是逻辑数据库 并非物理数据库 树节点数字是由上向下读 管理信息数据库详细 MIB 在Internet结点下面的第二个结点是mgmt 管理 标号是2 再下面是管理信息库 原先的结点名是mib 1991年定义了新的版本MIB II 所以结点名现改为mib 2 其标识为 1 3 6 1 2 1 或 Internet 1 2 1 这种标识为对象标识符 最初的结点MIB将其所管理的信息分为8个类别 现在的mib 2所包含的信息类别已超过40个 对象命名树的顶级对象有三个 在ISO的下面有3个结点 其中的一个 3 是被标识的组织 在其下面有一个美国国防部 DepartmentofDefense 的子树 6 再下面就是Internet 1 在只讨论Internet中的对象时 可只画出Internet以下的子树 图中带阴影的虚线方框 并在Internet结点旁边标注上 1 3 6 1 数据库节点信息 SNMP请求数据 IP数据 20字节 UDP数据 SNMP数据 8字节 工作站与网元之间的密码信息等 共同的 getRequestgetResponse 除告警的4个 告警 SNMP代理 在SNMP中 一般采用管理者 代理的管理模型 管理者可以是工作站 微机等 一般位于网络系统的主干或接近主干的位置 它负责发出管理操作的指令 并接收来自代理的信息 代理则位于被管理的设备内部 把来自管理者的命令或信息请求转换为本设备特有指令 完成管理者的指示 或返回它所在设备的信息 管理者和代理之间的通信遵从SNMP及相关协议 管理者将管理要求通过管理操作指令送给位于被管理系统中的代理 代理则直接管理被管理设备 代理可能因为某种原因拒绝管理者的指令 管理者和代理之间的信息交换可以分为2种 从管理者到代理的管理操作 从代理到管理者的事件通知 以把在自身系统中发生的事件主动通知给管理者 SNMP代理 代理管理任务是驻留于网络被管理设备中的处理实体 作为一个智能前端处理器实现管理功能 每个代理拥有自己本地的MIB SNMP协议的是移交给代理来执行的 代理直接与相应的功能实体通信并执行信息处理任务 其主要任务是访问相关模块数据 发布控制消息 有2种消息由代理提供 Get response和Trap 代理翻译来自管理者的请求 验证操作的可行性 执行命令并发出合适的响应 网络管理工作站 GetRequest GetNextRequest SetRequest GetResponse Trap 告警 报文 161端口 162端口 管理设备代理 MIB SNMP代理的两种信息交互模式 网管代理服务程序作为一个后台程序存在于系统当中 管理信息保存在程序内部 代理 设备接口模块作为设备的子模块 它要及时的将设备的被管信息通过SNMP操作送到代理服务程序 或根据需要从代理服务程序中读取管理信息供设备使用 报告一个关于预先定义事件的异常信息 管理工作站Managingentity Reqest 请求 管理代理Agent MIB Response 返回 管理工作站Managingentity 管理代理Agent MIB Trapmsg 告警信息 故障管理 SNMP代理主程序模板 初始化SNMP 创建类Snmpx的一个实例 创建MIB 创建类MIB的一个实例 保存所有的MIB信息并分发SNMP请求 注册RequestList 创建类RequestList的一个实例 并在 2 中生成的Mib中进行注册 初始化RequestList RequestList需要SNMP消息处理部件来接收和发送SNMP消息 因此要把 1 中SNMP消息处理部件进行注册 添加MIB对象 以组 Group 为单位 根据需要添加所有的MIB对象 初始化MIB 从磁盘上加载MIB数据 并用这些数据初始化MIB对象 初始化Trap配置 从配置信息库中读取信息 初始化Trap配置 主线程 主线程负责处理进入的请求 监测被管设备 升级管理信息 SNMP代理的任务 对来自管理站的信息查询和动作执行的请求作出相应 和主动向管理站提供一些重要的费请求信息 告警 SNMP协议 二 SNMP各线程运行流程和图解 SNMP重连流程 网元重连中心 负责对需要重连网元的重新连接 维护连接失败或异常的网元 网元检测中心 线程任务中尝试对断连网元尝试进行连接 向网元代理发送指令前 首先检测连接是否正常 如果不正常则添加到断连列表内 检测中心会每隔一段时间来逐个检测已断连网元连接是否恢复正常 如果一网元连接失败 则会验证该网元曾经有没有成功连接过 发送至重连中心重连 如果是断连的则不断重连 直到该网元连接成功 当网元重连成功后会在重连中心和检测中心注销掉这个网元 注 每个网元都有连接状态属性 已连接 未连接 向代理发送命令时会检测修改连接状态 SNMP重连流程图解 将断连网元添加至断连列表 判断曾经有过成功连接 true 进行重连 重连失败 false 进行重连 重连成功 重连和检测中心注销掉本网元 线程检测 断连列表 遍历列表 报告异常 失败 向网元代理发送指令前检测连接是否正常 失败 SNMP心跳流程 对每一个已经注册到心跳检测中心的网元 心跳中心将网元的最近活跃时间和当前时间进行比较 若二者的时间差大于网元处于不通信状态的时间 心跳中心认为需要进行握手检测网元是否连接正常 于是创建一个握手任务 负责和网元进行一次 握手 启动心跳检测线程 遍历正常连接网元列表 每次遍历流程 首先从心跳中心列表 正常连接的列表 中注销掉本网元 然后向该网元发起握手信号 接收网元的握手响应 成功 若接收到的响应不为空 心跳检测正常 重新注册该网元到心跳检测中心 失败或异常 若有异常 向网元异常池添加该异常 在重连中心注册该网元 SNMP心跳流程图解 所有可用网元列表 遍历 向该网元发起握手信号 在重连中心注册本网元 异常 添加回列表 定时检测 向网元发送握手信号 等待接收 网元代理 接收到 并验证为握手信号 向网元代理发送指令前检测连接是否正常 成功 失败 成功 SNMPGet Request原理流程 SNNP的get Request是工作站和代理最基本常用的交互方式 get Request用161端口收发消息 当工作站需要获取网元信息 或工作站需要操作设置网元属性时需要用到此方式来交互 当工作站向网元代理发送一个消息 网元代理监听到161端口发来的命令消息时 会针对消息的内容来做出反应 如 服务端发来GET消息时 需要网元代理提供该网元的某系统信息时 网元代理就会自行的通过本地MIB库获取到该信息 然后返回工作站 工作站可以通过getResponse来获取网元代理返回的信息 并进行业务处理 注 get Request形式的交互是 setRequest getRequest getNextRequest getResponse 的统称 SNMPGet Request流程图解 代理线程 线程 开启网元命令监听 解析数据包处理消息 向代理发送命令 业务需要网元系统信息 向161端口发送 网元设置操作 封装发送 SET Get Response监听 向161端口发送 获取数据包getResponse 解析PDU 继续业务处理 开启监听线程 SNMP告警原理流程 当网元触发一个异常 会自行通过代理向工作站发送一个告警 工作站在启动的时候 会开启一个Trap监听器 通过监听本机162 告警默认端口 端口 来监听代理发送过来的告警 当工作站监听到162端口有数据包存在 DPU不为空 时 就对DPU进行解析 获取网元发送的详细信息 然后就会执行告警处理 注 1 162端口是SNMP的告警默认端口 161端口是SNMP的get request的默认端口 PDU是协议数据单元 可以看做MIB的节点 数据包属性信息 SNMP告警流程图解 网元触发告警 网元发送告警信息 开启告警监听 监听等待 162端口 发送封装的数据包 PDU 获取到PDU处理消息 继续监听 线程 添加到告警列表 遍历 网元代理 工作站 封装告警信息 信息 共同体 工作站地址等 业务处理线程 开启Trap监听器 SNMP协议 三 Java开发SNMP协议 Java开发SNMP明细 首先安装SNMP服务 控制面板 添加与删除工具 添加与删除组件 管理和监视工具 详细信息 选择 简单网络管理协议 确定 启动SNMP服务 下载SNMP4J jar新建项目 加入snmp4j jar 编写代码 枚举网元类型 目前只有1种类型 摄像机类型 封装网元的基本属性 可操作属性 可返回属性等 封装target 连接时网元的地址 端口 传输协议 共同体等 封装PDU 数据包 封装网元过滤规则 通过一些表达式来限定处理网元的范围 检测中心 包含重连操作和检测线程 心跳中心 心跳检测线程 封装Get Request 命令发送和监听Response返回的线程 监听Trap报告 监听162端口 封装Trap报告 主线程 入口 负责启动各项所需线程 Java开发SNMP运行流程 程序入口在主线程 主线程启动后 加载一些配置和启动其他的一些明细线程 心跳线程 检测中心线程 Trap监听等 Trap监听 同步的线程 运行后 会在工作站的162端口监听从网元发送来的告警信息 并将告警信息添加进告警列表内 同时在Trap监听接口里实现清除告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论