1. 程式人生 > 其它 >“掛圖作戰”網路實體定位技術

“掛圖作戰”網路實體定位技術

在當今網際網路的浪潮下,網路給人們帶來了巨大的經濟效益和便利。廣告商通過判斷網路使用者的位置來推送精確的廣告;網路安全人員通過定位IP位置來確定網路故障的所在,及時排除故障。因此對於IP地址的實體地理位置定位技術的研究就顯的愈發的重要。  

隨著IP定位技術的發展,整合的IP定位系統就是將國內外優秀的IP定位資料庫彙集到一起,附加抓取一些WHOIS和DNS.LOC來提煉定位資訊,最終形成一個相對全面的IP定位資料庫。有了資料來源後通過沖突消除演算法和爬蟲對定位資訊庫的每日更新使得資料庫更加的全面,通過類SVD演算法和高效IP查詢演算法的研究與實現來使定位結果更加準確和高效。主要做如下三方面的研究工作: 

第一研究和實現了IP定位系統的核心資料來源的獲取工作,包括分散式爬蟲的架構和實現,突破相關網站安全性措施的方法,以及不同資料來源“衝突”資料的解決方法,有效提升資料庫的全面性。

第二研究和解決了大量IP查詢效率低下的問題,闡述了通過高頻加時間相結合的快取策略、基於HASH的查詢演算法和基於FODO演算法的分散式分片策略來提升IP查詢效率。 

第三研究和實現了類SVD演算法通過置信度和準確度來實現最佳定位結果的生成演算法,有效提升定位結果的準確性。

資料集是地理定位實現模型的資料基礎,地理定位即是根據特定的需求對資料集的參考和更新過程。資料集包含以下幾個部分:

• BGP資料:BGP路徑資訊由 Routeviews專案提供,BGP路徑資訊包含路由器連線的網路字首和AS路徑。

• 地理組:從3個途徑收集部分IP對應地理位置的資訊,以(網路地址、網路字首、地域名稱、經度、緯度、可信等級)的形式儲存。這3個途徑包括:1)部分網站使用者資訊的收集;2)手工向提供地理位置資訊服務機構提交査詢得到的資訊;3)開放軟體中公開的部分資訊。

• 路徑資訊:在驗證階段儲存 traceroute的路徑資訊,以路徑結點為單位記錄其前驅和後繼的網路地址、RTT,地理資訊、可信等級等。

• 編碼資訊:地理資訊經常以編碼形式被嵌入在一些以城市、州、國家名縮寫為DNS名的路由器中。對這些路由器名稱的分析結果表明,有3種基本型別的編碼暗示位置:1)城市編碼:許多ISP用無特徵的城市編碼或州編碼定義主機名稱,可以給出一些地理資訊的線索;2)機場編碼:一些ISP以他們所在城市的機場編碼為基礎命名DNS。由於機場編碼是世界範圍的,這樣的命名習慣可以暗示部分路由器的位置;3)國家編碼:國家編碼是基於ISO3166中定義的國家程式碼,國家資訊對於判別依靠國家或機場編碼定位結果的正確性非常必要。

地理位置定位實現的主要階段

地理位置定位需要從以下幾個階段:定位、驗證和聚類,如圖所示:

定位模組根據定位請求,參考資料來源已有資訊,通過定位演算法確定目標的基本位置。在驗證階段,利用 traceroute原理和傳輸延遲判斷結果的可靠性,並對不可靠的結果給出可能的猜測,同時更新資料來源中地理組資訊。在聚類階段,進一步調整合理的網路地址字首與地理位置的關係。

(部分資料來源於網路,如有涉及請聯絡刪除)