OpenFlow對(duì)網(wǎng)絡(luò)創(chuàng)新的影響
由于現(xiàn)在的網(wǎng)絡(luò)暴露出了越來越多的弊病以及人們對(duì)網(wǎng)絡(luò)性能需求的提高,于是研究人員不得不把很多復(fù)雜功能加入到路由器的體系結(jié)構(gòu)當(dāng)中,例如OSPF,BGP,組播,區(qū)分服務(wù),流量工程,NAT,防火墻,MPLS等等。這就使得路由器等交換設(shè)備越來越臃腫而且性能提升的空間越來越小。
然而與網(wǎng)絡(luò)領(lǐng)域的困境截然不同的是,計(jì)算機(jī)領(lǐng)域?qū)崿F(xiàn)了日新月異的發(fā)展。仔細(xì)回顧計(jì)算機(jī)領(lǐng)域的發(fā)展,不難發(fā)現(xiàn)其關(guān)鍵在于計(jì)算機(jī)領(lǐng)域找到了一個(gè)簡(jiǎn)單可用的硬件底層(x86指令集)。由于有了這樣一個(gè)公用的硬件底層,所以在軟件方面,不論是應(yīng)用程序還是操作系統(tǒng)都取得了飛速的發(fā)展?,F(xiàn)在很多主張重新設(shè)計(jì)計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的人士認(rèn)為:網(wǎng)絡(luò)可以復(fù)制計(jì)算機(jī)領(lǐng)域的成功來解決現(xiàn)在網(wǎng)絡(luò)所遇到的所有問題。在這種思想的指導(dǎo)下,將來的網(wǎng)絡(luò)必將是這樣的:底層的數(shù)據(jù)通路(交換機(jī)、路由器)是“啞的、簡(jiǎn)單的、最小的”,并定義一個(gè)對(duì)外開放的關(guān)于流表的公用的API,同時(shí)采用控制器來控制整個(gè)網(wǎng)絡(luò)。未來的研究人員就可以在控制器上自由的調(diào)用底層的API來編程,從而實(shí)現(xiàn)網(wǎng)絡(luò)的創(chuàng)新。
OpenFlow正是這種網(wǎng)絡(luò)創(chuàng)新思想的強(qiáng)有力的推動(dòng)者。OpenFlow交換機(jī)將原來完全由交換機(jī)/路由器控制的報(bào)文轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow交換機(jī)(OpenFlow Switch)和控制服務(wù)器(Controller)來共同完成,從而實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離??刂破骺梢酝ㄟ^事先規(guī)定好的接口操作來控制OpenFlow交換機(jī)中的流表,從而達(dá)到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。
因此,OpenFlow開啟了一條網(wǎng)絡(luò)創(chuàng)新的道路。如果OpenFlow得到廣泛的應(yīng)用和推廣,則未來的網(wǎng)絡(luò)將如曾經(jīng)的計(jì)算機(jī)一樣取得日新月異的發(fā)展。
流表由很多個(gè)流表項(xiàng)組成,每個(gè)流表項(xiàng)就是一個(gè)轉(zhuǎn)發(fā)規(guī)則。進(jìn)入交換機(jī)的數(shù)據(jù)包通過查詢流表來獲得轉(zhuǎn)發(fā)的目的端口。流表項(xiàng)由頭域、計(jì)數(shù)器和操作組成;其中頭域是個(gè)十元組,是流表項(xiàng)的標(biāo)識(shí);計(jì)數(shù)器用來計(jì)數(shù)流表項(xiàng)的統(tǒng)計(jì)數(shù)據(jù);操作標(biāo)明了與該流表項(xiàng)匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作。