欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)通信方法及裝置的制造方法

文檔序號:10572592閱讀:258來源:國知局
數(shù)據(jù)通信方法及裝置的制造方法
【專利摘要】本發(fā)明實施例公開了數(shù)據(jù)通信方法及裝置。當(dāng)該方法應(yīng)用于數(shù)據(jù)通信系統(tǒng)中連接有數(shù)據(jù)發(fā)送端的第一軟件交換機(jī)時,該方法包括:接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;基于所述第一流表中所包括的處理動作處理所述數(shù)據(jù)包;將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。本發(fā)明解決了SDN網(wǎng)絡(luò)中租戶內(nèi)部同一網(wǎng)段的虛擬機(jī)跨服務(wù)器通信時通信資源消耗大的問題,相比于現(xiàn)有方案,可以節(jié)約通信資源。
【專利說明】
數(shù)據(jù)通信方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及數(shù)據(jù)通信方法及裝置。
【背景技術(shù)】
[0002]虛擬私有云(Virtual Private Cloud,VPC)是公有云中的關(guān)鍵技術(shù),能夠根據(jù)租戶的需求調(diào)度物理網(wǎng)絡(luò)資源,從而基于一套網(wǎng)絡(luò)基礎(chǔ)設(shè)施為不同的租戶提供虛擬的私有網(wǎng)絡(luò)環(huán)境,保證租戶私有網(wǎng)絡(luò)間彼此隔離。
[0003]目前SDN+VxLAN是實現(xiàn)租戶內(nèi)部處于同一網(wǎng)段的虛擬機(jī)間跨服務(wù)器通信的主流方式,它通過隧道為租戶構(gòu)建Overlay網(wǎng)絡(luò)(Overlay是一種將二層網(wǎng)絡(luò)構(gòu)架在三層/四層報文中進(jìn)行傳遞的網(wǎng)絡(luò)技術(shù)),并結(jié)合SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))的全局視圖優(yōu)化了標(biāo)準(zhǔn)VxLAN(virtual Extensible LAN,虛擬可擴(kuò)展局域網(wǎng))的轉(zhuǎn)發(fā)邏輯。假設(shè)某租戶存在分布在不同物理服務(wù)器上但屬于同一網(wǎng)段的虛擬機(jī)I和2,兩個虛擬機(jī)間數(shù)據(jù)包的轉(zhuǎn)發(fā)流程簡要描述如下:虛擬機(jī)I轉(zhuǎn)發(fā)的數(shù)據(jù)包到達(dá)接入交換機(jī)I,控制器結(jié)合全局視圖,根據(jù)虛擬機(jī)2所在物理服務(wù)器的IP( Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址進(jìn)行VxLAN封裝,通過隧道將數(shù)據(jù)包送給目的虛擬機(jī)所接入的交換機(jī)2,交換機(jī)2解封裝后將數(shù)據(jù)包交給虛擬機(jī)2。
[0004]SDN+VxLAN通信方式可以實現(xiàn)租戶內(nèi)部同一網(wǎng)段中的虛擬機(jī)跨服務(wù)器通信,但是該通信方式中,交換機(jī)還會再對數(shù)據(jù)包的包頭外在封裝一層包頭,即為外層包頭,該外層包頭的封裝至少需要50字節(jié),使得租戶內(nèi)部同一網(wǎng)段中的虛擬機(jī)跨服務(wù)器通信的通信資源消耗較大,導(dǎo)致通信資源的浪費(fèi)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例公開了數(shù)據(jù)通信方法及裝置,用于解決SDN網(wǎng)絡(luò)中租戶內(nèi)部同一網(wǎng)段的虛擬機(jī)跨服務(wù)器通信時通信資源消耗大的問題。技術(shù)方案如下:
[0006]第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)通信方法,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址;
[0007 ]所述方法包括:
[0008]接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址;
[0009]獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;其中,所述第一流表中的處理動作包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址;
[0010]基于所述第一流表中所包括的處理動作,處理所述數(shù)據(jù)包;
[0011]將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0012]優(yōu)選的,所述獲得由控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表,包括:
[0013]判斷本地是否存在與所述數(shù)據(jù)包相匹配的第一流表;
[0014]如果是,從本地獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;
[0015]如果否,將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述標(biāo)識信息生成第一流表和第二流表并分別下發(fā)給所述第一軟件交換機(jī)和所述第二軟件交換機(jī)。
[0016]優(yōu)選的,所述將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,包括:
[0017]將包含有所述包頭信息的標(biāo)識信息按照OP e n FI ο w協(xié)議封裝后,發(fā)送至所述OpenFl ow控制器。
[0018]優(yōu)選的,預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0019]第二方面,本發(fā)明實施例還提供了另一種數(shù)據(jù)通信方法,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址;
[0020]所述方法包括:
[0021]接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;
[0022]從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址;
[0023]基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包;
[0024]將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。
[0025]優(yōu)選的,預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有虛擬機(jī)編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0026]第三方面,本發(fā)明實施例提供了一種數(shù)據(jù)通信裝置,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址;
[0027]所述裝置包括:
[0028]第一接收模塊,用于接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址;
[0029]第一獲得模塊,用于獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;其中,所述第一流表中的處理動作包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址;
[0030]第一處理模塊,用于基于所述第一流表中所包括的處理動作,處理所述數(shù)據(jù)包;[0031 ]第一轉(zhuǎn)發(fā)模塊,用于將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0032]第四方面,本發(fā)明實施例提供了另一種數(shù)據(jù)通信裝置,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址;
[0033]所述裝置包括:
[0034]第二接收裝置,用于接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中,源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;
[0035]第二獲得模塊,用于從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址;
[0036]第二處理模塊,用于基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包;
[0037]第二轉(zhuǎn)發(fā)模塊,用于將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。
[0038]本發(fā)明實施例提供的數(shù)據(jù)通信方法及裝置,基于OpenFlow實現(xiàn)租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)跨服務(wù)器通信的功能,解決了現(xiàn)有技術(shù)中存在的通信資源消耗大的問題,相較于SDN+VxLAN通信方式,其不需要封裝外層包頭,減少了通信資源的浪費(fèi),而且不會出現(xiàn)由封裝包頭引起的分片進(jìn)而降低通信效率的問題。
[0039]當(dāng)然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明實施例所提供的數(shù)據(jù)通信方法所適用的系統(tǒng)場景圖;
[0042]圖2為本發(fā)明實施例所提供的一種數(shù)據(jù)通信方法的流程示意圖;
[0043]圖3為本發(fā)明實施例所提供的另一種數(shù)據(jù)通信方法的流程示意圖;
[0044]圖4為本發(fā)明實施例所提供的一種數(shù)據(jù)通信裝置的結(jié)構(gòu)示意圖;
[0045]圖5為本發(fā)明實施例所提供的另一種數(shù)據(jù)通信裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0046]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]首先需要說明的是,圖1為本發(fā)明實施例所提供的數(shù)據(jù)通信方法所基于的系統(tǒng)的結(jié)構(gòu)示意圖,具體的,圖1中,第一軟件交換機(jī)和第二軟件交換機(jī)均與OpenFlow控制器基于OpenFlow協(xié)議通信,第一軟件交換機(jī)和第二軟件交換機(jī)均接入在承載網(wǎng)絡(luò)中,而第一虛擬機(jī)和第二虛擬機(jī)則分別接在第一軟件交換機(jī)和第二軟件交換機(jī)上。圖中的第一虛擬機(jī)與第一軟件交換機(jī)處于同一物理服務(wù)器,而第二虛擬機(jī)與第二軟件交換機(jī)同處于另一物理服務(wù)器,且圖中的第一虛擬機(jī)和第二虛擬機(jī)屬于同一租戶。
[0048]本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明實施例中所述的承載網(wǎng)絡(luò)可以是指傳統(tǒng)的以太網(wǎng)或者IP網(wǎng)絡(luò)。
[0049]為了解決現(xiàn)有技術(shù)問題,本發(fā)明實施例從第一軟件交換機(jī)的角度提供了一種數(shù)據(jù)通信方法,該方法應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器。
[0050]另外,本發(fā)明實施例中,所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC(Medium/Media Access Control,媒介訪問控制)地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址。
[0051 ]應(yīng)該說明的是,OpenFlow控制器是通過DHCP(Dynamic Host Configurat1nProtocol,動態(tài)主機(jī)配置協(xié)議)模塊為第一軟件交換機(jī)和第二軟件交換機(jī)分別請求承載網(wǎng)中的IP地址的,并且在請求的同時記錄了承載網(wǎng)中第一軟件交換機(jī)和第二軟件交換機(jī)分別對應(yīng)的網(wǎng)關(guān)IP地址。
[0052]另外,OpenFlow控制器基于第一軟件交換機(jī)和第二軟件交換機(jī)分別對應(yīng)的網(wǎng)關(guān)IP地址,通過ARP(Address Resolut1n Protocol,地址解析協(xié)議)模塊分別獲取第一軟件交換機(jī)和第二軟件交換機(jī)的網(wǎng)關(guān)MAC地址;
[0053]本領(lǐng)域技術(shù)人員可以理解的是,為了獲取第一軟件交換機(jī)和第二軟件交換機(jī)分別對應(yīng)的網(wǎng)關(guān)MAC地址,必須先獲取第一軟件交換機(jī)和第二軟件交換機(jī)分別對應(yīng)的網(wǎng)關(guān)IP地址,然后才能解析出對應(yīng)的MAC地址。所以,如上所述,OpenFlow控制器通過DHCP模塊為第一軟件交換機(jī)和第二軟件交換機(jī)分別請求承載網(wǎng)中的IP地址的同時,記錄了承載網(wǎng)中第一軟件交換機(jī)和第二軟件交換機(jī)分別對應(yīng)的網(wǎng)關(guān)IP地址。
[0054]此外,OpenFlow控制器還通過DHCP模塊分別為第一虛擬機(jī)和第二虛擬機(jī)分配其IP地址,并記錄第一虛擬機(jī)在該租戶中的序號以及接入位置,第二虛擬機(jī)在該租戶中的序號以及接入位置。應(yīng)該強(qiáng)調(diào)的是,這里的第一虛擬機(jī)的IP地址和第二虛擬機(jī)的IP地址均為該租戶私有IP地址,且處于同一網(wǎng)段。
[0055]應(yīng)該說明的是,DHCP模塊和ARP模塊在現(xiàn)有的OpenFlow控制器中都是存在的,本發(fā)明實施例在此不做詳細(xì)描述。
[0056]如圖2,從第一軟件交換機(jī)的角度,本發(fā)明實施例所提供的一種數(shù)據(jù)通信方法可以包括步驟:
[0057]SlOl:接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址;
[0058]應(yīng)該說明的是,由于第一虛擬機(jī)是接在第一軟件交換機(jī)上的,所以當(dāng)?shù)谝惶摂M機(jī)需要發(fā)送數(shù)據(jù)包時首先會將數(shù)據(jù)包發(fā)送給第一軟件交換機(jī)。
[0059]S102:獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;
[0060]其中,所述第一流表中的處理動作可以包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;
[0061]其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址。
[0062]可以理解的是,這里所描述的與所述數(shù)據(jù)包相匹配的第一流表為:所給定的匹配規(guī)則與所述數(shù)據(jù)包的包頭信息相符合的第一流表,該匹配規(guī)則具體是指:源MAC地址為第一虛擬機(jī)的MAC地址,目的MAC地址為第二虛擬機(jī)的MAC地址,源IP地址為第一虛擬機(jī)的IP地址,目的IP地址為第二虛擬機(jī)的IP地址。
[0063]應(yīng)該說明的是,匹配規(guī)則和處理動作是OpenFlow中兩個重要組成部分,匹配規(guī)則是用于對軟件交換機(jī)接收到的數(shù)據(jù)包的包頭內(nèi)容進(jìn)行匹配,若某一個流表的匹配規(guī)則與接收到的數(shù)據(jù)包的包頭內(nèi)容匹配,則軟件交換機(jī)會依照該流表中的處理動作處理該數(shù)據(jù)包;顯然的,處理動作用于指示交換機(jī)在收到匹配的數(shù)據(jù)包后應(yīng)該如何對其進(jìn)行處理。由于流表的匹配規(guī)則和處理動作都是公知技術(shù),此處不進(jìn)行詳細(xì)敘述。
[0064]在本發(fā)明實施例中,所述獲得由控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表可以包括:
[0065]判斷本地是否存在與所述數(shù)據(jù)包相匹配的第一流表;
[0066]如果是,從本地獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;
[0067]如果否,將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述標(biāo)識信息生成第一流表和第二流表并分別下發(fā)給所述第一軟件交換機(jī)和所述第二軟件交換機(jī)。
[0068]應(yīng)該說明的是,第一流表和第二流表是OpenFlow控制器基于所述標(biāo)識信息自動生成并同時下發(fā)給第一軟件交換機(jī)和所述第二軟件交換機(jī)的。
[0069]另外,所述將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,可以是:將包含有所述包頭信息的標(biāo)識信息按照OpenFlow協(xié)議封裝后,發(fā)送至所述OpenFlow控制器。
[0070]S103:基于所述第一流表中所包括的處理,動作處理所述數(shù)據(jù)包。
[0071]S104:將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);
[0072]其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0073]可以理解的是,與所述數(shù)據(jù)包相匹配的第二流表為:所給定的匹配規(guī)則與所述數(shù)據(jù)包的包頭信息相符合的第二流表,該匹配規(guī)則具體是指:
[0074]目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為所述預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;另外,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,該匹配規(guī)則還包括:源MAC地址為第一軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,該匹配規(guī)則還包括:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址。
[0075]應(yīng)該強(qiáng)調(diào)的是,上述與所述數(shù)據(jù)包相匹配的第二流表中所提及的數(shù)據(jù)包是第二軟件交換機(jī)接收到的數(shù)據(jù)包。
[0076]另外,在本發(fā)明實施例中,為了使不同租戶以及不同虛擬機(jī)發(fā)送的數(shù)據(jù)包具有唯一性,還可以預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0077]例如,可以預(yù)先將OpenFlow網(wǎng)絡(luò)中的所有租戶編號為1、2、3、4、5.....,同時將每個租戶內(nèi)的虛擬機(jī)編號為1、2、3、4、5.....。
[0078]眾所周知,以二進(jìn)制表示的IP地址一共有32位;在本發(fā)明實施例中的一個示例中,可以用預(yù)定IP地址的高16位用租戶的編號表示,之后的8位用第一虛擬機(jī)的編號來表示,低8位用第二虛擬機(jī)的編號來表示;使得該預(yù)定IP地址可以表征租戶、第一虛擬機(jī)和第二虛擬機(jī)的信息。
[0079]上述示例中,高16位用租戶的編號表示,所以系統(tǒng)中可以存在2的16次方個租戶即65536個租戶,每個租戶中可以存在2的8次方個虛擬機(jī)即256個虛擬機(jī)。
[0080]例如,租戶的編號為100,租戶中的第一虛擬機(jī)和第二虛擬機(jī)的編號分別為55和73,此時,100、55和73對應(yīng)的二進(jìn)制數(shù)分別為1100100、110111和1001001;則此時二進(jìn)制表示的預(yù)定IP地址高16位為0000000001100100,之后的8位為00110111,低8位為00110111,故二進(jìn)制表示的預(yù)定 IP 地址為00000000011001000011011100110111。
[0081]應(yīng)該強(qiáng)調(diào)的是,本發(fā)明實施例中,并不局限于上述示例。
[0082]本發(fā)明實施例中,可以是第一軟件交換機(jī)和第一軟件交換機(jī)直接接入在承載網(wǎng)絡(luò)中。應(yīng)該強(qiáng)調(diào)的是,由于流表中的處理動作需要對數(shù)據(jù)包包頭中的源IP地址進(jìn)行重新編址,當(dāng)?shù)谝卉浖粨Q機(jī)和第一軟件交換機(jī)均通過承載網(wǎng)交換機(jī)接入承載網(wǎng)絡(luò)時,承載網(wǎng)交換機(jī)中接有軟件交換機(jī)的相應(yīng)端口不能開啟IPSG(IP Source Guard,IP源防護(hù))功能。
[0083]現(xiàn)有技術(shù)中,SDN+VxLAN通信方式存在下述3個問題:
[0084](I)外層的包頭至少需要50字節(jié),當(dāng)原始數(shù)據(jù)包負(fù)載較小時,外層包頭的開銷將造成一定的資源浪費(fèi);本領(lǐng)域技術(shù)人員可以理解的是,SDN+VxLAN通信是一種隧道方式的通信,此處所說的外層包頭是指傳統(tǒng)的交換機(jī)封裝在數(shù)據(jù)包上的包頭。
[0085](2)外層包頭的封裝很消耗CPU(Central Processing Unit,中央處理器),還會導(dǎo)致一定的延時。
[0086](3)外層包頭的增加可能會導(dǎo)致分片,降低通信效率。
[0087]顯然的,本發(fā)明實施例中不存在上述問題,本方案中,基于OpenFlow實現(xiàn)租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)跨服務(wù)器通信的功能,解決了現(xiàn)有技術(shù)中存在的通信資源消耗大的問題,相較于SDN+VxLAN通信方式,其不需要封裝外層包頭,減少了資源的浪費(fèi),而且不會出現(xiàn)由封裝包頭引起的分片進(jìn)而降低通信效率的問題。
[0088]從第二軟件交換機(jī)的角度,本發(fā)明實施例還提供了另一種數(shù)據(jù)通信方法,該方法應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器。
[0089]另外,本發(fā)明實施例中,所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址;
[0090]如圖3所示,從第二軟件交換機(jī)的角度,本發(fā)明實施例所提供的一種數(shù)據(jù)通信方法,可以包括步驟:
[0091 ] S201:接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;
[0092]其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;
[0093]當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址。
[0094]S202:從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0095]應(yīng)該說明的是,第二流表的匹配規(guī)則為:目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包中還包括信息:源MAC地址為第一軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包中還包括信息:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址。
[0096]S203:基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包。
[0097]S204:將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。
[0098]同樣的,在本發(fā)明實施例中,還可以預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0099]本方案中,基于OpenFlow實現(xiàn)租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)跨服務(wù)器通信的功能,解決了現(xiàn)有技術(shù)中存在的通信資源消耗大的問題,相較于SDN+VxLAN通信方式,其不需要封裝外層包頭,減少了資源的浪費(fèi),而且不會出現(xiàn)由封裝包頭引起的分片進(jìn)而降低通信效率的問題。
[0100]為了方案清楚,下面基于從第一軟件交換機(jī)和第二軟件交換機(jī)所提供的數(shù)據(jù)通信方法,介紹數(shù)據(jù)包在租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)間跨服務(wù)器傳送的整體過程:
[0101]第一虛擬機(jī)作為發(fā)送端,接入在第一軟件交換機(jī)上,首先向第一軟件交換機(jī)發(fā)出數(shù)據(jù)包,此時的數(shù)據(jù)包包頭包含的各地址信息中,源MAC地址為第一虛擬機(jī)的MAC地址,目的MAC地址為第二虛擬機(jī)的MAC地址,源IP地址為第一虛擬機(jī)的IP地址,目的IP地址為第二虛擬機(jī)的IP地址。
[0102]數(shù)據(jù)包到達(dá)第一軟件交換機(jī),首先第一軟件交換機(jī)會在本地搜索有無與數(shù)據(jù)包中的各地址信息相匹配的OpenFlow流表。若此時第一軟件交換機(jī)本地存在與當(dāng)前數(shù)據(jù)包中的各地址信息相匹配的OpenFl ow流表,則按照該OpenFI ow流表中的處理動作處理該數(shù)據(jù)包并將數(shù)據(jù)包轉(zhuǎn)發(fā)出去。
[0103]如若此時第一軟件交換機(jī)本地沒有與當(dāng)前數(shù)據(jù)包中的各地址信息相匹配的OpenFlow流表,第一軟件交換機(jī)就會將包含有數(shù)據(jù)包各地址信息的的標(biāo)識信息封裝OpenFlow協(xié)議后上報OpenFlow控制器。
[0104]OpenFlow控制器首先基于標(biāo)識信息中的目的IP地址和目的MAC地址,得知第一虛擬機(jī)與第二虛擬機(jī)不在同一個物理服務(wù)器中,即該數(shù)據(jù)包的傳遞需要跨物理服務(wù)器進(jìn)行,同時,OpenFlow控制器還獲知第二虛擬機(jī)接在第二軟件交換機(jī)上,然后,OpenFlow控制器判斷第一軟件交換機(jī)的IP地址和第二軟件交換機(jī)的IP地址是否屬于同一網(wǎng)段,繼而結(jié)合標(biāo)識信息和判斷結(jié)果生成第一流表和第二流表,并分別下發(fā)給第一軟件交換機(jī)和第二軟件交換機(jī)。
[0105]應(yīng)該說明的是,OpenFlow控制器中記錄有各個軟件交換機(jī)中接入的各個虛擬機(jī),以及各個接入在軟件交換機(jī)上的虛擬機(jī)所處的物理服務(wù)器信息,以使OpenFlow控制器在得知發(fā)送端和接收端的虛擬機(jī)信息后,可以直接確定兩個虛擬機(jī)是否處于同一物理服務(wù)器內(nèi),以及兩個虛擬機(jī)分別所接入的軟件交換機(jī)。
[0106]本發(fā)明實施例的第一種情況,第一軟件交換機(jī)的IP地址和第二軟件交換機(jī)的IP地址屬于同一網(wǎng)段:
[0107]第一流表中的匹配規(guī)則為:源MAC地址為第一虛擬機(jī)的MAC地址,目的MAC地址為第二虛擬機(jī)的MAC地址,源IP地址為第一虛擬機(jī)的IP地址,目的IP地址為第二虛擬機(jī)的IP地址。
[0108]第一流表中的處理動作為:修改源MAC地址為第一軟件交換機(jī)的MAC地址,修改目的MAC地址為第二軟件交換機(jī)的MAC地址,修改源IP地址為預(yù)定IP地址,修改目的地址為第二軟件交換機(jī)的IP地址。
[0109]第二流表中的匹配規(guī)則為:源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為所述預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址。
[0110]第二流表中的處理動作為:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0111]第一軟件交換機(jī)接收第一流表后,該數(shù)據(jù)包中的各地址信息與第一流表匹配,則第一軟件交換機(jī)依據(jù)第一流表中的處理動作對該數(shù)據(jù)包進(jìn)行處理。由于第一軟件交換機(jī)的IP地址和第二軟件交換機(jī)的IP地址屬于同一網(wǎng)段,第一軟件交換機(jī)將處理后的數(shù)據(jù)包發(fā)至承載網(wǎng)絡(luò)中,在承載網(wǎng)絡(luò)中,基于第二軟件交換機(jī)的IP地址,數(shù)據(jù)包直接通過現(xiàn)有的承載網(wǎng)路由技術(shù)路由到第二軟件交換機(jī)。
[0112]第二軟件交換機(jī)接收到數(shù)據(jù)包時,此時數(shù)據(jù)包的包頭信息中,源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的地址為第二軟件交換機(jī)的IP地址。
[0113]此時數(shù)據(jù)包的各地址信息匹配上述第二流表,第二軟件交換機(jī)依據(jù)第二流表中的處理動作對數(shù)據(jù)包進(jìn)行處理,并將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)給第二虛擬機(jī)。
[0114]本發(fā)明實施例的第一種情況,第一軟件交換機(jī)的IP地址和第二軟件交換機(jī)的IP地址不屬于同一網(wǎng)段:
[0115]第一流表中的匹配規(guī)則為:源MAC地址為第一虛擬機(jī)的MAC地址,目的MAC地址為第二虛擬機(jī)的MAC地址,源IP地址為第一虛擬機(jī)的IP地址,目的IP地址為第二虛擬機(jī)的IP地址。
[0116]第一流表中的處理動作為:修改源MAC地址為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,修改目的MAC地址為第二軟件交換機(jī)的MAC地址,修改源IP地址為預(yù)定IP地址,修改目的地址為第二軟件交換機(jī)的IP地址。
[0117]第二流表中的匹配規(guī)則為:源MAC地址為第二軟件交換機(jī)對應(yīng)網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為所述預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址。
[0118]第二流表中的處理動作為:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0119]第一軟件交換機(jī)接收第一流表后,該數(shù)據(jù)包中的各地址信息與第一流表匹配,則第一軟件交換機(jī)依據(jù)第一流表中的處理動作對該數(shù)據(jù)包進(jìn)行處理。由于第一軟件交換機(jī)的IP地址和第二軟件交換機(jī)的IP地址不屬于同一網(wǎng)段,第一軟件交換機(jī)需要將處理后的數(shù)據(jù)包經(jīng)過第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)傳送到承載網(wǎng)絡(luò)中。
[0120]在承載網(wǎng)絡(luò)中,基于第二軟件交換機(jī)的IP地址,數(shù)據(jù)包被直接路由到第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)中,然后再發(fā)送至第二軟件交換機(jī)。
[0121 ]第二軟件交換機(jī)接收到數(shù)據(jù)包時,此時數(shù)據(jù)包中,源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的地址為第二軟件交換機(jī)的IP地址。
[0122]此時數(shù)據(jù)包的各地址信息匹配上述第二流表,第二軟件交換機(jī)依據(jù)第二流表中的處理動作對數(shù)據(jù)包進(jìn)行處理,并將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)給第二虛擬機(jī)。
[0123]應(yīng)該說明的是,從第二流表中的處理動作可以看出,數(shù)據(jù)包在傳遞的過程中,包頭信息被多次修改,但是最終第二虛擬機(jī)接收到的數(shù)據(jù)包中的包頭信息和最初由第一虛擬機(jī)發(fā)送的數(shù)據(jù)包的包頭信息相同。當(dāng)然,數(shù)據(jù)包中的凈載內(nèi)容始終沒有被改動。
[0124]相應(yīng)于從第一軟件交換機(jī)的角度所提供的一種數(shù)據(jù)通信方法,本發(fā)明實施例提供的一種數(shù)據(jù)通信裝置,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFl ow控制器;
[0125]所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址。
[0126]如圖4所示,本發(fā)明實施例所提供的一種數(shù)據(jù)通信裝置包括:第一接收模塊110、第一獲得模塊120、第一處理模塊130和第一轉(zhuǎn)發(fā)模塊140。
[0127]第一接收模塊110,用于接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址。
[0128]第一獲得模塊120,用于獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;其中,所述第一流表中的處理動作包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;
[0129]其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址。
[0130]第一處理模塊130,用于基于所述第一流表中所包括的處理動作處理所述數(shù)據(jù)包。
[0131]第一轉(zhuǎn)發(fā)模塊140,用于將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);
[0132]其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0133]具體的,所述第一獲得模塊120可以用于:
[0134]判斷本地是否存在與所述數(shù)據(jù)包相匹配的第一流表;
[0135]如果是,從本地獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;
[0136]如果否,將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述標(biāo)識信息生成第一流表和第二流表并分別下發(fā)給所述第一軟件交換機(jī)和所述第二軟件交換機(jī)。
[0137]具體的,所述第一獲得模塊120中所述將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述Op enF I οw控制器可以是:將包含有所述包頭信息的標(biāo)識信息按照Op enF I ow協(xié)議封裝后,發(fā)送至所述OpenFlow控制器。
[0138]具體的,本發(fā)明實施例所提供的一種數(shù)據(jù)通信裝置,可以預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0139]本方案中,基于OpenFlow實現(xiàn)租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)跨服務(wù)器通信的功能,解決了現(xiàn)有技術(shù)中存在的通信資源消耗大的問題,相較于SDN+VxLAN通信方式,其不需要封裝外層包頭,減少了資源的浪費(fèi),而且不會出現(xiàn)由封裝包頭引起的分片進(jìn)而降低通信效率的問題。
[0140]相應(yīng)于從第二軟件交換機(jī)的角度所提供的另一種數(shù)據(jù)通信方法,本發(fā)明實施例還提供了另一種數(shù)據(jù)通信裝置,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器。
[0141]所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址。
[0142]如圖5所示,本發(fā)明實施例所提供的另一種數(shù)據(jù)通信裝置,包括:第二接收模塊210、第二獲得模塊220、第二處理模塊230和第二轉(zhuǎn)發(fā)模塊240。
[0143]第二接收裝置210,用于接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;
[0144]其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中,源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;
[0145]當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址。
[0146]第二獲得模塊220,用于從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;
[0147]其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。
[0148]第二處理模塊230,用于基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包;
[0149]第二轉(zhuǎn)發(fā)模塊240,用于將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。
[0150]具體的,本發(fā)明實施例所提供的另一種數(shù)據(jù)通信裝置,可以預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。
[0151]本方案中,基于OpenFlow實現(xiàn)租戶內(nèi)部同一網(wǎng)段的兩個虛擬機(jī)跨服務(wù)器通信的功能,解決了現(xiàn)有技術(shù)中存在的通信資源消耗大的問題,相較于SDN+VxLAN通信方式,其不需要封裝外層包頭,減少了資源的浪費(fèi),而且不會出現(xiàn)由封裝包頭引起的分片進(jìn)而降低通信效率的問題。
[0152]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0153]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點(diǎn)說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0154]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0155]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種數(shù)據(jù)通信方法,其特征在于,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址; 所述方法包括: 接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址; 獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;其中,所述第一流表中的處理動作包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址; 基于所述第一流表中所包括的處理動作,處理所述數(shù)據(jù)包; 將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得由控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表,包括: 判斷本地是否存在與所述數(shù)據(jù)包相匹配的第一流表; 如果是,從本地獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表; 如果否,將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述標(biāo)識信息生成第一流表和第二流表并分別下發(fā)給所述第一軟件交換機(jī)和所述第二軟件交換機(jī)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將包含有所述包頭信息的標(biāo)識信息發(fā)送至所述OpenFlow控制器,包括: 將包含有所述包頭信息的標(biāo)識信息按照OpenF I ow協(xié)議封裝后,發(fā)送至所述OpenF I ow控制器。4.根據(jù)權(quán)利要求1?3中任一項所述的方法,其特征在于,預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有租戶編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。5.—種數(shù)據(jù)通信方法,其特征在于,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址; 所述方法包括: 接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址; 從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址; 基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包; 將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,預(yù)先對OpenFlow網(wǎng)絡(luò)中的所有虛擬機(jī)編號,并對同一租戶中的各虛擬機(jī)編號,所述第一虛擬機(jī)和所述第二虛擬機(jī)屬于同一租戶,所述預(yù)定IP地址的32比特位中,分別標(biāo)識有所述租戶、所述第一虛擬機(jī)和所述第二虛擬機(jī)的編號。7.—種數(shù)據(jù)通信裝置,其特征在于,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第一軟件交換機(jī),所述第一軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第二軟件交換機(jī)、與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為所述第一虛擬機(jī)和所述第二虛擬機(jī)分配IP地址; 所述裝置包括: 第一接收模塊,用于接收所述第一虛擬機(jī)發(fā)送的數(shù)據(jù)包;其中,所述數(shù)據(jù)包的包頭信息中,源MAC地址為所述第一虛擬機(jī)的MAC地址、源IP地址為所述第一虛擬機(jī)的IP地址、目的MAC地址為所述第二虛擬機(jī)的MAC地址和目的IP地址為所述第二虛擬機(jī)的IP地址; 第一獲得模塊,用于獲得由所述OpenFlow控制器下發(fā)的與所述數(shù)據(jù)包相匹配的第一流表;其中,所述第一流表中的處理動作包括:將源MAC地址修改為第一軟件交換機(jī)的MAC地址、將源IP地址修改為預(yù)定IP地址、將目的IP地址修改為第二軟件交換機(jī)的IP地址;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第二軟件交換機(jī)的MAC地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述第一流表中的處理動作還包括:將目的MAC地址修改為第一軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址;第一處理模塊,用于基于所述第一流表中所包括的處理動作,處理所述數(shù)據(jù)包; 第一轉(zhuǎn)發(fā)模塊,用于將所述第一軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二軟件交換機(jī),以使得:所述第二軟件交換機(jī)基于由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表處理所述數(shù)據(jù)包,將所述第二軟件交換機(jī)處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī);其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址。8.—種數(shù)據(jù)通信裝置,其特征在于,應(yīng)用于數(shù)據(jù)通信系統(tǒng)中的第二軟件交換機(jī),所述第二軟件交換機(jī)設(shè)置有OpenFlow協(xié)議,所述數(shù)據(jù)通信系統(tǒng)還包括:與所述第二軟件交換機(jī)相連接的作為數(shù)據(jù)包接收端的第二虛擬機(jī)、設(shè)置有OpenFlow協(xié)議的第一軟件交換機(jī)、與所述第一軟件交換機(jī)相連接的作為數(shù)據(jù)包發(fā)送端的第一虛擬機(jī)、與所述第一軟件交換機(jī)和所述第二軟件交換機(jī)通信的OpenFlow控制器;所述OpenFlow控制器預(yù)先為第一軟件交換機(jī)和第二軟件交換機(jī)分別分配MAC地址、請求對應(yīng)在承載網(wǎng)絡(luò)中的IP地址并獲取對應(yīng)的網(wǎng)關(guān)的MAC地址,預(yù)先為第一虛擬機(jī)和第二虛擬機(jī)分配IP地址; 所述裝置包括: 第二接收裝置,用于接收所述第一軟件交換機(jī)發(fā)送的數(shù)據(jù)包;其中,當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中,源MAC地址為第一軟件交換機(jī)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址;當(dāng)所述第一軟件交換機(jī)的IP地址與所述第二軟件交換機(jī)的IP地址不處于同一網(wǎng)段時,所述數(shù)據(jù)包的包頭信息中:源MAC地址為第二軟件交換機(jī)對應(yīng)的網(wǎng)關(guān)的MAC地址,目的MAC地址為第二軟件交換機(jī)的MAC地址,源IP地址為預(yù)定IP地址,目的IP地址為第二軟件交換機(jī)的IP地址; 第二獲得模塊,用于從本地獲得由所述OpenFlow控制器下發(fā)的并與所述數(shù)據(jù)包相匹配的第二流表;其中,所述第二流表中的處理動作包括:將源MAC地址修改為第一虛擬機(jī)的MAC地址,將目的MAC地址修改為第二虛擬機(jī)的MAC地址,將源IP地址修改為第一虛擬機(jī)的IP地址,將目的IP地址修改為第二虛擬機(jī)的IP地址; 第二處理模塊,用于基于所述第二流表中的處理動作,處理所述數(shù)據(jù)包; 第二轉(zhuǎn)發(fā)模塊,用于將處理完畢后的所述數(shù)據(jù)包轉(zhuǎn)發(fā)給所述第二虛擬機(jī)。
【文檔編號】H04L12/749GK105933235SQ201610531623
【公開日】2016年9月7日
【申請日】2016年7月7日
【發(fā)明人】黃韜, 楊帆, 張晨, 劉江, 張嬌, 潘恬, 妥艷君, 李吉良, 劉玉貞, 張學(xué)敏, 張文志
【申請人】北京郵電大學(xué), 中國電子科技集團(tuán)公司第五十四研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
灵武市| 华容县| 娱乐| 崇左市| 扎鲁特旗| 濮阳县| 永福县| 景谷| 奉贤区| 临武县| 井研县| 广东省| 武宣县| 东丽区| 吴江市| 荣昌县| 汨罗市| 榆树市| 邵东县| 罗平县| 专栏| 金华市| 巴东县| 自治县| 偏关县| 登封市| 新化县| 鹤峰县| 河曲县| 株洲市| 连南| 巫溪县| 高唐县| 蚌埠市| 大姚县| 营口市| 奉化市| 镇平县| 沙坪坝区| 双桥区| 阳信县|