軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN ),是由美國(guó)斯坦福大學(xué)clean slate研究組提出的一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。
從路由器的設(shè)計(jì)上看,它由軟件控制和硬件數(shù)據(jù)通道組成。軟件控制包括管理(CLI,SNMP)以及路由協(xié)議(OSPF,ISIS,BGP)等。數(shù)據(jù)通道包括針對(duì)每個(gè)包的查詢、交換和緩存。 如果將網(wǎng)絡(luò)中所有的網(wǎng)絡(luò)設(shè)備視為被管理的資源,那么參考操作系統(tǒng)的原理,可以抽象出一個(gè)網(wǎng)絡(luò)操作系統(tǒng)(Network OS)的概念—這個(gè)網(wǎng)絡(luò)操作系統(tǒng)一方面抽象了底層網(wǎng)絡(luò)設(shè)備的具體細(xì)節(jié),同時(shí)還為上層應(yīng)用提供了統(tǒng)一的管理視圖和編程接口。這樣,基于網(wǎng)絡(luò)操作系統(tǒng)這個(gè)平臺(tái),用戶可以開發(fā)各種應(yīng)用程序,通過軟件來定義邏輯上的網(wǎng)絡(luò)拓?fù),以滿足對(duì)網(wǎng)絡(luò)資源的不同需求,而無需關(guān)心底層網(wǎng)絡(luò)的物理拓?fù)浣Y(jié)構(gòu)。
SDN提出控制層面的抽象,目前的MAC層和IP層能做到很好的抽象但是對(duì)于控制接口來說并沒有作用,我們以處理高復(fù)雜度(因?yàn)橛刑嗟膹?fù)雜功能加入到了體系結(jié)構(gòu)當(dāng)中,比如OSPF,BGP,組播,區(qū)分服務(wù),流量工程,NAT,防火墻,MPLS,冗余層等等)的網(wǎng)絡(luò)拓?fù)洹f(xié)議、算法和控制來讓網(wǎng)絡(luò)工作,我們完全可以對(duì)控制層進(jìn)行簡(jiǎn)單、正確的抽象。SDN給網(wǎng)絡(luò)設(shè)計(jì)規(guī)劃與管理提供了極大的靈活性,我們可以選擇集中式或是分布式的控制,對(duì)微量流(如校園網(wǎng)的流)或是聚合流(如主干網(wǎng)的流)進(jìn)行轉(zhuǎn)發(fā)時(shí)的流表項(xiàng)匹配,可以選擇虛擬實(shí)現(xiàn)或是物理實(shí)現(xiàn)。
目前,包括HP、IBM、Cisco、NEC以及國(guó)內(nèi)的華為和中興等傳統(tǒng)網(wǎng)絡(luò)設(shè)備制造商都已紛紛加入到OpenFlow的陣營(yíng),同時(shí)有一些支持OpenFlow的網(wǎng)絡(luò)硬件設(shè)備已經(jīng)面世。2011年,開放網(wǎng)絡(luò)基金會(huì)(Open Networking Foundation)在Nick等人的推動(dòng)下成立,專門負(fù)責(zé)OpenFlow標(biāo)準(zhǔn)和規(guī)范的維護(hù)和發(fā)展;同年,第一屆開放網(wǎng)絡(luò)峰會(huì)(OpenNetworking Summit)召開,為OpenFlow和SDN在學(xué)術(shù)界和工業(yè)界都做了很好的介紹和推廣。