基于简单网络管理协议的异步通讯机制处理方法技术

技术编号:3547032 阅读:191 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及通信领域,公开了一种基于简单网络管理协议的异步通讯机制处理方法,使得能够区分长时间操作的重复TRAP消息,并且提高需多次反馈的操作的处理效率。这种基于简单网络管理协议的异步通讯机制处理方法包含以下步骤:A管理进程模块向代理进程模块发送操作命令报文;B代理进程模块判断操作命令是否是需要异步通知的命令,如果是,则通知管理进程模块已执行操作命令;C管理进程模块等待代理进程模块反馈操作结果;D代理进程模块通过含有操作命令报文的消息标识、结束标记、以及当前的报文序号的TRAP消息,向管理进程模块反馈操作结果。

【技术实现步骤摘要】
基于简单网络管理协议的异步通讯机制处理方法
本专利技术涉及通信领域,特别涉及在简单网络管理协议的应用中,对于需要长时间操作的命令的反馈方法。
技术介绍
随着网络技术的飞速发展,网络的数量和规模也越来越大。而网络中的设备来自各个不同的厂家,如何管理这些设备就变得十分重要。为此,互联网工程任务组定义了一套简单网络管理协议(Simple Network ManagementProtocol,简称″SNMP″)。SNMP是一种简单的、SNMP管理进程和SNMP代理进程之间的请求-应答协议。所有代理进程所包含的、能够被管理进程查询和设置的变量定义在管理信息库(Management Information Base,简称″MIB″)中。MIB是对象的集合,它代表网络中可以管理的资源和设备。每个对象基本上是一个数据变量,它代表被管理的对象的一方面的信息。SNMP被设计成与下层协议无关,所以它除了可以在互联网上工作外,还可以用于电话网络等其它的各种网络。基于SNMP的网络管理包含两个部分的实体:网络管理站和被管的网络单元(也叫被管设备)。网络管理站上运行SNMP管理进程,被管设备上运行代理进程。管理进程和代理进程之间的通信可以有两种方式:一种是管理进程向代理进程发出请求,查询或配置一些具体的参数值,代理进程根据这个请求回送相应的数据,或者设置管理对象的值;另外一种方式是代理进程在管理进程未请求的状态下主动向管理进程报告有某些事件发生。通过管理进程和代理进程的交互,网络管理站可以实现监视被管设备的状态、修改其配置、接收网络事件警告等管理功能。SNMP使用了一种异步客户机/服务器方法。这意味着一个SNMP实体-->(网络管理站或被管理设备)在发出一条消息后不需要等待一个应答;然而,除了自陷的情况(TRAP消息)以外应答都是要被产生的。利用TRAP原语,代理进程可以异步地发送告警给网络管理站,告诉它发生了某个满足预设条件的事件。SNMP目前有三个版本:V1、V2和V3。V1版本定义了GET-REQUEST、GET-NEXT-REQUEST、SET-REQUEST、GET-RESPONSE和TRAP等五种类型的报文;V2版本在V1的基础上增加了批量操作GET-BULK-REQUEST报文和INFORM-REQUEST报文;SNMP V3增加了面向用户的处理安全机制,  并没有增加新的报文类型。在现有SNMP协议应用中,对不同类型的命令报文回送响应有两种解决方案。第一种方案针对需要长时间操作的命令采用异步方式反馈结果。例如:SNMP管理进程发送一个SET命令,代理进程对命令进行检查,如果是长时间操作的命令,则在SET的响应报文直接反馈″操作已经执行″的信息,待操作结果产生后代理进程再向管理进程发送一个TRAP消息,该消息中包含操作结果,管理进程对收到的TRAP消息进行解析然后将操作结果显示给用户。第二种方案适用于某些需要代理进程多次反馈的命令。在这种解决方案中,由于SNMP协议规定命令和针对命令的响应必须一一对应,管理进程只能采用多次查询方式才能得到全部结果,代理进程每次只能被动地反馈结果。例如当利用文件传送协议(File Transfer Protocol,简称″FTP″)传送文件时,SNMP管理进程必须周期性发送查询命令才能让代理进程及时反馈文件传送进度。在实际应用中,上述方案存在以下问题:对于第一种技术,管理进程需要根据命令字和操作实体参数匹配TRAP消息和其所对应的命令,不仅易导致匹配不精确,而且由于需要动态分析消息内容,效率较低;对于第二种技-->术,问题在于管理进程和代理进程之间需要进行多次双向的消息交互,效率较低;而且当为了增强实时性而缩短查询间隔时间时可能会出现无效查询。造成这种情况的主要原因在于,尚未定义对TRAP消息的识别机制,无法快速准确地对TRAP消息进行识别和匹配。对于上述的第二种方案,造成这种情况的一个主要原因在于TRAP消息中没有特定消息标识和排序机制,无法对同一请求多次反馈。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于简单网络管理协议的异步通讯机制处理方法,使得能够区分长时间操作的重复TRAP消息,并且提高需多次反馈的操作的处理效率。为实现上述目的,本专利技术提供了一种基于简单网络管理协议的异步通讯机制处理方法,包含以下步骤:A管理进程模块向代理进程模块发送操作命令报文;B所述代理进程模块判断所述操作命令是否是需要异步通知的命令,如果是,则通知所述管理进程模块已执行操作命令;C所述管理进程模块等待所述代理进程模块反馈操作结果;D所述代理进程模块通过含有所述操作命令报文的消息标识、结束标记、以及当前的报文序号的TRAP消息,向所述管理进程模块反馈操作结果。其中,还包含以下步骤:E所述管理进程模块根据所述TRAP消息中的所述操作命令报文的消息标识识别操作任务,并根据所述结束标记判断操作结果是否上报结束,如果未结束,则返回步骤C。所述步骤C中,所述TRAP消息中的操作命令报文的消息标识是所述代-->理进程模块接收到的所述操作命令报文的请求标识值,并且所述当前的报文序号用于表示本次代理进程模块向管理进程模块反馈的报文的序号。在所述步骤C中,所述操作命令报文的消息标识、结束标记、以及当前的报文序号包含于所述TRAP消息的物理媒体相关子层的变量绑定列表中。通过比较可以发现,本专利技术的技术方案与现有技术的区别在于,在TRAP消息的内容中定义了命令报文标识、结束标记和当前报文序号三个字段。命令报文标识用于准确匹配长时间操作的命令报文和响应该报文的TRAP消息,同时上述三个字段结合可以实现对一次命令报文的多次反馈。这种技术方案上的区别,带来了较为明显的有益效果,即对命令报文和TRAP响应消息的准确匹配可以提高执行效率,提高消息匹配的可靠性;对同一命令的多次响应可以减少消息交互次数,节约网络带宽。附图说明图1是根据本专利技术的一个实施例的需多次反馈的异步响应消息流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。图1示出根据本专利技术的一个实施例的基于简单网络管理协议的异步通讯机制处理方法中相关消息流程图。如图1所示,首先在步骤101,管理进程10向代理进程20发送GET-REQUEST命令,请求获取某管理信息,例如FTP文件传送进度,命令中请求标识为1,表明该消息是管理进程10发往代理进程20的第一个命令。需要说明的是,SNMP报文包括公共SNMP首部、消息首部和变量三个部分。其中公共SNMP首部对于所有SNMP消息都是相同的,包含版本、共同体和协议数据单元类型三个字段;在SNMP第一版定义的五个消息中,-->TRAP消息首部包括企业、代理地址、TRAP类型、特定代码和时间戳五个字段,其余四个消息的消息首部中则包含请求标识,差错状态和差错索引三个字段;变量部分则可以携带内容信息或者自定义相关字段含义,本专利技术提出的方法就是通过在TRAP变量部分定义了命令报文标识、结束标记和当前报文序号三个有特定含义的字段来到达到方便匹配和消息排序的目的。接着进入步骤102,代理进程20分析收到的GET-REQUEST命令,发现需要多次反馈响应,就立刻向管理进程10回送G本文档来自技高网
...

【技术保护点】
一种基于简单网络管理协议的异步通讯机制处理方法,其特征在于,包含以下步骤:A管理进程模块向代理进程模块发送操作命令报文;B所述代理进程模块判断所述操作命令是否是需要异步通知的命令,如果是,则通知所述管理进程模块已执行操作命令 ;C所述管理进程模块等待所述代理进程模块反馈操作结果;D所述代理进程模块通过含有所述操作命令报文的消息标识、结束标记、以及当前的报文序号的TRAP消息,向所述管理进程模块反馈操作结果。

【技术特征摘要】
1.一种基于简单网络管理协议的异步通讯机制处理方法,其特征在于,包含以下步骤:A管理进程模块向代理进程模块发送操作命令报文;B所述代理进程模块判断所述操作命令是否是需要异步通知的命令,如果是,则通知所述管理进程模块已执行操作命令;C所述管理进程模块等待所述代理进程模块反馈操作结果;D所述代理进程模块通过含有所述操作命令报文的消息标识、结束标记、以及当前的报文序号的TRAP消息,向所述管理进程模块反馈操作结果。2.根据权利要求1所述的基于简单网络管理协议的异步通讯机制处理方法,其特征在于,还包含以下步骤:E所述管理进程模块根据所述TRAP消息中的所述操作命令报文的消息标...

【专利技术属性】
技术研发人员:刘广伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1