一種自治系統(tǒng)級(jí)網(wǎng)絡(luò)拓?fù)渥R(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)拓?fù)浼夹g(shù)領(lǐng)域,具體涉及一種自治系統(tǒng)級(jí)網(wǎng)絡(luò)拓?fù)渥R(shí)別方法的設(shè) 計(jì)。
【背景技術(shù)】
[0002] 在如今這樣一個(gè)信息技術(shù)高速發(fā)展的時(shí)代,網(wǎng)絡(luò)早已滲透于當(dāng)今社會(huì)各行各業(yè), 并且深深地影響與改變著人們的生活,人們也逐漸有意識(shí)地想要對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行識(shí)別 與分析。作為實(shí)踐與理論網(wǎng)絡(luò)研究的基石,互聯(lián)網(wǎng)的網(wǎng)絡(luò)拓?fù)浞治龊徒T谌缃裨絹?lái)越引 起更廣泛的關(guān)注。網(wǎng)絡(luò)流量特性、安全特性、性能特性,應(yīng)用、路由程序和協(xié)議性能評(píng)價(jià)、網(wǎng) 絡(luò)在遭遇攻擊時(shí)的健壯性等,都有網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)決定。所以,學(xué)者們都更傾向于研究各 種網(wǎng)絡(luò)識(shí)別技術(shù)從而捕獲網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并且希望可以從真實(shí)的數(shù)據(jù)中獲取真實(shí)的網(wǎng)絡(luò)拓 撲。
[0003] 依據(jù)網(wǎng)絡(luò)的定義可以將網(wǎng)絡(luò)拓?fù)鋭澐譃槿齻€(gè)層次:基于網(wǎng)絡(luò)層、基于鏈路層以及 Overlay網(wǎng)絡(luò)拓?fù)?。在這三類網(wǎng)絡(luò)拓?fù)渲?,?duì)網(wǎng)絡(luò)層的網(wǎng)絡(luò)拓?fù)溲芯孔疃啵袁F(xiàn)在已經(jīng)有 很多的研究均是對(duì)網(wǎng)絡(luò)層的拓?fù)溥M(jìn)行分析與研究。
[0004] 根據(jù)網(wǎng)絡(luò)層的實(shí)體,可以將網(wǎng)絡(luò)拓?fù)浞譃樗膫€(gè)層次:AS級(jí)(自治系統(tǒng)級(jí))、IP級(jí)、 PoP(Point of Presence)級(jí)、路由器級(jí),由于其構(gòu)成元素不同,測(cè)量方法也有所區(qū)別。而 本專利主要研究的是AS (Autonomous System)級(jí)網(wǎng)絡(luò)拓?fù)渥R(shí)別。所謂AS (Autonomous System),即自治系統(tǒng),一個(gè)自治系統(tǒng)由許多路由器組成,這些路由器有相同的自治系統(tǒng)號(hào) (ASN),每個(gè)路由器有兩個(gè)以上的接口,每個(gè)接口分配不同的IP地址,該層次結(jié)構(gòu)如圖1所 示。一個(gè)自治系統(tǒng)是一個(gè)有權(quán)自主地決定在本系統(tǒng)中應(yīng)采用何種路由協(xié)議的小型單位。所 謂的AS級(jí)拓?fù)?,指各個(gè)自治系統(tǒng)之間的連接關(guān)系。AS級(jí)(自治系統(tǒng)級(jí))拓?fù)涞臏y(cè)量和分析 是一項(xiàng)關(guān)于互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)研究,其測(cè)量目的在于尋找包含Internet結(jié)構(gòu)信息的圖并探 索其內(nèi)在規(guī)律,從而預(yù)測(cè)網(wǎng)絡(luò)結(jié)構(gòu)與技術(shù)、政策、經(jīng)濟(jì)之間的互動(dòng)。
[0005] 網(wǎng)絡(luò)拓?fù)錅y(cè)量是各個(gè)網(wǎng)絡(luò)行為研究的基礎(chǔ),具有相當(dāng)重要的作用,其主要意義在 于:
[0006] (1)網(wǎng)絡(luò)拓?fù)涞慕Y(jié)構(gòu)是網(wǎng)絡(luò)路由協(xié)議和網(wǎng)絡(luò)算法設(shè)計(jì)的基石,高效的網(wǎng)絡(luò)協(xié)議的 設(shè)計(jì)必須考慮整個(gè)底層網(wǎng)絡(luò)拓?fù)涞奶匦裕?br>[0007] (2)網(wǎng)絡(luò)中的各種仿真恤建立網(wǎng)絡(luò)拓?fù)涞哪P蛠?lái)擬合實(shí)際的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),所以 研究網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)能為仿真環(huán)境的建立提供更堅(jiān)實(shí)的理論基礎(chǔ);
[0008] (3)對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的了解能夠?qū)W(wǎng)絡(luò)中的各個(gè)行為進(jìn)行良好的預(yù)測(cè)和檢測(cè);
[0009] (4)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)于網(wǎng)絡(luò)的安全特性和抗攻擊能力的研究具有重要價(jià)值;
[0010] (5)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)識(shí)別對(duì)于網(wǎng)絡(luò)安全特性以及對(duì)抗網(wǎng)絡(luò)外界攻擊能力的研究具有 非常重要的價(jià)值。
[0011] 綜上所述,網(wǎng)絡(luò)拓?fù)錅y(cè)量是一項(xiàng)意義重大的研究工作,而隨著互聯(lián)網(wǎng)規(guī)模的不斷 擴(kuò)大,拓?fù)浣Y(jié)構(gòu)越來(lái)越復(fù)雜,如何獲得一個(gè)完整而準(zhǔn)確的全球互聯(lián)網(wǎng)拓?fù)涑蔀榱艘粋€(gè)異常 艱巨的任務(wù)。
[0012] 1、基于Traceroute路由信息收集的主動(dòng)測(cè)量
[0013] 在UNIX中的Traceroute,及Windows中的Tracert程序,都是用來(lái)追蹤一個(gè)分組 從源點(diǎn)到終點(diǎn)的路徑。這個(gè)程序很巧妙地使用了兩個(gè)ICMP報(bào)文(超時(shí)報(bào)文和終點(diǎn)不可達(dá) 報(bào)文)來(lái)找出一個(gè)分組的路由,它是應(yīng)用級(jí)的程序,使用UDP服務(wù)。
[0014] 圖2可以說(shuō)明程序Traceroute的工作原理。給出了這個(gè)拓?fù)?,就可以知道分組從 主機(jī)A到主機(jī)B要經(jīng)過(guò)路由器R1和R2,但是在大多數(shù)時(shí)間,實(shí)際是不知道拓?fù)涞?。在A和 B之間可能會(huì)有很多路由器。Traceroute使用ICMP報(bào)文和IP分組的生存時(shí)間(TTL)字段 就可以找到這一條路由。
[0015] Traceroute使用以下步驟找到路由器R1的地址和主機(jī)A到路由器R1之間的往返 時(shí)間。
[0016] (1)主機(jī)A的程序Traceroute使用UDP向終點(diǎn)B發(fā)送一個(gè)分組,這個(gè)報(bào)文被封裝 成IP分組,其TTL為1,這個(gè)程序記錄該分組的發(fā)送時(shí)間;
[0017] (2)路由器R1收到這個(gè)分組,把TTL值減到0,路由器R1丟棄這個(gè)分組;但是路由 器R1要發(fā)送一個(gè)超時(shí)ICMP報(bào)文(類型:11,代碼:0),表示TTL值為0而該分組被丟棄;
[0018] (3)主機(jī)A的程序Traceroute收到這個(gè)ICMP報(bào)文,利用封裝ICMP的IP分組的源 地址找到路由器R1的地址,這個(gè)程序記錄下該分組的到達(dá)時(shí)間;步驟(1)的時(shí)間和這個(gè)時(shí) 間之差就是往返時(shí)間。
[0019] Traceroute重復(fù)步驟(1)到(3)三次,以便得到往返時(shí)間更好的平均值。第一個(gè) 往返時(shí)間可能會(huì)比第二或第三個(gè)大得多,因?yàn)槌绦駻RP找到路由器R1的物理地址需要花費(fèi) 時(shí)間,對(duì)于第二和第三個(gè)往返時(shí)間,ARP可使用高速緩存中的地址。
[0020] Traceroute重復(fù)前面的步驟找出路由器R1的地址,以及主機(jī)A和路由器R2之間 的往返時(shí)間。但是,這一步設(shè)置TTL為2,因此路由器R1轉(zhuǎn)發(fā)這個(gè)報(bào)文,而路由器R2丟棄 它,并發(fā)送ICMP超時(shí)報(bào)文。
[0021] 重復(fù)前面的步驟找到主機(jī)B的地址,以及主機(jī)A和主機(jī)B之間的往返時(shí)間。當(dāng)主 機(jī)B收到這個(gè)分組時(shí),就把TTL值減1,但并不丟棄這個(gè)報(bào)文,因?yàn)楝F(xiàn)在報(bào)文以及到達(dá)了它 最后的終點(diǎn)。此時(shí)Traceroute采用另一種策略將ICMP報(bào)文發(fā)回給主機(jī)A,UDP的目的端 口被設(shè)置為UDP協(xié)議不支持的一個(gè)端口,但主機(jī)B收到這個(gè)分組時(shí),它找不到可以接收交付 的應(yīng)用程序,于是它丟棄了這個(gè)分組,并向主機(jī)A發(fā)送一個(gè)ICMP終點(diǎn)不可達(dá)報(bào)文(類型: 3,代碼:3),因?yàn)槁酚善鞑粰z查UDP是否接收,所以路由器R1和R2中并沒(méi)有發(fā)生此情況。 Traceroute記錄了到達(dá)的IP數(shù)據(jù)報(bào)的目的地址,并記下往返時(shí)間,收到代碼為3的終點(diǎn)不 可達(dá)報(bào)文就表示整個(gè)路由已經(jīng)找到,就不會(huì)再發(fā)送更多的分組。
[0022] 2、基于BGP的被動(dòng)測(cè)量
[0023] 邊界網(wǎng)關(guān)協(xié)議(BGP)是一個(gè)使用路徑向量路由選擇的域間路由選擇協(xié)議,是唯 一一個(gè)用來(lái)處理Internet大小的網(wǎng)絡(luò)協(xié)議,主要用以和自治系統(tǒng)之間交換可達(dá)信息和路 由信息。BGP的主要功能是和其他的BGP系統(tǒng)交換網(wǎng)絡(luò)可達(dá)信息,網(wǎng)絡(luò)可達(dá)信息包括列出的 自治系統(tǒng)(AS)的信息。這些信息有效地構(gòu)造了 AS互聯(lián)的拓?fù)鋱D并由此清除了路由環(huán)路, 同時(shí)在AS級(jí)別上可實(shí)施策略決策。
[0024] BGP的主旨是提供一種域間路由選擇系統(tǒng),確保自治系統(tǒng)能夠無(wú)環(huán)地交換路由選 擇信息,BGP路由器交換有關(guān)前往目標(biāo)網(wǎng)絡(luò)的路徑信息,它是一種基于策略的路由選擇協(xié) 議,BGP在確定最佳路徑時(shí)考慮的不是速度,而是讓AS能夠根據(jù)多種BGP屬性來(lái)控制數(shù)據(jù) 流的傳輸。
[0025] 每個(gè)BGP會(huì)話通過(guò)不斷向BGP鄰居發(fā)送BGP更新消息來(lái)建立AS路徑,每一個(gè)BGP 路由更新消息都有一個(gè)長(zhǎng)度可變的路徑屬性序列(屬性類型,屬性長(zhǎng)度,屬性值),第一個(gè) 比特如果為0,則屬于公認(rèn)屬性,如果是1,則屬于任選屬性,第二個(gè)比特0表示不可傳遞,1 表示可傳遞。公認(rèn)屬性總是可傳遞的,屬性標(biāo)志域中的第三個(gè)比特指示任選可傳遞屬性中 的信息是部分的(值為1)還是完整的(值為0),第四個(gè)比特確定該屬性長(zhǎng)度是1字節(jié)還是 2字節(jié),標(biāo)志域其他4個(gè)比特總為0,屬性類型代碼字節(jié)含有屬性代碼。
[0026] BGP路由表的格式和內(nèi)容如下:
[0028] 現(xiàn)有的自治系統(tǒng)級(jí)的網(wǎng)絡(luò)拓?fù)渥R(shí)別主要是依靠基于BGP路由信息收集的方法,通 過(guò)提取BGP路由表中的關(guān)于AS路徑屬性信息從而得到各個(gè)AS之間的連接關(guān)系,進(jìn)一步獲 得相應(yīng)的AS級(jí)網(wǎng)絡(luò)拓?fù)?。但是在?shí)際應(yīng)用中,為了獲取全球性的完整的自治系統(tǒng)級(jí)網(wǎng)絡(luò)拓 撲結(jié)構(gòu),由于BGP本身的缺陷,其看待問(wèn)題的視角具有局限性,有BGP提供的信息是控制層 信息,根據(jù)它的路由策略,它反映在BGP路由層面上期望數(shù)據(jù)經(jīng)過(guò)的鏈路,所以收集BGP路 由表的數(shù)據(jù)收集器一般是在網(wǎng)絡(luò)中比較上層的位置,這就導(dǎo)致無(wú)法發(fā)現(xiàn)更多下層的連接, 使得許多下層的網(wǎng)絡(luò)連接無(wú)法識(shí)別。有國(guó)際上的學(xué)者提出用IRR的數(shù)據(jù)庫(kù)數(shù)據(jù)來(lái)補(bǔ)充BGP 路由信息得到的AS拓?fù)鋽?shù)據(jù),該方法的最大優(yōu)點(diǎn)是易于操作,不需要很復(fù)雜的數(shù)據(jù)融合過(guò) 程,但是由于IRR這一數(shù)據(jù)庫(kù)更新速度較慢,得到的數(shù)據(jù)都不是實(shí)時(shí)的數(shù)據(jù),不能滿足得到 全球?qū)崟r(shí)網(wǎng)絡(luò)拓?fù)涞男枨蟆?br>
【發(fā)明內(nèi)容】
[0029] 本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中基于BGP路由信息收集的網(wǎng)絡(luò)拓?fù)渥R(shí)別方 法由于BGP本身的缺陷,其看待問(wèn)題的視角具有局限性,導(dǎo)致無(wú)法發(fā)現(xiàn)更多下層的連接,使 得許多下層的網(wǎng)絡(luò)連接無(wú)法識(shí)別的問(wèn)題,提出了一種自治系統(tǒng)級(jí)網(wǎng)絡(luò)拓?fù)渥R(shí)別方法。
[0030] 本發(fā)明的技術(shù)方案為:一種自治系統(tǒng)級(jí)網(wǎng)絡(luò)拓?fù)渥R(shí)別方法,包括以下步驟:
[0031] S1、測(cè)量得到全球Traceroute的IP路徑數(shù)據(jù);
[0032] S2、將Traceroute的IP路徑數(shù)據(jù)映射為AS路徑數(shù)據(jù);
[0033] S3、收集全球BGP數(shù)據(jù)收集器的AS路徑數(shù)據(jù);
[0034] S4、將Traceroute的AS路徑數(shù)據(jù)與BGP的AS路徑數(shù)據(jù)進(jìn)行對(duì)比與合并,得到完 整的AS級(jí)網(wǎng)絡(luò)拓?fù)洹?br>[0035] 進(jìn)一步地,步驟S2包括以下分步驟:
[0036] S21、進(jìn)行數(shù)據(jù)收集;
[0037] S22、計(jì)算IP-to-AS的最佳匹配方式;
[0038] S23、修正IP-to-AS的匹配方式;
[0039] S24、建立 IP-to-AS 映射表。
[0040] 進(jìn)一步地,步驟S21包括收集BGP路由表信息以及BGP和Traceroute兩種數(shù)據(jù)源 同屬一個(gè)AS的連接信息。
[0041] 進(jìn)一步地,步驟S4中將Traceroute的AS路徑數(shù)據(jù)與BGP的AS路徑數(shù)據(jù)進(jìn)行對(duì) 比與合并時(shí),相同的AS路徑數(shù)據(jù)以BGP的AS路徑數(shù)據(jù)為準(zhǔn)。
[0042] 本