專利名稱:支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol ;即 SNMP)的網(wǎng)絡(luò)模型,尤其涉及一種支持組播的SNMPv3(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議第三版)改進(jìn)網(wǎng)絡(luò)模型及其實(shí)現(xiàn)方法,屬于網(wǎng)管系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
隨著國(guó)家信息化建設(shè)的不斷深入開(kāi)展,各種各樣的網(wǎng)絡(luò)應(yīng)用規(guī)模都在不斷擴(kuò)大。 眾多不同的網(wǎng)絡(luò)操作系統(tǒng)、不同廠家的網(wǎng)絡(luò)通信設(shè)備、多種多樣的網(wǎng)絡(luò)服務(wù)軟件、數(shù)量龐大的使用者和潛在的攻擊者并存于網(wǎng)絡(luò)上,系統(tǒng)的復(fù)雜性和多樣性在不斷提高。因此需要一套綜合的網(wǎng)管系統(tǒng)實(shí)時(shí)自動(dòng)的監(jiān)測(cè)網(wǎng)絡(luò)中各個(gè)系統(tǒng)的運(yùn)行狀況,并能夠?qū)崿F(xiàn)相應(yīng)的報(bào)警功能,來(lái)提高網(wǎng)絡(luò)的可靠性。SNMP的目標(biāo)是管理互聯(lián)網(wǎng)hternet上眾多廠家生產(chǎn)的軟硬件平臺(tái),因此SNMP 受hternet標(biāo)準(zhǔn)網(wǎng)絡(luò)管理框架的影響也很大?,F(xiàn)在SNMP已經(jīng)出到第三個(gè)版本的協(xié)議,其功能較以前已經(jīng)大大地加強(qiáng)和改進(jìn)了。其中,SNMPv3將網(wǎng)絡(luò)看成由許多分布的、互相作用的實(shí)體(entity)構(gòu)成,這些實(shí)體或者是代理,或者是管理站。SNMP實(shí)體由SNMP引擎(由 snmpEngineID唯一標(biāo)識(shí))和SNMP應(yīng)用程序組成。引擎執(zhí)行實(shí)體的下層功能,它包括分發(fā)器、消息處理子系統(tǒng)、安全子系統(tǒng)和訪問(wèn)控制子系統(tǒng)等子模塊。它們相互協(xié)作配合,完成各種功能。SNMP代理和SNMP管理站通稱為SNMP實(shí)體,SNMP體系的核心是MIB (Management Information Base,管理信息庫(kù)),它是網(wǎng)絡(luò)中所有被管對(duì)象的集合。它采用分層的樹(shù)型結(jié)構(gòu)來(lái)定義被管對(duì)象,經(jīng)SNMP傳輸?shù)乃泄芾硇畔⒍急皇占組IB中。但是隨著網(wǎng)絡(luò)的發(fā)展,業(yè)務(wù)逐漸增多,多廠商異構(gòu)性的設(shè)備數(shù)量急劇增加,傳統(tǒng)的 SNMP網(wǎng)管系統(tǒng)都是基于一對(duì)一的IP單播模式的,網(wǎng)管數(shù)據(jù)采集過(guò)程中的大量數(shù)據(jù)重復(fù)發(fā)送給業(yè)務(wù)帶寬帶來(lái)了巨大的開(kāi)銷,而且傳統(tǒng)的單播輪詢對(duì)于新的網(wǎng)絡(luò)狀況下輪詢效率變得低下,傳統(tǒng)的單播輪詢的方式已經(jīng)不適合新網(wǎng)絡(luò)下的新需求。因此面對(duì)這種現(xiàn)狀,改用組播技術(shù)不失為一種很好的選擇,組播因其能節(jié)省發(fā)送者資源、網(wǎng)絡(luò)帶寬以及減少網(wǎng)絡(luò)流量而具有廣闊的應(yīng)用前景。但是現(xiàn)有的SNMPv3標(biāo)準(zhǔn)是不支持組播方式的,因此研究擴(kuò)充SNMPv3 協(xié)議使其支持組播方式的SNMPv3改進(jìn)網(wǎng)絡(luò)模型以及實(shí)現(xiàn)是本發(fā)明研究的重點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于克服現(xiàn)有基于SNMPv3協(xié)議的網(wǎng)管系統(tǒng)不支持組播的缺陷,提供一種支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型及其實(shí)現(xiàn)方法,從而提高網(wǎng)管系統(tǒng)數(shù)據(jù)采集的效率,減少網(wǎng)絡(luò)資源消耗。本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問(wèn)題一種支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型,包括管理站端和代理端,所述管理站端和代理端均包含設(shè)備MIB、SNMP引擎、組管理模塊、組密鑰管理模塊,所述設(shè)備MIB包含組信息表和組成員信息表,組信息表中包含該節(jié)點(diǎn)所有管理的組和所有被管理的組息,組成員信息表中包含該節(jié)點(diǎn)所有管理組的組成員信息;所述SNMP引擎包含和組管理模塊相融合的分發(fā)器;所述組管理模塊包含加入組模塊、退出組模塊、更新組模塊以及驗(yàn)證組成員模塊; 所述組密鑰管理模塊包含申請(qǐng)密鑰模塊、分發(fā)密鑰模塊及更新密鑰模塊。一種支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型的實(shí)現(xiàn)方法,包括以下步驟步驟1)管理員首先在管理站創(chuàng)建一個(gè)組播組;步驟2~)管理員通過(guò)定義組名稱、組IP、組端口號(hào)以及組密鑰協(xié)議等組信息創(chuàng)建一個(gè)組播組; 步驟;3)管理員向一個(gè)代理發(fā)送單播SET命令,在SET數(shù)據(jù)包的安全區(qū)域添加一個(gè)參數(shù)組密鑰和一個(gè)組引擎ID,要求該代理加入該組播組;步驟4)代理接收到管理站發(fā)送的單播SET命令后,先驗(yàn)證是否處于該組播組中, 如果在該組播組中,轉(zhuǎn)向步驟6,如果不在,轉(zhuǎn)向步驟5 ;步驟幻代理調(diào)用加入組模塊加入相應(yīng)的組播組,同時(shí)更新代理中的組播組信息, 更新MIB庫(kù),即代理加入組播組中;步驟6)管理站向代理組發(fā)送查詢的組播GET命令,將IP地址和端口號(hào)改為組播組的IP地址和端口號(hào),步驟7)同時(shí)在GET數(shù)據(jù)包的安全區(qū)域添加一個(gè)組密鑰和一個(gè)組引擎ID,要求查詢?cè)摯斫M的某些OID (Object Identifier)屬性;步驟8)當(dāng)達(dá)到管理站中預(yù)先設(shè)定的密鑰更新周期時(shí),轉(zhuǎn)向步驟9,否則,繼續(xù)轉(zhuǎn)向步驟11 ;步驟9)管理站首先從GKM獲取新的組密鑰和組引擎ID ;步驟10)然后管理站向代理組組播更新SET命令,要求更新代理組中的組信息,包括組密鑰和組引擎ID;步驟11)當(dāng)代理組接收到管理站發(fā)送的組播GET命令和組播SET命令時(shí),代理組中每個(gè)代理先驗(yàn)證是否處于該組播組中,如果在該組播組中,轉(zhuǎn)向步驟12,如果不在,代理舍棄該報(bào)文,轉(zhuǎn)向步驟16;步驟1 經(jīng)過(guò)驗(yàn)證報(bào)文正確后,如果是更新命令,則代理組中每個(gè)代理調(diào)用更新組模塊更新相應(yīng)組信息,則轉(zhuǎn)向步驟16,如果是查詢命令,則轉(zhuǎn)向步驟13 ;步驟13)如果目的組播IP為NULL,則轉(zhuǎn)向步驟14,如果目的組播IP不為NULL,則轉(zhuǎn)向步驟15;步驟14)則代理單播所查詢OID信息返回源管理站;步驟15)則代理選用目的組播IP為組播IP地址,返回查詢消息給組播組地址為目的組播IP的組播組;步驟16)當(dāng)管理站要將一個(gè)代理從一個(gè)組播組中刪除時(shí),轉(zhuǎn)向步驟17,當(dāng)管理站要將一個(gè)代理組從管理站中刪除時(shí),轉(zhuǎn)向步驟18 ;步驟17)管理站向該代理發(fā)送一個(gè)單播SET命令,代理獲取到SET命令后,經(jīng)過(guò)驗(yàn)證報(bào)文后,調(diào)用退出組模塊退出相應(yīng)的組播組,同時(shí)刪除該代理在組播組中的組信息,即從 MIB庫(kù)刪除一條記錄;步驟18)管理站向該代理組發(fā)送一個(gè)組播SET命令,代理組獲取到SET命令后,經(jīng)過(guò)驗(yàn)證報(bào)文后,每個(gè)代理均調(diào)用退出組模塊退出相應(yīng)的組播組,同時(shí)清空有關(guān)該組播組的所有組信息;步驟19)全過(guò)程結(jié)束。本發(fā)明通過(guò)對(duì)現(xiàn)有SNMPv3網(wǎng)絡(luò)的設(shè)備MIB、SNMP引擎、組管理模塊、組密鑰管理模塊分別進(jìn)行擴(kuò)充和改進(jìn),使該網(wǎng)絡(luò)可使用組播方式進(jìn)行數(shù)據(jù)的查詢和采集,從而解決了現(xiàn)有基于SNMPv3協(xié)議的網(wǎng)管系統(tǒng)數(shù)據(jù)重復(fù)發(fā)送和采集效率低下的問(wèn)題。
圖1是本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型,其中圖(a)為管理站端,圖(b)為代理端;圖2是在MoCA設(shè)備的MIB庫(kù)中添加的groupInfo分支樹(shù)和groupMember分支樹(shù);圖3是現(xiàn)有SNMPv3網(wǎng)絡(luò)模型中分發(fā)器的結(jié)構(gòu);圖4是本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型擴(kuò)展后的分發(fā)器結(jié)構(gòu);圖5是本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);圖6是本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型組管理流程實(shí)現(xiàn)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型作為網(wǎng)管系統(tǒng)中的一種協(xié)議模型,通過(guò)將組播和 SNMPv3相結(jié)合的方式,使得SNMPv3改進(jìn)網(wǎng)絡(luò)模型可以支持組播方式,當(dāng)管理者需要對(duì)一批網(wǎng)管代理做狀態(tài)查詢、配置更新等操作時(shí),組播通信的方式就具備了將一份消息送往多個(gè)接收者的性質(zhì)(即同一性)。采用組播方式發(fā)送數(shù)據(jù),不僅可以提高網(wǎng)絡(luò)利用率,節(jié)約帶寬, 而且對(duì)網(wǎng)絡(luò)管理效率也有相當(dāng)大的作用。首先,管理站端和代理端的MIB庫(kù)沒(méi)有相應(yīng)的組信息的定義,因此,MIB庫(kù)首先需要擴(kuò)展,其次,應(yīng)該考慮組和組成員的管理以及組密鑰的管理,組管理包括組的管理、組成員管理等等。它通過(guò)和組密鑰管理模塊的交互來(lái)獲取新的組密鑰和連接擴(kuò)展的MIB庫(kù)更新組信息。最后,SNMP引擎部分需要擴(kuò)展,為了支持組播,需要修改SNMP引擎中傳遞消息的分發(fā)器,使分發(fā)器和添加的新模塊充分融合。本發(fā)明的SNMPv3改進(jìn)網(wǎng)絡(luò)模型如圖1所示,其中圖(a)和圖(b)分別為管理站端和代理端SNMPv3改進(jìn)模型,該模型主要對(duì)現(xiàn)有SNMPv3模型進(jìn)行擴(kuò)充,主要包括對(duì)設(shè)備 MIB的擴(kuò)展、對(duì)SNMP引擎的改進(jìn)、對(duì)組管理(GM)模塊的擴(kuò)充以及組密鑰管理(KM)模塊的擴(kuò)充等四部分,其中,GKM(Group Key Management,群組密鑰管理)協(xié)議通過(guò)特定算法將密鑰分發(fā)給群組中的每個(gè)組成員,KM為組密鑰管理模塊,包括從GKM的組密鑰申請(qǐng)、組密鑰分配和組密鑰更新等模塊,GM為組信息管理模塊,包括從KM獲取組密鑰、組信息管理和組成員管理等模塊,最后對(duì)SNMP引擎中的分發(fā)器模塊進(jìn)行改進(jìn),修改后的分發(fā)器可以兼容添加后新的功能模塊。下面對(duì)這四部分的擴(kuò)充分別進(jìn)行描述。一、設(shè)備 MIB:SNMP體系的核心是MIB (Management Information Base,管理信息庫(kù)),它是網(wǎng)絡(luò)中所有被管對(duì)象的集合。它采用分層的樹(shù)型結(jié)構(gòu)來(lái)定義被管對(duì)象,經(jīng)SNMP傳輸?shù)乃泄芾硇畔⒍急皇占組IB庫(kù)中,因此要實(shí)現(xiàn)基于組播的SNMP,首先應(yīng)對(duì)MIB做相應(yīng)的擴(kuò)展,使其具備存儲(chǔ)組播組信息的功能。本發(fā)明對(duì)MIB庫(kù)的組播擴(kuò)展為加入組信息表(grouplnfo)和組成員信息表(groupMember),其中,組信息表中包含該節(jié)點(diǎn)所有管理的組和所有被管理的組信息,組成員信息表中包含該節(jié)點(diǎn)所有管理組的組成員信息。作為一種實(shí)施方式,可以按如下方式設(shè)置組信息表和組成員信息表在管理站端,所述組信息表包含字段所管理的組ID、所管理的組IP地址、所管理的組端口號(hào)、組密鑰、組引擎ID ;所述組成員信息表包含字段所管理的組ID、代理ID、 代理IP地址、代理認(rèn)證密鑰、代理加密密鑰、更新周期、代理注冊(cè)狀態(tài);在代理端,所述組信息表包含字段所屬的組ID、所屬的組IP地址、所屬的組端口號(hào)、組密鑰、組引擎ID ;所述組成員信息表包含字段所屬的組ID、管理站ID、管理站IP地址、管理站認(rèn)證密鑰、管理站加密密鑰、目的組播IP地址、目的組播端口號(hào)。圖2所示為在MoCA設(shè)備的MIB庫(kù)中添加的grouplnfo分支樹(shù)和groupMember分支樹(shù),其中,grouplnfo分支樹(shù)表示組信息表, groupMember分支樹(shù)表示組成員信息表。。組信息表、組成員信息表的具體描述分別如下表 1、表2所示。
字段名管理站描述代理描述grpID所管理的組ID所屬的組IDgrpAddr所管理的組IP所屬的組IPgrpPortID所管理的組端口號(hào)所屬的組端口號(hào)grpKeyMaterial組密鑰組密鑰grp引擎ID組引擎ID組引擎ID表 1
字段名管理站描述代理描述grp ID所管理的組ID所屬的組IDuserID代理ID管理站IDuserAddr代理IP管理站IPuserAuthKey代理認(rèn)證密鑰管理站認(rèn)證密鑰UserPrivKey代理加密密鑰管理站加密密鑰destGrpAddr目的組播IPdestGrpPortID目的組播端口號(hào)UpdateTime更新周期
權(quán)利要求
1.一種支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型,包括管理站端和代理端,所述管理站端和代理端均包含設(shè)備MIB、SNMP引擎、組管理模塊、組密鑰管理模塊,其特征在于,所述設(shè)備MIB包含組信息表和組成員信息表,組信息表中包含該節(jié)點(diǎn)所有管理的組和所有被管理的組信息,組成員信息表中包含該節(jié)點(diǎn)所有管理組的組成員信息; 所述SNMP引擎包含和組管理模塊相融合的分發(fā)器;所述組管理模塊包含加入組模塊、退出組模塊、更新組模塊以及驗(yàn)證組成員模塊; 所述組密鑰管理模塊包含申請(qǐng)密鑰模塊、分發(fā)密鑰模塊及更新密鑰模塊。
2.如權(quán)利要求1所述支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型,其特征在于,在管理站端,所述組信息表包含字段所管理的組ID、所管理的組IP地址、所管理的組端口號(hào)、組密鑰、組引擎ID ;所述組成員信息表包含字段所管理的組ID、代理ID、代理IP 地址、代理認(rèn)證密鑰、代理加密密鑰、更新周期、代理注冊(cè)狀態(tài);在代理端,所述組信息表包含字段所屬的組ID、所屬的組IP地址、所屬的組端口號(hào)、 組密鑰、組引擎ID ;所述組成員信息表包含字段所屬的組ID、管理站ID、管理站IP地址、 管理站認(rèn)證密鑰、管理站加密密鑰、目的組播IP地址、目的組播端口號(hào)。
3.如權(quán)利要求1所述支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型的實(shí)現(xiàn)方法,其特征在于,包括以下步驟步驟1)管理員首先在管理站創(chuàng)建一個(gè)組播組;步驟幻管理員通過(guò)定義組名稱、組IP、組端口號(hào)以及組密鑰協(xié)議等組信息創(chuàng)建一個(gè)組播組;步驟;3)管理員向一個(gè)代理發(fā)送單播SET命令,在SET數(shù)據(jù)包的安全區(qū)域添加一個(gè)參數(shù)組密鑰和一個(gè)組引擎ID,要求該代理加入該組播組;步驟4)代理接收到管理站發(fā)送的單播SET命令后,先驗(yàn)證是否處于該組播組中,如果在該組播組中,轉(zhuǎn)向步驟6,如果不在,轉(zhuǎn)向步驟5 ;步驟幻代理調(diào)用加入組模塊加入相應(yīng)的組播組,同時(shí)更新代理中的組播組信息,更新 MIB庫(kù),即代理加入組播組中;步驟6)管理站向代理組發(fā)送查詢的組播GET命令,將IP地址和端口號(hào)改為組播組的 IP地址和端口號(hào),步驟7)同時(shí)在GET數(shù)據(jù)包的安全區(qū)域添加一個(gè)組密鑰和一個(gè)組引擎ID,要求查詢?cè)摯斫M的某些OID屬性;步驟8)當(dāng)達(dá)到管理站中預(yù)先設(shè)定的密鑰更新周期時(shí),轉(zhuǎn)向步驟9,否則,繼續(xù)轉(zhuǎn)向步驟 ;步驟9)管理站首先從GKM獲取新的組密鑰和組引擎ID ;步驟10)然后管理站向代理組組播更新SET命令,要求更新代理組中的組信息,包括組密鑰和組引擎ID ;步驟11)當(dāng)代理組接收到管理站發(fā)送的組播GET命令和組播SET命令時(shí),代理組中每個(gè)代理先驗(yàn)證是否處于該組播組中,如果在該組播組中,轉(zhuǎn)向步驟12,如果不在,代理舍棄該報(bào)文,轉(zhuǎn)向步驟16;步驟12)經(jīng)過(guò)驗(yàn)證報(bào)文正確后,如果是更新命令,則代理組中每個(gè)代理調(diào)用更新組模塊更新相應(yīng)組信息,則轉(zhuǎn)向步驟16,如果是查詢命令,則轉(zhuǎn)向步驟13 ;步驟13)如果目的組播IP為NULL,則轉(zhuǎn)向步驟14,如果目的組播IP不為NULL,則轉(zhuǎn)向步驟15 ;步驟14)則代理單播所查詢OID信息返回源管理站;步驟15)則代理選用目的組播IP為組播IP地址,返回查詢消息給組播組地址為目的組播IP的組播組;步驟16)當(dāng)管理站要將一個(gè)代理從一個(gè)組播組中刪除時(shí),轉(zhuǎn)向步驟17,當(dāng)管理站要將一個(gè)代理組從管理站中刪除時(shí),轉(zhuǎn)向步驟18 ;步驟17)管理站向該代理發(fā)送一個(gè)單播SET命令,代理獲取到SET命令后,經(jīng)過(guò)驗(yàn)證報(bào)文后,調(diào)用退出組模塊退出相應(yīng)的組播組,同時(shí)刪除該代理在組播組中的組信息,即從MIB 庫(kù)刪除一條記錄;步驟18)管理站向該代理組發(fā)送一個(gè)組播SET命令,代理組獲取到SET命令后,經(jīng)過(guò)驗(yàn)證報(bào)文后,每個(gè)代理均調(diào)用退出組模塊退出相應(yīng)的組播組,同時(shí)清空有關(guān)該組播組的所有組信息;步驟19)全過(guò)程結(jié)束。
全文摘要
本發(fā)明公開(kāi)了一種支持組播的SNMPv3改進(jìn)網(wǎng)絡(luò)模型及其實(shí)現(xiàn)方法。本發(fā)明的網(wǎng)絡(luò)模型包括管理站端和代理端,所述管理站端和代理端均包含設(shè)備MIB、SNMP引擎、組管理模塊、組密鑰管理模塊,所述設(shè)備MIB包含組信息表和組成員信息表,組信息表中包含該節(jié)點(diǎn)所有管理的組和所有被管理的組息,組成員信息表中包含該節(jié)點(diǎn)所有管理組的組成員信息;所述SNMP引擎包含和組管理模塊相融合的分發(fā)器;所述組管理模塊包含加入組模塊、退出組模塊、更新組模塊以及驗(yàn)證組成員模塊;所述組密鑰管理模塊包含申請(qǐng)密鑰模塊、分發(fā)密鑰模塊及更新密鑰模塊。本發(fā)明可使網(wǎng)管系統(tǒng)用組播方式進(jìn)行數(shù)據(jù)的查詢和采集,解決了現(xiàn)有基于SNMPv3協(xié)議的網(wǎng)管系統(tǒng)數(shù)據(jù)重復(fù)發(fā)送和采集效率低下的問(wèn)題。
文檔編號(hào)H04L29/06GK102223245SQ201110086260
公開(kāi)日2011年10月19日 申請(qǐng)日期2011年4月7日 優(yōu)先權(quán)日2011年4月7日
發(fā)明者崔國(guó)亮, 張登銀, 程春玲, 趙曉強(qiáng), 隋宗見(jiàn) 申請(qǐng)人:南京郵電大學(xué)