本發(fā)明涉及虛擬化技術(shù)領(lǐng)域,特別是涉及一種虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)服務(wù)功能鏈(networkservicefunctionchain)將網(wǎng)絡(luò)通信過程的各式各樣的網(wǎng)絡(luò)服務(wù)功能進行有序組合,并讓流量通過這些網(wǎng)絡(luò)服務(wù)功能。該網(wǎng)絡(luò)服務(wù)功能可以例如為防火墻以及nat等。
一般地,在數(shù)據(jù)中心環(huán)境下,往往會有網(wǎng)絡(luò)服務(wù)功能鏈的部署需求,當(dāng)數(shù)據(jù)中心部署網(wǎng)絡(luò)服務(wù)功能鏈之后,會使得報文在數(shù)據(jù)中心傳遞的時候,能夠經(jīng)過各種各樣的服務(wù)節(jié)點,保證安全、快速、穩(wěn)定的網(wǎng)絡(luò)服務(wù)。
現(xiàn)有的網(wǎng)絡(luò)服務(wù)功能鏈一般是基于硬件設(shè)備實現(xiàn)的,其會使得網(wǎng)絡(luò)服務(wù)不夠靈活。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法及裝置,以解決現(xiàn)有基于硬件設(shè)備實現(xiàn)網(wǎng)絡(luò)服務(wù)功能鏈導(dǎo)致網(wǎng)絡(luò)服務(wù)靈活性較差的問題。
為解決上述技術(shù)問題,本發(fā)明提供一種虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法,該方法包括:
接收虛擬機啟動后上報的虛擬機啟動信息,所述虛擬機啟動信息包括所述虛擬機的唯一id信息;
根據(jù)所述唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口;
根據(jù)所述流量導(dǎo)入策略,下發(fā)openflow流表至所述虛擬機對應(yīng)的交換機,以使所述交換機根據(jù)所述openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。
可選地,所述根據(jù)所述唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口包括:
將所述唯一id信息與所述虛擬機端口的id信息進行一一比對,查找出與所述唯一id信息相一致的所述虛擬端口。
可選地,在所述根據(jù)所述流量導(dǎo)入策略,下發(fā)openflow流表至所述虛擬機對應(yīng)的交換機,以所述交換機根據(jù)所述openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈之后還包括:
接收所述虛擬機下線時上報的虛擬機下線信息;
根據(jù)所述虛擬機下線信息,刪除所述交換機內(nèi)的所述openflow流表,并記錄所述openflow流表信息;
接收所述虛擬機重新上線時上報的虛擬機重新啟動信息;
根據(jù)所述虛擬機重新啟動信息,將所述openflow流表下發(fā)至所述虛擬機對應(yīng)的第一交換機。
可選地,在所述接收虛擬機啟動后上報的虛擬機啟動信息,所述虛擬機啟動信息包括所述虛擬機的唯一id信息之前還包括:
配置生成所述網(wǎng)絡(luò)服務(wù)功能鏈;
配置所述網(wǎng)絡(luò)服務(wù)功能鏈所需的所述虛擬機;
將所述流量導(dǎo)入策略與所述虛擬端口進行綁定。
可選地,所述預(yù)設(shè)格式為nsh格式。
此外,本發(fā)明還提供了一種虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置,該裝置包括:
啟動信息接收模塊,用于接收虛擬機啟動后上報的虛擬機啟動信息,所述虛擬機啟動信息包括所述虛擬機的唯一id信息;
查找模塊,用于根據(jù)所述唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口;
下發(fā)模塊,用于根據(jù)所述流量導(dǎo)入策略,下發(fā)openflow流表至所述虛擬機對應(yīng)的交換機,以使所述交換機根據(jù)所述openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。
可選地,所述查找模塊包括:
比對單元,用于將所述唯一id信息與所述虛擬機端口的id信息進行一一比對,查找出與所述唯一id信息相一致的所述虛擬端口。
可選地,還包括:
下線信息接收模塊,用于接收所述虛擬機下線時上報的虛擬機下線信息;
刪除模塊,用于根據(jù)所述虛擬機下線信息,刪除所述交換機內(nèi)的所述openflow流表,并記錄所述openflow流表信息;
重新啟動信息接收模塊,用于接收所述虛擬機重新上線時上報的虛擬機重新啟動信息;
第一下發(fā)模塊,用于根據(jù)所述虛擬機重新啟動信息,將所述openflow流表下發(fā)至所述虛擬機對應(yīng)的第一交換機。
可選地,還包括:
第一配置模塊,用于配置生成所述網(wǎng)絡(luò)服務(wù)功能鏈;
第二配置模塊,用于配置所述網(wǎng)絡(luò)服務(wù)功能鏈所需的所述虛擬機;
綁定模塊,用于將所述流量導(dǎo)入策略與所述虛擬端口進行綁定。
可選地,所述預(yù)設(shè)格式為nsh格式。
本發(fā)明所提供的一種虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法及裝置,通過接收虛擬機啟動后上報的虛擬機啟動信息,虛擬機啟動信息包括虛擬機的唯一id信息;根據(jù)唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口;根據(jù)流量導(dǎo)入策略,下發(fā)openflow流表至虛擬機對應(yīng)的交換機,以使交換機根據(jù)openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。本申請通過openflow流表,將報文導(dǎo)入到網(wǎng)絡(luò)服務(wù)功能鏈中,這樣網(wǎng)絡(luò)服務(wù)功能鏈中的服務(wù)節(jié)點可以對報文進行相應(yīng)處理,以滿足不同場景的網(wǎng)絡(luò)功能需求,提高了網(wǎng)絡(luò)服務(wù)的靈活性;且利用openflow流表控制報文轉(zhuǎn)發(fā),使控制和轉(zhuǎn)發(fā)分離,使得報文轉(zhuǎn)發(fā)簡單高效。
附圖說明
為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈實現(xiàn)方法的一種具體實施方式的流程示意圖;
圖2為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的具體實現(xiàn)示意框圖;
圖3為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參見圖1,圖1為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈實現(xiàn)方法的一種具體實施方式的流程示意圖,該方法包括以下步驟:
步驟101:接收虛擬機啟動后上報的虛擬機啟動信息,所述虛擬機啟動信息包括所述虛擬機的唯一id信息。
具體地,虛擬機在啟動之后,控制面會接收到虛擬機上報的虛擬機啟動事件,以感知虛擬機啟動事件。該虛擬機啟動事件包括有該虛擬機的唯一id。
作為一種具體實施方式,在上述接收虛擬機啟動后上報的虛擬機啟動信息,所述虛擬機啟動信息包括所述虛擬機的唯一id信息之前還可以包括:配置生成所述網(wǎng)絡(luò)服務(wù)功能鏈;配置所述網(wǎng)絡(luò)服務(wù)功能鏈所需的所述虛擬機;將所述流量導(dǎo)入策略與所述虛擬端口進行綁定。
具體地,控制面根據(jù)所接收到的配置指令,配置創(chuàng)建相應(yīng)的網(wǎng)絡(luò)服務(wù)功能鏈;接著配置用于業(yè)務(wù)鏈處理的虛擬機;然后將虛擬機的各個流量導(dǎo)入策略與虛擬機的各個相應(yīng)虛擬端口進行綁定。
網(wǎng)絡(luò)服務(wù)功能鏈可以包括由多種特定網(wǎng)絡(luò)功能、多個虛擬機以及多個虛擬交換機。
可以理解的是,上流量導(dǎo)入策略可以是指流量處理時采用的策略。
步驟102:根據(jù)所述唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口。
控制面可以根據(jù)虛擬機啟動事件中的虛擬機唯一id,根據(jù)唯一id,匹配出該虛擬機對應(yīng)的虛擬端口。
作為一種具體實施方式,上述根據(jù)所述唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口的過程可以具體為:將所述唯一id信息與所述虛擬機端口的id信息進行一一比對,查找出與所述唯一id信息相一致的所述虛擬端口。
可以理解的是,虛擬機id和虛擬端口id是一一對應(yīng)的,即當(dāng)虛擬機id與對應(yīng)的虛擬端口id是一致的。通過匹配出虛擬機對應(yīng)的虛擬端口,以尋找出該虛擬機相應(yīng)的流量導(dǎo)入策略。
步驟103:根據(jù)所述流量導(dǎo)入策略,下發(fā)openflow流表至所述虛擬機對應(yīng)的交換機,以使所述交換機根據(jù)所述openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。
具體地,控制面基于流量導(dǎo)入策略,在該虛擬機對應(yīng)的虛擬交換機創(chuàng)建并下發(fā)相應(yīng)的openflow流表;虛擬交換機根據(jù)openflow流表,將該虛擬機的報文進行封裝,具體可以采用nsh格式封裝報文;然后將封裝報文發(fā)送至網(wǎng)絡(luò)服務(wù)功能鏈中的各個網(wǎng)絡(luò)服務(wù)節(jié)點,進行相應(yīng)網(wǎng)絡(luò)功能的處理,該網(wǎng)絡(luò)服務(wù)節(jié)點例如可以為lb負載均衡器、dip以及fw防火墻等。
為了更好地介紹虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的具體實現(xiàn)過程,下面將結(jié)合圖2進行相應(yīng)介紹,圖2為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的具體實現(xiàn)示意框圖。
如圖2所示,網(wǎng)絡(luò)服務(wù)功能鏈包括虛擬機1和虛擬機2,虛擬機1對應(yīng)的交換機1,虛擬機2對應(yīng)的交換機2,在交換機1和交換機2之間的lb均衡器、dip以及fw防火墻。該虛擬化網(wǎng)絡(luò)服務(wù)功能鏈基于openflow流表進行報文轉(zhuǎn)發(fā)過程具體可以為:在交換機1中創(chuàng)建并下發(fā)openflow流表,以nsh格式封裝報文;然后將封裝報文依次通過lb負載均衡器、dip以及fw防火器,以使各個網(wǎng)絡(luò)服務(wù)節(jié)點對報文作相應(yīng)處理;封裝報文進入到交換機2時,在交換機2中創(chuàng)建big先發(fā)openflow流表,以使交換機2對接收到的封裝報文進行解封裝,送入虛擬機2,完成報文的轉(zhuǎn)發(fā)。
在虛擬機遷移時,可能需要配置新的網(wǎng)絡(luò)服務(wù)功能鏈,而為了簡便網(wǎng)絡(luò)服務(wù)功能鏈的配置工作,可以實現(xiàn)網(wǎng)絡(luò)服務(wù)功能鏈跟隨虛擬機遷移。
作為一種具體實施方式,在上述根據(jù)所述流量導(dǎo)入策略,下發(fā)openflow流表至所述虛擬機對應(yīng)的交換機,以所述交換機根據(jù)所述openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈之后還可以包括:接收所述虛擬機下線時上報的虛擬機下線信息;根據(jù)所述虛擬機下線信息,刪除所述交換機內(nèi)的所述openflow流表,并記錄所述openflow流表信息;接收所述虛擬機重新上線時上報的虛擬機重新啟動信息;根據(jù)所述虛擬機重新啟動信息,將所述openflow流表下發(fā)至所述虛擬機對應(yīng)的第一交換機。
需要說明的是,上述第一交換機不同于上述交換機,即虛擬機重新上線后,其對應(yīng)的虛擬機不再為原來的交換機。
具體地,控制面當(dāng)接收到虛擬機下線信息時,會將虛擬機對應(yīng)的虛擬機交互機中的相關(guān)openflow流表刪除,同時,控制面會記錄該虛擬機對應(yīng)的功能流表信息;當(dāng)重新感知到該虛擬機上線時,會根據(jù)之前所記錄的功能流表信息,下發(fā)類似的功能流表至該虛擬機對應(yīng)的新的虛擬交換機,實現(xiàn)網(wǎng)絡(luò)服務(wù)功能鏈跟隨虛擬機遷移。
可以看出,實現(xiàn)網(wǎng)絡(luò)服務(wù)功能鏈跟隨虛擬機遷移,每次虛擬機重新上線時不用重新配置相應(yīng)的網(wǎng)絡(luò)服務(wù)功能鏈,簡便了網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)過程。
本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法,通過接收虛擬機啟動后上報的虛擬機啟動信息,虛擬機啟動信息包括虛擬機的唯一id信息;根據(jù)唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口;根據(jù)流量導(dǎo)入策略,下發(fā)openflow流表至虛擬機對應(yīng)的交換機,以使交換機根據(jù)openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。該申請通過openflow流表,將報文導(dǎo)入到網(wǎng)絡(luò)服務(wù)功能鏈中,這樣網(wǎng)絡(luò)服務(wù)功能鏈中的服務(wù)節(jié)點可以對報文進行相應(yīng)處理,以滿足不同場景的網(wǎng)絡(luò)功能需求,提高了網(wǎng)絡(luò)服務(wù)的靈活性;且利用openflow流表控制報文轉(zhuǎn)發(fā),使控制和轉(zhuǎn)發(fā)分離,使得報文轉(zhuǎn)發(fā)簡單高效。
下面對本發(fā)明實施例提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置進行介紹,下文描述的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置與上文描述的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法可相互對應(yīng)參照。
圖3為本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置的結(jié)構(gòu)框圖,參照圖3虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置可以包括:
啟動信息接收模塊31,用于接收虛擬機啟動后上報的虛擬機啟動信息,虛擬機啟動信息包括所述虛擬機的唯一id信息;
查找模塊32,用于根據(jù)唯一id信息,查找出預(yù)綁定有流量導(dǎo)入策略的虛擬端口;
下發(fā)模塊33,用于根據(jù)流量導(dǎo)入策略,下發(fā)openflow流表至虛擬機對應(yīng)的交換機,以使交換機根據(jù)openflow流表將以預(yù)設(shè)格式封裝的報文導(dǎo)入預(yù)創(chuàng)建的網(wǎng)絡(luò)服務(wù)功能鏈。
作為一種具體實施方式,上述查找模塊可以包括:
比對單元,用于將所述唯一id信息與虛擬機端口的id信息進行一一比對,查找出與唯一id信息相一致的虛擬端口。
作為一種具體實施方式,上述實現(xiàn)裝置還可以包括:
下線信息接收模塊,用于接收虛擬機下線時上報的虛擬機下線信息;
刪除模塊,用于根據(jù)虛擬機下線信息,刪除所述交換機內(nèi)的openflow流表,并記錄openflow流表信息;
重新啟動信息接收模塊,用于接收虛擬機重新上線時上報的虛擬機重新啟動信息;
第一下發(fā)模塊,用于根據(jù)虛擬機重新啟動信息,將openflow流表下發(fā)至虛擬機對應(yīng)的第一交換機。
作為一種具體實施方式,上述實現(xiàn)裝置還可以包括:
第一配置模塊,用于配置生成網(wǎng)絡(luò)服務(wù)功能鏈;
第二配置模塊,用于配置網(wǎng)絡(luò)服務(wù)功能鏈所需的虛擬機;
綁定模塊,用于將流量導(dǎo)入策略與虛擬端口進行綁定。
可選地,上述預(yù)設(shè)格式為nsh格式。
本發(fā)明實施例所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)裝置,通過openflow流表,將報文導(dǎo)入到網(wǎng)絡(luò)服務(wù)功能鏈中,這樣網(wǎng)絡(luò)服務(wù)功能鏈中的服務(wù)節(jié)點可以對報文進行相應(yīng)處理,以滿足不同場景的網(wǎng)絡(luò)功能需求,提高了網(wǎng)絡(luò)服務(wù)的靈活性;且利用openflow流表控制報文轉(zhuǎn)發(fā),使控制和轉(zhuǎn)發(fā)分離,使得報文轉(zhuǎn)發(fā)簡單高效。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的虛擬化網(wǎng)絡(luò)服務(wù)功能鏈的實現(xiàn)方法及裝置進行了詳細介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。