驗證文件切分實驗

實驗目標:
     對數據包負載文件進行分割,可讓分割塊近似1000字節。
 
背景:
     PACK是一種基於接收端的字節緩存算法。核心思想是利用當前的數據預測下一步須要接收的數據。
可是數據塊不該該被分割的過小,這樣的話會耗費過多的內存和磁盤; 固然也不能分割的太大,
數據塊過大會致使預測的命中率下降。具體的PACK算法中,咱們須要找到先後兩個分割點,來肯定
一個數據塊,而後根據此數據塊來預測下一次須要接收的數據。當分割點只受其內容影響的時候,
發送數據的修改對數據的預測影響有限。
 
預備知識:
     rabin指紋經過數據內容計算,所以能夠用於計算分割點。原理能夠參考維基百科條目:https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm。
     在統計學中,中位數(median)被定義爲一系列數據的中點。在這一數據點全部數據的一半在其
之上而另外一半在其之下。百分位點用於定義數據集或數據分佈中等於或者小於一個特定數據值的個體
百分數。對數據集排序後,咱們能夠將數據分紅4等份,分別爲:最小值,25百分位點,中位數,
75百分位點,最大值。標準差表示一個數據集中變異性的平均值,實際含義是與均值的平均距離。
標準差越大,每個數據點與數據分佈的均值的平均距離越大。
     
 
實驗步驟:
  1.      從pacp文件讀取TCP的數據負載部分。
  2.      針對TCP的數據負載部分計算rabin指紋並記錄採樣點,採樣點將做爲數據的分割點。
  3.      經過數據的分割點來計算分割區間的大小
  4.      使用R語言來分析分割區間的數據分佈
 
實驗結果:
     1.驗證pic.pcap圖片數據
上圖爲R語言分析的結果,經過上圖咱們能夠觀察出兩點:
中位數爲962,均值爲1126,中位數和均值接近說明數據集中的極大值或極小值的影響有限
75百分位點爲1332說明整個數據集的四分之三的數據都是小於1332
     在針對data數據集計算其標準差,那麼得出的標準差爲:540.267410224。說明數據集中
全部數據到均值的平均距離就是大約540。
 
     2.驗證wzhvod.pcap數據 
經過上圖能夠觀察數據大部分分佈在1325之內。其標準差爲:562.128433851。
 
   3.對比實驗 
     使用python的random模塊在【570, 2000】之間隨機生成樣本空間,觀察其數據特徵。
此數據集的標準差爲:413.00726093
經過實驗1,2和3的標準差的對比,我以爲差距爲100多應該能夠接受。實驗1,2和實驗3的75百分位點
的差距也不是太大。
 
實驗結論:
1.採用rabin指紋的方法能夠將數據按內容切分。
2.切分出的數據塊可能出現極大值,出現此問題的緣由是:計算出的指紋沒有被取樣。
相關文章
相關標籤/搜索