一種分布式網(wǎng)絡(luò)的通信方法、系統(tǒng)和控制節(jié)點(diǎn)的制作方法
【專利摘要】本發(fā)明公開了一種分布式網(wǎng)絡(luò)的通信方法、系統(tǒng)以及控制節(jié)點(diǎn),方法應(yīng)用于控制節(jié)點(diǎn)中,所述方法包括:接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介;由此可見,本發(fā)明使得南北向流量中源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
【專利說明】
一種分布式網(wǎng)絡(luò)的通信方法、系統(tǒng)和控制節(jié)點(diǎn)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,更具體的說是涉及一種分布式網(wǎng)絡(luò)的通信方法、系統(tǒng)和控制節(jié)點(diǎn)。
【背景技術(shù)】
[0002]Openstack是一個(gè)開源的云平臺(tái)管理項(xiàng)目,能夠提供可擴(kuò)展的靈活的云平臺(tái)管理。由于Openstack中具有很多租戶,因此為了保證每一租戶的安全性,在Openstack的云數(shù)據(jù)中心中,不同租戶之間需要隔離,也就是說,不同租戶之間不能相互訪問。而在同一租戶下,Opens tack中的網(wǎng)絡(luò)流量可以包括東西向流量、南北向流量以及DHCP流量。
[0003]目前,在Openstack的legacy的網(wǎng)絡(luò)模型中,無論東西向流量還是南北向流量都需要經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),因此,很容易造成網(wǎng)絡(luò)節(jié)點(diǎn)的擁塞。為了解決該問題,Openstack提出了分布式虛擬路由(Distributed Virtual Router,DVR)網(wǎng)絡(luò)模型,在DVR網(wǎng)絡(luò)模型中,東西向流量以及南北向流量中目的地址轉(zhuǎn)換(Destinat1n Network Address Translat1n,DNAT)的流量,不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過用于提供二層網(wǎng)絡(luò)的計(jì)算節(jié)點(diǎn)。
[0004]但是,發(fā)明人通過研究發(fā)現(xiàn),在DVR網(wǎng)絡(luò)模型中,南北向流量中源地址轉(zhuǎn)換(SourceNetwork Address Translat1n,SNAT)的流量仍需要經(jīng)過同一網(wǎng)絡(luò)節(jié)點(diǎn),因此,當(dāng)經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn)的SNAT流量較多時(shí),仍會(huì)造成網(wǎng)絡(luò)節(jié)點(diǎn)的擁塞,從而降低整個(gè)網(wǎng)絡(luò)的性能。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種分布式網(wǎng)絡(luò)的通信方法、系統(tǒng)和控制節(jié)點(diǎn),以解決現(xiàn)有技術(shù)中會(huì)造成網(wǎng)絡(luò)節(jié)點(diǎn)的擁塞,降低整個(gè)網(wǎng)絡(luò)的性能的技術(shù)問題。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0007]—種分布式網(wǎng)絡(luò)的通信方法,應(yīng)用于控制節(jié)點(diǎn)中,所述方法包括:
[0008]接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;
[0009]基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);
[0010]其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0011]優(yōu)選的,所述在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn),包括:
[0012]確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊;
[0013]檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器;
[0014]若否,則在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器;
[0015]向綁定有所述源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述源地址轉(zhuǎn)換模塊的命名空間;
[0016]其中,建立有所述源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0017]優(yōu)選的,所述檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器之后,還包括:
[0018]若是,則確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0019]優(yōu)選的,所述在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,包括:
[0020]在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器。
[0021 ]優(yōu)選的,當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí),所述在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器之后,還包括:
[0022]獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量;其中,所述第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),所述第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn);
[0023]確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0024]優(yōu)選的,所述獲取所述第一租戶的第一類虛擬機(jī)在每一計(jì)算節(jié)點(diǎn)上的數(shù)量之后,還包括:
[0025]當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0026]—種分布式網(wǎng)絡(luò)的通信方法,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)占.V ,
[0027]所述方法包括:
[0028]當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到位于所述第一計(jì)算節(jié)點(diǎn)內(nèi)的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),判斷所述虛擬機(jī)是否為所述第一租戶的虛擬機(jī),生成判斷結(jié)果;
[0029]基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。
[0030]優(yōu)選的,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0031]當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)為所述第一租戶的虛擬機(jī)時(shí),所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一路由模塊;
[0032]所述第一路由模塊對(duì)所述流量進(jìn)行路由;
[0033]所述第一交換機(jī)將路由后的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0034]所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0035]所述第一交換機(jī)將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0036]優(yōu)選的,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0037]當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)為第二租戶的虛擬機(jī)時(shí),第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至第一計(jì)算節(jié)點(diǎn)中的所述第二租戶的第二路由模塊;
[0038]所述第二路由模塊對(duì)所述流量進(jìn)行路由;
[0039]所述第一交換機(jī)將路由后的流量發(fā)送至第二計(jì)算節(jié)點(diǎn),以使得所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送到所述外部網(wǎng)絡(luò);
[0040]其中,所述第二計(jì)算節(jié)點(diǎn)為所述第二租戶的代表節(jié)點(diǎn)。
[0041]—種分布式網(wǎng)絡(luò)的通信方法,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,其中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn);
[0042]所述方法包括:
[0043]當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到外部網(wǎng)絡(luò)返回給所述第一租戶的虛擬機(jī)的流量時(shí),判斷所述虛擬機(jī)是否位于所述第一計(jì)算節(jié)點(diǎn)中,生成判斷結(jié)果;
[0044]基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。
[0045]優(yōu)選的,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0046]當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送給第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0047]所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址;
[0048]所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)至所述第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一路由模塊;
[0049]所述第一路由模塊將所述流量進(jìn)行路由;
[0050]所述第一交換機(jī)將路由后的流量發(fā)送至所述虛擬機(jī)。
[0051]優(yōu)選的,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0052]當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送到所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0053]所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址;
[0054]所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一計(jì)算節(jié)點(diǎn)中的第一租戶的第一路由模塊;
[0055]所述第一路由模塊對(duì)所述流量進(jìn)行路由;
[0056]所述第一交換機(jī)將路由后的流量發(fā)送到第二計(jì)算節(jié)點(diǎn),以由所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送給位于第二計(jì)算節(jié)點(diǎn)中的第一租戶的所述虛擬機(jī)。
[0057]一種分布式網(wǎng)絡(luò)的通信方法,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,其中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn);
[0058]所述方法包括:
[0059]當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到第二計(jì)算節(jié)點(diǎn)轉(zhuǎn)發(fā)的流量時(shí),判斷所述流量的類型,生成判斷結(jié)果;
[0060]基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信。
[0061]優(yōu)選的,基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括:
[0062]當(dāng)所述判斷結(jié)果表征所述流量為所述第一租戶的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給第一租戶的第一路由模塊;
[0063]所述第一路由模塊將所述流量進(jìn)行路由;
[0064]所述第一交換機(jī)將路由后的流量發(fā)送給所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0065]所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為第一租戶的公網(wǎng)IP地址;
[0066]所述第一交換機(jī)將帶有公網(wǎng)IP地址的流量發(fā)送給外部網(wǎng)絡(luò)。
[0067]優(yōu)選的,基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括:
[0068]當(dāng)所述判斷結(jié)果表征所述流量為外部網(wǎng)絡(luò)發(fā)送給第二租戶的虛擬機(jī)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中第二租戶的第二路由模塊;
[0069]第二路由模塊對(duì)所述流量進(jìn)行路由;
[0070]所述第一交換機(jī)將路由后的流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中的所述虛擬機(jī)。
[0071]—種分布式網(wǎng)絡(luò)的通信系統(tǒng),包括:
[0072]控制節(jié)點(diǎn),所述控制節(jié)點(diǎn)用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,所述在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);
[0073]第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn),用于在所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0074]優(yōu)選的,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中;
[0075]所述第一計(jì)算節(jié)點(diǎn)包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;其中:
[0076]所述第一交換機(jī)用于將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到所述第一路由模塊,并將所述第一路由模塊路由的流量發(fā)送到所述第一 SNAT模塊;
[0077]所述第一SNAT模塊用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0078]所述第一交換機(jī)還用于將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0079]優(yōu)選的,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中;
[0080]所述計(jì)算節(jié)點(diǎn)包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;其中:
[0081]所述第一交換機(jī)用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送給所述第一SNAT豐旲塊;
[0082]所述第一SNAT模塊用于將所述網(wǎng)絡(luò)流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī);
[0083]所述第一交換機(jī)還用于將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊,并將所述第一路由模塊路由后的流量發(fā)送到所述虛擬機(jī)。
[0084]—種分布式網(wǎng)絡(luò)的通信系統(tǒng),包括:
[0085]控制節(jié)點(diǎn),所述控制節(jié)點(diǎn)用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,為所述第一租戶選取至少一個(gè)計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn);
[0086]第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn),用于在所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介;
[0087]第二計(jì)算節(jié)點(diǎn),所述第二計(jì)算節(jié)點(diǎn)上具有訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)。
[0088]優(yōu)選的,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中;
[0089]所述第一計(jì)算節(jié)點(diǎn),包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;
[0090]所述第二計(jì)算節(jié)點(diǎn)包括第二交換機(jī),所述第一租戶的第二路由模塊;
[0091]所述第二交換機(jī)用于將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到所述第二路由模塊,并將所述第二路由模塊路由的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)上;
[0092]所述第一交換機(jī)用于將所述流量發(fā)送到所述第一路由模塊,并將所述第一路由模塊路由的流量發(fā)送到所述第一 SNAT模塊;
[0093]所述第一SNAT模塊用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0094]所述第一交換機(jī)還用于將具有公網(wǎng)IP地址的網(wǎng)絡(luò)流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0095]優(yōu)選的,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中;所述第一計(jì)算節(jié)點(diǎn),包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;
[0096]所述第二計(jì)算節(jié)點(diǎn)包括第二交換機(jī),所述第一租戶的第二路由模塊;
[0097]所述第一交換機(jī)用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送到所述第一SNAT豐旲塊;
[0098]所述第一SNAT模塊用于將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī);
[0099]所述第一交換機(jī)還用于將具有所述虛擬機(jī)地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊,并將所述第一路由模塊路由后的流量發(fā)送到所述第二計(jì)算節(jié)點(diǎn);
[0100]所述第二交換機(jī)用于將所述流量發(fā)送給所述第二路由模塊,并將所述第二路由模塊路由后的流量發(fā)送到所述虛擬機(jī)。
[0101]—種控制節(jié)點(diǎn),包括:
[0102]第一接收單元,用于接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;
[0103]第一選取單元,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);
[0104]其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0105]優(yōu)選的,所述第一選取單元包括:
[0106]第一確定模塊,用于基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊;
[0107]第一檢測(cè)模塊,用于檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器;
[0108]第一綁定模塊,用于在所述源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述SNAT模塊和所述滿足第一預(yù)設(shè)條件的L3代理器;
[0109]第一發(fā)送模塊,用于向綁定有源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述源地址轉(zhuǎn)換模塊的命名空間;
[0110]其中,建立有所述源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0111]優(yōu)選的,所述第一選取單元還包括:
[0112]第二確定模塊,用于在所述源地址轉(zhuǎn)換模塊綁定有L3代理器時(shí),確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0113]優(yōu)選的,所述第一綁定模塊具體用于在所述源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器,并綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器。
[0114]優(yōu)選的,當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí),所述第一綁定模塊在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器之后,還用于獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量,確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器;其中,所述第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),所述第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn)。
[0115]優(yōu)選的,所述第一綁定模塊在獲取所述第一租戶的第一類虛擬機(jī)在每一計(jì)算節(jié)點(diǎn)上的數(shù)量之后,還用于當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0116]經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例公開了一種分布式網(wǎng)絡(luò)的通信方法,該方法應(yīng)用于控制節(jié)點(diǎn)中,具體的,接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);由此可見,本發(fā)明為第一租戶選取計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn),該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
【附圖說明】
[0117]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0118]圖1為本發(fā)明實(shí)施例一公開的一種分布式網(wǎng)絡(luò)的通信方法的流程示意圖;
[0119]圖2為本發(fā)明實(shí)施例二公開的一種分布式網(wǎng)絡(luò)的通信方法的流程示意圖;
[0120]圖3為本發(fā)明實(shí)施例三公開的一種分布式網(wǎng)絡(luò)的通信方法的流程示意圖;
[0121]圖4為本發(fā)明公開的第一計(jì)算節(jié)點(diǎn)和第二計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)示意圖;
[0122]圖5為本發(fā)明實(shí)施例四公開的一種分布式通信方法的流程示意圖;
[0123]圖6為本發(fā)明實(shí)施例五公開的一種分布式通信方法的流程示意圖;
[0124]圖7為本發(fā)明實(shí)施例六公開的一種分布式通信方法的流程示意圖;
[0125]圖8為本發(fā)明實(shí)施例七公開的一種分布式的通信系統(tǒng)的結(jié)構(gòu)示意圖;
[0126]圖9為本發(fā)明實(shí)施例七公開的第一計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)示意圖;
[0127]圖10為本發(fā)明實(shí)施例八公開的一種分布式網(wǎng)絡(luò)的通信系統(tǒng)的結(jié)構(gòu)示意圖;
[0128]圖11為本發(fā)明實(shí)施例八公開的第一計(jì)算節(jié)點(diǎn)和第二計(jì)算節(jié)點(diǎn)的具體結(jié)果示意圖;
[0129]圖12為本發(fā)明實(shí)施例九公開的一種控制節(jié)點(diǎn)的結(jié)構(gòu)示意圖;
[0130]圖13為本發(fā)明實(shí)施例十公開的一種第一選取單元的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0131]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0132]本發(fā)明實(shí)施例一公開了一種分布式網(wǎng)絡(luò)的通信方法,該方法應(yīng)用于控制節(jié)點(diǎn)中,如圖1所示,該方法包括以下步驟:
[0133]步驟101:接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;
[0134]本發(fā)明中的云平臺(tái)可以指代為開源式云平臺(tái),具體可以為0penstack,0penstack為一個(gè)開源的云平臺(tái)管理項(xiàng)目,能夠提供可擴(kuò)展的靈活的云平臺(tái)管理。
[0135]云平臺(tái)中一般具有很多租戶,租戶可以請(qǐng)求云平臺(tái)提供虛擬機(jī)訪問外部網(wǎng)絡(luò)的通信媒介,即向控制節(jié)點(diǎn)發(fā)送添加外部網(wǎng)絡(luò)的請(qǐng)求。
[0136]具體的,第一租戶向控制節(jié)點(diǎn)發(fā)送添加外部網(wǎng)關(guān)的請(qǐng)求的方式本發(fā)明不做限定,如可以通過horizon、nova命名或自定義腳本的方式,向控制節(jié)點(diǎn)發(fā)送添加外部網(wǎng)關(guān)的請(qǐng)求。
[0137]步驟102:基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn)。
[0138]其中,代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0139]需說明的是,在云平臺(tái)中,一個(gè)租戶具有多個(gè)虛擬機(jī),而不同的虛擬機(jī)可以分布在不同的計(jì)算節(jié)點(diǎn)上,分布有第一租戶的虛擬機(jī)的計(jì)算節(jié)點(diǎn)為第一租戶的計(jì)算節(jié)點(diǎn),一個(gè)租戶可以具有多個(gè)計(jì)算節(jié)點(diǎn)。而由于一個(gè)計(jì)算節(jié)點(diǎn)上可以分布有不同租戶的虛擬機(jī),因此,同一計(jì)算節(jié)點(diǎn)可以作為不同租戶的計(jì)算節(jié)點(diǎn),當(dāng)然一個(gè)計(jì)算節(jié)點(diǎn)上也可以僅分布有同一租戶的虛擬機(jī)。
[0140]控制節(jié)點(diǎn)接收到第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求后,會(huì)在第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn),而具體如何選取會(huì)在本發(fā)明的其他實(shí)施例中詳細(xì)介紹。
[0141]強(qiáng)調(diào)的是,現(xiàn)有技術(shù)中源地址轉(zhuǎn)換SNAT的流量都經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),網(wǎng)絡(luò)節(jié)點(diǎn)為提供三層網(wǎng)絡(luò)虛擬路由以及DHCP(Dynamic Host Configurat1n Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議服務(wù)器)服務(wù)的節(jié)點(diǎn)。而本發(fā)明中SANT的流量經(jīng)過計(jì)算節(jié)點(diǎn),完全區(qū)別于現(xiàn)有技術(shù)。其中,SNAT的流量為虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí)與外部網(wǎng)絡(luò)進(jìn)行通信的流量,包括虛擬機(jī)訪問外部網(wǎng)絡(luò)的流量以及外部網(wǎng)絡(luò)返回給虛擬機(jī)的流量。
[0142]由此可見,在本實(shí)施例中,控制節(jié)點(diǎn)為第一租戶選取計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn),該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中的源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
[0143]本發(fā)明實(shí)施例二公開了一種分布式網(wǎng)絡(luò)的通信方法,以詳細(xì)介紹控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的過程,具體的,如圖2所示,在第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn),包括以下步驟:
[0144]步驟201:確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊;
[0145]其中,源地址轉(zhuǎn)換模塊簡(jiǎn)稱SNAT模塊,一個(gè)租戶具有至少一個(gè)路由模塊,在數(shù)據(jù)庫中查找第一租戶的綁定有SANT模塊的路由模塊。需說明的是,數(shù)據(jù)庫中存儲(chǔ)有第一租戶的模塊數(shù)據(jù)信息,因此,可以確定出屬于第一租戶的綁定有SNAT模塊的路由模塊。只有路由模塊綁定有SNAT模塊才能為第一租戶選取計(jì)算節(jié)點(diǎn)作為代表節(jié)點(diǎn)。
[0146]在本發(fā)明中,第一租戶可以預(yù)先建立路由模塊和源地址轉(zhuǎn)換模塊的綁定關(guān)系。
[0147]步驟202:檢測(cè)所述SNAT模塊是否綁定有L3代理器;若否,進(jìn)入步驟203,若是,進(jìn)入步驟205;
[0148]具體的,可以在數(shù)據(jù)庫中檢測(cè)SANT模塊是否綁定有L3代理器,如果綁定有L3代理器,那么所綁定的L3代理器所位于的計(jì)算節(jié)點(diǎn)說明已被選取為該第一租戶的代表節(jié)點(diǎn)。而如果沒有綁定有L3代理器,則需要選取L3代理器從而進(jìn)行綁定動(dòng)作。
[0149]步驟203:在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述SNAT模塊和所述滿足第一預(yù)設(shè)條件的L3代理器;
[0150]具體的,所述在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,包括:
[0151]在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器。
[0152]其中,L3代理器簡(jiǎn)稱L3agent,位于計(jì)算節(jié)點(diǎn)上,分為兩種類型,一種類型的屬性為dvr屬性,另一種類型的屬性為dvr_Snat屬性。具有dvr屬性的L3代理器能夠提供路由服務(wù)以及目的地址轉(zhuǎn)換DNAT服務(wù),具有dvr_Snat屬性的L3代理器能夠提供路由服務(wù)、DNAT服務(wù)以及SNAT服務(wù)。因此,具有dvr屬性的L3代理器的計(jì)算節(jié)點(diǎn)不允許作為租戶的代表節(jié)點(diǎn),而具有dvr_snat屬性的L3代理器的計(jì)算節(jié)點(diǎn)允許作為租戶的代表節(jié)點(diǎn)。在本發(fā)明中,需要在第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足預(yù)設(shè)條件的L3代理器。
[0153]步驟204:向綁定有所述源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述SNAT模塊的命名空間;
[0154]當(dāng)建立了SANT模塊和L3代理器的綁定關(guān)系后,由于該綁定關(guān)系是在數(shù)據(jù)庫中建立的,因此需要向相應(yīng)的L3代理器發(fā)送綁定通知消息,L3代理器在接收到該綁定通知消息后,會(huì)在其所屬的計(jì)算節(jié)點(diǎn)上創(chuàng)建SNAT模塊的命名空間name space。其中,建立有所述SNAR模塊的命名空間的計(jì)算節(jié)點(diǎn)為第一租戶的代表節(jié)點(diǎn)。
[0155]需說明的是,在本發(fā)明中,第一租戶中綁定有SNAT模塊的路由模塊可能有多個(gè),那么,需要檢測(cè)每一SNAT模塊是否綁定有L3代理器,為沒有綁定有L3代理器的SNAT模塊綁定L3代理器,相應(yīng)的,第一租戶則有多個(gè)代表節(jié)點(diǎn)。也就是說,第一租戶的代表節(jié)點(diǎn)的個(gè)數(shù)與屬于第一租戶的綁定有SNAT的路由模塊的個(gè)數(shù)一致。
[0156]步驟205:確定綁定有所述SNAT模塊的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0157]由此可見,本實(shí)施例描述了控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的過程,該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中的源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
[0158]本發(fā)明實(shí)施例三公開了一種分布式網(wǎng)絡(luò)的通信方法,如圖3所示,該方法包括以下步驟:
[0159]步驟301:接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;
[0160]步驟302:確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊;
[0161 ]步驟303:檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器,若否,進(jìn)入步驟304,若是,進(jìn)入步驟310;
[0162]步驟304:在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器;
[0163]步驟305:獲取滿足第一預(yù)設(shè)條件的L3代理器的個(gè)數(shù),判斷個(gè)數(shù)是否大于等于兩個(gè),若是,進(jìn)入步驟306;若否,進(jìn)入步驟308 ;
[0164]如果滿足第一預(yù)設(shè)條件的L3的代理器大于等于兩個(gè),那么則需要確定出一個(gè)用于與源地址轉(zhuǎn)換模塊建立綁定關(guān)系的L3代理器;而如果滿足第一預(yù)設(shè)條件的L3的代理器只有一個(gè),那么直接建立其與源地址轉(zhuǎn)換模塊的綁定關(guān)系即可。
[0165]步驟306:獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量;
[0166]其中,第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn)。
[0167]具體的,第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊下具有的虛擬機(jī)在本發(fā)明稱之為第一類虛擬機(jī),第一類虛擬機(jī)可以分布在不同的計(jì)算節(jié)點(diǎn)上,具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn)稱之為第一計(jì)算節(jié)點(diǎn)。
[0168]為了便于理解,以一實(shí)例進(jìn)行說明,假設(shè)具有滿足第一預(yù)設(shè)條件的L3代理器的第一計(jì)算節(jié)點(diǎn)有三個(gè),分別為第一計(jì)算節(jié)點(diǎn)A、第一計(jì)算節(jié)點(diǎn)B以及第一計(jì)算節(jié)點(diǎn)C;而第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊下具有的虛擬機(jī)的個(gè)數(shù)為40個(gè),即第一類虛擬機(jī)的個(gè)數(shù)為40個(gè),分布在第一計(jì)算節(jié)點(diǎn)A上的第一類虛擬機(jī)的個(gè)數(shù)為20個(gè),分布在第一計(jì)算節(jié)點(diǎn)B上的第一類虛擬機(jī)的個(gè)數(shù)為10個(gè),分布在第一計(jì)算節(jié)點(diǎn)C上的第一類虛擬機(jī)的個(gè)數(shù)為10個(gè),那么通過獲取第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量,則能夠確定出在第一計(jì)算節(jié)點(diǎn)上分布第一類虛擬機(jī)的個(gè)數(shù)。
[0169]步驟307:確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器;
[0170]當(dāng)具有第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)僅有一個(gè)時(shí),那么,直接確定該第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠確定與源地址轉(zhuǎn)換模塊綁定的L3代理器。在步驟306下描述的實(shí)例中,能夠確定第一計(jì)算節(jié)點(diǎn)A上具有的第一類虛擬機(jī)最多,因此,第一計(jì)算節(jié)點(diǎn)A上的L3代理器為能夠與源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0171]而當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),則隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0172]可理解的是,具有第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行訪問的幾率相對(duì)于其他計(jì)算節(jié)點(diǎn)較大,因此,為了能夠進(jìn)一步提高網(wǎng)絡(luò)通信性能,將該第一計(jì)算節(jié)點(diǎn)上的L3代理器作為能夠與源地址轉(zhuǎn)換模塊綁定的L3代理器,從而能夠?qū)⒃摰谝挥?jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn)。
[0173]本實(shí)施例描述了當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí)如何選取與源地址轉(zhuǎn)換模塊綁定的L3代理器的一種實(shí)現(xiàn)方式。但是,需說明的是,本發(fā)明并不局限于此,在另一實(shí)施例中,作為從滿足第一預(yù)設(shè)條件的L3代理器中確定能夠與源地址轉(zhuǎn)換模塊綁定的另一種實(shí)現(xiàn)方式,可以隨機(jī)選取一個(gè)滿足第一預(yù)設(shè)條件的L3代理器為能夠與源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0174]步驟308:綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器;
[0175]當(dāng)獲取滿足第一預(yù)設(shè)條件的L3代理器的個(gè)數(shù)僅為一個(gè)時(shí),則直接建立源地址轉(zhuǎn)換模塊與滿足第一預(yù)設(shè)條件的L3代理器的綁定關(guān)系即可。而當(dāng)滿足第一預(yù)設(shè)條件的L3代理器有至少兩個(gè)時(shí),則將建立源地址轉(zhuǎn)換模塊與選取出的L3代理器的綁定關(guān)系。
[0176]步驟309:向綁定有源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立源地址轉(zhuǎn)換模塊的命名空間;
[0177]其中,建立有源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為第一租戶的代表節(jié)點(diǎn)。
[0178]步驟310:確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0179]由此可見,本實(shí)施例描述了控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的過程,該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中的源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提尚了整個(gè)網(wǎng)絡(luò)的性能。
[0180]當(dāng)選取了第一租戶的代表節(jié)點(diǎn)后,該代表節(jié)點(diǎn)能夠作為虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)通信的媒介。需說明的是,虛擬機(jī)訪問外部網(wǎng)絡(luò)具有兩種狀態(tài),一種狀態(tài)為發(fā)送狀態(tài),即虛擬機(jī)向外部網(wǎng)絡(luò)發(fā)送信息的狀態(tài);另一種狀態(tài)為接收狀態(tài),即外部網(wǎng)絡(luò)向虛擬機(jī)返回信息的狀態(tài)。對(duì)應(yīng)的,源地址轉(zhuǎn)換的流量也包括兩種,一種為虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量,另一種為外部網(wǎng)絡(luò)返回給虛擬機(jī)的流量。
[0181]第一租戶的代表節(jié)點(diǎn)作為虛擬機(jī)與外部網(wǎng)絡(luò)的通信媒介,相應(yīng)的,代表節(jié)點(diǎn)能夠用于傳輸?shù)谝蛔鈶舻奶摂M機(jī)與外部網(wǎng)絡(luò)之間的流量。
[0182]在本發(fā)明中,第一租戶的代表節(jié)點(diǎn)中可以設(shè)置有第一租戶的虛擬機(jī),還可以設(shè)置有非第一租戶的虛擬機(jī),本發(fā)明稱之為第二租戶的虛擬機(jī)。相應(yīng)的,訪問外部網(wǎng)絡(luò)的第一租戶的虛擬機(jī)可能為設(shè)置在第一租戶的代表節(jié)點(diǎn)中的虛擬機(jī),當(dāng)然也可能未設(shè)在第一租戶的代表節(jié)點(diǎn)中,而僅是設(shè)置在普通的計(jì)算節(jié)點(diǎn)中。
[0183]針對(duì)上述的可能幾種情況,本發(fā)明以第一租戶的代表節(jié)點(diǎn),即第一計(jì)算節(jié)點(diǎn)為主體,分為三大類情況進(jìn)行說明。
[0184]為了便于理解,本發(fā)明結(jié)合一實(shí)例進(jìn)行描述,參見圖4,示出了兩個(gè)計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)示意圖,需說明的是,圖4的計(jì)算節(jié)點(diǎn)僅示出了與本發(fā)明相關(guān)的模塊,但不代表計(jì)算節(jié)點(diǎn)僅包括圖4示出的這幾種模塊。
[0185]計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)2為租戶T2的代表節(jié)點(diǎn),虛擬機(jī)VTl、VT2以及VT6為租戶Tl的虛擬機(jī),虛擬機(jī)VT3、VT4以及VT5為租戶T2的虛擬機(jī)。
[0186]計(jì)算節(jié)點(diǎn)I上具有交換機(jī)OVSl,租戶Tl的源地址轉(zhuǎn)換模塊SNATfor Tl,租戶Tl的路由模塊DVR for Tl,租戶T2的路由模塊DVR for T2,L3代理器L3agent。
[0187]計(jì)算節(jié)點(diǎn)2上具有交換機(jī)0VS2,租戶T2的源地址轉(zhuǎn)換模塊SNATfor T2,租戶T2的路由模塊DVR for T2,租戶Tl的路由模塊DVR for Tl,L3代理器L3agent。
[0188]需說明的是,由于計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),因此,計(jì)算節(jié)點(diǎn)I中,SNATforTl與DVR for Tl具有綁定關(guān)系,SNAT for Tl與L3agent具有綁定關(guān)系。由于計(jì)算節(jié)點(diǎn)2為租戶T2的代表節(jié)點(diǎn),因此,計(jì)算節(jié)點(diǎn)2中,SNAT for T2與DVR for T2具有綁定關(guān)系,SNAT forT2與L3agent具有綁定關(guān)系。
[0189]—、本發(fā)明描述的第一大類情況對(duì)應(yīng)于第一計(jì)算節(jié)點(diǎn)內(nèi)的虛擬機(jī)訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),這種情況下,訪問外部網(wǎng)絡(luò)的虛擬機(jī)可能為第一租戶的虛擬機(jī),當(dāng)然也可能不是第一租戶的虛擬機(jī),即為第二租戶的虛擬機(jī)。
[0190]具體的,本發(fā)明實(shí)施例四公開了一種分布式通信方法,該方法應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)。
[0191]需說明的是,控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的具體實(shí)現(xiàn)可參考以上各實(shí)施例,此處不再詳細(xì)贅述。
[0192]如圖5所示,該方法包括以下步驟:
[0193]步驟501:當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到位于所述第一計(jì)算節(jié)點(diǎn)內(nèi)的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),判斷所述虛擬機(jī)是否為所述第一租戶的虛擬機(jī),生成判斷結(jié)果;
[0194]當(dāng)位于第一計(jì)算節(jié)點(diǎn)內(nèi)的虛擬機(jī)處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài)時(shí),第一計(jì)算節(jié)點(diǎn)的第一交換機(jī)會(huì)接收到位于虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量,那么,需判斷該虛擬機(jī)是否為第一租戶的虛擬機(jī)。
[0195]步驟502:基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。
[0196]作為種判斷結(jié)果,該虛擬機(jī)為第一租戶的虛擬機(jī);作為另一種判斷結(jié)果,該虛擬機(jī)不是第一租戶的虛擬機(jī)。具體的,以下分為詳細(xì)描述:
[0197](— )基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0198](I)當(dāng)判斷結(jié)果表征所述虛擬機(jī)為所述第一租戶的虛擬機(jī)時(shí),所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一路由模塊;
[0199](2)所述第一路由模塊對(duì)所述流量進(jìn)行路由;
[0200](3)所述第一交換機(jī)將路由后的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0201](4)所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0202](5)所述第一交換機(jī)將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0203]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)位于計(jì)算節(jié)點(diǎn)I中的虛擬機(jī)VMl處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VTl為租戶Tl的虛擬機(jī)。這種情況下,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將虛擬機(jī)VTl發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至計(jì)算節(jié)點(diǎn)I中的租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)接收到的流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送至計(jì)算節(jié)點(diǎn)I中的租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將流量的源IP地址轉(zhuǎn)換為租戶Tl的公網(wǎng)IP地址,交換機(jī)OVSl將具有公網(wǎng)IP地址的流量發(fā)送到外部網(wǎng)絡(luò)。
[0204](二)基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0205](I)當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)為第二租戶的虛擬機(jī)時(shí),第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至第一計(jì)算節(jié)點(diǎn)中的所述第二租戶的第二路由模塊;
[0206](2)所述第二路由模塊對(duì)所述流量進(jìn)行路由;
[0207](3)所述第一交換機(jī)將路由后的流量發(fā)送至第二計(jì)算節(jié)點(diǎn),以使得所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送到所述外部網(wǎng)絡(luò);
[0208]其中,所述第二計(jì)算節(jié)點(diǎn)為所述第二租戶的代表節(jié)點(diǎn)。
[0209]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)位于計(jì)算節(jié)點(diǎn)I中的虛擬機(jī)VM3處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VT3為租戶T2的虛擬機(jī),計(jì)算節(jié)點(diǎn)2為租戶T2的代表節(jié)點(diǎn)。這種情況下,計(jì)算節(jié)點(diǎn)I需要將租戶T2的虛擬機(jī)VM3發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送給租戶T2的代表節(jié)點(diǎn)即計(jì)算節(jié)點(diǎn)2,由計(jì)算節(jié)點(diǎn)2將流量發(fā)送給外部網(wǎng)絡(luò)。
[0210]具體的,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將虛擬機(jī)VT3訪問外部網(wǎng)絡(luò)的流量發(fā)送至計(jì)算節(jié)點(diǎn)I中的租戶T2的路由模塊DVR for T2,路由模塊DVR for T2對(duì)接收到的流量進(jìn)行路由,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將路由后的流量發(fā)送至計(jì)算節(jié)點(diǎn)2,以使得計(jì)算節(jié)點(diǎn)2將流量發(fā)送到外部網(wǎng)絡(luò)。
[0211]二、本發(fā)明描述的第二大類情況對(duì)應(yīng)于虛擬機(jī)訪問外部網(wǎng)絡(luò)的接收狀態(tài),這種情況下,外部網(wǎng)絡(luò)會(huì)向虛擬機(jī)的代表節(jié)點(diǎn)返回信息,那么,在第一租戶的代表節(jié)點(diǎn),即第一計(jì)算節(jié)點(diǎn)接收到的外部網(wǎng)絡(luò)訪問虛擬機(jī)的流量的情況下,該虛擬機(jī)一定是第一租戶的虛擬機(jī),但是該虛擬機(jī)可能位于第一計(jì)算節(jié)點(diǎn)中,也可能并未位于第一計(jì)算節(jié)點(diǎn)中。
[0212]具體的,本發(fā)明實(shí)施例五公開了一種分布式通信方法,該方法應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)。
[0213]需說明的是,控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的具體實(shí)現(xiàn)可參考以上各實(shí)施例,此處不再詳細(xì)贅述。
[0214]如圖6所示,該方法包括以下步驟:
[0215]步驟601:當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到外部網(wǎng)絡(luò)返回給所述第一租戶的虛擬機(jī)的流量時(shí),判斷所述虛擬機(jī)是否位于所述第一計(jì)算節(jié)點(diǎn)中,生成判斷結(jié)果;
[0216]第一租戶的虛擬機(jī)處于訪問外部網(wǎng)絡(luò)的接收狀態(tài)時(shí),第一計(jì)算節(jié)點(diǎn)的第一交換機(jī)會(huì)接收到外部網(wǎng)絡(luò)返回給第一租戶的虛擬機(jī)的流量,需判斷該虛擬機(jī)是否位于第一計(jì)算節(jié)點(diǎn)中。
[0217]步驟602:基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。
[0218]作為種判斷結(jié)果,該虛擬機(jī)位于第一租戶的代表節(jié)點(diǎn)中;作為另一種判斷結(jié)果,該虛擬機(jī)并未位于第一租戶的代表節(jié)點(diǎn)中。具體的,以下分為詳細(xì)描述:
[0219](— )基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0220](I)當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送給第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0221 ] (2)所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址;
[0222](3)所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)至所述第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一路由模塊;
[0223](4)所述第一路由模塊將所述流量進(jìn)行路由;
[0224](5)所述第一交換機(jī)將路由后的流量發(fā)送至所述虛擬機(jī)。
[0225]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VMl處于訪問外部網(wǎng)絡(luò)的接收狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VTl為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)I中。這種情況下,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將外部網(wǎng)絡(luò)返回給租戶Tl的虛擬機(jī)VMl的流量發(fā)送給計(jì)算節(jié)點(diǎn)I中租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的目的地址轉(zhuǎn)換為虛擬機(jī)VMl的地址,交換機(jī)OVSl將具有所虛擬機(jī)VMl的地址的流量轉(zhuǎn)發(fā)至計(jì)算節(jié)點(diǎn)I中租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl將所述流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送至虛擬機(jī)VMl。
[0226](二)基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括:
[0227](I)當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送到所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0228](2)所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址;
[0229](3)所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一計(jì)算節(jié)點(diǎn)中的第一租戶的第一路由模塊;
[0230](4)所述第一路由模塊對(duì)所述流量進(jìn)行路由;
[0231](5)所述第一交換機(jī)將路由后的流量發(fā)送到第二計(jì)算節(jié)點(diǎn),以由所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送給位于第二計(jì)算節(jié)點(diǎn)中的第一租戶的所述虛擬機(jī)。
[0232]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VM6處于訪問外部網(wǎng)絡(luò)的接收狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VT6為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)2中。這種情況下,計(jì)算節(jié)點(diǎn)I需要將外部網(wǎng)絡(luò)返回給租戶Tl的虛擬機(jī)VM6的流量發(fā)送給計(jì)算節(jié)點(diǎn)2,由計(jì)算節(jié)點(diǎn)2將流量返回給虛擬機(jī)VM6。
[0233]具體的,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將流量發(fā)送到計(jì)算節(jié)點(diǎn)I中的租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的目的地址轉(zhuǎn)換為虛擬機(jī)VM6的地址,交換機(jī)OVSI將具有虛擬機(jī)VM6的地址的流量轉(zhuǎn)發(fā)到計(jì)算節(jié)點(diǎn)I中的租戶TI的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送到計(jì)算節(jié)點(diǎn)2,以由計(jì)算節(jié)點(diǎn)2將所述流量發(fā)送給位于虛擬機(jī)VM6。
[0234]三、本發(fā)明描述的第三大類情況對(duì)應(yīng)于第一租戶的代表節(jié)點(diǎn),即第一計(jì)算節(jié)點(diǎn)接收到其他計(jì)算節(jié)點(diǎn)轉(zhuǎn)發(fā)的流量。
[0235]具體的,本發(fā)明實(shí)施例六公開了一種分布式通信方法,該方法應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)。
[0236]需說明的是,控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的具體實(shí)現(xiàn)可參考以上各實(shí)施例,此處不再詳細(xì)贅述。
[0237]如圖7所示,該方法包括以下步驟:
[0238]步驟701:當(dāng)?shù)谝挥?jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到第二計(jì)算節(jié)點(diǎn)轉(zhuǎn)發(fā)的流量時(shí),判斷所述流量的類型,生成判斷結(jié)果;
[0239]步驟702:基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信。
[0240]第一計(jì)算節(jié)點(diǎn)接收到的第二計(jì)算節(jié)點(diǎn)轉(zhuǎn)發(fā)的流量,一種判斷結(jié)果為該流量為虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量且該虛擬機(jī)為第一租戶的虛擬機(jī),但是該虛擬機(jī)并未位于第一租戶的代表節(jié)點(diǎn)中,而是位于第二計(jì)算節(jié)點(diǎn)中;另一種判斷結(jié)果為該流量為外部網(wǎng)絡(luò)返回給虛擬機(jī)的流量,該虛擬機(jī)不是第一租戶的虛擬機(jī),但是位于第一租戶的代表節(jié)點(diǎn)中。具體的,以下分為詳細(xì)描述:
[0241](— )基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括:
[0242](I)當(dāng)所述判斷結(jié)果表征所述流量為所述第一租戶的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給第一租戶的第一路由模塊;
[0243](2)所述第一路由模塊將所述流量進(jìn)行路由;
[0244](3)所述第一交換機(jī)將路由后的流量發(fā)送給所述第一租戶的第一源地址轉(zhuǎn)換模塊;
[0245](4)所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為第一租戶的公網(wǎng)IP地址;
[0246](5)所述第一交換機(jī)將帶有公網(wǎng)IP地址的流量發(fā)送給外部網(wǎng)絡(luò)。
[0247]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VM6處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VT6為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)2中。這種情況下,當(dāng)計(jì)算節(jié)點(diǎn)2中交換機(jī)0VS2接收到虛擬機(jī)VM6發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),交換機(jī)0VS2將該流量發(fā)送至租戶Tl的路由模塊DVR for Tl,路由模塊DVR forTI對(duì)接收的流量進(jìn)行路由,交換機(jī)0VS2將路由后的流量通過本地網(wǎng)絡(luò)發(fā)送給計(jì)算節(jié)點(diǎn)I ο具體的,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將所述流量發(fā)送給計(jì)算節(jié)點(diǎn)I中的租戶Tl的路由模塊DVRfor Tl,路由模塊DVR for Tl將所述流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送給租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的源IP地址轉(zhuǎn)換為租戶Tl的公網(wǎng)IP地址,交換機(jī)OVSl將帶有公網(wǎng)IP地址的流量發(fā)送給外部網(wǎng)絡(luò)。
[0248](二)基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括:
[0249](I)當(dāng)所述判斷結(jié)果表征所述流量為外部網(wǎng)絡(luò)發(fā)送給第二租戶的虛擬機(jī)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中第二租戶的第二路由模塊;
[0250](2)第二路由模塊對(duì)所述流量進(jìn)行路由;
[0251](3)所述第一交換機(jī)將路由后的流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中的所述虛擬機(jī)。
[0252]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VM3處于訪問外部網(wǎng)絡(luò)的接收狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VM3為租戶T2的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)I中,計(jì)算節(jié)點(diǎn)2為租戶T2的代表節(jié)點(diǎn)。這種情況下,當(dāng)計(jì)算節(jié)點(diǎn)2中交換機(jī)0VS2接收到外部網(wǎng)絡(luò)返回給虛擬機(jī)VM3的流量時(shí),交換機(jī)0VS2將該流量發(fā)送至租戶T2的源地址轉(zhuǎn)換模塊SNAT for T2,源地址轉(zhuǎn)換模塊SNAT for T2將所述流量的目的地址轉(zhuǎn)換為虛擬機(jī)VM3的地址,交換機(jī)0V2將具有虛擬機(jī)VM3的地址的流量發(fā)送給租戶T2的路由模塊DVRfor T2,路由模塊DVR for T2對(duì)接收到的流量進(jìn)行路由,交換機(jī)0VS2將路由的流量通過本地網(wǎng)絡(luò)發(fā)送給計(jì)算節(jié)點(diǎn)I。具體的,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將所述流量發(fā)送給所述計(jì)算節(jié)點(diǎn)I中租戶T2的路由模塊DVR for T2,路由模塊DVR for T2對(duì)所述流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送給所述計(jì)算節(jié)點(diǎn)I中的虛擬機(jī)VM3。
[0253]本發(fā)明實(shí)施例七還公開了一種分布式網(wǎng)絡(luò)的通信系統(tǒng),如圖8所示,該分布式網(wǎng)絡(luò)的通信系統(tǒng)包括控制節(jié)點(diǎn)100、第一計(jì)算節(jié)點(diǎn)200。具體的,
[0254]控制節(jié)點(diǎn)100用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,所述在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);
[0255]第一計(jì)算節(jié)點(diǎn)200為第一租戶的代表節(jié)點(diǎn),用于在第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0256]在本實(shí)施例中,訪問外部網(wǎng)絡(luò)的第一租戶的虛擬機(jī)位于第一計(jì)算節(jié)點(diǎn)。而第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),該虛擬機(jī)具有兩種狀態(tài),一種為訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),另一種為訪問外部網(wǎng)絡(luò)的接收狀態(tài)。
[0257]作為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),如圖9所示,第一計(jì)算節(jié)點(diǎn)包括:第一交換機(jī)200A、所述第一租戶的第一路由模塊200B、與所述第一路由模塊200B建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊200C、與所述第一 SNAT模塊200C建立綁定關(guān)系的L3代理器200D。
[0258]其中:
[0259]第一交換機(jī)200A用于將第一租戶的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到第一路由模塊200B;
[0260]第一路由模塊200B用于對(duì)接收的流量進(jìn)行路由;
[0261]第一交換機(jī)200A用于將所述第一路由模塊200B路由的流量發(fā)送到所述第一SNAT模塊200C;
[0262]所述第一SNAT模塊200C用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0263]所述第一交換機(jī)200B還用于將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0264]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VMl處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VTl為租戶Tl的虛擬機(jī)。這種情況下,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將虛擬機(jī)VTl發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至計(jì)算節(jié)點(diǎn)I中的租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)接收到的流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送至計(jì)算節(jié)點(diǎn)I中的租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將流量的源IP地址轉(zhuǎn)換為租戶Tl的公網(wǎng)IP地址,交換機(jī)OVSl將具有公網(wǎng)IP地址的流量發(fā)送到外部網(wǎng)絡(luò)。
[0265]作為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)的接收狀態(tài),仍可參考圖9,第一計(jì)算節(jié)點(diǎn)包括:第一交換機(jī)200A、所述第一租戶的第一路由模塊200B、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊200C、與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器200Do
[0266]其中:
[0267]第一交換機(jī)200A用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送給所述第一SNAT模塊200C;
[0268]第一SNAT模塊200C用于將所述網(wǎng)絡(luò)流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī)200A ;
[0269]第一交換機(jī)200A還用于將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊200B,并將所述第一路由模塊200B路由后的流量發(fā)送到所述虛擬機(jī)。
[0270]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VMl處于訪問外部網(wǎng)絡(luò)的接收狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VTl為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)I中。這種情況下,計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSl將外部網(wǎng)絡(luò)返回給租戶Tl的虛擬機(jī)VMl的流量發(fā)送給計(jì)算節(jié)點(diǎn)I中租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的目的地址轉(zhuǎn)換為虛擬機(jī)VMl的地址,交換機(jī)OVSl將具有所虛擬機(jī)VMl的地址的流量轉(zhuǎn)發(fā)至計(jì)算節(jié)點(diǎn)I中租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl將所述流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送至虛擬機(jī)VMl。
[0271]本發(fā)明實(shí)施例八還公開了一種分布式網(wǎng)絡(luò)的通信系統(tǒng),如圖10所示,該分布式網(wǎng)絡(luò)的通信系統(tǒng)包括控制節(jié)點(diǎn)100、第一計(jì)算節(jié)點(diǎn)200以及第二計(jì)算節(jié)點(diǎn)300;具體的:
[0272]控制節(jié)點(diǎn)100用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,為所述第一租戶選取至少一個(gè)計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn);
[0273]第一計(jì)算節(jié)點(diǎn)200為所述第一租戶的代表節(jié)點(diǎn),用于在所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0274]所述第二計(jì)算節(jié)點(diǎn)300上具有訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)。
[0275]在本實(shí)施例中,訪問外部網(wǎng)絡(luò)的第一租戶的虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)。而第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),該虛擬機(jī)具有兩種狀態(tài),一種為訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),另一種為訪問外部網(wǎng)絡(luò)的接收狀態(tài)。
[0276]作為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),如圖11所示,第一計(jì)算節(jié)點(diǎn)200包括第一交換機(jī)200A、第一租戶的第一路由模塊200B、與第一路由模塊200B建立綁定關(guān)系的第一租戶的第一 SNAT模塊200C、與第一 SNAT模塊200C建立綁定關(guān)系的L3代理器200D。
[0277]第二計(jì)算節(jié)點(diǎn)300包括第二交換機(jī)300A、第一租戶的第二路由模塊300B。
[0278]其中:
[0279]第二交換機(jī)300A用于將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到第二路由模塊300B,并將第二路由模塊300B路由的流量發(fā)送至第一計(jì)算節(jié)點(diǎn)200上;
[0280]第一交換機(jī)200A用于將所述流量發(fā)送到第一路由模塊200B,并將第一路由模塊200B路由的流量發(fā)送到第一 SNAT模塊200C;
[0281]第一SNAT模塊200C用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址;
[0282]第一交換機(jī)200A還用于將具有公網(wǎng)IP地址的網(wǎng)絡(luò)流量發(fā)送到所述外部網(wǎng)絡(luò)。
[0283]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VM6處于訪問外部網(wǎng)絡(luò)的發(fā)送狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VT6為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)2中。這種情況下,計(jì)算節(jié)點(diǎn)2中交換機(jī)0VS2將虛擬機(jī)VM6發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)接收的流量進(jìn)行路由,交換機(jī)0VS2將路由后的流量通過本地網(wǎng)絡(luò)發(fā)送給計(jì)算節(jié)點(diǎn)I。計(jì)算節(jié)點(diǎn)I的交換機(jī)OVSI將所述流量發(fā)送給計(jì)算節(jié)點(diǎn)I中的租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl將所述流量進(jìn)行路由,交換機(jī)OVSl將路由后的流量發(fā)送給租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的源IP地址轉(zhuǎn)換為租戶Tl的公網(wǎng)IP地址,交換機(jī)OVSl將帶有公網(wǎng)IP地址的流量發(fā)送給外部網(wǎng)絡(luò)。
[0284]作為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)的接收狀態(tài),仍可參考圖11所示,第一計(jì)算節(jié)點(diǎn)200包括第一交換機(jī)200A、第一租戶的第一路由模塊200B、與第一路由模塊200B建立綁定關(guān)系的第一租戶的第一 SNAT模塊200C、與第一 SNAT模塊200C建立綁定關(guān)系的L3代理器200Do
[0285]第二計(jì)算節(jié)點(diǎn)300包括第二交換機(jī)300A,第一租戶的第二路由模塊300B。
[0286]其中:
[0287]第一交換機(jī)200A用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送到第一SNAT模塊200C;
[0288]第一SNAT模塊200C用于將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī)200A ;
[0289]第一交換機(jī)200A還用于將具有所述虛擬機(jī)地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊200B,并將所述第一路由模塊200B路由后的流量發(fā)送到所述第二計(jì)算節(jié)點(diǎn)300;
[0290]第二交換機(jī)300A用于將所述流量發(fā)送給第二路由模塊300B,并將第二路由模塊300B路由后的流量發(fā)送到所述虛擬機(jī)。
[0291]具體的,結(jié)合圖4進(jìn)行說明,假設(shè)虛擬機(jī)VM6處于訪問外部網(wǎng)絡(luò)的接收狀態(tài),通過前面描述的內(nèi)容可以確定,計(jì)算節(jié)點(diǎn)I為租戶Tl的代表節(jié)點(diǎn),虛擬機(jī)VT6為租戶Tl的虛擬機(jī)且位于計(jì)算節(jié)點(diǎn)2中。
[0292]這種情況下,當(dāng)計(jì)算節(jié)點(diǎn)I中交換機(jī)OVSl將外部網(wǎng)絡(luò)返回給虛擬機(jī)VM6的流量發(fā)送至租戶Tl的源地址轉(zhuǎn)換模塊SNAT for Tl,源地址轉(zhuǎn)換模塊SNAT for Tl將所述流量的目的地址轉(zhuǎn)換為虛擬機(jī)VM6的地址,交換機(jī)OVI將具有虛擬機(jī)VM6的地址的流量發(fā)送給租戶TI的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)接收到的流量進(jìn)行路由,交換機(jī)OVSl將路由的流量通過本地網(wǎng)絡(luò)發(fā)送給計(jì)算節(jié)點(diǎn)2。計(jì)算節(jié)點(diǎn)2的交換機(jī)0VS2將所述流量發(fā)送給所述計(jì)算節(jié)點(diǎn)I中租戶Tl的路由模塊DVR for Tl,路由模塊DVR for Tl對(duì)所述流量進(jìn)行路由,交換機(jī)0VS2將路由后的流量發(fā)送給所述計(jì)算節(jié)點(diǎn)2中的虛擬機(jī)VM6。
[0293]與本發(fā)明的實(shí)施例一至三對(duì)應(yīng)的,本發(fā)明實(shí)施例九公開了一種控制節(jié)點(diǎn),如圖12所示,該控制節(jié)點(diǎn)包括:第一接收單元1201、第一選取單元1202。其中:
[0294]第一接收單元1201,用于接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求;
[0295]第一選取單元1202,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn);
[0296]其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。
[0297]由此可見,在本實(shí)施例中,控制節(jié)點(diǎn)為第一租戶選取計(jì)算節(jié)點(diǎn)作為第一租戶的代表節(jié)點(diǎn),該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中的源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
[0298]本發(fā)明實(shí)施例十公開了一種控制節(jié)點(diǎn),本實(shí)施例主要描述第一選取單元的具體實(shí)現(xiàn)方式,如圖13所示,第一選取單元1302包括:第一確定模塊1302A、第一檢測(cè)模塊1302B、第一綁定模塊1302C、第一發(fā)送模塊1302D。
[0299]其中:
[0300]第一確定模塊1302A,用于基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊;
[0301]第一檢測(cè)模塊1302B,用于檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器;
[0302]第一綁定模塊1302C,用于在所述源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述SNAT模塊和所述滿足第一預(yù)設(shè)條件的L3代理器;
[0303]在一個(gè)實(shí)施例中,第一綁定模塊具體用于在源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器,并綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器。
[0304]在另一實(shí)施例中,當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí),第一綁定模塊在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器之后,還用于獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量,確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0305]其中,所述第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),所述第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn)。
[0306]在又一實(shí)施例中,第一綁定模塊在獲取所述第一租戶的第一類虛擬機(jī)在每一計(jì)算節(jié)點(diǎn)上的數(shù)量之后,還用于當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
[0307]第一發(fā)送模塊1302D,用于向綁定有源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述源地址轉(zhuǎn)換模塊的命名空間;
[0308]其中,建立有所述源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0309]其中,第一選取單元1302還包括第二確定模塊1302E,用于在所述源地址轉(zhuǎn)換模塊綁定有L3代理器時(shí),確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。
[0310]由此可見,本實(shí)施例描述了控制節(jié)點(diǎn)為第一租戶選取代表節(jié)點(diǎn)的過程,該代表節(jié)點(diǎn)為第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介,使得南北向流量中的源地址轉(zhuǎn)換的流量不再經(jīng)過網(wǎng)絡(luò)節(jié)點(diǎn),而是經(jīng)過計(jì)算節(jié)點(diǎn),解決了網(wǎng)絡(luò)節(jié)點(diǎn)擁塞的問題,提高了整個(gè)網(wǎng)絡(luò)的性能。
[0311]需說明的是,關(guān)于控制節(jié)點(diǎn)的其他技術(shù)內(nèi)容可參見上述實(shí)施例一至實(shí)施例三,此處不再詳細(xì)贅述。
[0312]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
[0313]對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【主權(quán)項(xiàng)】
1.一種分布式網(wǎng)絡(luò)的通信方法,其特征在于,應(yīng)用于控制節(jié)點(diǎn)中,所述方法包括: 接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求; 基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn); 其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn),包括: 確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊; 檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器; 若否,則在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器; 向綁定有所述源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述源地址轉(zhuǎn)換模塊的命名空間; 其中,建立有所述源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器之后,還包括: 若是,則確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,包括: 在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT服務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí),所述在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器之后,還包括: 獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量;其中,所述第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),所述第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn); 確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述獲取所述第一租戶的第一類虛擬機(jī)在每一計(jì)算節(jié)點(diǎn)上的數(shù)量之后,還包括: 當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。7.—種分布式網(wǎng)絡(luò)的通信方法,其特征在于,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn); 所述方法包括: 當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到位于所述第一計(jì)算節(jié)點(diǎn)內(nèi)的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),判斷所述虛擬機(jī)是否為所述第一租戶的虛擬機(jī),生成判斷結(jié)果; 基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括: 當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)為所述第一租戶的虛擬機(jī)時(shí),所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一路由模塊; 所述第一路由模塊對(duì)所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊; 所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址; 所述第一交換機(jī)將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括: 當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)為第二租戶的虛擬機(jī)時(shí),第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送至第一計(jì)算節(jié)點(diǎn)中的所述第二租戶的第二路由模塊; 所述第二路由模塊對(duì)所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送至第二計(jì)算節(jié)點(diǎn),以使得所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送到所述外部網(wǎng)絡(luò); 其中,所述第二計(jì)算節(jié)點(diǎn)為所述第二租戶的代表節(jié)點(diǎn)。10.—種分布式網(wǎng)絡(luò)的通信方法,其特征在于,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,其中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn); 所述方法包括: 當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到外部網(wǎng)絡(luò)返回給所述第一租戶的虛擬機(jī)的流量時(shí),判斷所述虛擬機(jī)是否位于所述第一計(jì)算節(jié)點(diǎn)中,生成判斷結(jié)果; 基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信。11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括: 當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送給第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一源地址轉(zhuǎn)換模塊; 所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址; 所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)至所述第一計(jì)算節(jié)點(diǎn)中所述第一租戶的第一路由模塊; 所述第一路由模塊將所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送至所述虛擬機(jī)。12.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述基于所述判斷結(jié)果控制所述虛擬機(jī)與所述外部網(wǎng)絡(luò)的通信,包括: 當(dāng)所述判斷結(jié)果表征所述虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中,所述第一交換機(jī)將所述流量發(fā)送到所述第一計(jì)算節(jié)點(diǎn)中的所述第一租戶的第一源地址轉(zhuǎn)換模塊; 所述第一源地址轉(zhuǎn)換模塊將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址; 所述第一交換機(jī)將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一計(jì)算節(jié)點(diǎn)中的第一租戶的第一路由模塊; 所述第一路由模塊對(duì)所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送到第二計(jì)算節(jié)點(diǎn),以由所述第二計(jì)算節(jié)點(diǎn)將所述流量發(fā)送給位于第二計(jì)算節(jié)點(diǎn)中的第一租戶的所述虛擬機(jī)。13.—種分布式網(wǎng)絡(luò)的通信方法,其特征在于,應(yīng)用于第一計(jì)算節(jié)點(diǎn)中,其中,所述第一計(jì)算節(jié)點(diǎn)為控制節(jié)點(diǎn)在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求時(shí),基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取的作為所述第一租戶的代表節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn); 所述方法包括: 當(dāng)所述第一計(jì)算節(jié)點(diǎn)中的第一交換機(jī)接收到第二計(jì)算節(jié)點(diǎn)轉(zhuǎn)發(fā)的流量時(shí),判斷所述流量的類型,生成判斷結(jié)果; 基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信。14.根據(jù)權(quán)利要求13所述的方法,其特征在于,基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括: 當(dāng)所述判斷結(jié)果表征所述流量為所述第一租戶的虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給第一租戶的第一路由模塊; 所述第一路由模塊將所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送給所述第一租戶的第一源地址轉(zhuǎn)換模塊; 所述第一源地址轉(zhuǎn)換模塊將所述流量的源IP地址轉(zhuǎn)換為第一租戶的公網(wǎng)IP地址; 所述第一交換機(jī)將帶有公網(wǎng)IP地址的流量發(fā)送給外部網(wǎng)絡(luò)。15.根據(jù)權(quán)利要求13所述的方法,其特征在于,基于判斷結(jié)果控制虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信,包括: 當(dāng)所述判斷結(jié)果表征所述流量為外部網(wǎng)絡(luò)發(fā)送給第二租戶的虛擬機(jī)的流量時(shí),所述第一交換機(jī)將所述流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中第二租戶的第二路由模塊; 第二路由模塊對(duì)所述流量進(jìn)行路由; 所述第一交換機(jī)將路由后的流量發(fā)送給所述第一計(jì)算節(jié)點(diǎn)中的所述虛擬機(jī)。16.一種分布式網(wǎng)絡(luò)的通信系統(tǒng),其特征在于,包括: 控制節(jié)點(diǎn),所述控制節(jié)點(diǎn)用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,所述在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn); 第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn),用于在所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。17.根據(jù)權(quán)利要求16所述的通信系統(tǒng),其特征在于,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中; 所述第一計(jì)算節(jié)點(diǎn)包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;其中: 所述第一交換機(jī)用于將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到所述第一路由模塊,并將所述第一路由模塊路由的流量發(fā)送到所述第一 SNAT模塊; 所述第一 SNAT模塊用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址; 所述第一交換機(jī)還用于將具有公網(wǎng)IP地址的流量發(fā)送到所述外部網(wǎng)絡(luò)。18.根據(jù)權(quán)利要求16所述的方法,其特征在于,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于所述第一計(jì)算節(jié)點(diǎn)中; 所述計(jì)算節(jié)點(diǎn)包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器;其中: 所述第一交換機(jī)用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送給所述第一 SNAT模塊;所述第一SNAT模塊用于將所述網(wǎng)絡(luò)流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī); 所述第一交換機(jī)還用于將具有所述虛擬機(jī)的地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊,并將所述第一路由模塊路由后的流量發(fā)送到所述虛擬機(jī)。19.一種分布式網(wǎng)絡(luò)的通信系統(tǒng),其特征在于,包括: 控制節(jié)點(diǎn),所述控制節(jié)點(diǎn)用于在接收到云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,為所述第一租戶選取至少一個(gè)計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn); 第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn),用于在所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),作為所述虛擬機(jī)與外部網(wǎng)絡(luò)進(jìn)行通信的媒介; 第二計(jì)算節(jié)點(diǎn),所述第二計(jì)算節(jié)點(diǎn)上具有訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)。20.根據(jù)權(quán)利要求19所述的通信系統(tǒng),其特征在于,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中; 所述第一計(jì)算節(jié)點(diǎn),包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一 SNAT模塊建立綁定關(guān)系的L3代理器; 所述第二計(jì)算節(jié)點(diǎn)包括第二交換機(jī),所述第一租戶的第二路由模塊; 所述第二交換機(jī)用于將所述虛擬機(jī)發(fā)送給外部網(wǎng)絡(luò)的流量發(fā)送到所述第二路由模塊,并將所述第二路由模塊路由的流量發(fā)送至所述第一計(jì)算節(jié)點(diǎn)上; 所述第一交換機(jī)用于將所述流量發(fā)送到所述第一路由模塊,并將所述第一路由模塊路由的流量發(fā)送到所述第一 SNAT模塊; 所述第一 SNAT模塊用于將所述流量的源IP地址轉(zhuǎn)換為所述第一租戶的公網(wǎng)IP地址; 所述第一交換機(jī)還用于將具有公網(wǎng)IP地址的網(wǎng)絡(luò)流量發(fā)送到所述外部網(wǎng)絡(luò)。21.根據(jù)權(quán)利要求19所述的通信系統(tǒng),其特征在于,訪問外部網(wǎng)絡(luò)的所述第一租戶的虛擬機(jī)位于第二計(jì)算節(jié)點(diǎn)中;所述第一計(jì)算節(jié)點(diǎn),包括第一交換機(jī)、所述第一租戶的第一路由模塊、與所述第一路由模塊建立綁定關(guān)系的所述第一租戶的第一 SNAT模塊以及與所述第一SNAT模塊建立綁定關(guān)系的L3代理器; 所述第二計(jì)算節(jié)點(diǎn)包括第二交換機(jī),所述第一租戶的第二路由模塊; 所述第一交換機(jī)用于將外部網(wǎng)絡(luò)返回給所述虛擬機(jī)的流量發(fā)送到所述第一 SNAT模塊;所述第一SNAT模塊用于將所述流量的目的地址轉(zhuǎn)換為所述虛擬機(jī)的地址,并發(fā)送給所述第一交換機(jī); 所述第一交換機(jī)還用于將具有所述虛擬機(jī)地址的流量轉(zhuǎn)發(fā)到所述第一路由模塊,并將所述第一路由模塊路由后的流量發(fā)送到所述第二計(jì)算節(jié)點(diǎn); 所述第二交換機(jī)用于將所述流量發(fā)送給所述第二路由模塊,并將所述第二路由模塊路由后的流量發(fā)送到所述虛擬機(jī)。22.一種控制節(jié)點(diǎn),其特征在于,包括: 第一接收單元,用于接收云平臺(tái)中的第一租戶發(fā)送的添加外部網(wǎng)關(guān)的請(qǐng)求; 第一選取單元,基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,在所述第一租戶所屬的計(jì)算節(jié)點(diǎn)中選取至少一個(gè)計(jì)算節(jié)點(diǎn)作為所述第一租戶的代表節(jié)點(diǎn); 其中,所述代表節(jié)點(diǎn)為所述第一租戶的虛擬機(jī)訪問外部網(wǎng)絡(luò)時(shí),與外部網(wǎng)絡(luò)進(jìn)行通信的媒介。23.根據(jù)權(quán)利要求22所述的控制節(jié)點(diǎn),其特征在于,所述第一選取單元包括: 第一確定模塊,用于基于所述添加外部網(wǎng)關(guān)的請(qǐng)求,確定屬于所述第一租戶的綁定有源地址轉(zhuǎn)換模塊的路由模塊; 第一檢測(cè)模塊,用于檢測(cè)所述源地址轉(zhuǎn)換模塊是否綁定有L3代理器; 第一綁定模塊,用于在所述源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器,并綁定所述SNAT模塊和所述滿足第一預(yù)設(shè)條件的L3代理器; 第一發(fā)送模塊,用于向綁定有源地址轉(zhuǎn)換模塊的L3代理器發(fā)送綁定通知消息,以使得所述L3代理器在其所屬計(jì)算節(jié)點(diǎn)上建立所述源地址轉(zhuǎn)換模塊的命名空間; 其中,建立有所述源地址轉(zhuǎn)換模塊的命名空間的計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。24.根據(jù)權(quán)利要求23所述的控制節(jié)點(diǎn),其特征在于,所述第一選取單元還包括: 第二確定模塊,用于在所述源地址轉(zhuǎn)換模塊綁定有L3代理器時(shí),確定綁定有所述源地址轉(zhuǎn)換模式的L3代理器所屬計(jì)算節(jié)點(diǎn)為所述第一租戶的代表節(jié)點(diǎn)。25.根據(jù)權(quán)利要求23所述的控制節(jié)點(diǎn),其特征在于,所述第一綁定模塊具體用于在所述源地址轉(zhuǎn)換模塊未綁定有L3代理器時(shí),在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定能夠提供SNAT月艮務(wù)的L3代理器為滿足所述第一預(yù)設(shè)條件的L3代理器,并綁定所述源地址轉(zhuǎn)換模塊和所述滿足第一預(yù)設(shè)條件的L3代理器。26.根據(jù)權(quán)利要求23所述的控制節(jié)點(diǎn),其特征在于,當(dāng)滿足第一預(yù)設(shè)條件的L3代理器具有至少兩個(gè)時(shí),所述第一綁定模塊在所述第一租戶的計(jì)算節(jié)點(diǎn)中確定滿足第一預(yù)設(shè)條件的L3代理器之后,還用于獲取所述第一租戶的第一類虛擬機(jī)在每一第一計(jì)算節(jié)點(diǎn)上的數(shù)量,確定具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器;其中,所述第一類虛擬機(jī)為所述路由模塊下的虛擬機(jī),所述第一計(jì)算節(jié)點(diǎn)為具有滿足第一預(yù)設(shè)條件的L3代理器的節(jié)點(diǎn)。27.根據(jù)權(quán)利要求26所述的控制節(jié)點(diǎn),其特征在于,所述第一綁定模塊在獲取所述第一租戶的第一類虛擬機(jī)在每一計(jì)算節(jié)點(diǎn)上的數(shù)量之后,還用于當(dāng)具有所述第一類虛擬機(jī)最多的第一計(jì)算節(jié)點(diǎn)為至少兩個(gè)時(shí),隨機(jī)選取其中一個(gè)第一計(jì)算節(jié)點(diǎn)上的L3代理器為能夠與所述源地址轉(zhuǎn)換模塊綁定的L3代理器。
【文檔編號(hào)】H04L12/801GK105871740SQ201610481852
【公開日】2016年8月17日
【申請(qǐng)日】2016年6月27日
【發(fā)明人】王龍江
【申請(qǐng)人】聯(lián)想(北京)有限公司