<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇VxWorks專區VxWorks技術討論區 → VxWorks環境下雙網卡冗余備份技術的實現


      共有8126人關注過本帖樹形打印

    主題:VxWorks環境下雙網卡冗余備份技術的實現

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


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    VxWorks環境下雙網卡冗余備份技術的實現  發帖心情 Post By:2010-11-17 10:36:28

    摘  要:在對網絡通信可靠性要求高的系統中,需要對網卡進行雙冗余備份。當正常通信的網卡或線路出現故障時能自動地切換到備份網卡。本文詳述了實時操作系統VxWorks下一種雙網卡冗余備份技術的實現。
        關鍵詞:實時操作系統
    VxWorks網絡控制器;雙冗余備份

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

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

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

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

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

        這樣就完成了VxWorks51下多網卡之間的的切換。

        就
    VxWorks 54來說,它本身是支持多網卡的。以下我們描述SBS PC104系統如何在VxWorks下支持多個網絡適配器的軟件冗余切換(ne2000型為例)
        首先我們需要通過網卡配置程序對硬件環境中的所有網絡適配器進行
    IO基址和IO中斷的配置。本文假設系統中只有兩個網絡適配器,其IO基址和IO中斷號如下所述。實際系統中可能會有多個網絡適配器,其配置方法可依法類推,只要網卡的IO基址和IO中斷不會和系統中的其他設備沖突即可。


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

    返回版面帖子列表

    VxWorks環境下雙網卡冗余備份技術的實現








    簽名
    主站蜘蛛池模板: 中文字幕在线日韩| 午夜免费福利视频| qvod激情小说| 打扑克又痛又叫原声| 亚洲精品tv久久久久久久久| 精品欧美高清不卡在线| 国产第一区二区三区在线观看| 久久99精品久久久| 日韩高清一区二区| 亚洲综合色成在线播放| 精品伊人久久香线蕉| 国产欧美久久一区二区三区| bollywoodtubesexvideos| 成人福利视频导航| 亚洲av乱码一区二区三区| 欧美日韩精品一区二区三区高清视频| 啊灬啊灬啊灬快灬深用力| 风间由美juy135在线观看| 国产视频一区在线观看| 久久99精品久久久久子伦小说| 日韩精品无码一区二区三区免费| 亚洲精品自产拍在线观看| 精品久久久久久久免费人妻| 国产在线视频色综合| 91香蕉视频黄色| 大陆三级特黄在线播放| 久久婷婷成人综合色| 果冻传媒李琼母亲| 伊人久久大香线蕉综合网站| 精品国产丝袜自在线拍国| 国产女同疯狂摩擦系列1| 8090韩国理伦片在线天堂| 在线天堂bt种子| 一级特黄录像免费播放肥| 日本xxxx裸体bbbb| 亚洲一区二区三区在线| 欧美怡红院成免费人忱友;| 免费A级毛片无码无遮挡| 窝窝午夜看片国产精品人体宴| 国产亚洲综合欧美视频| 黄网站色视频免费看无下截|