本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種SDN中的數(shù)據(jù)包發(fā)送方法及設(shè)備。
背景技術(shù):
SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))是一個(gè)新興的網(wǎng)絡(luò)架構(gòu),在SDN網(wǎng)絡(luò)中,控制面和數(shù)據(jù)面相分離,并且控制平面是可直接編程的。在之前的網(wǎng)絡(luò)架構(gòu)中,控制面與每個(gè)獨(dú)立的網(wǎng)絡(luò)設(shè)備緊緊捆綁在一起,即對(duì)于一個(gè)網(wǎng)絡(luò)設(shè)備來(lái)說(shuō),通常是同時(shí)具有控制功能和轉(zhuǎn)發(fā)功能。而在SDN中,將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來(lái),從而實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)流量的靈活控制。
在SDN中,數(shù)據(jù)包通過(guò)交換機(jī)進(jìn)行交換,例如,當(dāng)交換機(jī)接收到數(shù)據(jù)包時(shí),在本地查詢?cè)摂?shù)據(jù)包的目的地址(一般為MAC(Media Access Control,介質(zhì)訪問控制)地址)對(duì)應(yīng)的流表,并根據(jù)查詢到的流表將數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。隨著傳輸?shù)臄?shù)據(jù)包的增多,當(dāng)交換機(jī)中存儲(chǔ)的MAC地址到達(dá)上限之后,就無(wú)法學(xué)習(xí)新的MAC地址,那么如果有數(shù)據(jù)包的目的地址為交換機(jī)無(wú)法學(xué)習(xí)的MAC地址,則不能被學(xué)習(xí)的MAC地址對(duì)應(yīng)的數(shù)據(jù)包會(huì)被認(rèn)為是unknown unicast(未知單播),則交換機(jī)可能會(huì)將該數(shù)據(jù)包進(jìn)行廣播,浪費(fèi)傳輸資源,也可能對(duì)網(wǎng)絡(luò)中的其他正常通信造成影響。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種SDN中的數(shù)據(jù)包發(fā)送方法及設(shè)備,用于解決交換機(jī)因地址學(xué)習(xí)資源不足而限制網(wǎng)絡(luò)規(guī)模的技術(shù)問題。
第一方面,提供一種SDN中的數(shù)據(jù)包發(fā)送方法,包括:
接收第一數(shù)據(jù)包;
確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,所述第一組地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一邊緣交換設(shè)備,所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的一組設(shè)備中的第一目的設(shè)備,所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
對(duì)所述第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,所述第二數(shù)據(jù)包的目的地址為所述第一組地址;
根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,
在確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,還包括:
將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,包括:
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一組地址。
可選的,
在確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,還包括:
將所述第一數(shù)據(jù)包的目的地址發(fā)送給所述SDN中的控制器;
確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,包括:
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系,或,接收所述控制器發(fā)送的所述第一組地址。
可選的,
在根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備之前,還包括:
查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備,包括:
根據(jù)所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,在查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,還包括:
若未查詢到所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將所述第二數(shù)據(jù)包發(fā)送給所述控制器;
接收所述控制器發(fā)送的所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
第二方面,提供一種SDN中的數(shù)據(jù)包發(fā)送方法,包括:
接收第二數(shù)據(jù)包;所述第二數(shù)據(jù)包的目的地址為第一邊緣交換設(shè)備的地址,且所述第一邊緣交換設(shè)備的地址為組地址;
對(duì)所述第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備;所述第一目的設(shè)備為所述SDN中的一組設(shè)備中的任一個(gè),所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,
在根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備之前,還包括:
查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備,包括:
根據(jù)所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,在查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,還包括:
若未查詢到所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
第三方面,提供一種SDN中的數(shù)據(jù)包發(fā)送設(shè)備,包括:
存儲(chǔ)器,用于存儲(chǔ)指令;
接收器,用于接收第一數(shù)據(jù)包;
處理器,用于執(zhí)行所述指令,確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,所述第一組地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一邊緣交換設(shè)備,所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的一組設(shè)備中的第一目的設(shè)備,所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;及,對(duì)所述第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,所述第二數(shù)據(jù)包的目的地址為所述第一組地址;
發(fā)送器,用于根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,所述設(shè)備為核心交換設(shè)備;
所述發(fā)送器還用于:在所述處理器確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
所述處理器還用于:通過(guò)所述接收器接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,通過(guò)所述接收器接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一組地址。
可選的,所述設(shè)備為核心交換設(shè)備;
所述發(fā)送器還用于:在所述處理器確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將所述第一數(shù)據(jù)包的目的地址發(fā)送給所述SDN中的控制器;
所述處理器還用于:通過(guò)所述接收器接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系,或,通過(guò)所述接收器接收所述控制器發(fā)送的所述第一組地址。
可選的,所述設(shè)備為核心交換設(shè)備;
所述處理器還用于:在所述發(fā)送器根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備之前,查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
所述發(fā)送器用于:根據(jù)所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,所述設(shè)備為核心交換設(shè)備;
所述處理器還用于:在查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則通過(guò)所述發(fā)送器將所述第二數(shù)據(jù)包發(fā)送給所述控制器;
所述接收器還用于:接收所述控制器發(fā)送的所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
第四方面,提供一種邊緣交換設(shè)備,包括:
存儲(chǔ)器,用于存儲(chǔ)指令;
接收器,用于接收第二數(shù)據(jù)包;所述第二數(shù)據(jù)包的目的地址為所述邊緣交換設(shè)備的地址,且所述邊緣交換設(shè)備的地址為組地址;
處理器,用于執(zhí)行所述指令,對(duì)所述第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備;所述第一目的設(shè)備為所述SDN中的一組設(shè)備中的任一個(gè),所述一組設(shè)備均通過(guò)所述邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
發(fā)送器,用于根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,
所述處理器還用于:在所述發(fā)送器根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備之前,查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
所述發(fā)送器用于:根據(jù)所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,
所述處理器還用于:在查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則通過(guò)所述發(fā)送器將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
所述接收器還用于:接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
第五方面,提供一種SDN中的數(shù)據(jù)包發(fā)送設(shè)備,包括:
接收模塊,用于接收第一數(shù)據(jù)包;
確定模塊,用于確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,所述第一組地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一邊緣交換設(shè)備,所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的一組設(shè)備中的第一目的設(shè)備,所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
封裝模塊,用于對(duì)所述第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,所述第二數(shù)據(jù)包的目的地址為所述第一組地址;
發(fā)送模塊,用于根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
第六方面,提供一種邊緣交換設(shè)備,包括:
接收模塊,用于接收第二數(shù)據(jù)包;所述第二數(shù)據(jù)包的目的地址為所述邊緣交換設(shè)備的地址,且所述邊緣交換設(shè)備的地址為組地址;
解封裝模塊,用于對(duì)所述第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備;所 述第一目的設(shè)備為所述SDN中的一組設(shè)備中的任一個(gè),所述一組設(shè)備均通過(guò)所述邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
發(fā)送模塊,用于根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
本發(fā)明實(shí)施例中將SDN中的普通設(shè)備(例如包括除核心交換設(shè)備、邊緣交換設(shè)備和控制器之外的其他設(shè)備)進(jìn)行分組,一個(gè)或多個(gè)普通設(shè)備對(duì)應(yīng)一個(gè)組,一組設(shè)備對(duì)應(yīng)一個(gè)邊緣交換設(shè)備,那么這組設(shè)備都通過(guò)該邊緣交換設(shè)備與核心交換設(shè)備進(jìn)行交互,對(duì)于核心交換設(shè)備來(lái)說(shuō),只需要知道這一組設(shè)備的一個(gè)組地址即可。
例如,如果是核心交換設(shè)備接收第一數(shù)據(jù)包,那么核心交換設(shè)備就根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備(本發(fā)明實(shí)施例中將其稱為第一邊緣交換設(shè)備),由第一邊緣交換設(shè)備再繼續(xù)進(jìn)行數(shù)據(jù)包的分發(fā)。如果是SDN中的控制器接收第一數(shù)據(jù)包,則控制器根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包通過(guò)核心交換設(shè)備發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備。如果是邊緣交換設(shè)備接收第一數(shù)據(jù)包,則邊緣交換設(shè)備根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包通過(guò)核心交換設(shè)備發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備。
這樣,核心交換設(shè)備無(wú)需學(xué)習(xí)一組設(shè)備中的每個(gè)設(shè)備的MAC地址,而只需要學(xué)習(xí)這組設(shè)備對(duì)應(yīng)的組地址即可,核心交換設(shè)備需要學(xué)習(xí)的MAC地址得到了極大的減少,減輕了核心交換設(shè)備的負(fù)擔(dān),盡量避免出現(xiàn)交換機(jī)無(wú)法學(xué)習(xí)新的MAC地址的情況,節(jié)省傳輸資源,也盡量避免網(wǎng)絡(luò)中的其他正常通信造成影響,從而解除了MAC地址學(xué)習(xí)資源對(duì)網(wǎng)絡(luò)規(guī)模的限制,實(shí)現(xiàn)了擴(kuò)大網(wǎng)絡(luò)規(guī)模的技術(shù)效果。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中SDN的一種可能的網(wǎng)絡(luò)架構(gòu)圖;
圖2為本發(fā)明實(shí)施例中第一種SDN中的數(shù)據(jù)包發(fā)送方法的流程圖;
圖3為本發(fā)明實(shí)施例中第二種SDN中的數(shù)據(jù)包發(fā)送方法的流程圖;
圖4為本發(fā)明實(shí)施例中SDN中的數(shù)據(jù)包發(fā)送設(shè)備的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例中第一邊緣交換設(shè)備的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例中SDN中的數(shù)據(jù)包發(fā)送設(shè)備的結(jié)構(gòu)框圖;
圖7為本發(fā)明實(shí)施例中第一邊緣交換設(shè)備的結(jié)構(gòu)框圖。
具體實(shí)施方式
在控制面和數(shù)據(jù)面分離的SDN中,設(shè)備(本發(fā)明實(shí)施例中也可以稱為SDN設(shè)備)分為SNC(SDN Network Controller,軟件定義網(wǎng)絡(luò)網(wǎng)絡(luò)控制器)和轉(zhuǎn)發(fā)設(shè)備(或稱為交換設(shè)備),SNC和交換設(shè)備之間的關(guān)系可以是一對(duì)多的關(guān)系,即一個(gè)SNC可以控制多個(gè)交換設(shè)備。SNC的主要功能是對(duì)交換設(shè)備進(jìn)行網(wǎng)絡(luò)資源的分配和調(diào)度、協(xié)議控制、拓?fù)涔芾?、策略制定、表?xiàng)下發(fā)等等,交換設(shè)備主要負(fù)責(zé)根據(jù)SNC通過(guò)南向接口下發(fā)的控制信息對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā),以及執(zhí)行一些其他的任務(wù)。
本發(fā)明實(shí)施例中,交換設(shè)備例如可以是指交換機(jī)(Switch),或者也可以是指其他具有報(bào)文轉(zhuǎn)發(fā)功能的設(shè)備。
通常,將網(wǎng)絡(luò)中直接面向用戶連接或訪問網(wǎng)絡(luò)的部分稱為接入層,將位于接入層和核心層之間的部分稱為分布層或匯聚層。接入層的目的是允許終端設(shè)備連接到網(wǎng)絡(luò),位于接入層的交換設(shè)備可稱為邊緣交換設(shè)備。位于匯聚層的交換設(shè)備可稱為核心交換設(shè)備,核心交換設(shè)備是多臺(tái)邊緣交換設(shè)備的匯聚點(diǎn),它必須能夠處理來(lái)自各邊緣交換設(shè)備的所有通信量,并提供到核心層的上行鏈路,例如提供到SDN中的SNC。
在邊緣交換設(shè)備中,邊緣交換設(shè)備與終端設(shè)備直接連接的Port(接口)可以稱為Edge Port(邊緣接口),邊緣交換設(shè)備與核心交換設(shè)備連接的Port可以稱為Core Port(核心接口),即,邊緣交換設(shè)備通過(guò)不同的Port與不同的設(shè)備 連接。邊緣交換設(shè)備通過(guò)Edge Port發(fā)送的數(shù)據(jù)包,可以認(rèn)為是組內(nèi)通信的數(shù)據(jù)包,而通過(guò)Core Port發(fā)送的數(shù)據(jù)包,可以認(rèn)為是組間通信的數(shù)據(jù)包,在發(fā)送組間通信的數(shù)據(jù)包時(shí),就需要通過(guò)核心交換設(shè)備進(jìn)行。本發(fā)明實(shí)施例主要介紹組間通信的過(guò)程。
請(qǐng)參見圖1,為本發(fā)明實(shí)施例中SDN的一種可能的架構(gòu)圖。
圖1中示出了五個(gè)交換設(shè)備,分別將其稱為SW1、SW2、SW3、SW4、和SW5,其中SW5為核心交換設(shè)備,與SNC(為便于描述,圖1中,以及下文中,都將SNC稱為控制器)連接,SW1、SW2、SW3、和SW4均為邊緣交換設(shè)備。圖1中以每個(gè)邊緣交換設(shè)備均連接了四個(gè)終端設(shè)備(或者稱為負(fù)載)為例,在實(shí)際應(yīng)用中不限于此。例如,SW1連接的四個(gè)終端設(shè)備分別為A、B、C、D,SW2連接的四個(gè)終端設(shè)備分別為E、F、G、H,SW3連接的四個(gè)終端設(shè)備分別為I、J、K、L,SW4連接的四個(gè)終端設(shè)備分別為M、N、O、P。
從圖1中可知,控制器與各個(gè)邊緣交換設(shè)備之間也有連接關(guān)系。
本發(fā)明實(shí)施例中,對(duì)于控制器來(lái)說(shuō),其可能不只控制圖1中所示出的這幾個(gè)交換設(shè)備,還有可能控制其他的一個(gè)或多個(gè)交換設(shè)備,例如還可能控制其他的一個(gè)或多個(gè)核心交換設(shè)備,這些核心交換設(shè)備可以與其他邊緣交換設(shè)備連接,或者,SW5還可以連接更多的邊緣交換設(shè)備,只是圖1中沒有詳細(xì)示出。
本發(fā)明實(shí)施例中,可以將SDN中的普通設(shè)備(例如圖1中的A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、及P等終端設(shè)備)進(jìn)行分組,一個(gè)或多個(gè)普通設(shè)備對(duì)應(yīng)一個(gè)組,一組設(shè)備對(duì)應(yīng)一個(gè)邊緣交換設(shè)備。
例如,一種可能的分組方式為:
A、B、C、D為第一組,對(duì)應(yīng)的邊緣交換設(shè)備為SW1,對(duì)應(yīng)的組地址可以是SW1的地址;
E、F、G、H為第二組,對(duì)應(yīng)的邊緣交換設(shè)備為SW2,對(duì)應(yīng)的組地址可以是SW2的地址;
I、J、K、L為第三組,對(duì)應(yīng)的邊緣交換設(shè)備為SW3,對(duì)應(yīng)的組地址可以 是SW3的地址;
M、N、O、P為第四組,對(duì)應(yīng)的邊緣交換設(shè)備為SW4,對(duì)應(yīng)的組地址可以是SW4的地址。
以上的第一、第二等組序號(hào),沒有排序的含義,只是為了描述方便。
當(dāng)然,在實(shí)際分組時(shí)也可以根據(jù)情況進(jìn)行不同的分組。例如,如果SW1還連接有其他的邊緣交換設(shè)備,其他的邊緣交換設(shè)備連接有負(fù)載,那么除了將SW1連接的所有設(shè)備統(tǒng)一分為一組之外還可以詳細(xì)劃分,例如可以將SW1下面連接的其他邊緣交換設(shè)備再進(jìn)行分組,等等,具體分組方式本發(fā)明不作限制。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
另外,本文中術(shù)語(yǔ)“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中常被可互換使用。本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,如無(wú)特殊說(shuō)明,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
下面結(jié)合說(shuō)明書附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。
請(qǐng)參見圖2,本發(fā)明實(shí)施例提供一種SDN中的數(shù)據(jù)包發(fā)送方法,所述方法可以由控制器執(zhí)行,或者可以由核心交換設(shè)備執(zhí)行,或者也可以由邊緣交換設(shè)備執(zhí)行。所述方法的流程描述如下。
步驟201:接收第一數(shù)據(jù)包。
首先接收第一數(shù)據(jù)包,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為SDN中的一組設(shè)備中的任意一個(gè)設(shè)備,本發(fā)明實(shí)施例中將第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備稱為第一目的設(shè)備。
例如,第一數(shù)據(jù)包的目的地址可以對(duì)應(yīng)于圖1中的設(shè)備A,那么這一組設(shè)備顯然就是指設(shè)備A所在的第一組設(shè)備,此時(shí)設(shè)備A就稱為第一目的設(shè)備。
步驟202:確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系。
其中,第一組地址對(duì)應(yīng)的設(shè)備為SDN中的第一邊緣交換設(shè)備,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為SDN中的一組設(shè)備中的第一目的設(shè)備,一組設(shè)備均通過(guò)第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包。
因?yàn)橐褜DN中的普通設(shè)備進(jìn)行了分組,那么在接收第一數(shù)據(jù)包之后,就可以確定第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,本發(fā)明實(shí)施例中將第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址稱為第一組地址。
例如,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為圖1中的設(shè)備A,那么第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的第一組地址就是第一組設(shè)備的組地址,即SW1的地址,第一組設(shè)備都通過(guò)SW1收發(fā)數(shù)據(jù)包,此時(shí)可以將SW1稱為第一邊緣交換設(shè)備。如果圖2所示的流程由邊緣交換設(shè)備執(zhí)行,那么可以將執(zhí)行圖2流程的邊緣交換設(shè)備稱為第二邊緣交換設(shè)備,若第一數(shù)據(jù)包的目的地址對(duì)應(yīng)于圖1中的設(shè)備A,則第二邊緣交換設(shè)備可以是圖1中的SW2、SW3、或SW4中的任意一個(gè)。
可選的,本發(fā)明實(shí)施例中,如果圖2的流程由控制器執(zhí)行,那么,控制器中可以存儲(chǔ)SDN中由控制器所控制的各個(gè)核心交換設(shè)備的地址-邊緣交換設(shè)備的地址-終端設(shè)備的地址之間的對(duì)應(yīng)關(guān)系,即控制器中可以存儲(chǔ)各種對(duì)應(yīng)關(guān)系,控制器在接收到第一數(shù)據(jù)包后,就可以在本地查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。
可選的,本發(fā)明實(shí)施例中,如果圖2的流程由核心交換設(shè)備或第二邊緣交換設(shè)備執(zhí)行,那么,確定第一數(shù)據(jù)包的目的地址所對(duì)應(yīng)的組地址,即確定第一數(shù)據(jù)包的目的地址與第一組地址存在對(duì)應(yīng)關(guān)系,可以有不同的確定方式,舉例如下:
第一種確定方式:
在確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,還包 括:
將第一數(shù)據(jù)包發(fā)送給SDN中的控制器;
確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,包括:
接收控制器發(fā)送的所述第一數(shù)據(jù)包,以及第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,接收控制器發(fā)送的所述第一數(shù)據(jù)包,以及第一組地址。
即,核心交換設(shè)備在接收第一數(shù)據(jù)包后,可以直接將第一數(shù)據(jù)包發(fā)送給控制器,因?yàn)榭刂破髦写鎯?chǔ)了各種對(duì)應(yīng)關(guān)系,因此控制器可以在本地查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,即查詢第一數(shù)據(jù)包的目的地址與組地址之間的對(duì)應(yīng)關(guān)系,在查詢結(jié)束后,控制器可以再將第一數(shù)據(jù)包發(fā)送給核心交換設(shè)備,以及可以將查詢到的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系發(fā)送給核心交換設(shè)備,從而核心交換設(shè)備可以根據(jù)接收的內(nèi)容確定第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系。這樣,直接將查詢到的信息發(fā)送給核心交換設(shè)備,減小出錯(cuò)率。或者,在查詢結(jié)束后,控制器除了將第一數(shù)據(jù)包發(fā)送給核心交換設(shè)備之外,可以只將第一組地址發(fā)送給核心交換設(shè)備,核心交換設(shè)備自然知道第一組地址就是與第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。這樣,只發(fā)送第一組地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。
或,第二邊緣交換設(shè)備在接收第一數(shù)據(jù)包后,可以先在本地查詢,是否存儲(chǔ)了第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,具體可以是查詢是否存儲(chǔ)了第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址的流表,若未查詢到,則可以直接將第一數(shù)據(jù)包發(fā)送給控制器,因?yàn)榭刂破髦写鎯?chǔ)了各種對(duì)應(yīng)關(guān)系,因此控制器可以在本地查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,即查詢第一數(shù)據(jù)包的目的地址與組地址之間的對(duì)應(yīng)關(guān)系,在查詢結(jié)束后,控制器可以再將第一數(shù)據(jù)包發(fā)送給第二邊緣交換設(shè)備,以及可以將查詢到的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系發(fā)送給第二邊緣交換設(shè)備,從而第二邊緣交換設(shè)備可以根據(jù)接收的內(nèi)容確定第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系。這樣,直接將查 詢到的信息發(fā)送給第二邊緣交換設(shè)備,減小出錯(cuò)率。或者,在查詢結(jié)束后,控制器除了將第一數(shù)據(jù)包發(fā)送給第二邊緣交換設(shè)備之外,可以只將第一組地址發(fā)送給第二邊緣交換設(shè)備,第二邊緣交換設(shè)備自然知道第一組地址就是與第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。這樣,只發(fā)送第一組地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。
第二種確定方式:
在確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,還包括:
將第一數(shù)據(jù)包的目的地址發(fā)送給SDN中的控制器;
確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,包括:
接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系,或,接收控制器發(fā)送的第一組地址。
即,核心交換設(shè)備在接收第一數(shù)據(jù)包后,可以獲取第一數(shù)據(jù)包的目的地址,并只將第一數(shù)據(jù)包的目的地址發(fā)送給控制器,請(qǐng)求獲得第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。相對(duì)于將第一數(shù)據(jù)包發(fā)送給控制器的方案來(lái)說(shuō),只發(fā)送第一數(shù)據(jù)包的目的地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。同樣的,因?yàn)榭刂破髦写鎯?chǔ)了各種對(duì)應(yīng)關(guān)系,因此控制器可以在本地查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,即查詢第一數(shù)據(jù)包的目的地址與組地址之間的對(duì)應(yīng)關(guān)系,在查詢結(jié)束后,控制器可以將查詢到的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系發(fā)送給核心交換設(shè)備,從而核心交換設(shè)備可以根據(jù)接收的內(nèi)容確定第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系。這樣,直接將查詢到的信息發(fā)送給核心交換設(shè)備,減小出錯(cuò)率。或者,在查詢結(jié)束后,控制器可以只將第一組地址發(fā)送給核心交換設(shè)備,核心交換設(shè)備自然知道第一組地址就是與第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。這樣,只發(fā)送第一組地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。
或,第二邊緣交換設(shè)備在接收第一數(shù)據(jù)包后,可以獲取第一數(shù)據(jù)包的目的 地址,然后先在本地查詢,是否存儲(chǔ)了第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,具體可以是查詢是否存儲(chǔ)了第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址的流表,若未查詢到,則可以只將第一數(shù)據(jù)包的目的地址發(fā)送給控制器,請(qǐng)求獲得第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。相對(duì)于將第一數(shù)據(jù)包發(fā)送給控制器的方案來(lái)說(shuō),只發(fā)送第一數(shù)據(jù)包的目的地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。同樣的,因?yàn)榭刂破髦写鎯?chǔ)了各種對(duì)應(yīng)關(guān)系,因此控制器可以在本地查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址,即查詢第一數(shù)據(jù)包的目的地址與組地址之間的對(duì)應(yīng)關(guān)系,在查詢結(jié)束后,控制器可以將查詢到的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系發(fā)送給第二邊緣交換設(shè)備,從而第二邊緣交換設(shè)備可以根據(jù)接收的內(nèi)容確定第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系。這樣,直接將查詢到的信息發(fā)送給第二邊緣交換設(shè)備,減小出錯(cuò)率?;蛘?,在查詢結(jié)束后,控制器可以只將第一組地址發(fā)送給第二邊緣交換設(shè)備,第二邊緣交換設(shè)備自然知道第一組地址就是與第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址。這樣,只發(fā)送第一組地址,需發(fā)送的數(shù)據(jù)量較小,節(jié)省傳輸資源。
如果核心交換設(shè)備或第二邊緣交換設(shè)備得到的是第一數(shù)據(jù)包的目的地址和第一組地址之間的對(duì)應(yīng)關(guān)系,核心交換設(shè)備或第二邊緣交換設(shè)備也能夠根據(jù)該對(duì)應(yīng)關(guān)系獲得第一組地址。
步驟203:對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址為第一組地址。
在得到第一組地址之后,可以對(duì)第一數(shù)據(jù)包進(jìn)行封裝,本發(fā)明實(shí)施例中將封裝后的第一數(shù)據(jù)包稱為第二數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址就是第一組地址。
即,對(duì)第一數(shù)據(jù)包進(jìn)行封裝,這個(gè)過(guò)程可以由控制器完成,或者可以由核心交換設(shè)備完成,或者也可以由邊緣交換設(shè)備完成。
步驟204:根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
在得到第二數(shù)據(jù)包之后,就可以將第二數(shù)據(jù)包發(fā)送給第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備,即第一邊緣交換設(shè)備。例如,若沿用前面的例子,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為圖1中的設(shè)備A,則第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址為SW1的地址,此時(shí)SW1即為第一邊緣交換設(shè)備。對(duì)第一數(shù)據(jù)包進(jìn)行封裝之后得到第二數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址就是SW1的地址,則可以將第二數(shù)據(jù)包發(fā)送給SW1。
可選的,本發(fā)明實(shí)施例中,如果圖2的流程由控制器或第二邊緣交換設(shè)備執(zhí)行,則,根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備,包括:
根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包通過(guò)SDN中的核心交換設(shè)備發(fā)送給第一邊緣交換設(shè)備。
即,控制器或第二邊緣交換設(shè)備首先將第二數(shù)據(jù)包發(fā)送給核心交換設(shè)備,核心交換設(shè)備再根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,如果圖2的流程由核心交換設(shè)備執(zhí)行,則,
在根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備之前,還包括:
查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備,包括:
根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
要發(fā)送一個(gè)數(shù)據(jù)包,除了要知道數(shù)據(jù)包的目的地址之外,還需要知道數(shù)據(jù)包對(duì)應(yīng)的流表,流表中可以包括數(shù)據(jù)包的路徑等信息,這樣才能通過(guò)正確的路徑發(fā)送數(shù)據(jù)包。一般來(lái)說(shuō),流表是由控制器生成后發(fā)送給相應(yīng)的交換設(shè)備的,交換設(shè)備接收一個(gè)流表之后,可以將其進(jìn)行存儲(chǔ),這樣,之后接收的數(shù)據(jù)包的 流表就可能已經(jīng)存儲(chǔ)在了交換設(shè)備中,交換設(shè)備可以直接根據(jù)存儲(chǔ)的流表轉(zhuǎn)發(fā)數(shù)據(jù)包。
即,核心交換設(shè)備要發(fā)送第二數(shù)據(jù)包時(shí),可以查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表是否存在,如果存在,則可以根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,在查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,還包括:
若未查詢到第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將第二數(shù)據(jù)包發(fā)送給控制器;
接收控制器發(fā)送的第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
如果核心交換設(shè)備在本地沒有查詢到第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,那么核心交換設(shè)備可以將第二數(shù)據(jù)包發(fā)送給控制器,控制器接收到第二數(shù)據(jù)包后,生成第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,再將第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送給核心交換設(shè)備,從而核心交換設(shè)備再根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送第二數(shù)據(jù)包。
或者,如果核心交換設(shè)備在本地沒有查詢到第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,那么核心交換設(shè)備可以將第二數(shù)據(jù)包的目的地址發(fā)送給控制器,控制器接收到第二數(shù)據(jù)包的目的地址后,生成第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,再將第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送給核心交換設(shè)備,從而核心交換設(shè)備再根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送第二數(shù)據(jù)包。
請(qǐng)參見圖3,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供另一種SDN中的數(shù)據(jù)包發(fā)送方法,所述方法可以由邊緣交換設(shè)備執(zhí)行,例如具體由第一邊緣交換設(shè)備執(zhí)行。所述方法為與圖2流程中的方法相對(duì)應(yīng)的方法流程。所述方法的流程描述如下。
步驟301:接收第二數(shù)據(jù)包;第二數(shù)據(jù)包的目的地址為第一邊緣交換設(shè)備的地址,且第一邊緣交換設(shè)備的地址為組地址。
在圖2流程中已有介紹,第二數(shù)據(jù)包為對(duì)第一數(shù)據(jù)包進(jìn)行封裝后得到的數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址是一個(gè)組地址(即圖2流程中所述的第一組地址),這個(gè)組地址對(duì)應(yīng)的是一個(gè)邊緣交換設(shè)備,本發(fā)明實(shí)施例中將其稱為第一邊緣交換設(shè)備。
步驟302:對(duì)第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備。
第一目的設(shè)備為SDN中的一組設(shè)備中的任一個(gè),一組設(shè)備均通過(guò)第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包。
第一邊緣交換設(shè)備在接收第二數(shù)據(jù)包后,可以對(duì)第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,那么第一數(shù)據(jù)包的目的地址就是第一組地址所對(duì)應(yīng)一組設(shè)備中的其中一個(gè)設(shè)備的地址,本發(fā)明實(shí)施例中繼續(xù)將第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備稱為第一目的設(shè)備。
步驟303:根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
在得到第一數(shù)據(jù)包后,可以根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,
在根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備之前,還包括:
查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備,包括:
根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
同樣的,第一邊緣交換設(shè)備要發(fā)送第一數(shù)據(jù)包時(shí),可以查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表是否存在,如果存在,則可以根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,在查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,還包括:
若未查詢到第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將第一數(shù)據(jù)包發(fā)送給控制器;
接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
如果第一邊緣交換設(shè)備在本地沒有查詢到第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,那么第一邊緣交換設(shè)備可以將第一數(shù)據(jù)包發(fā)送給控制器,控制器接收到第一數(shù)據(jù)包后,生成第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,再將第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送給第一邊緣交換設(shè)備,從而第一邊緣交換設(shè)備再根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送第一數(shù)據(jù)包。
或者,如果第一邊緣交換設(shè)備在本地沒有查詢到第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,那么第一邊緣交換設(shè)備可以將第一數(shù)據(jù)包的目的地址發(fā)送給控制器,控制器接收到第一數(shù)據(jù)包的目的地址后,生成第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,再將第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送給第一邊緣交換設(shè)備,從而第一邊緣交換設(shè)備再根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表發(fā)送第一數(shù)據(jù)包。
以下用一個(gè)例子來(lái)介紹本發(fā)明實(shí)施例中SDN中的數(shù)據(jù)包發(fā)送方法。在本例中,邊緣交換設(shè)備負(fù)責(zé)完成對(duì)數(shù)據(jù)包的封裝和解封裝,以及,本例參考圖1所示的網(wǎng)絡(luò)架構(gòu)。
首先,設(shè)備E向SW2發(fā)送了數(shù)據(jù)包1,數(shù)據(jù)包1的目的地址為設(shè)備B。SW2接收到數(shù)據(jù)包1后,獲取數(shù)據(jù)包1的目的地址,在本地查詢是否存儲(chǔ)有數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址,即查詢是否有數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址的流表,本實(shí)施例中,數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址為SW1的地址。
如果SW2查詢到了數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址,則SW2根據(jù)SW1的地址對(duì)數(shù)據(jù)包1進(jìn)行封裝,得到數(shù)據(jù)包2,并將數(shù)據(jù)包2發(fā)送給SW5。
如果SW2沒查詢到數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址,則SW2將數(shù)據(jù)包 1或?qū)?shù)據(jù)包1的目的地址發(fā)送給控制器,控制器查詢數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址,在查詢到之后,控制器將數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址或?qū)?shù)據(jù)包1的目的地址與組地址之間的對(duì)應(yīng)關(guān)系下發(fā)給SW2,當(dāng)然,如果SW2將數(shù)據(jù)包1發(fā)給了控制器,則控制器也要將數(shù)據(jù)包1再發(fā)回給SW2。SW2接收數(shù)據(jù)包1的目的地址對(duì)應(yīng)的組地址或?qū)?shù)據(jù)包1的目的地址與組地址之間的對(duì)應(yīng)關(guān)系后,就可以根據(jù)SW1的地址對(duì)數(shù)據(jù)包1進(jìn)行封裝,得到數(shù)據(jù)包2,并將數(shù)據(jù)包2發(fā)送給SW5。
SW5接收數(shù)據(jù)包2后,獲取數(shù)據(jù)包2的目的地址,查詢本地是否存儲(chǔ)了數(shù)據(jù)包2的目的地址對(duì)應(yīng)的流表,若查詢到了該流表,則根據(jù)該流表將數(shù)據(jù)包2轉(zhuǎn)發(fā)給SW1,若未查詢到該流表,則SW5將數(shù)據(jù)包2或數(shù)據(jù)包2的目的地址發(fā)送給控制器,控制器查詢數(shù)據(jù)包2的目的地址對(duì)應(yīng)的流表,在查詢到之后,控制器將數(shù)據(jù)包2的目的地址對(duì)應(yīng)的流表下發(fā)給SW5,當(dāng)然,如果SW5將數(shù)據(jù)包2發(fā)給了控制器,則控制器也要將數(shù)據(jù)包2再發(fā)回給SW5,SW5根據(jù)該流表將數(shù)據(jù)包2轉(zhuǎn)發(fā)給SW1。
SW1接收數(shù)據(jù)包2后,對(duì)數(shù)據(jù)包2進(jìn)行解封裝,得到數(shù)據(jù)包1。SW1獲取數(shù)據(jù)包1的目的地址,在本地查詢是否存儲(chǔ)了數(shù)據(jù)包1的目的地址對(duì)應(yīng)的流表,若查詢到了該流表,則根據(jù)該流表將數(shù)據(jù)包1轉(zhuǎn)發(fā)給設(shè)備B,若未查詢到該流表,則SW1將數(shù)據(jù)包1或數(shù)據(jù)包1的目的地址發(fā)送給控制器,控制器查詢數(shù)據(jù)包1的目的地址對(duì)應(yīng)的流表,在查詢到之后,控制器將數(shù)據(jù)包1的目的地址對(duì)應(yīng)的流表下發(fā)給SW1,當(dāng)然,如果SW1將數(shù)據(jù)包1發(fā)給了控制器,則控制器也要將數(shù)據(jù)包1再發(fā)回給SW1,SW1根據(jù)該流表將數(shù)據(jù)包1轉(zhuǎn)發(fā)給設(shè)備B。
本發(fā)明實(shí)施例中,圖2流程和圖3流程是相應(yīng)的流程,實(shí)施步驟可相互參考。
以下結(jié)合附圖介紹本發(fā)明實(shí)施例中的設(shè)備。
請(qǐng)參見圖4,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種SDN中的數(shù)據(jù)包發(fā)送設(shè)備,所述設(shè)備可以是如前所述的控制器,或者可以是核心交換設(shè)備,或 者可以是第二邊緣交換設(shè)備。所述設(shè)備可以包括存儲(chǔ)器401、處理器402、接收器403和發(fā)送器404,其中,存儲(chǔ)器401、接收器403和發(fā)送器404可分別連接到處理器402,具體可以是通過(guò)總線連接,或者也可以通過(guò)單獨(dú)的連線進(jìn)行連接。接收器403和發(fā)送器404可以是兩個(gè)單獨(dú)的功能模塊,或者也可以是一個(gè)同時(shí)具有收發(fā)功能的模塊,如果接收器403和發(fā)送器404是同一個(gè)具有收發(fā)功能的模塊,則該模塊也可以稱為收發(fā)器。
存儲(chǔ)器401,用于存儲(chǔ)處理器402執(zhí)行任務(wù)所需的指令;
接收器403,用于接收第一數(shù)據(jù)包;
處理器402,用于執(zhí)行存儲(chǔ)器401存儲(chǔ)的指令,確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,第一組地址對(duì)應(yīng)的設(shè)備為SDN中的第一邊緣交換設(shè)備,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為SDN中的一組設(shè)備中的第一目的設(shè)備,一組設(shè)備均通過(guò)第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;及,對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址為第一組地址;
發(fā)送器404,用于根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,所述SDN中的數(shù)據(jù)包發(fā)送設(shè)備為核心交換設(shè)備;
發(fā)送器404還用于:在處理器402確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
處理器402還用于:通過(guò)接收器403接收控制器發(fā)送的所述第一數(shù)據(jù)包,以及第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,通過(guò)接收器403接收控制器發(fā)送的第一數(shù)據(jù)包,以及第一組地址。
可選的,本發(fā)明實(shí)施例中,所述SDN中的數(shù)據(jù)包發(fā)送設(shè)備為核心交換設(shè)備;
發(fā)送器404還用于:在處理器402確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將第一數(shù)據(jù)包的目的地址發(fā)送給SDN中的控 制器;
處理器402還用于:通過(guò)接收器403接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系,或,通過(guò)接收器403接收控制器發(fā)送的第一組地址。
可選的,本發(fā)明實(shí)施例中,所述SDN中的數(shù)據(jù)包發(fā)送設(shè)備為核心交換設(shè)備;
處理器402還用于:在發(fā)送器404根據(jù)所述第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備之前,查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
發(fā)送器404用于:根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,所述SDN中的數(shù)據(jù)包發(fā)送設(shè)備為核心交換設(shè)備;
處理器402還用于:在查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則通過(guò)發(fā)送器404將所述第二數(shù)據(jù)包發(fā)送給控制器;
接收器403還用于:接收控制器發(fā)送的第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
請(qǐng)參見圖5,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種邊緣交換設(shè)備,所述設(shè)備可以是如前所述的第一邊緣交換設(shè)備。所述設(shè)備可以包括存儲(chǔ)器501、處理器502、接收器503和發(fā)送器504,其中,存儲(chǔ)器501、接收器503和發(fā)送器504可分別連接到處理器502,具體可以是通過(guò)總線連接,或者也可以通過(guò)單獨(dú)的連線進(jìn)行連接。接收器503和發(fā)送器504可以是兩個(gè)單獨(dú)的功能模塊,或者也可以是一個(gè)同時(shí)具有收發(fā)功能的模塊,如果接收器503和發(fā)送器504是同一個(gè)具有收發(fā)功能的模塊,則該模塊也可以稱為收發(fā)器。
存儲(chǔ)器501,用于存儲(chǔ)處理器502執(zhí)行任務(wù)所需的指令;
接收器503,用于接收第二數(shù)據(jù)包;第二數(shù)據(jù)包的目的地址為邊緣交換設(shè) 備的地址,且邊緣交換設(shè)備的地址為組地址;
處理器502,用于執(zhí)行存儲(chǔ)器501存儲(chǔ)的指令,對(duì)第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備;第一目的設(shè)備為SDN中的一組設(shè)備中的任一個(gè),一組設(shè)備均通過(guò)邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
發(fā)送器504,用于根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,
處理器502還用于:在發(fā)送器504根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備之前,查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
所述發(fā)送器504用于:根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,
處理器502還用于:在查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則通過(guò)發(fā)送器504將第一數(shù)據(jù)包發(fā)送給SDN中的控制器;
接收器503還用于:接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
請(qǐng)參見圖6,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種SDN中的數(shù)據(jù)包發(fā)送設(shè)備,所述設(shè)備可以是如前所述的控制器或核心交換設(shè)備或第二邊緣交換設(shè)備。所述設(shè)備可以包括接收模塊601、確定模塊602、封裝模塊603和發(fā)送模塊604。
接收模塊601,用于接收第一數(shù)據(jù)包;
確定模塊602,用于確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,第一組地址對(duì)應(yīng)的設(shè)備為SDN中的第一邊緣交換設(shè)備,第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為SDN中的一組設(shè)備中的第一目的設(shè)備,一組設(shè)備均通過(guò)第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
封裝模塊603,用于對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,第二數(shù)據(jù)包的目的地址為第一組地址;
發(fā)送模塊604,用于根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,
發(fā)送模塊604還用于:在確定模塊602確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將第一數(shù)據(jù)包發(fā)送給SDN中的控制器;
確定模塊602用于:接收控制器發(fā)送的所述第一數(shù)據(jù)包,以及第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,接收控制器發(fā)送的第一數(shù)據(jù)包,以及第一組地址。
可選的,本發(fā)明實(shí)施例中,
發(fā)送模塊604還用于:在確定模塊602確定第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系之前,將第一數(shù)據(jù)包的目的地址發(fā)送給SDN中的控制器;
確定模塊602用于:接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系,或,接收控制器發(fā)送的第一組地址。
可選的,本發(fā)明實(shí)施例中,所述設(shè)備還包括查詢模塊;
查詢模塊用于:在發(fā)送模塊604根據(jù)第二數(shù)據(jù)包的目的地址,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備之前,查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
發(fā)送模塊604用于:根據(jù)第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第二數(shù)據(jù)包發(fā)送給第一邊緣交換設(shè)備。
可選的,本發(fā)明實(shí)施例中,
發(fā)送模塊604還用于:在查詢模塊查詢第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將第二數(shù)據(jù)包發(fā)送給控制器;
接收模塊601還用于:接收控制器發(fā)送的第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流 表。
請(qǐng)參見圖7,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種邊緣交換設(shè)備,所述邊緣交換設(shè)備可以是如前所述的第一邊緣交換設(shè)備。所述邊緣交換設(shè)備可以包括接收模塊701、解封裝模塊702和發(fā)送模塊703。
接收模塊701,用于接收第二數(shù)據(jù)包;所述第二數(shù)據(jù)包的目的地址為第一邊緣交換設(shè)備的地址,且第一邊緣交換設(shè)備的地址為組地址;
解封裝模塊702,用于對(duì)第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為SDN中的第一目的設(shè)備;第一目的設(shè)備為SDN中的一組設(shè)備中的任一個(gè),一組設(shè)備均通過(guò)第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
發(fā)送模塊703,用于根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,邊緣交換設(shè)備還包括查詢模塊;
查詢模塊用于:在發(fā)送模塊703根據(jù)第一數(shù)據(jù)包的目的地址,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備之前,查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
發(fā)送模塊703用于:根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將第一數(shù)據(jù)包發(fā)送給第一目的設(shè)備。
可選的,本發(fā)明實(shí)施例中,
發(fā)送模塊703還用于:在查詢模塊查詢第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表之后,若未查詢到第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將第一數(shù)據(jù)包發(fā)送給SDN中的控制器;
接收模塊701還用于:接收控制器發(fā)送的第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
本發(fā)明實(shí)施例中將SDN中的普通設(shè)備進(jìn)行分組,一個(gè)或多個(gè)普通設(shè)備對(duì)應(yīng)一個(gè)組,一組設(shè)備對(duì)應(yīng)一個(gè)邊緣交換設(shè)備,那么這組設(shè)備都通過(guò)該邊緣交換設(shè)備與核心交換設(shè)備進(jìn)行交互,對(duì)于核心交換設(shè)備來(lái)說(shuō),只需要知道這一組設(shè) 備的一個(gè)組地址即可。
例如,如果是核心交換設(shè)備接收第一數(shù)據(jù)包,那么核心交換設(shè)備就根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備,由第一邊緣交換設(shè)備再繼續(xù)進(jìn)行數(shù)據(jù)包的分發(fā)。如果是SDN中的控制器接收第一數(shù)據(jù)包,則控制器根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包通過(guò)核心交換設(shè)備發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備。如果是邊緣交換設(shè)備接收第一數(shù)據(jù)包,則邊緣交換設(shè)備根據(jù)第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的組地址對(duì)第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,并將第一數(shù)據(jù)包通過(guò)核心交換設(shè)備發(fā)送給這組設(shè)備對(duì)應(yīng)的邊緣交換設(shè)備。
這樣,核心交換設(shè)備無(wú)需學(xué)習(xí)一組設(shè)備中的每個(gè)設(shè)備的MAC地址,而只需要學(xué)習(xí)這組設(shè)備對(duì)應(yīng)的組地址即可,核心交換設(shè)備需要學(xué)習(xí)的MAC地址得到了極大的減少,減輕了核心交換設(shè)備的負(fù)擔(dān),盡量避免出現(xiàn)交換機(jī)無(wú)法學(xué)習(xí)新的MAC地址的情況,節(jié)省傳輸資源,也盡量避免網(wǎng)絡(luò)中的其他正常通信造成影響。
本發(fā)明實(shí)施例中,通過(guò)節(jié)約核心交換設(shè)備的MAC地址學(xué)習(xí)資源,解除了MAC地址學(xué)習(xí)資源對(duì)網(wǎng)絡(luò)規(guī)模的限制,實(shí)現(xiàn)了擴(kuò)大網(wǎng)絡(luò)規(guī)模的技術(shù)效果。例如,在傳統(tǒng)的架構(gòu)中,核心交換機(jī)一般只能連接5臺(tái)邊緣交換機(jī),因此整個(gè)網(wǎng)絡(luò)的規(guī)模比較小,而采用本發(fā)明實(shí)施例中的方法后,核心交換機(jī)可能能夠連接50臺(tái)邊緣交換機(jī),使得整個(gè)網(wǎng)絡(luò)的規(guī)模得到較大的擴(kuò)張。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方 法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
具體來(lái)講,本申請(qǐng)實(shí)施例中的一種SDN中的數(shù)據(jù)包發(fā)送方法對(duì)應(yīng)的計(jì)算機(jī)程序指令可以被存儲(chǔ)在光盤,硬盤,U盤等存儲(chǔ)介質(zhì)上,當(dāng)存儲(chǔ)介質(zhì)中的與一種SDN中的數(shù)據(jù)包發(fā)送方法對(duì)應(yīng)的計(jì)算機(jī)程序指令被一電子設(shè)備讀取或被 執(zhí)行時(shí),包括如下步驟:
接收第一數(shù)據(jù)包;
確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系;其中,所述第一組地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一邊緣交換設(shè)備,所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的一組設(shè)備中的第一目的設(shè)備,所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
對(duì)所述第一數(shù)據(jù)包進(jìn)行封裝,得到第二數(shù)據(jù)包,所述第二數(shù)據(jù)包的目的地址為所述第一組地址;
根據(jù)所述第二數(shù)據(jù)包的目的地址,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行之前,還包括:
將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行的過(guò)程中,包括:
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一數(shù)據(jù)包的目的地址與第一組地址之間的對(duì)應(yīng)關(guān)系;或,接收所述控制器發(fā)送的所述第一數(shù)據(jù)包,以及所述第一組地址。
可選的,
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行之前,還包括:
將所述第一數(shù)據(jù)包的目的地址發(fā)送給所述SDN中的控制器;
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行的過(guò)程中,包括:
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址與第一組地址之間的 對(duì)應(yīng)關(guān)系,或,接收所述控制器發(fā)送的所述第一組地址。
可選的,
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行之前,還包括:
查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:確定所述第一數(shù)據(jù)包的目的地址與第一組地址之間存在對(duì)應(yīng)關(guān)系,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行的過(guò)程中,包括:
根據(jù)所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第二數(shù)據(jù)包發(fā)送給所述第一邊緣交換設(shè)備。
可選的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:查詢所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行之后,還包括:
若未查詢到所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將所述第二數(shù)據(jù)包發(fā)送給所述控制器;
接收所述控制器發(fā)送的所述第二數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
具體來(lái)講,本申請(qǐng)實(shí)施例中的另一種SDN中的數(shù)據(jù)包發(fā)送方法對(duì)應(yīng)的計(jì)算機(jī)程序指令可以被存儲(chǔ)在光盤,硬盤,U盤等存儲(chǔ)介質(zhì)上,當(dāng)存儲(chǔ)介質(zhì)中的與另一種SDN中的數(shù)據(jù)包發(fā)送方法對(duì)應(yīng)的計(jì)算機(jī)程序指令被一電子設(shè)備讀取或被執(zhí)行時(shí),包括如下步驟:
接收第二數(shù)據(jù)包;所述第二數(shù)據(jù)包的目的地址為第一邊緣交換設(shè)備的地址,且所述第一邊緣交換設(shè)備的地址為組地址;
對(duì)所述第二數(shù)據(jù)包進(jìn)行解封裝,得到第一數(shù)據(jù)包,并確定所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的設(shè)備為所述SDN中的第一目的設(shè)備;所述第一目的設(shè)備為所述SDN中的一組設(shè)備中的任一個(gè),所述一組設(shè)備均通過(guò)所述第一邊緣交換設(shè)備收發(fā)數(shù)據(jù)包;
根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行之前,還包括:
查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表;
所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:根據(jù)所述第一數(shù)據(jù)包的目的地址,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行的過(guò)程中,包括:
根據(jù)所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,將所述第一數(shù)據(jù)包發(fā)送給所述第一目的設(shè)備。
可選的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:查詢所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,對(duì)應(yīng)的計(jì)算機(jī)指令在具體被執(zhí)行之后,還包括:
若未查詢到所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表,則將所述第一數(shù)據(jù)包發(fā)送給所述SDN中的控制器;
接收所述控制器發(fā)送的所述第一數(shù)據(jù)包的目的地址對(duì)應(yīng)的流表。
以上所述,以上實(shí)施例僅用以對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想,不應(yīng)理解為對(duì)本發(fā)明的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。