一種測量網絡時延的方法和設備的制造方法
【技術領域】
[0001]本發明涉及網絡性能測試領域,特別是涉及一種測量網絡時延的方法和設備。
【背景技術】
[0002]在互聯網中,數據從一個網絡設備端傳輸到另一個網絡設備端之間需要一定的時間,該數據傳輸的時間即是該兩個網絡設備端之間的網絡時延。網絡時延能夠體現網絡設備端之間數據傳輸的性能,是網絡性能的重要參考依據之一。因此,在許多實際的應用場景中需要測量網絡時延,以便依據網絡時延配置網絡。例如,對于內容分發網絡(ContentDelivery Network,簡稱⑶N)來說,用戶端與服務器端之間的網絡時延是⑶N網絡性能的重要因素,因此,在因特網內容提供商(Internet Content Provider,簡稱ICP)選擇⑶N時,需要測量各備選的CDN中用戶端與服務器端之間的網絡時延。
[0003]目前,已經出現了一些測量網絡時延的實現方式。例如,在一種現有的網絡時延測量方式中,兩個網絡設備端之間的網絡時延可以被認為是相當于網絡中分別與該兩個網絡設備端最近的兩個域名解析服務器(Domain Name Service,簡稱DNS)之間的網絡時延。具體地,當需要測量兩個網絡設備端之間的網絡時延時,先利用DNS反向解析技術分別查找到服務于該兩個網絡設備端的DNS服務器,然后,根據IP地址前綴的匹配,從查找到的DNS服務器中確定分別與該兩個網絡設備端最近的兩個DNS服務器,最后,通過KING的方式測量該兩個DNS服務器之間的網絡時延,作為前述兩個網絡設備端的網絡時延。可以理解的是,對于具有大量網絡設備端的網絡來說,整個網絡的網絡時延統計需要測量大量的網絡設備端間的網絡時延,而由于大量的網絡設備端間的網絡時延可以被相對少量的DNS服務器間網絡時延所表示,因此,對于整個網絡的網絡時延統計就無需在大量的網絡設備端間傳輸大量用于測量的消息,而僅需在相對少量的DNS服務器間傳輸相對少量用于測量的消息,從而減少了網絡時延測量占用的網絡負載,使得網絡時延的測量開銷得以減小。
[0004]需要說明的是,以DNS服務器間的網絡時延測量替代網絡設備端間的網絡時延測量,實際上是忽略了網絡設備端與DNS服務器之間的網絡時延,因此,需要找到與網絡設備端最近的DNS服務器來測量網絡時延。在現有技術中,與網絡設備端最近的DNS服務器是根據IP地址前綴的匹配從服務于網絡設備端的DNS服務器中確定的,但是,IP地址前綴往往并不能反映出DNS服務器與網絡設備端之間的實際距離,有時,即使網絡設備端與DNS服務器兩者的IP地址前綴互相匹配,兩者之間往往實際距離也是很遠的,兩者之間的實際網絡時延往往也很大,因此,現有技術中,通過IP地址前綴的匹配難以準確地找到與網絡設備端最近的DNS服務器,導致用于測量的DNS服務器與網絡設備端之間的網絡時延較大,從而造成網絡設備端之間網絡時延測量不準確。
【發明內容】
[0005]本發明所要解決的技術問題是,提供一種測量網絡時延的方法和設備,以解決按照現有技術中通過IP地址前綴的匹配來確定與網絡設備端最近的DNS服務器而導致的無法準確地找到與網絡設備端最近的DNS服務器以及無法準確地測量網絡設備端之間網絡時延的技術問題。
[0006]為解決上述技術問題,本發明實施例的第一方面,提供了一種測量網絡時延的方法,該方法包括:
[0007]查找網絡中可用于測量網絡時延的可用基礎設施,并為各個可用基礎設施及各個待測網絡設備端構建網絡坐標;
[0008]基于各個所述可用基礎設施及各個所述待測網絡設備端的網絡坐標,確定各個所述待測網絡設備端最近的可用基礎設施;
[0009]對于任意兩個可用基礎設施,通過在兩個所述可用基礎設施之間傳輸用于測量的消息,測量兩個所述可用基礎設施之間的網絡時延;
[0010]對于任意兩個待測網絡設備端,將兩個所述待測網絡設備端最近的可用基礎設施之間的網絡時延確定為兩個所述待測網絡設備端之間的網絡時延。
[0011]可選的,所述可用基礎設施包括可控的測量節點、可控的測量終端和/或支持迭代查詢的開放域名解析服務器。
[0012]可選的,所述測量節點和所述測量終端通過預先保存的網絡配置信息查找,所述支持迭代查詢的開放域名解析服務器通過DNS反向解析技術查找。
[0013]可選的,所述基于各個所述可用基礎設施及各個所述待測網絡設備端的網絡坐標,確定各個所述待測網絡設備端最近的可用基礎設施,包括:
[0014]為每個可用基礎設施建立一個聚類簇;
[0015]基于各個所述可用基礎設施的網絡坐標及各個所述待測網絡設備端的網絡坐標,確定各個所述待測網絡設備端最近的可用基礎設施;
[0016]將各個所述待測網絡設備端劃分到各自最近的可用基礎設施的聚類簇中。
[0017]可選的,所述對于任意兩個可用基礎設施,通過在兩個所述可用基礎設施之間傳輸用于測量的消息,測量兩個所述可用基礎設施之間的網絡時延,包括:
[0018]響應于兩個所述可選基礎設施中存在測量節點和/或測量終端,通過PING的方式測量兩個所述可選基礎設施之間的網絡時延;
[0019]響應于兩個所述可選基礎設施均為開放域名解析服務器,通過KING的方式測量兩個所述可選基礎設施之間的網絡時延。
[0020]可選的,所述方法還包括:
[0021]響應于所述可用基礎設施的前一次查找距離當前時刻達到預設的更新時間,重新查找網絡中可用于測量網絡時延的可用基礎設施,為各個當前查找到的可用基礎設施重新構建網絡坐標,并對于任意兩個當前查找到的可用基礎設施,通過在兩個當前查找到的可用基礎設施之間傳輸用于測量的消息,重新測量兩個當前查找到的可用基礎設施之間的網絡時延。
[0022]本發明實施例的第二方面,提供了一種測量網絡時延的方法,該方法包括:
[0023]以待測網絡中的各個網絡設備端作為待測網絡設備端,利用前述第一方面任意一種實施方式的方法測量所述待測網絡中各對網絡設備端之間的網絡時延;
[0024]基于所述待測網絡中各對網絡設備端之間的網絡時延,計算所述待測網絡的網絡時延統計值。
[0025]可選的,所述待測網絡的網絡時延統計值包括:所述待測網絡的網絡時延平均值和/或所述待測網絡的網絡時延排位值;其中,所述待測網絡的網絡時延平均值表示所述待測網絡中各對網絡設備端之間的網絡時延的平均值,所述待測網絡的網絡時延排位值表示在所述待測網絡各對網絡設備端之間網絡時延的排序中處于特定排序位置的網絡時延的數值。
[0026]本發明實施例的第三方面,提供了一種測量網絡時延的設備,該設備包括:
[0027]查找模塊,用于查找網絡中可用于測量網絡時延的可用基礎設施;
[0028]構建模塊,用于為各個可用基礎設施及各個待測網絡設備端構建網絡坐標;
[0029]第一確定模塊,用于基于各個所述可用基礎設施及各個所述待測網絡設備端的網絡坐標,確定各個所述待測網絡設備端最近的可用基礎設施;
[0030]第一測量模塊,用于對于任意兩個可用基礎設施,通過在兩個所述可用基礎設施之間傳輸用于測量的消息,測量兩個所述可用基礎設施之間的網絡時延;
[0031]第二確定模塊,用于對于任意兩個待測網絡設備端,將兩個所述待測網絡設備端最近的可用基礎設施之間的網絡時延確定為兩個所述待測網絡設備端之間的網絡時延。
[0032]可選的,所述可用基礎設施包括可控的測量節點、可控的測量終端和/或支持迭代查詢的開放域名解析服務器。
[0033]可選的,所述測量節點和所述測量終端通過預先保存的網絡配置信息查找;所述支持迭代查詢的開放域名解析服務器通過DNS反向解析技術查找。
[0034]可選的,所述第一確定模塊包括:
[0035]建立子模塊,用于為每個可用基礎設施建立一個聚類簇;
[0036]確定子模塊,用于基于各個所述可用基礎設施的網絡坐標及各個所述待測網絡設備端的網絡坐標,確定各個所述待測網絡設備端最近的可用基礎設施;
[0037]劃分子模塊,用于將各個所述待測網絡設備端劃分到各自最近的可用基礎設施的聚類簇中。
[0038]可選的,所述第一測量模塊包括:
[0039]第一發送模塊,用于響應于兩個所述可選基礎設施中存在測量節點和/或測量終端,通過PING的方式測量兩個所述可選基礎設施之間的網絡時延;
[0040]第二發送模塊,用于響應于兩個所述可選基礎設施均為開放域名解析服務器,通過KING的方