版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、82第12期ol 2009年6月June 2009網(wǎng)絡(luò)與通信 文章編號:10003428(200912008202文獻(xiàn)標(biāo)識碼:A中圖分類號:TP393VxWorks 環(huán)境下的雙網(wǎng)卡智能冗余設(shè)計劉錫祥,徐曉蘇(東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096摘 要:分析雙網(wǎng)卡冗余的功能需求,設(shè)計基于VxWorks 環(huán)境的雙網(wǎng)卡智能冗余方案。通過對網(wǎng)卡連接狀態(tài)、通信可靠性以及穩(wěn)定性監(jiān)控分析,決定是否進(jìn)行網(wǎng)卡的主動切換。針對基于UDP 無連接通信的特點(diǎn),指出在雙網(wǎng)卡冗余設(shè)計中,應(yīng)根據(jù)目標(biāo)網(wǎng)絡(luò)通信節(jié)點(diǎn)變化情況,決定是否進(jìn)行網(wǎng)卡的隨動切換,以增強(qiáng)通信的可靠性。測試結(jié)果表明了該方案的可靠性與正確性,其切換時
2、間可提高至ms 級。 關(guān)鍵詞:VxWorks 操作系統(tǒng);雙網(wǎng)卡冗余;UDP 協(xié)議Design of Intelligent Dual-Redundance NIC in VxWorksLIU Xi-xiang, XU Xiao-su(School of Instrument Science & Engineering, Southeast University, Nanjing 210096【Abstract 】The function requirement of double redundant Network Interface Card(NIC is analyzed and an i
3、ntelligent dual-redundance NIC is designed. Whether the NIC should be active shift is decided by the link state of NIC and the reliability and stability of network. And based on the characteristics of UDP protocol and in order to improve the stability of communication, the NIC should be passive shif
4、t according to the changes of target communication node. Test result shows that the method is reliable and the shift time is shortened to millisecond grade. 【Key words 】VxWorks; Dual-Redundance NIC; UDP protocol計 算 機(jī) 工 程 Computer Engineering 第35卷V .35 No.12 1 概述雙網(wǎng)卡冗余設(shè)計作為一種提高網(wǎng)絡(luò)通信穩(wěn)定性和可靠性的有效方法,已經(jīng)獲得了廣泛的
5、應(yīng)用。它可以保證系統(tǒng)在局部網(wǎng)絡(luò)發(fā)生故障后,不至于引發(fā)全系統(tǒng)的崩潰。雙網(wǎng)卡冗余設(shè)計是在網(wǎng)絡(luò)通信的每個節(jié)點(diǎn)上采用2個網(wǎng)絡(luò)接口,中間通過2個接線器或路由器相連。當(dāng)網(wǎng)卡或通信線路連接出現(xiàn)故障、通信異常以及通信不可靠時,通信節(jié)點(diǎn)能主動切換到備份網(wǎng)卡進(jìn)行通信;當(dāng)相互通信的另一雙網(wǎng)卡冗余節(jié)點(diǎn)發(fā)生主動切換時,通信節(jié)點(diǎn)能隨動切換到備份網(wǎng)卡進(jìn)行通信。VxWorks 操作系統(tǒng)作被廣泛應(yīng)用于航空、航天等重要領(lǐng)域。它支持多網(wǎng)卡數(shù)據(jù)通信,但非冗余設(shè)計,每塊網(wǎng)卡都有各自獨(dú)立的MAC 地址和IP 地址,且IP 地址不能在同一IP 子網(wǎng)段1-3。要實(shí)現(xiàn)雙網(wǎng)卡冗余,必須重新設(shè)計網(wǎng)卡驅(qū)動,對網(wǎng)卡的物理地址和IP 地址作出處理,使其
6、對外部呈現(xiàn)為單MAC 和IP 。本文利用SBS 的DETH/NE2000兼容型雙網(wǎng)卡模塊,實(shí)現(xiàn)了網(wǎng)卡智能冗余設(shè)計。2 雙網(wǎng)卡冗余的功能要求雙網(wǎng)卡冗余備份示意圖如圖1所示,雙網(wǎng)卡冗余設(shè)計在網(wǎng)絡(luò)通信的每個節(jié)點(diǎn)上采用2個網(wǎng)絡(luò)接口,中間通過2個接線器或路由器相連。節(jié)點(diǎn)A 的2塊網(wǎng)卡A 1, A 2對外呈現(xiàn)為單一MAC 和IP ,互為備份。在網(wǎng)絡(luò)工作過程中,一塊網(wǎng)卡處于激活即工作狀態(tài),另一塊處于休眠即備份狀態(tài),圖1中假 設(shè)A 1-B 1處于工作狀態(tài),則A 2-B 2處于休眠狀態(tài)。根據(jù)網(wǎng)絡(luò)通信可靠性、穩(wěn)定性的要求,雙網(wǎng)卡冗余應(yīng)能根據(jù)網(wǎng)絡(luò)通信自身以及外部的變化進(jìn)行主/隨動切換。根據(jù)網(wǎng)絡(luò)通信的實(shí)時性要求,網(wǎng)卡
7、之間的切換時間應(yīng)盡可能短。 2.1 主動切換網(wǎng)卡雙冗余的一個重要功能是在網(wǎng)卡通信發(fā)生故障、外部連接不可靠時,主動切換到備份網(wǎng)絡(luò)進(jìn)行通信。在通信過程中,雙網(wǎng)卡冗余設(shè)計應(yīng)能實(shí)時準(zhǔn)確地監(jiān)控網(wǎng)卡的故障與網(wǎng)絡(luò)連接情況,能對CRC 錯誤、丟幀、錯幀及幀碰撞等信息進(jìn)行統(tǒng)計,并根據(jù)監(jiān)測與統(tǒng)計結(jié)果決定是否進(jìn)行網(wǎng)卡主動切換。 2.2 隨動切換在網(wǎng)絡(luò)通信中,UDP 協(xié)議因其快速性而受到的關(guān)注,被廣泛應(yīng)用于高速網(wǎng)絡(luò)通信中。但UDP 通信是一種不建立握手連接的通信方式,此時為了提高通信的可靠性,雙冗余備份應(yīng)能根據(jù)目標(biāo)通信節(jié)點(diǎn)的網(wǎng)卡切換情況,隨動進(jìn)行網(wǎng)卡的切換。圖1中假設(shè)節(jié)點(diǎn)A 中網(wǎng)卡A 1通過路由器1向節(jié)點(diǎn)B 中的B
8、1網(wǎng)卡發(fā)送數(shù)據(jù),此時網(wǎng)卡A 1處于激活狀態(tài),A 2處于備份狀態(tài)。基于UDP 協(xié)議的通信方式不建立握手連接,A 1向B 1發(fā)送數(shù)據(jù)并不能保證數(shù)據(jù)到達(dá)B 1的可靠性與正確性,也不能判斷B 1有無故障。若此時A 2收到B 2發(fā)送的數(shù)據(jù),則節(jié)點(diǎn)A 可以判斷A 2-B 2的連接無故障,節(jié)點(diǎn)A 應(yīng)進(jìn)行隨動切換,激活A(yù) 2、休眠A 1,建立A 2與B 2的連接。2.3 切換的實(shí)時性從理論上講,冗余可以在OSI 中任何一層實(shí)現(xiàn),但冗余越接近底層,檢測和切換的速度越快、效果越好。在應(yīng)用層實(shí)現(xiàn)冗余,一般是在程序中發(fā)起一個監(jiān)控任務(wù),不停地查詢網(wǎng)卡的工作狀態(tài)。當(dāng)網(wǎng)卡出現(xiàn)異常時,刪除當(dāng)前網(wǎng)卡的所有基金項目:國家部委基金
9、資助項目作者簡介:劉錫祥(1976-,男,講師、博士,主研方向:計算機(jī)輔助工程;徐曉蘇,教授、博士收稿日期:2008-10-25 E-mail :scliuseu相關(guān)設(shè)置,添加備份網(wǎng)卡。文獻(xiàn)4等的研究成果表明,在應(yīng)用層實(shí)現(xiàn)冗余,切換時間長,不能保證網(wǎng)絡(luò)的可靠性與實(shí)時性。因此,最佳的冗余在驅(qū)動層實(shí)現(xiàn)。3 VxWorks 智能冗余驅(qū)動的實(shí)現(xiàn)3.1 MUX 結(jié)構(gòu)與冗余(1MUX 結(jié)構(gòu)與網(wǎng)絡(luò)驅(qū)動 VxWorks 的網(wǎng)絡(luò)協(xié)議棧與網(wǎng)絡(luò)設(shè)備驅(qū)動的接口有2種:(1標(biāo)準(zhǔn)的BSD4.4驅(qū)動,它將驅(qū)動和協(xié)議緊密關(guān)聯(lián)在一起;(2VxWorks 特有的,它將驅(qū)動和協(xié)議棧分開,中間通過MUX 相連。相比于前者,后者使得網(wǎng)
10、絡(luò)服務(wù)免受特定的網(wǎng)絡(luò)接口驅(qū)動程序影響,使得驅(qū)動獨(dú)立于具體協(xié)議。協(xié)議、MUX 、驅(qū)動之間的關(guān)系如圖2所示。 圖2 協(xié)議、MUX 、驅(qū)動之間的關(guān)系應(yīng)用程序在初時化網(wǎng)卡時,通過MUX 提供的接口函數(shù)加載網(wǎng)絡(luò)驅(qū)動。成功初始化后向上層返回網(wǎng)卡結(jié)構(gòu)指針,該結(jié)構(gòu)中包含1個指向網(wǎng)卡的句柄END_OBJ 1-2。在VxWorks 中,相同的網(wǎng)卡使用相同的驅(qū)動程序,網(wǎng)卡之間通過上述句柄進(jìn)行區(qū)別。在正常情況下,協(xié)議驅(qū)動程序通過MUX 層提供的NIC 的句柄來提交請求,然后MUX 層調(diào)用網(wǎng)卡驅(qū)動程序中的接口函數(shù),實(shí)現(xiàn)高層協(xié)議驅(qū)動程序的請求,見圖3。 (2冗余的實(shí)現(xiàn)原理本文設(shè)計的雙網(wǎng)卡冗余方案,在驅(qū)動程序加載時,定義2
11、個指向網(wǎng)卡數(shù)據(jù)結(jié)構(gòu)的全局指針。在MUX 調(diào)用網(wǎng)卡驅(qū)動時,不使用上層傳遞的網(wǎng)卡句柄,而是根據(jù)網(wǎng)卡當(dāng)前的工作狀態(tài),指定調(diào)整參與通信的網(wǎng)卡,如圖4所示。 3.2 智能冗余驅(qū)動的實(shí)現(xiàn)(1單MAC 地址的實(shí)現(xiàn)VxWorks 在初始化網(wǎng)絡(luò)結(jié)構(gòu)時,讀取存放在EPROM 中的網(wǎng)卡物理地址并寫入固定的數(shù)據(jù)結(jié)構(gòu)中。要實(shí)現(xiàn)雙網(wǎng)卡共MAC 地址,可以在上述數(shù)據(jù)結(jié)構(gòu)中直接指定2塊網(wǎng)卡的物理地址,也可在網(wǎng)卡芯片中直接寫入相同的物理地址。(2單IP 地址的實(shí)現(xiàn)實(shí)現(xiàn)雙網(wǎng)卡冗余的單IP 地址,可以在初始化網(wǎng)卡時直接賦予2塊網(wǎng)卡同一IP 地址。此時因網(wǎng)卡一塊處于激活狀態(tài),另一塊處于休眠狀態(tài),所以不會發(fā)生地址IP 沖突。(3數(shù)據(jù)發(fā)
12、送與接收處理雙網(wǎng)卡冗余應(yīng)能對網(wǎng)卡自身狀態(tài)以及網(wǎng)絡(luò)通信可靠性、穩(wěn)定性進(jìn)行監(jiān)控并根據(jù)結(jié)果決定是否進(jìn)行網(wǎng)卡主動切換;應(yīng)能對目標(biāo)通信節(jié)點(diǎn)的切換作出反映,并決定是否進(jìn)行網(wǎng)卡隨動切換。數(shù)據(jù)發(fā)送及網(wǎng)卡主動切換流程如圖5所示。數(shù)據(jù)接收及網(wǎng)卡隨動切換流程如圖6所示。圖5 數(shù)據(jù)發(fā)送與網(wǎng)卡主動切換流程圖6 數(shù)據(jù)接收與網(wǎng)卡隨動切換流程4 性能測試測試采用UDP 通信協(xié)議,按圖1構(gòu)造2個網(wǎng)絡(luò)節(jié)點(diǎn)。在初時化時隨機(jī)指定任一網(wǎng)卡作為當(dāng)前工作網(wǎng)卡。節(jié)點(diǎn)間以100 幀/s 的速率相互通信2 h ,通過網(wǎng)絡(luò)嗅探器的對通信數(shù)據(jù)統(tǒng)計分析,2塊網(wǎng)卡均能正常工作,無錯幀和丟幀。通過人為插拔網(wǎng)線模擬網(wǎng)卡連線故障,實(shí)現(xiàn)主動切換。通過人為對網(wǎng)絡(luò)
13、雙絞線的破壞,制造網(wǎng)絡(luò)通信的不可靠,可以實(shí)現(xiàn)對網(wǎng)絡(luò)錯幀、丟幀的統(tǒng)計并根據(jù)統(tǒng)計結(jié)果實(shí)現(xiàn)主動切換。在通信的某一節(jié)點(diǎn)主動切換網(wǎng)卡后,通信的另一節(jié)點(diǎn)可以實(shí)現(xiàn)網(wǎng)卡的隨動切換。在VxWorks 通過對CPU 滴答計數(shù)的計算以及網(wǎng)絡(luò)嗅探器對網(wǎng)絡(luò)數(shù)據(jù)的監(jiān)控分析,可計算出網(wǎng)絡(luò)切換時間小于5 ms (CPU 主頻為133 MHz,遠(yuǎn)低于在應(yīng)用層實(shí)現(xiàn)雙冗余的切換時間4。5 結(jié)束語雙冗余設(shè)計是一種提高網(wǎng)絡(luò)通信可靠性、穩(wěn)定性的重要手段。在VxWorks 環(huán)境下利用其網(wǎng)絡(luò)MUX 的特殊結(jié)構(gòu)與通信過程中對網(wǎng)卡句柄依賴的特點(diǎn),通過隨機(jī)設(shè)定初始工作網(wǎng)卡,并根據(jù)網(wǎng)絡(luò)通信節(jié)點(diǎn)內(nèi)外部的變化情況進(jìn)行網(wǎng)卡的切換,無須網(wǎng)絡(luò)應(yīng)用層中指定通信的網(wǎng)卡句柄,可以達(dá)到雙冗余備份設(shè)計的目的。參考文獻(xiàn)1 陳智育, 溫彥軍, 陳 琪. VxWork 程序開發(fā)實(shí)踐M. 北京:人民郵電出版社
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 奢侈品行業(yè)客服工作總結(jié)
- 電力水利保安工作總結(jié)
- 機(jī)場行業(yè)安全管理工作總結(jié)
- 重慶中考數(shù)學(xué)試題卷及答案(A卷)
- 木材家具行業(yè)銷售員績效總結(jié)
- 銀行工作總結(jié)團(tuán)隊精誠共贏未來
- 小學(xué)生節(jié)約糧食反對浪費(fèi)的黑板報口號
- 2024年服裝行業(yè)線上線下聯(lián)合促銷合同范本3篇
- 家居裝修行業(yè)行政后勤工作總結(jié)
- 園林行業(yè)行政后勤工作總結(jié)
- 學(xué)校2025元旦假期安全教育宣傳課件
- 高級社會工作師直接服務(wù)個案(老年社會工作服務(wù)個案案例)
- 精品[QC]提高地磚施工合格率范本
- 2020 新ACLS-PCSA課前自我測試-翻譯版玉二醫(yī)【復(fù)制】附有答案
- 走賬協(xié)議合同范本
- 危險化學(xué)品安全周知卡氧氣
- 甲狀腺功能減退癥(11)講課教案
- 鉆孔灌注樁后注漿施工方案(最全版)
- 電瓶車供貨服務(wù)方案(完整版)
- 常用儀表縮寫字母
- 政工干部年度述職報告
評論
0/150
提交評論