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