999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向持久性連接的自適應擬態表決器設計與實現

2022-07-10 04:54:52周大成陳鴻昶程國振何威振商珂扈紅超
通信學報 2022年6期

周大成,陳鴻昶,程國振,何威振,商珂,扈紅超

(信息工程大學信息技術研究所,河南 鄭州 450001)

0 引言

網絡空間擬態防御(CMD,cyber mimic defense)[1]技術是一種內生安全的解決方案,通過動態異構冗余(DHR,dynamic heterogeneous redundancy)架構將難以觀測的未知漏洞后門引起的網絡威脅事件轉化為擬態表決器可以判別的差模擾動現象,從而達到發現并處置網絡威脅的目的。異構冗余執行體的架構和存在的漏洞具有差異性,經有效的異構執行體調度,共同漏洞出現的可能性顯著降低[2]。因此,一種特定的漏洞利用方法難以同時擾動所有的異構冗余執行體。而攻擊基于DHR 架構的軟件需同時擾動所有或大多數異構冗余的軟件執行體,其攻擊成功的概率顯著降低。

擬態表決器是DHR 架構安全輸出和異常檢測的關鍵組件,從異構的軟件執行體對同一攻擊的差異性響應出發,以大數判決[3-4]為基礎,通過交叉比較異構冗余的軟件執行體的行為特征確定是否存在網絡攻擊。為了提高DHR 架構下系統的安全性和可用性,研究者針對擬態表決方法展開了廣泛研究。文獻[5-7]從語義相似度分析出發,提出針對異構同義數據的表決方法,提高擬態表決器的環境適應性;文獻[8-9]從異構冗余執行體的歷史行為出發,提出基于統計的表決方法,給擬態表決器的多模逃逸問題提供解決思路;文獻[10-11]通過綜合分析表決過程中多個要素的特征,提出基于多目標決策的表決方法,進一步降低擬態表決器的虛警概率;文獻[12-13]基于異構冗余執行體的任務完成時間,設計優先表決輸出的方法,提高擬態表決器的性能。

但是,現有擬態表決方法普遍依賴異構冗余執行體的完整輸出數據。隨著基于HTTP 1.1 協議持久性連接傳輸數據的應用場景越來越多,如微服務中需要持久性連接來完成頻繁的應用程序接口(API,application program interface)調用[14]、流媒體以持久性連接提供不間斷的高效數據輸出[15],擬態表決器的設計面臨新的挑戰。HTTP 1.1 協議可通過持久性連接和分塊傳輸編碼技術完成數據流傳輸,客戶端可以通過一個TCP連接按序發送多個HTTP請求包,服務端可以將數據量較大或動態生成的數據以分塊傳輸編碼,形成多個HTTP 分塊報文,依次發送給客戶端,從而達到充分利用網絡帶寬、不間斷傳輸數據的目的。現有關于擬態表決方法的相關研究主要關注完整輸出內容下表決的準確性,通常采用以連接為單位的“連接內數據傳輸結束后再表決、轉發”的數據管理機制,即存儲持久性連接中異構冗余執行體輸出所有分塊數據并拼接成完整的輸出內容再對數據進行表決和轉發處理。為方便表述,本文記這種數據管理機制為CAC(collect all the transmission content in the connection)機制。CAC機制在處理HTTP 1.1 分塊報文時存在嚴重的問題:一方面,擬態表決器存儲異構冗余執行體在持久性連接中輸出的所有分塊報文需消耗大量內存資源;另一方面,擬態表決器對連續傳輸的分塊報文的阻塞處理會破壞數據傳輸的連續性,增大系統的響應時延。

為了解決上述問題,本文從分塊報文的動態性與擬態表決要求數據完整性的矛盾出發,通過自適應切分到達表決器的異構冗余執行體的分塊報文得到多個待表決的分塊報文塊(定義為表決塊),以滑動窗口的方式依次對表決塊進行動態表決與輸出,同時在數據持續傳輸過程中逐步釋放完成處理的表決塊,在持久性連接中保持數據傳輸的連續性并降低擬態表決器的內存消耗和處理時間。此外,本文基于分塊報文的特征,通過策略性選取適配表決塊長度范圍和數據類型的表決算法,避免不完整的分塊報文的表決不準確的問題。

本文的主要研究工作及貢獻如下。

1) 分析擬態表決器處理持久性連接的分塊報文流的過程及存在的問題,給出自適應擬態表決器的架構設計,提出同步開展數據存儲與表決的自適應擬態表決算法。

2) 針對自適應擬態表決器切分的數據不完整性帶來的表決準確性不高的問題,給出兼顧表決效率和準確性的表決算法選取策略。

3) 基于存貯理論[16]對自適應擬態表決器的數據收發過程進行建模分析,并提出基于存貯模型的自適應表決窗口控制策略,為分塊報文的表決塊切分操作提供最優方案。

4) 修改Nginx 源代碼實現自適應擬態表決器的原型系統,基于Web 服務器的分塊傳輸編碼傳輸數據的場景驗證所提方案的有效性。通過與傳統的擬態表決器的對比實驗可知,自適應擬態表決器在保證表決準確性的前提下可以降低內存開銷并提高表決效率。

1 研究背景

1.1 場景分析

DHR 架構如圖1 所示,輸入代理將輸入數據復制n份,并且分發給n個異構執行體構成的執行體集同時處理。表決器接收n個異構執行體的輸出數據,經表決得到相對正確的結果輸出,同時將表決異常的執行體記錄或上報。其中,執行體集由異構構件集合經動態選擇算法生成,并根據運行時的反饋信息動態更新。

圖1 DHR 架構

由圖1 可知,表決器對異構執行體輸出的數據進行表決處理,但是在持久性連接中傳輸分塊報文的場景中存在挑戰。本文搭建擬態Web 服務器[5]的實驗環境,配置Web 執行體以分塊傳輸編碼來傳輸20 MB的頁面資源。在通過擬態Web 服務器訪問該資源時,本文從表決器與3 個Web 執行體分別建立的持久性連接中分別抓取Web 執行體輸出的所有分塊傳輸的報文,并解析其長度和傳輸的時刻,得到3 個Web 服務執行體的分塊報文特征,如圖2 所示。從圖2 可以看到,執行體基于分塊傳輸編碼技術,將待傳輸的數據切分為一系列數據塊,以分塊報文的形式通過持久性連接依次發送出去。這一過程存在以下特點。

1) 傳輸時間長。由于傳輸的數據總量較大或者動態生成,其傳輸的時間較長,如圖2 中傳輸的總時長為1.631 4~2.124 s。

2) 各個分塊報文長度隨機。分塊傳輸編碼切分數據塊取決于網絡帶寬資源狀態,其切分長度存在隨機性,如圖2 中分塊報文的長度在1.5 KB和30 KB 之間隨機分布。

圖2 分塊報文特征

3) 各個執行體輸出分塊報文的時刻隨機。異構冗余執行體各自獨立地對數據進行分塊傳輸編碼,其分塊報文的傳輸完成時間和發送時間各不相同。

以上現象反映了在HTTP 1.1 的持久性連接場景下,Web 執行體會將較大的頁面資源經過分塊傳輸編碼切分為多個大小不一的分塊報文并依次、陸續地輸出,從而達到在持久性連接中接連不斷地傳輸數據的目的。此外,由于各個Web 執行體的分塊傳輸編碼相互獨立,因此各自傳輸的分塊報文在時間和空間上存在較大的差異,這給依賴完整語義的擬態表決算法帶來較大的困難,主要表現在CAC機制下需要較長時間的等待和對齊數據才能對數據進行表決處理。表決器在等待的過程中存儲陸續收到的分塊報文,也造成了大量的內存占用的問題。圖3 是擬態Web 服務的表決器與非擬態Web服務的反向代理服務器通過持久性連接傳輸分塊報文的過程中采集到的空閑物理內存變化情況。持久性連接傳輸分塊報文的場景給采用CAC 機制的表決器帶來的問題可通過圖3 所示的現象來直觀說明,具體介紹如下。

圖3 擬態表決器過度消耗內存資源

1) 長時間阻塞。由于持久性連接中報文傳輸時間長,采用CAC 機制的表決器需要長時間阻塞接收執行體輸出的所有分塊報文,并且需要消耗幾乎同等的時間將表決結果輸出。此外,一次性表決持久性連接中傳輸的所有報文也需要較長的處理時間。如圖3 所示,Web 服務的表決器的內存占用時間幾乎是非擬態Web服務的反向代理服務器的2倍。

2) 大量內存資源消耗。如圖3 所示,擬態Web服務的表決器的內存占用量遠大于非擬態Web 服務的反向代理服務器。這是因為非擬態Web 服務的反向代理服務器透明轉發Web 服務的表決器輸出的分塊報文,即依次存儲、釋放若干個長度較小的分塊報文,占用的內存較少;而采用CAC 機制的擬態表決器進行表決處理的前提是需要存儲異構冗余執行體的一次連接傳輸的所有分塊報文,占用的內存成倍增加。

總之,現有的擬態表決器由于要求數據完整,需存儲大量的待表決數據,這不僅占用了大量內存空間,而且丟棄了持久性連接中傳輸分塊報文帶來的性能優勢。

1.2 相關研究

擬態表決以全體一致表決算法[3]、多數表決算法[4]等為基礎,基于語義相似度、歷史統計、多要素分析開展研究,克服由于數據異構、偶發性虛警、多要素相互矛盾等問題帶來的表決準確度問題。

基于語義相似度的研究集中在解決異構輸出數據的可表決性問題。仝青等[5]在擬態Web 服務器中應用基于語義特征的抽取方法對執行體輸出內容進行表決,解決不同排列格式的數據表決問題。在語義解析方面,張文建等[6]提出可編程語義解析方法來解決擬態表決過程中不同協議的解析問題,并引入算法提高解析效率。馬博林等[7]基于字符串編輯距離和最長公共子串求解文本相似度,解決動態異構Web 服務系統中出現的網頁篡改的表決問題。Qi 等[8]對擬態軟件定義網絡(SDN,software defined network)中的流表進行語義抽樣和分段打分,給出異構SDN 控制器下流表信息歸一化的方法。

基于歷史統計的研究致力于解決單次表決中偶然出現的虛警帶來的表決準確性問題。歐陽城添等[9]基于統計歷史表決結果,構建表決歷史置信度,在表決過程中側重于輸出歷史執行度較高的執行體所輸出的數據,避免頻繁的單次表決虛警給系統帶來擾動。Hu 等[10]通過對軟硬件的漏洞后門的數量進行統計給出執行體可信度評分的方法,并基于該評分在表決過程中給對應執行體賦予相應的權重。

基于多要素分析的研究主要解決表決過程中多要素存在矛盾的問題。陸以勤等[11]基于多指標決策提出一種改進層次分析法的表決算法,將擬態表決轉化為模糊評價過程,通過多個指標之間的共同校驗提高表決的正確率。Zhou 等[12]提出基于關鍵特征統計和層次分析法的擬態表決方法,通過綜合考慮Web 場景下的狀態碼、報文關鍵字、威脅關鍵字等要素,構建面向威脅特征的層次分析的評價方法。

在擬態表決效率方面,林森杰等[13]基于多數一致表決,提出一種競賽式的仲裁模型,通過增加異構執行體的任務副本并選擇領先的任務輸出進行一致性表決,從而提高表決效率。Wang 等[14]提出一種延遲決策機制來檢查任務執行結果,通過多階段檢查任務執行結果,保證滿足多數一致的數據盡早輸出,從而提高系統的性能。王禛鵬等[17]使用對服務器輸出內容直接投票的方法提高擬態DNS 服務器的效率。但是,以上方法沒有關注持久性連接內的數據表決中的表決效率問題。張錚等[18]對擬態Web 服務器在HTTP 1.1 協議下的數據傳輸進行了功能和性能測試,但未考慮持久性連接內分塊報文的傳輸連續性問題。綜上,現有研究中缺乏在持久性連接傳輸分塊報文的場景下設計擬態表決器的研究。

2 自適應擬態表決器架構設計

擬態表決器在處理持久性連接中分塊報文的表決時面臨的核心問題是動態連續的分塊報文序列難以滿足現有擬態表決方法對報文的完整性要求。為了解決這一問題,本文通過將擬態表決過程動態化來適應碎片化的分塊報文,設計在接收分塊報文的同時自適應地對已有數據進行表決輸出的擬態表決器,即自適應擬態表決器。自適應擬態表決器在接收異構冗余執行體輸出的分塊報文的同時對現存數據進行擬態表決和輸出,減少待處理數據在擬態表決器上的駐留,從而降低內存消耗。在此過程中,自適應擬態表決器對現存的分塊報文進行切分,并以滑動窗口的方式進行擬態表決處理和輸出,在數據持續傳輸過程中逐步釋放已表決分塊報文,從而降低擬態表決的時間消耗。為達到這一目的,自適應擬態表決器主要面臨以下2 個挑戰。

1) 需要保證不完整的數據報文的擬態表決準確性。異構的服務執行體的輸出數據具有異構同義的特點,表決器將分塊報文序列切分為表決塊進一步加劇了表決過程中的報文差異性,影響表決準確性。

2) 需要確定單次表決數據的長度,即表決塊大小。從持續增長的待表決數據中切分表決塊是自適應擬態表決器的核心流程,關系著表決的速率和表決器的內存占用量。過長的表決塊切分的前提是收集更多的分塊報文,這會占用過多的存儲空間同時也會增加表決的處理時間;過短的表決塊切分會進一步破壞報文的完整性,影響擬態表決的準確性。

針對第一個挑戰,本文基于不同的表決算法在不同場景下表決準確性和表決速率各不相同的特點,通過策略性選擇表決算法來適配不同長度及數據類型的表決塊。為此,本文提出了表決算法選取策略集構建方法,給出了不完整數據的表決準確性解決方案。

針對第二個挑戰,本文基于存貯理論對分塊報文的表決過程進行建模分析,并基于此模型協同擬態表決速率、擬態表決準確性和內存占用量,提出表決窗口控制算法來控制自適應擬態表決器的表決塊切分長度。

基于以上分析,本文給出了自適應擬態表決器架構,如圖4 所示。當擬態表決器從執行體側的持久性連接中接收到異構冗余執行體源源不斷輸出的分塊報文時,首先,按連接分類存儲,統計分塊報文的關鍵特征。在擬態表決之前,自適應表決窗口控制模塊首先分析可表決的數據,記錄包括每一個分塊報文的長度、到達時刻和數據類型的流特征,根據數據類型?和分塊報文傳輸吞吐量V(定義為分塊報文的平均長度與平均到達時間間隔的比值)選取局部最優的表決窗口ξ,并根據分塊報文長度l和數據類型?通過表決算法選取策略集G選取最優的表決算法λ;其次基于存貯模型評估該表決窗口下的存貯成本,通過優化存貯成本自適應調整得到當前最佳的表決窗口;最后以當前最佳表決窗口為依據對存儲的異構冗余執行體輸出的分塊報文做切分處理。在此過程中,自適應表決窗口控制模塊建立流特征與最佳表決窗口的映射表I,避免同一流特征的分塊報文反復搜索最佳表決窗口。然后,表決輸出模塊根據選取的表決算法對表決塊進行擬態表決處理,將不滿足要求的執行體的信息記錄或上報,并將通過表決的表決塊數據通過客戶端側持久性連接源源不斷地輸出。

圖4 自適應擬態表決器架構

為詳細說明以上工作流程,假設執行體集合為E={e1,e2,…,en},執行體ei∈E在{ti,1,ti,2,…,ti,mi}時刻分別輸出長度為{li,1,li,2,…,li,mi}的分塊報文{ri,1,ri,2,…,ri,mi}。自適應擬態表決算法如算法1 所示。步驟1)和步驟2)為初始化,包括初始化流特征統計集{(ti,k,li,k)}、執行體?ei∈E的已存儲數據長度li和存儲隊列Si、當前可參與表決的數據長度Ri。步驟3)~步驟16)的循環語句為處理持續到達的分塊報文。步驟4)以三元組的形式記錄分塊報文ri,k的流特征,包括到達時刻ti,k、長度li,k和數據類型?。步驟5)存儲分塊報文并計算已存儲執行體ei∈E的數據長度及當前可參與表決塊切分的數據長度Ri。步驟6)粗略分析可表決數據,若滿足條件則通過步驟7)的VoteWindowControl()自適應表決窗口控制函數獲取當前最佳表決窗口ξ和表決算法λφ,進而由步驟8)和步驟9)的表決輸出模塊對待表決分塊報文做表決塊切分、表決和輸出。接著,步驟10)~步驟11)釋放已表決輸出的分塊報文所占用的內存空間并更新系統狀態。最后,由步驟13)~步驟15)判斷持久性連接傳輸分塊報文的結束條件并在滿足結束條件時終止表決過程。

算法1自適應擬態表決算法

如圖5 所示,本文以2 個執行體利用持久性連接輸出分塊報文的場景為例,直觀分析算法1 的有效性。自適應表決器在t1時刻收到2 個執行體的第一個分塊報文時,就開始對可表決數據段1 進行自適應表決和轉發處理,之后釋放表決器中存儲的數據段1。隨后在t2、t3、t4時刻,表決器根據算法1陸續處理數據段2、3、4,并且在t5時刻處理完成并釋放所有數據。而現有的采用CAC 機制的擬態表決算法需要在t4時刻才能接收到2 個執行體的完整數據,并通過一次性對所有數據進行表決處理才能在t6時刻處理完畢。

圖5 自適應表決算法數據管理機制有效性分析

3 表決算法選擇策略集構建

為有效組合各類表決算法在不同數據場景下表決準確性和表決速率的優勢,本節給出表決算法處理不同長度和不同數據類型的處理效率和準確度評價指標,并以該指標為參考構建分塊報文的匹配表決塊長度和數據類型的擬態表決算法選擇策略集G:(?h,l)→λφ,為自適應擬態表決器工作場景提供不完整數據的表決準確性解決方案。

由于異構服務執行體輸出的報文存在固有的格式差異,擬態表決算法針對不同數據類型及不同數據長度的報文表決準確性存在差異。例如,圖片數據一般只能通過CRC 或MD5 特征值比較方法,較長的HTML 數據可以采用語義特征比較方法,而較短的HTML 數據只能采用字符串編輯距離等相似度比較方法。為量化評估擬態表決準確度,本文基于混淆矩陣給出擬態表決算法的準確性評估方法。由于網絡攻擊行為難以窮舉,擬態表決器通過表決檢測攻擊的準確性難以直接評估,即混淆矩陣中的真陽性(TP,true positive)和假陽性(FP,false positive)等指標難以直接獲取。因此,本文通過統計無攻擊條件下擬態表決的虛警概率來評價擬態表決的準確度,即通過線下實驗統計擬態表決算法在處理不同長度的各類數據時表現出的真陰性(TN,true negative)和假陰性(FN,false negative)的次數。假設持久性連接中傳輸的分塊報文的數據類型集為Z={?1,?2,… ,?H},可供選擇的擬態表決算法集為Λ={λ1,λ2,…,λΦ},算法λφ∈Λ對數據類型為?h∈Z、長度為l的表決塊的表決準確度可表示為

由于表決塊的長度l為連續變量,因此式(1)的策略集構建過程無法在有限次的線下實驗中完成。為簡化處理,本文按照等長區間2σ對數據長度進行分區間處理,因此長度在區間[x-σ,x+σ]內的?h∈Z類型數據在算法λφ∈Λ處理下的表決準確度可表示為

其中,N為表決塊長度在區間[x-σ,x+σ]的樣本個數。

假設算法λφ∈Λ處理單位長度的數據類型為?h∈Z的待表決數據的時間消耗為μ(λφ,?h),可通過線下實驗測試表決算法的響應時延求解線性方程得出。表決處理時間與當前選定表決算法的準確性呈負相關,即采用準確度較低的擬態表決算法進行表決處理需要消耗更多的時間來補償準確性損失,因此,本文記n個服務執行體的數據類型為?h∈Z、長度為l(l∈ [x-σ,x+σ])的表決塊經算法λφ∈Λ表決處理的時間消耗為

基于該定義,本節將算法的準確性判斷融入算法執行效率的排序中,以簡化工程實現中對表決準確性這一因素的處理。因此,本節的目標轉化為給數據類型為?h∈Z、長度為l的表決塊選取對應的擬態表決算法λφ∈Λ,使τ(λφ,?h,l)最小,從而添加鍵值對(?h,l)→λφ至表決算法選取策略集G中。就目前的擬態表決算法的發展現狀而言,可選的表決算法集Λ和待處理數據類型集Z的維度均較小,該優化目標函數的搜索空間較小,通過線下實驗測試的數據類型、表決長度與表決算法的映射表,可得到自適應擬態表決器工作場景下表決算法選取策略集G。

4 自適應表決窗口控制

為了確定持久性連接中分塊報文擬態表決場景下表決塊的最佳切分方案,本節基于存貯模型對分塊報文的擬態表決過程進行建模分析,給出分塊報文的擬態表決在該場景下的成本評估方法,并提出基于存貯模型的自適應表決窗口(IMAVW,inventory model based adaptable voting window)控制策略。

4.1 存貯模型建立

存貯模型是基于存貯理論[16]的運籌學理論模型,是倉儲管理領域的經典分析模型[20]。本文將擬態表決器的收發分塊報文建模為倉庫轉運問題:擬態表決器從持久性連接中接收異構冗余執行體輸出的分塊報文為進貨過程;表決結束后向客戶端發送表決通過的表決塊數據為出貨過程;存儲持久性連接中輸出的分塊報文所占用的內存空間為存貯量;擬態表決器處理一個持久性連接中所有分塊報文的全部數據的總時長T為一個表決事務的存貯周期;系統的存儲資源占用量的成本為存貯成本,本文將存貯成本定義為內存空間占用量與占用時間的乘積。

記li(t)表示t時刻執行體ei∈E在擬態表決器中存儲的數據量,d(t)表示t時刻擬態表決器已經完成表決且輸出的數據量,那么在一次持久性連接的擬態表決的事務中的存貯成本為

該積分項無法直接求解,本文基于遞歸方法給出可計算的表達式。假設以ξ為步長并將其作為表決窗口,記li,k進入表決器時是否具備參與表決條件的指示函數為

其中,Ri表示執行體ei∈E當前可參與擬態表決處理的分塊報文的數據長度,即已接收數據的長度與已表決輸出數據的長度之差。Ri的初始值為0,其在迭代計算過程中的變化包括非表決時刻的累加li,k和表決時刻減少至整除ξ的余數,即

為了給出一個持久性連接傳輸分塊報文的全時段分析,將所有分塊報文到達表決器的時刻值按序排列,記為Γ={t1,t2,… ,t i1,k1,ti2,k2,…},其中t<t(?i,i∈[1,n],?k∈[1,mi1],?k∈[1,mi2])。i1,k1i2,k21 212存貯成本可分為表決等待期間(VWP,vote wait period)的存貯成本和表決忙碌期間(VBP,vote busy period)的存貯成本兩部分。一個VWP 的時間間隔可表示為

記一個VWP 從ti2,k2開始,表決器以長度為ξ的表決塊為單位,經過次的表決處理完成一個VBP,其中表決處理的時間消耗可由式(3)計算得出,因此,每個VBP 的結束時刻可表示為

該表決期間的存貯成本可表示為

注意到,在一個處理線程中,存在上一個VBP的結束時刻tv可能會晚于下一個VBP 的開始時刻ti2',k2'的情況,即上一個VBP 消耗時間過長。當該情況出現時,下一個VBP 需要等待前一個VBP 結束才能開始,以免搶占。因此,補充式(6)中表決條件指示函數的修正條件φ(i,k)=0,?ti,k≤tv。

基于以上討論,存貯成本可表示為

以上求解存貯成本算法的具體實現邏輯如算法2 所示。其中,步驟2)和步驟3)為初始化過程;步驟4)~步驟20)的循環邏輯根據所有執行體的所有分塊報文的到達時刻和數據長度計算存貯成本。該循環邏輯按照時間順序在每一個分塊報文到達時刻開始處理,包括每一個時間間隔的等待存貯成本Cw計算(步驟6)~步驟8))、根據當前時刻與上一個VBP 的結束時刻的關系更新每一個分塊報文到達時的指示函數φ(i,k)(步驟9)~步驟11))、依據當前各個執行體的分塊數據的存儲狀態計算表決存貯成本(步驟12)~步驟16))以及最后更新當前時刻與當前VBP 結束時刻的關系,以準備下一分塊數據的表決處理(步驟17)~步驟19))。

算法2計算存貯成本算法

4.2 基于存貯模型的自適應表決窗口控制策略

獲取最優表決窗口。即搜索使CQ最小的最佳表決窗口ξ*。

由于式(12)中優化問題的主要約束條件與分塊報文的特征有關,包括持久性連接中分塊報文的數據類型?h和傳輸吞吐量V,在實際系統的運行中均需要通過流特征統計模塊不斷豐富。因此,本文基于哈希表構建最佳表決窗口的策略集I:(?h,V)→ξ,即給出流特征與最優表決窗口的哈希映射表,并且隨著應用過程中流特征的豐富而不斷更新該策略集。

策略集更新的主要思路是根據接收到的分塊報文的數據類型?h和傳輸吞吐量V選擇或計算對應的最佳表決窗口,若最佳表決窗口策略集I中包含該特征,則直接選取ξ;若不包含該特征,則通過搜索求解該特征下的最佳表決窗口并存入最佳表決步長策略集。為減少尋優的搜索次數,本文使用模擬退火算法求解最佳表決窗口。基于以上分析,本文提出基于存貯模型的自適應表決窗口控制策略,具體過程如算法3 所示。其中,步驟1)給出計算平均流傳輸速率的計算方法,步驟2)搜索最佳表決窗口策略集中是否存在該流特征的歷史記錄:若存在則直接得到最佳表決窗口(步驟3));否則通過模擬退火算法求取該流特征下的最佳表決窗口并且存入最佳表決窗口策略集I中(步驟5)~步驟15))。

算法3基于存貯模型的自適應表決窗口控制算法

4.3 算法仿真分析

為了分析存貯模型下的關鍵參數,本節通過仿真實驗評估前文所述的分塊報文的傳輸吞吐量和數據類型對自適應擬態表決器的存貯成本的影響。仿真實驗假設分塊報文輸出服從泊松分布,每個分塊報文長度正比于輸出時間間隔,其比值即分塊報文傳輸吞吐量。為對比IMAVW 控制策略在表決器中的表現,本節同時分析現有表決器常用的CAC機制和根據當前已有分塊報文,最大限度切分表決塊的“盡力而為”表決窗口(BVW,best-effort voting window)控制策略。其中,BVW 控制策略為功能弱化的自適應表決窗口控制策略,其在接收到分塊報文時檢查數據存儲模塊中異構冗余執行體的待表決數據,若所有執行體都存在待表決數據,則以待表決數據最少的執行體的長度作為表決窗口對所有執行體的待表決數據做表決塊切分,使所有能參與表決的數據都參與表決。

持久性連接中分塊報文的傳輸吞吐量是執行體服務性能的重要指標,本節定義該指標為單位時間傳輸的數據長度。仿真實驗假設分塊報文輸出服從泊松分布,每個分塊報文長度正比于輸出時間間隔,其比例系數即分塊報文傳輸吞吐量。存貯成本與分塊報文的傳輸吞吐量的關系曲線如圖6 所示。由圖6 可知,隨著分塊報文的傳輸吞吐量的增大,表決器的存貯成本增大。IMAVW 策略明顯優于BVW 策略和CAC 機制,且隨著分塊報文的傳輸吞吐量的增大,其優勢愈發明顯。

圖6 存貯成本與分塊報文的傳輸吞吐量的關系曲線

分塊報文的數據類型是影響分塊報文擬態表決準確度的重要原因。基于式(3)的定義,分塊報文的不同數據類型的最優表決算法的表決準確度間接影響表決算法的運行速率,進而對存貯成本產生影響。因此,本文在仿真實驗中通過設置最大表決準確度的變化,分析分塊報文的數據類型對存貯成本的影響,結果如圖7 所示。從圖7 可以看到,隨著表決準確度的上升,表決器的存貯成本不斷下降。IMAVW 策略明顯優于BVW 策略和CAC 機制,且在表決準確度較低的情況下,其優勢更加明顯。這間接說明了IMAVW 策略可有效緩解某些數據類型的分塊報文在切分表決中表決準確度低的問題。

圖7 分塊報文的數據類型對存貯成本的影響

5 系統評估

5.1 系統實現

本文基于Nginx 實現自適應擬態表決器的原型系統。首先,本文基于Nginx 的子請求處理模塊開發HTTP 請求分發模塊,復制客戶端發出的HTTP請求報文,并且在反向代理的業務邏輯中將復制的HTTP 請求轉發給后端異構冗余執行體。其次,針對異構冗余執行體通過持久性連接輸出的HTTP 響應的分塊報文,本文在輸出過濾模塊回調鏈中利用多級存儲隊列來存儲持續到達的分塊報文。再次,本文實現待表決數據的狀態判斷函數和自適應表決窗口選取函數,并基于選定的表決窗口,通過指針偏移的方式實現零復制操作的表決塊切分。最后,本文根據調用選定的表決算法的實現函數完成對表決塊的表決,并將表決選出的表決塊通過Nginx 的過濾回調鏈表發送至下游連接寫操作接口,進而發送至客戶端。此外,為了保證基于Nginx的擬態表決器在持久性連接場景下的穩定性,本文對Nginx 的連接管理機制做了部分改動。

5.2 實驗配置

由于擬態表決器的網絡位置與反向代理服務器相同,本文選取非擬態(UM,unused mimic)Web服務的反向代理作為自適應擬態表決器的實驗性能參考基準。在同等資源配置下,具有安全增益的擬態系統的性能越接近非擬態系統則越優。其次,CAC 機制是當前擬態表決算法常用的數據管理機制,用來評估自適應擬態表決器相較于擬態表決器的表決效率是否有所提升。此外,BVW 策略是不含基于存貯模型優化表決窗口的弱化策略,用來評估IMAVW 策略的有效性。為方便后文表述,本節將采用CAC 機制的傳統擬態表決器、采用BVW 策略和IMAVW 策略的自適應擬態表決器分別簡述為CAC、BVW 和IMAVW。

自適應擬態表決器的可選表決算法集包括基于語義特征(SF,semantic feature)抽取[5]、基于字符串相似度(SS,string similarity)表決[6]、基于層次分析法(AHP,analytic hierarchy process)的多維表決[10]。BVW 與IMAVW 根據表決算法選擇策略集在每個表決塊的表決中動態選擇表決算法。CAC在表決效率與資源開銷實驗中選擇復雜度最低的SS 算法,而在表決準確性評估實驗中分別選擇SF、SS 與AHP 算法。

本文基于6 臺配置如表1 所示的虛擬機搭建實驗環境,其實驗拓撲及環境組件如圖8 所示。圖8(a)包含反向代理服務器和Web 服務器,為UM 的測試環境。圖8(b)包含具有輸入代理和擬態表決器以及冗余的Web 服務器,為CAC、BVW、IMAVW 的測試環境。各個Web 服務器均由Nginx 搭建,配置其Keep-alive 模式,以持久性連接傳輸分塊報文的方式輸出Web 頁面資源。

圖8 實驗拓撲及環境組件

表1 實驗主機配置

5.3 內存資源占用量評估

本文提出的自適應擬態表決器通過對持久性連接中的分塊報文動態表決輸出,在表決的過程中動態釋放已表決的數據,從而降低表決器的內存占用量。為了驗證自適應表決器是否可有效降低內存占用量,本節通過采集持久性連接傳輸分塊報文過程中的擬態表決器空閑物理內存量,分析比較各實驗組的內存資源占用情況。

本節實驗配置執行體傳輸20 MB 的頁面資源,并且在擬態表決器或反向代理服務器中運行基于Linux 系統的free 命令的測試腳本,記錄它們的空閑物理內存變化情況,如圖9 所示。從圖9 可以看到,相較于傳統表決器(CAC),自適應擬態表決器(BVW、IMAVW)占用的內存較少且占用時間較短。具體來講,UM 占用內存的極值為8 MB,工作持續時間為3.35 s,而CAC 占用內存的極值為70 MB,工作持續時間為6.3 s,遠遜于UM 的工作性能。BVW 占用內存的極值為39 MB,工作持續時間為3.5 s,顯著降低了擬態表決對服務性能的影響。本文提出的IMAVW 占用內存的極值為36 MB,工作持續時間為3.4 s,進一步優化了擬態表決器的內存開銷和響應時延。

圖9 內存資源占用量對比

5.4 傳輸時延評估

為了驗證本文提出的自適應表決器通過最優表決窗口控制能否有效降低表決器的表決處理時間,本節實驗通過在持久性連接中傳輸不同數據規模的分塊報文,測試分析各實驗組的響應時延差異。本節實驗配置Web 服務執行體分別傳輸總長度為10 MB、20 MB、40 MB、80 MB、160 MB、320 MB 的頁面資源,在測試客戶端上分別請求這些頁面資源并記錄響應時延,實驗結果如圖10 所示。在Web 服務執行體任一數據規模的響應資源中,UM 響應時延最小,CAC 最大,BVW 次之,IMAVW 第三。此外,隨著響應資源的數據規模的增大,BVW 和IMAVW 相對于CAC 的性能優化存在增強的效果。這說明本文提出的自適應擬態表決器在持久性連接中傳輸不同的網頁資源的場景下均具有降低響應時延的效果。

圖10 持久性連接內傳輸內容總長度對系統響應時延的影響

5.5 并發性能評估

為了驗證自適應擬態表決器在高并發場景下是否具有較好的響應時延表現和降低內存占用量之后是否會提高表決器的吞吐量,本節實驗測試了各實驗組在不同并發連接下的性能表現。在測試客戶端上,使用Apache Benchmark 測試工具測試擬態表決器在不同并發壓力下的響應時延和吞吐量。在Web服務器配置64 B的較小頁面資源,使用Apache Benchmark 分別以并發量為1 000、2 000、3 000、4 000、5 000 給Web 服務系統發送100 000 個請求報文。在此過程中,擬態表決器依次配置CAC、BVW、IMAVW。根據Apache Benchmark 生成的測試報告,響應時延和吞吐量的變化趨勢分別如圖11和圖12 所示,其中吞吐量的單位為每秒查詢率(QPS,query-per-second)。

圖11 連接并發量對系統響應時延的影響

圖12 連接并發量對系統吞吐量的影響

由圖11 可知,隨著并發量的增大,響應時延呈上升趨勢。CAC 相對于UM 的響應時延較長,且隨著并發量的增大而逐漸加劇,而BVW 和IMAVW 接近UM的響應時延;通過原始數據計算可得UM、CAC、BVW、IMAVW 的所有實驗組的平均響應時延分別為59.8 ms、112.8 ms、72.5 ms、67.9 ms,說明BVW和IMAVW 在不同的服務壓力下均可大幅降低擬態系統的響應時延,且本文提出的IMAVW 效果最好。

由圖12 可知,隨著并發量的增大,吞吐量的總體趨勢呈先增大后減小趨勢,CAC 的吞吐量曲線在并發量為3 000 時出現拐點,BVW 在并發量為4 000時出現拐點,而IMAVW 在并發量為5 000 時尚未出現明顯拐點,說明自適應擬態表決器的并發能力明顯優于現有表決器,且本文提出的IMAVW 的并發性能優于BVW。通過原始數據計算可得UM、CAC、BVW、IMAVW 的所有實驗組的平均吞吐量分別為4 628.8、2 040.6、3 799.9、4 141.1,說明BVW 和IMAVW 在不同的服務壓力下對擬態表決器的吞吐量均有較好的改善效果,且IMAVW 改善效果最好。

5.6 表決準確性評估

為了驗證自適應擬態表決器在降低開銷、提高表決效率的同時能否維持可接受的表決準確度,本節實驗通過與CAC+SF、CAC+SS、CAC+AHP 比較評估自適應表決器的表決準確性。

本節實驗配置HTML 文件作為執行體傳輸的Web 頁面,其原因是HTML 格式的數據構成的網頁框架具有多標簽和文本內容動態生成的特點,可不失一般性地代表擬態表決器在生產環境下處理的數據。通過腳本程序分別或組合修改HTML 文件的文本內容、標簽順序,各個Web 執行體的修改相互獨立,來模擬擬態表決器對報文做比較的表決處理過程。其中,文本內容修改用來模擬惡意篡改內容的行為,標簽順序修改用來模擬動態網頁生成時產生的正常的內容差異。因此在理想狀態下,文本內容不一致會被判定為非法,而標簽順序不一致則被判定為合法。各種算法的判決閾值為90%,即兩執行體的數據相似度低于90%認為是不一致。本節實驗通過多次隨機修改重復實驗來計算表決算法的準確度,其中合法報文的表決準確度基于式(1)計算TN 出現的比例,非法報文的表決準確度由TP 出現的比例計算可得。

表決準確度分析如圖13 所示,CAC+SF 算法、CAC+SS 算法分別在標簽順序修改、文本內容修改的實驗中表現最好,CAC+AHP 算法則整體表現最優,IMAVW 整體次優,BVW 整體最差。分析可知,CAC+SF 算法通過解析文本特征可識別順序顛倒的標簽,且應對內容修改的表決也具有較高的準確率;CAC+SS 算法通過字符比較可準確判斷文本內容修改,但是容易將標簽順序修改判定為不一致,因此對于標簽順序修改和多點組合修改表決準確度較差;CAC+AHP算法通過綜合分析多個指標可以有效應對各種類型的數據變化,因此整體的表現最優,表決準確率達94.64%。自適應擬態表決器由于對整體數據進行切分表決,存在將一處文本內容修改或標簽順序修改切分到2 個表決塊的概率,會造成表決算法無法判斷的問題,因此IMAVW 整體相對CAC+AHP 算法表決準確率降低8.41%;BVW 由于對報文切分具有盲目性,其表決準確率降低更多,達到34.84%。此外,由于本文提出的表決算法選擇策略集通過動態選擇不同的表決算法,可組合不同表決算法的優勢,因此在文本內容修改、標簽順序修改和多點組合修改的實驗中表決準確率相對SS 算法平均提高14.67%。總體而言,本文提出的IMAVW 相對于傳統擬態表決器的表決維持了可接受的準確度。

圖13 表決準確度分析

5.7 結果分析

自適應擬態表決器的設計初衷是解決分塊報文表決過程中存儲資源過度占用帶來的服務性能下降問題,資源開銷實驗直觀地說明了自適應擬態表決器對該問題的改善效果。針對不同數據規模和不同服務壓力下的實驗,以微基準的方式給出了自適應擬態表決器在一般應用場景下的可行性分析。表決準確度評估實驗說明了自適應擬態表決器在提高表決效率的同時維護了可接受的表決準確性。采用CAC 機制的傳統擬態表決器在表決效率的實驗中表現最差,這說明當前的擬態表決方法在面對HTTP 1.1 協議的持久性連接、分塊傳輸編碼的應用場景中存在較大問題。本文提出的基于IMAVW 策略的自適應擬態表決器在面對大規模數據和高并發場景時,表決效率較高且表決準確度在可接受的范圍內。

6 結束語

為解決現有擬態表決器在HTTP 1.1 持久性連接傳輸分塊報文的業務場景下存儲大量報文帶來的內存資源過度占用及時延增加的問題,本文提出了一種自適應的擬態表決器設計方案,在接收異構冗余執行體輸出分塊報文的同時,對現存的分塊報文數據進行表決塊切分和表決輸出,在接收分塊報文的過程中逐步將已表決的數據釋放,從而降低該場景下的內存開銷。首先給出自適應擬態表決器的工作機制和實現架構;接著針對自適應擬態表決器實現過程中的表決準確度和表決效率的矛盾,給出自適應擬態表決器工作場景下的表決算法選擇策略和基于存貯模型的表決窗口控制策略;最后通過原型系統實現并基于此開展實驗分析,說明本文提出的自適應擬態表決器相對于傳統表決器具有更好的性能表現,可以在同等資源限制下有效提高分塊報文傳輸場景下擬態系統的性能表現。

今后的工作將圍繞自適應擬態表決器的適應性,一方面,開展自適應學習的流特征表決窗口策略集生成方法的研究,實現更方便擬態系統適配的擬態表決器;另一方面,擴展持久性連接的場景,針對HTTP 2.0 的二進制分幀的持久性連接數據傳輸場景開展自適應擬態表決器的升級工作。

主站蜘蛛池模板: 久久中文字幕不卡一二区| 91美女在线| 亚洲欧美成aⅴ人在线观看| 国产精品久久久免费视频| 亚洲区第一页| 一级黄色片网| 亚洲永久色| 国产乱人伦精品一区二区| 成人免费午间影院在线观看| 精品一区国产精品| 午夜日韩久久影院| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产精品视频猛进猛出| 国产麻豆精品手机在线观看| 国产亚洲欧美在线视频| 国产成人综合日韩精品无码首页| 91网在线| 黄色网在线| 日韩无码一二三区| 国内精自视频品线一二区| 无码精品福利一区二区三区| 成人午夜久久| 欧美三级不卡在线观看视频| 热伊人99re久久精品最新地| 特级欧美视频aaaaaa| 久久精品只有这里有| 亚洲男女在线| a网站在线观看| 国产丝袜一区二区三区视频免下载| 找国产毛片看| 久草国产在线观看| 九色在线视频导航91| 国产视频自拍一区| 91在线日韩在线播放| 在线观看国产小视频| 国产成人综合欧美精品久久| 经典三级久久| 青青青伊人色综合久久| 国产人人射| 18禁黄无遮挡网站| 中文字幕色在线| 亚洲精品动漫| 国模极品一区二区三区| 欧美日韩久久综合| 人妻中文字幕无码久久一区| 久久久久无码国产精品不卡| 国产好痛疼轻点好爽的视频| 欧美a在线看| 国产欧美日韩另类精彩视频| 久久毛片网| 国产人人乐人人爱| 亚洲国产AV无码综合原创| 无码高潮喷水在线观看| 狠狠色狠狠综合久久| 91麻豆精品国产91久久久久| www中文字幕在线观看| 国产欧美日韩综合在线第一| 久久综合干| 亚洲天堂视频在线播放| 国产精品人人做人人爽人人添| 亚洲精品自产拍在线观看APP| 亚洲清纯自偷自拍另类专区| 亚洲第一区欧美国产综合| 欧美无专区| 亚洲色欲色欲www在线观看| 亚洲永久色| 99视频在线观看免费| 欧美在线综合视频| 伊人精品视频免费在线| 在线观看无码a∨| 国产微拍一区| 国产精品一区不卡| 亚洲欧美不卡中文字幕| 福利小视频在线播放| 毛片网站观看| 亚洲经典在线中文字幕| 无码 在线 在线| 国产精品妖精视频| 欧美日韩精品在线播放| 国产电话自拍伊人| 色婷婷在线影院| 秘书高跟黑色丝袜国产91在线|