SylixOS多路網卡冗餘管理簡介

1.多路網卡冗餘管理模塊概述

爲了保證系統網絡的可靠性,實現冗餘設備熱切換是一種常見的方法。SylixOS支持的多路網卡冗餘管理模塊是一款網卡故障保護管理模塊。它提供一種故障保護機制,對網絡設備進行冗餘備份,當其中一個設備由於某種原因不能正常工作時,另一個設備馬上就可以代替這個設備完成相同的功能,有效的防止了網絡堵塞、網線斷開、網絡接口連接器鬆動、設備硬件故障等導致的網絡通信故障。

2.多路網卡冗餘管理模塊功能

其主要功能有:

  • 輪詢機制,通過不間斷定時檢測的方式,檢測網絡設備狀態;

  • 中斷機制,通過狀態變化中斷的方式,啓動中斷處理任務,通知檢測網絡設備狀態;

  • 心跳機制,通過檢測上一次報文接收時間和當前時間差值,判斷網絡設備狀態;

  • 通過shell命令添加和刪除網卡冗餘。

3.多路網卡冗餘管理模塊特點

  1. "毫秒級"切換速度

    多路網卡冗餘管理模塊支持中斷方式檢測,可以迅速響應物理鏈路連接斷開導致的網絡通信故障並立即切換網絡設備,切換時間可以達到1ms左右。

  2. 支持多路網卡冗餘

    多路網卡冗餘管理模塊支持添加多組網卡冗餘,分別檢測各組網卡冗餘並及時進行網絡設備切換。

  3. 準確的網絡狀況識別

    網絡通信故障除了網線斷開、網絡接口連接器鬆動等硬件故障外,網絡堵塞同樣會導致網絡無法正常通信,降低系統網絡可靠性。多路網卡冗餘管理模塊針對網絡堵塞這類問題,添加了"心跳機制"檢測,當一段時間內沒有發生網絡通信時,認爲發生網絡堵塞,自動切換到另一網卡設備,保證網絡正常通信。超時時間由用戶設置。

  4. Shell命令控制

    多路網卡冗餘管理模塊通過shell命令開啓和關閉指定網卡冗餘,還可以通過shell命令設置心跳機制超時時間、設置輪詢機制輪詢檢測時間等。


    4.多路網卡冗餘管理模塊實現機制


    4.1整體框架

    多路網卡冗餘管理方案設計思路爲:創建一個虛擬網絡接口,通過虛擬網絡接口中對私有成員和網絡驅動函數的替換,實現控制不同的物理網卡進行數據發送和接收,如圖 4.1所示:

    圖 4.1  虛擬網絡接口

    多路網卡冗餘管理功能實現後,網絡通信框圖改變爲如圖 4.2所示:

    圖 4.2  網絡通信框圖


    4.2輪詢機制檢測模塊

    輪詢機制的實現方法是在模塊初始化後,啓動一個監測線程。該線程的功能是對綁定的網絡設備進行不間斷定時檢測,當發現網絡設備物理鏈路連接斷開時,就切換到另一個網絡設備上。系統檢測網絡設備的時間間隔,可以根據系統需要進行調整,在不影響性能的前提下儘量減少故障恢復時間。


    4.3中斷機制檢測模塊

    中斷機制是軟硬結合的一種方法,需要硬件支持。其具體實現方法是,首先硬件支持連接狀態變化中斷,當連接狀態變化時,啓動中斷處理任務,通知檢測網絡設備狀態,當發現網絡設備物理鏈路連接斷開時,就切換到另一個網絡設備上。


    4.4心跳機制檢測模塊

    心跳機制的實現方法是在模塊初始化後,記錄綁定網卡每一次報文接收時的時間,並啓動一個監測線程。該線程的功能是比較上一次報文接收時間和當前時間的差值。當差值大於用戶指定的超時時間後,認爲當前工作的網絡設備由於某種原因不能正常工作,立即切換到另一個網絡設備上。


    4.5物理網卡切換模塊

    當檢測模塊檢測到當前工作的網絡設備無法正常工作時,就會調用物理網卡切換模塊進行網絡設備切換。其具體實現方法是,將虛擬網絡接口的私有數據指針和發送回調函數替換爲另一個網絡設備的私有數據指針和發送回調函數,並將該網絡設備的接收回調函數替換爲網卡冗餘模塊中的接收回調input函數,最後將數據通過虛擬網絡接口上傳至協議棧。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章