主動和被動測量結合的自治系統級網絡拓撲識別方法
【專利摘要】本發明公開了一種主動和被動測量結合的自治系統級網絡拓撲識別方法。其包括以下步驟:獲取IP級拓撲信息、得到路由器級拓撲信息、得到AS級拓撲信息和得到更新后的AS級拓撲信息。本發明的有益效果是:本發明的主動和被動測量結合的自治系統級網絡拓撲識別方法先將Traceroute數據源獲得的IP級拓撲信息映射到路由器級拓撲,再將路由器級拓撲映射到AS級拓撲,最后利用偵聽到的BGP路由表對之前利用Traceroute獲得的AS級拓撲信息進行補充和修正,得到完整的AS級拓撲信息,實現了高準確性和完整性的AS級拓撲恢復。
【專利說明】主動和被動測量結合的自治系統級網絡拓撲識別方法
【技術領域】
[0001]本發明屬于網絡拓撲識別方法【技術領域】,尤其涉及一種主動和被動測量結合的自治系統級網絡拓撲識別方法。
【背景技術】
[0002]過去的幾十年中,Internet的規模以指數速度高速增長,短短的幾十年,網絡已經演化成為一個龐大的“生態系統”,該系統作為信息社會的基礎設施滲透到了社會的各個方面,使人們的工作方式甚至生活方式發生了巨大的變化。但是這個看似無序的龐大系統的內在特性和形成機理的研究還未能有足夠多的能夠達到共識的成果。這主要受以下幾個因素的制約:首先,Internet發展的迅速超過了人們的預料;其次,人們更傾向于新協議和應用的研究開發;最后,隨著互聯網規模的不斷擴大,其拓撲結構越來越復雜,完整的拓撲測量數據很難獲得。網絡拓撲是各個網絡研究的基礎,具有非常重要的作用。其主要意義在于:(1)網絡拓撲的結構是網絡協議和網絡算法設計的基石。高效的網絡協議的設計無疑應該考慮底層網絡拓撲的特性;(2)網絡仿真環境的建立需要擬合實際網絡的拓撲結構,網絡拓撲結構的研究能為網絡仿真環境的建立提供理論基礎;(3)對于網絡拓撲結構的了解能夠對網絡的行為進行預測;(4)網絡拓撲結構對于網絡的安全特性和抗攻擊能力的研究具有重要價值;(5)網絡拓撲結構的宏觀特征能夠用于優化網絡的應用。所以,對網絡拓撲的測量是十分有必要的。網絡拓撲一般可分為三層overlay網絡拓撲、鏈路層網絡拓撲、網絡層網絡拓撲。在這三者中,對網絡層網絡拓撲的研究最多。對網絡層的實體分類,可以得到四個層次的網絡拓撲:AS級(自治域)、POP (Point of Presence)級、路由器級、IP接口級。所謂AS (Autonomous System),即自治系統,一個自治系統是一個有權自主地決定在本系統中應采用何種路由協議的小型單位。而所謂的AS級拓撲,指的是各個自治系統之間的連接關系。拓撲測量是指測量網絡的拓撲結構或者邏輯拓撲關系圖,以及具有地理信息的拓撲圖。自治系統(AS)級拓撲的測量與分析是一項互聯網絡的基礎研究,測量的目的在于尋找包含Internet結構信息的圖并探索其內在規律,從而預測網絡結構與技術、政策、經濟之間的互動。基于BGP的測量主要思想是通過偵聽BGP路由表和Update報文或BGP路由表中的AS_PATH屬性(BGP_AS_path)獲得大量AS級拓撲信息以得到AS級拓撲。BGP的路由信息獲得的是控制層的信息,反映在BGP路由層面上期望數據經過的鏈路,由于所連接的邊界網關路由器只會向采集點通告其最佳路由,所以即使其到某一目的地存在多條AS路徑,實際也只能捕獲其中一條,故以此方法獲得的拓撲存在很大的不完整性。基于Traceroute的主動測量主要思想是使用Traceroute進行大規模測量可以直接獲得IP級拓撲,再以此為基礎推斷得到路由器、PoP及AS級拓撲。這種主動探測的方式雖然獲得的信息量較大,能夠真實反映策略路由路徑,但與基于BGP的測量方法相比,后者更完整。原因之一是后者的源AS都來自于路由表,但在相同節點集上,后者比前者發現更多邊,特別是p2p的,然后由于前者是可信的,較大差異暗示后者可能含有實際不存在的邊,可信度較差,得到的拓撲必然會出現不正確。互聯網路由注冊(IRR)是一組全球分布的路由策略注冊數據庫,其注冊信息由人們自愿填寫,可以查詢公布的注冊路由的地址信息等,包含了基于BGP和Traceroute測量沒有探測到的路徑信息。可通過查詢IRR數據庫獲取AS路徑,從而獲得全球AS級拓撲。由于IRR數據是由ISP直接提供,而不是基于網絡的實際狀態,因此,這種數據源有一定的限制.其原因有兩個:(1)由于安全和管理的原因,這種數據往往不完整;(2) IRR的數據質量是值得懷疑的,同一個對象在不同的注冊信息可能不同,甚至有沖突。由于其固有的特性,不能精確反映網絡路由的實際狀態,因此,該測量方法也是有缺陷的。現有的AS級拓撲測量方法中,均是采用單一的數據源進行拓撲的測量,而Internet的規模龐大、結構復雜,要獲取完整的網絡拓撲信息單靠單一的數據源是不完整的,甚至是有錯誤的,比如在利用基于BGP的拓撲測量方法時,我們通過BGP路由表得到的AS級拓撲信息是不完整的,主要原因就是由于邊界網關路由器只會向采集點通告最佳路由,即如果到某一個目的地存在多條AS路徑時,我們通過該路由表只能獲得其中的一條最佳路徑。而基于Traceroute的拓撲測量方法本身較基于BGP的測量就存在嚴重的不完整性,加之該測量方法中間用到的IP-to-AS就會存在不可預知的映射錯誤,所以該測量方法也是不可靠的。其次,測量技術與數據源的多樣性可以改善拓撲完整性的問題,但目前尚未解決。
【發明內容】
[0003]為了解決以上問題,本發明提出了一種主動和被動測量結合的自治系統級網絡拓撲識別方法。
[0004]本發明的技術方案是:一種主動和被動測量結合的自治系統級網絡拓撲識別方法,包括以下步驟:
[0005]S1.利用Traceroute探測節點探測IP路徑,得到IP級拓撲信息,具體包括以下步驟:
[0006]Sll.將可路由的地址空間劃分為/24前綴空間,在每一個測量周期內隨機選取/24前綴空間內的一個IP地址;
[0007]S12.以步驟Sll中選取的IP地址構成一個IP地址列表;
[0008]S13.將步驟S12中的IP地址列表為此周期內的探測目標,對所有探測節點進行分組;
[0009]S14.將探測任務動態的分配給分組內的每個組員,每個分組之間獨立完成測量;
[0010]S15.根據步驟S14中探測到的IP路徑得到IP級拓撲信息;
[0011]S2.利用別名解析技術,根據步驟SI中得到的IP級拓撲信息映射得到路由器級拓撲信息;
[0012]S3.利用IP-to-AS映射關系和Router-to-AS映射關系,根據步驟S2中得到的路由器級拓撲?目息得到AS級拓撲彳目息;
[0013]S4.將步驟S3中得到的AS級拓撲信息與BGP路由表中的AS屬性信息進行對比,得到更新后的AS級拓撲信息,具體包括以下步驟:
[0014]S41.將BGP路由表中的AS屬性信息與步驟S3中得到的AS級拓撲信息進行對比篩選,判斷兩者是否相同;
[0015]S42.若兩者沒有相同源目的節點信息,則將BGP中的AS屬性信息補充進步驟S3中得到的AS級拓撲信息中,得到補充后的AS級拓撲信息;
[0016]S43.若兩者有相同源目的節點信息,則對比兩者中此源目的節點信息是否一致;
[0017]S44.若兩者中此源目的節點信息一致,則保留步驟S3中得到的AS級拓撲信息;
[0018]S45.若兩者中此源目的節點信息不一致,則將步驟S3中得到的AS級拓撲信息替換為BGP中的AS屬性信息,得到替換后的AS級拓撲信息;
[0019]S46.將步驟S42中得打的AS級拓撲信息與步驟S45中得到的AS級拓撲信息進行融合,得到更新后的AS級拓撲信息。
[0020]進一步地,上述步驟S2利用別名解析技術,根據步驟SI中得到的IP級拓撲信息映射得到路由器級拓撲信息具體包括以下步驟:
[0021]S21.探測主機分別向候選別名IPl和IP2發送目的端口不存在的UDP探測報文,并提取響應報文的IP標識符域,記為X和y ;
[0022]S22.探測主機向先響應的IP地址發送第三個UDP探測報文,提取端口不可達響應報文中的IP標識符域,記為Z ;
[0023]S23.若 x〈y〈z 且 | z_x |〈200,則 IPl 和 IP2 別名;
[0024]S24.若I z-x I >200,則別名不正確。
[0025]進一步地,上述步驟S3利用IP-to-AS映射關系和Router-to-AS映射關系,根據步驟S2中得到的路由器級拓撲信息得到AS級拓撲信息具體包括以下步驟:
[0026]S31.根據步驟S2中得到的路由器級拓撲信息,將每一條記錄按照從屬關系映射為最佳IP地址前綴;
[0027]S32.將步驟S31中的最佳IP地址前綴與BGP路由表進行對比,得到IP地址前綴的源AS號碼;
[0028]S33.根據策略判斷每個路由器對應的AS。
[0029]進一步地,上述步驟S33中策略具體包括以下步驟:
[0030]S331.若一個路由器的所有接口都映射到一個AS中,則該路由器映射到該AS ;
[0031]S332.若一個路由器所有接口對應的AS,則選取所有接口映射的AS中出現頻率最高的一個AS作為該路由器映射到的AS ;
[0032]S333.若路由器接口中有出現頻率相同的AS,則查詢該路由器的鄰居路由器,將該路由器的AS映射到鄰居路由器,重復步驟S331。
[0033]本發明的有益效果是:本發明的主動和被動測量結合的自治系統級網絡拓撲識別方法先將Traceroute數據源獲得的IP級拓撲信息映射到路由器級拓撲,再將路由器級拓撲映射到AS級拓撲,最后利用偵聽到的BGP路由表對之前利用Traceroute獲得的AS級拓撲信息進行補充和修正,得到完整的AS級拓撲信息,實現了高準確性和完整性的AS級拓撲恢復。
【專利附圖】
【附圖說明】
[0034]圖1是本發明的主動和被動測量結合的自治系統級網絡拓撲識別方法的流程示意圖。
[0035]圖2是本發明的IP標識符域別名解析的示意圖。
[0036]圖3是本發明的路由器級拓撲信息到AS級拓撲信息的映射流程示意圖。
[0037]圖4是本發明的Router-to-AS映射關系策略示意圖。
[0038]圖5是本發明的步驟S4的流程示意圖。
【具體實施方式】
[0039]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
[0040]如圖1所示,為本發明的主動和被動測量結合的自治系統級網絡拓撲識別方法的流程示意圖。一種主動和被動測量結合的自治系統級網絡拓撲識別方法,包括以下步驟:
[0041]S1.利用Traceroute探測節點探測IP路徑,得到IP級拓撲信息,具體包括以下步驟:
[0042]Sll.將可路由的地址空間劃分為/24前綴空間,在每一個測量周期內隨機選取/24前綴空間內的一個IP地址。
[0043]本發明需要在可路由的地址空間內盡可能多的設置Traceroute探測節點。這里我們將整個可路由的地址空間進行劃分,分為/24前綴空間,并在每一個測量周期內隨機選取/24前綴中一個IP地址。
[0044]S12.以步驟Sll中選取的IP地址構成一個IP地址列表。
[0045]S13.將步驟S12中的IP地址列表為此周期內的探測目標,對所有探測節點進行分組。
[0046]S14.將探測任務動態的分配給分組內的每個組員,每個分組之間獨立完成測量。
[0047]S15.根據步驟S14中探測到的IP路徑得到IP級拓撲信息。
[0048]S2.利用別名解析技術,根據步驟SI中得到的IP級拓撲信息映射得到路由器級拓撲信息,具體包括以下步驟:
[0049]S21.探測主機分別向候選別名IPl和IP2發送目的端口不存在的UDP探測報文,并提取響應報文的IP標識符域,記為X和y ;
[0050]S22.探測主機向先響應的IP地址發送第三個UDP探測報文,提取端口不可達響應報文中的IP標識符域,記為Z ;
[0051]S23.若 x〈y〈z 且 | z_x |〈200,則 IPl 和 IP2 別名;
[0052]S24.若I z-x I >200,則別名不正確。
[0053]由于IP路由器由眾多的IP接口構成,則在IP接口級數據基礎上做別名解析,識別屬于同一臺路由器的接口,再將其映射到路由器,構成路由器拓撲。這里的別名解析(Alias Resolut1n),就是識別出哪些IP地址屬于同一個路由器,然后將別名接口地址合并,以一個節點IP來表示這個路由器。通過這種方式才能將屬于同一個路由器的不同IP進行合并,從而得到路由器級的拓撲。本發明的路由器接口別名解析采用主動探測的方法,通過發送UDP探測包引發ICMP通知,并用IP報文首部中的IP標識符字段來檢測別名。如圖2所示,為本發明的IP標識符域別名解析的示意圖。
[0054]S3.利用IP-to-AS映射關系和Router-to-AS映射關系,根據步驟S2中得到的路由器級拓撲信息得到AS級拓撲信息,具體包括以下步驟:
[0055]S31.根據步驟S2中得到的路由器級拓撲信息,將每一條記錄按照從屬關系映射為最佳IP地址前綴。
[0056]對于每一條Traceroute記錄,將每一個IPr按照從屬關系映射為最佳的IP地址前綴,其中Traceroute記錄分別表示為IPl, IP2, IPr...IPn。由于存在路由聚合或其他一些因素,可能存在多個IP地址前綴匹配同一個地址IPr,這里我們采用最長匹配IPr的IP地址前綴作為映射結果。例如,IP地址前綴202.112.0.0/16和202.116.32.0/19同時匹配IP地址202.112.39.8,則取后者作為202.112.39.8的最佳匹配。
[0057]S32.將步驟S31中的最佳IP地址前綴與BGP路由表進行對比,得到IP地址前綴的源AS號碼。
[0058]在將IP地址映射到最佳的IP地址前綴后,本發明利用BGP表項實現將一個IP地址前綴映射到它的源AS號碼。BGP表的表項由Network、Next Hop和Path組成,如表I所示。本過程用到的是Network和Path項,即IP地址前綴和AS路徑。于是將一條BGP路由R抽象為一個二元R = (PREFIX, AS_PATH)。對于每一條BGP表的記錄(PREFIX,AS_PATH),若將 AS_PATH 表示為(AS1, AS2,...,ASN),則 Origin (AS_PATH) = ASN,對應下表中,Origin (AS_PATH)分別為 9829 和 10796。
[0059]
【權利要求】
1.一種主動和被動測量結合的自治系統級網絡拓撲識別方法,其特征在于,包括以下步驟: S1.利用Traceroute探測節點探測IP路徑,得到IP級拓撲信息,具體包括以下步驟: S11.將可路由的地址空間劃分為/24前綴空間,在每一個測量周期內隨機選取/24前綴空間內的一個IP地址; S12.以步驟Sll中選取的IP地址構成一個IP地址列表; S13.將步驟S12中的IP地址列表為此周期內的探測目標,對所有探測節點進行分組; S14.將探測任務分配給分組內的每個組員,每個分組之間獨立完成測量; S15.根據步驟S14中探測到的IP路徑得到IP級拓撲信息; S2.利用別名解析技術,根據步驟SI中得到的IP級拓撲信息映射得到路由器級拓撲信息; S3.利用IP-to-AS映射關系和Router-to-AS映射關系,根據步驟S2中得到的路由器級拓撲息得到AS級拓撲信息; S4.將步驟S3中得到的AS級拓撲信息與BGP路由表中的AS屬性信息進行對比,得到更新后的AS級拓撲信息,具體包括以下步驟: S41.將BGP路由表中的AS屬性信息與步驟S3中得到的AS級拓撲信息進行對比篩選,判斷兩者是否相同; 542.若兩者沒有相同源目的節點信息,則將BGP中的AS屬性信息補充進步驟S3中得到的AS級拓撲信息中,得到補充后的AS拓撲信息; S43.若兩者有相同源目的節點信息,則對比兩者中此源目的節點信息是否一致; S44.若兩者中此源目的節點信息一致,則保留步驟S3中得到的AS級拓撲信息; S45.若兩者中此源目的節點信息不一致,則將步驟S3中得到的AS級拓撲信息替換為BGP中的AS屬性信息,得到替換后的AS級拓撲信息; S46.將步驟S42中得到的AS級拓撲信息與步驟S45中得到的AS級拓撲信息進行融合,得到更新后的AS拓撲信息。
2.如權利要求1所述的主動和被動測量結合的自治系統級網絡拓撲識別方法,其特征在于,所述步驟S2利用別名解析技術,根據步驟SI中得到的IP級拓撲信息映射得到路由器級拓撲信息具體包括以下步驟: S21.探測主機分別向候選別名IPl和IP2發送目的端口不存在的UDP探測報文,并提取響應報文的IP標識符域,記為X和y ; S22.探測主機向先響應的IP地址發送第三個UDP探測報文,提取端口不可達響應報文中的IP標識符域,記為z ;
S23.若x〈y〈z 且 I z-x |〈200,則 IPl 和 IP2 別名; S24.若Iz-x I >200,則別名不正確。
3.如權利要求1所述的主動和被動測量結合的自治系統級網絡拓撲識別方法,其特征在于,所述步驟S3利用IP-to-AS映射關系和Router-to-AS映射關系,根據步驟S2中得到的路由器級拓撲信息得到AS級拓撲信息具體包括以下步驟: S31.根據步驟S2中得到的路由器級拓撲信息,將每一條記錄按照從屬關系映射為最佳IP地址前綴;S32.將步驟S31中的最佳IP地址前綴與BGP路由表進行對比,得到IP地址前綴的源AS號碼;S33.根據策略判斷每個路由器對應的AS。
4.如權利要求3所述的主動和被動測量結合的自治系統級網絡拓撲識別方法,其特征在于,所述步驟S33中策略具體包括以下步驟: S331.若一個路由器的所有接口都映射到一個AS中,則該路由器映射到該AS; S332.若一個路由器所有接口對應的AS,則選取所有接口映射的AS中出現頻率最高的一個AS作為該路由器映射到的AS ; S333.若路由器接口中有出現頻率相同的AS,則查詢該路由器的鄰居路由器,將該路由器的AS映射到鄰居路由器,重復步驟S331。
【文檔編號】H04L12/26GK104202211SQ201410424858
【公開日】2014年12月10日 申請日期:2014年8月25日 優先權日:2014年8月25日
【發明者】費高雷, 陳路璐, 胡光岷 申請人:電子科技大學