SNMPAgent设计软件详细设计说明书.docx
- 文档编号:9443458
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:13
- 大小:176.92KB
SNMPAgent设计软件详细设计说明书.docx
《SNMPAgent设计软件详细设计说明书.docx》由会员分享,可在线阅读,更多相关《SNMPAgent设计软件详细设计说明书.docx(13页珍藏版)》请在冰豆网上搜索。
SNMPAgent设计软件详细设计说明书
案卷号
日期
2014-07-03
SNMPAGENT设计
软件详细设计说明书
作者:
完成日期:
2014年07月03日
签收人:
签收日期:
修改情况记录:
版本号
修改批准人
修改人
安装日期
签收人
1.3定义1
3系统设计说明3
3.1系统描述3
3.2功能3
3.3性能3
3.4输入项4
3.5输出项4
3.6算法8
3.7流程逻辑9
3.8接口11
3.9存储分配11
3.10注释设计11
3.11限制条件11
3.12测试计划12
3.13尚未解决的问题12
1引言
1.1编写目的
Agent软件需求说明书为项目后续的系统测试计划,概要设计提供依据,为设计人员,编码测试人员做相关参考。
该说明书供下列对象查阅:
系统设计人员;软件开发人员;软件测试人员;系统维护人员等。
1.2背景
软件名称:
网络管理平台代理Agent;
本项目的任务提出者:
冯建老师
开发者:
闫阿丹
1.3定义
缩写
注释
描述
Snmp
SimpleNetworkManagementProtocol
简单网络管理协议
MIB
MangerinformationBase
管理信息数据库
OID
ObjectIdentifier
对象标识符
OMID
ObjectMonitorIdentifier
监控对象标识符
1.4参考资料
1)参考标准的snmp协议;
2)SNMP,MIB:
RFC1155,RFC1157,RFC1213;
2程序系统的结构
软件各模块关系图:
Agent内部结构说明:
设备侧
SnmpManager
设备侧
MIB加载和管理
和设备之间的通信
协议的转换和转发
Agent
Agent内部结构图说明:
1)Agent和SnmpManager之间通过UDP连接,执行snmp协议;端口(161,162)
2)Agent和设备侧之间通过TCP\IP连接;
通信消息接口包括:
(1)查询请求消息:
Get-Request;
(2)查询响应消息:
Get-Response;
(3)设置请求消息:
Set-Request;
(4)设置响应消息:
Set-Response;
(5)集群查询请求消息:
Get-Next-Request;
3系统设计说明
3.1系统描述
SNMP是用来规定Manager和Agent之间是如何传递管理信息的应用层协议。
SNMPAgent接受来自SNMPManager的请求报文后,进行解码,分析,然后从相关模块中得到管理变量的值,生成Response报文,编码返送回SNMPManager。
在有异常告警的情况下,Agent向Manager主动发Trap报文,Manager收到后,进行解码,分析,然后作出相应措施。
为了简化Agent的开发,SNMP规定只有两种操作Get,Set,前者用于从被管设备获取管理信息。
后者通过设置变量值来起到配置被管设备的作用。
Manager和Agent之间通过发送报文来传递管理信息,系统中规定了五种报文:
Get Request报文:
用于获取指定管理变量的值。
GetNext Request报文:
用于连续获取一组管理变量的值。
GetResponse报文:
用于响应请求,返回请求值或错误类型等。
Set Request报文:
用于设置指定的管理变量。
Trap报文:
用于在紧急情况下由被管设备向NMS主动发信息
3.2功能
设计网络管理平台代理SNMPAGENT,使程序运行后能与SNMPMANAGER程序正确通信。
系统总的来说可以分为五大模块,即初始化模块、通信模块、报文处理模块、Trap处理模块和MIB管理模块。
主要实现mib的加载,实现对snmp消息的解析并转换为内部消息,实现对对应底层设备的获取和设置,包括对设备信息的读取,设置,及告警消息的上送等功能。
3.3性能
1.静态数值需求可能包括:
1)由于网络管理平台所管理的设备的属性具体相同的属性,所以不会为Agent下面的每个设备分配一个唯一的OID,采用公共的OID和IP来确定网络管理系统内的设备属性的唯一性;
2)目前设计需求Agent支持连接最大10个monitor的终端,如果超过一个地区的monitor超过10个则另外安装一个Agent支持,并为Agent分配新的AgentID;
3)支持并行操作的用户数;
4)处理的文卷和记录数;
5)表和文卷的大小。
2.动态数值需求可能包括:
欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。
3.4输入输出项
1.SNMP连接功能
1)说明:
系统启动时首先要建立SNMP通信;
2)输入:
读取配置文件:
port1:
161;port2:
162;
3)处理:
调用snmp提供的开发包建立连接;
4)输出:
无;
2.加载MIB功能
1)描述:
Agent对MIB进行加载:
Agent模块初始化的时候要对管理的MIB库进行加载到系统中以便实现对设备的管理;
2)输入:
无;
3)处理:
加载MIB;
4)输出:
a)加载成功,写加载成功日志;
b)加载失败,系统退出,写加载mib失败日志;
3.GetRequest查询节点信息请求
1)描述:
SnmpManager通过Agent获取节点信息的GetRequest消息;
2)输入:
a)Agent从161端口读取SnmpManager发送的snmp的GetRequest消息;
b)Monitor输入到Agent的响应消息;
3)处理:
Getrequest查询信息请求消息图
说明:
1)Agent收到Manager的GetRequest消息;
2)Agent对收到的GetRequest消息进行解析,根据OID查找相应的OMID;根据OMID查找到对应的设备,并组成查询请求消息发送的相应的设备侧,等待设备侧返回响应消息;(Agent同步返回GetResponse消息)
3)Monitor返回查询请求的响应消息给Agent;
4)Agent根据Monitor响应消息返回给Manager响应消息;
4)输出
a)输出到Monitor查询请求消息;
b)输出到ManagerGetResponse响应消息;
4.SetRequest设置节点信息请求
1)描述:
SnmpManager通过Agent设置节点信息的SetRequest消息;
2)输入:
a)Agent从161端口读取SnmpManager发送的snmp的SetRequest消息;
b)Monitor输入到Agent的响应消息;
3)处理:
Setrequest查询信息请求消息图:
说明:
1)Agent收到Manager的SetRequest消息;
2)Agent对收到的SetRequest消息进行解析,根据OID查找相应的OMID;根据OMID查找到对应的设备,并组成设置请求消息发送的相应的设备侧,等待设备侧返回响应消息;(Agent同步返回GetResponse消息)
3)Monitor返回查询请求的响应消息给Agent;
4)Agent根据Monitor响应消息返回给Manager响应消息;
4)输出:
a)输出到Monitor设置请求消息;
b)输出到ManagerGetResponse响应消息;
5.GetNextRequest集群查询节点信息请求
1)描述:
SnmpManager通过Agent获取节点信息的GetNextRequest消息;
2)输入:
a)Agent从161端口读取SnmpManager发送的snmp的GetNextRequest消息;
b)Monitor输入到Agent的集群信息信息请求响应消息;
3)处理:
GetNextRequest查询信息请求消息图:
说明:
1)Agent收到Manager的GetNextRequest消息;
2)Agent对收到的GetNextRequest消息进行解析,根据OID查找相应的OMID;根据OMID查找到对应的设备,并组成查询请求消息发送的相应的设备侧,等待设备侧返回响应消息;(Agent同步返回GetResponse消息)
3)Monitor返回查询请求的响应消息给Agent;
4)Agent根据Monitor响应消息返回给ManagerGetRequest响应消息;
4)输出
a)输出到Monitor查询请求消息;
b)输出到ManagerGetResponse响应消息;
6.Trap告警上送消息
1)描述:
设备侧产生告警后,当告警级别高于现在系统设置的告警级别后要上报到Agent,Agent收到设备侧的告警后要写本地告警日志,并上报Trap消息到Manager;
2)输入:
设备侧发送告警消息到Agent;
3)处理:
Getrequest查询信息请求消息图:
说明:
1)monitor发送告警消息上送到Agent;
2)Agent收到Monitor的告警消息后根据本地消息中的告警级别分析是否上报,告警级别大于本地告警级别时,先写本地告警日志,然后编码Trap消息,否则只写本地告警日志;
3)Agent发送Trap消息到Manager;
4)输出
a)发送Trap消息到Manager;
b)输出到ManagerGetResponse响应消息;
3.6算法
在设计软件的过程中用到DES加密算法和MD5哈希函数算法。
DES算法实现加密需要三个步骤:
第一步:
变换明文。
对给定的64位比特的明文x,首先通过一个置换IP表来重新排列x,从而构造出64位比特的x0,x0=IP(x)=L0R0,其中L0表示x0的前32比特,R0表示x0的后32位。
第二步:
按照规则迭代。
规则为:
Li=Ri-1;Ri=Li⊕f(Ri-1,Ki)(i=1,2,3…16)其中符号⊕表示的数学运算是异或,f表示一种置换,由S盒置换构成,Ki是一些由密钥编排函数产生的比特块。
第三步:
对L16R16利用IP-1作逆置换,就得到了密文y。
MD5哈希函数算法对于每个明文分组的摘要生成过程如下:
(1)将512位的明文分组划分为16个子明文分组,每个子明文分组为32位。
(2)申请4个32位的链接变量,记为A、B、C、D
(3)子明文分组与链接变量进行第1轮运算。
(4)子明文分组与链接变量进行第2轮运算。
(5)子明文分组与链接变量进行第3轮运算。
(6)子明文分组与链接变量进行第4轮运算。
(7)链接变量与初始链接变量进行求和运算。
(8)链接变量作为下一个明文分组的输入重复进行以上操作。
(9)最后,4个链接变量里面的数据就是MD5摘要。
3.7流程逻辑
3.8接口
1.用户接口
提供用户使用软件产品时的接口需求。
例如,如果系统的用户通过显示终端进行操作,就必须指定如下要求:
a.对屏幕格式的要求;
b.报表或菜单的页面打印格式和内容;
c.输入输出的相对时间;
d.程序功能键的可用性。
2.软件接口
需要与SNMPManager同时使用,因此需要有与其连接的接口。
SNMPAgent接受来自SNMPManager的请求报文后,进行解码,分析,然后从相关模块中得到管理变量的值,生成Response报文,编码返送回SNMPManager。
在有异常告警的情况下,Agent向Manager主动发Trap报文,Manager收到后,进行解码,分析,然后作出相应措施。
3.9存储分配
在other init 对其他接口模块(tcp_mib,ip_mib,ipx_mibetc.)进行初始化,是为存放相对应的表的索引分配内存。
3.10注释设计
a.在模块首部加必要的注释;
b.在各分枝点处加注释;
c.对各变量的功能、范围、缺省条件等所加注释;
d.对使用的逻辑加注释等。
3.11限制条件
a.硬件配置的特点(接口数,指令系统等);
b.内存储器和辅助存储器的容量。
3.12测试计划
首先对初始化监听进行测试,测试结果应该是成功的;
再进行Get-Request、Get-Next-Request、Set-Request消息的测试,预期结果应该是可以收到消息并能作出Get-Response应答;
最后测试Trap消息能否发送成功。
3.13尚未解决的问题
软件设计是没有实现GetBulk和Inform这两个PDU,也就是说是SNMPv1,不是SNMPv2,功能上不是特别强大,性能不是很完善等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SNMPAgent 设计 软件 详细 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)