摘? 要: 通過局域網(wǎng)技術(shù)互連各子系統(tǒng),,可大幅提高整個系統(tǒng)的信息綜合與共享的程度。為保證整個系統(tǒng)的可靠性,,通常采用冗余連接,。探討了在交換式環(huán)境下使用雙冗余網(wǎng)卡提高系統(tǒng)可靠性的機(jī)理,以及由此對網(wǎng)絡(luò)性能產(chǎn)生的影響,,給出了一種估算網(wǎng)絡(luò)開銷的方法,。?
關(guān)鍵詞: 交換式網(wǎng)絡(luò)? 雙冗余鏈路? 系統(tǒng)綜合? 性能評價?
?
信息戰(zhàn)作為一種新的戰(zhàn)爭模式,已成為影響艦艇作戰(zhàn)能力提高的推動因素。在目前水面艦艇現(xiàn)代化過程中,人們往往偏重于電子武器設(shè)備硬件水平的提高,而忽略了對信息利用程度,、資源共享角度的考慮,。隨著艦船等機(jī)動平臺上電子設(shè)備越來越多,并且越來越復(fù)雜,,將電子設(shè)備有效地綜合,,使之達(dá)到資源和功能共享已成為必然的要求。目前基于計算機(jī)局域網(wǎng)的信息共享技術(shù)完全成熟,將各艦載系統(tǒng)互連,,能夠滿足上述要求,。?
機(jī)動平臺上的聯(lián)網(wǎng)技術(shù)不同于一般的局域網(wǎng)技術(shù),它特別強(qiáng)調(diào)網(wǎng)絡(luò)的可靠性與實時性,。為了保證系統(tǒng)的可靠性,,通常都采用冗余連接,即每個節(jié)點采用雙網(wǎng)卡進(jìn)行故障冗余切換,,各個節(jié)點分別連接到兩臺交換機(jī)(其中一臺交換機(jī)作為另一臺的熱備份),,交換機(jī)之間通過級聯(lián)線相接。在雙冗余網(wǎng)卡中,主NIC(網(wǎng)卡)監(jiān)視網(wǎng)絡(luò)鏈接是否正常,,而由運(yùn)行在NIC上的專用驅(qū)動軟件監(jiān)視NIC的狀態(tài),。如果由于交換機(jī)、線纜或NIC出現(xiàn)故障而導(dǎo)致鏈路失效,,軟件自動把MAC地址和所有的連接從主NIC轉(zhuǎn)到備用NIC,,并把這個備用NIC輸出信流廣播出去,通過另一臺交換機(jī)重建連路,,使得會話繼續(xù)進(jìn)行下去,。在試驗中發(fā)現(xiàn),主NIC會定期發(fā)送心跳信號,,用以確定主鏈路是否正常,,這勢必造成網(wǎng)絡(luò)帶寬的消耗,影響原網(wǎng)絡(luò)的性能,。因此,,對網(wǎng)絡(luò)性能有特殊要求的用戶而言,必須確定這部分系統(tǒng)開銷所占的比例,。本文首先介紹SNMP簡單網(wǎng)絡(luò)管理協(xié)議,,并在此基礎(chǔ)上給出一種確定雙冗余網(wǎng)卡系統(tǒng)開銷比的方法。?
1 SNMP簡單網(wǎng)絡(luò)管理協(xié)議簡介?
1.1 SNMP的工作原理?
SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)是目前在計算機(jī)網(wǎng)絡(luò)中使用最廣泛的網(wǎng)絡(luò)管理協(xié)議,,該協(xié)議是基于TCP/IP的網(wǎng)管標(biāo)準(zhǔn),,包括協(xié)議自身、數(shù)據(jù)庫的定義和相關(guān)概念,。SNMP采用的是客戶/服務(wù)器模型,,它分別對應(yīng)管理者和代理。要使這種管理者/代理模式能夠正常工作,,管理者和代理必須使用相同的語言(協(xié)議),。圖1顯示了SNMP代理、MIB和管理者之間的關(guān)系,。管理者是在管理系統(tǒng)中的一個軟件模塊,,它需為用戶提供一個友好界面,用以方便,、直觀地完成網(wǎng)絡(luò)管理的各種應(yīng)用。代理是一個在被管理的網(wǎng)絡(luò)設(shè)備上運(yùn)行的軟件,,在設(shè)備出廠時就已經(jīng)燒制在設(shè)備上,,它負(fù)責(zé)維護(hù)本地的管理信息以及通過SNMP向管理者發(fā)送相關(guān)信息。MIB(管理信息庫)存放了該設(shè)備被管理網(wǎng)絡(luò)資源的所有信息,。?
?
?
SNMP 使用UDP(用戶數(shù)據(jù)報協(xié)議)作為第四層傳輸協(xié)議,,管理者與代理之間以SNMP報文的形式交換信息,管理信息的交換可以由管理者以查詢的方式進(jìn)行或由代理發(fā)送Trap報文方式進(jìn)行。SNMP有五種消息類型:?
(1)Get-Request:SNMP管理者使用該消息從具有SNMP代理的網(wǎng)絡(luò)設(shè)備中獲取信息;?
(2)Get-Response:SNMP代理以該消息作為對Get-Request消息的響應(yīng);?
(3)Get-Next-Request:該消息用于請求表中下一個對象的值,,與Get-Request結(jié)合使用可以獲得表中的對象;?
(4)Set-Request:管理者使用該消息對所管理的網(wǎng)絡(luò)設(shè)備的參數(shù)進(jìn)行遠(yuǎn)程配置;?
(5)Trap:SNMP代理使用該消息通知管理者某些重要的事件,。?
在SNMPv2中,還增加了Get-Bulk-Request消息,,主要用于檢索大批的管理信息,。?
1.2 SNMP協(xié)議數(shù)據(jù)單元(PDU)的格式?
在SNMP中,信息按照SNMP消息的形式在管理者與代理之間交換,,每個消息包括一個指明SNMP版本的版本號,,一個用于安全性的團(tuán)體字,以及下面五種PDU中的一種,。圖2描述了SNMP的格式,。?
?
?
1.3 SNMP的管理信息庫(MIB)?
管理信息庫是基于TCP/IP的網(wǎng)絡(luò)管理系統(tǒng)的基礎(chǔ),每一個被管的資源由一個對象所代表,,MIB就是由這樣一些對象組成的結(jié)構(gòu)化的集合,。網(wǎng)絡(luò)系統(tǒng)中的每個節(jié)點都包括一個MIB,它反映了該節(jié)點中被管資源的狀態(tài),,網(wǎng)管實體可以通過讀取MIB中的對象值來監(jiān)視網(wǎng)絡(luò)資源,,也可通過更改這些值來控制資源。?
在RFC1155中定義的SMI(管理信息結(jié)構(gòu)),,給出了定義MIB結(jié)構(gòu)的總體框架,。在這個框架下,可以進(jìn)行MIB的定義和構(gòu)造,。SMI定義了用于MIB中的數(shù)據(jù)類型以及MIB中資源的描述和命名,。由于SMI的基本原則是鼓勵MIB的簡單性和可擴(kuò)展性,因此,,MIB只存儲兩種簡單的數(shù)據(jù)類型:標(biāo)量和二維標(biāo)量數(shù)組,。SNMP協(xié)議只能檢索標(biāo)量對象實例和一個表中的單個對象實例。SMI不支持創(chuàng)建或檢索復(fù)雜數(shù)據(jù)結(jié)構(gòu),。?
MIB是以樹狀結(jié)構(gòu)組織的,,每個節(jié)點包含兩個內(nèi)容:一個OID(對象標(biāo)識符)和一個簡短的文本描述。在MIB中,,每個對象都有唯一的OID,,它是從MIB樹的根開始到此對象所對應(yīng)的節(jié)點沿途路徑上所有節(jié)點的數(shù)字標(biāo)識,中間以“.”間隔而成,。在MIB中主要有以下對象類型:?
(1)NetworkAddress:從許多協(xié)議簇中選擇出的一種地址格式;?
(2)IpAddress:IP協(xié)議中定義的一種32比特的地址格式;?
(3)Counter: 非負(fù)整數(shù),,只增不減,到達(dá)最大值后從零開始重新計算;?
(4)Gauge: 非負(fù)整數(shù),,可以增加,,也可減少,,到達(dá)最大值后,它就保持在最大值,,直至被復(fù)位;?
(5)TimeTicks: 非負(fù)整數(shù),,它以百分之一秒為單位計算從某個時間點開始所經(jīng)歷的時間。?
1.4 Windows下實現(xiàn)SNMP編程的方法?
在Windows下,,主要有兩種方法可以用于SNMP編程:?
(1)利用WinSNMP API函數(shù)?
WinSNMP是為SNMP網(wǎng)管開發(fā)者提供的必須遵循的開放式單一接口規(guī)范,,它定義了過程調(diào)用、數(shù)據(jù)類型,、數(shù)據(jù)結(jié)構(gòu)和相關(guān)的語法,,以函數(shù)的形式封裝了SNMP協(xié)議的各部分,并針對SNMP使用UDP的特點設(shè)置了消息重傳,、超時機(jī)制,。?
(2)利用SNMP++函數(shù)?
SNMP++是HP公司為在Windows、UNIX平臺下開發(fā)基于SNMP網(wǎng)管應(yīng)用程序而提供的技術(shù)文檔,,采用面向?qū)ο蟮姆椒▽inSNMP的API函數(shù)封裝成一個個C++類,,大大簡化了SNMP網(wǎng)管軟件開發(fā)的難度、復(fù)雜性,。本文采用的就是這種方法,。?
2 設(shè)計思路?
在共享式局域網(wǎng)中,可以通過在網(wǎng)絡(luò)中插入網(wǎng)絡(luò)分析儀,,便可對整個網(wǎng)絡(luò)的通信情況有全面的了解,,包括對以太網(wǎng)數(shù)據(jù)幀的提取。在交換式環(huán)境下,,無法采用這種方法,。因此,雖然前面提到過,,在試驗中通過其它方式獲得了心跳信號的數(shù)據(jù)內(nèi)容,,但仍無法給出這種開銷相對于有用數(shù)據(jù)傳輸所占比例的量的范圍。在交換式網(wǎng)絡(luò)中,,無法直接獲取這種開銷的大小,,但可以通過訪問交換機(jī)的MIB庫,獲取每個端口的流量,。如果再確知每個節(jié)點的實際傳輸數(shù)據(jù),,便可利用下式,間接地得到相對開銷比:?
?????
圖3給出了整個網(wǎng)絡(luò)的連接情況,,每個節(jié)點與交換機(jī)之間采用雙冗余連接,,即節(jié)點通過雙冗余網(wǎng)卡分別與兩臺交換機(jī)相連,其中一條鏈路為主通路,,交換機(jī)之間通過級聯(lián)線相連,。下面分別從控制臺和通信節(jié)點兩方面詳述設(shè)計過程。?
?
?
2.1 控制臺程序?
控制臺程序是整個設(shè)計方案的關(guān)鍵,,除了要求有友好的用戶界面外,,還應(yīng)完成以下功能:?
(1)提供由用戶手工輸入通信節(jié)點的接口,在接口需指定通信節(jié)點的IP地址和所連交換機(jī)的端口號;?
(2)為每個通信節(jié)點提供一套網(wǎng)絡(luò)通信方案,。在通信方案中指定連接在交換機(jī)上的通信節(jié)點之間的通信內(nèi)容(點對點,、多播、廣播)以及通信流量,。所謂通信流量是指各通信節(jié)點發(fā)送的報文的長度以及循環(huán)發(fā)送的周期,。這個流量是通信中的實際有用數(shù)據(jù);?
(3)控制臺程序通過約定的套接字將通信方案發(fā)送給每個通信節(jié)點,同時等待各通信節(jié)點對所接收數(shù)據(jù)的反饋信息;?
(4)在確知所有通信節(jié)點均加載正確的通信方案后,,通過專門的信令套接字口,,向各個節(jié)點計算機(jī)發(fā)布啟動/停止發(fā)送的指令;?
(5)各通信節(jié)點定期向控制臺提供通信信息,該信息反映在兩次時間間隔內(nèi)此節(jié)點有用數(shù)據(jù)流量,??刂婆_程序在獲知此信息后,通過訪問交換機(jī)MIB庫,,得到該節(jié)點當(dāng)前時間間隔內(nèi)的總流量,,利用公式(1)可大致估計雙冗余網(wǎng)卡當(dāng)前的相對開銷比。?
2.2 通信節(jié)點程序?
作為模擬負(fù)載,,通信節(jié)點應(yīng)當(dāng)能夠在控制臺的控制下,,按照各自的通信方案,與其它通信節(jié)點進(jìn)行信息傳輸,。通信方案由用戶設(shè)定,,在實際通信前由控制臺發(fā)送給各通信節(jié)點,其內(nèi)容對于雙方應(yīng)當(dāng)是互解釋的,。作為一個網(wǎng)絡(luò)應(yīng)用程序,,通信節(jié)點程序需要在指定的套接字口接收控制臺發(fā)布的啟動/停止指令,以決定當(dāng)前該節(jié)點是否進(jìn)行網(wǎng)絡(luò)通信;同時分別在單播,、多播,、廣播套接字口上按照通信方案所定義的通信內(nèi)容發(fā)送和接收數(shù)據(jù);在通信開始后,定期向控制臺匯報當(dāng)前時間間隔內(nèi)該節(jié)點的有用數(shù)據(jù)流量,。為了給用戶一個良好的接口,,在通信過程中,通信節(jié)點程序應(yīng)能直觀地反映該節(jié)點?
參加的通信中信源/信宿的IP地址,、傳輸?shù)目偭髁俊?
上述過程的圖形化解釋見圖4,。通過這種方法,可以估算雙冗余網(wǎng)卡系統(tǒng)開銷的大致范圍是2%~5%,,并且可以根據(jù)節(jié)點的流量自適應(yīng),,基本滿足系統(tǒng)的性能要求,。?
?
?
隨著水面艦艇現(xiàn)代化程度的提高,利用聯(lián)網(wǎng)技術(shù),,將電子設(shè)備加以有效地綜合,,使之達(dá)到資源和功能的共享已成為必然的要求。利用現(xiàn)有的局域網(wǎng)信息共享技術(shù),,可以完全滿足上述要求,。為提高整個系統(tǒng)的可靠性,通常的做法是對原系統(tǒng)增加一熱備份,,在交換式網(wǎng)絡(luò)環(huán)境中,,通過在各節(jié)點配置雙冗余網(wǎng)卡,分別與兩臺相互級聯(lián)的交換機(jī)相連,。但在提高系統(tǒng)可靠性的同時,,所付出的代價是網(wǎng)絡(luò)帶寬的消耗。?
參考文獻(xiàn)?
1 蔣東興.Windows Sockets網(wǎng)絡(luò)程序設(shè)計大全.北京:清華大? 學(xué)出版社,,1999?
2 岑賢道,,安常青.網(wǎng)絡(luò)管理協(xié)議及應(yīng)用開發(fā).北京:清華大學(xué)出版社,1998?
3 楊家海,任憲坤,王沛瑜.網(wǎng)絡(luò)管理原理與實現(xiàn)技術(shù).北京:清華大學(xué)出版社,,2000