本申請屬于網絡工程,尤其涉及一種網絡探測方法、裝置、設備及存儲介質。
背景技術:
1、隨著近年ipv6的迅猛發展,對ipv6網絡的現狀測繪、拓撲發現和安全研究都成為了非常關鍵的研究問題。其中,最核心的也是最基礎的研究手段就是網絡探測。相比于ipv4的2^32的地址空間,ipv6有2^128的地址空間。ipv6具有龐大的地址空間的特點使一些傳統的探測方法在ipv6空間無法使用,比如全網暴力掃描。在萬兆鏈路條件下,進行ipv6全網空間掃描,也至少需要上億年的時間,這顯然無法實際使用。
2、因此,已經有許多研究者提出了各種非暴力掃描的ipv6地址探測手段。ipv6目前探測方法分為主動探測和被動探測,被動探測有從公開數據采集,出口節點流量采集這幾種主要方法,主動探測是指使用的技術手段會涉及發送數據的操作,包括基于dns的探測方法和基于種子地址的探測方法。但是目前的對ipv6地址探測的研究主要集中在探測算法的研究上,而在實際探測過程中,ipv6探測中網卡收發報文時需要cpu參與處理,因此會造成硬中斷,造成了通訊的時延。而且,在對探測數據進行處理時,系統會在內核態和用戶態之間切換拷貝,帶來大量cpu運算資源的消耗。所以目前的ipv6探測技術在實網探測中實際探測速率低。
技術實現思路
1、鑒于以上的一個或多個問題,本發明提供了一種網絡探測方法、裝置、設備及存儲介質,能夠提升目前ipv6探測技術的實際探測速率。
2、第一方面,本申請實施例提供一種網絡探測方法,包括:
3、通過直接內存訪問將ipv6探測任務數據包儲存至內存,以用于網卡從內存中拷貝ipv6探測任務數據包,并根據ipv6探測任務數據包對應的ipv6地址發送探測數據包;
4、讀取內存中探測數據包對應的結果數據包,結果數據包是網卡通過直接內存訪問發送至內存的結果數據包,結果數據包包含網卡接收到的網絡探測結果;
5、將結果數據包發送至探測中心。
6、在一些可能的實現方式中,通過直接內存訪問將ipv6探測任務數據包儲存至內存之前,方法還包括:
7、根據探測中心信息和網卡信息確定網絡接口參數,網絡接口參數包括網卡的ipv6地址;
8、從待探測ipv6地址中獲取目標ipv6地址;
9、根據網絡接口參數和目標ipv6地址創建ipv6探測任務數據包。
10、在一些可能的實現方式中,根據網絡接口參數和目標ipv6地址創建ipv6探測任務數據包,包括:
11、根據網絡接口參數創建以太網數據包;
12、根據網卡的ipv6地址和目標ipv6地址創建ipv6數據包;
13、根據以太網數據包和ipv6數據包創建ipv6探測任務數據包,ipv6探測任務數據包包含回應請求,回應請求用于在接收到ipv6探測任務數據包的情況下,基于回應請求對網卡進行回應。
14、在一些可能的實現方式中,根據網絡接口參數和ipv6地址創建ipv6探測任務數據包之后,方法還包括:
15、根據ipv6探測任務數據包得到校驗和;
16、將校驗和加入ipv6探測任務數據包,以用于ipv6探測任務數據包的接收端根據校驗和進行校驗。
17、在一些可能的實現方式中,根據網絡接口參數和ipv6地址創建ipv6探測任務數據包之后,方法還包括:
18、根據預設時長設定超時重傳時間;
19、將超時重傳時間加入ipv6探測任務數據包,以用于網卡在超過超時重傳時間未收到結果數據包的情況下,重發ipv6探測任務數據包。
20、在一些可能的實現方式中,通過直接內存訪問將ipv6探測任務數據包儲存至內存之前,方法還包括:
21、接收探測中心發送的探測地址段,探測地址段為目標探測地址集中的一部分探測地址;
22、根據探測地址段中的目標ipv6地址生成ipv6探測任務數據包。
23、第二方面,本申請實施例提供另一種網絡探測方法,包括:
24、通過直接內存訪問讀取內存中的ipv6探測任務數據包;
25、根據ipv6探測任務數據包對應的ipv6地址發送探測數據包;
26、接收探測數據包對應的網絡探測結果,得到結果數據包;
27、通過直接內存訪問將結果數據包儲存至內存。
28、第三方面,本申請實施例提供了一種網絡探測裝置,包括:
29、儲存模塊,用于通過直接內存訪問將ipv6探測任務數據包儲存至內存,以用于網卡從內存中拷貝ipv6探測任務數據包,并根據ipv6探測任務數據包對應的ipv6地址發送探測數據包;
30、讀取模塊,用于讀取內存中探測數據包對應的結果數據包,結果數據包是網卡通過直接內存訪問發送至內存的結果數據包,結果數據包包含網卡接收到的網絡探測結果;
31、發送模塊,用于將結果數據包發送至探測中心。
32、第四方面,本申請實施例提供了一種網絡探測設備,設備包括:處理器,以及存儲有計算機程序指令的存儲器;處理器讀取并執行計算機程序指令,以實現如上的網絡探測方法。
33、第五方面,本申請實施例提供了一種計算機可讀存儲介質,計算機存儲介質上存儲有計算機程序指令,計算機程序指令被處理器執行時實現如上的網絡探測方法。
34、本申請實施例的設備綁定方法、裝置、設備及存儲介質,通過直接內存訪問將ipv6探測任務數據包儲存至內存,以用于網卡從內存中拷貝ipv6探測任務數據包,并根據ipv6探測任務數據包對應的ipv6地址發送探測數據包;讀取內存中探測數據包對應的結果數據包,結果數據包是網卡通過直接內存訪問發送至內存的結果數據包,結果數據包包含網卡接收到的網絡探測結果;最后將結果數據包發送至探測中心。上述方案通過使用直接內存訪問(direct?memory?access,dma),讓網卡直接進行內存的讀寫,不需要中央處理器(central?processing?unit,cpu)進行處理,能夠避免硬中斷造成的時延,同時也避免cpu在內核態與用戶態的切換造成資源消耗,提高在實際網絡探測中ipv6探測的探測速率。
1.一種網絡探測方法,其特征在于,所述方法包括:
2.根據權利要求1所述的網絡探測方法,其特征在于,所述通過直接內存訪問將ipv6探測任務數據包儲存至內存之前,所述方法還包括:
3.根據權利要求2所述的網絡探測方法,其特征在于,所述根據所述網絡接口參數和所述目標ipv6地址創建ipv6探測任務數據包,包括:
4.根據權利要求2所述的網絡探測方法,其特征在于,所述根據所述網絡接口參數和所述ipv6地址創建ipv6探測任務數據包之后,所述方法還包括:
5.根據權利要求2所述的網絡探測方法,其特征在于,所述根據所述網絡接口參數和所述ipv6地址創建ipv6探測任務數據包之后,所述方法還包括:
6.根據權利要求1至5任一項所述的網絡探測方法,其特征在于,所述通過直接內存訪問將ipv6探測任務數據包儲存至內存之前,所述方法還包括:
7.一種網絡探測方法,其特征在于,所述方法包括:
8.一種網絡探測裝置,其特征在于,所述裝置包括:
9.一種網絡探測設備,其特征在于,所述設備包括:處理器,以及存儲有計算機程序指令的存儲器;所述處理器讀取并執行所述計算機程序指令,以實現如權利要求1-6任意一項所述的網絡探測方法。
10.一種計算機可讀存儲介質,其特征在于,所述計算機存儲介質上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現如權利要求1-6任意一項所述的網絡探測方法。