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