一種基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及Docker技術(shù)應(yīng)用領(lǐng)域,具體地說是一種實(shí)用性強(qiáng)、基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]目前,SDN(SoftwareDefined Network)技術(shù)的演進(jìn)遇到了與傳統(tǒng)網(wǎng)絡(luò)融合的瓶頸。SDN的理念是控制平臺(tái)與數(shù)據(jù)平面的分享,即集中對(duì)網(wǎng)絡(luò)進(jìn)行控制;而傳統(tǒng)網(wǎng)絡(luò)則采取的是分布式控制,需要對(duì)單一的網(wǎng)絡(luò)設(shè)備進(jìn)行配置操作。這樣的矛盾在短期內(nèi)阻礙了 SDN進(jìn)一步的推進(jìn)。
[0003]在由傳統(tǒng)交換機(jī)向SDN方式的交換機(jī)過渡的過程中,將傳統(tǒng)網(wǎng)絡(luò)設(shè)備配置方式與SDN網(wǎng)絡(luò)設(shè)備配置方式進(jìn)行融合漸成主流?;诖耍景l(fā)明提出的一種基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法來解決上述問題。該方法可以依據(jù)特定的應(yīng)用場(chǎng)景,靈活的實(shí)現(xiàn)SDN或傳統(tǒng)網(wǎng)絡(luò)控制模式的互相切換,解決了SDN技術(shù)無法與傳統(tǒng)網(wǎng)絡(luò)進(jìn)行融合的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法。
[0005]一種基于Docker的云交換機(jī)系統(tǒng),包括一臺(tái)Docker Registry服務(wù)器、若干臺(tái)配備Docker Engine的云交換機(jī),所述Docker Registry服務(wù)器與云交換機(jī)之間通過IP網(wǎng)絡(luò)進(jìn)行聯(lián)結(jié)并通信。
[0006]—種基于Docker的云交換機(jī)系統(tǒng)實(shí)現(xiàn)方法,包括相互通信連接Docker Registry服務(wù)器和云交換機(jī),該方法包括以下步驟:
1)首先在DockerRegistry服務(wù)器內(nèi)安裝并運(yùn)行Linux操作系統(tǒng);
2)云交換機(jī)運(yùn)行基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng);
3)在DockerRegistry服務(wù)器上部署Docker Engine服務(wù),并建立Docker Registry鏡像倉(cāng)庫(kù);
4)在云交換機(jī)端,網(wǎng)絡(luò)管理員進(jìn)行鏡像拉取,獲取網(wǎng)絡(luò)交換機(jī)配置鏡像,并將所述鏡像提供的網(wǎng)絡(luò)服務(wù)配置運(yùn)行在所述的基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng)中;
5)在DockerRegistry服務(wù)器端,網(wǎng)絡(luò)管理員根據(jù)網(wǎng)絡(luò)環(huán)境拓?fù)鋵⑺璧木W(wǎng)絡(luò)交換機(jī)配置鏡像下發(fā)到指定的云交換機(jī),并將所述鏡像提供的網(wǎng)絡(luò)服務(wù)配置運(yùn)行在所指定的云交換機(jī)操作系統(tǒng)中;
6)云交換機(jī)網(wǎng)絡(luò)操作系統(tǒng)利用獲取的網(wǎng)絡(luò)交換機(jī)配置鏡像建立第三方網(wǎng)絡(luò)應(yīng)用容器,提供定制化服務(wù)。
[0007]所述Docker Registry服務(wù)器與云交換機(jī)置于同一管理子網(wǎng)下,通過管理子網(wǎng)IP地址進(jìn)行互相識(shí)別與通信。
[0008]上述云交換機(jī)運(yùn)行的基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng),內(nèi)置DockerEngine服務(wù),并且擁有一個(gè)提供基礎(chǔ)網(wǎng)絡(luò)配置服務(wù)的主服務(wù)進(jìn)程。
[0009]所述主服務(wù)進(jìn)程為云交換機(jī)網(wǎng)絡(luò)操作系統(tǒng)運(yùn)行的內(nèi)置啟動(dòng)進(jìn)程,該進(jìn)程為網(wǎng)絡(luò)管理員提供命令行與Web管理界面配置服務(wù),同時(shí)為用戶提供切換進(jìn)入其它Docker容器服務(wù)的命令。
[0010]步驟3)的具體實(shí)現(xiàn)步驟為:
通過Docker Engine服務(wù)器所搭載的Linux操作系統(tǒng),部署對(duì)應(yīng)版本的Docker Engine服務(wù);
通過Docker Engine提供的命令拉取Docker Hub上的Registry鏡像,并依據(jù)該鏡像配置部署Docker Registry容器,為云交換機(jī)提供鏡像服務(wù);
在Docker Registry服務(wù)器上部署身份認(rèn)證服務(wù),當(dāng)云交換機(jī)需要在Docker Registry拉取網(wǎng)絡(luò)服務(wù)鏡像時(shí)需要首先通過身份認(rèn)證;
為Docker Registry添加基礎(chǔ)鏡像,供開發(fā)者進(jìn)行二次開發(fā)。
[0011]所述的基礎(chǔ)鏡像中,不同的基礎(chǔ)鏡像實(shí)現(xiàn)不同的網(wǎng)絡(luò)服務(wù),在云交換機(jī)端通過進(jìn)行鏡像組合實(shí)現(xiàn)復(fù)合的網(wǎng)絡(luò)服務(wù)容器,在生成該復(fù)合網(wǎng)絡(luò)服務(wù)容器時(shí),建立統(tǒng)一的對(duì)外調(diào)用接口,以方便不同網(wǎng)絡(luò)服務(wù)之間進(jìn)行通信。
[0012]步驟4)中,在進(jìn)行鏡像拉取之前,網(wǎng)絡(luò)管理員先通過命令登陸到Docker Registry服務(wù)器,并經(jīng)過身份認(rèn)證后,網(wǎng)絡(luò)管理員通過該Docker Registry服務(wù)器下載網(wǎng)絡(luò)交換機(jī)配置鏡像。
[0013]步驟5)的具體實(shí)現(xiàn)步驟為:
網(wǎng)絡(luò)管理員由Docker Registry服務(wù)器編寫云交換機(jī)行為描述腳本文件,并將其下發(fā)給指定的云交換機(jī);
指定的云交換機(jī)在接收到行為描述腳本文件之后,首先進(jìn)行身份認(rèn)證,確認(rèn)該文件來自于Docker Registry服務(wù)器;
認(rèn)證通過之后,云交換機(jī)解析該行為描述腳本文件,并根據(jù)腳本文件從DockerRegistry服務(wù)器下載相應(yīng)網(wǎng)絡(luò)服務(wù)鏡像資源;
所有鏡像資源下載完成之后,云交換機(jī)將鏡像資源按照行為描述腳本文件中的要求進(jìn)行組合,并生成復(fù)合網(wǎng)絡(luò)服務(wù)容器。
[0014]所述的復(fù)合網(wǎng)絡(luò)服務(wù)容器與云交換機(jī)網(wǎng)絡(luò)操作系統(tǒng)主服務(wù)進(jìn)程進(jìn)行通信,為主服務(wù)進(jìn)程提供服務(wù)。
[0015]本發(fā)明的一種基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法,具有以下優(yōu)點(diǎn):
本發(fā)明提供的一種基于Docker的云交換機(jī)系統(tǒng)及其實(shí)現(xiàn)方法通過采用基于分布式系統(tǒng)的Docker技術(shù),實(shí)現(xiàn)了在SDN集中化網(wǎng)絡(luò)控制的基礎(chǔ)上,整合了傳統(tǒng)網(wǎng)絡(luò)分布式操作的特性;另外,通過Docker的鏡像服務(wù),可以使更多的用戶及開發(fā)者為網(wǎng)絡(luò)設(shè)備提供定制化的第三方網(wǎng)絡(luò)應(yīng)用服務(wù),可以依據(jù)特定的應(yīng)用場(chǎng)景,靈活的實(shí)現(xiàn)SDN或傳統(tǒng)網(wǎng)絡(luò)控制模式的互相切換,解決了SDN技術(shù)無法與傳統(tǒng)網(wǎng)絡(luò)進(jìn)行融合的問題,實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【附圖說明】
[0016]附圖1為基于Docker的云交換機(jī)系統(tǒng)的系統(tǒng)架構(gòu)圖。
[0017]附圖2為基于Docker的云交換機(jī)系統(tǒng)實(shí)現(xiàn)流程圖。
[0018]附圖3為實(shí)現(xiàn)建立DockerRegistry服務(wù)器的方法流程圖。
[0019]附圖4為實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)配置鏡像下發(fā)的方法流程圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0021]如附圖1所示,一種基于Docker的云交換機(jī)系統(tǒng),包括一臺(tái)Docker Registry服務(wù)器、若干臺(tái)配備Docker Engine的云交換機(jī),所述Docker Registry服務(wù)器與云交換機(jī)之間通過IP網(wǎng)絡(luò)進(jìn)行聯(lián)結(jié)并通信。
[0022]一種基于Docker的云交換機(jī)系統(tǒng)實(shí)現(xiàn)方法,如附圖2、圖3、圖4所示,包括相互通信連接Docker Registry服務(wù)器和云交換機(jī),該方法包括以下步驟:
1)所述DockerRegistry服務(wù)器運(yùn)行Linux操作系統(tǒng);
2)所述配備DockerEngine的云交換機(jī)運(yùn)行基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng);
3)在DockerRegistry服務(wù)器上部署Docker Engine服務(wù),并建立Docker Registry鏡像倉(cāng)庫(kù);
4)在交換機(jī)端,網(wǎng)絡(luò)管理員可以由DockerRegistry服務(wù)器下載網(wǎng)絡(luò)交換機(jī)配置鏡像,并將所述鏡像所提供的網(wǎng)絡(luò)服務(wù)配置運(yùn)行在所述的基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng)中;
5)在DockerRegistry服務(wù)器端,網(wǎng)絡(luò)管理員可以根據(jù)網(wǎng)絡(luò)環(huán)境拓?fù)鋵⑺璧木W(wǎng)絡(luò)交換機(jī)配置鏡像下發(fā)到指定的云交換機(jī),并將所述鏡像提供的網(wǎng)絡(luò)服務(wù)配置運(yùn)行在所指定的云交換機(jī)操作系統(tǒng)中;
6)所述云交換機(jī)網(wǎng)絡(luò)操作系統(tǒng)利用獲取的網(wǎng)絡(luò)交換機(jī)配置鏡像建立第三方網(wǎng)絡(luò)應(yīng)用容器,提供定制化服務(wù)。
[0023]所述Docker Registry服務(wù)器與云交換機(jī)置于同一管理子網(wǎng)下,通過管理子網(wǎng)IP地址進(jìn)行互相識(shí)別與通信。
[0024]上述云交換機(jī)運(yùn)行的基于Linux內(nèi)核的網(wǎng)絡(luò)操作系統(tǒng),內(nèi)置DockerEngine服務(wù),并且擁有一個(gè)提供基礎(chǔ)網(wǎng)絡(luò)配置服務(wù)的主服務(wù)進(jìn)程。
[0025]所述主服務(wù)進(jìn)程