本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù)領(lǐng)域,具體涉及基于snmp協(xié)議的分布式異步管理電信設(shè)備的方法和系統(tǒng)。
背景技術(shù):
snmp(simplenetworkmanagementprotocol)簡單網(wǎng)絡(luò)管理協(xié)議,snmp就是用來規(guī)定網(wǎng)管工作站中的網(wǎng)管軟件和網(wǎng)絡(luò)設(shè)備的代理(agent)之間是如何傳遞管理信息的應(yīng)用層協(xié)議。
snmp協(xié)議標準中定義了管理的對象和一些基本的操作,該對象是指保存在網(wǎng)絡(luò)設(shè)備上的管理信息庫(mib),該操作包括獲取請求(get-request)、獲取下一請求(get-next-request)、獲取響應(yīng)(get-response)、設(shè)置請求(set-request)和報告(trap)。利用snmp協(xié)議對信息管理庫mib和操作的定義,網(wǎng)管工作站中的網(wǎng)管軟件可以遠程管理所有支持這種協(xié)議的網(wǎng)絡(luò)設(shè)備,包括監(jiān)視網(wǎng)絡(luò)狀態(tài)、修改網(wǎng)絡(luò)設(shè)備配置、接收網(wǎng)絡(luò)事件警告等。網(wǎng)管軟件在對基于snmp協(xié)議的網(wǎng)絡(luò)設(shè)備進行管理時,使用基于snmp協(xié)議的應(yīng)用編程接口api函數(shù)直接向網(wǎng)絡(luò)設(shè)備發(fā)送請求操作,即使用snmp協(xié)議定義的上述五種操作對網(wǎng)絡(luò)設(shè)備進行訪問,網(wǎng)絡(luò)設(shè)備上的agent處理請求,并向網(wǎng)管軟件返回該網(wǎng)絡(luò)設(shè)備的配置信息。
但是,隨著電信運營商對電信設(shè)備的要求越來越高,尤其是電信設(shè)備擴容后硬件上對設(shè)備的級聯(lián)改造,由于現(xiàn)有的網(wǎng)管只能使用公網(wǎng)管理電信設(shè)備,使得公網(wǎng)壓力較大,所以現(xiàn)有的管理方式不能夠在不改變公網(wǎng)上層拓撲結(jié)構(gòu)的情況下,管理改造后的電信設(shè)備。不能提升下游級聯(lián)設(shè)備的總體性能,無法滿足更多的用戶電信業(yè)務(wù)需求。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供基于snmp協(xié)議的分布式異步管理電信設(shè)備的方法和系統(tǒng),用于公網(wǎng)網(wǎng)管與私網(wǎng)子代理設(shè)備間的通信,從而實現(xiàn)電信設(shè)備的級聯(lián)管理功能。
為達到以上目的,本發(fā)明采取的技術(shù)方案是:
一種基于snmp協(xié)議的分布式異步管理電信設(shè)備的方法,包括以下步驟:
s1,網(wǎng)管采用snmp協(xié)議向主代理設(shè)備發(fā)送原始snmp請求報文,所述原始snmp請求報文的udp報文包頭包括主代理snmp報文共同體名、主代理的snmp版本號和原始snmp報文請求id值,根據(jù)業(yè)務(wù)需求選擇性的在主代理snmp報文共同體上加入自定義snmp共同體名;
s2,主代理設(shè)備接收原始snmp請求報文后,判斷是否存在自定義snmp共同體名,否,則進行主代理設(shè)備處理,是,則進入s3;
s3,主代理設(shè)備根據(jù)自定義snmp共同體名將原始snmp請求報文重新封裝得到新的snmp請求報文,所述新的snmp請求報文包括子代理snmp共同體名、子代理snmp協(xié)議號、新的snmp報文請求id;同時,主代理設(shè)備將udp報文包頭和新的snmp報文請求id保存到nat轉(zhuǎn)發(fā)表,形成與所述原始snmp請求報文對應(yīng)的nat轉(zhuǎn)發(fā)表條目;
s4,主代理設(shè)備將新的snmp請求報文發(fā)送給子代理設(shè)備后,子代理設(shè)備生成原始snmp響應(yīng)報文,并發(fā)送給主代理,所述原始snmp響應(yīng)報文包括新的snmp報文請求id;
s5,主代理接收到原始snmp響應(yīng)報文后,查詢nat轉(zhuǎn)發(fā)表,找到對應(yīng)的nat轉(zhuǎn)發(fā)表條目,重新封裝原始snmp響應(yīng)報文,得到新的snmp響應(yīng)報文,并轉(zhuǎn)發(fā)給網(wǎng)管,所述新的snmp響應(yīng)報文包括udp報文包頭。
在上述技術(shù)方案的基礎(chǔ)上,還包括:
s5中主代理設(shè)備以新的snmp報文請求id為索引,查詢nat轉(zhuǎn)發(fā)表。
在上述技術(shù)方案的基礎(chǔ)上,所述nat轉(zhuǎn)發(fā)表條目還包括原始snmp請求報文的源ip地址和原始snmp請求報文的socket信息。
在上述技術(shù)方案的基礎(chǔ)上,新的snmp響應(yīng)報文根據(jù)所在nat轉(zhuǎn)發(fā)表條目的原始snmp請求報文的源ip地址和原始snmp請求報文的socket信息發(fā)送至網(wǎng)管。
在上述技術(shù)方案的基礎(chǔ)上,所述自定義snmp共同體名的格式為通過字段分隔符標識分隔的轉(zhuǎn)發(fā)標識、snmp協(xié)議棧版本號、snmp協(xié)議棧共同體名、子代理設(shè)備內(nèi)網(wǎng)ip地址和子代理設(shè)備snmp協(xié)議棧偵聽端口號。
在上述技術(shù)方案的基礎(chǔ)上,根據(jù)所述自定義snmp共同體名解析出snmp協(xié)議棧共同體名字段值和snmp協(xié)議棧版本號字段值分別作為子代理能夠識別的子代理snmp共同體名和子代理snmp協(xié)議號。
在上述技術(shù)方案的基礎(chǔ)上,所述主代理設(shè)備自行分配所述新的snmp報文請求id。
基于snmp協(xié)議的分布式異步管理電信設(shè)備的系統(tǒng),包括網(wǎng)管、主代理設(shè)備和子代理設(shè)備,所述網(wǎng)管內(nèi)設(shè)有原始snmp請求報文生成模塊、所述主代理設(shè)備內(nèi)設(shè)有代理轉(zhuǎn)發(fā)模塊,以及所述子代理設(shè)備內(nèi)設(shè)置的原始snmp響應(yīng)報文生成模塊;
其中,所述原始snmp請求報文生成模塊用于根據(jù)業(yè)務(wù)生成原始snmp請求報文,所述原始snmp請求報文的udp報文包頭包括主代理snmp報文共同體名、主代理的snmp版本號和原始snmp報文請求id值,根據(jù)業(yè)務(wù)需求選擇性的在主代理snmp報文共同體上加入自定義snmp共同體名;
所述代理轉(zhuǎn)發(fā)模塊用于根據(jù)自定義snmp共同體名封裝新的snmp請求報文并轉(zhuǎn)發(fā)給子代理設(shè)備,還用于將原始snmp響應(yīng)報文重新封裝成新的snmp響應(yīng)報文轉(zhuǎn)發(fā)給網(wǎng)管,所述新的snmp請求報文包括子代理共同體名、子代理snmp協(xié)議號、新的snmp報文請求id,所述新的snmp響應(yīng)報文包括udp報文包頭;
所述原始snmp響應(yīng)報文生成模塊用于根據(jù)所述新的snmp請求報文生成原始snmp響應(yīng)報文,所述原始snmp響應(yīng)報文包括新的snmp報文請求id。
在上述技術(shù)方案的基礎(chǔ)上,所述代理轉(zhuǎn)發(fā)模塊包括新的snmp請求報文生成模塊、nat轉(zhuǎn)發(fā)表模塊和新的snmp響應(yīng)報文生成模塊;
其中,所述新的snmp請求報文生成模塊用于根據(jù)自定義snmp共同體名封裝新的snmp請求報文;
所述nat轉(zhuǎn)發(fā)表模塊用于將原始snmp請求報文的udp報文包頭和新的snmp報文請求id存儲到nat轉(zhuǎn)發(fā)表中,形成與所述原始snmp請求報文對應(yīng)的nat轉(zhuǎn)發(fā)表條目;
所述新的snmp響應(yīng)報文生成模塊用于根據(jù)對應(yīng)的nat轉(zhuǎn)發(fā)表條目重新封裝所述原始snmp響應(yīng)報文生成新的snmp響應(yīng)報文。
在上述技術(shù)方案的基礎(chǔ)上,所述新的snmp響應(yīng)報文生成模塊根據(jù)所述新的snmp報文請求id索引nat轉(zhuǎn)發(fā)表,找到對應(yīng)的nat轉(zhuǎn)發(fā)表條目,根據(jù)nat轉(zhuǎn)發(fā)表條目中的udp報文包頭,重新封裝原始snmp響應(yīng)報文,得到新的snmp響應(yīng)報文,所述新的snmp響應(yīng)報文包括udp報文包頭。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
(1)本發(fā)明的基于snmp協(xié)議的分布式異步管理電信設(shè)備的方法通過在udp報文包頭中加入自定義snmp共同體名,主代理設(shè)備可以將原始snmp請求報文和原始snmp響應(yīng)報文進行重新封裝,代替網(wǎng)管軟件,直接從傳輸層轉(zhuǎn)發(fā)報文給子代理設(shè)備,實現(xiàn)了網(wǎng)管與主代理設(shè)備通過公網(wǎng)進行通信,主代理設(shè)備與子代理設(shè)備通過私網(wǎng)進行通信,進而實現(xiàn)了不改變上層網(wǎng)絡(luò)拓撲結(jié)構(gòu)的同時,實現(xiàn)了網(wǎng)管對子代理設(shè)備的管理,其執(zhí)行效率高、異步、通用性強,具有異步、并發(fā)通信和支持分布式部署的優(yōu)點。
(2)本發(fā)明的基于snmp協(xié)議的分布式異步管理電信設(shè)備的系統(tǒng)根據(jù)業(yè)務(wù)需求選擇在網(wǎng)管下發(fā)的原始snmp請求報文中添加自定義snmp共同體名,位于主代理內(nèi)的代理轉(zhuǎn)發(fā)模塊根據(jù)自定義snmp共同體名將原始snmp請求報文重新封裝成新的snmp請求報文,又將子代理設(shè)備發(fā)送的原始snmp響應(yīng)報文重新封裝成新的snmp響應(yīng)報文,實現(xiàn)了主代理設(shè)備與網(wǎng)管公網(wǎng)通信,主代理設(shè)備與子代理設(shè)備之間的私網(wǎng)進行通信,進一步實現(xiàn)了部署在私網(wǎng)上的子代理設(shè)備的擴展和級聯(lián),從而實現(xiàn)了公網(wǎng)網(wǎng)管對主代理設(shè)備下級聯(lián)的眾多私網(wǎng)子代理設(shè)備的管理和維護功能。
(3)本發(fā)明的基于snmp協(xié)議的分布式異步管理電信設(shè)備的系統(tǒng)在nat轉(zhuǎn)發(fā)表中記錄每一條下發(fā)到子代理設(shè)備的請求報文的原始信息,當子代理設(shè)備響應(yīng)主代理設(shè)備某一請求報文對應(yīng)的響應(yīng)報文時,只需要根據(jù)新的snmp報文請求id索引nat轉(zhuǎn)發(fā)表即可得到原始信息,實現(xiàn)了主代理設(shè)備下發(fā)請求報文的同時可以轉(zhuǎn)發(fā)其他響應(yīng)報文,實現(xiàn)了異步和并發(fā)通信。
附圖說明
圖1為本發(fā)明實施例的方法流程圖;
圖2為本發(fā)明實施例的系統(tǒng)框圖。
具體實施方式
以下結(jié)合附圖及實施例對本發(fā)明作進一步詳細說明。
參見圖1所示,本發(fā)明實施例提供一種基于snmp協(xié)議的分布式異步管理電信設(shè)備的方法,包括以下步驟:
s1,網(wǎng)管采用snmp協(xié)議向主代理設(shè)備發(fā)送原始snmp請求報文,原始snmp請求報文的用戶數(shù)據(jù)報協(xié)議udp報文包頭包括主代理snmp報文共同體名、主代理的snmp版本號和原始snmp報文請求id值,根據(jù)業(yè)務(wù)需求選擇性的在主代理snmp報文共同體上加入自定義snmp共同體名,若網(wǎng)管需要獲取私網(wǎng)子代理設(shè)備的狀態(tài)信息時,在主代理snmp報文共同體上加入自定義snmp共同體名,若網(wǎng)管需要獲取公網(wǎng)上主代理設(shè)備的狀態(tài)信息時,則不需要加入自定義snmp共同體名,其中,自定義snmp共同體名的格式為通過字段分隔符標識分隔的轉(zhuǎn)發(fā)標識、snmp協(xié)議棧版本號、snmp協(xié)議棧共同體名、子代理設(shè)備內(nèi)網(wǎng)ip地址和子代理設(shè)備snmp協(xié)議棧偵聽端口號,自定義snmp共同體名的格式為轉(zhuǎn)發(fā)標識@snmp協(xié)議棧版本號@snmp協(xié)議棧共同體名@子代理設(shè)備內(nèi)網(wǎng)ip地址@子代理設(shè)備snmp協(xié)議棧偵聽端口號;
s2,主代理設(shè)備接收原始snmp請求報文后,判斷是否存在自定義snmp共同體名,否,則進行主代理設(shè)備處理,是,則進入s3;
s3,主代理設(shè)備根據(jù)自定義snmp共同體名解析出snmp協(xié)議棧共同體名字段值和snmp協(xié)議棧版本號字段值分別作為子代理能夠識別的子代理snmp共同體名和子代理snmp協(xié)議號,結(jié)合子代理snmp共同體名和子代理snmp協(xié)議號將原始snmp請求報文重新封裝得到新的snmp請求報文,新的snmp請求報文包括子代理snmp共同體名、子代理snmp協(xié)議號、新的snmp報文請求id,其中新的snmp報文請求id由主代理設(shè)備自行分配;同時,主代理設(shè)備將udp報文包頭和新的snmp報文請求id保存到網(wǎng)絡(luò)地址轉(zhuǎn)換nat轉(zhuǎn)發(fā)表,形成與原始snmp請求報文對應(yīng)的nat轉(zhuǎn)發(fā)表條目,其中,nat轉(zhuǎn)發(fā)表條目包括與新的snmp報文請求id對應(yīng)的原始snmp請求報文的源ip地址、原始snmp請求報文的socket信息和udp報文包頭;
s4,主代理設(shè)備將新的snmp請求報文發(fā)送給子代理設(shè)備后,子代理設(shè)備生成原始snmp響應(yīng)報文,并發(fā)送給主代理,原始snmp響應(yīng)報文包括新的snmp報文請求id;
s5,主代理接收到原始snmp響應(yīng)報文后,以新的snmp報文請求id為索引,查詢nat轉(zhuǎn)發(fā)表,找到新的snmp報文請求id對應(yīng)的nat轉(zhuǎn)發(fā)表條目,得到udp報文包頭,并重新封裝原始snmp響應(yīng)報文,得到新的snmp響應(yīng)報文,新的snmp響應(yīng)報文包括udp報文包頭,根據(jù)nat轉(zhuǎn)發(fā)表條目的原始snmp請求報文的源ip地址和原始snmp請求報文的socket信息將新的snmp響應(yīng)報文轉(zhuǎn)發(fā)給網(wǎng)管。
參見圖2所示,本實施例提供一種基于snmp協(xié)議的分布式異步管理電信設(shè)備的系統(tǒng),包括網(wǎng)管、主代理設(shè)備和子代理設(shè)備,網(wǎng)管內(nèi)設(shè)有原始snmp請求報文生成模塊、主代理設(shè)備內(nèi)設(shè)有代理轉(zhuǎn)發(fā)模塊,以及子代理設(shè)備內(nèi)設(shè)置的原始snmp響應(yīng)報文生成模塊。
其中,原始snmp請求報文生成模塊用于根據(jù)業(yè)務(wù)生成原始snmp請求報文,原始snmp請求報文的udp報文包頭包括主代理snmp報文共同體名、主代理的snmp版本號和原始snmp報文請求id值,根據(jù)業(yè)務(wù)需求選擇性的在主代理snmp報文共同體上加入自定義snmp共同體名。
代理轉(zhuǎn)發(fā)模塊用于根據(jù)自定義snmp共同體名封裝新的snmp請求報文并轉(zhuǎn)發(fā)給子代理設(shè)備,還用于將原始snmp響應(yīng)報文重新封裝成新的snmp響應(yīng)報文轉(zhuǎn)發(fā)給網(wǎng)管,新的snmp請求報文包括子代理共同體名、子代理snmp協(xié)議號、新的snmp報文請求id,新的snmp響應(yīng)報文包括udp報文包頭。
原始snmp響應(yīng)報文生成模塊用于根據(jù)新的snmp請求報文生成原始snmp響應(yīng)報文,原始snmp響應(yīng)報文包括新的snmp報文請求id,原始snmp響應(yīng)報文生成模塊接收來自代理轉(zhuǎn)發(fā)模塊發(fā)送的新的snpm請求報文并進行應(yīng)答,可實現(xiàn)分布式部署。
代理轉(zhuǎn)發(fā)模塊包括新的snmp請求報文生成模塊、nat轉(zhuǎn)發(fā)表模塊和新的snmp響應(yīng)報文生成模塊。
其中,新的snmp請求報文生成模塊用于根據(jù)自定義snmp共同體名封裝新的snmp請求報文;nat轉(zhuǎn)發(fā)表模塊用于將原始snmp請求報文的udp報文包頭和新的snmp報文請求id存儲到nat轉(zhuǎn)發(fā)表中,形成與原始snmp請求報文對應(yīng)的nat轉(zhuǎn)發(fā)表條目;新的snmp響應(yīng)報文生成模塊根據(jù)新的snmp報文請求id索引nat轉(zhuǎn)發(fā)表,找到對應(yīng)的nat轉(zhuǎn)發(fā)表條目,根據(jù)nat轉(zhuǎn)發(fā)表條目中的udp報文包頭,重新封裝原始snmp響應(yīng)報文,得到新的snmp響應(yīng)報文,新的snmp響應(yīng)報文包括udp報文包頭。代理轉(zhuǎn)發(fā)模塊實現(xiàn)管理站發(fā)起的對私網(wǎng)設(shè)備訪問請求的解析、轉(zhuǎn)發(fā)表保存和報文轉(zhuǎn)發(fā)功能,并不需要解析snmp靜荷數(shù)據(jù)而直接從傳輸層轉(zhuǎn)發(fā),通過nat轉(zhuǎn)發(fā)表實現(xiàn)類似nat功能,具有執(zhí)行效率高、異步和通用性強的優(yōu)點。
本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。