硬件bypass 原理介紹


一 硬件bypass 目的:

 

作為串接產品為了避免產品的單點故障,在設備出現斷電,死機時,不能因為串接產品的不可用而導致用戶的網絡不可用,硬件Bypass功能已經是流控產品必備功能,在設備斷電,死機時能夠直接將內,外兩個端口物理連通,變成一根網線,這樣用戶的數據流量可以直接通過設備,而不受設備自身當前狀態的影響。

 

 

 

如下圖所示,在支持硬件Bypass的端口后部會存在繼電器,每個端口后面的一個繼電器負責兩心線路,因此如果要Bypass1,2,3,6(100M端口)四芯線路需要2個繼電器,如果要Bypass1,2,3,4,5,6,7,8(1000M端口) 八芯線路則需要4個繼電器,下圖的每個端口后方有4個繼電器,因此是1000M的Bypass。 

 

 

 

 

 

另外還有2代的bypass 可以控制斷電后的bypass狀態為連接或者斷開。共9顆繼電器控制一對網口

 

 

 

當斷電時,繼電器失去電力,因此將開關搭接到了和下方網口聯通的線路上,於是兩個端口就變成了一個物理線路,相當於兩個端口短路,當電力恢復時則繼電器將開關搭接到了和自身系統連接的線路上,於是就成為了兩個獨立的網口,通過這樣的方式,當斷電時就可以避免網絡中斷。

 

 

 

下面一組圖示以2代bypass為例說明了Bypass的工作方式,1代的只具有上面2種狀態。Bypass Behavior A是正常狀態下,兩個網絡的封包都經過應用軟件處理后再傳播。Bypass BehaviorB是設備處於Bypass后,設備的應用程序已經不再對網絡封包處理了。Bypass Behavior c 是設備斷電后不bypass 。

 

Bypass Behavior A:

 

Bypass Behavior B:

 

Bypass Behavior C:

 

二  Bypass分類及應用                 

 

Bypass一般按照控制方式或者稱為觸發方式來分,可以分為以下幾個方式

  1、 通過電源觸發。這種方式下,一般是在設備沒有通電的情況下,Bypass功能打開,如果設備一旦通電后,Bypass立即調整為關閉狀態。

  2、 由GPIO來控制。在進入OS后,可以通過GPIO來對特定的端口操作,從而實現對Bypass開關的控制。

  3、 由Watchdog來控制。這種情況實際是對方式2的一種延伸應用,可以通過Watchdog來控制GPIO Bypass程序的啟用與關閉,從而實現對Bypass狀態的控制。使用這種方式后,平台如果死機就可以由Watchdog來打開Bypass。

 

         4 設備上的bypass開關,可以手動設置bypass強制開啟或者關閉

 

 

 

一般的應用方法為,在斷電的情況下,設備處於Bypass打開狀態,然后設備上電后,由於BIOS接管,可以在BIOS中設定bypass ,所以在BIOS接管設備后,Bypass仍然處於打開狀態,然后OS啟動,當OS啟動后,一般會執行GPIO 的Bypass程序,將Bypass關閉,這樣可以應用程序就可以發揮作用了。也就是說在整個啟動過程中,幾乎不會造成網絡的斷開。只有在OS接管這短短的幾秒鍾的時間會使網絡斷開

 

 

 

在硬件層面上,要實現Bypass,主要使用的就是繼電器。這些繼電器主要連接兩個Bypass網口的各個網口信號線上,下圖以其中一根信號線來說明繼電器在其中的工作方式。以電源觸發為例,當斷電的情況下,繼電器內的開關將會跳撥到1的狀態,即將LAN 1 的RJ45接口上的Rx直接和LAN2 的RJ45 Tx 導通,而當設備上電以后,開關就會導通到2上,這樣如果要使LAN1和LAN2 上的網絡間通訊,就需要通過這台設備上的應用程序來實現了。

 

 

 

 

 

軟件層面。

對於GPIO和Watchdog兩種方式來控制、觸發Bypass,實際上這兩種方式都是對GPIO作操作,然后由 GPIO來控制硬件上的繼電器作相應的跳轉。具體一點,就是相應的GPIO如果被置成高電平,那么繼電器就相應的跳轉到位置1,相反如果GPIO被置成了低電平,則繼電器就跳轉到位置2。

 

對於Watchdog Bypass,實際上是在上面的GPIO控制的基礎上,增加Watchdog控制Bypass。首先系統激活Watchdog功能,傳統上,當 Watchdog生效后,系統會Reset ,但如果你使用了Watchdog Bypass功能,則在Watchdog生效后,系統不會Reset,而是將相對應的網口Bypass打開,使設備呈現為Bypass狀態。實際是這種 Bypass,也是通過GPIO來控制Bypass的,只不過這種情況下,向GPIO寫入低電平的工作由Watchdog來執行,不需要另外編程來寫 GPIO。注意 如果使用了Watchdog Bypass,則Watchdog將不能再實現讓系統Reset了。

 

一般watchdog啟用bypass 都是在主板上設置跳線 進行選擇,可以選擇reset 或者觸發bypass


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM