国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ZYNQ 的萬兆以太網(wǎng)流信息統(tǒng)計架構

2023-03-10 01:41:12蔡鷗劉一清
電子設計工程 2023年5期
關鍵詞:萬兆流表以太網(wǎng)

蔡鷗,劉一清

(華東師范大學通信與電子工程學院,上海 200241)

隨著互聯(lián)網(wǎng)技術的不斷進步,網(wǎng)絡速率不斷提升,萬兆以太網(wǎng)接口已經(jīng)成為了核心網(wǎng)的主流設備接口[1-4],更高的吞吐量帶來了更嚴峻的安全挑戰(zhàn)[5]。為了減少高吞吐量的萬兆以太網(wǎng)鏈路中的數(shù)據(jù)異常以及網(wǎng)絡攻擊帶來的損失,需要對鏈路中的網(wǎng)絡流的信息有極深的了解,知道每一包數(shù)據(jù)的來源和目的,知道鏈路的數(shù)據(jù)量和數(shù)據(jù)速率,對流量歷史數(shù)據(jù)進行整理[6-7],以此對該條鏈路進行全面可靠的管理。此時,高性能的萬兆以太網(wǎng)流信息統(tǒng)計架構就顯得尤為重要。

ZYNQ-Ultrascale+是Xilinx 公司推出的MPSoC(Multi-ProcessorSystem onChip)芯片,其內(nèi)部可分為PL(Programmable Logic)以及PS(Procressing System)兩部分。PL 端集成了現(xiàn)場可編程陣列(Field-Programmable Gate Array,F(xiàn)PGA),而在PS 端包含多核ARM Cortex-A53 處理器。這種結(jié)構保證了PL 和PS之間的高速連接,可以快速處理萬兆以太網(wǎng)數(shù)據(jù)并進行反饋[8-10]。

該架構采用了ZYNQ-Ultrascale+器件來管理萬兆以太網(wǎng)的數(shù)據(jù)包,能夠處理達到萬兆線速的網(wǎng)絡數(shù)據(jù)包,并且具有低延時、高吞吐的特點[11-12]。

1 系統(tǒng)設計

所設計萬兆以太網(wǎng)流信息統(tǒng)計架構如圖1 所示,分為PS 和PL 兩個部分。其中,PL 部分主要包括了Xilinx 的萬兆以太網(wǎng)子系統(tǒng)IP 核(10G Ethernet Subsystem)、包頭檢測與校驗模塊(Packet Detection and Checking)、包頭卸載模塊(Packet Offload)、流表控制模塊(Flow Table Control)、流表建立模塊(Flow Table Establish)、流表統(tǒng)計模塊(Flow Table Statistics)、網(wǎng)絡包數(shù)據(jù)統(tǒng)計模塊(Packet Data Statistics)以及組包模塊(Packet Buliding)。PS 部分主要包含了流表信息計算與分析模塊(Flow Table Calculation and Analysis)以及網(wǎng)絡包數(shù)據(jù)分析模塊(Packet Data Analysis)。

圖1 總體結(jié)構圖

該架構中有兩個光口,其中一個光口OP1 接入到網(wǎng)絡鏈路的鏡像端口,通過鏡像端口輸入該網(wǎng)絡鏈路的所有網(wǎng)絡數(shù)據(jù),通過Xilinx 的萬兆以太網(wǎng)子系統(tǒng)IP 核將數(shù)據(jù)解析成為AXI4-Stream 類型的數(shù)據(jù),再通過后續(xù)的包頭檢測與校驗模塊驗證網(wǎng)絡數(shù)據(jù)包的合法性,包頭卸載模塊將數(shù)據(jù)包的包頭信息和數(shù)據(jù)信息進行分離,同時將包頭中的五元組信息——協(xié)議、源IP 地址、目的IP 地址、源端口、目的端口組裝成為流信息,將所有相同五元組信息視為同一個流,來進行后續(xù)流信息的統(tǒng)計與管理。網(wǎng)絡流信息大大減少了網(wǎng)絡數(shù)據(jù),方便了后續(xù)處理[13]。流信息通過流表控制模塊進行匹配,如果是未記錄的流則新建流表表項,如果是已記錄的流則進行流表的更新統(tǒng)計。更新的流表以及網(wǎng)絡數(shù)據(jù)包的數(shù)據(jù)部分交由PS 部分的流表信息計算與分析模塊以及網(wǎng)絡包數(shù)據(jù)分析模塊對以太網(wǎng)流信息進行統(tǒng)計分析,包括計算數(shù)據(jù)速率,統(tǒng)計流表表項,統(tǒng)計網(wǎng)絡數(shù)據(jù)總量,各個協(xié)議的吞吐量等。

另一個光口OP2 連接至管理網(wǎng)絡鏈路中,用戶可以通過OP2 控制流信息的統(tǒng)計方式以及查看OP1以太網(wǎng)鏈路的統(tǒng)計結(jié)。

2 功能模塊設計

2.1 萬兆以太網(wǎng)子系統(tǒng)IP核

該架構使用的萬兆以太網(wǎng)子系統(tǒng)IP 核為Xilinx公司推出的10G以太網(wǎng)MAC(Media Access Controller)層和物理層的解析方案,該IP 核支持IEEE 802.3 標準以太網(wǎng)協(xié)議,其中還定義了PCS(Physical Coding Sublayer)子層的64B/65B 編解碼。該IP 核的物理層主要完成了數(shù)據(jù)的編解碼、串化和解串、信號的放大、調(diào)制和整型;MAC 層主要完成了幀定界、同步、尋址、錯誤檢測、沖突處理等任務[14]。

通過使用萬兆以太網(wǎng)子系統(tǒng)IP 核,可以將10GBASE-R 標準的以太網(wǎng)數(shù)據(jù)流與內(nèi)部可處理的64 位AXI4-Stream 數(shù)據(jù)格式進行轉(zhuǎn)換[15],具體的數(shù)據(jù)時序如圖2 所示。當有外部萬兆以太網(wǎng)數(shù)據(jù)包進入到ZYNQ 芯片,IP 核會將tvalid 信號拉高來表示有數(shù)據(jù)到來,有效的以太網(wǎng)數(shù)據(jù)將會在tdata[63:0]信號上傳輸,同時tkeep[7:0]信號會在數(shù)據(jù)傳輸過程中持續(xù)全部拉高。當一幀以太網(wǎng)數(shù)據(jù)全部傳輸完成,則會在最后一個時鐘拉高tlast 信號,同時tkeep[7:0]信號的每一位會根據(jù)最后tdata 信號的有效位相應拉高。如最后一個時鐘只有tdata[7:0]的數(shù)據(jù)有效,則只有tkeep[0]拉高,其他位均拉低。

圖2 AXI4-Stream數(shù)據(jù)時序

2.2 包頭檢測與校驗模塊

該模塊主要將IP 核輸入的AXI4-Stream 格式的以太網(wǎng)數(shù)據(jù)進行協(xié)議檢測,并且根據(jù)相應的協(xié)議進行網(wǎng)絡層校驗。網(wǎng)絡層的具體校驗過程為:將其中校驗和置0,將所有IP 首部以16 位為單位組成的數(shù)字二進制相加,并且將全部相加得到的高16 位數(shù)字加到低16 位上,將最后得到的數(shù)字二進制取反即可得到傳輸正確的校驗和[16]。該模塊主要保證了進行統(tǒng)計的是傳輸有效的以太網(wǎng)數(shù)據(jù)包。

2.3 包頭卸載模塊

該模塊主要將傳輸正確的以太網(wǎng)數(shù)據(jù)包的包頭信息以及數(shù)據(jù)部分分離。其中包頭信息包括了MAC 層頭部的源MAC 地址、目的MAC 地址以及網(wǎng)絡層頭部的源IP 地址、目的IP 地址、源端口、目的端口;數(shù)據(jù)部分指的是以太網(wǎng)數(shù)據(jù)包應用層以上的數(shù)據(jù)。經(jīng)過包頭卸載模塊,將分離出來的五元組作為同一個流的判斷標準交給流表控制模塊進行判斷,將分離的數(shù)據(jù)部分交給網(wǎng)絡包數(shù)據(jù)統(tǒng)計模塊進行統(tǒng)計。

2.4 流表控制模塊

該模塊主要將包頭卸載模塊中的五元組信息,與現(xiàn)有的五元組流表進行匹配。五元組中只要有一個元素不匹配即為一條新的流,每一條流代表的即是一臺主機的一個端口發(fā)送至另一臺主機相同端口的所有數(shù)據(jù)的集合。為了提高匹配的速率,減小統(tǒng)計延時,采用了并行子塊的方式,將3 200 條流表分成了100 個子塊進行匹配。每個子塊最高存儲32 條流表,并且采用橫向存儲的方式,具體的存儲順序為子塊0→子塊1→……→子塊0→子塊1→……,保證了每個子塊的匹配深度大致相同,進一步提高匹配的效率。通過匹配流的五元組信息,如果是新的流則后續(xù)交給流表建立模塊進行流表更新,如果是已有的流,則交給流表統(tǒng)計模塊進行該流的包數(shù)統(tǒng)計。

2.5 流表建立模塊

該模塊完成了新流的建立以及流表的更新,新流的數(shù)據(jù)格式如圖3 所示,其中源MAC 地址和目的MAC 地址為48 位,不作為流表統(tǒng)計的匹配元素。8位協(xié)議、16 位源端口、16 位目的端口、32 位源IP 地址和32 位目的IP 地址作為匹配的關鍵元素。24 位時間戳是在器件上電之后該流進入流表控制模塊的最新時間,單位為秒,時間戳是用來判斷是否要主動刪除過久沒有數(shù)據(jù)包的流。包數(shù)則是用來統(tǒng)計該流總共的以太網(wǎng)數(shù)據(jù)包數(shù)。

圖3 流數(shù)據(jù)格式

2.6 流表統(tǒng)計模塊

該模塊主要將流表控制模塊的匹配流進行包數(shù)統(tǒng)計。這里主要將已存在流的包數(shù)進行計數(shù)并且更新最新流的時間戳,同時也對流表中過期的流進行刪除,流表中表項的生存時間設置為7 天,7 天之內(nèi)沒有任何該流的數(shù)據(jù)包到來則認為該流過期,進行刪除。

2.7 網(wǎng)絡包數(shù)據(jù)統(tǒng)計模塊

該模塊主要將包頭卸載模塊的網(wǎng)絡數(shù)據(jù)部分進行緩存并統(tǒng)計該包數(shù)據(jù)的字節(jié)數(shù)。其中緩存部分用DDR4 存儲器進行,DDR4 的讀寫速率為2 666 Mb/s,同時緩存1 000 包的網(wǎng)絡數(shù)據(jù),并可交由網(wǎng)絡包數(shù)據(jù)分析模塊進行后續(xù)處理。

2.8 流表信息計算與分析模塊

該模塊主要將建立的流表進行計算與分析。經(jīng)過流表建立模塊和流表統(tǒng)計模塊后獲得最新的流表,可以在PS 部分進行數(shù)據(jù)整合以及分析,具體分析結(jié)果包括某一條流的包數(shù),特定協(xié)議的流的個數(shù),TCP 的同步、握手包包數(shù),接收數(shù)據(jù)最多的目的IP 地址,發(fā)送數(shù)據(jù)最多的源IP 地址以及系統(tǒng)時間等等。

2.9 網(wǎng)絡包數(shù)據(jù)分析模塊

該模塊主要對以太網(wǎng)數(shù)據(jù)包數(shù)據(jù)部分進行分析,可以計算出網(wǎng)絡數(shù)據(jù)包的實時速率,以及系統(tǒng)上電以來的數(shù)據(jù)總數(shù),并且可以對部分應用層協(xié)議進行初步解析,包括DNS、HTTP、HTTPS,可以解析出域名網(wǎng)址、請求類型等參數(shù)。

2.10 組包模塊

該模塊主要將流表信息計算與分析模塊以及網(wǎng)絡包數(shù)據(jù)分析模塊的結(jié)果合并為數(shù)據(jù)流,并且加上管理主機的MAC 地址、IP 地址、端口,同時再進行校驗和計算,以此構建成AXI4-Stream 格式的合法以太網(wǎng)數(shù)據(jù)包交付給后續(xù)萬兆以太網(wǎng)子系統(tǒng)IP 核通過OP1 來發(fā)送給管理鏈路,供管理人員進行查看。

3 應用案例

接下來以實際的“萬兆以太網(wǎng)監(jiān)控系統(tǒng)”為例來介紹設計的架構如何進行應用。圖4 展示了監(jiān)控系統(tǒng)的應用示意圖,包含了兩臺通信主機、一臺萬兆以太網(wǎng)監(jiān)控系統(tǒng)、一臺管理主機。其中監(jiān)控系統(tǒng)采用的就是所設計的基于ZYNQ 的萬兆以太網(wǎng)流信息統(tǒng)計架構。所用的核心芯片型號為ZYNQ-Ultrascale+系列的XCZU7EG 芯片。監(jiān)控系統(tǒng)主要管理通信主機1 至通信主機2 之間的網(wǎng)絡鏈路,通過OP1 進行以太網(wǎng)數(shù)據(jù)輸入,再通過所述架構的工作,從OP2 將管理結(jié)果傳輸至管理主機進行查看,完成了對于以太網(wǎng)鏈路的監(jiān)控,確保了以太網(wǎng)環(huán)境的可控性。

圖4 萬兆以太網(wǎng)監(jiān)控系統(tǒng)應用示意圖

通信主機1 與通信主機2 的網(wǎng)絡鏈路正常進行數(shù)據(jù)交互,并將所有以太網(wǎng)數(shù)據(jù)復制一份至監(jiān)控系統(tǒng)的OP1。當OP1 監(jiān)測到以太網(wǎng)數(shù)據(jù),監(jiān)控系統(tǒng)內(nèi)部根據(jù)所述架構中PL 部分的萬兆以太網(wǎng)子系統(tǒng)IP核、包頭檢測與校驗模塊、包頭卸載模塊將合法的以太網(wǎng)數(shù)據(jù)包解析成為五元組信息以及數(shù)據(jù)信息。五元組信息通過流表控制模塊、流表建立模塊、流表統(tǒng)計模塊構建實時的流表最后交由PS 部分的流表信息計算與分析模塊分析出感興趣的結(jié)果。數(shù)據(jù)信息通過網(wǎng)絡包數(shù)據(jù)統(tǒng)計模塊統(tǒng)計包的字節(jié)數(shù)再交由PS 部分的網(wǎng)絡包數(shù)據(jù)分析模塊計算出數(shù)據(jù)速率。最后,將所有計算結(jié)果通過組包模塊、萬兆以太網(wǎng)子系統(tǒng)IP 核封裝成標準以太網(wǎng)數(shù)據(jù)包由OP2 發(fā)送至管理主機。

4 測試及驗證

圖5 上邊為測試系統(tǒng)實物圖,包含了(從左往右)兩臺通信主機、一臺萬兆以太網(wǎng)監(jiān)控系統(tǒng)、一臺本地管理主機、一臺遠程管理主機。其中萬兆以太網(wǎng)監(jiān)控系統(tǒng)如圖5 所示,下邊正插在本地管理主機上。

圖5 測試系統(tǒng)實物圖

4.1 協(xié)議統(tǒng)計測試

協(xié)議統(tǒng)計測試主要測試在通信主機1 與通信主機2 正常通信時,流量統(tǒng)計架構能否將各個協(xié)議的字節(jié)數(shù)和包數(shù)統(tǒng)計出來。

為了保證統(tǒng)計的萬兆以太網(wǎng)數(shù)據(jù)可控[17-18],可以直接觀察統(tǒng)計架構的正確性,人為控制通信主機1發(fā)送如圖6 所示的各個協(xié)議數(shù)據(jù)包,并按照ARP、ICMP、TCP、UDP 的包數(shù)為1∶1∶1∶4 的比例進行發(fā)送,其中TCP、UDP 的數(shù)據(jù)總量的比例也接近1∶4??梢钥吹阶詈蟮慕y(tǒng)計結(jié)果與發(fā)送數(shù)據(jù)的預期一致,說明了流量統(tǒng)計架構的可行性,并且能夠支持ARP、ICMP、TCP、UDP 等協(xié)議包的管理監(jiān)測。

圖6 協(xié)議統(tǒng)計測試結(jié)果

4.2 流表統(tǒng)計測試

流表統(tǒng)計測試主要測試通信主機1 與通信主機2 正常通信時,流量統(tǒng)計架構能否準確地分辨每一條流,并對不同流進行統(tǒng)計。

如圖7 所示,通信主機1 發(fā)送源IP 地址、目的IP地址、源端口固定,但目的端口從5 600 遞增的以太網(wǎng)數(shù)據(jù)包各10 包,可以看到最后的統(tǒng)計結(jié)果,將流的五元組以及包數(shù)準確地統(tǒng)計出來,支持了3 100 條數(shù)據(jù)記錄,統(tǒng)計延遲僅為703 μs,可以支持高吞吐量的以太網(wǎng)數(shù)據(jù)鏈路。

圖7 流表統(tǒng)計測試結(jié)果

4.3 應用層分析測試

應用層分析測試主要測試流量統(tǒng)計架構對于應用層數(shù)據(jù)各個參數(shù)的分析結(jié)果。測試結(jié)果如圖8 所示,可以看到,流量統(tǒng)計架構解析除了HTTP 協(xié)議的請求類型、主機域名、狀態(tài)代碼等信息。說明流量統(tǒng)計架構能夠?qū)σ蕴W(wǎng)數(shù)據(jù)的應用層的數(shù)據(jù)部分進行分析。

圖8 應用層分析測試結(jié)果

5 結(jié)束語

為了解決高流量數(shù)據(jù)通路的管理問題,提出了一種基于ZYNQ 的萬兆以太網(wǎng)流量統(tǒng)計架構,通過將萬兆以太網(wǎng)數(shù)據(jù)包進行卸載分離,并行處理包頭信息和數(shù)據(jù)信息,交給后續(xù)模塊進行統(tǒng)計分析。將所述架構應用于“萬兆以太網(wǎng)監(jiān)控系統(tǒng)”,經(jīng)測試該監(jiān)控系統(tǒng)功能完善,并且能夠支持多種協(xié)議統(tǒng)計以及高吞吐鏈路統(tǒng)計。

猜你喜歡
萬兆流表以太網(wǎng)
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設計與實現(xiàn)
基于時序與集合的SDN流表更新策略
基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
電子測試(2018年21期)2018-11-08 03:09:34
簡析yangUI流表控制
軟件定義網(wǎng)絡中一種兩步式多級流表構建算法
高速公路萬兆環(huán)網(wǎng)建設探析
談實時以太網(wǎng)EtherCAT技術在變電站自動化中的應用
電子制作(2017年24期)2017-02-02 07:14:44
一種基于FPGA的萬兆光纖以太網(wǎng)高速傳輸方法
雷達與對抗(2015年3期)2015-12-09 02:38:54
一種90W高功率以太網(wǎng)供電系統(tǒng)的設計
電源技術(2015年7期)2015-08-22 08:48:48
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應用
长泰县| 南昌县| 石柱| 临潭县| 加查县| 鄢陵县| 华安县| 科技| 凤阳县| 武山县| 博白县| 承德县| 钟祥市| 城市| 淮安市| 新津县| 沁水县| 呼玛县| 商丘市| 修文县| 高邑县| 临猗县| 大关县| 蓬溪县| 固始县| 广宗县| 平安县| 广丰县| 讷河市| 深水埗区| 会同县| 清苑县| 德州市| 太保市| 诸暨市| 楚雄市| 历史| 六安市| 庐江县| 普陀区| 梨树县|