專利名稱:采用snmp協(xié)議的通信系統(tǒng)和消息交互方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及采用SNMP協(xié)議的通信系統(tǒng)和消息交互方法。
背景技術(shù):
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP是專門設(shè)計(jì)用于在網(wǎng)絡(luò)中管理網(wǎng)絡(luò)節(jié)點(diǎn)(服務(wù)器,工作站,路由器,交換機(jī)等)的一種標(biāo)準(zhǔn)協(xié)議,它是一種應(yīng)用層協(xié)議。SNMP使得網(wǎng)絡(luò)管理員可以管理網(wǎng)絡(luò)效能,發(fā)現(xiàn)并解決網(wǎng)絡(luò)中的問題(通過SNMP接收設(shè)備上報(bào)的Trap或者INFORM報(bào)文)以及規(guī)劃網(wǎng)絡(luò)的增長(zhǎng)。
SNMP管理的網(wǎng)絡(luò)有三個(gè)主要的組成部分被管理的設(shè)備,代理(Agent)和網(wǎng)絡(luò)管理系統(tǒng)(NMS)。被管理設(shè)備是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(服務(wù)器,工作站,路由器,交換機(jī)等),包含SNMP代理并處在管理網(wǎng)絡(luò)之中,它主要是收集并存儲(chǔ)管理信息。通過SNMP,網(wǎng)絡(luò)管理系統(tǒng)NMS能得到這些信息。代理(Agent)是被管理設(shè)備上的一個(gè)網(wǎng)絡(luò)管理軟件模塊。SNMP代理擁有本地的相關(guān)管理信息,并把它們轉(zhuǎn)換成與SNMP相兼容的格式。
SNMP V1定義了5種報(bào)文
Get-Request操作管理進(jìn)程從代理進(jìn)程中提取一個(gè)或多個(gè)參數(shù)的值。
Get-Next-Request操作管理進(jìn)程從代理進(jìn)程中提取一個(gè)或多個(gè)參數(shù)的下一個(gè)參數(shù)的值。
Set-Request操作管理進(jìn)程設(shè)置代理進(jìn)程的一個(gè)或多個(gè)參數(shù)值。
Get-Response操作代理進(jìn)程返回的一個(gè)或多個(gè)參數(shù)值,它是前面3種操作的響應(yīng)操作。
Trap操作代理進(jìn)程主動(dòng)發(fā)出的報(bào)文,通知管理進(jìn)程有事情發(fā)生(在V2中重定義為SNMP V2-Trap)。
SNMP V2中增加了2種報(bào)文Get-Bulk-Request操作管理進(jìn)程從代理進(jìn)程中提取一個(gè)或多個(gè)參數(shù)后面多個(gè)參數(shù)的值。
Inform-Request操作實(shí)際上是有應(yīng)答的SNMP V2-Trap(陷阱)。
下面介紹SNMP封裝成UDP數(shù)據(jù)報(bào)的操作的報(bào)文格式(以SNMPV2為參考),如圖1,一個(gè)SNMP報(bào)文由一個(gè)版本標(biāo)識(shí)符(versionidentifier),一個(gè)SNMP共同體標(biāo)識(shí)符(community name)和一個(gè)數(shù)據(jù)字段(PDU)組成。版本標(biāo)識(shí)符用于區(qū)分SNMP版本,0為SNMPV1,1為SNMP V2。共同體表示符實(shí)際上是管理進(jìn)程和代理進(jìn)程使用的字符串口令。PDU則是經(jīng)過編碼的數(shù)據(jù)字段。
SNMP V2基本的PDU格式如圖2,SNMPv1的GetRequest、GetNextRequest、GetResponse和SetRequest具有和V2相同的格式,只是SNMPv1的Trap和它們有不同的格式,SNMPv1的Trap與SNMPv2的SNMPv2-Trap格式也不同。PDU類型字段用來區(qū)分具體的操作類型,請(qǐng)求標(biāo)識(shí)符(Request-ID)是一個(gè)32位的整數(shù)。在一個(gè)Response-PDU中的Request-ID值取它所回應(yīng)的那個(gè)請(qǐng)求PDU的Request-ID值。錯(cuò)誤狀態(tài)(Error Status)和錯(cuò)誤索引(Error Index)在一個(gè)響應(yīng)報(bào)文Response-PDU中,非零的錯(cuò)誤狀態(tài)(Error Status)值表示發(fā)生了額外的事件使得不能完成請(qǐng)求的操作。這時(shí),錯(cuò)誤索引(Error Index)的非零值表示了引起這個(gè)額外事件的變量綁定表中的那個(gè)變量綁定的信息。變量綁定表中包含許多個(gè)變量綁定{name,value},代表操作的變量。
管理站和被管設(shè)備之間需要遵循統(tǒng)一的接口,這樣管理站才知道被管設(shè)備上可以被使用的數(shù)據(jù),這樣的接口是用MIB文件定義的。MIB指的是管理信息庫,具體是指代理進(jìn)程包含的,并且能夠被管理進(jìn)程查詢和設(shè)置的進(jìn)程的集合。接口的定義方法是用統(tǒng)一的語法(管理信息結(jié)構(gòu)SMI),將信息描述到文件(MIB文件),管理服務(wù)器和代理器照規(guī)定的語法對(duì)文件進(jìn)行解析,從而獲取信息。
SNMP協(xié)議中操作基本上都是由網(wǎng)絡(luò)管理系統(tǒng)發(fā)起,代理端被動(dòng)的接受網(wǎng)絡(luò)管理系統(tǒng)發(fā)起的GET和SET等操作,代理端只有通過Trap(陷阱)或者INFORM(通知)才能夠通知自身有一些重大事件發(fā)生。首先,這是一個(gè)很簡(jiǎn)單的交互模型,在較為復(fù)雜的消息交互的應(yīng)用場(chǎng)景下不適用。比如,網(wǎng)絡(luò)管理系統(tǒng)希望通過自己給定的參數(shù),而從代理端獲得想要的數(shù)據(jù),通過GET操作不行,因?yàn)闊o法去設(shè)置參數(shù),改變一下策略,在GET操作之前先把所需要的參數(shù)SET給代理端,結(jié)果也是不可行的,因?yàn)榫W(wǎng)絡(luò)管理系統(tǒng)不知道什么時(shí)候代理端能把所需要的數(shù)據(jù)準(zhǔn)備好,只有數(shù)據(jù)準(zhǔn)備好了才能夠通過GET操作去獲取,第三個(gè)策略可以讓代理端準(zhǔn)備好數(shù)據(jù),在用Trap或者INFORM通知網(wǎng)絡(luò)管理系統(tǒng)來GET,或者直接將變量綁定在Trap或者是INFORM的綁定列表中上傳,第三個(gè)策略是可行的,但是如果這樣的操作是比較麻煩的。其次,現(xiàn)有的交互模型中,網(wǎng)絡(luò)管理系統(tǒng)得壓力比較大,因?yàn)楹芏啻矶说臄?shù)據(jù)都要靠網(wǎng)絡(luò)管理系統(tǒng)去輪詢。
如果可以在SNMP的協(xié)議的基礎(chǔ)上實(shí)現(xiàn)消息交互,上述問題就迎刃而解了。
發(fā)明內(nèi)容
針對(duì)以上一個(gè)或多個(gè)問題,本發(fā)明提供了采用SNMP協(xié)議的通信系統(tǒng)以及消息交互方法,解決了目前SNMP交互模型較為簡(jiǎn)單的問題,并且只通過一個(gè)變量的設(shè)置就可以讓網(wǎng)絡(luò)管理系統(tǒng)和代理端做出多種響應(yīng),實(shí)現(xiàn)了普通系統(tǒng)中的消息交互機(jī)制。
根據(jù)本發(fā)明的采用SNMP協(xié)議的通信系統(tǒng)包括SNMP管理站,用于與至少一個(gè)被管設(shè)備預(yù)先定義接口,并根據(jù)接口解析來自至少一個(gè)被管設(shè)備的消息并進(jìn)行相應(yīng)操作;SNMP代理,用于轉(zhuǎn)發(fā)來自SNMP管理站或至少一個(gè)被管設(shè)備的消息;以及至少一個(gè)被管設(shè)備,用于根據(jù)預(yù)先定義的接口解析來自SNMP管理站的消息并進(jìn)行相應(yīng)操作。
其中,SNMP管理站發(fā)送至至少一個(gè)被管設(shè)備的消息通過設(shè)置請(qǐng)求數(shù)據(jù)字段SET-REQUEST PDU承載,并將設(shè)置請(qǐng)求數(shù)據(jù)字段中的變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
消息號(hào)被設(shè)置為SNMP代理在接收設(shè)置請(qǐng)求數(shù)據(jù)字段時(shí)按照變量綁定列表的次序設(shè)置變量的值。
至少一個(gè)被管設(shè)備發(fā)送至SNMP管理站的消息通過SNMP v2Trap或Inform數(shù)據(jù)字段承載,并將其變量綁定列表中的第二個(gè)變量綁定為用于標(biāo)識(shí)SNMP v2 Trap(陷阱)或Inform(通知)數(shù)據(jù)字段承載的是消息的信息,并將變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
根據(jù)部本發(fā)明的采用SNMP協(xié)議的消息交互方法包括以下步驟步驟S502,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S504,SNMP管理站通過至少一個(gè)SNMP代理向至少一個(gè)被管設(shè)備發(fā)送消息,將消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S506,被管設(shè)備根據(jù)消息號(hào)進(jìn)行處理,并從變量綁定列表中按照約定的次序取出消息體。
SNMP管理站發(fā)送至至少一個(gè)被管設(shè)備的消息通過設(shè)置請(qǐng)求數(shù)據(jù)字段SET-REQUEST PDU承載。
根據(jù)本發(fā)明的采用SNMP協(xié)議的消息交互方法包括以下步驟步驟S512,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S514,被管設(shè)備通過至少一個(gè)SNMP代理向SNMP管理站發(fā)送消息,將消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S516,SNMP管理站根據(jù)消息號(hào)進(jìn)行處理,并從變量綁定列表中按照約定的次序取出消息體。
至少一個(gè)被管設(shè)備發(fā)送至SNMP管理站的消息通過SNMP v2Trap或Inform數(shù)據(jù)字段承載,并將其變量綁定列表中的第二個(gè)變量綁定為用于標(biāo)識(shí)SNMP v2Trap或Inform數(shù)據(jù)字段承載的是消息的信息,并將變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
本發(fā)明解決了目前SNMP交互模型較為簡(jiǎn)單的問題,并且只通過一個(gè)變量的設(shè)置就可以讓網(wǎng)絡(luò)管理系統(tǒng)和代理端做出多種響應(yīng),實(shí)現(xiàn)了普通系統(tǒng)中的消息交互機(jī)制。有了消息交互,有效減少了網(wǎng)絡(luò)管理系統(tǒng)的負(fù)擔(dān),很多輪詢的操作,都可以用代理端的主動(dòng)上報(bào)來替代,也有效較少了網(wǎng)絡(luò)流量。擴(kuò)展了SNMP協(xié)議的應(yīng)用場(chǎng)景,可以方便的應(yīng)用到有網(wǎng)絡(luò)管理但又有消息交互的環(huán)境中。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是SNMP報(bào)文格式的示意圖;圖2是SNMP V2基本PDU格式的示意圖;圖3是根據(jù)本發(fā)明的管理站與被管設(shè)備之間接口示例的示意圖;
圖4是根據(jù)本發(fā)明的采用SNMP協(xié)議的通信系統(tǒng)的框圖;圖5A和圖5B是根據(jù)本發(fā)明的采用SNMP的消息交互方法的流程圖;圖6是根據(jù)本發(fā)明的被管理設(shè)備接受管理站消息的流程圖;以及圖7是根據(jù)本發(fā)明的管理站接受被管理設(shè)備消息的流程圖。
具體實(shí)施例方式
下面參考附圖,詳細(xì)說明本發(fā)明的具體實(shí)施方式
。
本發(fā)明的目的就是解決現(xiàn)有SNMP交互模型功能比較有限的問題,以現(xiàn)有的技術(shù)在SNMP協(xié)議中實(shí)現(xiàn)消息交互的功能。
圖4是根據(jù)本發(fā)明的采用SNMP協(xié)議的通信系統(tǒng)的框圖。如圖4所示,根據(jù)本發(fā)明的采用SNMP協(xié)議的通信系統(tǒng)包括SNMP管理站402,用于與至少一個(gè)被管設(shè)備預(yù)先定義接口,并根據(jù)接口解析來自至少一個(gè)被管設(shè)備的消息并進(jìn)行相應(yīng)操作;SNMP代理404,用于轉(zhuǎn)發(fā)來自SNMP管理站或至少一個(gè)被管設(shè)備的消息;以及至少一個(gè)被管設(shè)備406,用于根據(jù)預(yù)先定義的接口解析來自SNMP管理站的消息并進(jìn)行相應(yīng)操作。
SNMP管理站可以發(fā)消息到SNMP代理,再由代理到被管設(shè)備,被管設(shè)備根據(jù)SNMP管理站與被管設(shè)備預(yù)先定義的接口解析消息,再執(zhí)行相應(yīng)的操作,被管設(shè)備也可以通過SNMP代理發(fā)消息給SNMP管理站,SNMP管理站也可以通過其與被管設(shè)備預(yù)先定義的接口來解析消息,并且執(zhí)行相應(yīng)的動(dòng)作。
SNMP管理站到被管設(shè)備的消息由Set-Request PDU所承載,其變量綁定列表中的最后一個(gè)變量綁定為消息號(hào),應(yīng)為SNMP代理在接受Set-Request PDU時(shí)是按照其變量綁定列表的次序一個(gè)一個(gè)的設(shè)置變量的值,這樣當(dāng)被管設(shè)備收到消息號(hào)時(shí),整個(gè)消息體已經(jīng)完全被收下,則此時(shí)可以根據(jù)消息號(hào)進(jìn)行相應(yīng)處理。
在上述SNMP通信系統(tǒng)中,被管設(shè)備到SNMP管理站的消息由SNMP v2 Trap或者Inform PDU所承載,其變量綁定列表中的第二個(gè)變量綁定為自定義的用來標(biāo)識(shí)此SNMP v2 Trap或者Inform PDU所承載的是消息而不是陷阱的trap OID,其變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)(此處不是必需,僅為了和SNMP管理站到被管設(shè)備的消息統(tǒng)一),當(dāng)整個(gè)PDU被管理站接受下來之后,管理站會(huì)去查其變量綁定列表中的第二個(gè)變量綁定的值來確定該P(yáng)DU是普通的Trap或INFORM還是一條消息,是消息則從變量綁定列表中的最后一個(gè)變量中取出消息號(hào),然后根據(jù)消息號(hào)進(jìn)行相應(yīng)處理。
圖5A和圖5B是根據(jù)本發(fā)明的采用SNMP的消息交互方法的流程圖。
圖5A是從SNMP管理站到至少一個(gè)被管設(shè)備的消息交互方法包括以下步驟步驟S502,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S504,SNMP管理站通過至少一個(gè)SNMP代理向至少一個(gè)被管設(shè)備發(fā)送消息,將消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S506,被管設(shè)備根據(jù)消息號(hào)進(jìn)行處理,并從變量綁定列表中按照約定的次序取出消息體。
SNMP管理站發(fā)送至至少一個(gè)被管設(shè)備的消息通過設(shè)置請(qǐng)求數(shù)據(jù)字段SET-REQUEST PDU承載。
如圖5B所示,至少一個(gè)被管設(shè)備到SNMP管理站的消息交互方法包括以下步驟步驟S512,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S514,被管設(shè)備通過至少一個(gè)SNMP代理向SNMP管理站發(fā)送消息,將消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S516,SNMP管理站根據(jù)消息號(hào)進(jìn)行處理,并從變量綁定列表中按照約定的次序取出消息體。
至少一個(gè)被管設(shè)備發(fā)送至SNMP管理站的消息通過SNMP v2Trap或Inform數(shù)據(jù)字段承載,并將其變量綁定列表中的第二個(gè)變量綁定為用于標(biāo)識(shí)SNMP v2 Trap或Inform數(shù)據(jù)字段承載的是消息的信息,并將變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
本方法提出的消息交互方法具體包含以下主要步驟步驟一,定義管理站和被管設(shè)備之間的接口(MIB文件)。
a,在Mib文件中定義消息號(hào)葉子節(jié)點(diǎn),消息號(hào)的值用一個(gè)無符號(hào)整數(shù)表示,該葉子節(jié)點(diǎn)的OID就是消息號(hào)的OID。
b,定義出特殊trap OID,表示該Trap或Inform PDU為消息。
c,根據(jù)消息體定義其它變量。
步驟二,管理站向被管設(shè)備發(fā)送消息,見圖6。
管理站根據(jù)所要發(fā)送的消息生成Set-Request PDU,把該消息的消息體按約定的次序綁定在PDU的綁定列表中,把消息號(hào)的OID和消息號(hào)的值綁定為PDU的最后一個(gè)變量,并發(fā)送到指定代理(S602)。
代理收到Set-Request PDU,并根據(jù)其變量綁定列表來設(shè)置變量的值(S604),如果最后一個(gè)變量不是消息號(hào),則作為普通的Set-Request PDU進(jìn)行處理(S610)。當(dāng)發(fā)現(xiàn)需要設(shè)置的最后一個(gè)變量的OID是消息號(hào)的OID(S606)時(shí),則將該變量的值設(shè)置完成之后,調(diào)用消息處理入口函數(shù)(S608)。判斷消息號(hào)是否合法(S612),如果消息號(hào)合法,在消息處理例程中根據(jù)消息號(hào)調(diào)用消息處理函數(shù)(該函數(shù)一般由被管設(shè)備提供)(S616),如果有,則從PDU的變量綁定列表中按照約定的次序取出消息體,如果沒有對(duì)應(yīng)的消息號(hào)則進(jìn)行錯(cuò)誤處理。如果不合法,則進(jìn)行異常處理(S616)。
步驟三,被管設(shè)備向管理站發(fā)送消息,見圖7。
被管設(shè)備根據(jù)消息生成Trap或Inform PDU,將該P(yáng)DU變量綁定列表的第二變量設(shè)置為步驟一)中S602)所定義的特殊trap OID,然后把該消息的消息體按約定的次序綁定在PDU的綁定列表中,最后把消息號(hào)的OID和值綁定為該P(yáng)DU綁定列表的最后一個(gè)變量,并由代理發(fā)送到管理站。
管理站收到Trap或Inform PDU(S702),檢查其變量綁定列表的第二個(gè)變量,如果不是步驟一)中S602)所定義的第二個(gè)變量是否是特殊trap OID(S704),如圖不是,則將該P(yáng)DU作為普通的Trap或Inform處理(S706),否則檢索該P(yáng)DU變量綁定列表的最后一個(gè)變量(S708),如果發(fā)現(xiàn)最后一個(gè)變量的OID不是消息號(hào)的OID時(shí),進(jìn)行錯(cuò)誤處理(S712),否則調(diào)用消息處理入口函數(shù)(S714)。在消息處理例程中根據(jù)消息號(hào)調(diào)用消息處理函數(shù),如果沒有對(duì)應(yīng)的消息號(hào)則進(jìn)行錯(cuò)誤處理。如果有,則從PDU的變量綁定列表中按照約定的次序取出消息體(S716)。
為了更好地說明本發(fā)明的目的、技術(shù)方案和有益效果,下面在WCDMA的基站中的主控單板和RDM射頻檢測(cè)板之間采用SNMP協(xié)議實(shí)現(xiàn)消息交互進(jìn)行詳細(xì)描述(其中主控單板上有管理站,RDM射頻檢測(cè)板上有代理模塊)一,定義管理站和被管設(shè)備之間的接口(MIB文件),見圖4。定義出消息頭為msgHeadDef,其中包含消息號(hào)為msgId,OID為1.3.6.1.4.1.1943.1.4.2,消息序號(hào)為sequenceNo。
定義出標(biāo)識(shí)Trap或Inform PDU為消息的trap OID為1.3.6.1.4.1.1943.1.0.1,名稱為rdmInformMsgHead。
按照消息定義其它變量,這里用到的有1.3.6.1.4.1.1943.1.5.1cmFrequencyResponse初始配置請(qǐng)求,重配回應(yīng)消息1.3.6.1.4.1.1943.1.5.2cmFrequencyResponse因?yàn)槎紴榭障?,所以期下沒有掛葉子節(jié)點(diǎn),1.3.6.1.4.1.1943.1.6.1cmFrequencyCfgHead初始配置請(qǐng)求回應(yīng)(重配請(qǐng)求),下面定義了消息體,是一個(gè)包含一張表(aTwrdmFreqInfoTable)的結(jié)構(gòu)。
二,RDM射頻檢測(cè)板向主控單板發(fā)上電提示和初始配置請(qǐng)求。
外圍單板上電成功,發(fā)送冷啟動(dòng)Trap到主控單板。
外圍單板構(gòu)造初始配置請(qǐng)求的消息發(fā)送到RDM射頻檢測(cè)板的代理模塊,代理模塊將該消息轉(zhuǎn)化為SNMP PDU發(fā)出。
主控單板收到該P(yáng)DU,檢查其變量綁定列表的第二個(gè)變量,如果不是1.3.6.1.4.1.1943.1.0.1rdmInformMsgHead,則將該P(yáng)DU做為普通的Trap處理,否則檢索該P(yáng)DU變量綁定列表的最后一個(gè)變量,如果發(fā)現(xiàn)最后一個(gè)變量的OID不是消息號(hào)的MsgId1.3.6.1.4.1.1943.1.4.2時(shí),進(jìn)行錯(cuò)誤處理,否則調(diào)用消息處理入口函數(shù)。
在消息處理例程中根據(jù)消息號(hào)調(diào)用消息處理函數(shù)如果是初始配置請(qǐng)求消息,則構(gòu)造初始配置回應(yīng)消息,并通過SNMP發(fā)送到外圍單板。如果沒有該消息的處理函數(shù),則進(jìn)入錯(cuò)誤處理。
三,主控單板回應(yīng)初始配置請(qǐng)求。
代理收到Set-Request PDU,并更具其變量綁定列表來設(shè)置變量的值,當(dāng)發(fā)現(xiàn)需要設(shè)置的最后一個(gè)變量的OID是消息號(hào)的OIDMsgId 1.3.6.1.4.1.1943.1.4.2時(shí),則將該變量的值設(shè)置完成之后,調(diào)用消息處理入口函數(shù),否則不進(jìn)行處理。
在消息處理例程中根據(jù)消息號(hào)調(diào)用消息處理函數(shù)如果是初始配置回應(yīng)消息,則將初始配置回音消息中攜帶的數(shù)據(jù)配到RDM射頻檢測(cè)板的模塊中去,RDM射頻檢測(cè)板進(jìn)入正常工作狀態(tài)。如果沒有該消息處理函數(shù),則進(jìn)入錯(cuò)誤處理。
從以上實(shí)施情況來看,本發(fā)明提出的技術(shù)方案可以在SNMP協(xié)議的基礎(chǔ)之上實(shí)現(xiàn)消息交互。
采用本發(fā)明方法,與現(xiàn)有技術(shù)相比,主要有以下優(yōu)點(diǎn)(1)解決了目前SNMP交互模型較為簡(jiǎn)單的問題,并且只通過一個(gè)變量的設(shè)置就可以讓網(wǎng)絡(luò)管理系統(tǒng)和代理端做出多種響應(yīng),實(shí)現(xiàn)了普通系統(tǒng)中的消息交互機(jī)制。
(2)有了消息交互,有效減少了網(wǎng)絡(luò)管理系統(tǒng)的負(fù)擔(dān),很多輪詢的操作,都可以用代理端的主動(dòng)上報(bào)來替代,也有效較少了網(wǎng)絡(luò)流量。
(3)擴(kuò)展了SNMP協(xié)議的應(yīng)用場(chǎng)景,可以方便的應(yīng)用到有網(wǎng)絡(luò)管理但又有消息交互的環(huán)境中。
(4)該方法可以和原先的SNMP協(xié)議共存,它是在SNMP協(xié)議的基礎(chǔ)上做的擴(kuò)展。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種采用SNMP協(xié)議的通信系統(tǒng),其特征在于包括SNMP管理站,用于與至少一個(gè)被管設(shè)備預(yù)先定義接口,并根據(jù)所述接口解析來自所述至少一個(gè)被管設(shè)備的消息并進(jìn)行相應(yīng)操作;SNMP代理,用于轉(zhuǎn)發(fā)來自所述SNMP管理站或所述至少一個(gè)被管設(shè)備的消息;以及所述至少一個(gè)被管設(shè)備,用于根據(jù)預(yù)先定義的接口解析來自所述SNMP管理站的消息并進(jìn)行相應(yīng)操作。
2.根據(jù)權(quán)利要求1所述的通信系統(tǒng),其特征在于,所述SNMP管理站發(fā)送至所述至少一個(gè)被管設(shè)備的消息通過設(shè)置請(qǐng)求數(shù)據(jù)字段承載,并將所述設(shè)置請(qǐng)求數(shù)據(jù)字段中的變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
3.根據(jù)權(quán)利要求2所述的通信系統(tǒng),其特征在于,所述消息號(hào)被設(shè)置為所述SNMP代理在接收所述設(shè)置請(qǐng)求數(shù)據(jù)字段時(shí)按照所述變量綁定列表的次序設(shè)置變量的值。
4.根據(jù)權(quán)利要求1所述的通信系統(tǒng),其特征在于,所述至少一個(gè)被管設(shè)備發(fā)送至所述SNMP管理站的消息通過SNMP v2 Trap或Inform數(shù)據(jù)字段承載,并將其變量綁定列表中的第二個(gè)變量綁定為用于標(biāo)識(shí)所述SNMP v2陷阱或通知數(shù)據(jù)字段承載的是消息的信息,并將所述變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
5.一種采用SNMP協(xié)議的消息交互方法,其特征在于,包括以下步驟步驟S502,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S504,所述SNMP管理站通過至少一個(gè)SNMP代理向所述至少一個(gè)被管設(shè)備發(fā)送消息,將所述消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將所述數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S506,所述被管設(shè)備根據(jù)所述消息號(hào)進(jìn)行處理,并從所述變量綁定列表中按照約定的次序取出消息體。
6.根據(jù)權(quán)利要求5所述的消息交互方法,其特征在于,所述SNMP管理站發(fā)送至所述至少一個(gè)被管設(shè)備的消息通過設(shè)置請(qǐng)求數(shù)據(jù)字段承載。
7.一種采用SNMP協(xié)議的消息交互方法,其特征在于,包括以下步驟步驟S512,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S514,所述被管設(shè)備通過至少一個(gè)SNMP代理向所述SNMP管理站發(fā)送消息,將所述消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將所述數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S516,所述SNMP管理站根據(jù)所述消息號(hào)進(jìn)行處理,并從所述變量綁定列表中按照約定的次序取出消息體。
8.根據(jù)權(quán)利要求7所述的消息交互方法,其特征在于,所述至少一個(gè)被管設(shè)備發(fā)送至所述SNMP管理站的消息通過SNMP v2陷阱或通知數(shù)據(jù)字段承載,并將其變量綁定列表中的第二個(gè)變量綁定為用于標(biāo)識(shí)所述SNMP v2陷阱或通知數(shù)據(jù)字段承載的是消息的信息,并將所述變量綁定列表中的最后一個(gè)變量綁定為消息號(hào)。
全文摘要
本發(fā)明提供了采用SNMP協(xié)議的通信系統(tǒng)和消息交互方法,其中,消息交互方法包括步驟S502,SNMP管理站和至少一個(gè)被管設(shè)備之間定義接口及其消息號(hào)和變量;步驟S504,SNMP管理站通過至少一個(gè)SNMP代理向至少一個(gè)被管設(shè)備發(fā)送消息,將消息的消息體按照約定的次序綁定在數(shù)據(jù)字段綁定列表中,并將數(shù)據(jù)字段的綁定列表中的最后一個(gè)變量綁定為消息號(hào);以及步驟S506,被管設(shè)備根據(jù)消息號(hào)進(jìn)行處理,并從變量綁定列表中按照約定的次序取出消息體。本發(fā)明解決了目前SNMP交互模型較為簡(jiǎn)單的問題,并且只通過一個(gè)變量的設(shè)置就可以讓網(wǎng)絡(luò)管理系統(tǒng)和代理端做出多種響應(yīng),實(shí)現(xiàn)了普通系統(tǒng)中的消息交互機(jī)制。
文檔編號(hào)H04L12/54GK101076028SQ200710126760
公開日2007年11月21日 申請(qǐng)日期2007年6月21日 優(yōu)先權(quán)日2007年6月21日
發(fā)明者司杰, 陶衛(wèi)軍 申請(qǐng)人:中興通訊股份有限公司