CN101964726A - 一种基于snmp协议的可靠数据传输方法 - Google Patents

一种基于snmp协议的可靠数据传输方法 Download PDF

Info

Publication number
CN101964726A
CN101964726A CN 201010288682 CN201010288682A CN101964726A CN 101964726 A CN101964726 A CN 101964726A CN 201010288682 CN201010288682 CN 201010288682 CN 201010288682 A CN201010288682 A CN 201010288682A CN 101964726 A CN101964726 A CN 101964726A
Authority
CN
China
Prior art keywords
value
data
management station
agency
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010288682
Other languages
English (en)
Other versions
CN101964726B (zh
Inventor
孙健
隆克平
许都
朱光晨
吕欧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2010102886822A priority Critical patent/CN101964726B/zh
Publication of CN101964726A publication Critical patent/CN101964726A/zh
Application granted granted Critical
Publication of CN101964726B publication Critical patent/CN101964726B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于SNMP协议的可靠数据传输方法,在为数据传输而扩展的MIB中添加了数据传递的值域和控制域两个变量对象识别符,控制域对象识别符节点下又有两个对象识别符:数据类型变量和系统状态变量的对象识别符。通过数据类型来指定传输的数据类型,用值域来传递数据值,通过系统状态保证每一次传输的可靠性,管理站或代理的一旦管理站接受代理或代理接受管理站的数据传输请求,则它们的系统状态的值都变为1,这时其它任何代理或管理站的数据传输请求都将被忽略,直至本次数据传输的完成,系统状态的值又变为0。这样,使得每次数据传输能够全部正确的传送完,保证数据有序、正确和可靠地传输。

Description

一种基于SNMP协议的可靠数据传输方法
技术领域
本发明属于网络管理技术领域,更为具体地讲,涉及一种以SNMP协议为管理接口的系统间的可靠数据传输方法。
背景技术
SNMP(简单网络管理协议)是TCP/IP协议簇的一个应用层协议,由MIB、SMI和SNMP协议组成。其中MIB(Management Information Base,管理信息库)是SNMP的核心,MIB是所有可以由SNMP管理的对象的集合。网络中设备的所有被管理对象都被排列在一个树型结构之中,每个对象由OID(ObjectIdentifier,对象识别符)唯一指定,通过遍历MIB树形目录中的节点,SNMP协议可以访问网络设备信息。SMI(Structure of Management Information,管理信息结构)详细描述了定义和构造MIB的基本框架以及在协议上传输的编码规则。SNMP协议定义了SNMP数据包的格式、封装、传输细节。
SNMP采用管理站与代理的通信模式,运行SNMP管理站应用进程的设备即为管理站,运行SNMP代理进程的设备为SNMP代理。SNMP定义的五种基本PDU(协议数据单元),即SNMP报文:(1)Get-Request,用来查询一个或多个变量的值;(2)Get-Next-Request,在MIB树上检索下一个变量,可反复进行此操作;(3)Set-Request,对一个或多个变量的值进行设置;(4)Get-Response,对get/set报文作出响应,并提供差错码、差错状态等信息;(5)Trap,向管理进程报告代理中发生的事件。PDU基本格式如图1所示,管理站通过SNMP定义的这五种基本PDU来查询更改代理MIB中被管理对象的值,实现对网络设备的控制管理。
由于SNMP简单实用,目前广泛应用在网络管理中。对于实际开发中以SNMP为管理接口的系统中,特别是系统间有大量数据传输的情况,我们不仅希望SNMP管理站控制管理整个系统的运行,也希望管理站能够通过SNMP这个统一的接口为各个系统进行可靠的数据传输、,即管理站从一个系统中得到全部数据值并正确的传递给另一个系统。SNMP的get操作可以使管理站得到代理系统MIB中的全部信息,但是SNMP标准MIB库中并没有关于数据传输的变量,所以无法得到要传输的数据值,如果我们能在所有代理系统的MIB中添加要传输数据的类型的变量和值的变量,管理站就能够通过get操作来取出一个系统的代理MIB中的要传输数据的类型和全部值,然后在管理站存储,再通过set操作把这些值写入另一个系统的代理MIB中,另一个系统就可以得到传输来的各种类型的数据值。因此我们首先需要对标准MIB库进行扩展,添加数据传输的被管理对象。
在Windows下有SnmpExtensionInit,SnmpExtensionQuery和SnmpExtensionTrap三个API(应用程序接口),通过这三个API可以对MIB进行扩展。Windows扩展MIB的方法如下:(1)按照SMI中规定的格式编写需要扩展的MIB文档:在MIB树形目录中添加新变量的OID,并对新变量进行说明;(2)生成扩展的MIB库对SNMP基本操作响应的动态链接库,主要是调用Windows下SnmpExtensionInit,SnmpExtensionQuery和SnmpExtensionTrap三个API编程,SnmpExtensionInit用于扩展MIB库的初始化,SnmpExtensionQuery使扩展的MIB可以对SNMP基本操作进行响应,SnmpExtensionTrap主要用于让扩展的MIB能够发送trap消息。(3)在Windows注册表中,在目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameter\ExtensionAgents\下注册动态链接库,完成MIB库的扩展。在Unix等平台下,可以用SNMP++、AGENT++、NET-SNMP这些SNMP软件包进行扩展。
完成MIB的扩展,就可以在MIB中任意添加我们所需的变量。上述的方法只是使SNMP管理站能够通过SNMP基本操作进行数据传输,并不能确保数据的可靠的传递。SNMP协议机制不提供可靠的服务,每一次的数据传输是否能够全部正确的传送完是没有保证的,所以必须采用一个有效的方法保证数据有序、正确和可靠地传输。
发明内容
本发明目的在于克服现有技术的不足,提出一种基于SNMP协议的可靠数据传输方法,使得以SNMP协议为管理接口的系统之间能够进行有序、正确和可靠的数据传输。
为实现上述发明目的,本发明基于SNMP协议的可靠数据传输方法,其特征在于,包括以下步骤:
(1)、在为数据传输而扩展的MIB中添加了数据传递的值域(DataValue)和控制域(Control)两个变量对象识别符(OID),控制域对象识别符节点下又有两个对象识别符:数据类型(DataType)变量和系统状态(SystemStatus)变量的对象识别符;
值域变量用来传递数据的实际值,其初始值为0,数据类型变量用来指示传输数据类别,初始值为0,系统状态变量表示传递数据的子系统的状态,只设定了两种状态,即0代表空闲,没有进行数据传递和1代表数据传递状态;控制域变量的值对每个系统都是统一的,即控制域变量含义在各个系统中相同;
在每个系统上都单独开启一个线程监视控制域的变化;
(2)、管理站主动请求为代理传输数据或代理主动要求管理站为其传输数据;
其中:管理站主动请求为代理传输数据为:
在进行数据传输前,管理站本地的值域变量、数据类型变量和系统状态变量的值的初始值都为0,管理站此时处于数据传输的空闲状态;
步骤S201、管理站向代理发送Set-Request报文,此Set-Request报文中包括数据类型变量和系统状态变量的值,其中,系统状态变量的值为1,表示管理站请求代理进入数据传输状态,向管理站传送数据;
步骤S202、代理收到Set-Request报文请求后,读取本地,即代理自身的系统状态变量的值,并进行判断:如果本地的系统状态变量的值为0,该代理当前没有进行任何数据传输,则执行步骤S203;如果本地的系统状态变量的值为1,表明代理此时正在进行其他的数据传输中,则执行步骤S205。
步骤S203,代理接受管理站的请求,并将本地的系统状态变量的值变为1;
步骤S204、代理向管理站发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量和系统状态变量;其中,本步骤中的数据类型变量的值与步骤S201管理站向代理发送Set-Request报文中的数据类型变量的值相同,系统状态变量值为1,表明代理请求管理站进入数据传输状态,等待数据传输;
步骤S205、代理忽略本次请求,不作任何响应;
步骤S206、管理站判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次数据传输,如果没有超时,执行步骤S207;
步骤S207,如果管理站收到代理的应答,管理站的系统状态变量的值由0变为1;管理站读取本地系统状态变量的值,并判断:如果为1,则执行步骤S208,如果为0,则等待三秒后重新执行步骤S206;
步骤S208,管理站向代理发送取值的请求Get-Request报文,Get-Request报文中包含值域变量,初始值为0;
步骤S209,代理向管理站发送Get-Response报文作为应答,Get-Response报文包含值域变量,其值为要传输的数据的实际值,代理将管理站的值域变量的值由初始值0变为实际数据值;
步骤S210,管理站取出本地值域变量中的数据值,将数据值存储在管理站数据库中,然后将数据传递给另一个代理;
步骤S211,管理站将本地值域变量、数据类型变量和系统状态变量的值都恢复为初始值0,管理站结束数据传输状态;
步骤S212,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量,其值为0,将代理的本地系统状态变量的值恢复为初始值0,结束代理的数据传输状态;
代理主动要求管理站为其传输数据为:
在进行数据传输前,代理本地的值域变量、数据类型变量和系统状态变量的值的初始值都为0,代理此时处于数据传输的空闲状态;
步骤S301、代理向管理站发送Set-Request报文请求,此Set-Request报文中包括数据类型变量和系统状态变量的值,其中,系统状态变量的值为1,表示代理请求管理站进入数据传输状态;
步骤S302、管理站收到Set-Request报文请求后,并进行判断:如果本地的系统状态变量的值为0,该管理站当前没有进行任何数据传输,则执行步骤S303;如果本地的系统状态变量的值为1,表明管理站此时正在进行其他的数据传输中,则执行步骤S305;
步骤S303、管理站接受代理的请求,进入数据传输状态,管理站的系统状态变量的值变为1,执行步骤S304;
步骤S304、管理站向代理发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量和系统状态变量,本步骤中的数据类型变量的值与步骤S301代理向管理站发送Set-Request报文中的数据类型变量的值相同,系统状态变量的值为1,表示管理站请求代理进入数据传输状态;
步骤S305、管理站忽略本次请求,不作任何响应;
步骤S306、代理判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次操作,如果没有超时,执行步骤S307;
步骤S307、如果代理收到管理站的应答,代理的系统状态变量的值由0变为1;代理读取本地系统状态变量的值,并判断,如果为1,表明已经收到管理站的应答,执行步骤308,如果值不为1,则等待三秒后重新执行步骤S306;
步骤S308、代理向管理站发送Set-Request报文,Set-Request报文中包含值域变量,其值为要传输的数据的实际值,代理将管理站的值域变量的值由初始值0变为实际数据值;
步骤S309,管理站取出本地值域变量中的数据值,将数据值存储在管理站数据库中,并将数据传递给另一个代理;
步骤S310,管理站将本地值域变量、数据类型变量和系统状态变量的值都恢复为初始值0,管理站结束数据传输状态;
步骤S311,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量,其值为0,将代理本地系统状态变量的值恢复为初始值0,结束代理的数据传输状态。
在本发明中,在为数据传输而扩展的MIB中添加了数据传递的值域(DataValue)和控制域(Control)两个变量对象识别符(OID),控制域对象识别符节点下又有两个对象识别符:数据类型(DataType)变量和系统状态(SystemStatus)变量的对象识别符。通过数据类型DataType来指定传输的数据类型,用值域DataValue来传递数据值,通过系统状态SystemStatus保证每一次传输的可靠性。本发明的核心是系统状态SystemStatus变量,管理站或代理的系统状态SystemStatus变量的初始值为0,表明管理站或代理没有进行数据传输,一旦管理站接受代理或代理接受管理站的数据传输请求,进入数据传输状态,则它们的系统状态SystemStatus的值都变为1,这时其它任何代理或管理站的数据传输请求都将被忽略,直至本次数据传输的完成,系统状态SystemStatus的值又变为0,才能进行下一次数据传输。这样,使得每次数据传输能够全部正确的传送完,保证数据有序、正确和可靠地传输。
附图说明
图1是SNMP协议中五种基本协议数据单元PDU的格式;
图2是管理站主动向代理提出请求的数据传输过程一种具体实施示意图;
图3是图2中管理站主动向代理提出请求的数据传输过程中管理站端的步骤流程图;
图4是图2中管理站主动向代理提出请求的数据传输过程中代理端的步骤流程图;
图5是代理主动向管理站提出请求的数据传输过程一种具体实施示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图2是管理站主动向代理提出请求的数据传输过程一种具体实施示意图。
管理站主动向代理提出请求为其传输数据,在进行数据传输前,管理站本地的值域变量DataValue、数据类型变量DataType和系统状态变量SystemStatus的值的初始值都为0,管理站此时处于数据传输的空闲状态。
在本实施例中,如图2所示,本发明步骤(2)的管理站主动请求为代理传输数据的具体传输过程为:
步骤S201、管理站向代理主动提出传送数据的请求,管理站向代理发送Set-Request报文,此Set-Request报文中包括数据类型变量DataType和系统状态变量SystemStatus的值,其中,数据类型变量DataType为请求代理进行传输的数据类型,在本实施例中,为类型A,数据类型变量DataType的值为A,系统状态变量SystemStatus的值为1,表示管理站请求代理进入数据传输状态,向管理站传送数据;
步骤S202、代理收到Set-Request报文请求后,读取本地,即代理自身的系统状态变量SystemStatus的值,并进行判断:如果本地的系统状态变量SystemStatus的值为0,说明该代理当前没有进行任何数据传输,可以响应管理站的请求进行数据传输,执行步骤S203;如果本地的系统状态变量SystemStatus的值为1,表明代理此时正在进行其他的数据传输中,不能响应管理站的请求进行数据传输,执行步骤S205;
步骤S203,代理接受管理站的请求,并将本地的系统状态变量SystemStatus的值变为1;这样它就不会再接受其他管理站的传输数据请求,有序、正确、可靠地与管理站进行数据传输;
步骤S204、代理向管理站发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量DataType和系统状态变量SystemStatus;其中,本步骤中的数据类型变量的值与步骤S201管理站向代理发送Set-Request报文中的数据类型变量的值相同,在本实施例中都为A,表示代理将向管理站传输其请求的A类数据,系统状态变量值SystemStatus为1,表明代理请求管理站进入数据传输状态,等待数据传输;
步骤S205、代理忽略本次请求,不作任何响应;
步骤S206、管理站判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次数据传输,如果没有超时,执行步骤S207;
步骤S207、如果管理站收到代理的应答,管理站的系统状态变量SystemStatus的值由0变为1;管理站读取本地系统状态变量SystemStatus的值,并判断:如果为1,表明已经收到代理的应答,管理站进入数据传输状态,执行步骤S208,如果为0,表明没有收到代理的应答,等待三秒后重新执行步骤S206;
步骤S208,管理站向代理发送取值的请求Get-Request报文,Get-Request报文中包含值域变量DataValue,初始值为0;
步骤S209,代理向管理站发送Get-Response报文作为应答,Get-Response报文包含值域变量DataValue,其值为要传输的数据的实际值,代理将管理站的值域变量DataValue的值由初始值0变为实际数据值;
步骤S210,管理站取出本地值域变量DataValue中的数据值,将数据值存储在管理站数据库中,然后将数据传递给另一个代理;
步骤S211,管理站将本地值域变量DataValue、数据类型变量DataType和系统状态变量SystemStatus的值都恢复为初始值0,管理站结束数据传输状态;
步骤S212,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量SystemStatus,其值为0,将代理的本地系统状态变量SystemStatus的值恢复为初始值0,结束代理的数据传输状态;
图3是图2中管理站主动向代理提出请求的数据传输过程中管理站端的步骤流程图。
在本实施例中,如图3所示,管理站端的步骤为:
步骤S401、管理站向代理发送Set-Request请求,请求代理传送数据;
步骤S402、管理站判断发送的Set-Request请求是否已经超时,如果超时则结束本次操作,没有超时则执行步骤S403;
步骤S403、读取本地系统状态变量SystemStatus的值;
步骤S404、判断本地系统状态变量SystemStatus的值是否为1,若为1,则执行步骤S405,若为0,则执行步骤S409;
步骤S405、向代理发送Get-Request取数据值;
步骤S406、存储取回的数据值,并将数据传递给另一代理;
步骤S407、将本地值域变量DataValue、数据类型变量DataType和SystemStatus恢复为初始值0;
步骤S408、将代理系统状态变量SystemStatus值修改为0;
步骤S409,等待三秒后重新执行步骤S402。
图4是图2中管理站主动向代理提出请求的数据传输过程中代理端的步骤流程图;
在本实施例中,如图4所示,代理端的步骤为:
步骤S501,代理读取本地SystemStatus变量值;
步骤S502,代理判断本地系统状态变量SystemStatus变量值是否为0,如果为0,则执行步骤S503;否则忽略管理站的此次请求,结束本次交互;
步骤S503,向管理站发送一个Set-Request作为应答;
步骤S504,判断是否收到管理站的Get-Request,若收到,则执行步骤S505;否则结束本次交互;
步骤S505,向管理站发送Get-Response作为应答,将数据传递给管理站。
图5是代理主动向管理站提出请求的数据传输过程一种具体实施示意图。
在进行数据传输前,代理本地的值域变量DataValue、数据类型变量DataType和系统状态变量SystemStatus的值的初始值都为0,代理此时处于数据传输的空闲状态;
步骤S301、代理向管理站发送Set-Request报文请求,此Set-Request报文中包括数据类型变量DataType和系统状态变量SystemStatus的值,其中,数据类型变量DataType为请求管理站进行传输的数据类型,在本实施例中,为类型A,数据类型变量DataType的值为A,系统状态变量的值为1,表示代理请求管理站进入数据传输状态;
步骤S302、管理站收到Set-Request报文请求后,并进行判断:如果本地的系统状态变量SystemStatus的值为0,该管理站当前没有进行任何数据传输,可以响应管理站的请求进行数据传输,则执行步骤S303;如果本地的系统状态变量的值为1,表明管理站此时正在进行其他的数据传输中,不能响应代理的请求进行数据传输,则执行步骤S305;
步骤S303、管理站接受代理的请求,进入数据传输状态,管理站的系统状态变量SystemStatus的值变为1,执行步骤S304;这样它就不会再接受其他代理的传输数据请求,有序、正确、可靠地与该代理进行数据传输;
步骤S304、管理站向代理发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量DataType和系统状态变量SystemStatus,本步骤中的数据类型变量的值与步骤S301代理向管理站发送Set-Request报文中的数据类型变量的值相同,在本实施例中都为A,表示管理站将向代理传输其请求的A类数据,系统状态变量的值为1,表示管理站请求代理进入数据传输状态;
步骤S305、管理站忽略本次请求,不作任何响应;
步骤S306、代理判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次操作,如果没有超时,执行步骤S307;
步骤S307、如果代理收到管理站的应答,代理的系统状态变量SystemStatus的值由0变为1;代理读取本地系统状态变量的值,并判断,如果为1,表明已经收到管理站的应答,代理进入数据传输状态,执行步骤308,如果值不为1,则等待三秒后重新执行步骤S306;
步骤S308、代理向管理站发送Set-Request报文,Set-Request报文中包含值域变量DataValue,其值为要传输的数据的实际值,代理将管理站的值域变量DataValue的值由初始值0变为实际数据值;
步骤S309,管理站取出本地值域变量DataValue中的数据值,将数据值存储在管理站数据库中,并将数据传递给另一个代理;
步骤S310,管理站将本地值域变量DataValue、数据类型变量DataType和系统状态变量SystemStatus的值都恢复为初始值0,管理站结束数据传输状态;
步骤S311,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量SystemStatus,其值为0,将代理本地系统状态变量SystemStatus的值恢复为初始值0,结束代理的数据传输状态。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (1)

1.一种基于SNMP协议的可靠数据传输方法,其特征在于,包括以下步骤:
(1)、在为数据传输而扩展的MIB中添加了数据传递的值域(DataValue)和控制域(Control)两个变量对象识别符(OID),控制域对象识别符节点下又有两个对象识别符:数据类型(DataType)变量和系统状态(SystemStatus)变量的对象识别符;
值域变量用来传递数据的实际值,其初始值为0,数据类型变量用来指示传输数据类别,初始值为0,系统状态变量表示传递数据的子系统的状态,只设定了两种状态,即0代表空闲,没有进行数据传递和1代表数据传递状态;控制域变量的值对每个系统都是统一的,即控制域变量含义在各个系统中相同;
在每个系统上都单独开启一个线程监视控制域的变化;
(2)、管理站主动请求为代理传输数据或代理主动要求管理站为其传输数据;
其中:管理站主动请求为代理传输数据为:
在进行数据传输前,管理站本地的值域变量、数据类型变量和系统状态变量的值的初始值都为0,管理站此时处于数据传输的空闲状态;
步骤S201、管理站向代理发送Set-Request报文,此Set-Request报文中包括数据类型变量和系统状态变量的值,其中,系统状态变量的值为1,表示管理站请求代理进入数据传输状态,向管理站传送数据;
步骤S202、代理收到Set-Request报文请求后,读取本地,即代理自身的系统状态变量的值,并进行判断:如果本地的系统状态变量的值为0,该代理当前没有进行任何数据传输,则执行步骤S203;如果本地的系统状态变量的值为1,表明代理此时正在进行其他的数据传输中,则执行步骤S205。
步骤S203,代理接受管理站的请求,并将本地的系统状态变量的值变为1;
步骤S204、代理向管理站发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量和系统状态变量;其中,本步骤中的数据类型变量的值与步骤S201管理站向代理发送Set-Request报文中的数据类型变量的值相同,系统状态变量值为1,表明代理请求管理站进入数据传输状态,等待数据传输;
步骤S205、代理忽略本次请求,不作任何响应;
步骤S206、管理站判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次数据传输,如果没有超时,执行步骤S207;
步骤S207,如果管理站收到代理的应答,管理站的系统状态变量的值由0变为1;管理站读取本地系统状态变量的值,并判断:如果为1,则执行步骤S208,如果为0,则等待三秒后重新执行步骤S206;
步骤S208,管理站向代理发送取值的请求Get-Request报文,Get-Request报文中包含值域变量,初始值为0;
步骤S209,代理向管理站发送Get-Response报文作为应答,Get-Response报文包含值域变量,其值为要传输的数据的实际值,代理将管理站的值域变量的值由初始值0变为实际数据值;
步骤S210,管理站取出本地值域变量中的数据值,将数据值存储在管理站数据库中,然后将数据传递给另一个代理;
步骤S211,管理站将本地值域变量、数据类型变量和系统状态变量的值都恢复为初始值0,管理站结束数据传输状态;
步骤S212,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量,其值为0,将代理的本地系统状态变量的值恢复为初始值0,结束代理的数据传输状态;
代理主动要求管理站为其传输数据为:
在进行数据传输前,代理本地的值域变量、数据类型变量和系统状态变量的值的初始值都为0,代理此时处于数据传输的空闲状态;
步骤S301、代理向管理站发送Set-Request报文请求,此Set-Request报文中包括数据类型变量和系统状态变量的值,其中,系统状态变量的值为1,表示代理请求管理站进入数据传输状态;
步骤S302、管理站收到Set-Request报文请求后,并进行判断:如果本地的系统状态变量的值为0,该管理站当前没有进行任何数据传输,则执行步骤S303;如果本地的系统状态变量的值为1,表明管理站此时正在进行其他的数据传输中,则执行步骤S305;
步骤S303、管理站接受代理的请求,进入数据传输状态,管理站的系统状态变量的值变为1,执行步骤S304;
步骤S304、管理站向代理发送一个Set-Request报文作为应答,该Set-Request报文中包含数据类型变量和系统状态变量,本步骤中的数据类型变量的值与步骤S301代理向管理站发送Set-Request报文中的数据类型变量的值相同,系统状态变量的值为1,表示管理站请求代理进入数据传输状态;
步骤S305、管理站忽略本次请求,不作任何响应;
步骤S306、代理判断本次发送的Set-Request请求是否已经超时;如果超时,则放弃本次操作,如果没有超时,执行步骤S307;
步骤S307、如果代理收到管理站的应答,代理的系统状态变量的值由0变为1;代理读取本地系统状态变量的值,并判断,如果为1,表明已经收到管理站的应答,执行步骤308,如果值不为1,则等待三秒后重新执行步骤S306;
步骤S308、代理向管理站发送Set-Request报文,Set-Request报文中包含值域变量,其值为要传输的数据的实际值,代理将管理站的值域变量的值由初始值0变为实际数据值;
步骤S309,管理站取出本地值域变量中的数据值,将数据值存储在管理站数据库中,并将数据传递给另一个代理;
步骤S310,管理站将本地值域变量、数据类型变量和系统状态变量的值都恢复为初始值0,管理站结束数据传输状态;
步骤S311,管理站向代理发送Set-Request报文,Set-Request报文包含系统状态变量,其值为0,将代理本地系统状态变量的值恢复为初始值0,结束代理的数据传输状态。
CN2010102886822A 2010-09-21 2010-09-21 一种基于snmp协议的可靠数据传输方法 Expired - Fee Related CN101964726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102886822A CN101964726B (zh) 2010-09-21 2010-09-21 一种基于snmp协议的可靠数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102886822A CN101964726B (zh) 2010-09-21 2010-09-21 一种基于snmp协议的可靠数据传输方法

Publications (2)

Publication Number Publication Date
CN101964726A true CN101964726A (zh) 2011-02-02
CN101964726B CN101964726B (zh) 2012-07-25

Family

ID=43517472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102886822A Expired - Fee Related CN101964726B (zh) 2010-09-21 2010-09-21 一种基于snmp协议的可靠数据传输方法

Country Status (1)

Country Link
CN (1) CN101964726B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087318A (zh) * 2016-04-25 2020-12-15 华为技术有限公司 一种网络管理方法、服务器、客户端及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044756A1 (en) * 2002-08-30 2004-03-04 General Instrument Corporation Method and apparatus for providing management access to devices behind a network address translator (NAT)
CN1859216A (zh) * 2006-04-05 2006-11-08 华为技术有限公司 Snmp通信系统和方法
US20070220159A1 (en) * 2006-03-17 2007-09-20 Choi Seung P Tool for data generation for Simple Network Management Protocol (SNMP)
CN101335756A (zh) * 2007-06-29 2008-12-31 凹凸电子(武汉)有限公司 计算机实现的snmp访问方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044756A1 (en) * 2002-08-30 2004-03-04 General Instrument Corporation Method and apparatus for providing management access to devices behind a network address translator (NAT)
US20070220159A1 (en) * 2006-03-17 2007-09-20 Choi Seung P Tool for data generation for Simple Network Management Protocol (SNMP)
CN1859216A (zh) * 2006-04-05 2006-11-08 华为技术有限公司 Snmp通信系统和方法
CN101335756A (zh) * 2007-06-29 2008-12-31 凹凸电子(武汉)有限公司 计算机实现的snmp访问方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087318A (zh) * 2016-04-25 2020-12-15 华为技术有限公司 一种网络管理方法、服务器、客户端及系统
CN112087318B (zh) * 2016-04-25 2024-02-02 华为技术有限公司 一种网络管理方法、服务器、客户端及系统

Also Published As

Publication number Publication date
CN101964726B (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN103281197B (zh) 一种基于NETCONF的ForCES配置方法
CN101631053B (zh) Eaps环网拓扑监控方法及系统
CN101272275B (zh) 网管设备、获取网络设备配置信息的方法及系统
CN101902473B (zh) 基于网格gis的数据同步更新实现方法
CN103414579A (zh) 一种适用于云计算的跨平台监控系统及其监控方法
CN103259732A (zh) 一种基于arp事件触发代理的sdn广播处理方法
EP1704672A1 (en) Automatic update system and method for using a meta mib
CN101699827A (zh) 一种采用smi-s规范的统一存储网络体系管理架构
CN108683697A (zh) 连接Redis内存数据库的方法、系统、选择器和服务器
CN104243198B (zh) 一种基于网络配置协议的网络管理方法和系统
CN100514928C (zh) 一种快速生成网络设备树状拓扑结构的方法
CN114338419B (zh) 一种IPv6全球组网边缘节点监测及预警方法及系统
CN103809946A (zh) 一种基于xml和中间件的异构数据库集成的方法
CN113595806B (zh) 一种基于opcua与mqtt协议的配网物联网通讯架构方法
CN101056210B (zh) 一种网络集中管理平台上的事件处理系统和方法
CN100499495C (zh) 一种基于snmp协议的远程登录实现方法
KR20160103110A (ko) 네트워크 요소 데이터 액세스 방법, 액세스 장치, 및 네트워크 관리 시스템
CN100413248C (zh) 一种基于流量进行计费的改进方法和系统
CN101964726B (zh) 一种基于snmp协议的可靠数据传输方法
CN105429805A (zh) 一种分布式网管系统及信息处理方法
CN203101932U (zh) 变电设备状态接入控制器
CN107229525A (zh) 一种基于Zookeeper的电力系统设备模型关键字生成方法
Li et al. Research on designing methods of the secondary system in digital substation
CN101183974B (zh) 一种网管系统的拓扑刷新方法
CN104519017A (zh) 模拟snmp代理端系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120725

Termination date: 20150921

EXPY Termination of patent right or utility model