本發(fā)明涉及網(wǎng)絡(luò)測量信息領(lǐng)域,具體涉及面向空天地一體化算力網(wǎng)絡(luò)的輕量化帶內(nèi)遙測方法。
背景技術(shù):
1、基于傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的測量方案受到網(wǎng)絡(luò)設(shè)備的限制。在網(wǎng)絡(luò)部署時需要對網(wǎng)絡(luò)的測量能力進(jìn)行設(shè)計和支持。這類方案定制化程度高,導(dǎo)致協(xié)議可擴展性和部署靈活性較差。針對固化機構(gòu)為靈活網(wǎng)絡(luò)測量帶來的限制,研究人員開始訴諸于新興的軟件定義網(wǎng)絡(luò)(software?defined?networking,sdn?)與可編程協(xié)議獨立分組處理器(?programmingprotocol-independent?packet?processors,p4?)以及相應(yīng)的實現(xiàn)可編程數(shù)據(jù)平面的轉(zhuǎn)發(fā)模型,賦予了數(shù)據(jù)平面更高的靈活性和可編程性。帶內(nèi)遙測(in‐band?network?telemetry,int)是p4的典型應(yīng)用,其作為新型的混合網(wǎng)絡(luò)測量技術(shù),通過使用int報頭和附加int元數(shù)據(jù),允許網(wǎng)絡(luò)狀態(tài)信息以捎帶的方式添加到數(shù)據(jù)包中,并伴隨數(shù)據(jù)包在網(wǎng)絡(luò)中遍歷,不需要網(wǎng)絡(luò)控制平面干預(yù)的情況下實現(xiàn)數(shù)據(jù)平面被動收集和報告實時細(xì)粒度分組網(wǎng)絡(luò)信息。
2、然而,傳統(tǒng)帶內(nèi)遙測存在一些限制如下:(1)可擴展性較差;(2)網(wǎng)絡(luò)兼容性不佳;(3)網(wǎng)絡(luò)測量需求無法按需選擇;(4)缺乏合理的數(shù)據(jù)包導(dǎo)航策略。分段路由(segmentrouting,sr)技術(shù)是一項基于源路由的路由技術(shù),節(jié)點借助成為分段路由頭(segmentrouting?header,srh)中的有序列表來引導(dǎo)數(shù)據(jù)包的轉(zhuǎn)發(fā),可以很好地滿足路徑規(guī)劃需求。srv6是sr技術(shù)的杰出代表,srv6通過在ipv6數(shù)據(jù)包中增加一個名為段路由擴展包頭?(分段路由頭)的擴展頭將sr和ipv6結(jié)合起來,它通過這些靈活的ipv6擴展報頭實現(xiàn)網(wǎng)絡(luò)編程能力,使用一個形同ipv6地址的分段路由節(jié)點標(biāo)識(segment?id,sid)來標(biāo)識一個節(jié)點。現(xiàn)有研究一部分帶內(nèi)遙測的數(shù)據(jù)包處理邏輯而忽略數(shù)據(jù)包的轉(zhuǎn)發(fā)設(shè)計,導(dǎo)致遙測方案不具備可擴展性,另一部分盡管使用sr技術(shù)指引數(shù)據(jù)包轉(zhuǎn)發(fā),但沒有考慮過程中帶來的各類開銷,因此,現(xiàn)有方案無法應(yīng)對大規(guī)模空天地一體化網(wǎng)絡(luò)中網(wǎng)絡(luò)動態(tài)化、大規(guī)模的特征,從而實現(xiàn)高效的網(wǎng)絡(luò)測量。
技術(shù)實現(xiàn)思路
1、為解決上述問題,本發(fā)明公開了面向空天地一體化算力網(wǎng)絡(luò)的輕量化帶內(nèi)遙測方法,通過srv6對按需節(jié)點進(jìn)行測量,同時對于每個所需節(jié)點,借助軟件交換機的可編程性使用探測包頭中的默認(rèn)位圖與節(jié)點對應(yīng)的sid的arg字段實現(xiàn)元數(shù)據(jù)項按需測量,結(jié)合低開銷的探測路徑規(guī)劃實現(xiàn)帶內(nèi)遙測的輕量化與定制化。
2、具體方案包括:
3、面向空天地一體化算力網(wǎng)絡(luò)的輕量化帶內(nèi)遙測方法,包含如下步驟:
4、步驟1,應(yīng)用層整合用戶需求,將用戶需求以鍵值對形式存儲,并傳輸給控制器層;
5、步驟2,控制器層計算按需測量列表內(nèi)每個節(jié)點需要測量數(shù)據(jù)量,該數(shù)據(jù)量指的是對于該節(jié)點所有需要測量的元數(shù)據(jù)的長度和,并連同節(jié)點序號以鍵值對形式存儲,具體來說,以節(jié)點序號為鍵,數(shù)據(jù)量為值,在數(shù)據(jù)庫中進(jìn)行存儲,用于后續(xù)路徑切割。單個節(jié)點探測數(shù)據(jù)總量的具體計算公式為:
6、
7、其中為節(jié)點i的探測數(shù)據(jù)長度,為資源j的長度,為位圖中第j位的值,為1代表需要該資源,為0則不需要該資源。
8、步驟3,構(gòu)建邏輯輔助圖,用于計算最優(yōu)探測路徑,具體而言,首先訪問拓?fù)湫畔?shù)據(jù)庫,獲得網(wǎng)絡(luò)中的拓?fù)渑c鏈路參數(shù)信息,其中主要是鏈路的連接關(guān)系以及鏈路代價,鏈路代價的具體計算公式為:
9、
10、其中為鏈路m的鏈路代價,和分別為時延和帶寬在鏈路代價中占的比重,和分別是鏈路m的時延和帶寬,和分別是拓?fù)鋽?shù)據(jù)庫中時延的最大值和最小值,和分別是拓?fù)鋽?shù)據(jù)庫中帶寬的最大值和最小值,綜合考慮了鏈路的時延和帶寬,隨后以鏈路代價作為依據(jù)使用dijistra算法求解兩兩節(jié)點間的最短路徑,將該最短路徑作為邏輯輔助圖的邏輯鏈路,每條邏輯鏈路的兩端即為物理路徑的出發(fā)節(jié)點與結(jié)束節(jié)點,并計算邏輯鏈路代價,邏輯鏈路代價即物理路徑上每段物理鏈路的代價和,具體計算公式為:
11、
12、其中表示從節(jié)點i到節(jié)點j的邏輯鏈路代價,為步驟3中求得的節(jié)點ij之間的最短路徑中的每一段物理直接路徑,表示第n個物理鏈路,表示第n個物理鏈路的鏈路代價。構(gòu)建由邏輯鏈路組成的邏輯完全圖作為邏輯輔助圖,用于輔助路徑規(guī)劃計算;
13、步驟4,從邏輯輔助圖中提取所需節(jié)點列表組成的子圖,并使用tsp求解算法求解最優(yōu)邏輯遍歷路徑;
14、步驟5,以節(jié)點測量需求數(shù)據(jù)量為依據(jù),使用貪心切割算法對邏輯遍歷路徑切割,切割需要滿足以下兩個條件,數(shù)據(jù)包添加數(shù)據(jù)量總和不能超過網(wǎng)絡(luò)最大傳輸單元限制,其次添加數(shù)據(jù)量盡可能多,從而獲得滿足網(wǎng)絡(luò)最大傳輸單元限制的最佳探測路徑,貪心法切割的數(shù)學(xué)約束公式為:
15、
16、其中num表示單條路徑的節(jié)點個數(shù),表示節(jié)點的探測數(shù)據(jù)長度,mtu為網(wǎng)絡(luò)最大傳輸單元值,max(num)表示最大化單條路徑探測節(jié)點個數(shù)。
17、步驟6,將獲得的多條探測路徑分別構(gòu)造成srv6流表項并下發(fā)給各自路徑源節(jié)點;
18、步驟7,數(shù)據(jù)包逐層解析??删幊坦?jié)點接收到數(shù)據(jù)包后判斷是否為探測數(shù)據(jù)包,判斷依據(jù)是ipv6報頭的traffic?class字段值,值為1表示當(dāng)前數(shù)據(jù)包為探測數(shù)據(jù)包,繼續(xù)處理,否則為普通數(shù)據(jù)包,直接按照路由表轉(zhuǎn)發(fā)無需其他處理;
19、步驟8,判斷當(dāng)前節(jié)點是否為路徑上的首個節(jié)點,判斷依據(jù)為數(shù)據(jù)包中元數(shù)據(jù)棧是否為空,如果為空說明為還未添加元數(shù)據(jù),說明當(dāng)前節(jié)點為首個節(jié)點,按照目的地址執(zhí)行srv6流表操作,添加對應(yīng)段路由擴展包頭,其中包含由按需節(jié)點列表子集組成的分段列表;
20、步驟9,將探測數(shù)據(jù)包中的默認(rèn)位圖保存至預(yù)先定義好的按需位圖寄存器列表中,該寄存器列表由8個1位寄存器組成,每一位對應(yīng)一種資源,1表示需要添加,0表示不需要添加;
21、步驟10,判斷當(dāng)前節(jié)點sid的loc字段是否與ipv6目的地址匹配,如果匹配,說明當(dāng)前節(jié)點為分段列表中的節(jié)點,為按需測量節(jié)點,需要添加元數(shù)據(jù),更新數(shù)據(jù)包中srv6報頭相應(yīng)字段,更新目的地址,隨后繼續(xù)步驟11,否則該節(jié)點只充當(dāng)中間傳輸節(jié)點,直接按照ipv6目的地址轉(zhuǎn)發(fā);
22、在步驟10中節(jié)點分段標(biāo)識的格式說明如下:
23、單個節(jié)點標(biāo)識長度為128位,與ipv6地址相同,其中前64位為loc字段,用于定位節(jié)點位置,中間56位為func字段,用于指導(dǎo)交換機行為,最后8位為arg字段,用于存放定制化位圖。
24、步驟11,從ipv6目的地址字段獲取當(dāng)前節(jié)點的sid,通過截取獲取sid后8位,即arg字段,并判斷是否大于0,如果大于0,說明當(dāng)前節(jié)點存在客制化位圖,將arg字段8位內(nèi)容作為客制化位圖,更新至按需位圖寄存器;
25、步驟12,根據(jù)按需位圖中的內(nèi)容動態(tài)添加元數(shù)據(jù)項。逐一訪問按需位圖寄存器列表中的每一個位寄存器,每一個寄存器代表是否需要添加對應(yīng)資源,如果是1,則將當(dāng)前節(jié)點的對應(yīng)資源信息添加至元數(shù)據(jù)棧中,添加的同時將元數(shù)據(jù)信息用節(jié)點id與元數(shù)據(jù)項索引包裹,作為控制器層接收到匯總信息后的溯源依據(jù),如果為0,說明不需要添加該種資源,無需操作;
26、步驟13,判斷srv6的剩余分段字段是否等于0,如果是,說明該數(shù)據(jù)包已經(jīng)抵達(dá)分段列表的最后一個節(jié)點,即本路徑的末尾節(jié)點,此時保留數(shù)據(jù)包的以太網(wǎng)幀與元數(shù)據(jù)棧部分,將數(shù)據(jù)包其余部分丟棄,將獲得的新數(shù)據(jù)包作為探測任務(wù)匯總數(shù)據(jù)包發(fā)送至帶內(nèi)遙測控制器進(jìn)行數(shù)據(jù)分析與保存。
27、本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
28、1、能夠區(qū)分網(wǎng)絡(luò)中節(jié)點的不同角色,實現(xiàn)對于特定節(jié)點集合的按需測量。特定網(wǎng)絡(luò)任務(wù)所設(shè)計的節(jié)點通常并非直接相連,此時在兩個按需節(jié)點之間存在中間傳輸節(jié)點,這類節(jié)點并不需要收集網(wǎng)絡(luò)信息,而傳統(tǒng)帶內(nèi)遙測并未區(qū)分路徑上的不同節(jié)點類型,一視同仁,本發(fā)明使用srv6技術(shù),利用其sid匹配機制,有選擇地選擇需要的節(jié)點進(jìn)行測量。
29、2、能夠?qū)崿F(xiàn)不同節(jié)點間個性化測量。利用p4編程語言的高度可編程性,通過對探測包頭中的默認(rèn)位圖字段以及srv6報頭中sid的arg字段的設(shè)計,實現(xiàn)對每個節(jié)點進(jìn)行元數(shù)據(jù)按需測量,確保了探測任務(wù)的高度靈活性。
30、3、高度網(wǎng)絡(luò)兼容性。本發(fā)明將int相關(guān)設(shè)計按照“int?over?udp”的原則設(shè)置在udp載荷部分,當(dāng)網(wǎng)絡(luò)中傳統(tǒng)設(shè)備接收到探測數(shù)據(jù)包但是無法識別時,會將int相關(guān)信息作為普通udp載荷進(jìn)行傳輸,而不會影響其余層網(wǎng)絡(luò)協(xié)議的解析,同時利用srv6更新ipv6地址的特性,保證數(shù)據(jù)包在轉(zhuǎn)發(fā)過程中始終保持著最基本的轉(zhuǎn)發(fā)行為有效性,即按照目的地址根據(jù)路由表進(jìn)行轉(zhuǎn)發(fā)。
31、4、機制輕量化。帶寬占用方面,傳統(tǒng)帶內(nèi)遙測方案不區(qū)分節(jié)點與元數(shù)據(jù)的種類,對于路徑上的所有節(jié)點以及全部元數(shù)據(jù)進(jìn)行收集,盡管有效信息含量相同,但是非所需信息在數(shù)據(jù)平面帶寬占用、數(shù)控平面間帶寬占用上均占用了大量寶貴的帶寬資源,本發(fā)明實現(xiàn)了高度按需測量,大大提升了帶寬的利用效率,相同帶寬條件下可以承擔(dān)更多探測任務(wù)。控制平面處理開銷方面,本發(fā)明在元數(shù)據(jù)添加過程中在保證代價可控的條件下,添加了元數(shù)據(jù)的溯源信息,當(dāng)控制平面接收到元數(shù)據(jù)棧后可以節(jié)省元數(shù)據(jù)溯源而產(chǎn)生的開銷,提升控制平面的工作效率。