針對不同應用場景下的有基準點的IP,通過利用動態密度聚類算法,完成高精準IP位址定位。動態密度聚類算法是基於經典的密度聚類算法,結合IP定位的現實需求進行優化改進,針對不同的聚類參數,權衡最終聚類覆蓋區域的面積大小以及聚類覆蓋區域下的基準點召回率,尋找效果最優的聚類參數,得到最終的聚類結果。
1) 基準點分布情況
基準點分布情況,可以分為兩種。一種以企業專線IP為代表,單個基準點的歷史點集中分布,相鄰IP段甚至一個IP段中每個基準點的分布位置之間相對獨立,無相關性;另外一種以住宅用戶IP為代表,連續IP段的基準點的歷史點分散分布且分布相似。
企業專線IP,基準點分布一共有兩種情況,如圖1所 示。一個IP段中每個基準點的歷史點分布集中,但位置之間無相關性。或者整個IP段屬於ISP,每個子塊都有相應的WHOIS分塊信息,且在每個子塊中基準點的歷史點分布都集中。
圖1 企業專線IP的基準點分布情況
住宅用戶IP,基準點分布情況如圖2所示。首先,一個IP段中每個基準點的歷史點分布分散,且分布相似;連續的IP段中基準點的歷史點分布分散,且分布相似。其次,ICMP響應IP多,無開放埠的IP。
圖2 住宅用戶IP的基準點分布情況
2) 基準點聚類定位
針對企業專線類的IP,每個IP有至少4個基準點的歷史點時才進行基準點聚類定位,確保聚類定位IP的準確性。而針對住宅用戶類的IP塊,當IP塊中的基準點的歷史點個數到達1,024個時,才進行基準點聚類定位,從而確保基準點聚類定位IP塊的準確性。
圖3動態聚類分析
首先,對IP基準點數據進行處理,包含經緯度坐標系統一、經緯度Z-Score標準化;其次,使用動態密度聚類算法對標準化後的數據進行密度聚類;最後,將聚類結果進行分析優化,完成基準點聚類定位。其中,聚類原則是聚類形成的圓形區域覆蓋面積(Area)越小,召回率(Recall=圓形區域包含的基準點數量/全部基準點數量)越高越好。如圖3所示,左側聚類結果的覆蓋面積偏小(A=10.24)但召回率低(R=90.9%);右側聚類結果的召回率高(R=100%),但覆蓋面積偏大(A=62.24);所以系統最終採用中間的聚類結果,覆蓋面積適中(A=22.57)且召回率較高(R=99.2%)。