久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團(tuán)論壇VxWorks專區(qū)VxWorks技術(shù)討論區(qū) → VxWorks環(huán)境下雙網(wǎng)卡冗余備份技術(shù)的實(shí)現(xiàn)


  共有8363人關(guān)注過本帖樹形打印

主題:VxWorks環(huán)境下雙網(wǎng)卡冗余備份技術(shù)的實(shí)現(xiàn)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
VxWorks環(huán)境下雙網(wǎng)卡冗余備份技術(shù)的實(shí)現(xiàn)  發(fā)帖心情 Post By:2010-11-17 10:36:28

摘  要:在對(duì)網(wǎng)絡(luò)通信可靠性要求高的系統(tǒng)中,需要對(duì)網(wǎng)卡進(jìn)行雙冗余備份。當(dāng)正常通信的網(wǎng)卡或線路出現(xiàn)故障時(shí)能自動(dòng)地切換到備份網(wǎng)卡。本文詳述了實(shí)時(shí)操作系統(tǒng)VxWorks下一種雙網(wǎng)卡冗余備份技術(shù)的實(shí)現(xiàn)。
    關(guān)鍵詞:實(shí)時(shí)操作系統(tǒng)
VxWorks;網(wǎng)絡(luò)控制器;雙冗余備份

1引言
    隨著網(wǎng)絡(luò)技術(shù)的成熟,以太網(wǎng)已成為各種控制系統(tǒng)接口互連的主要媒介。在某些特殊的應(yīng)用場(chǎng)合,為了提高系統(tǒng)的可靠性和抗毀性,需采用雙冗余網(wǎng)絡(luò)技術(shù)。在雙冗余網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都采用兩塊網(wǎng)卡
(或單板雙卡),中間用兩個(gè)HUB或交換機(jī)互連。當(dāng)某個(gè)節(jié)點(diǎn)一塊網(wǎng)卡故障,或網(wǎng)線損壞,或其中一個(gè)HUB或交換機(jī)故障時(shí),網(wǎng)絡(luò)仍能正常運(yùn)作。
    雙冗余網(wǎng)絡(luò)雖有兩塊網(wǎng)卡,兩條通道,但對(duì)于高層應(yīng)用系統(tǒng)來說,仍呈現(xiàn)單網(wǎng)卡的特征。具體來講,每個(gè)節(jié)點(diǎn)的兩塊網(wǎng)卡只能有一個(gè)物理地址,一個(gè)
IP地址,否則
網(wǎng)絡(luò)就不能進(jìn)行正常通信。
    現(xiàn)在大多數(shù)操作系統(tǒng)
(Windows、Unix、Linux)均支持多網(wǎng)卡,但均非冗余設(shè)計(jì),每塊網(wǎng)卡都有獨(dú)立的物理地址和IP地址,以獨(dú)立的形式讓應(yīng)用系統(tǒng)使用。根據(jù)目前海軍對(duì)高性能實(shí)時(shí)系統(tǒng)的要求,我們對(duì)VxWorks環(huán)境下的雙網(wǎng)卡的切換以及冗余備份的設(shè)計(jì)方法及要點(diǎn)進(jìn)行介紹。

2VxWorks
介紹[1][2][3]

        VxWorks
操作系統(tǒng)是一種具有工業(yè)領(lǐng)導(dǎo)地位的高性能嵌入式實(shí)時(shí)操作系統(tǒng),是嵌入式開發(fā)環(huán)境Tornado的關(guān)鍵組成部分,它為程序員提供了良好的可靠性和卓越的實(shí)時(shí)性,因此被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。
    就廣泛使用的
UnixWindows操作系統(tǒng)來說,它們都是很好的應(yīng)用開發(fā)和交互式應(yīng)用的操作系統(tǒng)平臺(tái),然而他們并不適合于實(shí)時(shí)應(yīng)用。而從另一方面考慮,以前出現(xiàn)的實(shí)時(shí)操作系統(tǒng)都沒有為應(yīng)用開發(fā)和應(yīng)用的非實(shí)時(shí)組件(譬如向GUI)提供很好的運(yùn)行環(huán)境。而Wind River的哲學(xué)是利用兩個(gè)相互協(xié)作的操作系統(tǒng)來互相補(bǔ)充對(duì)方的不足(譬如VxWorksWindows),讓他們各盡所長(zhǎng)。VxWorks為應(yīng)用提供實(shí)時(shí)性,而主機(jī)被用來進(jìn)行應(yīng)用開發(fā)和運(yùn)行非實(shí)時(shí)的應(yīng)用程序。

3冗余切換
    在系統(tǒng)的運(yùn)行中設(shè)備由于硬件或軟件原因出現(xiàn)故障是時(shí)有發(fā)生的事。采用有效的防錯(cuò)容錯(cuò)機(jī)制對(duì)一個(gè)需要穩(wěn)定運(yùn)行的系統(tǒng)是必需的。冗余備份技術(shù)是對(duì)容易出錯(cuò)的硬件設(shè)備進(jìn)行冗余備份。當(dāng)其中一個(gè)設(shè)備由于某種原因不能正常工作時(shí),另一個(gè)設(shè)備馬上就可以代替這個(gè)設(shè)備完成相同的功能。本文只是針對(duì)網(wǎng)絡(luò)因素導(dǎo)致系統(tǒng)故障的情況分析對(duì)網(wǎng)絡(luò)適配器的一種可行的錯(cuò)誤保護(hù)機(jī)制。
    通常如果在某一系統(tǒng)中安裝兩塊網(wǎng)卡,它們分別有不同的物理和
IP地址。當(dāng)其中一塊網(wǎng)卡出現(xiàn)故障時(shí),另一塊網(wǎng)卡不能實(shí)時(shí)地代替它繼續(xù)工作,這是因?yàn)樗鼈兊奈锢淼刂凡煌,所以它不能接受到發(fā)向前一塊網(wǎng)卡的數(shù)據(jù)。但在對(duì)網(wǎng)絡(luò)通信可靠性要求高的系統(tǒng)中,需要對(duì)網(wǎng)卡進(jìn)行雙冗余備份,一塊網(wǎng)卡在正常工作時(shí)使用,另一塊網(wǎng)卡作為備份。備份用的網(wǎng)卡不發(fā)送或接收數(shù)據(jù),但已經(jīng)處于激活狀態(tài)。在正常通信的網(wǎng)卡出現(xiàn)故障時(shí),備份用的網(wǎng)卡能實(shí)時(shí)地、自動(dòng)地切換過來繼續(xù)工作。顯然,這就要求兩塊網(wǎng)卡只能使用同一個(gè)物理地址和同一個(gè)IP地址。從應(yīng)用程序的角度看,只會(huì)看見一塊網(wǎng)卡在工作。應(yīng)用程序不關(guān)心是哪塊網(wǎng)卡在工作,也不關(guān)心網(wǎng)卡之間是如何切換的。
    在
VxWorks系統(tǒng)中,相同類型的網(wǎng)卡使用同一個(gè)驅(qū)動(dòng)程序,網(wǎng)卡之間由NDIS提供的句柄來區(qū)別。NDIS調(diào)用NIC驅(qū)動(dòng)程序的接口函數(shù)時(shí),都會(huì)把網(wǎng)卡的句柄傳入函數(shù)中。這就為在驅(qū)動(dòng)程序中實(shí)現(xiàn)冗余備份提供了基礎(chǔ)。雙網(wǎng)卡驅(qū)動(dòng)程序?qū)崿F(xiàn)后與高層協(xié)議驅(qū)動(dòng)程序綁定在一起,對(duì)應(yīng)用程序完全透明。因此要實(shí)現(xiàn)網(wǎng)卡的雙冗余備份,最理想的辦法是在NIC驅(qū)動(dòng)程序中實(shí)現(xiàn)。但是如果采取這樣的方式我們必須要有VxWorks下的所用網(wǎng)卡的驅(qū)動(dòng)程序,而對(duì)于一般的用戶而言,開發(fā)這樣一個(gè)驅(qū)動(dòng)程序的難度是很大的。目前也有一些研究單位完成了這些工作,但是它們要求的價(jià)格過高,軟硬件共需要15000元左右,這對(duì)于一般小型用戶是比較高的。所以我們選擇在
基本不影響冗余備份效果的基礎(chǔ)上,在高層的用戶程序中實(shí)現(xiàn)這一目標(biāo)。
    在早期的
VxWorks51x中,系統(tǒng)是不支持多網(wǎng)卡的。通常,VxWorks在啟動(dòng)時(shí)僅僅對(duì)引導(dǎo)它啟動(dòng)的那塊網(wǎng)卡進(jìn)行初始化。如果需要在某一特定的目標(biāo)機(jī)上從一塊網(wǎng)卡換到另一塊網(wǎng)卡(例如從ene型換到ENP型的網(wǎng)卡),我們可以通過系統(tǒng)提供的函數(shù)以及來實(shí)現(xiàn)網(wǎng)卡間的切換。我們所需要做的是連接所需要的網(wǎng)卡并刪除前一個(gè)網(wǎng)卡的路由。我們可以調(diào)用特定網(wǎng)卡的連接函數(shù):enpattach(),enettach()等等。例如enpattach()函數(shù)為網(wǎng)卡連接中斷并建立enpsoftc
,系統(tǒng)將為該網(wǎng)卡作相應(yīng)的初始化。
        enpattach (0,0xffde0000,1923);

    /
*參數(shù)依次為:網(wǎng)卡在系統(tǒng)中的單元號(hào),enp's的共享內(nèi)存地址,要連接的中斷向量,中斷級(jí)*
    需要說明的是,在
VxWorks 51下雖然這些連接函數(shù)都有一個(gè)unitNum參數(shù),似乎可以支持多個(gè)網(wǎng)卡。但其實(shí)并非這樣,在后面的敘述中我們可以看到它沒有IP MAX UNITS這個(gè)宏的定義,所以并不支持多網(wǎng)卡,unitNum的值一直是0,讀者們可以在源代碼中查看一下。
    因?yàn)楫?dāng)
VxWorks啟動(dòng)時(shí)它將一個(gè)缺省的網(wǎng)絡(luò)接口加載到網(wǎng)絡(luò)接口表中,所以在連接到需要的網(wǎng)卡后需要再調(diào)用ifRouteDelete()函數(shù)以刪除連接到某一指定網(wǎng)卡上的路
由。

    這樣就完成了VxWorks51下多網(wǎng)卡之間的的切換。

    就
VxWorks 54來說,它本身是支持多網(wǎng)卡的。以下我們描述SBS PC104系統(tǒng)如何在VxWorks下支持多個(gè)網(wǎng)絡(luò)適配器的軟件冗余切換(ne2000型為例)。
    首先我們需要通過網(wǎng)卡配置程序?qū)τ布h(huán)境中的所有網(wǎng)絡(luò)適配器進(jìn)行
IO基址和IO中斷的配置。本文假設(shè)系統(tǒng)中只有兩個(gè)網(wǎng)絡(luò)適配器,其IO基址和IO中斷號(hào)如下所述。實(shí)際系統(tǒng)中可能會(huì)有多個(gè)網(wǎng)絡(luò)適配器,其配置方法可依法類推,只要網(wǎng)卡的IO基址和IO中斷不會(huì)和系統(tǒng)中的其他設(shè)備沖突即可。


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

VxWorks環(huán)境下雙網(wǎng)卡冗余備份技術(shù)的實(shí)現(xiàn)








簽名
主站蜘蛛池模板: 一级毛片日韩a欧美 | 欧美另类激情 | 亚洲欧美久久精品 | 成人网在线免费观看 | 综合视频在线 | 私人毛片免费高清影视院丶 | 国内自拍在线观看 | 欧美一级特黄视频 | 国产男女乱淫真视频全程播放 | 国产成人免费高清视频 | 久久综合狠狠综合狠狠 | 制服丝袜怡红院 | 欧美亚洲一区二区三区在线 | 亚洲免费三级 | 亚洲你我色 | 免费一级欧美在线观看视频片 | 日本三级欧美三级 | a级在线观看视频 | 日韩一级片播放 | 国产在线爱做人成小视频 | 亚洲欧美一区二区久久 | 一级特黄aaa大片免费看 | 久久青草网站 | 欧美一区视频 | 欧美色道| 成年人在线视频观看 | 精品国产综合成人亚洲区 | 人成精品视频三区二区一区 | 香港激情黄三级在线视频 | cao美女视频网站在线观看 | 影院成人区精品一区二区婷婷丽春院影视 | 国产视频高清在线 | 国产亚洲自在精品久久 | 国产在播放一区 | 久久一日本道色综合久 | 亚洲人成一区二区三区 | 欧美成人免费tv在线播放 | 久久经典免费视频 | 亚洲一级大片 | 欧美午夜在线播放 | a毛片在线还看免费网站 |