0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单网络管理协议(SNMP)的研究与应用

电子工程师 来源:xx 2019-04-05 15:23 次阅读

1 引言

简单网络管理协议SNMP(Simple Network Management Protocol)是由Internet工程任务组织IETF (Internet Engineer-ing Task Force)研究小组为解决Intemet上的路由器管理问题而提出的。SNMP是一系列协议组和规范,可提供一种从网络设备中收集网络管理信息的方法。 SNMP也为设备向网络管理工作站报告问题和错误提供方法。

2 SNMP体系结构简介

图1为SNMP体系结构与协议栈。

2.1 SNMP消息类型

SNMP消息类型提供请求与响应的交互形式,其中:(1)Get Request:管理站用来检索代理管理信息库中的标量对象值;(2)GetNext Request:管理站用来检索代理管理信息库中的当前标量对象的下一个对象值;(3)Set Request:管理站用来设置代理管理信息库中的标量对象值;(4)Response:代理用于发送管理站对代理的请求;(5)Tmp:代理用于向管理站报告管理对象的状态变化。图2为SNMP消息类型。

2.2 SNMP PDU协议数据单元结构

图3为SNMP报文格式。SNMP PDU协议数据单元结构描述如下:

2.3 ANS.1和BER

抽象语法表示(ANS.1)是一种形式语言,可提供统一的网络数据表示,用于定义应用数据的抽象语法和应用层协议数据单元结构。在OSI和SNMP的管理信息库都是用其定义的。基本编码规则(BER)用ANS.1定义的应用数据在传输过程中要按照一定的规则转换成比特串。图4给出了SNMP消息的BER编码实例(对代理202.117-49.61的Get请求)。

2.4 RFC1213管理信息库MIB

RFC1213定义MIB-2管理对象的核心集合,这些对象在任何SNMP系统必须实现。管理信息结构说明了定义和构造MIB的总体框架,以及数据类型的表示和命名方法。SMI只允许存储标量对象和矢量对象(表对象),不支持复杂的数据结构。其提供标准化技术表示管理信息如下:(1)SNMP所有的管理对象组织成分层结构;(2)提供结构化的信息组织技术;(3)提供命名机制。树中的叶子结点都有一个分层的编号。叶子结点代表实际的管理对象,从树根到树叶的编号串联起来,用圆点隔开,形成管理对象标识符。

2.5 UDP协议

用户数据报协议UDP(User Data Protocol)是一个面向无连接的协议,其传输效率较高。协议格式如表1所示。在SNMP代理中,常用161作为SNMP消息接收;162为AgentSNMP消息响应。

3 SNMP编程与测试环境

SNMP要求的编程环境有:Java;C/C++;Borland C++Builder6。该程序选用Borland C++ Builder6编程环境。而SNMP的测试环境要求:(1)Windows SNMP服务:Windows NT/Win-dows 2000/Windows XP的网络监视服务提供SNMP代理,端口:161;(2)AdventNet SNMP服务:AdventNet公司的SNMP代理。端口可自己设定;(3)AdventNet SNMP MIB Browse:AdventNet公司的SNMP动作测试工具;(4)Sniff软件是一个很好的网上抓包程序,用来分析发送和接收的SNMP消息。

4 SNMP编程实现

4.1 SNMP消息分析

通过对SNMP协议的理解在C++Builder中将其定义为以下结构体类型;分别完成对消息的构造和解析。

(1)消息结构的结构体

4.3 SNMP消息发送与接收

使用C++Builder提供的TNMUDP控件完成对SNMP消息的发送和接收,并存入Data1[]数组中,以备解析。以下为部分程序代码

4.4 SNMP消息解析

将UDP接收到的消息存入data1[]数组中,与消息的解析相反;将其每一部分添人所定义的SNMPMessage结构中,以备解析显示调用。以下为部分程序代码:

5 结束语

SNMP协议已广泛应用于各种路由器和高端交换机,同时在各种网络操作系统的远程管理中也广泛应用。利用该协议可监控网络核心设备的运行情况(流量、吞吐率、状态等),还可认证上网用户,完成计费功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SNMP
    +关注

    关注

    0

    文章

    85

    浏览量

    29744
  • 网络管理协议

    关注

    0

    文章

    8

    浏览量

    7792
收藏 人收藏

    评论

    相关推荐

    详解SNMP协议

      简单网络管理协议SNMP:Simple Network Management Protocol)是由互联网工程
    发表于 07-23 09:06 1.1w次阅读
    详解<b class='flag-5'>SNMP</b><b class='flag-5'>协议</b>

    基于SNMP网络拓扑结构自动发现研究

    基于SNMP网络拓扑结构自动发现研究 分析了简单网络管理
    发表于 09-19 09:22

    基于Web 的SNMP 网络管理

    SNMP 在基于TCP/IP 的网络中具有重要的管理地位,然而传统的SNMP 管理软件大多是基于C/S 结构的,这必然为
    发表于 08-15 09:25 33次下载

    基于SNMP协议网络管理系统设计

    基于SNMP和Java的网络管理是计算机网络管理的一种方法,本文对SNMP
    发表于 01-09 14:30 14次下载

    SNMP协议详解

    ...............................................................................................................32. 简单网络
    发表于 09-02 16:24 76次下载

    基于SNMP协议网络安全管理系统

    随着计算机网络的迅速普及,为保障网络高效可靠地运行,针对网络的安全性管理逐渐提上议事日程,该文介绍了在支持SNMP
    发表于 09-02 16:25 13次下载

    网络管理协议研究与应用

    通过对简单网络管理协议SNMP)的通讯原理、消息结构及抽象语法表示(ASN.1)、BER编码的分析,并对RFC1213
    发表于 12-27 15:45 23次下载

    什么是路由器SNMP?

    什么是路由器SNMP?   路由器里最为常用的网管协议就是SNMPSNMP是英文“Simple Network Management Protocol”的缩写,中文意思是
    发表于 01-08 15:01 1454次阅读

    什么是简单网络管理协议(SNMP)

    什么是简单网络管理协议(SNMP) SNMP(Simple Network Managemen
    发表于 03-20 15:13 2363次阅读

    基于SNMP网络监控系统开发平台与架构的设计与实现

    简单网络管理协议SNMP(Simple Network Management Protocol)是为网络
    发表于 11-30 08:52 6505次阅读
    基于<b class='flag-5'>SNMP</b>的<b class='flag-5'>网络</b>监控系统开发平台与架构的设计与实现

    snmp协议详解

    简单网络管理协议SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Inter
    发表于 01-15 15:13 6810次阅读
    <b class='flag-5'>snmp</b><b class='flag-5'>协议</b>详解

    SNMP五种协议数据单元以及SNMP框架组成

    什么是Snmp SNMP英文全称是“Simple Network Management Protocol”的缩写,英译过来就是“简单网络管理
    的头像 发表于 08-19 17:32 6127次阅读

    什么是SNMPSNMP是如何工作的?

    什么是SNMPSNMP是如何工作的? SNMP(简单网络管理
    的头像 发表于 12-27 13:58 1585次阅读

    SNMP配置及网络管理系统无法接收告警(Trap)的解决方法

    本文将详细介绍如何配置SNMP,并探讨网络管理系统(NMS)无法接收告警(Trap)的原因及解决方法。SNMP简单
    的头像 发表于 12-27 13:58 1926次阅读

    snmp协议的主要功能 snmp协议在哪一层

    SNMP(Simple Network Management Protocol)是一种用于网络管理的应用层协议。它主要用于监控和管理网络上的
    的头像 发表于 01-22 15:00 1804次阅读