本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信,具體地說是一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的方法及系統(tǒng)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的日益發(fā)展以及多媒體應(yīng)用的普及,在一對多的網(wǎng)絡(luò)通信場景中,單播方式下會出現(xiàn)報(bào)文重復(fù)拷貝及帶寬的重復(fù)占用的問題,而廣播方式下會產(chǎn)生帶寬資源的浪費(fèi)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的方法及系統(tǒng),提供云內(nèi)組播源、云外接收者和云內(nèi)接收者、云外組播源這兩種場景使用組播進(jìn)行通信的解決方案,并提供快速開啟關(guān)閉虛擬私有網(wǎng)絡(luò)組播的功能,并保證了用戶級的組播中轉(zhuǎn)網(wǎng)關(guān)的獨(dú)享性與互不干擾性。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
3、一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的方法,該方法的實(shí)現(xiàn)包括:
4、虛擬私有網(wǎng)絡(luò)開啟組播,包括中轉(zhuǎn)網(wǎng)關(guān)vlan網(wǎng)絡(luò)配置、開啟組播前提校驗(yàn)、組播子網(wǎng)創(chuàng)建、組播中轉(zhuǎn)網(wǎng)關(guān)創(chuàng)建、組播中轉(zhuǎn)網(wǎng)關(guān)就緒判定、組播中轉(zhuǎn)網(wǎng)關(guān)配置下發(fā)、組播中轉(zhuǎn)網(wǎng)關(guān)類型核實(shí)和虛擬私有網(wǎng)絡(luò)組播數(shù)據(jù)記錄,提供開啟虛擬私有網(wǎng)絡(luò)組播的功能并搭建獨(dú)享型的組播中轉(zhuǎn)網(wǎng)關(guān);
5、組播安全策略配置:提供全部放行和限制虛擬私有網(wǎng)絡(luò)組播源兩種安全策略,可設(shè)置允許放行的云內(nèi)組播源流量;
6、虛擬私有網(wǎng)絡(luò)關(guān)閉組播:提供關(guān)閉虛擬私有網(wǎng)絡(luò)組播功能,并清理所涉及的底層資源和數(shù)據(jù)庫資源。
7、本方法支持vxlan類型的虛擬私有網(wǎng)絡(luò)開啟組播功能,提供云內(nèi)組播源、云外接收者和云內(nèi)接收者、云外組播源這兩種場景的方案,并支持組播安全策略配置以及中轉(zhuǎn)網(wǎng)關(guān)級別的高可用;實(shí)現(xiàn)一鍵式開啟、關(guān)閉虛擬私有網(wǎng)絡(luò)組播,簡化操作流程;提供用戶獨(dú)享vlan網(wǎng)絡(luò)配置,保障網(wǎng)絡(luò)不阻塞;動(dòng)態(tài)切換中轉(zhuǎn)網(wǎng)關(guān)主備模式,保障組播業(yè)務(wù)流量轉(zhuǎn)發(fā)不中斷;通過制作組播中轉(zhuǎn)網(wǎng)關(guān)虛機(jī)鏡像的方式快速搭建中轉(zhuǎn)網(wǎng)關(guān)主備集群;提供個(gè)性化配置云內(nèi)組播源安全策略規(guī)則,靈活限制組播源范圍;采用事件鏈的方式記錄創(chuàng)建過程,用于異常回退機(jī)制的數(shù)據(jù)來源。本方法為云內(nèi)組播源、云外接收者和云內(nèi)接收者、云外組播源這兩種場景提供了使用組播通信的解決方案,提供了快速開啟關(guān)閉虛擬私有網(wǎng)絡(luò)組播的功能,并保證了用戶級的組播中轉(zhuǎn)網(wǎng)關(guān)的獨(dú)享性與互不干擾性。
8、進(jìn)一步的,所述虛擬私有網(wǎng)絡(luò)開啟組播,其中,
9、1)中轉(zhuǎn)網(wǎng)關(guān)vlan網(wǎng)絡(luò)配置:
10、1.1)首先在交換機(jī)上配置兩個(gè)vlan網(wǎng)絡(luò)并開啟igmpv3協(xié)議;
11、1.2)將交換機(jī)上配置的兩個(gè)vlan網(wǎng)絡(luò)并透傳過來,并創(chuàng)建openstack?vlannetwork和subnet資源,其中將兩個(gè)vlan網(wǎng)絡(luò)分別標(biāo)識為vlan1和vlan2;
12、1.3)設(shè)計(jì)vlan網(wǎng)絡(luò)配置表vlan_config,涉及字段包括有:id、user_id、vlan_id1、vlan_id2、created_time;
13、1.4)將vlan1、vlan2指定給某個(gè)userid使用,并維護(hù)到vlan_config表中;
14、通過步驟1.1)至1.4)就完成了為某個(gè)用戶配置獨(dú)享型中轉(zhuǎn)網(wǎng)關(guān)所需要的vlan網(wǎng)絡(luò)配置;
15、2)開啟組播前提校驗(yàn):
16、2.1)校驗(yàn)組播中轉(zhuǎn)網(wǎng)關(guān)所需的vlan網(wǎng)絡(luò)是否有效,從vlan_config中獲取vlan信息;
17、2.2)校驗(yàn)虛擬私有網(wǎng)絡(luò)network資源是否存在;
18、3)組播子網(wǎng)創(chuàng)建:
19、在虛擬私有網(wǎng)絡(luò)network資源下創(chuàng)建一個(gè)子網(wǎng),該子網(wǎng)會為組播網(wǎng)關(guān)的vxlanport分配ip,用于打通虛擬私有網(wǎng)絡(luò)與組播中轉(zhuǎn)網(wǎng)關(guān)之間的通信;
20、4)組播中轉(zhuǎn)網(wǎng)關(guān)創(chuàng)建:
21、4.1)創(chuàng)建兩個(gè)安全組vxlansecuritygroup、vlansecuritygroup分別用于綁定vlan?port和vxlan?port;
22、4.2)創(chuàng)建一個(gè)server?group并設(shè)置soft-anti-affinity策略,用于讓組播中轉(zhuǎn)網(wǎng)關(guān)盡可能的處于不同的計(jì)算節(jié)點(diǎn),保證組播中轉(zhuǎn)網(wǎng)關(guān)的高可用;
23、4.3)獲取創(chuàng)建組播中轉(zhuǎn)網(wǎng)關(guān)所需的image、flavor,其中image是制作出的組播中轉(zhuǎn)網(wǎng)關(guān)鏡像,flavor為4c8g40g;
24、4.4)循環(huán)創(chuàng)建兩臺中轉(zhuǎn)網(wǎng)關(guān);
25、5)組播中轉(zhuǎn)網(wǎng)關(guān)就緒判定:
26、5.1)對兩臺網(wǎng)關(guān)發(fā)起http?get請求,uri為:/multicasts/health-check;
27、5.2)響應(yīng)result為true代表網(wǎng)關(guān)服務(wù)已經(jīng)就緒,響應(yīng)result為false代表網(wǎng)關(guān)服務(wù)還未就緒;
28、5.3)當(dāng)檢測到網(wǎng)關(guān)服務(wù)未就緒時(shí),再次等待指定時(shí)間之后重復(fù)步驟2)至4);
29、5.4)當(dāng)兩臺網(wǎng)關(guān)服務(wù)任一臺未就緒時(shí),代表組播開始失??;
30、6)組播中轉(zhuǎn)網(wǎng)關(guān)配置下發(fā):
31、6.1)對兩臺網(wǎng)關(guān)發(fā)起http?post請求,uri為:/multicasts/distribute-config;
32、6.2)一臺被發(fā)送主網(wǎng)關(guān)配置,一臺被發(fā)送備份網(wǎng)關(guān)配置;
33、配置為主網(wǎng)關(guān)的中轉(zhuǎn)網(wǎng)關(guān)承擔(dān)打通云內(nèi)到云外、云外到云內(nèi)的通信橋梁;
34、配置為備網(wǎng)關(guān)的中轉(zhuǎn)網(wǎng)關(guān)作為備機(jī)存在,一旦被檢測到主網(wǎng)關(guān)故障,立馬切換為主網(wǎng)關(guān),繼續(xù)執(zhí)行組播流量轉(zhuǎn)發(fā)的職責(zé);
35、7)組播中轉(zhuǎn)網(wǎng)關(guān)類型核實(shí):
36、7.1)對兩臺網(wǎng)關(guān)發(fā)起http?get請求,uri為:/multicasts/check-gateway-status;
37、7.2)檢查兩臺網(wǎng)關(guān)是否為主備模式;
38、8)虛擬私有網(wǎng)絡(luò)組播數(shù)據(jù)記錄:
39、記錄一條虛擬私有網(wǎng)絡(luò)組播數(shù)據(jù);
40、記錄兩臺中轉(zhuǎn)網(wǎng)關(guān)的數(shù)據(jù);
41、記錄安全組vxlansecuritygroup入規(guī)則記錄。
42、進(jìn)一步的,所述安全組vxlansecuritygroup、vlansecuritygroup,
43、出規(guī)則為只放行224.0.0.0/4網(wǎng)段的組播流量;
44、入規(guī)則初始設(shè)置為全部放行。
45、進(jìn)一步的,所述循環(huán)創(chuàng)建兩臺中轉(zhuǎn)網(wǎng)關(guān),每臺中轉(zhuǎn)網(wǎng)關(guān)的創(chuàng)建的步驟如下:
46、4.4.1)根據(jù)image、flavor、server?group創(chuàng)建中轉(zhuǎn)網(wǎng)關(guān)server;
47、4.4.2)使用multisubnet創(chuàng)建vxlan?port并綁定vxlansecuritygroup;
48、4.4.3)使用vlan1創(chuàng)建vlan?port并綁定vlansecuritygroup,其中另外一臺使用vlan2創(chuàng)建vlan?port;
49、4.4.4)分別將vlan?port和vxlan?port附加到中轉(zhuǎn)網(wǎng)關(guān)server上;
50、通過以上步驟完成了兩臺中轉(zhuǎn)網(wǎng)關(guān)的創(chuàng)建。
51、進(jìn)一步的,所述組播安全策略配置,包括:
52、全部放行模式:該模式是開啟組播的初始模式,不限制云內(nèi)組播源的流量;
53、限制虛擬私有網(wǎng)絡(luò)組播源模式:配置只放行某個(gè)網(wǎng)段的流量到中轉(zhuǎn)網(wǎng)關(guān),比如說192.168.1.0/24;或配置只放行某個(gè)ip的流量到中轉(zhuǎn)網(wǎng)關(guān),比如說192.168.1.12/32。
54、進(jìn)一步的,所述虛擬私有網(wǎng)絡(luò)關(guān)閉組播,用于釋放開啟組播的資源,使虛擬私有網(wǎng)絡(luò)重新回歸未開啟組播狀態(tài),步驟如下:
55、s1、釋放中轉(zhuǎn)網(wǎng)關(guān)server;
56、s2、釋放vxlan?port、vlan?port;
57、s3、釋放vxlansecuritygroup、vlansecuritygroup;
58、s4、釋放server?group;
59、s5、釋放組播記錄、組播中轉(zhuǎn)網(wǎng)關(guān)記錄、安全組規(guī)則記錄。
60、進(jìn)一步的,開啟組播的具體實(shí)現(xiàn)流程步驟如下:
61、步驟一:為用戶配置獨(dú)享的兩個(gè)vlan網(wǎng)絡(luò);
62、步驟二:校驗(yàn)當(dāng)前虛擬私有網(wǎng)絡(luò)是否可以開啟組播,如果不符合條件,組播開啟失??;
63、步驟三:為虛擬私有網(wǎng)絡(luò)創(chuàng)建一個(gè)子網(wǎng),用于網(wǎng)關(guān)vxlan?port;
64、步驟四:使用vlan網(wǎng)絡(luò)、子網(wǎng)、網(wǎng)關(guān)鏡像等創(chuàng)建兩臺中轉(zhuǎn)網(wǎng)關(guān)虛機(jī);
65、步驟五:檢查兩臺中轉(zhuǎn)網(wǎng)關(guān)內(nèi)服務(wù)是否啟動(dòng),如果未啟動(dòng),則組播開啟失?。?/p>
66、步驟六:將兩臺中轉(zhuǎn)網(wǎng)關(guān)分為主備,然后分別下發(fā)主備配置,如果下發(fā)失敗,則組播開啟失??;
67、步驟七:檢查兩臺中轉(zhuǎn)網(wǎng)關(guān)類型是否為主備模式,如果不是,則組播開啟失敗;
68、步驟八:如果組播開啟成功,記錄組播相關(guān)數(shù)據(jù)到數(shù)據(jù)庫中。
69、本發(fā)明還要求保護(hù)一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的系統(tǒng),包括:
70、虛擬私有網(wǎng)絡(luò)開啟組播模塊,用于提供開啟虛擬私有網(wǎng)絡(luò)組播的功能并搭建獨(dú)享型的組播中轉(zhuǎn)網(wǎng)關(guān),包括中轉(zhuǎn)網(wǎng)關(guān)vlan網(wǎng)絡(luò)配置子模塊、開啟組播前提校驗(yàn)子模塊、組播子網(wǎng)創(chuàng)建子模塊、組播中轉(zhuǎn)網(wǎng)關(guān)創(chuàng)建子模塊、組播中轉(zhuǎn)網(wǎng)關(guān)就緒判定子模塊、組播中轉(zhuǎn)網(wǎng)關(guān)配置下發(fā)子模塊、組播中轉(zhuǎn)網(wǎng)關(guān)類型核實(shí)子模塊和虛擬私有網(wǎng)絡(luò)組播數(shù)據(jù)記錄子模塊;
71、組播安全策略配置模塊,用于提供全部放行和限制虛擬私有網(wǎng)絡(luò)組播源兩種安全策略,可設(shè)置允許放行的云內(nèi)組播源流量;
72、虛擬私有網(wǎng)絡(luò)關(guān)閉組播模塊,用于提供關(guān)閉虛擬私有網(wǎng)絡(luò)組播功能,并清理所涉及的底層資源和數(shù)據(jù)庫資源;
73、該系統(tǒng)通過上述的方法實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播。
74、本發(fā)明還要求保護(hù)一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的裝置,包括:至少一個(gè)存儲器和至少一個(gè)處理器;
75、所述至少一個(gè)存儲器,用于存儲機(jī)器可讀程序;
76、所述至少一個(gè)處理器,用于調(diào)用所述機(jī)器可讀程序,實(shí)現(xiàn)上述的方法。
77、本發(fā)明還要求保護(hù)一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)上存儲有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令在被處理器執(zhí)行時(shí),使所述處理器執(zhí)行上述的方法。
78、本發(fā)明的一種實(shí)現(xiàn)虛擬私有網(wǎng)絡(luò)組播的方法及系統(tǒng)與現(xiàn)有技術(shù)相比,具有以下有益效果:
79、1、提供虛擬私有網(wǎng)絡(luò)開啟、關(guān)閉組播的便利性。
80、2、支持為用戶配置獨(dú)享的vlan網(wǎng)絡(luò)。
81、3、提供個(gè)性化配置云內(nèi)組播源安全策略規(guī)則,靈活限制組播源范圍。
82、4、靈活切換中轉(zhuǎn)網(wǎng)關(guān)的主備模式,保障組播場景業(yè)務(wù)不中斷。
83、5、中轉(zhuǎn)網(wǎng)關(guān)分布于不同計(jì)算節(jié)點(diǎn),保障高可用。