軟件定義網(wǎng)絡(luò)中控制和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為的一致性驗(yàn)證
發(fā)布時(shí)間:2020-09-27 12:12
傳統(tǒng)的IP網(wǎng)絡(luò)將控制邏輯(控制平面)分布到各個(gè)硬件轉(zhuǎn)發(fā)設(shè)備(數(shù)據(jù)平面,有時(shí)也稱轉(zhuǎn)發(fā)平面)中,以緊耦合的方式提高了整體網(wǎng)絡(luò)的可靠性。但隨著網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大、網(wǎng)絡(luò)應(yīng)用不斷增多,這樣一種方式的弊端變得越來(lái)越明顯:一是分布式的控制平面使網(wǎng)絡(luò)運(yùn)維越來(lái)越困難;二是控制平面和數(shù)據(jù)平面的緊耦合使網(wǎng)絡(luò)創(chuàng)新難以實(shí)現(xiàn)。為此,新興的軟件定義網(wǎng)絡(luò)(Software-defined Networking,SDN)打破了現(xiàn)有網(wǎng)絡(luò)設(shè)備中垂直整合的結(jié)構(gòu),將其中的控制邏輯和底層的硬件轉(zhuǎn)發(fā)設(shè)備分離開,數(shù)據(jù)平面只負(fù)責(zé)高效地流量轉(zhuǎn)發(fā),而所有的控制邏輯則由邏輯上集中式的控制器實(shí)現(xiàn)。同時(shí)控制器對(duì)網(wǎng)絡(luò)管理員開放了可編程的接口,使得網(wǎng)絡(luò)管理可以通過(guò)這些接口實(shí)現(xiàn)。這樣的一種新型的網(wǎng)絡(luò)架構(gòu)能夠獲得全局的網(wǎng)絡(luò)視角,極大地簡(jiǎn)化了網(wǎng)絡(luò)運(yùn)維的方式;同時(shí)新的網(wǎng)絡(luò)功能和網(wǎng)絡(luò)協(xié)議可以在控制器上通過(guò)模塊化的方式添加,大大提高了網(wǎng)絡(luò)的靈活性,加速了網(wǎng)絡(luò)創(chuàng)新的實(shí)現(xiàn)。作為一項(xiàng)新興的網(wǎng)絡(luò)技術(shù),SDN在實(shí)際應(yīng)用中還存在很多問(wèn)題。本文聚焦于其中的一個(gè)關(guān)鍵問(wèn)題:控制平面和數(shù)據(jù)平面的轉(zhuǎn)發(fā)行為可能存在不一致(以下簡(jiǎn)稱不一致),即:控制平面上的預(yù)期轉(zhuǎn)發(fā)行為(desired forwarding behavior)和數(shù)據(jù)平面上的真實(shí)轉(zhuǎn)發(fā)行為(actual forwarding behavior)不一致,更具體的:控制平面上網(wǎng)絡(luò)管理員要求的網(wǎng)絡(luò)策略(networkpolicy),在數(shù)據(jù)平面上,沒有得到網(wǎng)絡(luò)設(shè)備真正的執(zhí)行。這種不一致一般源于數(shù)據(jù)平面,例如網(wǎng)絡(luò)設(shè)備中的軟件錯(cuò)誤和硬件失效等等;同時(shí),這種不一致還可能造成嚴(yán)重的網(wǎng)絡(luò)故障,包括某些網(wǎng)絡(luò)地址不可達(dá)和網(wǎng)絡(luò)性能下降等等。因此,驗(yàn)證控制平面和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為的一致性是有必要的。而驗(yàn)證該一致性,通常需要三個(gè)步驟:(1)測(cè)量數(shù)據(jù)平面的轉(zhuǎn)發(fā)行為;(2)探測(cè)控制平面和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為的不一致(即比較兩種轉(zhuǎn)發(fā)行為是否一致);(3)定位控制平面和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為的不一致。本文基于上述的三個(gè)步驟,主要包含以下四部分工作。首先,本文的第一部分工作聚焦于測(cè)量:以被動(dòng)測(cè)量的方式去獲取數(shù)據(jù)平面的轉(zhuǎn)發(fā)行為?紤]到測(cè)量方法的實(shí)用性,我們選擇了交換機(jī)普遍都能支持的sFlow作為被動(dòng)測(cè)量的數(shù)據(jù)源?紤]到實(shí)時(shí)性,我們采用了現(xiàn)有的流式處理框架作為海量數(shù)據(jù)處理的工具。但sFlow采樣的機(jī)制仍然會(huì)使測(cè)量變得困難:其一在于sFlow可能在某條數(shù)據(jù)流的路徑上漏采了,那么基于采樣的數(shù)據(jù),該數(shù)據(jù)流的路徑會(huì)是缺失的;其二在于數(shù)據(jù)流速率的估計(jì)一般會(huì)采用簡(jiǎn)單擴(kuò)展(simple scaling)的方法,該方法在樣本數(shù)量較少時(shí),誤差很大,而現(xiàn)實(shí)中,sFlow的采樣率是不高的,因此,數(shù)據(jù)流速率的估計(jì)會(huì)不準(zhǔn)確。為此,針對(duì)數(shù)據(jù)流的路徑,我們提出了拓?fù)湫畔⑤o助下的路徑計(jì)算算法(Topology-assisted Path Computation,Tapco);針對(duì)數(shù)據(jù)流的速率,我們提出了結(jié)合數(shù)據(jù)分組包頭信息的方法去提高數(shù)據(jù)流速率估計(jì)的準(zhǔn)確度。其次,本文的第二部分工作結(jié)合測(cè)量和定位:在已知存在控制平面和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為不一致的情況下,通過(guò)測(cè)量探針的packet history(分組歷史),去定位該不一致引起的網(wǎng)絡(luò)故障。每當(dāng)不一致引起的網(wǎng)絡(luò)故障發(fā)生時(shí),會(huì)有一些數(shù)據(jù)分組受其影響。如果我們能夠獲取那些數(shù)據(jù)分組在網(wǎng)絡(luò)中具體的傳播過(guò)程,我們就可以對(duì)網(wǎng)絡(luò)故障進(jìn)行感知。我們將一個(gè)數(shù)據(jù)分組在網(wǎng)絡(luò)中具體的傳播過(guò)程稱之為該數(shù)據(jù)分組的packet history(PH,分組歷史),即該數(shù)據(jù)分組在傳播過(guò)程中匹配到的規(guī)則(rule)以及匹配前后的包頭狀態(tài)。基于此,我們首先在邊緣交換機(jī)上注入探針去模擬受影響的數(shù)據(jù)分組,其次去獲取探針的PH,最后針對(duì)PH進(jìn)行分析去定位不一致的具體位置。我們實(shí)現(xiàn)了獲取探針PH的具體方法,并在一個(gè)小型的網(wǎng)絡(luò)中驗(yàn)證了用PH去定位不一致的可行性。再次,本文的第三部分工作結(jié)合全部的三個(gè)步驟,系統(tǒng)性地提出了基于規(guī)則驗(yàn)證(rule verification)的一致性檢測(cè)方法。由網(wǎng)絡(luò)設(shè)備中的軟件錯(cuò)誤和硬件失效造成的不一致通常會(huì)表現(xiàn)為規(guī)則的失效,因此,通過(guò)驗(yàn)證每一條規(guī)則的有效性,我們就可以驗(yàn)證控制平面和數(shù)據(jù)平面轉(zhuǎn)發(fā)行為的一致性。過(guò)去的大部分工作都基于端到端的探針探測(cè)(end-to-end probing),這種方式的缺陷在于無(wú)法及時(shí)地定位不一致發(fā)生的具體位置。利用在SDN中普遍存在的帶外信道,單跳探針探測(cè)(per hop probing)的方式成為可能,這種方式可以在規(guī)則級(jí)別(rule level)上去比較控制平面的預(yù)期轉(zhuǎn)發(fā)行為和數(shù)據(jù)平面的真實(shí)轉(zhuǎn)發(fā)行為,從而對(duì)每一條規(guī)則進(jìn)行驗(yàn)證。為此,針對(duì)單個(gè)網(wǎng)絡(luò)設(shè)備,我們將其抽象成一棵帶狀態(tài)的多根樹(Stateful Multi-Rooted Tree,SMRT),通過(guò)遍歷該多根樹,就可以生成少量的探針去覆蓋該設(shè)備中的所有規(guī)則。我們實(shí)現(xiàn)了相應(yīng)的原型系統(tǒng),并對(duì)探針生成的性能做了測(cè)試,同時(shí)也在一個(gè)小型的網(wǎng)絡(luò)環(huán)境中驗(yàn)證了我們方法的有效性。最后,本文的第四部分工作是第三個(gè)工作的拓展。在上一個(gè)工作中,我們可以了解到探針的生成在整個(gè)規(guī)則驗(yàn)證的過(guò)程中扮演了很重要的角色,但之前的探針生成方法還存在兩個(gè)明顯的不足:一是單個(gè)網(wǎng)絡(luò)設(shè)備式的探針生成會(huì)產(chǎn)生額外的探針,如果從全網(wǎng)的角度去考慮,這些額外的探針是可以被避免的;二是不斷的網(wǎng)絡(luò)變化會(huì)帶來(lái)不停的規(guī)則更新,如果每遇到一次規(guī)則的更新,就要重新生成一次探針,這無(wú)疑是既浪費(fèi)時(shí)間也浪費(fèi)資源的,因此,針對(duì)規(guī)則的更新,增量式的探針生成方法是有必要的。基于此,我們將上一個(gè)研究?jī)?nèi)容中的SMRT模型推廣到全網(wǎng),稱為帶狀態(tài)的有向無(wú)圈圖(stateful Directed Acyclic Graph,sDAG),并在該網(wǎng)絡(luò)模型的基礎(chǔ)上提出了兩種探針生成的方法去解決上述兩個(gè)不足:一是離線的快速探針生成方法(Fast Probe Generation,FPG),二是在線的增量式探針生成方法(incremental FPG,iFPG)。實(shí)驗(yàn)證明,FPG在探針計(jì)算時(shí)間和生成數(shù)量上優(yōu)于現(xiàn)有的其他方法,iFPG優(yōu)于其他非增量式的方法(包括FPG在內(nèi))。
【學(xué)位單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位年份】:2018
【中圖分類】:TN915.0
【部分圖文】:
月底就發(fā)布了第一個(gè)正式的版本[26]0雖然狹義上OpenFlow僅僅是隸屬于一種
本文編號(hào):2827853
【學(xué)位單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位年份】:2018
【中圖分類】:TN915.0
【部分圖文】:
月底就發(fā)布了第一個(gè)正式的版本[26]0雖然狹義上OpenFlow僅僅是隸屬于一種
本文編號(hào):2827853
本文鏈接:http://sikaile.net/kejilunwen/xinxigongchenglunwen/2827853.html
最近更新
教材專著