?

基于以太網接口的安全傳輸系統設計

2023-05-29 09:23馬建鵬喻崇仁王施人侯春雷
電子技術與軟件工程 2023年7期
關鍵詞:狀態機空閑以太網

馬建鵬 喻崇仁 王施人 侯春雷

(北京計算機技術及應用研究所 北京市 100039)

互聯網絡技術的迅猛發展,給人們的工作和生活帶來了很多便利[1]。然而,由于TCP/IP 協議發展初期,受制于應用場景、技術設備條件等,缺乏安全性考量,導致通過網絡傳輸的信息面臨泄露、冒充與篡改等安全風險[2]。

傳統基于軟件的網絡數據加密方案,在高速網絡數據傳輸時,帶來了較大的CPU 運算負擔,甚至可能影響常規的業務事務處理?;贔PGA 的網絡數據安全傳輸設計,在解放CPU 算力的同時,借助FPGA 豐富的IO 與邏輯等資源,帶來了更多設計靈活性,以及更多的可擴展空間[3]。

1 系統設計

1.1 系統硬件平臺

本系統使用處理器+FPGA 的硬件架構。其中,FPGA 選用美國Xilinx 公司Kintex-7 系列FPGA[4];處理器選用龍芯中科技術股份有限公司的2K1000 處理器[5];千兆以太網PHY 選用裕太微電子股份有限公司的YT8511 系列芯片[6]。

1.2 系統詳細設計

本系統由處理器軟件與FPGA 邏輯兩部分構成,如圖1 所示。其中,處理器軟件主要完成應用數據的事務處理;FPGA 邏輯完成收發數據的鏈路層、IP 層與傳輸層協議[7]處理、應用數據的加解密處理,以及與處理器軟件的傳輸通信。

圖1:系統詳細設計

1.2.1 鏈路層設計

鏈路層完成TCP/IP 協議棧鏈路層相關功能,主要包括以太網MAC IP核、MAC接收緩存、MAC發送緩存、以太網MAC IP 核參數控制、接收控制、ARP 控制、發送控制、IP 包發送緩存等模塊。

1.2.1.1 以太網MAC IP 核模塊以太網MAC IP 核模塊主要完成以太網鏈路層與物理層的快速接入。本模塊是一個實例化的TEMAC 核,被配置成1Gbps 的最高接口速率,RGMII 的PHY 接口,自適應的三速匹配模式,以及配置矢量的管理類型。

1.2.1.2 MAC 接收緩存模塊

MAC 接收緩存模塊對來自以太網MAC IP 核模塊的數據進行接收緩存以及跨時域轉換,是一個實例化的AXI4-Stream Data FIFO IP 核。

1.2.1.3 MAC 發送緩存模塊

MAC 發送緩存模塊對發往以太網MAC IP 核模塊的數據進行發送緩存以及跨時域轉換,是一個實例化的AXI4-Stream Data FIFO IP 核。

1.2.1.4 以太網MAC IP 核參數控制模塊

以太網MAC IP 核參數控制模塊主要完成對以太網PHY 芯片的復位,以及以太網MAC IP 核模塊配置矢量的生成。

以太網MAC IP 核參數控制模塊在上電與重連后生成滿足以太網PHY 芯片手冊要求的復位時序;通過MDIO 接口讀取以太網PHY 芯片連接參數,并生成塊配置矢量。

1.2.1.5 接收控制模塊

接收控制模塊在接收控制狀態機的控制下,完成報文幀頭解析與數據分發。接收控制狀態機如圖2 所示。

圖2:接收控制狀態機

狀態機在空閑狀態,接收到來自MAC 接收緩存模塊的data_valid 信號后,進入接收以太網頭部狀態,并產生data_ready 信號,在該狀態下,接收并解析以太網頭部長度/類型字段,若為IP 類型,則進入轉發IP 數據狀態;若為ARP 類型,則進入轉發ARP 數據狀態;若為其它值,則進入處理其它數據狀態。在轉發IP 數據狀態、轉發ARP 數據狀態或處理其它數據狀態,完成數據轉發,則進入接收完成狀態;并在一個時鐘周期后,進入空閑狀態。

1.2.1.6 ARP 控制模塊

ARP 控制模塊維護一個IP 地址-MAC 地址映射表,完成IP 地址到MAC 地址的遍歷匹配,以及ARP 請求幀與響應幀的生成。

對IP 地址-MAC 地址映射表的每一個映射對都進行了編號。匹配成功時,將匹配的映射對編號設置為0,并更新其它編號。匹配失敗并獲取新的映射關系時,采用LRU 更新策略,將最編號最大的映射對進行替換,設置其編號為0,并更新其它編號。

IP 地址到MAC 地址的遍歷匹配過程在MAC 匹配控制狀態機的控制下進行,如圖3 所示。

圖3:MAC 匹配控制狀態機

在空閑狀態時,接收到MAC 匹配請求后,進入IP地址匹配狀態,進行IP 地址-MAC 地址的遍歷匹配,若匹配成功,則完成此次匹配過程,回到空閑狀態;若匹配失敗,則進入等待ARP 請求包發送完成狀態,進行ARP 請求幀的生成與傳輸。在等待ARP 請求包發送完成狀態,若收到ARP 請求幀傳輸完成信號,則進入獲取ARP 響應包狀態;若收到超時信號,則進入ARP請求超時狀態。在獲取ARP 響應包狀態,若收到MAC匹配成功信號,則進入MAC 地址獲取成功狀態;若收到超時信號,則進入ARP 請求超時狀態。在MAC 地址獲取成功狀態,收到MAC 地址使用完成信號,則進入空閑狀態,完成此次匹配過程。

ARP 請求幀與響應幀的生成過程在ARP 傳輸控制狀態機的控制下進行,如圖4 所示。

圖4:ARP 傳輸控制狀態機

ARP 傳輸控制狀態機在空閑狀態,接收到ARP 請求幀發送請求后,進入ARP 請求幀發送確認狀態,并在一個時鐘周期后進入ARP 請求幀發送狀態,開始ARP 請求幀的生成與傳輸;在ARP 請求幀發送狀態,接收到ARP請求幀傳輸完成信號后,進入發送完成狀態。ARP 傳輸控制狀態機在空閑狀態,接收到ARP 請求幀接收信號后,進入ARP 響應幀發送確認狀態,并在一個時鐘周期后進入ARP 響應幀發送狀態,開始ARP 響應幀的生成與傳輸;在ARP 響應幀發送狀態,接收到ARP 響應幀傳輸完成信號后,進入發送完成狀態。在發送完成狀態,一個時鐘周期后進入空閑狀態。

1.2.1.7 發送控制模塊

發送控制模塊在發送控制狀態機的控制下,完成以太網幀的傳輸。發送控制狀態機如圖5 所示。

圖5:發送控制狀態機

發送控制狀態機在空閑狀態,接收到MAC 地址匹配超時信號與緩存full 信號后,進入丟棄緩存數據狀態,進行緩存數據的清除處理再接收到丟棄完成信號,進入空閑狀態。在空閑狀態,接收到MAC 地址匹配成功信號與緩存full 信號,進入發送緩存數據以太網頭部狀態,完成以太網頭部的生成與傳輸后,進入發送緩存數據狀態,待緩存數據傳輸完成后,進入空閑狀態。在空閑狀態,接收到IP 數據就緒信號后,進入獲取MAC 地址狀態,若接收到MAC 地址匹配失敗信號且緩存不滿,進入緩存IP 數據狀態,并在完成緩存后回到空閑狀態;若接收到MAC 地址匹配成功信號,進入發送IP 數據以太網頭部狀態,完成以太網頭部的生成與傳輸后,進入發送IP 數據狀態,并在完成傳輸后回到空閑狀態。在空閑狀態,接收到ARP 數據就緒信號后,進入發送ARP 數據狀態,并在完成傳輸后回到空閑狀態。

1.2.1.8 IP 包發送緩存模塊

IP 包發送緩存模塊對來自IP 層功能模塊的發送數據進行臨時緩存,是一個實例化的AXI4-Stream Data FIFO IP 核。

1.2.2 IP 層設計

IP 層完成TCP/IP 協議棧IP 層相關功能,主要包括IP 層接收控制、ICMP 控制、IP 層發送緩存和IP 事務處理控制等模塊。

1.2.2.1 IP 層接收控制模塊

IP 層接收控制模塊在IP 層接收控制狀態機的控制下,完成IP 包的解析與數據分發。IP 層接收控制狀態機如圖6 所示。

圖6:IP 層接收控制狀態機

IP 層接收控制狀態機在空閑狀態,接收到數據有效信號進入接收IP 頭部狀態,并在頭部完成接收后,進入IP 有效性檢查狀態,對IP 頭部進行合規性檢測。在IP 有效性檢查狀態,若IP 頭部字段值不合規,則回到空閑狀態;若協議類型字段為UDP,則進入轉發UDP數據狀態,并在完成轉發后,進入轉發完畢狀態;若協議類型字段為ICMP,則進入轉發ICMP 數據狀態,并在完成轉發后,進入轉發完畢狀態;若協議類型字段為其他值,則進入轉發其它數據狀態,并在完成轉發后,進入轉發完畢狀態。在轉發完畢狀態,一個時鐘周期后,回到空閑狀態。

1.2.2.2 ICMP 控制模塊

ICMP 控制模塊主要完成ICMP 回顯請求報文的接收解析與ICMP 回顯響應報文的生成,由ICMP 接收緩存、ICMP 發送緩存與ICMP 傳輸控制邏輯組成。ICMP控制模塊在完成ICMP 回顯請求報文的接收解析后,根據請求報文數據內容生成ICMP 回顯響應報文。

1.2.2.3 IP 層發送緩存模塊

IP 層發送緩存模塊對來自IP 層功能模塊的發送數據進行緩存,是一個實例化的AXI4-Stream Data FIFO IP 核。

1.2.2.4 IP 事務處理控制模塊

IP 事務處理控制模塊主要完成數據的IP 協議封裝與解析,即對來自鏈路層的網絡接收數據進行IP 協議頭部的去除,以及對來自傳輸層的待傳輸網絡數據進行IP 協議頭部的生成。

1.2.3 傳輸層設計

傳輸層完成TCP/IP 協議棧傳輸層相關功能,主要由UDP 事務處理控制模塊構成。

UDP 事務處理控制模塊主要完成應用數據的分片,以及特定端口號數據的UDP 協議封裝與解析,即對來自應用層的數據按照最大路徑傳輸長度進行分片處理并對分片數據進行UDP 數據包的生成,對來自IP 層的網絡接收數據進行UDP 協議頭部的緩存與UDP 協議數據的傳輸。

1.2.4 應用層設計

應用層完成TCP/IP 協議棧應用層相關功能,包括應用數據加解密模塊、處理器接口控制模塊與應用事務處理控制軟件。

1.2.4.1 應用數據加密模塊

應用數據加密模塊對來自傳輸層的數據使用SM4算法[8]進行解密轉發處理,以及對來自處理器接口控制模塊的數據使用SM4 算法進行加密處理。

1.2.4.2 處理器接口控制模塊

處理器接口控制模塊完成對PCIe 接口數據的收發控制與DMA 傳輸控制,以及收發數據的緩存控制。本模塊是一個實例化的XDMA 核。

1.2.4.3 應用事務處理控制軟件

應用事務處理控制軟件完成分片數據的重組,以及實際的業務處理。

2 測試與分析

2.1 測試環境

系統測試通過調試計算機進行,如圖7 所示。調試計算機與系統硬件通過網線相連。

圖7:測試平臺

調試計算機為x86 架構,運行Win7 操作系統,IP地址為192.168.1.221,通過CMD 命令或網絡調試助手軟件產生測試激勵,通過WireShark 軟件或網絡調試助手軟件觀察系統輸出結果。

2.2 測試結果與分析

ping 命令測試,即在命令行界面,通過使用ping命令,產生ICMP 回顯請求報文,并期待ICMP 回顯響應報文。測試過程如圖8 所示。

調試計算機執行ping 命令后,產生ARP 請求幀用以獲取IP 目的地址對應的MAC 地址。調試計算機得到合規的ARP 響應幀后,產生ping 命令對應的ICMP 回顯請求報文。調試計算機得到合規的ICMP 回顯響應報文后,完成一輪交互。由圖8 可知,系統通過ping 命令測試。

應用事務測試,即通過網絡調試助手軟件產生UDP測試報文,并期待系統處理后的UDP 響應報文。測試過程如圖9 所示。

圖9:應用事務測試

系統接收到測試激勵后,提取UDP 報文數據,進行解密處理后,交由處理器進行事務處理;接收到處理器數據后,進行加密處理,再回復調試計算機。由圖9可知,系統完成對應用事務的處理測試。

3 總結

本文在深入分析研究TCP/IP 協議和網絡安全控制技術的基礎上,提出并實現了基于以太網接口的安全傳輸系統,并通過了系統仿真和基于調試板卡的半實物驗證。測試表明,系統可以完成正常網絡協議交互,以及應用數據加解密處理功能。

猜你喜歡
狀態機空閑以太網
恩賜
基于1500以太網養豬場的智能飼喂控制系統的設計與實現
基于有限狀態機的交會對接飛行任務規劃方法
“鳥”字謎
談實時以太網EtherCAT技術在變電站自動化中的應用
一種90W高功率以太網供電系統的設計
淺談EPON與工業以太網在貴遵高速公路中的應用
FPGA設計中狀態機安全性研究
基于反熔絲FPGA的有限狀態機加固設計
基于VHDL的一個簡單Mealy狀態機
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合