檢測路由器網絡時延的設備、系統和方法與流程
2023-12-08 20:17:33 2

本發明涉及網絡測試的技術領域,更具體地,涉及檢測路由器網絡時延的設備、系統和方法。
背景技術:
目前主流應用的無線網絡分為通過公眾移動通信網實現的無線網絡(如4G,3G或GPRS)和無線區域網(WiFi)兩種方式。隨著網絡技術的發展,無線區域網環境中的網絡時延越來越受到人們的重視。
常規的無線區域網網絡時延的測試中,測試人員通常需要額外搭建用於測試的網絡環境並手工進行測試。例如,參考圖1所示,首先搭建如圖示的測試環境,測試人員將測試電腦121採用有線的方式連接至路由器110,接著,分頭將各個終端設備122、123、124、125連接至路由器110,再手動在各個終端設備122-125上運行視頻的播放軟體。然後,測試人員再回到測試電腦121端,通過路由器110與各個終端設備122-125等建立連接之後進行測試。
這樣的測試方法存在以下弊端:
首先,需要測試人員手動搭建測試環境,並分頭操作各個終端連接wifi,操作繁瑣,效率低下;其次,由於不確定每個終端測試的結束時間,測試人員需要反覆去檢查測試狀態,耗時長,可操控性差;而且,測試人員需要將測試結果記錄手動從測試電腦121的不同測試窗口抄錄至測試報告中,該手工抄錄過程容易發生錯誤,無法確保測試結果的準確性。此外,由於各個終端需要通過視頻播放等業務來模擬用戶的真實使用環境,視頻播放的播放軟體、播放類型以及片源清晰度等條件的變化都會對測試結果造成不同影響,這種模擬測試過程由無法確保測試條件的配置一致,測試結果的一致性也比較差。
鑑於此,提供一種更為方便、快捷的路由器網絡時延檢測機製成為目前有待解決的技術問題。
技術實現要素:
本發明實施方式的目的旨在提供一種方便、快捷的路由器網絡時延檢測機制。
根據本發明的另一個方面,提供一種檢測路由器網絡時延的系統,所述設備與至少一個路由器相連接,且所述路由器通過無線網絡與至少一個目標設備相連接,其中,所述設備包括:檢測模塊,適於檢測是否存在啟動檢測的指令;連接模塊,適於根據所述目標設備與所述路由器的無線網絡連接,獲取所述目標設備的連接參數;時延檢測模塊,適於根據所述目標設備的所述連接參數和所述路由器的MAC地址,構建數據幀,經由所述路由器將所述數據幀發送至所述目標設備,以及接收由所述目標設備返回的應答包,並根據發送的數據幀及其應答,記錄時延和丟包率;處理模塊,適於根據檢測模塊所獲取的啟動檢測指令,將連接模塊所獲取的目標設備的連接參數傳輸至時延檢測模塊;當讀取並播放所述目標設備端的視頻資源之後,通過所述時延檢測模塊獲取時延和丟包率;以及根據所述時延和丟包率,形成檢測報告。
根據本發明的另一個方面,提供一種檢測路由器網絡時延的系統,適於檢測路由器的網絡時延,所述路由器分別與檢測裝置和至少一個目標裝置相連接,其中,所述檢測裝置包括:當接收到啟動檢測指令時,通過所述路由器獲取所述目標裝置的連接參數;根據該連接參數以及所述路由器的MAC地址,構建並發送數據幀;接收由所述目標裝置返回的應答包;根據發送的數據幀及其應答,記錄時延和丟包率;根據所述時延和丟包率,形成檢測報告。
根據本發明的一個方面,提供一種檢測路由器網絡時延的方法,包括:當存在檢測路由器網絡時延的指令時,建立路由器與至少一個目標設備的無線網絡連接並獲取該目標設備的連接參數,並通過路由器使所連接的目標設備播放預設的視頻資源;根據所述連接參數和所述路由器的MAC地址,構建數據幀,並經由所述路由器將所述數據幀發送至該目標設備,記錄發送時間;接收由所述目標設備返回的應答包,記錄是否接收以及接收時間;根據所記錄的時間,計算時延和丟包率;根據所述計算結果,形成檢測報告。
在本發明的各個實施例中,測試過程簡單,測試環境能夠可精確重現,測試結果具有較高的一致性,並且,在測試過程中,測試人員在點擊運行後,無需反覆檢查測試狀態,有效節約人力資源。此外,在本發明的各實施例中,可直接生成測試報告,無需測試人員二次抄錄,能夠有效避免人為操作引入誤差。相較於現有技術,本發明的各個實施例具有測試效率高,測試人力成本低,測試過程的可控性強,可重複性高以及精確性高等優點。
從下文結合附圖所做出的詳細描述中,本發明的這些和其他優點和特徵,連同其操作的組織和方式將變得明顯,其中在整個下文描述的若干附圖中,類似的元件將具有類似的編號。
附圖說明
圖1是現有技術中路由器網絡時延的測試環境框架示意圖;
圖2是本發明某些實施方式中一種檢測路由器網絡時延的設備的框架示意圖;
圖3是本發明某些實施方式中一種檢測路由器網絡時延的系統的框架示意圖;
圖4是本發明某些實施方式中一種檢測路由器網絡時延的方法的流程示意圖。
具體實施方式
下文將參考附圖更完整地描述本公開內容,其中在附圖中顯示了本公開內容的實施方式。但是這些實施方式可以用許多不同形式來實現並且不應該被解釋為限於本文所述的實施方式。相反地,提供這些實例以使得本公開內容將是透徹和完整的,並且將全面地向本領域的熟練技術人員表達本公開內容的範圍。
附圖中的流程圖和框圖,圖示了按照本發明各種實施例的裝置、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用於實現預定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。
術語「目標設備/裝置」旨在於覆蓋適合於與無線路由器建立連接的任何適當類型的電子設備,例如可能包括行動裝置(比如手機)、移動計算機、行動電話、便攜數據處理設備、便攜web瀏覽器、便攜遊戲設備、便攜數字相機/攝像機、便攜音頻/視頻播放器、便攜無線電接收機、便攜數字視頻記錄器、便攜定位設備、便攜穿戴式設備,也可能包括臺式計算機、膝上型計算機等,但不限於此。
參考圖2,在本發明的某種實施方式,一種檢測路由器網絡時延的設備200與至少一個路由器220相連接,且路由器220通過無線網絡與至少一個目標設備230相連接,其中該設備200可包含:
檢測模塊210,適於檢測是否存在啟動檢測的指令;
連接模塊212,適於建立目標設備230與路由器220的無線網絡連接並獲取目標設備230的連接參數;
時延檢測模塊214,適於根據目標設備230的所述連接參數和路由器220的MAC地址,構建數據幀,經由路由器220將所述數據幀發送至目標設備230,以及接收由目標設備230返回的應答包,並根據發送的數據幀及其應答,記錄時延和丟包率;
處理模塊216,適於根據檢測模塊210所獲取的啟動檢測指令,將連接模塊212所獲取的目標設備230的連接參數傳輸至時延檢測模塊214;讀取並播放目標設備230端的視頻資源之後,通過時延檢測模塊214獲取所述時延和所述丟包率;根據所述時延和丟包率,形成檢測報告。
具體來說,處理模塊216與路由器220通過數據線進行連接,處理模塊216與檢測模塊210、連接模塊212以及時延檢測模塊214之間分別建立數據通信通道,傳輸接收到的信號或數據。其中,連接模塊212可部署在目標設備230端,也可部署在與處理模塊216同一側。
在某些實施例中,當目標設備230建立了無線網絡連接之後,連接模塊212獲取目標設備230所分配到的IP位址,並將目標設備230的IP位址發送至處理模塊216,處理模塊216進一步將該IP位址發送至時延檢測模塊214;或者連接模塊212直接將該IP位址發送至時延檢測模塊214。
在某些實施方式中,時延檢測模塊214獲取目標設備230的IP位址和路由器220的MAC地址,構建以目標設備230為目的地的數據幀,經由路由器220發送所述數據幀,並記錄該數據幀的第一個比特進入路由器220的時間;接著,時延檢測模塊214檢測是否接收到目標設備230返回的應答包以及檢測等待時間是否超過閾值;當等待時間未超過閾值時,時延檢測模塊214收到目標設備230反饋的應答包,記錄最後一個比特從路由器220輸出的時間;當等待時間超過閾值且時延檢測模塊214尚未收到應答包時,時延就按冊模塊214向處理模塊216反饋指示等待超時的信號。在某些實施方式中,時延檢測模塊214可根據所記錄的數據幀第一個比特進入路由器220的時間以及應答包最後一個比特從路由器220輸出的時間,記錄時延。進一步地,時延檢測模塊214還統計丟包率。
在某些實施方式中,檢測路由器網絡時延的設備200還可包括設置模塊(圖未示),適於設置目標設備230待播放的視頻資源,例如可設置視頻資源的播放地址。處理模塊216從該設置模塊中讀取該視頻資源之後,發送至連接模塊212,並目標設備230對該視頻資源進行播放。進一步地,處理模塊216還可對該設置模塊中的視頻資源進行設置和編輯。
參考圖3,在本發明的某些方面,提供了一種檢測路由器網絡時延的系統300,適於檢測路由器320的網絡時延,分別與檢測裝置330和至少一個目標裝置310相連接。
根據某些實施例,目標裝置310與路由器320通過無線網絡進行連接,適於根據檢測裝置330的指令,返回連接參數,並播放預設的視頻資源。
根據某些實施例,檢測裝置330,與路由器320相連接,適於當接收到啟動檢測指令時,通過路由器320獲取目標裝置310的連接參數;根據該連接參數以及路由器320的MAC地址,構建並發送數據幀;接收由目標裝置310返回的應答包;根據發送的數據幀及其應答,記錄時延和丟包率;以及根據所述時延和丟包率,形成檢測報告。
在本發明的某一種具體實例中,路由器320的子網掩碼均為255.255.255.0,默認網關為192.168.0.1,目標裝置310的IP位址為192.168.1.4。當檢測裝置330接收到啟動檢測的指令時,通過檢測裝置330網絡接口連接目標裝置310,並獲取其IP位址。接著,檢測裝置330構建一個固定格式的ICMP請求數據包,並由ICMP協議將這個數據包連同地址「192.168.1.4」一起交給IP層協議。IP層協議通過比較目標裝潢之310的IP位址和自己的子網掩碼,發現它跟自己並不屬於同一網絡,於是通過查詢ARP緩存表或發起ARP請求廣播進一步獲取路由器320的MAC地址,然後連同路由器320的MAC地址一併發送給數據鏈路層,並由數據鏈路層構建一個數據幀,從而將該數據幀通過路由器320傳送至以地址「192.168.1.4」的目標裝置310。
目標裝置310收到這個數據幀後,先檢查它的目的地址,並和本機的物理地址對比,如符合,則接收;否則丟棄。接收後檢查該數據幀,將IP數據包從幀中提取出來,交給本機的IP層協議。同樣,IP層檢查後,將有用的信息提取並經由ICMP協議後,構建一個ICMP應答包,發送給檢測裝置330。
檢測裝置330在發送該數據幀以及接收到應答包時,記錄數據幀第一個比特進入路由器320的時間以及應答包最後一個比特從路由器320輸出的時間,並根據記錄的時間,計算最大時延、平均時延。進一步地,檢測裝置330還可對丟包率進行統計。
參考圖4,在本發明的某些方面,提供了一種檢測路由器網絡時延的方法,包括:
步驟S1,當存在檢測路由器網絡時延的指令時,建立路由器與至少一個目標設備的無線網絡連接並獲取該目標設備的連接參數,並通過路由器使所連接的目標設備播放預設的視頻資源;
步驟S2,根據所述連接參數和所述路由器的MAC地址,構建數據幀,並經由所述路由器將所述數據幀發送至該目標設備,記錄發送時間;接收由所述目標設備返回的應答包,記錄是否接收以及接收時間;
步驟S3,根據所記錄的時間,計算時延和丟包率;
步驟S4,根據所述計算結果,形成檢測報告。
本發明的教導還可以實現為一種計算機可讀存儲介質的電腦程式產品,包括電腦程式代碼,當電腦程式代碼由處理器執行時,其使得處理器能夠按照本發明實施方式的方法來實現服務信息的推送。計算機存儲介質可以為任何有形媒介,例如軟盤、CD-ROM、DVD、硬碟驅動器、甚至網絡介質等。
在某些具體實施方式中,首先,在主控電腦上通過RobotFrame Work自動化平臺採用Python腳本搭建檢測路由器網絡時延軟體的運作環境,並在手機端獲取安卓系統的wifi設置接口以及視頻播放接口。接著,執行步驟S1,通過安卓端接口對手機進行wifi連接,讀取手機端的IP位址並把該地址返回給主控電腦。接著,執行步驟S2,按照返回的IP位址,執行ping指令,通過Python腳本去控制有線連接的電腦端的手機終端。然後,執行步驟S3,通過ping指令,計算時延和丟包數據。接下來,執行步驟S4,通過Python的xlwt函數接口,編輯測試報告,把返回的最大時延、平均時延和丟包率數據按照設定的格式編輯成Excel表格,輸出成測試報告,從而使得測試人員通過系統生成的測試報告可以判斷用戶真實使用時,路由器到終端的無線網絡連接的延時測試數據。
相較於現有技術,本發明的各個實施例與手工測試相比,具有以下優勢:簡化了測試過程,提高測試的可操作性;提高了測試環境重現的精確性,確保測試結果的一致性;能夠有效減少人工幹預,降低測試數據誤差;可適用於所有的路由器,具有廣泛的適用性。
已經出於示出和描述的目的給出了本發明的說明書,但是其並不意在是窮舉的或者限制於所公開形式的發明。本領域技術人員在閱讀了本公開內容後,還可以想到很多修改和變體。上文描述的各種實施方式可以單獨使用或者在各種組合中使用,除非上下文明確指出。本領域技術人員應當理解,本發明實施方式中的方法和裝置可以以軟體、硬體、固件或其組合實現。在不脫離本發明精神的前提下,做出的所有修改和替換都將落入所附權利要求定義的本發明保護範圍內。