CN102223245B - 支持组播的SNMPv3改进网络模型及其实现方法 - Google Patents
支持组播的SNMPv3改进网络模型及其实现方法 Download PDFInfo
- Publication number
- CN102223245B CN102223245B CN 201110086260 CN201110086260A CN102223245B CN 102223245 B CN102223245 B CN 102223245B CN 201110086260 CN201110086260 CN 201110086260 CN 201110086260 A CN201110086260 A CN 201110086260A CN 102223245 B CN102223245 B CN 102223245B
- Authority
- CN
- China
- Prior art keywords
- group
- multicast
- agency
- key
- management
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种支持组播的SNMPv3改进网络模型及其实现方法。本发明的网络模型包括管理站端和代理端,所述管理站端和代理端均包含设备MIB、SNMP引擎、组管理模块、组密钥管理模块,所述设备MIB包含组信息表和组成员信息表,组信息表中包含该节点所有管理的组和所有被管理的组息,组成员信息表中包含该节点所有管理组的组成员信息;所述SNMP引擎包含和组管理模块相融合的分发器;所述组管理模块包含加入组模块、退出组模块、更新组模块以及验证组成员模块;所述组密钥管理模块包含申请密钥模块、分发密钥模块及更新密钥模块。本发明可使网管系统用组播方式进行数据的查询和采集,解决了现有基于SNMPv3协议的网管系统数据重复发送和采集效率低下的问题。
Description
技术领域
本发明涉及基于简单网络管理协议(Simple Network Management Protocol;即SNMP)的网络模型,尤其涉及一种支持组播的SNMPv3(简单网络管理协议第三版)改进网络模型及其实现方法,属于网管系统技术领域。
背景技术
随着国家信息化建设的不断深入开展,各种各样的网络应用规模都在不断扩大。众多不同的网络操作系统、不同厂家的网络通信设备、多种多样的网络服务软件、数量庞大的使用者和潜在的攻击者并存于网络上,系统的复杂性和多样性在不断提高。因此需要一套综合的网管系统实时自动的监测网络中各个系统的运行状况,并能够实现相应的报警功能,来提高网络的可靠性。
SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。其中,SNMPv3将网络看成由许多分布的、互相作用的实体(entity)构成,这些实体或者是代理,或者是管理站。SNMP实体由SNMP引擎(由snmpEngineID唯一标识)和SNMP应用程序组成。引擎执行实体的下层功能,它包括分发器、消息处理子系统、安全子系统和访问控制子系统等子模块。它们相互协作配合,完成各种功能。SNMP代理和SNMP管理站通称为SNMP实体,SNMP体系的核心是MIB(Management Information Base,管理信息库),它是网络中所有被管对象的集合。它采用分层的树型结构来定义被管对象,经SNMP传输的所有管理信息都被收集到MIB中。
但是随着网络的发展,业务逐渐增多,多厂商异构性的设备数量急剧增加,传统的SNMP网管系统都是基于一对一的IP单播模式的,网管数据采集过程中的大量数据重复发送给业务带宽带来了巨大的开销,而且传统的单播轮询对于新的网络状况下轮询效率变得低下,传统的单播轮询的方式已经不适合新网络下的新需求。因此面对这种现状,改用组播技术不失为一种很好的选择,组播因其能节省发送者资源、网络带宽以及减少网络流量而具有广阔的应用前景。但是现有的SNMPv3标准是不支持组播方式的,因此研究扩充SNMPv3协议使其支持组播方式的SNMPv3改进网络模型以及实现是本发明研究的重点。
发明内容
本发明所要解决的技术问题在于克服现有基于SNMPv3协议的网管系统不支持组播的缺陷,提供一种支持组播的SNMPv3改进网络模型及其实现方法,从而提高网管系统数据采集的效率,减少网络资源消耗。
本发明采用以下技术方案解决上述技术问题:
一种支持组播的SNMPv3改进网络模型,包括管理站端和代理端,所述管理站端和代理端均包含设备MIB、SNMP引擎、组管理模块、组密钥管理模块,所述设备MIB包含组信息表和组成员信息表,组信息表中包含该节点所有管理的组和所有被管理的组息,组成员信息表中包含该节点所有管理组的组成员信息;所述SNMP引擎包含和组管理模块相融合的分发器;所述组管理模块包含加入组模块、退出组模块、更新组模块以及验证组成员模块;所述组密钥管理模块包含申请密钥模块、分发密钥模块及更新密钥模块。
一种支持组播的SNMPv3改进网络模型的实现方法,包括以下步骤:
步骤1)管理员首先在管理站创建一个组播组;
步骤2)管理员通过定义组名称、组IP、组端口号以及组密钥协议等组信息创建一个组播组;
步骤3)管理员向一个代理发送单播SET命令,在SET数据包的安全区域添加一个参数组密钥和一个组引擎ID,要求该代理加入该组播组;
步骤4)代理接收到管理站发送的单播SET命令后,先验证是否处于该组播组中,如果在该组播组中,转向步骤6,如果不在,转向步骤5;
步骤5)代理调用加入组模块加入相应的组播组,同时更新代理中的组播组信息,更新MIB库,即代理加入组播组中;
步骤6)管理站向代理组发送查询的组播GET命令,将IP地址和端口号改为组播组的IP地址和端口号,
步骤7)同时在GET数据包的安全区域添加一个组密钥和一个组引擎ID,要求查询该代理组的某些OID(Object Identifier)属性;
步骤8)当达到管理站中预先设定的密钥更新周期时,转向步骤9,否则,继续转向步骤11;
步骤9)管理站首先从GKM获取新的组密钥和组引擎ID;
步骤10)然后管理站向代理组组播更新SET命令,要求更新代理组中的组信息,包括组密钥和组引擎ID;
步骤11)当代理组接收到管理站发送的组播GET命令和组播SET命令时,代理组中每个代理先验证是否处于该组播组中,如果在该组播组中,转向步骤12,如果不在,代理舍弃该报文,转向步骤16;
步骤12)经过验证报文正确后,如果是更新命令,则代理组中每个代理调用更新组模块更新相应组信息,则转向步骤16,如果是查询命令,则转向步骤13;
步骤13)如果目的组播IP为NULL,则转向步骤14,如果目的组播IP不为NULL,则转向步骤15;
步骤14)则代理单播所查询OID信息返回源管理站;
步骤15)则代理选用目的组播IP为组播IP地址,返回查询消息给组播组地址为目的组播IP的组播组;
步骤16)当管理站要将一个代理从一个组播组中删除时,转向步骤17,当管理站要将一个代理组从管理站中删除时,转向步骤18;
步骤17)管理站向该代理发送一个单播SET命令,代理获取到SET命令后,经过验证报文后,调用退出组模块退出相应的组播组,同时删除该代理在组播组中的组信息,即从MIB库删除一条记录;
步骤18)管理站向该代理组发送一个组播SET命令,代理组获取到SET命令后,经过验证报文后,每个代理均调用退出组模块退出相应的组播组,同时清空有关该组播组的所有组信息;
步骤19)全过程结束。
本发明通过对现有SNMPv3网络的设备MIB、SNMP引擎、组管理模块、组密钥管理模块分别进行扩充和改进,使该网络可使用组播方式进行数据的查询和采集,从而解决了现有基于SNMPv3协议的网管系统数据重复发送和采集效率低下的问题。
附图说明
图1是本发明的SNMPv3改进网络模型,其中图(a)为管理站端,图(b)为代理端;
图2是在MoCA设备的MIB库中添加的groupInfo分支树和groupMember分支树;
图3是现有SNMPv3网络模型中分发器的结构;
图4是本发明的SNMPv3改进网络模型扩展后的分发器结构;
图5是本发明的SNMPv3改进网络模型的网络拓扑结构;
图6是本发明的SNMPv3改进网络模型组管理流程实现示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的SNMPv3改进网络模型作为网管系统中的一种协议模型,通过将组播和SNMPv3相结合的方式,使得SNMPv3改进网络模型可以支持组播方式,当管理者需要对一批网管代理做状态查询、配置更新等操作时,组播通信的方式就具备了将一份消息送往多个接收者的性质(即同一性)。采用组播方式发送数据,不仅可以提高网络利用率,节约带宽,而且对网络管理效率也有相当大的作用。
首先,管理站端和代理端的MIB库没有相应的组信息的定义,因此,MIB库首先需要扩展,其次,应该考虑组和组成员的管理以及组密钥的管理,组管理包括组的管理、组成员管理等等。它通过和组密钥管理模块的交互来获取新的组密钥和连接扩展的MIB库更新组信息。最后,SNMP引擎部分需要扩展,为了支持组播,需要修改SNMP引擎中传递消息的分发器,使分发器和添加的新模块充分融合。
本发明的SNMPv3改进网络模型如图1所示,其中图(a)和图(b)分别为管理站端和代理端SNMPv3改进模型,该模型主要对现有SNMPv3模型进行扩充,主要包括:对设备MIB的扩展、对SNMP引擎的改进、对组管理(GM)模块的扩充以及组密钥管理(KM)模块的扩充等四部分,其中,GKM(Group Key Management,群组密钥管理)协议通过特定算法将密钥分发给群组中的每个组成员,KM为组密钥管理模块,包括从GKM的组密钥申请、组密钥分配和组密钥更新等模块,GM为组信息管理模块,包括从KM获取组密钥、组信息管理和组成员管理等模块,最后对SNMP引擎中的分发器模块进行改进,修改后的分发器可以兼容添加后新的功能模块。下面对这四部分的扩充分别进行描述。
一、设备MIB:
SNMP体系的核心是MIB(Management Information Base,管理信息库),它是网络中所有被管对象的集合。它采用分层的树型结构来定义被管对象,经SNMP传输的所有管理信息都被收集到MIB库中,因此要实现基于组播的SNMP,首先应对MIB做相应的扩展,使其具备存储组播组信息的功能。本发明对MIB库的组播扩展为加入组信息表(groupInfo)和组成员信息表(groupMember),其中,组信息表中包含该节点所有管理的组和所有被管理的组信息,组成员信息表中包含该节点所有管理组的组成员信息。作为一种实施方式,可以按如下方式设置组信息表和组成员信息表:
在管理站端,所述组信息表包含字段:所管理的组ID、所管理的组IP地址、所管理的组端口号、组密钥、组引擎ID;所述组成员信息表包含字段:所管理的组ID、代理ID、代理IP地址、代理认证密钥、代理加密密钥、更新周期、代理注册状态;在代理端,所述组信息表包含字段:所属的组ID、所属的组IP地址、所属的组端口号、组密钥、组引擎ID;所述组成员信息表包含字段:所属的组ID、管理站ID、管理站IP地址、管理站认证密钥、管理站加密密钥、目的组播IP地址、目的组播端口号。图2所示为在MoCA设备的MIB库中添加的groupInfo分支树和groupMember分支树,其中,groupInfo分支树表示组信息表,groupMember分支树表示组成员信息表。。组信息表、组成员信息表的具体描述分别如下表1、表2所示。
字段名 | 管理站描述 | 代理描述 |
grpID | 所管理的组ID | 所属的组ID |
grpAddr | 所管理的组IP | 所属的组IP |
grpPortID | 所管理的组端口号 | 所属的组端口号 |
grpKeyMaterial | 组密钥 | 组密钥 |
grp引擎ID | 组引擎ID | 组引擎ID |
表1
字段名 | 管理站描述 | 代理描述 |
grpID | 所管理的组ID | 所属的组ID |
userID | 代理ID | 管理站ID |
userAddr | 代理IP | 管理站IP |
userAuthKey | 代理认证密钥 | 管理站认证密钥 |
userPrivKey | 代理加密密钥 | 管理站加密密钥 |
destGrpAddr | - | 目的组播IP |
destGrpPortID | - | 目的组播端口号 |
updateTime | 更新周期 | - |
status | 代理注册状态 | - |
表2
管理员需要知道所有要管理的组的具体信息以及所有组的成员信息,而代理需要知道它所属组的基本信息以及它要发送的回复消息的目的管理站信息,管理站不需要知道destGrpID,即目的组名,但是代理需要知道,在代理端,如果destGrpID和grpID的值不一样的话,这说明该代理所属的源组和目的组不是同一个组,目的组信息可以通过destGrpID作为键值从MIB库中获取,如果destGrpID为NULL(空值)的话,这说明该代理的回复信息采用单播的方式,因此,userID,userAddr,userAuthKey和userPrivKey可以采用目的组的管理站信息,其中,更新周期(updateTime)是由管理站设置的,每经过一个周期,管理站就会发送一个Update Group消息,更新所有代理的组信息以及组成员关系,如果状态(status)为‘ATV’(在组中)或者‘DAV’(不在组中),表示该节点以管理站的角色来看待的,其中,‘ATV’表示该节点所管理的代理目前属于该组的一员,而‘DAV’表示该节点所管理的代理尽管以前属于该组的一员,但是目前不再属于该组成员,如果状态(status)为NULL(空值)的话,表示该节点是以代理的角色来看待的,描述了该节点作为代理所属的组的相关信息。
二、SNMP引擎:
SNMP引擎的主要任务是从一个外部实体获取数据包,外部实体例如UDP包,或者应用程序,还有通过解析数据包的版本号,协议类型等内容处理数据包的包头,调用验证和加密解密函数分析数据包的正确性和实时性,或者将数据包传送给上层应用程序或底层传输协议等的作用。在标准SNMP引擎中,分发器担负着待处理数据包在MPS(Message Processing Subsystem)消息处理子系统和SNMP应用程序层或者传输协议层之间传送的任务,即分发器属于SNMP引擎和其他SNMP函数模块之间的接口部分,因此,首先需要修改分发器以兼容改进后新的功能模块。分发器的主要任务是分发任务给消息处理子系统中的某个指定的版本消息处理模型和分发PDU(Protocol Data Unit,协议数据单元)包给不同的上层应用程序。现有SNMPv3网络模型中分发器的结构如图3所示:
发送消息时,上层应用程序提供需要发送的UDP包,然后,该UDP包在分发器模块附加由消息处理子系统提供的必要信息和安全子系统提供的安全信息部分,例如引擎引擎ID,一旦消息准备完毕,分发器便通过传输层将该消息发送出去。
接收消息时,分发器首先解析接收消息的SNMP版本号,然后,将该消息发送给消息处理子系统的某个指定的版本消息处理模型,由它来继续解析该消息的其它部分,并且协调安全子系统的安全检查,经过版本消息处理模型和安全子系统的处理后,再由分发器的PDU分发器模块决定将该PDU发送给上层的某个应用程序。
改进后的分发器如图4所示;
发送消息时,上层应用程序提供需要发送的UDP(User Datagram Protocol,用户数据包协议)包,然后,该UDP包在分发器模块附加由消息处理子系统提供的必要信息和安全子系统提供的安全信息部分,并且附加GM模块里的组密钥信息和相关信息,一旦消息准备完毕,分发器便通过传输层将该消息发送出去。
接收消息时,分发器首先解析接收消息的SNMP版本号,然后,将该消息发送给消息处理子系统的某个指定的版本消息处理模型,由它来继续解析该消息的其它部分,并且协调安全子系统的安全检查,还有将有关组消息的部分交由GM模块来处理,经过版本消息处理模型,安全子系统以及GM模块的验证处理后,再由分发器的PDU分发器模块决定将该PDU发送给上层的某个应用程序。
三、组管理模块:
组管理(Group Management,GM)模块:GM模块主要用来管理组成员信息和组密钥,例如加入组,退出组以及更新组等操作,它需要和KM模块、命令产生器以及改进的分发器相融合,GM从KM模块获取组密钥,并且根据该密钥生成组引擎ID。对组管理模块的扩充必须满足以下几点:
(1)以管理站为中心的组管理
管理站为中心的组管理是指,管理站GC(Group Control,组控制者)对所在组播组的通信类型、组的搭建以及所有代理拥有全部的控制权限,以管理站为所在组播组的中心,也就是说所有的代理只是扮演被动接收的角色,每一个管理站GC负责所在组播组内的所有代理节点的加入、更新、退出、查询等操作,每个管理站可以将一个代理划分到不同的组播组中,而且管理不同组播组的管理站可以共享同一个代理,对于每个代理而言,只有当它所属的组播组的管理站要求使用组播的时候,它才会选择使用组播,否则,代理一直使用单播。
(2)动态组管理
该模型在SNMP管理器和代理之间允许两种通信方式:一对一和一对多。如前所述,这些通信方式是由管理站运行时动态更改的,组成员的更新周期时间等等也是由管理站来设定的,例如,管理站可以发送单播或组播请求代理组。同样,管理站可以要求SNMP代理回复到单播地址,组播地址。即管理站可以在运行时动态的更改这些配置。
(3)管理站和代理的组播扩展
代理能够接收由管理站发送的组播消息,则需在代理程序中添加相应的加入/离开组播组等功能。由于代理程序本身具备可扩展性,因此易于对其进行组播扩展。由于在组播通信中,发送方无需加入/离开组播组,因此管理站一方采用组播方式与一个代理组进行通信时,即管理站的功能无需太多扩展,只需要根据具体情况采用单播或组播方式发出管理指令给代理即可。
(4)管理站和代理之间的组通信
组通信主要包括组控制和组查询的操作,在对SNMP做了组播扩展之后,单播方式主要用于组控制,组播方式主要用于组查询,也可以用于组控制,管理站与代理之间可根据需要采用单播或组播的方式进行通信以完成网管任务。当管理站需对多个代理进行查询时,它先以单播方式发送一条set(设置)控制消息给代理,让它们加入到指定的组播组,并更新MIB中的相应信息,收到响应后,管理站就可用组播方式与代理组进行通信。通信完成后管理站组播一条SET控制消息,让代理更新MIB中的信息,并离开组播组。对SNMP的扩展不影响原有的方式,当管理站只与某个代理进行通信时,它仍然采用原有的单播方式完成。
本发明的组管理(Group Management,GM)模块主要添加功能模块如下:
●加入组(Join Group)
管理站要想以组为单位管理一个组群的设备,必然首先配置设备里的MIB库,即将该代理添加到一个组中,即管理站通过给代理发送单播配置SNMP设置(set-SNMP)消息的方式要求代理加入特定组,即在groupInfo表中完善grpAddr以及grpPortID等信息,然后,GM调用joingroup()方法实现更新MIB库或者加入组的功能。
●退出组(Leave Group)
有设备加入组的操作,那必然就有退出组的操作,即将该代理从一个组中删除掉,管理站通过给代理发送单播或者组播的配置SNMP设置(set-SNMP)消息的方式要求代理退出特定组,在groupInfo表中清空grpAddr以及grpPortID等信息或者将状态值(status)设为‘DAV’(退出组的标识),然后,GM调用leavegroup()方法实现更新MIB库和退出组的功能。
●更新组(Update Group)
更新组,即更新组中某一个成员的所有信息,或管理站通过updateTime(更新周期)的值周期同步所有成员的信息,例如生成引擎ID、从KM模块获取密钥以及更新目的组播地址等等,即管理站通过给代理发送单播或者组播的配置设置(set-SNMP)消息的方式要求更新代理中的MIB信息,即在groupInfo表中更新grpAddr以及grpPortID等信息,然后,GM调用groupSet()方法实现更新MIB库和更新组关系的功能。
●验证组成员(Check Group)
验证组成员,即验证该成员是否属于改组,起到一个在GM中扮演访问控制功能的角色,当管理站通过给代理发送单播或者组播的时候,在groupInfo表中更新grpAddr以及grpPortID等信息之前,需要GM调用checkgroup()方法实现组成员的访问控制管理。
图5显示了扩展后的组管理模块进行组管理的流程。
四、组密钥管理模块:
组密钥管理(Key Management,KM)模块:KM模块主要是用来从GKM获取并请求组密钥,并且通知GM模块更新组密钥和组成员信息。
本发明中组密钥管理(Key Management,KM)模块主要添加模块如下:
●申请密钥(Get Key)
申请密钥,即在GC(Group Control,组控制者)创建一个组播组的时候,需要定义该组的一些组信息,例如组密钥,组引擎ID等等,而组密钥是从GKM请求获取到的,即KM模块需要从GKM申请到群组密钥包(GKP)作为组密钥,其中,GKP包含两个密钥,一个是组播通信密钥(GTEK)和组播加密密钥(GKEK),每个组的组成员共同享有一个组播通信密钥,即GTEK,而每个组成员单独享有一个组播加密密钥,即GKEK。
●分发密钥(Set Key)
当成员Am+1加入后,需要将组播密钥(GTEK)分发给Am+1,GC选定组播通信密钥(GTEK)后,利用组成员Am+1拥有的组播加密密钥(GKEK)加密新的组播通信密钥(GTEK)在整个组中单播报文:{(GTEK′)GKEKm+1}给Am+1。其中GTEK是组播通信密钥,当组成员Am+1收到组播报文后,可以利用自己的组播加密密钥解密出该组播通信密钥(GTEK)。
●更新密钥(Update Key)
当成员密钥周期性更新时,需要进行组密钥更新,假设密钥更新后组播组的成员数由n(成员数)变化为m,GC选择新的组播通信密钥GTEK′,利用组成员A1-Am拥有的组播加密密钥GKEK加密新的组播通信密钥GTEK′在整个组中组播这个报文:{(GTEK′)GKEK1,(GTEK′)GKEK2,...,(GTEK′)GKEKm}。其中GTEK′是新的组播通信密钥,当组成员A1-Am收到组播报文后,可以利用自己的组播加密密钥解密出新的组播通信密钥GTEK′。
通过上述四方面的改进,即可在基于SNMPv3的网管系统中实现组播。
附图6给出了一个运用本发明网络模型的网管系统的网络拓扑结构,主要分为三层:第一层为总服务器层(总服务器),主要对分组子服务器进行管理和分组设备进行信息查询;第二层为子服务器层(子服务器1...子服务器N),主要实现对本子网内的分组设备的管理,包括查询和数据采集;第三层为设备层(NC、CPE、EPON等),该层设备均支持SNMP协议,并且也支持组播服务;其中,在总服务器主要运行一个网管软件,可以实现对分组设备的查询,在每个子服务器均运行一个数据采集器软件,实现对分组设备的查询和数据采集。当总服务器和子服务器作为管理站端时,建立一个组信息表和一个组成员信息表,其中组信息表包含字段:所管理的组ID、所管理的组IP(InternetProtocol)地址、所管理的组端口号、组密钥、组引擎ID;组成员信息表包含字段:所管理的组ID、代理ID、代理IP地址、代理认证密钥、代理加密密钥、更新周期、代理注册状态;当子服务器和设备作为代理端时,组信息表包含字段:所属的组ID、所属的组IP地址、所属的组端口号、组密钥、组引擎ID;组成员信息表包含字段:所属的组ID、管理站ID、管理站IP地址、管理站认证密钥、管理站加密密钥、目的组播IP地址、目的组播端口号。
该系统在进行数据采集时,按照以下步骤进行:
步骤1)管理员首先在管理站创建一个组播组;
步骤2)管理员通过定义组名称、组IP、组端口号以及组密钥协议等组信息创建一个组播组;
步骤3)管理员向一个代理发送单播SET命令,在SET数据包的安全区域添加一个参数组密钥和一个组引擎ID,要求该代理加入该组播组;
步骤4)代理接收到管理站发送的单播SET命令后,先验证是否处于该组播组中,如果在该组播组中,转向步骤6,如果不在,转向步骤5;
步骤5)代理调用加入组模块加入相应的组播组,同时更新代理中的组播组信息,更新MIB库,即代理加入组播组中;
步骤6)管理站向代理组发送查询的组播GET命令,将IP地址和端口号改为组播组的IP地址和端口号,
步骤7)同时在GET数据包的安全区域添加一个组密钥和一个组引擎ID,要求查询该代理组的某些OID属性;
步骤8)当达到管理站中预先设定的密钥更新周期时,转向步骤9,否则,继续转向步骤11;
步骤9)管理站首先从GKM获取新的组密钥和组引擎ID;
步骤10)然后管理站向代理组组播更新SET命令,要求更新代理组中的组信息,包括组密钥和组引擎ID;
步骤11)当代理组接收到管理站发送的组播GET命令和组播SET命令时,代理组中每个代理先验证是否处于该组播组中,如果在该组播组中,转向步骤12,如果不在,代理舍弃该报文,转向步骤16;
步骤12)经过验证报文正确后,如果是更新命令,则代理组中每个代理调用更新组模块更新相应组信息,则转向步骤16,如果是查询命令,则转向步骤13;
步骤13)如果目的组播IP为NULL,则转向步骤14,如果目的组播IP不为NULL,则转向步骤15;
步骤14)则代理单播所查询OID信息返回源管理站;
步骤15)则代理选用目的组播IP为组播IP地址,返回查询消息给组播组地址为目的组播IP的组播组;
步骤16)当管理站要将一个代理从一个组播组中删除时,转向步骤17,当管理站要将一个代理组从管理站中删除时,转向步骤18;
步骤17)管理站向该代理发送一个单播SET命令,代理获取到SET命令后,经过验证报文后,调用退出组模块退出相应的组播组,同时删除该代理在组播组中的组信息,即从MIB库删除一条记录;
步骤18)管理站向该代理组发送一个组播SET命令,代理组获取到SET命令后,经过验证报文后,每个代理均调用退出组模块退出相应的组播组,同时清空有关该组播组的所有组信息;
步骤19)全过程结束。
Claims (1)
1.一种支持组播的SNMPv3改进网络模型的实现方法,所述支持组播的SNMPv3改进网络模型,包括管理站端和代理端,所述管理站端和代理端均包含设备MIB、SNMP引擎、组管理模块、组密钥管理模块;所述设备MIB包含组信息表和组成员信息表,组信息表中包含该设备MIB所在节点所有管理的组和所有被管理的组信息,组成员信息表中包含该节点所有管理组的组成员信息;所述SNMP引擎包含和组管理模块相融合的分发器;
所述组管理模块包含加入组模块、退出组模块、更新组模块以及验证组成员模块;所述组密钥管理模块包含申请密钥模块、分发密钥模块及更新密钥模块;
在管理站端,所述组信息表包含字段:所管理的组ID、所管理的组IP地址、所管理的组端口号、组密钥、组引擎ID;所述组成员信息表包含字段:所管理的组ID、代理ID、代理IP地址、代理认证密钥、代理加密密钥、更新周期、代理注册状态;
在代理端,所述组信息表包含字段:所属的组ID、所属的组IP地址、所属的组端口号、组密钥、组引擎ID;所述组成员信息表包含字段:所属的组ID、管理站ID、管理站IP地址、管理站认证密钥、管理站加密密钥、目的组播IP地址、目的组播端口号;
其特征在于,所述实现方法包括以下步骤:
步骤1) 管理员首先在管理站创建一个组播组;
步骤2) 管理员通过定义组名称、组IP、组端口号以及组密钥协议,创建一个组播组;
步骤3) 管理员向一个代理发送单播SET命令,在SET数据包的安全区域添加一个参数组密钥和一个组引擎ID,要求该代理加入该组播组;
步骤4) 代理接收到管理站发送的单播SET命令后,先验证是否处于该组播组中,如果在该组播组中,转向步骤6,如果不在,转向步骤5;
步骤5) 代理调用加入组模块加入相应的组播组,同时更新代理中的组播组信息,更新MIB库,即代理加入组播组中;
步骤6) 管理站向该代理所加入的组播组发送查询的组播GET命令,将IP地址和端口号改为该组播组的IP地址和端口号,
步骤7) 同时在GET数据包的安全区域添加一个组密钥和一个组引擎ID,要求查询该组播组的某些OID属性;
步骤8)当达到管理站中预先设定的密钥更新周期时,转向步骤9,否则,继续转向步骤11;
步骤9) 管理站首先从组密钥管理模块获取新的组密钥和组引擎ID;
步骤10) 然后管理站向代理组组播更新SET命令,要求更新代理组中的组信息,包括组密钥和组引擎ID;
步骤11) 当代理组接收到管理站发送的组播GET命令和组播SET命令时,代理组中每个代理先验证是否处于该组播组中,如果在该组播组中,转向步骤12,如果不在,代理舍弃所接收到的组播GET命令和组播SET命令报文,转向步骤16;
步骤12) 经过验证报文正确后,如果是更新命令,则代理组中每个代理调用更新组模块更新相应组信息,则转向步骤16,如果是查询命令,则转向步骤13;
步骤13) 如果目的组播IP为NULL,则转向步骤14,如果目的组播IP不为NULL,则转向步骤15;
步骤14) 则代理单播所查询OID信息返回源管理站;
步骤15) 则代理选用目的组播IP为组播IP地址,返回查询消息给组播组地址为目的组播IP的组播组;
步骤16) 当管理站要将一个代理从一个组播组中删除时,转向步骤17,当管理站要将一个代理组从管理站中删除时,转向步骤18;
步骤17) 管理站向该代理发送一个单播SET命令,代理获取到SET命令后,经过验证报文后,调用退出组模块退出相应的组播组,同时删除该代理在组播组中的组信息,即从MIB库删除一条记录;
步骤18) 管理站向该代理组发送一个组播SET命令,代理组获取到SET命令后,经过验证报文后,每个代理均调用退出组模块退出相应的组播组,同时清空有关该组播组的所有组信息;
步骤19) 全过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110086260 CN102223245B (zh) | 2011-04-07 | 2011-04-07 | 支持组播的SNMPv3改进网络模型及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110086260 CN102223245B (zh) | 2011-04-07 | 2011-04-07 | 支持组播的SNMPv3改进网络模型及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102223245A CN102223245A (zh) | 2011-10-19 |
CN102223245B true CN102223245B (zh) | 2013-10-30 |
Family
ID=44779678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110086260 Expired - Fee Related CN102223245B (zh) | 2011-04-07 | 2011-04-07 | 支持组播的SNMPv3改进网络模型及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102223245B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247803B (zh) * | 2019-06-20 | 2022-05-20 | 成都积微物联集团股份有限公司 | 一种针对网络管理协议SNMPv3的协议优化架构及其方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2889390A1 (fr) * | 2005-07-29 | 2007-02-02 | France Telecom | Mesure d'audience de flux ip multicast |
CN101030877B (zh) * | 2007-04-06 | 2010-06-16 | 中兴通讯股份有限公司 | 一种点到点协议实现组播业务的方法 |
CN101388784A (zh) * | 2007-09-13 | 2009-03-18 | 华为技术有限公司 | 一种处理组播业务信息的方法、装置及系统 |
CN101621455A (zh) * | 2008-07-02 | 2010-01-06 | 华为技术有限公司 | 网络设备的管理方法和网络管理站、设备 |
-
2011
- 2011-04-07 CN CN 201110086260 patent/CN102223245B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102223245A (zh) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763426B (zh) | 一种基于多协议即时通信系统的物联网业务处理系统 | |
WO2020113545A1 (zh) | 基于联盟链投票共识算法产生及管理多模标识网络的方法 | |
EP2547040B1 (en) | Group communication method and device for use in group communication | |
US7958226B2 (en) | Identifying a computer device | |
CN102624728B (zh) | 一种利用已注册网站用户信息进行全网登录认证的方法及系统 | |
CN101083517A (zh) | 业务网络内提供端到端服务质量保证的装置和方法 | |
CN101808051B (zh) | 应用整合网关及其控制方法 | |
CN101848236A (zh) | 具有分布式网络架构的实时数据分发系统及其工作方法 | |
CN101335724B (zh) | 一种基于家庭网关的通讯系统、方法和通讯设备 | |
CN109936509B (zh) | 一种基于多元身份的设备群组认证方法及系统 | |
KR20150063906A (ko) | M2m 환경에서 사용 가능한 장치를 검색하는 방법 및 장치 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN106210064B (zh) | 一种基于授权的可控p2p大规模遥感数据分发方法 | |
CN110462600A (zh) | 用于联网媒体分发的系统、方法和设备 | |
CN108055263A (zh) | 一种卫星通信网中的实体认证权限管理系统及方法 | |
CN101098256A (zh) | 一种基于简单网络管理协议的集群管理方法和系统 | |
CN110213156A (zh) | 一种跨中心群组即时通信方法和系统 | |
CN114172730B (zh) | 面向链上链下结合文件区块链的跨链方法及中间系统 | |
CN103812672A (zh) | 一种新增网元设备的发现方法、相关设备及系统 | |
CN101572621A (zh) | 一种出错原因返回方法和一种实现网络管理的系统 | |
CN102223245B (zh) | 支持组播的SNMPv3改进网络模型及其实现方法 | |
CN103269371B (zh) | 一种基于Anycast的物联网DS查询方法及系统 | |
US20040122923A1 (en) | Systems and methods for improved multisite management of converged communication systems and computer systems | |
CN101610187B (zh) | 一种混合结构的告警处理方法及设备 | |
KR20150067037A (ko) | M2m 시스템에서 구독의 기준정보 최적화 방법 및 장치 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131030 Termination date: 20160407 |