《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 船載交換式網(wǎng)絡(luò)使用雙冗余網(wǎng)卡對網(wǎng)絡(luò)性能的影響

船載交換式網(wǎng)絡(luò)使用雙冗余網(wǎng)卡對網(wǎng)絡(luò)性能的影響

2009-03-13
作者:朱嚴(yán)峰 李 峭 熊華鋼1 顧

  摘? 要: 通過局域網(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)綜合? 性能評價(jià)?

?

  信息戰(zhàn)作為一種新的戰(zhàn)爭模式,已成為影響艦艇作戰(zhàn)能力提高的推動因素。在目前水面艦艇現(xiàn)代化過程中,人們往往偏重于電子武器設(shè)備硬件水平的提高,而忽略了對信息利用程度、資源共享角度的考慮。隨著艦船等機(jī)動平臺上電子設(shè)備越來越多,并且越來越復(fù)雜,將電子設(shè)備有效地綜合,使之達(dá)到資源和功能共享已成為必然的要求。目前基于計(jì)算機(jī)局域網(wǎng)的信息共享技術(shù)完全成熟,將各艦載系統(tǒng)互連,能夠滿足上述要求。?

  機(jī)動平臺上的聯(lián)網(wǎng)技術(shù)不同于一般的局域網(wǎng)技術(shù),它特別強(qiáng)調(diào)網(wǎng)絡(luò)的可靠性與實(shí)時(shí)性。為了保證系統(tǒng)的可靠性,通常都采用冗余連接,即每個節(jié)點(diǎn)采用雙網(wǎng)卡進(jìn)行故障冗余切換,各個節(jié)點(diǎn)分別連接到兩臺交換機(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)行下去。在試驗(yà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ì)算機(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è)備出廠時(shí)就已經(jīng)燒制在設(shè)備上,它負(fù)責(zé)維護(hù)本地的管理信息以及通過SNMP向管理者發(fā)送相關(guān)信息。MIB(管理信息庫)存放了該設(shè)備被管理網(wǎng)絡(luò)資源的所有信息。?

?

?

  SNMP 使用UDP(用戶數(shù)據(jù)報(bào)協(xié)議)作為第四層傳輸協(xié)議,管理者與代理之間以SNMP報(bào)文的形式交換信息,管理信息的交換可以由管理者以查詢的方式進(jìn)行或由代理發(fā)送Trap報(bào)文方式進(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é)點(diǎn)都包括一個MIB,它反映了該節(jié)點(diǎn)中被管資源的狀態(tài),網(wǎng)管實(shí)體可以通過讀取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)量對象實(shí)例和一個表中的單個對象實(shí)例。SMI不支持創(chuàng)建或檢索復(fù)雜數(shù)據(jù)結(jié)構(gòu)。?

  MIB是以樹狀結(jié)構(gòu)組織的,每個節(jié)點(diǎn)包含兩個內(nèi)容:一個OID(對象標(biāo)識符)和一個簡短的文本描述。在MIB中,每個對象都有唯一的OID,它是從MIB樹的根開始到此對象所對應(yīng)的節(jié)點(diǎn)沿途路徑上所有節(jié)點(diǎn)的數(shù)字標(biāo)識,中間以“.”間隔而成。在MIB中主要有以下對象類型:?

  (1)NetworkAddress:從許多協(xié)議簇中選擇出的一種地址格式;?

  (2)IpAddress:IP協(xié)議中定義的一種32比特的地址格式;?

  (3)Counter: 非負(fù)整數(shù),只增不減,到達(dá)最大值后從零開始重新計(jì)算;?

  (4)Gauge: 非負(fù)整數(shù),可以增加,也可減少,到達(dá)最大值后,它就保持在最大值,直至被復(fù)位;?

  (5)TimeTicks: 非負(fù)整數(shù),它以百分之一秒為單位計(jì)算從某個時(shí)間點(diǎn)開始所經(jīng)歷的時(shí)間。?

1.4 Windows下實(shí)現(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的特點(diǎn)設(shè)置了消息重傳、超時(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è)計(jì)思路?

  在共享式局域網(wǎng)中,可以通過在網(wǎng)絡(luò)中插入網(wǎng)絡(luò)分析儀,便可對整個網(wǎng)絡(luò)的通信情況有全面的了解,包括對以太網(wǎng)數(shù)據(jù)幀的提取。在交換式環(huán)境下,無法采用這種方法。因此,雖然前面提到過,在試驗(yàn)中通過其它方式獲得了心跳信號的數(shù)據(jù)內(nèi)容,但仍無法給出這種開銷相對于有用數(shù)據(jù)傳輸所占比例的量的范圍。在交換式網(wǎng)絡(luò)中,無法直接獲取這種開銷的大小,但可以通過訪問交換機(jī)的MIB庫,獲取每個端口的流量。如果再確知每個節(jié)點(diǎn)的實(shí)際傳輸數(shù)據(jù),便可利用下式,間接地得到相對開銷比:?

?????

  圖3給出了整個網(wǎng)絡(luò)的連接情況,每個節(jié)點(diǎn)與交換機(jī)之間采用雙冗余連接,即節(jié)點(diǎn)通過雙冗余網(wǎng)卡分別與兩臺交換機(jī)相連,其中一條鏈路為主通路,交換機(jī)之間通過級聯(lián)線相連。下面分別從控制臺和通信節(jié)點(diǎn)兩方面詳述設(shè)計(jì)過程。?

?

?

2.1 控制臺程序?

  控制臺程序是整個設(shè)計(jì)方案的關(guān)鍵,除了要求有友好的用戶界面外,還應(yīng)完成以下功能:?

  (1)提供由用戶手工輸入通信節(jié)點(diǎn)的接口,在接口需指定通信節(jié)點(diǎn)的IP地址和所連交換機(jī)的端口號;?

  (2)為每個通信節(jié)點(diǎn)提供一套網(wǎng)絡(luò)通信方案。在通信方案中指定連接在交換機(jī)上的通信節(jié)點(diǎn)之間的通信內(nèi)容(點(diǎn)對點(diǎn)、多播、廣播)以及通信流量。所謂通信流量是指各通信節(jié)點(diǎn)發(fā)送的報(bào)文的長度以及循環(huán)發(fā)送的周期。這個流量是通信中的實(shí)際有用數(shù)據(jù);?

  (3)控制臺程序通過約定的套接字將通信方案發(fā)送給每個通信節(jié)點(diǎn),同時(shí)等待各通信節(jié)點(diǎn)對所接收數(shù)據(jù)的反饋信息;?

  (4)在確知所有通信節(jié)點(diǎn)均加載正確的通信方案后,通過專門的信令套接字口,向各個節(jié)點(diǎn)計(jì)算機(jī)發(fā)布啟動/停止發(fā)送的指令;?

  (5)各通信節(jié)點(diǎn)定期向控制臺提供通信信息,該信息反映在兩次時(shí)間間隔內(nèi)此節(jié)點(diǎn)有用數(shù)據(jù)流量??刂婆_程序在獲知此信息后,通過訪問交換機(jī)MIB庫,得到該節(jié)點(diǎn)當(dāng)前時(shí)間間隔內(nèi)的總流量,利用公式(1)可大致估計(jì)雙冗余網(wǎng)卡當(dāng)前的相對開銷比。?

2.2 通信節(jié)點(diǎn)程序?

  作為模擬負(fù)載,通信節(jié)點(diǎn)應(yīng)當(dāng)能夠在控制臺的控制下,按照各自的通信方案,與其它通信節(jié)點(diǎn)進(jìn)行信息傳輸。通信方案由用戶設(shè)定,在實(shí)際通信前由控制臺發(fā)送給各通信節(jié)點(diǎn),其內(nèi)容對于雙方應(yīng)當(dāng)是互解釋的。作為一個網(wǎng)絡(luò)應(yīng)用程序,通信節(jié)點(diǎn)程序需要在指定的套接字口接收控制臺發(fā)布的啟動/停止指令,以決定當(dāng)前該節(jié)點(diǎn)是否進(jìn)行網(wǎng)絡(luò)通信;同時(shí)分別在單播、多播、廣播套接字口上按照通信方案所定義的通信內(nèi)容發(fā)送和接收數(shù)據(jù);在通信開始后,定期向控制臺匯報(bào)當(dāng)前時(shí)間間隔內(nèi)該節(jié)點(diǎn)的有用數(shù)據(jù)流量。為了給用戶一個良好的接口,在通信過程中,通信節(jié)點(diǎn)程序應(yīng)能直觀地反映該節(jié)點(diǎn)?

  參加的通信中信源/信宿的IP地址、傳輸?shù)目偭髁俊?

  上述過程的圖形化解釋見圖4。通過這種方法,可以估算雙冗余網(wǎng)卡系統(tǒng)開銷的大致范圍是2%~5%,并且可以根據(jù)節(jié)點(diǎn)的流量自適應(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é)點(diǎn)配置雙冗余網(wǎng)卡,分別與兩臺相互級聯(lián)的交換機(jī)相連。但在提高系統(tǒng)可靠性的同時(shí),所付出的代價(jià)是網(wǎng)絡(luò)帶寬的消耗。?

參考文獻(xiàn)?

1 蔣東興.Windows Sockets網(wǎng)絡(luò)程序設(shè)計(jì)大全.北京:清華大? 學(xué)出版社,1999?

2 岑賢道,安常青.網(wǎng)絡(luò)管理協(xié)議及應(yīng)用開發(fā).北京:清華大學(xué)出版社,1998?

3 楊家海,任憲坤,王沛瑜.網(wǎng)絡(luò)管理原理與實(shí)現(xiàn)技術(shù).北京:清華大學(xué)出版社,2000
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。