Snmp通信系统和方法

文档序号:7958642阅读:140来源:国知局
专利名称:Snmp通信系统和方法
技术领域
本发明涉及一种SNMP(简单网络管理协议)通信系统和方法,特别涉及一种能够进行大批量数据查询和指定复杂条件进行数据处理的SNMP通信系统和方法。
背景技术
SNMP是目前业界流行的网络管理标准,为网络管理系统提供了底层网络管理的框架。SNMP协议的应用非常广泛,诸多种类的网络设备、软件和系统都采用该协议来实现网络管理管理功能。
SNMP的网络管理模型包括以下关键元素SNMP管理站(SNMPManager)、SNMP代理(SNMP Agent)、管理信息库(MIB)和被管理设备(Managed Device)。SNMP管理站一般是一个分立的设备,是网络管理员与网络管理系统之间的接口。被管理的设备是网络中的一个节点,有时被称为网元,被管理的设备可以是路由器、交换机、网桥、集线器、主机等,每个支持SNMP的网络设备中都运行着一个SNMP代理;SNMP代理是驻留在被管理设备上的网络管理软件模块,负责收集和存储管理信息,记录网络设备的各种情况。管理信息库是由SNMP代理维护的一个信息存储库,是一个具有分层特性的信息的集合,它可以被网络管理系统所控制。管理信息库中定义了各种数据对象,作为设在代理处的管理站访问点的集合,管理站可以通过直接控制这些数据对象去控制、配置或者监控网络设备。
SNMP管理站通过SNMP代理来进行管理工作,SNMP代理的主要功能之一,就是协助SNMP管理站完成整个网络的管理工作。SNMP代理定期收集被管理设备的重要信息,收集到的信息将用于确定独立的网络设备、部分网络或者整个网络运行的状态时候正常。SNMP管理站定期查询SNMP代理收集到有关被管理设备的运转状态、配置以及性能等信息。
SNMP管理站和SNMP代理之间运行的协议操作包括GetRequest、GetNextRequest、SetRequest、GetResponse,它们的含义如下GetRequest用于获取指定被管理对象的值的请求报文;GetNextRequest用于连续获取一组被管理对象的值的请求报文;SetRequest用于设置指定的被管理对象的值的报文;GetResponse用于设置指定的被管对象的请求报文,是上述三个协议操作的返回。
在传统意义上,SNMP管理站通过网络向SNMP代理发送GetRequest、GetNextRequest、SetRequest等请求,SNMP代理接收该请求,根据MIB(管理信息库)中的MIB文件对被管理设备的管理对象进行操作,并向SNMP管理站发送GetResponse响应包返回操作结果。这里每个管理的对象都是确定的,其含义和标识通过MIB文件确定,每个管理对象都通过唯一的OID(对象标识符)标识。每个管理对象也是相互独立的,互相之间也没有关联性,这也正是SNMP协议简单通用的特性。
下面描述其通用的处理过程当SNMP管理站需要查询被管设备某几个管理对象的信息时,在GetRequest中指定这几个管理对象的OID,SNMP代理接收到该请求后,通过内部接口从被管设备中获取对应的信息,并返回GetResponse响应包回应这几个管理对象的信息。例如,SNMP管理站若想查询被管设备的对象sysDesc、sysObjectID(标准RFC1213中定义的system(系统)组的节点)的信息,SNMP管理站在GetRequest请求包中指定sysDesc的OID值1.3.6.1.2.1.1.1.0和sysObjectID的OID值1.3.6.1.2.1.1.2.0,并将GetRequest请求包下发给SNMP代理,SNMP代理在GetResponse响应包中返回对应的值。
当SNMP管理站需要对被管设备某几个管理对象进行设置时,在SetRequest中指定这几个管理对象的OID和对应的值,SNMP代理就会将这几个管理对象的操作设置到被管设备,并返回给SNMP管理站具体的操作结果。例如,SNMP管理站若想设置被管设备的对象sysContcat和sysName(标准RFC1213中定义的system组的节点,支持read-write(读写))的信息,SNMP管理站在SetRequest请求包中指定sysContact的OID值1.3.6.1.2.1.1.4.0和需要设置的具体的管理对象值;并指定sysName的OID值1.3.6.1.2.1.1.5.0和需要设置的具体的管理对象的值,并将SetRequest请求包下发给SNMP代理,SNMP代理将对应的值设置到被管设备,并在GetResponse响应包中返回对应的操作结果。
当被管设备的管理对象存在多个时,通常将其定义为mibTable,并通过表的索引来标识对应的管理对象。比如RFC1213中定义的ifTable端口组,此时SNMP管理站可通过GetNextRequest请求包来遍历整张表的数据,也可通过GetRequest请求包查询具体某个索引的对象信息。
GetRequest、GetNextRequest和SetRequest请求包对应的响应包都是GetResponse。上面几种模式的操作中,一般在GetRequest、GetNextRequest、SetRequest请求包中,管理对象和GetResponse响应包中的对象是一一对应的。在这种模式下,当用户需要通过设置简单的查询条件,查询一些比较复杂的被管设备的信息时,通过这种传统意义上的Get或者Set操作就难以实现。例如,SNMP管理站希望指定一个号码段查询该号码段的用户相关信息,包括用户的上网时间、运营商信息等,或者希望设置某个号码段用户的某个属性信息,通过这种传统意义上的Get或者Set操作是无法实现的,就算操作起来也相当麻烦(比如可以将用户的号码信息、上网时间、运营商信息等定义为一张mibTable,将号码信息设置为表的索引,通过指定索引来轮询操作该表),而且当用户想要改变查询或者设置的条件时,比如用户想要设置某个号码段在某个上网时间的某个属性信息,通过上面定义的表也是无法实现的。此种情况下无法体现SNMP协议的简单通用性,反而加大了网络传输的负担。
此外,SNMP协议对错误码的定义是比较简单的,一般在Get或者Set操作失败时,通过在GetResponse包中返回一个错误码来确定具体的错误信息。但在下面的应用场合,比如SNMP代理管理多个被管设备,某个Get或者Set操作需要SNMP代理同时从多个被管设备获取信息,或者同时操作到多个被管设备,此时可能在多个被管设备上操作失败,也可能在某个被管设备上操作失败,而且失败的原因也不一样,只是通过一个简单的错误码是无法明确具体的错误信息的。

发明内容
本发明的目的在于提供一种SNMP通信系统和方法,使得SNMP管理站可以非常简单地设置查询条件或设置条件来查询或设置复杂的管理对象。
依照本发明的SNMP通信系统,其包括一SNMP管理站,一SNMP代理,以及被管设备,其中,SNMP管理站发送查询条件或设置条件给SNMP代理,SNMP代理操作至相应的被管设备,被管设备根据SNMP管理站和被管设备预先确定的接口,解析该查询条件或设置条件,执行相应的查询或设置操作。
在如上所述的SNMP通信系统中,当SNMP管理站发送查询条件给SNMP代理以执行查询操作时,SNMP代理为该查询分配一传输事务ID,并将其发送给SNMP管理站。
在如上所述的SNMP通信系统中,所述查询条件包括期望查询的返回记录数。
在如上所述的SNMP通信系统中,如果查询成功,SNMP代理将查询结果描述信息存储在查询结果描述表中,将具体的查询信息存储在查询结果记录表中,SNMP管理站通过信息获取请求,查询查询结果描述表和查询结果记录表,获取具体的查询结果。
在如上所述的SNMP通信系统中,如果查询或设置失败,SNMP代理将具体的错误信息存储在错误信息记录表中,SNMP管理站通过信息获取请求,查询错误信息记录表,获取具体的错误信息。
在如上所述的SNMP通信系统中,所述查询条件包括对查询结果进行排序的参数,SNMP代理根据该参数,对查询结果进行排序,并将排序后的结果存储在查询结果描述表和查询结果记录表中。
在如上所述的SNMP通信系统中,如果SNMP代理在预定的时间内检查到SNMP管理站没有对与某一查询结果进行操作,则将该查询结果清除。
在如上所述的SNMP通信系统中,SNMP管理站可以针对一与查询相对应的传输事务ID,发送请求包给SNMP代理,请求清除该查询结果。
依照本发明的SNMP通信方法,其包括步骤a,预先设置SNMP管理站和被管设备之间的接口;步骤b,SNMP管理站发送查询条件或者设置条件给SNMP代理,SMMP代理操作至相应的被管设备;步骤c,被管设备根据步骤a设置的接口,解析该查询条件或设置条件,并执行相应的查询或设置操作。
在如上所述的SNMP通信方法中,在步骤b中,当SNMP管理站发送查询条件给SNMP代理以执行查询操作时,SNMP代理为该查询分配一传输事务ID,并将其发送给SNMP管理站。
在如上所述的SNMP通信方法中,所述查询条件包括期望查询的返回记录数。
在如上所述的SNMP通信方法中,在步骤c中,如果查询成功,则SNMP代理将查询结果描述信息存储在查询结果描述表中,将具体的查询信息存储在查询结果记录表中,SNMP管理站通过信息获取请求,查询查询结果描述表和查询结果记录表,获取具体的查询结果。
在如上所述的SNMP通信方法中,在步骤c中,如果查询或设置失败,SNMP代理将具体的错误信息存储在错误信息记录表中,SNMP管理站通过信息获取请求,查询错误信息记录表,获取具体的错误信息。
在如上所述的SNMP通信方法中,在步骤b中发送的查询条件包括对查询结果进行排序的参数,在步骤c中,SNMP代理根据该参数,对查询结果进行排序,并将排序后的结果存储在查询结果描述表和查询结果记录表中。
在如上所述的SNMP通信方法中,进一步包括SNMP代理在预定的时间内检查SNMP管理站是否对某一查询结果进行操作的步骤,以及如果检查到SNMP管理站没有对该查询结果进行操作时,将查询结果清除的步骤。
在如上所述的SNMP通信方法中,SNMP管理站针对一与查询相对应的传输事务ID,发送请求包给SNMP代理,请求清除该查询结果的步骤。
依照本发明,通过定义一MIB接口,从而使得SNMP管理站可以非常简单地设置查询条件来查询一些复杂的管理对象信息。
此外,SNMP代理为该查询分配一传输事务ID,并将其发送给SNMP管理站,SNMP管理站需要根据这个传输事务ID来查询具体的结果。从而每个SNMP管理站只能查询与其自己发出的查询条件相对应的查询结果,而不能查询其它SNMP管理站发出的查询操作,因此加强了SNMP协议数据传输的安全性。
此外,在满足查询条件的记录数信息很多(大批量数据查询)时,SNMP管理站可以设置期望返回的记录数,以满足实际的需求,从而减少SNMP代理所占用的内存。
此外,针对某个具体的操作,特别是批量操作时,在操作失败时能够获取到完整的失败信息。


图1为本发明定义的MIB接口的示意图;图2为依照本发明的SNMP管理站,SNMP代理以及被管设备在执行查询操作时所执行的流程图;图3为依照本发明的SNMP管理站,SNMP代理以及被管设备在执行设置操作时所执行的流程图。
具体实施例方式
本发明提供一种扩充SNMP通讯实现的一种技术,通过定义通用的MIB接口和扩充SNMP代理(SNMP Agent)以及SNMP管理站(SNMP Manager)实现该MIB接口,以实现在网络管理系统中大批量数据查询和指定复杂条件进行数据处理。该技术解决了上面所说SNMP在查询和设置时的一些缺陷,同时充分利用了SNMP协议的简单通用性,通过一个通用的MIB接口,满足SNMP管理站任意指定查询或者设置条件的操作。
下面,描述依照本发明的SNMP通信方法的流程图。
首先,在步骤A中定义一个通用的MIB接口,可针对所有的查询或者设置的操作,该接口是SNMP管理站和被管设备预先确定的。依照该接口,被管设备可以识别该定义的MIB接口所包括的命令码和具体的参数等等;该MIB接口包括条件设置区,结果显示区,以及错误信息记录区,这将在下面参照图1进行详细描述。
步骤BSNMP管理站根据步骤A所设置的MIB接口,在条件设置区设置相关查询或者设置的条件,通过SetRequest请求下发给SNMP代理,并预先设置一个传输事务ID值,以及希望返回的记录数。SNMP代理将该请求转换为被管设备可以识别的格式,并根据该请求所包含的信息,操作相应的被管设备(即,相应地操作至一个被管设备或多个被管设备)。接收到该请求的被管设备,根据步骤A定义的MIB接口,解析该查询条件或者设置条件,进行查询和设置,并将结果发送给SNMP代理。然后,SNMP代理响应相应的GetResponse包,并返回一个实际的传输事务ID值以及相应记录数;步骤CSNMP Manage根据返回的传输事务ID值以及对应的记录数,在结果显示区中通过GetRequest或者GetNextRequest操作轮询该查询对应的结果信息;步骤D若在步骤B中SNMP代理返回操作失败,则SNMP管理站通过返回的传输事务ID值,通过GetRequest或者GetNextRequest操作轮询错误信息记录区,获取具体的错误信息记录。
其中,对于设置操作,步骤C可以不需要;其中,对于步骤B,若SNMP管理站希望返回所有的查询记录数,可指定希望返回的记录数为0,SNMP代理在响应包中会返回对应该查询实际的记录数。
如图1所示,其描述了本发明所定义的MIB接口的具体内容,其包括条件设置区、结果显示区,以及错误信息记录区。
在条件设置区中,包括下面几个叶子节点OID定义hwConfigcommandCode具体的查询或者设置条件,字符串类型。SNMP管理站通过指定该节点的值来设置查询或者设置的条件,条件由管理站侧和被管设备侧协同确定,包括命令码和具体的参数,比如设置查询某个路由信息,命令码是Qry RouteInfo,具体的参数为Route=***,具体的参数可以包括多种,如设定起止路由段,设置时间等信息,只要和被管设备确定了这些相关参数,管理站就可以任意指定相关的查询条件;hwConfigcommandTransID针对某个查询的传输事务ID,整数类型。传输事务ID是SNMP管理站和SNMP代理之间针对某个查询操作的唯一标识,由SNMP代理进行分配。SNMP管理站在设置查询条件时,指定该节点的值为0,SNMP代理在返回的响应包中分配具体的值;hwConfigrowCount期望返回的记录数,整数类型。SNMP管理站通过指定该节点的值设置针对某个查询操作希望返回的记录数,这样SNMP代理可以根据SNMP管理站设置的记录数准备相应数据,不需要将全部数据都准备,以节省SNMP代理的内存。若SNMP管理站希望返回满足查询条件的所有记录数,则指定该节点的值为0,SNMP代理在返回的响应包中返回对应查询条件的具体的记录数。
hwConfigCleanTransID在某个查询结束后通知SNMP代理清除内存信息的事务ID,整数类型。SNMP管理站在某个查询结束后,设置该节点的值为对应查询的传输事务ID,SNMP代理接收该请求后清除对应查询的内存。SNMP代理也可针对某个查询定时检查SNMP管理站是否有查询操作,若没有,SNMP代理也可自行清除对应的内存,以提高SNMP代理的性能。
结果显示区包括两张通用的mibTable表hwConfigResultDescTable和hwConfigResultTable。这两个表hwConfigResultDescTable和hwConfigResultTable都存储在SNMP代理中,SNMP代理根据每次查询的结果,将相应的信息填入这些表中,SNMP管理站利用相应的索引,可以获取相关的信息,这将在后面详细描述。
hwConfigResultDescTable表包括针对某个查询结果的描述信息,以传输事务ID作为索引,包括下面几个节点定义hwConfigResultDescColumnIndex指定结果字段的MIB偏移量,给出本字段在hwConfigResultTable表中最后一个.后面的数值;hwConfigResultDescColumnName结果字段名称;hwConfigResultDescColumnType结果字段类型。
hwConfigResultTable表包括针对某个查询的查询结果,以传输事务ID和记录号作为索引,包括下面几个节点定义hwConfigResultIntVal1~hwConfigResultIntVal10,针对查询结果是整型字段的取值节点定义,目前定义为10个,可根据具体的应用情况进行扩充;hwConfigResultStrVal1~hwConfigResultStrVal10,针对查询结果是字符类型字段的取值节点定义,目前定义为10个,可根据具体的应用情况进行扩充;HwConfigResultDateTime1~hwConfigResultDateTime10,针对查询结果是时间类型字段的取值节点定义,目前定义为10个,可根据具体的应用情况进行扩充;hwConfigResultIPAddr1~hwConfigResultIPAddr10,针对查询结果是IP地址类型字段的取值节点定义,目前定义为10个,可根据具体的应用情况进行扩充。
错误信息记录区主要包括hwConfigErrRecordTable表,该表存储在SNMP代理中。在查询或者设置失败时,SNMP代理将相关的错误信息存储在该表中,SNMP管理站可以通过该表获取具体的错误信息,其主要用于在某个查询或者设置操作,SNMP代理需要操作到多个被管设备时。该表以hwConfigErrRecordTransID(针对某次查询或者设置操作失败时设备侧返回的事务ID,对应设备侧返回的错误码)和hwConfigErrRecordIndex(针对某此失败事件信息的记录号)作为索引,包括下面几个节点定义hwConfigErrRecordTime,失败事件发生的时间;hwConfigErrRecordNodeName,操作到设备时产生错误的对应被管设备名称;hwConfigErrRecordIPAddress,操作到设备时产生错误的被管设备所在主机IP地址;hwConfigErrRecordObject,具体失败的对象;hwConfigErrRecordCauseID,失败的原因ID。
本发明涉及到SNMP管理站通过SNMP代理对被管设备的查询操作和设置操作,其操作流程不一样,下面分别进行描述。
下面,参照图2,描述SNMP管理站11通过SNMP代理12对被管设备131-13n进行查询操作的流程。
首先,SNMP管理站11设置查询条件,需要设置下面几个参数在hwConfigcommandCode节点中指定命令码和相应的参数条件,这些条件是SNMP管理站11和被管设备协商确定的;在hwConfigcommandTransID节点中指定针对该查询的事务ID值(TransID),该值由SNMP代理12分配,用来识别每次查询,SNMP管理站11先设置该值为0,当然SNMP管理站11也可以将该值设置为其他值;在hwConfigrowCount中指定期望SNMP代理12针对本次查询期望返回的记录数,若希望SNMP代理12返回所有符合查询条件的记录,则SNMP管理站11设置该值为0。在指定这些节点后,SNMP管理站11组装SetRequest请求包将查询条件下发到SNMP代理12。在该例子中,设置的TransID为0。
SNMP代理12接收该请求后,可能需要到被管设备上获取数据,因此需要再通过SNMP代理12和被管设备的内部接口操作到被管设备,而且可能操作到多个被管设备;此时,SNMP代理12首先将SNMP管理站11发送的请求转换为被管设备可以识别的格式,然后根据该请求所包含的信息,操作相应的被管设备131-13n。接收到该请求的被管设备131-13n,根据所设置的MIB接口的内容,解析该查询条件,进行查询。接着,被管设备将操作结果(查询结果)返回给SNMP代理12。
SNMP代理12判断查询被管设备的操作是否成功。若操作成功,统计实际的记录数,并根据SNMP管理站11在SetRequest请求包中设置的hwConfigrowCount值进行相应处理若SNMP管理站11在请求包中设置其值为0,则SNMP代理12设置响应包中该节点的值为实际的记录数;若SNMP管理站11在请求包中设置的该节点值小于实际的记录数,则SNMP代理12设置响应包中该节点的值为SNMP管理站11所期望返回的值;若SNMP管理站11在请求包中设置的该节点的值大于实际的记录数,则SNMP代理12设置响应包中该节点的值为实际的记录数。SNMP代理12同时针对该查询分配一个唯一的查询事务ID,并响应GetResponse包给SNMP管理站11,在该包中返回实际的记录数和传输事务ID。若查询操作失败,则响应GetResponse包给SNMP管理站11,并明确对应的错误码。此外,如果查询成功,则SNMP代理12将相应的信息填入存储在SNMP代理12中的hwConfigResultDescTable表和hwConfigResultTable表中;如果查询失败,则SNMP代理12将相应的信息填入存储在SNMP代理12中的hwConfigErrRecordTable表中。
SNMP管理站11解析GetResponse包,若返回操作失败,则获取对应的错误码信息,并以错误码作为索引,调用GetRequest或者GetNextRequest接口查询存储在SNMP代理12中的hwConfigErrRecordTable表获取具体的失败信息。
SNMP管理站11解析GetResponse包,若操作成功,SNMP管理站11先以SNMP代理12返回的传输事务ID作为索引,调用GetRequest或者GetNextRequest接口查询存储在SNMP代理12中的hwConfigResultDescTable表获取查询结果的描述信息,在获取到结果的描述信息后,再调用GetRequest或者GetNextRequest接口查询存储在SNMP代理12中的hwConfigResultTable表获取具体的结果信息。
在上面的操作中,若SNMP管理站11希望指定某个属性进行排序操作,则在下发给SNMP代理12的查询条件中设置对应排序的属性,由SNMP代理12进行相关的排序操作,结果显示区中得到的记录就是排序后的信息,这样,就是SNMP管理站11还没有获取到所有的查询结果,同样可以进行查询结果的完整排序。
为提升SNMP代理12性能,SNMP代理12可设置一个周期检测SNMP管理站11是否对查询结果进行操作在该周期内SNMP代理12保证数据的完整性,若超过该周期SNMP管理站11并没有进行任何查询操作,则SNMP代理12可清空对应某个查询的查询记录,以释放内存,此后若SNMP管理站11针对该查询结果再进行查询操作,SNMP代理12返回一个特定的错误码,提示SNMP管理站11需要查询设置查询条件。SNMP管理站11也可通过设置hwConfigCleanTransID节点的值为某个查询对应的传输事务ID,下发SetRequest请求包要求SNMP代理12释放对应某个查询的内存。
下面,参照图3,描述SNMP管理站11通过SNMP代理12对被管设备131-13n进行设置操作的流程。
首先,SNMP管理站11设置条件,只需要在hwConfigcommandCode节点中设置命令码和相应的参数条件即可,这些条件同样是SNMP管理站11和被管设备协商确定的。SNMP管理站11组装SetRequest请求包将设置条件下发到SNMP代理12。
SNMP代理12接收该请求后,可能需要到被管设备上获取数据,因此需要再通过SNMP代理12和被管设备的内部接口操作到被管设备,而且可能操作到多个被管设备;此时,SNMP代理12首先将SNMP管理站11发送的请求转换为被管设备可以识别的格式,然后根据该请求所包含的信息,操作相应的被管设备131-13n。接收到该请求的被管设备131-13n,根据所设置的MIB接口的内容,解析该设置条件,进行设置。接着,被管设备将操作结果(设置结果)返回给SNMP代理12。
SNMP代理12判断操作(设置)是否成功,同时发送响应SetRequest请求的GetResponse包给SNMP管理站11。若操作失败,则以错误码作为索引,将相应的失败信息填充至hwConfigErrRecordTable表中,该hwConfigErrRecordTable表存储在SNMP代理12中。
SNMP管理站11收到GetResponse包之后,解析该GetResponse包。当确定操作失败时,获取对应的错误码信息,并以错误码作为索引,调用GetRequest或者GetNextRequest接口查询存储在SNMP代理12中的hwConfigErrRecordTable表获取具体的失败信息。
依照本发明,通过定义一MIB接口,使得SNMP管理站可以非常简单地设置查询条件来查询一些复杂的管理对象信息。此外,针对某个查询操作,在SNMP管理站和SNMP代理之间可以通过一个唯一的传输事务ID标识,来保证信息的安全性。此外,在满足查询条件的记录数信息很多(大批量数据查询)时,SNMP管理站可以设置期望返回的记录数,以满足实际的需求,并减少SNMP代理所占用的内存。此外,在SNMP管理站没有完全获取到所有的管理对象信息时,允许对满足查询条件所有数据的完整排序。针对某个具体的操作,特别是批量操作时,在操作失败时能够获取到完整的失败信息。
本实施例是为了使本领域普通技术人员理解而对本发明所进行的详细描述,但本领域普通技术人员可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,其均在本发明的保护范围内。
权利要求
1.一种SNMP通信系统,其包括一SNMP管理站,一SNMP代理,以及被管设备,其中,SNMP管理站发送查询条件或设置条件给SNMP代理,SNMP代理操作至相应的被管设备,被管设备根据SNMP管理站和被管设备预先确定的接口,解析该查询条件或设置条件,执行相应的查询或设置操作。
2.如权利要求1所述的SNMP通信系统,其中,当SNMP管理站发送查询条件给SNMP代理以执行查询操作时,SNMP代理为该查询分配一传输事务ID,并将其发送给SNMP管理站。
3.如权利要求2所述的SNMP通信系统,其中,所述查询条件包括期望查询的返回记录数。
4.如权利要求3所述的SNMP通信系统,其中,如果查询成功,SNMP代理将查询结果描述信息存储在查询结果描述表中,将具体的查询信息存储在查询结果记录表中,SNMP管理站通过信息获取请求,查询查询结果描述表和查询结果记录表,获取具体的查询结果。
5.如权利要求3所述的SNMP通信系统,其中,如果查询或设置失败,SNMP代理将具体的错误信息存储在错误信息记录表中,SNMP管理站通过信息获取请求,查询错误信息记录表,获取具体的错误信息。
6.如权利要求1-5任一项所述的SNMP通信系统,其中,所述查询条件包括对查询结果进行排序的参数,SNMP代理根据该参数,对查询结果进行排序,并将排序后的结果存储在查询结果描述表和查询结果记录表中。
7.如权利要求1-5任一项所述的SNMP通信系统,其中,如果SNMP代理在预定的时间内检查到SNMP管理站没有对与某一查询结果进行操作,则将该查询结果清除。
8.如权利要求2-5任一项所述的SNMP通信系统,其中,SNMP管理站针对一与查询相对应的传输事务ID,发送请求包给SNMP代理,请求清除该查询结果。
9.一种SNMP通信方法,其包括步骤a,预先设置SNMP管理站和被管设备之间的接口;步骤b,SNMP管理站发送查询条件或者设置条件给SNMP代理,SNMP代理操作至相应的被管设备;步骤c,被管设备根据步骤a设置的接口,解析该查询条件或设置条件,并执行相应的查询或设置操作。
10.如权利要求9所述的SNMP通信方法,其中,在步骤b中,当SNMP管理站发送查询条件给SNMP代理以执行查询操作时,SNMP代理为该查询分配一传输事务ID,并将其发送给SNMP管理站。
11.如权利要求10所述的SNMP通信方法,其中,所述查询条件包括期望查询的返回记录数。
12.如权利要求11所述的SNMP通信方法,其中,在步骤c中,如果查询成功,则SNMP代理将查询结果描述信息存储在查询结果描述表中,将具体的查询信息存储在查询结果记录表中,SNMP管理站通过信息获取请求,查询查询结果描述表和查询结果记录表,获取具体的查询结果。
13.如权利要求11所述的SNMP通信方法,其中,在步骤c中,如果查询或设置失败,SNMP代理将具体的错误信息存储在错误信息记录表中,SNMP管理站通过信息获取请求,查询错误信息记录表,获取具体的错误信息。
14.如权利要求9-13任一项所述的SNMP通信方法,其中,在步骤b中发送的查询条件包括对查询结果进行排序的参数,在步骤c中,SNMP代理根据该参数,对查询结果进行排序,并将排序后的结果存储在查询结果描述表和查询结果记录表中。
15.如权利要求9-13任一项所述的SNMP通信方法,其进一步包括SNMP代理在预定的时间内检查SNMP管理站是否对某一查询结果进行操作的步骤,以及如果检查到SNMP管理站没有对该查询结果进行操作时,将查询结果清除的步骤。
16.如权利要求10-13任一项所述的SNMP通信方法,其进一步包括SNMP管理站针对一与查询相对应的传输事务ID,发送请求包给SNMP代理,请求清除该查询结果的步骤。
全文摘要
本发明提供一种SNMP通信系统和方法。该SNMP通信系统包括一SNMP管理站,一SNMP代理,以及被管设备。SNMP管理站发送查询条件或设置条件给SNMP代理,SNMP代理操作至相应的被管设备,被管设备根据SNMP管理站和被管设备预先确定的接口,解析该查询条件或设置条件,执行相应的查询或设置操作。
文档编号H04L29/06GK1859216SQ20061006639
公开日2006年11月8日 申请日期2006年4月5日 优先权日2006年4月5日
发明者黄亚平 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1