1)、滿足工業環境穩定性要求
從滿足工業環境穩定性要求的角度,工業防火牆的需要從硬體和軟體層次去考慮本身的穩定性對工業網絡的影響。從這個角度說,工業防火牆需要同時具備軟硬體Bypass功能。工業防火牆故障不必擔心會導致工業網路斷網,因為Bypass功能會自動啟動,確保網路正常運作。 Bypass顧名思義,就是旁路保護系統,也就是說可以透過特定的觸發狀態(斷電或死機)讓兩個網路不通過工業防火牆的系統,而直接物理上導通。而這時候工業防火牆也就不會再對網路中的封包做處理了。基於這樣的設計,Bypass從安全***的角度,也本身是一個漏洞,只要***找到方法能夠使得工業防火牆觸發Bypass功能的狀態,那麼在其觸發了Bypass功能的工業防火牆上安全隔離和控制功能就失去了作用,***就可以直接存取內部受保護的資源。那麼這種想法到底可不可行呢? Bypass功能是否有這樣的被***的漏洞呢?下面讓我們來看看Bypass功能是如何設計實現的。
在這裡我以最簡單的模型來說明Bypass的架構以及工作原理,在工業防火牆中,如果是基於工業以太網環境的Bypass功能的設計,那麼就跟工業主機板以及網卡有關,這個Bypass功能就隨著主機板以及網路卡的設計架構不同而有所差異了。
從最簡單的Bypass模型來看,這個模型包含了「Bypass控制器」和「執行電路子板」兩個部分。 Bypass控制器是整個系統的控制調度核心,而執行電路子板就是具體的執行者,這個執行者作用於不同的網路傳輸介質上(例如電口、光口、串列口等)。如下圖所示:
這個執行者是如何作用於不同的網路傳輸媒體上的?這就需要我們明白底層的網路傳輸媒體之間的元件以及他們的關係,這個傳輸介質我們以網路卡的架構作為說明。
這是一張網卡的實體圖,裡麵包含了網路卡的所有元件:
①RJ-45介面
②Transformer(隔離變壓器)
③PHY晶片
④MAC晶片
⑤EEPROM
⑥BOOTROM插槽
⑦WOL接頭
⑧晶振
⑨電壓轉換晶片
⑩LED指示燈
#可以看到很多我們以前都不太知道的元件和裝置。以下簡單介紹下各個組件的作用。
RJ-45是一個插口模組,簡單來說它是一個發送器或接收器。 RJ-45有8根針腳,網卡一般用RJ-45插口時,10M網卡的RJ-45插口只用了1,2,3,6四根針,而100M或1000M網卡的則是八根針都是全部使用的。它的每個針腳指承擔資料的收發工作,不用於其他目的。其主要存在於網路線的兩端以及各網路乙太網路設備上。它只是一個插口,沒有任何邏輯控制的智慧在裡面,因此其向後連接的就是PHY晶片。
PHY是實體介面收發器,是網路卡用來實作物理層的元件。 IEEE-802.3標準定義了乙太網路PHY,包括MII/GMII(介質獨立介面)子層,PCS(物理編碼子層),PMA(物理介質附加)子層,PMD(物理介質相關)子層,MDI子層。其內部也是一個構造十分複雜的精密的部件。 PHY在傳送資料的時候,收到MAC過來的資料(對PHY來說,沒有幀的概念。對它來說,都是資料而不管什麼位址,資料還是CRC。對於100BaseTX因為使用4B/5B編碼,每4bit就增加1bit的檢錯碼),然後把並行數據轉換為串行流數據,再按照物理層的編碼規則把數據編碼,再變為模擬信號把數據送出去,收數據時的流程反之。 PHY還有一個重要的功能就是實現CSMA/CD的部分功能。它可以偵測到網路上是否有資料在傳送,如果有資料在傳送中就等待,一旦偵測到網路空閒,再等待一個隨機時間後就會送資料出去。如果兩個碰巧同時送出了數據,那必將造成衝突,這時候,衝突偵測機制就可以偵測到衝突,然後各等待一個隨機的時間重新傳送資料。這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重演算法來應付出現機率很低的同兩台主機之間的第二次衝突。
比較關鍵的是,RJ45和PHY之間並不在一起。也就是說,我們通常看到的網線,其頭部的RJ45都不包括PHY晶片。 因此,在主機板的設計上,RJ45和PHY之間是有一段傳輸距離的。就是設計Bypass的關鍵。
隔離變壓器的作用是把PHY送出來的差分訊號用差模耦合的線圈耦合濾波以增強訊號,並且透過電磁場的轉換耦合到連接網路線的另外一端。這樣不但使網路線和PHY之間沒有實體上的連接而換傳遞了訊號,隔間了訊號中的直流分量,還可以在不同0V電平的設備中傳送資料。隔離變壓器設計為2KV~3KV電壓,同時也具有防雷感應保護功能。有些朋友的網路設備在雷雨天氣時容易被燒壞,大都是PCB設計不合理造成的,而且大都燒毀了設備的接口,很少有芯片被燒毀的,就是隔離變壓器起到了保護芯片作用。
而MAC晶片稱為媒體存取控制器,用於實現MAC即Media Access Control,媒體存取控制子層協定的晶片控制器。該協定位於OSI七層協定的資料鏈結層的下半部分,主要承擔控制和連接物理層的實體介質的任務。此層協定是乙太網路MAC由IEEE-802.3乙太網路標準定義。乙太網路資料鏈結層其實包含MAC(介質存取控制)子層和LLC(邏輯鏈路控制)子層。一塊乙太網路卡MAC晶片的作用不但要實現MAC子層和LLC子層的功能,還要提供符合規範的PCI或PCIE介面以實現和主機的資料交換。如下圖所示:
而PHY和MAC晶片之間透過MII匯流排連起來實現通訊。後面的網路卡元件就跟我們實現Bypass功能沒任何關係了。現在的網路卡已經實現了將PHY晶片和MAC晶片在同一塊晶片上實現。換句話說,在主機板上連接乙太網路介面的晶片,可能是同時具備PHY晶片和MAC晶片功能的網路控制器。我們可以在了解了上述概念後,探討Bypass是如何利用PHY和乙太網路介面之間的傳輸路徑的。
在圖中間插入一個乙太網路口電路子板,然後將該子板連接到Bypass控制器,可以接收開關的控制訊號。
乙太網路口電路子板內部包含兩個元件:繼電器(電子開關)和變壓器。
因此更細節一點的架構就是下圖所示的結構:
我們可以看到,在每個PHY晶片和乙太網路介面之間,都存在一個變壓器和一個繼電器,這兩個設備就是Bypass的具體執行者。其中,繼電器可以只是簡單的電子電路開關控制器,例如電子開關。 Bypass控制器提供繼電器控制訊號,兩個繼電器經由控制電路受控制訊號的控制。當我們的工業防火牆運作正常時,軟體使控制訊號有效,兩個繼電器的開關處於正常狀態,即開關的閥門是向上閉合的,即實現了變壓器與RJ45(乙太網路介面)的導通。
當我們的工業防火牆故障時或掉電時,兩個繼電器的開關都跳撥到連個繼電器互聯的那個開關上,使RJ45與工業防火牆斷開,但兩個繼電器之間連通,以使得兩個RJ45之間連通。這樣就使得工業防火牆上的內外網路介面在物理上直連。
明白了下層的操作方式之後,我們再來看Bypass如何來進行觸發,現目前的Bypass觸發方式,都是透過Bypass控制器下發控制指令而實現Bypass功能。 Bypass控制器收到以下3種情況而下發控制指令:
(1)透過電源觸發。這種方式下,一般是在設備沒有通電的情況下,Bypass功能打開,設備一旦通電,Bypass立即調整為正常工作狀態。
(2)由GPIO (通用輸入/輸出埠)來控制。在進入作業系統後,可以透過GPIO對特定的連接埠操作,從而實現對Bypass開關的控制。
(3)由Watchdog (看門狗)來控制。這種情況實際上是對方式2的一種延伸應用,可以透過Watchdog來控制GPIOBypass程式的啟用與關閉,從而實現對Bypass狀態的控制。使用這種方式,當系統宕機時可以由Watchdog來開啟Bypass。
現目前,Bypass功能的實現一般同時在設備上實現第一種和第二種,有時候三種也同時在同一設備上實現。如果設備未通電,若要實現Bypass功能,則需要同時供電給網卡和繼電器。
基於此,在啟用Bypass的乙太網路、現場匯流排及485匯流排(如果有的話)都需要有與主電源隔離的額外電源。
以上是工業防火牆架構與技術中的硬體架構是怎麼樣的的詳細內容。更多資訊請關注PHP中文網其他相關文章!