網絡質量測試方法、裝置、電子設備和可讀存儲介質與流程
2024-04-14 13:13:05 2
1.本技術涉及到網絡技術領域,具體而言,涉及網絡質量測試方法、裝置、電子設備和可讀存儲介質。
背景技術:
2.隨著網絡技術的發展,通過網絡提供的服務越來越多。網絡中一般會通過各種伺服器來提供相應的服務,除了各種伺服器之外,網絡中還存在用於連接這些伺服器的各種網絡設備,這些網絡設備和伺服器每天都會傳輸大量的數據,在下文中將位於網絡中並進行數據傳輸的各種網絡設備和伺服器統一稱為網絡節點。
3.對於網絡節點而言,其最重要的作用就是進行數據的傳輸,在現有技術中一般用帶寬來衡量網絡節點傳輸數據的速度。帶寬是指單位時間(一般為1秒鐘)內能夠傳輸的最大數據量。帶寬作為一種網絡資源,用戶可以根據自身的需要向運營商購買相應的帶寬,例如,如果用戶通過網絡提供的是視頻服務,則用戶需要為提供視頻服務的視頻伺服器來購買帶寬,考慮到視頻傳輸數據量大的特點,為視頻伺服器購買的帶寬就需要比較大。又例如,用戶通過網絡提供的是網頁服務,用戶需要為提供網頁服務的網頁伺服器來購買帶寬,相比於視頻來說網頁傳輸的數據量相對較小,因此,為網頁伺服器購買的帶寬可以小一些。
4.在購買到相應的帶寬之後,網絡節點就可以通過該帶寬來提供相應的服務,在提供服務之前,一般都需要對網絡節點進行測試,這種測試一般是功能和穩定性測試,用來測試伺服器提供的各種功能是否實現,以及各種功能是否穩定。但是,由於測試階段並沒有將服務開放給所有客戶,因此網絡節點中的數據流量並不是很大,即沒有真正測試過大數據量下的該網絡節點的網絡質量,即用戶並不知道在帶寬飽和度高的情況下,網絡節點的網絡質量如何。這導致了在網絡節點真正提供服務的時候,在網絡節點數據流量變大的確情況下,會出現網絡節點的網絡質量變差、嚴重影響業務的情況。
技術實現要素:
5.本技術實施例提供了網絡質量測試方法、裝置、電子設備和可讀存儲介質,以至少解決現有技術中對網絡節點的網絡質量進行測試時數據流量較小,從而無法得到在帶寬被一定程度佔用情況下的網絡質量的問題。
6.根據本技術的一個方面,提供了一種網絡質量測試方法,包括:確定待測試的網絡節點發送數據的速率;按照所述速率從所述待測試的網絡節點發送數據;在所述待測試的網絡節點使用所述速率發送數據的過程中,測量所述網絡節點的網絡傳輸參數,其中,所述網絡傳輸參數用於指示所述網絡節點的網絡質量;根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求。
7.根據本技術的另一個方面,還提供了一種網絡質量測試裝置,包括:第一確定模塊,用於確定待測試的網絡節點發送數據的速率;發送模塊,用於按照所述速率從所述待測試的網絡節點發送數據;測量模塊,用於在所述待測試的網絡節點使用所述速率發送數據
的過程中,測量所述網絡節點的網絡傳輸參數,其中,所述網絡傳輸參數用於指示所述網絡節點的網絡質量;第二確定模塊,用於根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求。
8.根據本技術的另一個方面,還提供了一種電子設備,包括存儲器和處理器;其中,所述存儲器用於存儲一條或多條計算機指令,其中,所述一條或多條計算機指令被所述處理器執行以實現上述的方法步驟。
9.根據本技術的另一個方面,還提供了一種可讀存儲介質,其上存儲有計算機指令,其中,該計算機指令被處理器執行時實現上述的方法步驟。
10.本技術實施例中,採用了確定待測試的網絡節點發送數據的速率;按照所述速率從所述待測試的網絡節點發送數據;在所述待測試的網絡節點使用所述速率發送數據的過程中,測量所述網絡節點的網絡傳輸參數,其中,所述網絡傳輸參數用於指示所述網絡節點的網絡質量;根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求。通過本技術解決了現有技術中對網絡節點的網絡質量進行測試時數據流量較小,從而無法得到在帶寬被一定程度佔用情況下的網絡質量的問題,進而能夠模擬帶寬被佔用各種情況,並在帶寬被佔用的各種情況下測試網絡質量是否符合要求。
附圖說明
11.構成本技術的一部分的附圖用來提供對本技術的進一步理解,本技術的示意性實施例及其說明用於解釋本技術,並不構成對本技術的不當限定。在附圖中:
12.圖1是根據本技術實施例的用於進行網絡質量測試的系統的示意圖;
13.圖2是根據本技術實施例的網絡質量測試的流程圖;
14.圖3是根據本技術實施例的丟包率隨速率變化的曲線的示意圖;以及,
15.圖4是根據本技術實施例的數據發送和接收的示意圖。
具體實施方式
16.需要說明的是,在不衝突的情況下,本技術中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本技術。
17.需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。
18.下面首先對以下實施方式中涉及到的技術術語進行說明。
19.用戶數據報協議
20.用戶數據報協議的英文全稱為user datagram protocol,簡稱為udp,udp是一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。udp協議和傳輸控制協議(transmission control protocol,簡稱為tcp)均位於傳輸層,與udp不同,tcp是一種面向連接的、可靠的通訊協議。所謂可靠的通訊協議是指在發送方將報文發送給接收方之後,接收方會發送確認消息來確認收到了該報文,而不可靠的通信協議並不關心接收方是否接收到該報文,即在發送方發送報文之後,發送方式無法得到報文是否完整達到接收方的。由於udp是不可靠的通訊協議,因此udp報文沒有用於進行可靠性保證和順序保證的欄位,也沒
有用於進行流量控制的欄位等。正因為udp協議中的欄位較少,因此相比於tcp來說,在數據傳輸過程中延遲小、數據傳輸效率高,適合對可靠性要求不高的應用程式,另外,在強調傳輸性能的應用場景中udp得到了大量的應用。例如,在音頻和視頻的傳輸中,會使用udp。
21.網際互連協議
22.網際互聯協議的英文全稱為internet protocol,簡稱為ip,它是tcp/ip體系中的網絡層協議。ip規定網絡上所有的設備都必須有一個獨一無二的ip地址。每個ip數據包都必須包含有目的設備的ip地址,數據包才可以正確地送到目的地。所有使用ip的網絡設備至少有一個唯一的ip地址。
23.網際網路控制報文協議
24.網際網路控制報文協議的英文全稱為internet control message protocol,簡稱為icmp。它是tcp/ip協議簇的一個子協議,用於在ip主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然並不傳輸用戶數據,但是可以探測用戶數據的發送方和接收方之間的網絡狀況。已經定義的icmp消息類型大約有10多種,每種icmp消息類型(type)都被封裝在一個ip數據包中。響應請求和時間戳是icmp消息類型中兩種,下面對這兩種消息類型進行分別說明。
25.響應請求:網絡維護人員日常使用最多的ping,就是響應請求(type=8)和應答(type=0),一個網絡節點向另一個節點發送一個type=8的icmp報文,如果途中沒有異常(例如被路由器丟棄、目標不回應icmp或傳輸失敗),則目標返回type=0的icmp報文,說明這個網絡節點存在。時間戳:時間戳請求報文(type=13)和時間戳應答報文(type=14)用於測試兩個節點之間數據報來回一次的傳輸時間。傳輸時,發送節點填充原始時間戳,接收節點收到請求後填充接收時間戳後以type=14的報文格式返回,發送節點根據接收到的報文中填寫的時間戳計算時間差。
26.丟包率
27.丟包率的英文全稱為packet loss rate,簡稱為loss。丟包率是指測試中所丟失數據數量佔所發送全部數據的比率。在正常網絡環境中均會出現丟包的情況,因此,只要丟包率沒有超過閾值,則說明該網絡的質量是可以接受的。
28.往返時延
29.往返時延的應為全稱為round-trip time,簡稱為rtt。在計算機網絡中它是一個重要的性能指標,表示從發送端發送數據開始,到發送端收到來自接收端的對該數據的確認總共經歷的時長。往返時延越小則說明網絡質量越高。
30.網絡節點
31.網絡節點是指與具有發送或接收數據功能的網絡相連的設備。節點可以是工作站、網絡用戶或個人計算機,還可以是伺服器、印表機和其他與網絡連接的設備。每一個工作站、伺服器、終端設備、網絡設備等只要是擁有網絡地址的設備都可以認為是網絡節點。整個網絡就是由這許許多多的網絡節點組成的,把許多的網絡節點用通信線路連接起來,即構成網絡。隨著技術的發展,網絡節點也可以是基於虛擬資源的虛擬節點,例如在網絡上提供的虛擬機等,因此,只要是在網絡上具有網絡地址並能夠進行網絡通信的設備、虛擬設備、服務等都可以認為是網絡節點。
32.圖1是根據本技術實施例的用於進行網絡質量測試的系統的示意圖,在圖1中,服
務器1到伺服器n在網絡中,伺服器1到伺服器n作為一個集群對外提供服務,例如,對外提供視頻服務或者網頁服務等。用戶是伺服器1到伺服器n的擁有者,其從運營商處為伺服器1到伺服器n購買了帶寬,終端設備可以通過網絡方位該伺服器集群(以下將伺服器集群簡稱為伺服器),伺服器集群會向終端設備發動相應的數據,這些數據均是佔據了用戶所購買的帶寬。在伺服器1到伺服器n正式對外提供服務之前,需要進行測試,這些伺服器就是待測試的網絡節點,當然待測試的網絡節點也可以是其他類型的網絡節點,在此不再一一贅述。
33.在現有技術中的測試均是對待測是的節點(即圖1中的伺服器)所提供的功能來進行測試的。但是只進行功能測試並不能滿足要求,這是因為測試環境與正式上線最大的不同在於,正式上線後,伺服器會向多個終端設備提供服務,此時,伺服器會向這些終端設備發送大量的數據,在這種情況下,運營商所提供的網絡是否會出現質量問題(如帶寬是否充足等),這也是需要進行測試。
34.作為一種可選的測試方法,可以使用大量的終端設備同時從伺服器獲取數據,這樣伺服器就會佔用大量的帶寬來向終端設備發送數據,例如,在伺服器為網頁伺服器的情況下,可以通過大量的終端設備或者其他網絡節點向該伺服器發送get請求(即獲取請求),然後伺服器響應於每個get請求向數據的請求方發送數據。這種方式需要大量的終端設備或其他網絡節點,搭建測試環境比較困難,另外也很難控制伺服器向外發送數據的速率,測試不夠準確。在另外一種測試方法中,還可以真實的訪問流量直接切換到伺服器上,這樣伺服器直接向訪問方提供大量的數據,這種測試方法雖然能夠讓伺服器發送大量數據,但是由於是直接向真實的訪問方提供數據,一旦出現問題,就已經對訪問方造成了影響。
35.為了解決上述問題,在以下實施方式中提供了一種網絡質量測試方法,圖2是根據本技術實施例的網絡質量測試的流程圖,圖2的方法通過讓待測試的網絡節點主動向外發送數據,通過這種方式可以佔據待測試的網絡節點的帶寬,然後在發送數據的過程中測量出用於表徵網絡質量的參數,從而確定在待測試的網絡節點中的帶寬被發送速率佔據一部分或全部的情況下,網絡質量是否符合要求。如圖2所示,下面對圖2中的方法所包括的步驟進行說明。
36.步驟s202,確定待測試的網絡節點發送數據的速率。
37.在該步驟中可以根據測試需要來確定發送數據的速率,例如,可以統計歷史上同類型的待測試的網絡節點在訪問最尖峰時間段內的發送數據的速率,然後根據確定使用該速率來發送數據,這樣就可以模擬待測試的網絡節點在訪問高峰時的表現。又例如,對於提供視頻服務的網絡節點來說,可以獲取網絡節點在進行預定類型的直播時的網絡節點的平均發送數據的速率,然後根據該速率控制待測試的網絡節點發送數據,通過這種發送數據的速率可以模擬日常直播時的網絡節點的流量,並進一步確定在該流量下運營上所提供的網絡質量是否還能夠滿足質量要求。
38.步驟s204,按照所述速率從所述待測試的網絡節點發送數據。
39.圖1中示出了一個示例性的網絡架構,在該網絡架構中,伺服器1到伺服器n為一個伺服器集群,該伺服器集群即為上述步驟中的待測試的網絡節點。執行圖2中各個步驟的主體可以是圖1中的控制部,該控制部可以是運維中心的某個伺服器,或者也可以是其他網絡節點中運行的程序等,在此並不進行限制,只要能夠與待測試的網絡節點進行通信,則均可以作為圖2中各個步驟的執行主體,例如該控制部也可以是安裝在圖1中伺服器集群內部的
一個應用程式。該控制部可以用來確定待測試的網絡節點發送數據的速率,並且可以需要進行測試的時候控制該待測試的網絡節點按照確定好的速率來發送數據。
40.在發送數據的時候,可以向多個數據的接收方進行發送。需要說明的是,在圖1中雖然示出的是一些終端設備來接收數據,但是數據的接收方可以不限於此,在網絡中只要在發送的數據中寫入相應的目的ip地址(即接收方的ip地址)形成數據包,則該數據就可以通過網絡發送出去。在發送數據的時候可以發送tcp協議的數據包,這種數據包需要接收方在接收到數據包之後發送確認消息,因此,待測試的網絡節點在發送數據包時最好能夠填入能夠正確處理該數據包的接收方的ip地址。作為另一個可選方式,udp數據包是基於不可靠傳輸的數據包,圖2中示出的方法的目的就是將待測試的網絡節點中的帶寬佔據一部分或全部之後測試網絡質量,即只要數據包能夠從待測試的網絡節點發出即可,該數據包是否被正確接收到並不影響測試的進行,因此,考慮到udp的特點,在該步驟中控制待測試的網絡節點按照確定的速率發送udp數據包是一個較優的選擇。這是因為udp數據包的接收方不會發送確認消息,這樣待測試的網絡節點也不許需要再額外處理這些確認消息。
41.步驟s206,在所述待測試的網絡節點使用所述速率發送數據的過程中,測量所述網絡節點的網絡傳輸參數,其中,所述網絡傳輸參數用於指示所述網絡節點的網絡質量。
42.用於表徵網絡質量的參數有很多種,例如丟包率、往返時延等,其中,丟包率越大則網絡質量越差,往返時延越大網絡質量也是越差。丟包率可以通過ping命令來得到,通過ping命令從待測試的網絡節點發送一個icmp類型為8的響應請求到至少一個接收方,如果接收到icmp類型為0的應答,則說明該icmp包沒有丟失,否則該icmp包丟失,經過一段時間的持續發送icmp類型為8的響應請求就可以計算得到丟包率,這種方式被稱作是ping丟包率。丟包率還可以通過待測試的網絡節點發送tcp數據包來進行測試,待測試的網絡節點可以向至少一個接收方發送tcp數據包,如果沒有接收到該tcp數據包的確認消息,則確定發送的tcp數據包丟失,經過一段時間的統計就可以計算得到丟包率,這種方式計算得到的丟包率被稱作是tcp丟包率。
43.往返時延也可以通過icmp來得到,從待測試的網路節點向至少一個接收方發送icmp類型為13的時間戳請求報文,然後接收到接收方返回的icmp類型為14的時間戳應答報文,通過這兩個報文中的時間戳就可以計算待測試的網絡節點和接收方這兩個節點之間數據報來回一次的傳輸時間。在實際實施時可以根據需要選擇丟包率和往返時延中的至少之一來確定網絡質量,當然,也可以採用其他網絡傳輸參數來確定網絡質量,在此不再一一贅述。
44.往返時延跟接收方所在的位置有關係,因此可以測量多種情況下的往返時延,例如,所述網絡節點向屬於同一地理區域的網絡地址發送數據產生的往返時延,和/或,所述網絡節點向不屬於同一地理區域的網絡地址發送數據產生的往返時延。這裡所指的地理區域可以是不同的省,也可以是不同的市等。發送給不同網絡地址的數據所產生的往返時延可能是不同的,如發往外省的往返時延可能比較大,發往本省的往返時延比較小,因此也可以針對不同的數據接收方的網絡地址確定對應的往返時延要求,以供步驟s208進行網絡質量評估使用。
45.步驟s208,根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求。
46.網絡質量的要求可以是預先確定的,可以針對每個網絡參數來制定條件,在滿足該條件的情況下就可以認為網絡質量符合要求。該網絡質量的要求也是可以靈活調整的,例如對於不同類型的待測試的網絡節點該要求可以不同;又例如,針對不同的時間段該要求也可以不同等等。在該步驟中對於不同的速率可以對應不同的網絡質量要求,例如,如果速率高於第一閾值,則滿足條件a就認為網絡質量符合要求;如果速率高於第二閾值,則滿足條件b就認為網絡質量符合要求等。
47.在上述步驟中,通過從待測試的網絡節點以一定速率發送數據,在這種情況下可以模擬出網路節點在真實場景下工作情況,然後在待測試的網絡節點發送數據的過程中對網絡質量進行測試,可以得到相對準確的網絡質量情況,因此,通過上述步驟解決了現有技術中對網絡節點的網絡質量進行測試時數據流量較小,從而無法得到在帶寬被一定程度佔用情況下的網絡質量的問題,進而能夠模擬帶寬被佔用各種情況,並在帶寬被佔用的各種情況下測試網絡質量是否符合要求。
48.需要說明的是,待測試的網絡節點的帶寬一般是固定的,例如,待測試的網路節點的擁有者從運營商處購買了1000m比特/秒的帶寬,運營商在銷售該帶寬的時候會許諾一定的網絡質量,例如,在帶寬被使用了90%的情況下,丟包率不會大於1%等。此時可以帶寬以及運營商許諾的網絡質量條件來進行測試。在該可選實施方式中,確定待測試的網絡節點發送數據的速率可以包括如下步驟:獲取所述待測試的網絡節點的帶寬;根據所述待測試的網絡節點的帶寬確定所述發送數據的速率,其中,所述速率小於等於所述帶寬。在本段例子中,運行商許諾了帶寬被使用90%下的丟包率,此時就可以將帶寬的90%作為發送數據的速率,即1000m比特/秒*90%=900m比特/每秒。
49.在另一個可選實施方式中,如果運營商沒有提供相應的網絡質量數據,此時,可以測試多個速率下的網絡質量,即根據所述帶寬確定所述發送數據的速率可以包括如下步驟:根據所述帶寬確定發送數據的多個速率,其中,所述多個速率包括:第一速率到第n速率,從所述第一速率到所述第n速率依次增加,所述第n速率小於或者等於所述帶寬;測量所述網絡節點的網絡傳輸參數可以包括如下步驟:在依次使用所述第一速率到第n速率發送數據的過程中,測量並保存所述多個速率中的每個速率對應的網絡傳輸參數。例如,確定需要測試的發送數據的速率為10個,分別為帶寬的10%、20%一直到100%,此時發送數據的速率為100m比特/每秒、200m比特/每秒一直到1000m比特/每秒。在另一個例子中,不同的數據的發送速率之間的差值可以不是恆定的,可以約靠近帶寬的情況下,差距越小。例如,可以確定如下幾個需要獲取網絡傳輸參數的發送速率:100m比特/每秒、500m比特/每秒、800m比特/每秒、900m比特/每秒、950m比特/每秒、980m比特/每秒以及1000m比特/每秒,考慮到帶寬未被佔滿的情況下,網絡傳輸參數的差距變化應該不會很大,隨著帶寬被逐漸佔用,網絡傳輸參數也會發生比較大的變化,因此,這種速率的布局方式有利於得到更加準確的網絡質量。
50.在使用了多個速率分別進行測試得到每個速率下對應的網絡傳輸參數之後,可以針對每個速率確定該速率下網絡是否符合要求。在一個可選實施方式中,根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求可以包括如下步驟:將所述每個速率對應的網絡傳輸參數的值與預先得到的數值範圍進行比較;如果所述網絡傳輸參數的值落入到所述數值範圍內,則確定在該速率下所述網絡節點的網絡質量符合要求;
如果所述網絡傳輸參數的值未落入所述數據範圍內,則確定在該速率下所述網絡節點的網絡質量不符合要求。在一個可選的方式中,該預先得到的數值範圍可以是在網絡節點空載的情況下測試得到的,網絡節點在空載的時候,其帶寬並未被佔用,在這種情況下測試得到的網絡傳輸參數最能夠代表網絡質量的要求。
51.在上述例子中,可以分別獲取100m比特/每秒、500m比特/每秒、800m比特/每秒、900m比特/每秒、950m比特/每秒、980m比特/每秒以及1000m比特/每秒對應的丟包率,然後判斷哪些速率下網絡質量是符合要求的。需要說明的是,不同的速率可以對應相同的丟包率,也可以對應不同的丟包率。例如,100m比特/每秒、500m比特/每秒、800m比特/每秒這三個速率下的丟包率如果小於1%則認為網絡質量符合要求,900m比特/每秒、950m比特/每秒這兩個速率下的丟包率如果小於3%則認為網絡質量符合要求,980m比特/每秒、1000m比特/每秒這兩個速率下的丟包率如果小於5%則認為網絡質量符合要求等。
52.在另一個例子中,待測試的網絡節點發送數據的速率之間的間隔可以更小,例如,可以從100m比特/每秒開始,此次間隔5m比特/每秒就進行測量一下網絡傳輸參數的值,一直到1000m比特/每秒。通過這種此時可以得到很多速率對應的網絡傳輸參數的值,然後可以所述每個速率對應的網絡傳輸參數的值繪製為曲線;根據所述曲線確定所述曲線中數值變化突然變化的點(例如,兩個點之間的差值超過閾值;又例如曲線上某個點斜率也可以體現出變化趨勢,一個點的斜率超過閾值也能說明數據突然變化了);獲取所述點對應的速率值。在該速率值下說明網絡傳輸質量開始變差,可以將該點對應的速率作為能夠使所述網絡節點的網絡質量符合要求的最大速率。圖3是根據本技術實施例的丟包率隨速率變化的曲線的示意圖,如圖3所示,隨著發送數據的速率(在圖3中也稱為水位)的增加,ping丟包率和tcp丟包率也隨之增長,需要主要的是,在22:00的時候ping丟包率和tcp丟包率的曲線的斜率發生了突然增加,此時對應的發送數據的速率為帶寬的75%,這說明在帶寬的75%被佔用之前,網絡質量是可靠的,在帶寬被佔用75%之後,網絡質量就不再可靠了。圖3中的內網丟包率可以理解為圖1中各個伺服器之間發送數據的丟包率,由於這些伺服器在內網,因此稱為內網丟包率,伺服器通過內網之間傳輸數據是不佔用帶寬的,因此,內網丟包率沒有明顯的變化。
53.圖3中,在根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求之後,所述方法還包括:獲取符合所述質量要求下的最大速率,需要說明的是如果發送數據的速率超過該最大速率,則網絡質量得不到保證,因此,在實際使用時網絡節點的帶寬佔用最好不要超過該最大速率,即可以將所述最大速率作為所述符合所述質量要求下的所述網絡節點的實際帶寬。圖3中符合質量要求的實際帶寬為運營商提供帶寬的75%,需要注意的是,安全水位警戒線是運營上許諾的能夠保證網絡質量的帶寬使用量,即在85%帶寬均被佔據的情況下,網絡質量是能夠得到保證的,但是經過測試可知在帶寬被佔用75%之後,網絡質量就出現了明顯的下降,這與運營商許諾的85%還存在一定的差距。在另一個實施方式中,還可以將所述最大速率與獲取到的所述網絡節點的所述帶寬進行比較;確定所述最大速率與所述帶寬的差距。通過上述實施方式,不僅僅能夠得到網絡質量還能夠得到在佔據最多多少帶寬時仍然能夠保證網絡的質量,並且將測試得到值與運營商許諾的值進行比較,就可以發現運營商實際提供的網絡帶寬是否小於實際售賣帶寬,導致帶寬在未達到實際售賣容量的情況下而出現嚴重質量變化。
54.在上述可選實施方式中是通過待測試的網絡節點發送數據佔據帶寬的方式來進行網絡質量的測試的。通常情況下,帶寬可以分為上行帶寬和下行帶寬,對於待測試的網絡節點而言,其發送數據使用的帶寬就是下行帶寬,其接收數據所使用的帶寬就是上行帶寬。由於網絡節點是對外提供服務的,所以其下行帶寬的多少更加重要,上述實施方式中主要是用來在佔據下行帶寬時測試網絡質量。待測試的網絡節點在發送數據的時候,為了避免對其他用戶的幹擾,可以向未被使用的網絡地址發送數據,即按照所述速率從所述待測試的網絡節點發送所述數據可以包括如下步驟:查找未被使用的網絡地址;從查找到未被的網絡地址中選擇一個或多個網絡地址;按照所述速率從所述網絡節點向所述一個或多個網絡地址發送所述數據。向未使用的ip地址發送數據可以避免因此測試而對其他網絡節點造成幹擾,這些未被使用的ip地址可以是同一網絡運營商的,向同一網絡運營上中的未使用的ip地址發送數據可以保證傳輸數據的速率。為了進一步防止對其他用戶的幹擾,從查找到的網絡地址中選擇一個或多個網絡地址可以包括:獲取所述網絡節點的擁有者的信息;根據所述擁有者的信息從查找到的網路地址中選擇屬於所述擁有者的一個或多個網絡地址。這樣,待測試的網絡節點使用自己的ip地址來測試,完全避免了幹擾其他用戶的行為。
55.需要說明的是,雖然這些ip地址是未被使用的,但是這些ip地址也是有自己的上行帶寬的,在一個可選的實施方式中,在所述網絡地址為多個的情況下,根據所述速率從所述網絡節點向多個網絡地址發送所述數據可以包括如下步驟:獲取所述多個網絡地址中的每個網絡地址的上行帶寬,其中,所述上行帶寬是該網絡地址接收數據的帶寬;根據所述每個網絡地址的上行帶寬在所述多個網絡地址的上行帶寬之和中所佔的比例,確定向每個網絡地址發送數據的速率;根據向所述每個網絡地址發送數據的速率從所述網絡節點向所述每個網絡地址發送數據。在該可選方式中,尋找與待測網絡節點同網絡運營商的自有節點作為靶機節點(即數據的接收方)。然後,分析靶機節點,尋找未使用的ip地址,按照自有節點帶寬權重計算目標靶機節點ip地址分布。通過udp定量定向發包程序,向各目標靶機節點發送數據,使udp數據對待測試的網絡節點的出口造成一定量的壓力(例如85%)。然後評估udp壓測前後的rtt和loss變化趨勢,若質量產生明顯變化,則通過調整的壓測力度(即發送數據的速率)找到質量拐點,評估節點超賣比率,即實際能夠使用的帶寬和運營上許諾的帶寬之間的比例。
56.另外,在選擇出的需要確保接收數據的目標地址的帶寬總和是待測節點帶寬的n倍,n的最優取值為大於等於為3,無上限要求,這樣可以保證接收數據的網絡地址所在的網絡節點不會出現問題。
57.圖4是根據本技術實施例的數據發送和接收的示意圖,如圖4所示,待測試的網絡節點的下行帶寬為200gbps(比特/每秒),按照佔用95%的下行帶寬來計算,發送數據的速率為190gbps,五個接收方的上行帶寬分別為40gbps、80gbps、60gbps、100gbps、160gbps,按照上行帶寬的比例計算得到向這五個接收方發送數據的速率分別為:17.3gbps、34.5gbps、25.9gbps、43.2gbps、69.1gbps。通過圖4中示出的方式可以更好的利用各個接收方的上行帶寬。
58.在上述實施方式中,採用待測試的網絡節點自行發送數據的方法實現壓力測試,即在網絡節點內部主動向外發包,把出口帶寬填充到一定比例(例如95%),長時間觀測ping命令的指標變化趨勢。通過上述實施方式對於下行帶寬通過控制發送數據的速率可以
精準控制帶寬擁塞比率,從而可以測出質量拐點的合理帶寬。還可以根據需要選擇不同的時間段來進行測試,在發送數據的時候只要填寫了正確的目標ip地址就可以將數據發送出去,即使目標ip地址未分配使用也不影響壓力測試,因為只要填寫了正確的ip地址,就可以確保流量達到待測試的網絡節點的出口路由。整個壓力測試的過程無需使用真正訪問流量,不會因節點出現問題而影響服務的提供。
59.在本實施例中,提供一種電子裝置,包括存儲器和處理器,存儲器中存儲有電腦程式,處理器被設置為運行電腦程式以執行以上實施例中的方法。
60.上述程序可以運行在處理器中,或者也可以存儲在存儲器中(或稱為計算機可讀介質),計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調製的數據信號和載波。
61.這些電腦程式也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟,對應與不同的步驟可以通過不同的模塊來實現。
62.該本實施例中就提供了這樣的一種裝置。該裝置被稱為一種網絡質量測試裝置,包括:第一確定模塊,用於確定待測試的網絡節點發送數據的速率;發送模塊,用於按照所述速率從所述待測試的網絡節點發送數據;測量模塊,用於在所述待測試的網絡節點使用所述速率發送數據的過程中,測量所述網絡節點的網絡傳輸參數,其中,所述網絡傳輸參數用於指示所述網絡節點的網絡質量;第二確定模塊,用於根據所述網絡傳輸參數確定在所述速率下所述網絡節點的網絡質量是否符合要求。
63.該系統或者裝置用於實現上述的實施例中的方法的功能,該系統或者裝置中的每個模塊與方法中的每個步驟相對應,已經在方法中進行過說明的,在此不再贅述。
64.可選地,所述第一確定模塊,用於獲取所述待測試的網絡節點的帶寬;根據所述待測試的網絡節點的帶寬確定所述發送數據的速率,其中,所述速率小於等於所述帶寬。
65.可選地,所述第一確定模塊,用於根據所述帶寬確定發送數據的多個速率,其中,所述多個速率包括:第一速率到第n速率,從所述第一速率到所述第n速率依次增加,所述第n速率小於或者等於所述帶寬;所述測量模塊用於:在依次使用所述第一速率到第n速率發送數據的過程中,測量並保存所述多個速率中的每個速率對應的網絡傳輸參數。
66.可選地,所述第二確定模塊,用於將所述每個速率對應的網絡傳輸參數的值與預先得到的數值範圍進行比較;如果所述網絡傳輸參數的值落入到所述數值範圍內,則確定在該速率下所述網絡節點的網絡質量符合要求;如果所述網絡傳輸參數的值未落入所述數據範圍內,則確定在該速率下所述網絡節點的網絡質量不符合要求。
67.可選地,所述預先得到的數據範圍是在所述網絡節點的帶寬未被佔用的情況下測
試得到的。
68.可選地,所述裝置還包括:處理模塊,用於獲取將所述最大速率與獲取到的所述網絡節點的所述帶寬進行比較;確定所述最大速率與所述帶寬的差距。
69.可選地,所述網絡傳輸參數包括以下至少之一:丟包率、往返時延,其中,所述往返時延包括以下至少之一:所述網絡節點向屬於同一地理區域的網絡地址發送數據產生的往返時延、所述網絡節點向不屬於同一地理區域的網絡地址發送數據產生的往返時延;和/或,所述待測試的網絡節點通過用戶數據報協議發送所述數據。
70.可選地,所述發送模塊用於查找未被使用的網絡地址;獲取所述網絡節點的擁有者的信息,並根據所述擁有者的信息從查找到的未被使用的網絡地址中選擇屬於所述擁有者的一個或多個網絡地址;按照所述速率從所述網絡節點向所述一個或多個網絡地址發送所述數據。
71.可選地,所述發送模塊,用於在所述網絡地址為多個的情況下,獲取所述多個網絡地址中的每個網絡地址的上行帶寬,其中,所述上行帶寬是該網絡地址接收數據的帶寬;根據所述每個網絡地址的上行帶寬在所述多個網絡地址的上行帶寬之和中所佔的比例,確定向每個網絡地址發送數據的速率;根據向所述每個網絡地址發送數據的速率從所述網絡節點向所述每個網絡地址發送數據。
72.通過上述實施方式解決了現有技術中對網絡節點的網絡質量進行測試時數據流量較小,從而無法得到在帶寬被一定程度佔用情況下的網絡質量的問題,進而能夠模擬帶寬被佔用各種情況,並在帶寬被佔用的各種情況下測試網絡質量是否符合要求。
73.以上僅為本技術的實施例而已,並不用於限制本技術。對於本領域技術人員來說,本技術可以有各種更改和變化。凡在本技術的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本技術的權利要求範圍之內。