SDN控制器之北向業(yè)務(wù)支撐技術(shù)
控制器的業(yè)務(wù)支撐技術(shù)主要是包括北向接口為上層業(yè)務(wù)應(yīng)用和資源管理系統(tǒng)提供靈活的網(wǎng)絡(luò)資源抽象。通過北向接口,網(wǎng)絡(luò)業(yè)務(wù)開發(fā)者可以軟件編程的方式調(diào)用各種網(wǎng)絡(luò)資源能力,同時(shí)網(wǎng)絡(luò)資源管理系統(tǒng)可通過控制器的北向接口獲得網(wǎng)絡(luò)資源的工作狀態(tài),并對(duì)網(wǎng)絡(luò)資源進(jìn)行調(diào)度,實(shí)現(xiàn)資源統(tǒng)一交付,更好支撐云計(jì)算等新業(yè)務(wù)對(duì)網(wǎng)絡(luò)資源的需求。
與南向接口已有opneflow為代表的標(biāo)準(zhǔn)協(xié)議不同,SDN在北向接口標(biāo)準(zhǔn)方面準(zhǔn)在爭(zhēng)議,這主要是因?yàn)楸毕蚪涌谥苯訛闃I(yè)務(wù)應(yīng)用服務(wù),其設(shè)計(jì)需密切聯(lián)系業(yè)務(wù)應(yīng)用需求,所以具有多樣化的特征,很難統(tǒng)一。同時(shí),北向接口設(shè)計(jì)的合理性和網(wǎng)絡(luò)能力的開放性,會(huì)直接影響到SDN控制器技術(shù)和產(chǎn)品的市場(chǎng)前景,這也是SDN北向接口缺少業(yè)界普遍公認(rèn)標(biāo)準(zhǔn)的原因,當(dāng)前業(yè)界有近20種控制器,每種控制器都會(huì)對(duì)外提供北向接口用于上層應(yīng)用開發(fā)和資源編排。
從設(shè)計(jì)目標(biāo)上看,SDN控制器北向接口需要足夠的開放性,使所有網(wǎng)絡(luò)用戶都能利用他開發(fā)網(wǎng)絡(luò)應(yīng)用,同時(shí)還需要為網(wǎng)絡(luò)運(yùn)營(yíng)者提供足夠的能力,使他們能夠快速進(jìn)行網(wǎng)絡(luò)調(diào)整和定制。從技術(shù)實(shí)現(xiàn)上看,目前REST API是當(dāng)前用戶比較容易接受的方式,與SOAP等技術(shù)相比,它更容易上手,一套好的RESTAPI應(yīng)具備以下特征:
可尋址性強(qiáng):對(duì)應(yīng)用而言,只要用戶使用感興趣的數(shù)據(jù)或者算法片段,都應(yīng)該具有獨(dú)立的地址已被標(biāo)識(shí)方便用戶訪問。每一個(gè)資源都應(yīng)該有一個(gè)唯一的URI標(biāo)識(shí),這樣它才能被外界訪問。
接口無狀態(tài):對(duì)每個(gè)請(qǐng)求而言,彼此之間是隔離的,指服務(wù)器不應(yīng)該保存“應(yīng)用狀態(tài)”。
注重關(guān)聯(lián)性:資源之間不應(yīng)是孤立的,而是彼此聯(lián)系的。應(yīng)用能夠根據(jù)用戶發(fā)來的請(qǐng)求,自動(dòng)在反饋的信息中盡可能的包含請(qǐng)求相關(guān)的全部資源鏈接。
接口要統(tǒng)一:對(duì)所有的資源進(jìn)行的操作都采用一致的方式,包括統(tǒng)一資源編址和統(tǒng)一表述。
在REST API被便捷使用的同時(shí),也存在一些問題:例如受控制器提供的接口能力的限制較大、在某些場(chǎng)合執(zhí)行效率低等。為此,有一些控制器對(duì)外提供更加豐富的北向接口形式,如java接口等,供不同需求的網(wǎng)絡(luò)應(yīng)用開發(fā)人員使用。
以opendaylight為例,其在北向接口API的設(shè)計(jì)中,開放能力涵蓋網(wǎng)絡(luò)服務(wù)功能、網(wǎng)絡(luò)編排功能、服務(wù)管理等,還提供了開放服務(wù)網(wǎng)關(guān)協(xié)議框架和雙向的REST API兩種接口形式。其中開放服務(wù)網(wǎng)關(guān)協(xié)議框架主要用于與控制器處于同一地址空間的java應(yīng)用開發(fā)(如應(yīng)用開發(fā)可作為控制器提供服務(wù)的一部分),而REST API則主要用于開發(fā)遠(yuǎn)程的基于web的應(yīng)用,并為之提供了完備的接口描述、參數(shù)、響應(yīng)設(shè)置、狀態(tài)編碼等信息。利用這些北向接口,業(yè)務(wù)應(yīng)用可充分利用控制器調(diào)用網(wǎng)絡(luò)能力,同時(shí)通過應(yīng)用中的算法驅(qū)動(dòng)控制器對(duì)全網(wǎng)資源進(jìn)行編排。
開源SDN控制器的出現(xiàn),特別是SDN網(wǎng)絡(luò)中北向接口的出現(xiàn)和成熟,給傳統(tǒng)的設(shè)備廠商帶來巨大壓力,這主要是因?yàn)楸毕蚪涌跒樯蠈討?yīng)用開發(fā)帶來巨大便利性,讓用戶可以靈活調(diào)配網(wǎng)絡(luò)資源。為了應(yīng)對(duì)開放SDN帶來的競(jìng)爭(zhēng),一些傳統(tǒng)廠商如思科也推出了相應(yīng)的設(shè)備編程能力,以供業(yè)務(wù)應(yīng)用的直接調(diào)用,這也是北向接口的一種形式,例如思科推出的onePK,這類接口的優(yōu)勢(shì)在于能夠在現(xiàn)網(wǎng)的設(shè)備上直接部署,應(yīng)用較為快捷,但他仍舊是一個(gè)封閉的方案,在應(yīng)用時(shí)也受到設(shè)備廠商的較大約束。