控制,而機架內(nèi)軟件定義控制器2作為其備份控制器,當(dāng)控制器I出現(xiàn)故障時,控制器2可同時維持對機架I和機架2的控制。在正常狀態(tài)下,每個機架由一臺機架內(nèi)軟件定義控制器控制,而只有當(dāng)一臺控制器發(fā)生故障時,而作為備份的機架內(nèi)控制器同時對兩個機架進(jìn)行控制。同時每臺機架內(nèi)軟件定義控制器與2臺機架間軟件定義控制器相連,其中一臺機架間軟件定義控制器作為主控制器,另外一臺作為備份控制器。機架間軟件定義控制器從機架內(nèi)軟件定義控制器獲取全網(wǎng)的狀態(tài)信息,同時機架內(nèi)軟件定義控制器需要從機架間軟件定義控制器處獲取備份控制器所控制的機架的狀態(tài)信息。控制器之間的交互是實時的。
[0054]所述機架內(nèi)軟件定義控制器運行的動態(tài)帶寬資源分配算法實現(xiàn)過程如圖6所示,該過程包括:服務(wù)器信息注冊與更新、控制器控制和服務(wù)器數(shù)據(jù)發(fā)送三個部分:
[0055]1.注冊與更新
[0056]服務(wù)器啟動或入網(wǎng)時,需要向控制器發(fā)送“注冊信息”,該信息包括:服務(wù)器及虛擬機IP地址,各端口 MAC地址和服務(wù)器編號??刂破鹘邮盏皆摗白孕畔ⅰ焙?,將其寫入服務(wù)器“狀態(tài)信息表”并根據(jù)服務(wù)器編號更新時刻表,同時向服務(wù)器發(fā)送“注冊確認(rèn)消息”。服務(wù)器若收到“注冊確認(rèn)消息”,則注冊成功,若未收到,則繼續(xù)注冊。當(dāng)服務(wù)器的地址信息發(fā)生變化(如虛擬機迀移)或進(jìn)入休眠、關(guān)機等狀態(tài)時,服務(wù)器需要主動地向控制器發(fā)送“注冊更新信息”,控制器在更新“注冊信息表”后確認(rèn)該行為。
[0057]2.主動控制、被動控制
[0058]在主動模式中,控制策略由控制器下發(fā)至服務(wù)器。在主動控制中,服務(wù)器僅根據(jù)控制策略對數(shù)據(jù)進(jìn)行發(fā)送。主動模式能夠減少控制器與交換機的信息交互從而提高轉(zhuǎn)發(fā)效率。在被動模式中,控制器不會主動下發(fā)控制策略,而由服務(wù)器不斷向控制器發(fā)送“報告信息”請示后控制器完成控制策略。被動模式犧牲轉(zhuǎn)發(fā)效率但能夠?qū)崿F(xiàn)細(xì)粒度的控制。本發(fā)明采用的控制方式包含以上兩種模式:
[0059](I)主動控制,控制器為每臺工作狀態(tài)的服務(wù)器分配時隙,通過令牌對各個服務(wù)器輪詢授權(quán)??刂破骶S持時間信息表。
[0060](2)被動控制,當(dāng)服務(wù)器緩存隊列為空或數(shù)據(jù)提取完成發(fā)送、服務(wù)器有優(yōu)先級高的業(yè)務(wù)到達(dá)時,服務(wù)器會主動地向控制器發(fā)送“報告信息”,控制器根據(jù)該“報告信息”做出調(diào)度策略。若服務(wù)器緩存隊列為空或數(shù)據(jù)提取完成發(fā)送,其主動告知控制器,控制器確認(rèn)該信息后向下一臺服務(wù)器發(fā)送令牌;若高優(yōu)先級業(yè)務(wù)到達(dá)其它服務(wù)器時,控制器停止計時并暫停當(dāng)前的數(shù)據(jù)發(fā)送期,當(dāng)高優(yōu)先級數(shù)據(jù)發(fā)送完后恢復(fù)暫停的數(shù)據(jù)發(fā)送期和計時器。
[0061]3.數(shù)據(jù)發(fā)送
[0062]控制器維持著各服務(wù)器進(jìn)行數(shù)據(jù)發(fā)送的一個“時間信息表”,控制器根據(jù)該時間信息表周期性的輪詢各服務(wù)器??刂破鞲鶕?jù)調(diào)度策略的結(jié)果向一臺服務(wù)器發(fā)送“令牌”,“令牌”意味著使用網(wǎng)絡(luò)資源的權(quán)限,只有接收到令牌的服務(wù)器才能夠發(fā)送數(shù)據(jù),且該服務(wù)器必須通過控制信道向控制器發(fā)送“令牌確認(rèn)”信息以確保網(wǎng)絡(luò)資源分配無誤,令牌確認(rèn)包含兩個作用:一是確保令牌的正確傳輸二是當(dāng)服務(wù)器無數(shù)據(jù)需要傳輸時,通過令牌確認(rèn)信息告知控制器,控制器則向下一臺服務(wù)器發(fā)送令牌,提高網(wǎng)絡(luò)吞吐量。當(dāng)機架內(nèi)各服務(wù)器輪詢一次完成,“時間信息表”將進(jìn)行更新,重新開始新一輪的計時查詢。控制器內(nèi)的“時間信息表”是根據(jù)數(shù)據(jù)流在機架內(nèi)傳輸?shù)臅r延和網(wǎng)絡(luò)狀態(tài)等規(guī)則設(shè)定的,根據(jù)機架內(nèi)服務(wù)器數(shù)量的變化而實時的更新。
[0063]本發(fā)明提供一種適用于全光互連數(shù)據(jù)中心網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)通信方法,該方法包括機架內(nèi)光信號通信和機架間光信號通信,機架內(nèi)控制器控制光信號發(fā)送過程如圖7:
[0064]步驟701,機架內(nèi)軟件定義控制器的流量分發(fā)機制通過對服務(wù)器流量特性的分析,確定流量是機架內(nèi)流量,服務(wù)器則將其緩存到相應(yīng)的機架內(nèi)流量發(fā)送緩存隊列中等待調(diào)度。
[0065]步驟702,控制器運行帶寬資源分配算法,為服務(wù)器數(shù)據(jù)的發(fā)送分配帶寬資源。
[0066]步驟703,服務(wù)器獲得數(shù)據(jù)發(fā)送令牌,向機架內(nèi)所有服務(wù)器以廣播方式通過耦合器模塊將光信號發(fā)送到機架內(nèi)其他所有服務(wù)器。
[0067]步驟704,機架內(nèi)其他服務(wù)器接收到該光信號后將其轉(zhuǎn)換為電信號并檢測該信號的目的服務(wù)器地址,若該地址為接收服務(wù)器本身則接收,否則丟棄。
[0068]機架間服務(wù)器數(shù)據(jù)發(fā)送過程如圖8所示,該方法包括:
[0069]步驟801,機架內(nèi)軟件定義控制器的流量分發(fā)機制通過對服務(wù)器流量特性的分析,確定流量是機架外流量,服務(wù)器則將其緩存到相應(yīng)的機架外流量發(fā)送緩存隊列中等待發(fā)送。
[0070]步驟802,在機架內(nèi)軟件定義控制器控制下,機架外數(shù)據(jù)通信光收發(fā)器將待發(fā)送電信號轉(zhuǎn)換為光信號,并通過機架外部接口發(fā)送到連接機架的光Clos網(wǎng)絡(luò)中。
[0071]步驟803,光信號進(jìn)入光Clos網(wǎng)絡(luò)中,在波長控制模塊中需要進(jìn)行波長的轉(zhuǎn)換以保證光信號正確的發(fā)送到目的機架。波長轉(zhuǎn)換過程為:機架間軟件定義控制器接收到來自機架內(nèi)服務(wù)器發(fā)送的光信號,利用光電轉(zhuǎn)換器將該光信號轉(zhuǎn)換為電信號;控制器提取電信號中分組頭部,并檢測該分組頭部信息,獲取該分組的源服務(wù)器地址和目的服務(wù)器地址;控制器獲取整個數(shù)據(jù)中心網(wǎng)絡(luò)狀態(tài),對網(wǎng)絡(luò)狀態(tài)進(jìn)行分析;根據(jù)獲取的分組源、目的地址和網(wǎng)絡(luò)狀態(tài)信息,控制器根據(jù)控制算法計算出控制決策(當(dāng)前分組的載波波長轉(zhuǎn)換控制信息和該信號的調(diào)度路徑控制信息);控制器發(fā)送控制決策信息到TWC,TffC根據(jù)該控制信息將當(dāng)前光信號轉(zhuǎn)換到合適波長。
[0072]步驟804,經(jīng)過波長轉(zhuǎn)換的光信號可根據(jù)其波長特性準(zhǔn)確的傳輸?shù)侥康臋C架,進(jìn)入目的機架的光信號經(jīng)過耦合器廣播到目的機架中所有服務(wù)器,這些服務(wù)器上光收發(fā)器將光信號轉(zhuǎn)換為電信號并檢測其目的服務(wù)器地址,若該地址為接收服務(wù)器本身則接收,否則丟棄。
[0073]實施例一
[0074]如圖9所示,服務(wù)器A向服務(wù)器B發(fā)送數(shù)據(jù)。機架內(nèi)軟件定義控制器首先對該數(shù)據(jù)流量特性進(jìn)行分析,確定該流量為機架內(nèi)通信流量,對該流量進(jìn)行標(biāo)記并緩存到相應(yīng)的隊列中。控制器運行軟件定義帶寬資源分配算法,根據(jù)“時間信息表”輪詢機架內(nèi)的服務(wù)器,當(dāng)輪詢到服務(wù)器A時,則控制器給服務(wù)器A發(fā)送“令牌”,該“令牌”告知服務(wù)器A具有發(fā)送權(quán)限,服務(wù)器A向控制器確認(rèn)“令牌”之后開始發(fā)送數(shù)據(jù)。服務(wù)器A將需要發(fā)送的信息進(jìn)行封裝,封裝的信息包括有源服務(wù)器A的地址信息和目的服務(wù)器B的地址信息,封裝后的信息調(diào)制到光載波λI上并以廣播方式經(jīng)過耦合器模塊發(fā)送到機架內(nèi)的所有其他服務(wù)器,接收端各服務(wù)器接收到該光信號后將其轉(zhuǎn)換為電信號并檢測該信號的目的服務(wù)器地址,服務(wù)器B發(fā)現(xiàn)該數(shù)據(jù)的目的服務(wù)器地址是本身則接收做進(jìn)一步處理,而其他服務(wù)器檢測到其目的服務(wù)器地址非本身則將該信息丟棄。
[0075]實施例二
[0076]如圖10所示,機架I內(nèi)服務(wù)器C向機架2內(nèi)服務(wù)器D發(fā)送連接請求。服務(wù)器C產(chǎn)生數(shù)據(jù)流,經(jīng)過機架內(nèi)控制器分析,該數(shù)據(jù)流為機架外流量,對該流進(jìn)行標(biāo)記并緩存到相應(yīng)的隊列中。對于機架外的數(shù)據(jù),數(shù)據(jù)的發(fā)送無需遵循帶寬資源分配原則,直接進(jìn)行數(shù)據(jù)的發(fā)送。首先,服務(wù)器C將需要發(fā)送的信息進(jìn)行封裝,封裝的信息包括有源機架1、源服務(wù)器C的地址信息和目的機架2、目的服務(wù)器D的地址信息,其次,SFP光模塊將待發(fā)送電信號調(diào)制到光載波上經(jīng)過耦合器發(fā)送到連接各機架的光Clos網(wǎng)絡(luò)。從機架I輸出的波長λ I轉(zhuǎn)發(fā)到光Clos網(wǎng)絡(luò)的輸入模塊波長控制模塊,該波長輸入控制模塊,通過親合器一部分功率輸入到控制平臺,一部分發(fā)送到TWC。控制平臺首先將光信號轉(zhuǎn)換為電信號,獲取該電信號中分組的頭部信息,檢測出該分組的目的服務(wù)器地址,控制平臺然后結(jié)合網(wǎng)絡(luò)狀態(tài)信息計算出控制決策,最后將控制決策轉(zhuǎn)發(fā)到TWC,TWC根據(jù)控制決策消息將波長λ I轉(zhuǎn)換為λ 2。波長控制模塊將λ 2轉(zhuǎn)發(fā)到中間模塊AWGR I,AffGRl根據(jù)波長循環(huán)路由特性,