專利名稱:一種支持tipc的多集群網(wǎng)絡(luò)通信的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種支持TIPC的多集群網(wǎng)絡(luò)通信 的方法和裝置。
背景技術(shù):
集群Cluster是指通過計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的有效協(xié)同,使多臺(tái)計(jì)算機(jī)對(duì)外提供統(tǒng) 一的功能和強(qiáng)大處理能力服務(wù)的特性。TIPC ( Transparent Inter-process Communication,透明進(jìn)程間通信)是目前新興的集群網(wǎng)絡(luò)通信協(xié)議,并且已經(jīng) 廣泛的被應(yīng)用在通信領(lǐng)域。TIPC通信中,對(duì)于Cluster內(nèi)的各個(gè)通信節(jié)點(diǎn),采用 在全網(wǎng)絡(luò)內(nèi)建立連接的方式,使集群內(nèi)所有節(jié)點(diǎn)有效分工協(xié)作,對(duì)外表現(xiàn)出統(tǒng) 一而強(qiáng)大的性能和功能。
目前業(yè)界的TIPC集群應(yīng)用,基本上關(guān)注的都是局限在一個(gè)集群的網(wǎng)絡(luò)設(shè)計(jì), 應(yīng)用往往關(guān)注單個(gè)集群的外部特性,忽略了集群之間的呼應(yīng)和協(xié)作。有兩個(gè)明 顯的缺陷。其一,單個(gè)集群由于其內(nèi)部每兩個(gè)節(jié)點(diǎn)間都需要維護(hù)連接,隨著規(guī) 模的擴(kuò)大,內(nèi)部通信和節(jié)點(diǎn)維護(hù)的成本會(huì)逐漸增加,使物理網(wǎng)絡(luò)承擔(dān)較重的負(fù) 荷。比如一個(gè)包含N個(gè)節(jié)點(diǎn)的集群,內(nèi)部的通信連接數(shù)目為N*(N-l)/2,這就意 味著每新增一個(gè)節(jié)點(diǎn),集群內(nèi)維護(hù)的通信連接增加N條,相關(guān)的通信開銷非常 巨大,最終制約節(jié)點(diǎn)數(shù)目的增長。如圖l所示,為支持TIPC的單個(gè)集群中各節(jié) 點(diǎn)的網(wǎng)絡(luò)拓樸圖,圖中為三個(gè)通信節(jié)點(diǎn)間的連接狀態(tài),其內(nèi)部通信連接數(shù)目為 3* (3-1)/2=3條,節(jié)點(diǎn)A的地址為(Zl, Cl, Nl),即表示該節(jié)點(diǎn)的地址編址 為,Zone (區(qū)號(hào))為Zl, Cluster (集群號(hào))為Cl, Node (節(jié)點(diǎn)號(hào))為Nl;其 二,隨著通信網(wǎng)絡(luò)的日益復(fù)雜和功能的日益強(qiáng)大,往往需要多個(gè)集群的共同協(xié) 作,而對(duì)于目前的TIPC,明顯缺乏有效的軟硬件技術(shù)支持。例如目前對(duì)于多集群的TIPC網(wǎng)絡(luò),往往是通過集群內(nèi)一個(gè)或幾個(gè)節(jié)點(diǎn)的協(xié)議層轉(zhuǎn)發(fā)實(shí)現(xiàn)的。通過
軟件實(shí)現(xiàn)的轉(zhuǎn)發(fā),浪費(fèi)轉(zhuǎn)發(fā)節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬和CPU ( Central Processing Unit,中 央處理器)處理能力,而且隨著集群內(nèi)節(jié)點(diǎn)數(shù)量的增加,通過軟件轉(zhuǎn)發(fā)的節(jié)點(diǎn) 性能上會(huì)形成整個(gè)集群的瓶頸,制約集群功能擴(kuò)充和性能增長。
發(fā)明內(nèi)容
本發(fā)明提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的方法和裝置,用以解決現(xiàn)有 技術(shù)中存在的物理網(wǎng)絡(luò)承擔(dān)負(fù)荷較重和在協(xié)議層軟件轉(zhuǎn)發(fā)對(duì)節(jié)點(diǎn)網(wǎng)絡(luò)帶寬和處 理器能力消耗較大的問題。
為達(dá)到上述目的,本發(fā)明提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的方法,包
括
A、 在同一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出多個(gè)集群,并將各集群 內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;
B、 當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),源集群的交換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包, 對(duì)所述數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取所述數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào);
C、 當(dāng)所述目的節(jié)點(diǎn)號(hào)所在集群不是源集群時(shí),則以所述目的節(jié)點(diǎn)號(hào)為查表 關(guān)鍵字進(jìn)行單播查表或組播查表,獲取目的集群交換節(jié)點(diǎn)的端口號(hào);
D、 根據(jù)所述目的集群交換節(jié)點(diǎn)的端口號(hào)修改所述數(shù)據(jù)包的MAC頭,然后 將該數(shù)據(jù)包發(fā)送至所述端口號(hào)對(duì)應(yīng)的目的集群的交換節(jié)點(diǎn)。
其中,步驟A中的各交換節(jié)點(diǎn)還配置有交換集群的地址信息和該交換節(jié)點(diǎn) 所在非交換集群的地址信息。
具體的,上述步驟A還包括
當(dāng)所述物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立所述新集群內(nèi)部的全連接,并將所 述新集群內(nèi)部的交換節(jié)點(diǎn)加入所述交換集群,通過所述交換節(jié)點(diǎn)向交換集群內(nèi) 各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求消息添加新路由,并向 所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;當(dāng)所述物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng)的交換節(jié)點(diǎn)在所述交換 集群中刪除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身的路由表,所述各交換 節(jié)點(diǎn)再向所在的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
上述步驟B中TIPC報(bào)頭分析具體為檢查TIPC版本號(hào)、檢查生存時(shí)間TTL、 檢查地址范圍和檢查有效負(fù)載長度。
本發(fā)明提供的方法,所述步驟B與步驟C之間還包括
根據(jù)所述目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連檢查,判斷所述待傳遞數(shù)據(jù)包的目的 節(jié)點(diǎn)號(hào)所在集群,當(dāng)所述目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí),直接轉(zhuǎn)發(fā)所述數(shù)據(jù) 包。
本發(fā)明還提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的裝置,該裝置包括
交換集群獲取單元,用于在同 一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出 多個(gè)集群,并將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;
目的節(jié)點(diǎn)號(hào)獲取單元,用于當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),通過源集群的交 換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包,對(duì)所述數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取所述數(shù) 據(jù)包的目的節(jié)點(diǎn)號(hào);
端口號(hào)獲取單元,用于當(dāng)所述目的節(jié)點(diǎn)號(hào)獲取單元獲取的目的節(jié)點(diǎn)號(hào)所在 集群不是源集群時(shí),以所述目的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表, 獲取目的集群的交換節(jié)點(diǎn)的端口號(hào);
數(shù)據(jù)發(fā)送單元,用于根據(jù)所述端口號(hào)獲取單元獲取的目的集群的交換節(jié)點(diǎn) 的端口號(hào),修改所述數(shù)據(jù)包的MAC頭,然后將該數(shù)據(jù)包發(fā)送至所述端口號(hào)對(duì)應(yīng) 的目的集群的交換節(jié)點(diǎn)。
其中,上述交換集群獲取單元中各交換節(jié)點(diǎn)配置有交換集群的地址信息和 該交換節(jié)點(diǎn)所在非交換集群的地址信息。
具體的,上述交換集群獲取單元還包括
集群增加子單元,用于當(dāng)所述物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立所述新集群 內(nèi)部的全連接,并將所述新集群內(nèi)部的交換節(jié)點(diǎn)加入所述交換集群,通過所述交換節(jié)點(diǎn)向交換集群內(nèi)各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求
消息添加新路由,并向所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;
集群刪除子單元,用于當(dāng)所述物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng) 的交換節(jié)點(diǎn)在所述交換集群中刪除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身 的路由表,所述各交換節(jié)點(diǎn)再向所在的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
上述目的節(jié)點(diǎn)號(hào)獲取單元中對(duì)TIPC報(bào)頭分析具體為檢查TIPC版本號(hào)、檢 查生存時(shí)間TTL、檢查地址范圍和檢查有效負(fù)載長度。 本發(fā)明提供的裝置進(jìn)一步包括
集群域直連檢查單元,用于根據(jù)所述目的節(jié)點(diǎn)號(hào)獲取單元獲取的目的節(jié)點(diǎn) 號(hào)進(jìn)行集群域直連檢查,判斷所述待傳遞數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào)所在集群,當(dāng)所 述目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí),直接轉(zhuǎn)發(fā)所述數(shù)據(jù)包,否則觸發(fā)所述端口 號(hào)獲取單元。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明提供的支持TIPC的多集群的網(wǎng)絡(luò)通信的方法,通過新增的交換集群 的定期維護(hù),提高了集群內(nèi)設(shè)備資源和網(wǎng)絡(luò)帶寬的利用率,對(duì)系統(tǒng)的整體功能 擴(kuò)充和性能提升有較好的效果。并且通過劃分不同的集群,還可以不受物理組 網(wǎng)的限制,實(shí)現(xiàn)集群間網(wǎng)絡(luò)隔離,減少單個(gè)集群中節(jié)點(diǎn)數(shù)量,從而減少集群內(nèi) 部維護(hù)的開銷,大大提高了多集群系統(tǒng)處理能力,實(shí)現(xiàn)高效的集群間通信,很 方便的通過增加集群數(shù)量實(shí)現(xiàn)系統(tǒng)功能擴(kuò)展。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖進(jìn)行簡單地介紹,顯而易見地,下面描 述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不 付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為現(xiàn)有技術(shù)中支持TIPC的單個(gè)集群中各節(jié)點(diǎn)的網(wǎng)絡(luò)拓樸8圖2為本發(fā)明提供的支持TIPC的多集群網(wǎng)絡(luò)通信方法流程圖3為本發(fā)明實(shí)施例中支持TIPC的多集群網(wǎng)絡(luò)通信方法流程圖4為本發(fā)明實(shí)施例中支持TIPC的多個(gè)集群中各節(jié)點(diǎn)的網(wǎng)絡(luò)拓樸圖;
圖5為本發(fā)明實(shí)施例中交換集群建立流程圖6為本發(fā)明實(shí)施例中交換集群中的路由表更新流程圖7為本發(fā)明提供的支持TIPC的多集群網(wǎng)絡(luò)通信裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式
下面將結(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ù)的范圍。
本發(fā)明提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的方法和裝置,用以解決現(xiàn)有 技術(shù)中存在的物理網(wǎng)絡(luò)承擔(dān)負(fù)荷較重和在協(xié)議層軟件轉(zhuǎn)發(fā)對(duì)節(jié)點(diǎn)網(wǎng)絡(luò)帶寬和處 理器能力消耗較大的問題。
本發(fā)明提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的方法,如圖2所示,該方法 包括以下步驟
步驟S201、在同一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出多個(gè)集群,并 將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群。
該步驟中,上述各交換節(jié)點(diǎn)內(nèi)配置有交換集群的地址信息和該交換節(jié)點(diǎn)所 在非交換集群的地址信息。
需要說明的是,該步驟中,當(dāng)物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立新集群內(nèi)部 的全連接,并將新集群內(nèi)部的交換節(jié)點(diǎn)加入交換集群,通過交換節(jié)點(diǎn)向交換集 群內(nèi)各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求消息添加新路由, 并向所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;
當(dāng)物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng)的交換節(jié)點(diǎn)在交換集群中刪
9除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身的路由表,各交換節(jié)點(diǎn)再向所在 的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
步驟S202、當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),源集群的交換節(jié)點(diǎn)接收待傳遞的 數(shù)據(jù)包,對(duì)該數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取該數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào)。
其中,TIPC報(bào)頭分析具體為檢查TIPC版本號(hào)、檢查TTL ( Time To Live, 生存時(shí)間)、檢查地址范圍和檢查有效負(fù)載長度。
在該步驟之后還包括根據(jù)上述獲取的目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連檢查, 判斷待傳遞數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào)所在集群,當(dāng)目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí), 直接轉(zhuǎn)發(fā)待傳遞的數(shù)據(jù)包,否則繼續(xù)步驟S203。
步驟S203、當(dāng)上述獲取的目的節(jié)點(diǎn)號(hào)所在集群不是源集群時(shí),以獲取的目 的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表,獲取目的集群交換節(jié)點(diǎn)的端 口號(hào)。
步驟S204、根據(jù)目的集群交換節(jié)點(diǎn)的端口號(hào),修改數(shù)據(jù)包的MAC (Media Access Control,介質(zhì)訪問控制)頭,并將該彩:據(jù)包發(fā)送至端口號(hào)對(duì)應(yīng)的目的集 群的交換節(jié)點(diǎn)。
本發(fā)明提供的方法,通過新增的交換集群的定期維護(hù),提高了集群內(nèi)設(shè)備 資源和網(wǎng)絡(luò)帶寬的利用率,對(duì)系統(tǒng)的整體功能擴(kuò)充和性能提升有較好的效果。 并且通過劃分不同的集群,還可以不受物理組網(wǎng)的限制,實(shí)現(xiàn)集群間網(wǎng)絡(luò)隔離, 減少單個(gè)集群中節(jié)點(diǎn)數(shù)量,從而減少集群內(nèi)部維護(hù)的開銷,大大提高了多集群 系統(tǒng)處理能力,實(shí)現(xiàn)高效的集群間通信,很方便的通過增加集群數(shù)量實(shí)現(xiàn)系統(tǒng) 功能擴(kuò)展。
下面通過一具體實(shí)施例來詳細(xì)闡述本發(fā)明提供的支持TIPC的多集群網(wǎng)絡(luò)通 信方法的具體實(shí)施過程。本發(fā)明實(shí)施例提供的方法是在采用多集群的網(wǎng)絡(luò)拓樸 中,增加一個(gè)由各集群的交換節(jié)點(diǎn)組成的交換集群,該交換集群內(nèi)部的各交換 節(jié)點(diǎn)的交換芯片結(jié)合現(xiàn)場可編程門陣列FPGA實(shí)現(xiàn)各交換節(jié)點(diǎn)內(nèi)部路由的維護(hù) 和實(shí)現(xiàn)集群間TIPC數(shù)據(jù)包轉(zhuǎn)發(fā)的功能。通過交換節(jié)點(diǎn)內(nèi)部集群的交互,實(shí)時(shí)同步更新網(wǎng)絡(luò)中的集群路由變化,從而實(shí)現(xiàn)快速TIPC在不同集群節(jié)點(diǎn)間的數(shù)據(jù)通 信。整體上可以大大提高多集群系統(tǒng)處理能力,很方便的通過增加集群數(shù)量實(shí)
現(xiàn)系統(tǒng)功能擴(kuò)展。具體的,本實(shí)施例提供的支持TIPC的多集群網(wǎng)絡(luò)通信方法, 如圖3所示,包括以下步驟
步驟S301、在同一物理網(wǎng)絡(luò)內(nèi)劃分出多個(gè)集群,將各集群中的交換節(jié)點(diǎn)設(shè) 置在同一個(gè)交換集群中。
該步驟中,各集群中的交換節(jié)點(diǎn)配置有交換集群的地址信息和該交換節(jié)點(diǎn) 所在非交換集群的地址信息。且各交換節(jié)點(diǎn)上使用專用交換芯片結(jié)合FPGA完 成數(shù)據(jù)包的轉(zhuǎn)發(fā),該交換芯片結(jié)合FPGA實(shí)現(xiàn)了 TIPC三層轉(zhuǎn)發(fā)表查詢和端口轉(zhuǎn) 發(fā)功能。當(dāng)前,使用FPGA實(shí)現(xiàn)路由器功能,已經(jīng)是比較成熟的技術(shù)了,但這 些技術(shù)都是基于IP協(xié)議。本實(shí)施例中是通過FPGA實(shí)現(xiàn)TIPC報(bào)頭分析、Cluster 域直連檢查、單播查表、組播查表等處理,并可以方便的擴(kuò)展到QoS、安全檢 測等功能。
該步驟中,在同 一物理網(wǎng)絡(luò)內(nèi)劃分出的多個(gè)集群是按照各集群的實(shí)際功能 進(jìn)行劃分的,每個(gè)集群內(nèi)的計(jì)算機(jī)組提供相同業(yè)務(wù)功能。也就是在這種網(wǎng)絡(luò)劃 分條件下,新建一個(gè)交換集群,該交換集群內(nèi)的節(jié)點(diǎn)全部由原來各集群中承擔(dān) 交換路由功能的交換節(jié)點(diǎn)組成。
下面通過一個(gè)簡單的實(shí)例來說明該步驟中交換集群的建立過程。該交換集 群是建立在支持TIPC的多集群網(wǎng)絡(luò)中,該多集群網(wǎng)絡(luò)拓樸圖如圖4所示,圖中 交換集群由各集群中承擔(dān)對(duì)外通信功能的交換節(jié)點(diǎn)組成,結(jié)合圖4,該交換集群 的建立過程,如圖5所示,具體包括以下步驟
步驟501、將各集群內(nèi)(集群l,集群2,集群3)的節(jié)點(diǎn)建立全連接。例 如,將集群1內(nèi)的節(jié)點(diǎn)A,節(jié)點(diǎn)B與節(jié)點(diǎn)C建立TIPC全連接。
步驟502、將各集群中承擔(dān)對(duì)外通信功能的交換節(jié)點(diǎn)配置一個(gè)交換集群地 址。例如,在集群l中,承擔(dān)對(duì)外通信功能的交換節(jié)點(diǎn)為節(jié)點(diǎn)C,該節(jié)點(diǎn)在集群 1內(nèi)的集群地址為(Zl, Cl, N3),由于其在集群l中的特殊作用,為其配置一個(gè)交換集群地址(Z3, C4, Nl)。同理集群2中的節(jié)點(diǎn)D和集群3中的節(jié)點(diǎn)G 加入TIPC網(wǎng)絡(luò)后也需要多配置一個(gè)交換集群4的節(jié)點(diǎn)地址,分別為(Z3, C4, N0)和(Z3, C4, N2)。
步驟503、將所有集群中承擔(dān)對(duì)外通信功能的交換節(jié)點(diǎn)聯(lián)合起來組成一個(gè)交 換集群。該交換集群由軟件負(fù)責(zé)內(nèi)部各交換節(jié)點(diǎn)的路由更新,保活檢測,定期 同步等功能。該交換集群可以有效的處理TIPC網(wǎng)絡(luò)內(nèi)各集群的變化,并實(shí)現(xiàn)各 集群內(nèi)部通信的隔離,完成不同集群節(jié)點(diǎn)間的數(shù)據(jù)轉(zhuǎn)發(fā)。
需要說明的是,當(dāng)有新集群加入上述物理網(wǎng)絡(luò)中時(shí),需首先建立新集群內(nèi) 部節(jié)點(diǎn)的全連接;然后為新集群中的交換節(jié)點(diǎn)配置交換集群的地址信息,最后 將新集群的交換節(jié)點(diǎn)加入交換集群。該新集群通過加入交換集群即可實(shí)現(xiàn)接入 TIPC網(wǎng)絡(luò),與各集群進(jìn)行通信。
在新的交換節(jié)點(diǎn)加入交換集群后,交換集群子網(wǎng)上需發(fā)布路由表同步組播, 以維護(hù)交換節(jié)點(diǎn)上的路由表。具體的,新的交換節(jié)點(diǎn)加入后由于交換集群發(fā)生 變化,新的交換節(jié)點(diǎn)需要主動(dòng)向交換集群內(nèi)其它各交換節(jié)點(diǎn)發(fā)布路由更新請(qǐng)求, 各交換節(jié)點(diǎn)收到路由更新請(qǐng)求后將新路由添加到轉(zhuǎn)發(fā)引擎SRAM ( Static RAM, 靜態(tài)存儲(chǔ)內(nèi)存)中以便今后的路由查找,并主動(dòng)向自己所在的內(nèi)部集群各節(jié)點(diǎn) 發(fā)布路由更新通知,通知本集群內(nèi)各節(jié)點(diǎn)更新自身路由表。
具體的,交換集群中增加新集群對(duì)應(yīng)的交換節(jié)點(diǎn)時(shí),交換集群內(nèi)部各交換 節(jié)點(diǎn)的路由更新流程,如圖6所示,包括以下步驟
步驟601、建立新集群內(nèi)部節(jié)點(diǎn)的全連接。
步驟602、新集群通過自身內(nèi)部的交換節(jié)點(diǎn)接入TIPC網(wǎng)絡(luò),并為該新交換 節(jié)點(diǎn)配置交換集群的地址信息,加入交換集群。
步驟603、新交換節(jié)點(diǎn)加入交換集群,引起交換集群變化,該新交換節(jié)點(diǎn)向 交換集群內(nèi)部各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求;
步驟604、交換集群內(nèi)各節(jié)點(diǎn)收到路由更新請(qǐng)求后,將新路由添加到轉(zhuǎn)發(fā)引 擎的SRAM中;步驟605、交換集群中各交換節(jié)點(diǎn)向自己所在的非交換集群廣播路由更新通知,使所有集群中各節(jié)點(diǎn)中都增加新集群的路由信息。
當(dāng)從交換集群中刪除某交換節(jié)點(diǎn)時(shí),由于各交換節(jié)點(diǎn)屬于一個(gè)單獨(dú)的集群,
根據(jù)TIPC自身提供的服務(wù)訂閱功能,使該交換集群內(nèi)的其它交換節(jié)點(diǎn)都能夠收
到待刪除交換節(jié)點(diǎn)狀態(tài)變化的通知,并通知自己所屬的非交換集群內(nèi)各節(jié)點(diǎn)更新自身路由表。
通過交換集群的更新發(fā)布和定期維護(hù),使TIPC網(wǎng)絡(luò)中所有集群的所有節(jié)點(diǎn)能夠相互通信,很方便的實(shí)現(xiàn)增加或刪除集群。
承接步驟S301,下面繼續(xù)闡述本實(shí)施例提供的支持TIPC的多集群網(wǎng)絡(luò)通信方法所需的步驟。
步驟S302、源集群的交換節(jié)點(diǎn)通過內(nèi)部的交換芯片端口接收待傳遞的數(shù)據(jù)
包,并存儲(chǔ)該數(shù)據(jù)包。
步驟S303、按標(biāo)準(zhǔn)的TIPC協(xié)議對(duì)接收到的數(shù)據(jù)包進(jìn)行TIPC報(bào)頭截取。步驟S304、對(duì)截取的TIPC報(bào)頭進(jìn)行分析,處理版本號(hào)等信息,提取目的節(jié)點(diǎn)號(hào)。
其中,報(bào)頭分析主要是進(jìn)行TIPC版本號(hào)檢查、TTL檢查、地址范圍檢查、有效負(fù)載長度檢查。
步驟S305、根據(jù)目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連檢查,當(dāng)目的節(jié)點(diǎn)號(hào)所在集群為交換節(jié)點(diǎn)所在的非交換集群中的節(jié)點(diǎn)時(shí),直接將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的節(jié)點(diǎn);否則轉(zhuǎn)步驟S306。
步驟S306、當(dāng)目的節(jié)點(diǎn)號(hào)所在集群不是源集群時(shí),則以提取的目的節(jié)點(diǎn)號(hào)作為查表關(guān)鍵字,進(jìn)行單播查表或組播查表以輸出目的集群對(duì)應(yīng)交換節(jié)點(diǎn)的端口號(hào)信息。
其中,進(jìn)行單播查表或組播查表是由步驟S304中對(duì)TIPC報(bào)頭分析出的地址范圍確定的,當(dāng)?shù)刂贩秶鸀閱尾サ刂窌r(shí),進(jìn)行單播查表;當(dāng)?shù)刂贩秶鸀榻M播地址時(shí),進(jìn)行組播查表。具體的,該步驟中,以提取的目的節(jié)點(diǎn)號(hào)作為查表關(guān)鍵字,進(jìn)行單播查表
具體為
將目的節(jié)點(diǎn)號(hào)作為查表關(guān)鍵字輸入,獲得目的集群對(duì)應(yīng)交換節(jié)點(diǎn)的端口號(hào),
并將該端口號(hào)作為查表結(jié)果保存在轉(zhuǎn)發(fā)引擎的SRAM中的相應(yīng)地址空間中;以提取的目的節(jié)點(diǎn)號(hào)作為查表關(guān)鍵字,進(jìn)行組播查表具體為將目的節(jié)點(diǎn)號(hào)作為查表關(guān)鍵字輸入,獲得所有的目的集群對(duì)應(yīng)交換節(jié)點(diǎn)的
端口號(hào),并將所有端口號(hào)作為結(jié)果保存在轉(zhuǎn)發(fā)引擎的SRAM中的相應(yīng)地址空間中。
步驟S307、根據(jù)獲得的目的集群對(duì)應(yīng)交換節(jié)點(diǎn)的端口號(hào)信息,修改存儲(chǔ)的數(shù)據(jù)包的MAC頭。
步驟S308、將修改后的數(shù)據(jù)包發(fā)送到目的集群對(duì)應(yīng)交換節(jié)點(diǎn),完成輸出。本發(fā)明所提供的支持TIPC的多集群網(wǎng)絡(luò)通信的方法,通過新增的交換集群的定期維護(hù),結(jié)合FPGA實(shí)現(xiàn)的高效硬件轉(zhuǎn)發(fā)特性優(yōu)勢,提高了集群內(nèi)設(shè)備資源和網(wǎng)絡(luò)帶寬的利用率,對(duì)系統(tǒng)的整體功能擴(kuò)充和性能提升有較好的效果。通過劃分不同的集群,還可以不受物理組網(wǎng)的限制,實(shí)現(xiàn)集群間網(wǎng)絡(luò)隔離,減少單個(gè)集群中節(jié)點(diǎn)數(shù)量,從而減少集群內(nèi)部維護(hù)的開銷??梢源蟠筇岣叨嗉合到y(tǒng)處理能力,實(shí)現(xiàn)高效的集群間通信,很方便的通過增加集群數(shù)量實(shí)現(xiàn)系統(tǒng)功能擴(kuò)展。
本發(fā)明還提供一種支持TIPC的多集群網(wǎng)絡(luò)通信的裝置,如圖7所示,包括交換集群獲取單元710,用于在同一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分
出多個(gè)集群,并將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;
目的節(jié)點(diǎn)號(hào)獲取單元720,用于當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),通過源集群的
交換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包,對(duì)數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取數(shù)據(jù)包的
目的節(jié)點(diǎn)號(hào);
其中,TIPC報(bào)頭分析具體為檢查TIPC版本號(hào)、檢查TTL、檢查地址范圍和檢查有效負(fù)載長度端口號(hào)獲取單元730,用于當(dāng)目的節(jié)點(diǎn)號(hào)獲取單元720獲取的目的節(jié)點(diǎn)號(hào)所在集群不是源集群時(shí),以獲取的目的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表,獲取目的集群的交換節(jié)點(diǎn)的端口號(hào);
數(shù)據(jù)發(fā)送單元740,用于根據(jù)端口號(hào)獲取單元730獲取的目的集群的交換節(jié)點(diǎn)的端口號(hào),修改數(shù)據(jù)包的MAC頭,并將該數(shù)據(jù)包發(fā)送至獲取的端口號(hào)對(duì)應(yīng)的目的集群的交換節(jié)點(diǎn)。
其中,上述交換集群獲取單元710中各交換節(jié)點(diǎn)配置有交換集群的地址信息和該交換節(jié)點(diǎn)所在集群的地址信息。
具體的,上述交換集群獲取單元710還包括
集群增加子單元711,用于當(dāng)物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立新集群內(nèi)部的全連接,并將新集群內(nèi)部的交換節(jié)點(diǎn)加入交換集群,通過交換節(jié)點(diǎn)向交換集群內(nèi)各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求消息添加新路由,并向所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;
集群刪除子單元712,用于當(dāng)物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng)的交換節(jié)點(diǎn)在交換集群中刪除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身的路由表,各交換節(jié)點(diǎn)再向所在的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
本發(fā)明提供的裝置進(jìn)一步包括
集群域直連檢查單元750,用于根據(jù)目的節(jié)點(diǎn)號(hào)獲取單元720獲取的目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連檢查,判斷待轉(zhuǎn)發(fā)數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào)所在集群,當(dāng)目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí),直接轉(zhuǎn)發(fā)所述數(shù)據(jù)包,否則觸發(fā)端口號(hào)獲取單元730。
本發(fā)明提供的裝置,通過新增的交換集群的定期維護(hù),提高了集群內(nèi)設(shè)備資源和網(wǎng)絡(luò)帶寬的利用率,對(duì)系統(tǒng)的整體功能擴(kuò)充和性能提升有較好的效果。并且通過劃分不同的集群,還可以不受物理組網(wǎng)的限制,實(shí)現(xiàn)集群間網(wǎng)絡(luò)隔離,減少單個(gè)集群中節(jié)點(diǎn)數(shù)量,從而減少集群內(nèi)部維護(hù)的開銷,大大提高了多集群系統(tǒng)處理能力,實(shí)現(xiàn)高效的集群間通信,很方便的通過增加集群數(shù)量實(shí)現(xiàn)系統(tǒng)
15顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種支持透明進(jìn)程間通信TIPC的多集群網(wǎng)絡(luò)通信的方法,其特征在于,包括A、在同一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出多個(gè)集群,并將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;B、當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),源集群的交換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包,對(duì)所述數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取所述數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào);C、當(dāng)所述目的節(jié)點(diǎn)號(hào)所在集群不是源集群時(shí),則以所述目的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表,獲取目的集群交換節(jié)點(diǎn)的端口號(hào);D、根據(jù)所述目的集群交換節(jié)點(diǎn)的端口號(hào)修改所述數(shù)據(jù)包的介質(zhì)訪問控制MAC頭,然后將該數(shù)據(jù)包發(fā)送至所述端口號(hào)對(duì)應(yīng)的目的集群的交換節(jié)點(diǎn)。
2、 如權(quán)利要求l所述的方法,其特征在于,所述各交換節(jié)點(diǎn)配置有交換集 群的地址信息和該交換節(jié)點(diǎn)所在非交換集群的地址信息。
3、 如權(quán)利要求1或2所述的方法,其特征在于,當(dāng)所述物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立所述新集群內(nèi)部的全連接,并將所 述新集群內(nèi)部的交換節(jié)點(diǎn)加入所述交換集群,通過所述交換節(jié)點(diǎn)向交換集群內(nèi) 各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求消息添加新路由,并向 所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;當(dāng)所述物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng)的交換節(jié)點(diǎn)在所述交換 集群中刪除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身的路由表,所述各交換 節(jié)點(diǎn)再向所在的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
4、 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟B中TIPC報(bào)頭 分析具體為檢查TIPC版本號(hào)、檢查生存時(shí)間TTL、檢查地址范圍和檢查有效負(fù) 載長度。
5、 如權(quán)利要求1或2所述的方法,其特征在于,所述步驟B與步驟C之間 還包括根據(jù)所述目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連檢查,判斷所述待傳遞數(shù)據(jù)包的目的 節(jié)點(diǎn)號(hào)所在集群,當(dāng)所述目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí),直接轉(zhuǎn)發(fā)所述數(shù)據(jù) 包。
6、 一種支持TIPC的多集群網(wǎng)絡(luò)通信的裝置,其特征在于,包括 交換集群獲取單元,用于在同 一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出多個(gè)集群,并將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;目的節(jié)點(diǎn)號(hào)獲取單元,用于當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),通過源集群的交 換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包,對(duì)所述數(shù)據(jù)包的TIPC報(bào)頭進(jìn)行分析后獲取所述數(shù) 據(jù)包的目的節(jié)點(diǎn)號(hào);端口號(hào)獲取單元,用于當(dāng)所述目的節(jié)點(diǎn)號(hào)獲取單元獲取的目的節(jié)點(diǎn)號(hào)所在 集群不是源集群時(shí),以所述目的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表, 獲取目的集群的交換節(jié)點(diǎn)的端口號(hào);數(shù)據(jù)發(fā)送單元,用于根據(jù)所述端口號(hào)獲取單元獲取的目的集群的交換節(jié)點(diǎn) 的端口號(hào),修改所述數(shù)據(jù)包的MAC頭,然后將該數(shù)據(jù)包發(fā)送至所述端口號(hào)對(duì)應(yīng) 的目的集群的交換節(jié)點(diǎn)。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述交換集群獲取單元中各交 換節(jié)點(diǎn)配置有交換集群的地址信息和該交換節(jié)點(diǎn)所在非交換集群的地址信息。
8、 如權(quán)利要求6或7所述的裝置,其特征在于,所述交換集群獲取單元還 包括集群增加子單元,用于當(dāng)所述物理網(wǎng)絡(luò)內(nèi)增加新集群時(shí),建立所述新集群 內(nèi)部的全連接,并將所述新集群內(nèi)部的交換節(jié)點(diǎn)加入所述交換集群,通過所述 交換節(jié)點(diǎn)向交換集群內(nèi)各交換節(jié)點(diǎn)發(fā)起路由更新請(qǐng)求,使各交換節(jié)點(diǎn)根據(jù)請(qǐng)求 消息添加新路由,并向所在的非交換集群各節(jié)點(diǎn)廣播路由更新通知;集群刪除子單元,用于當(dāng)所述物理網(wǎng)絡(luò)內(nèi)刪除集群時(shí),將待刪除集群對(duì)應(yīng) 的交換節(jié)點(diǎn)在所述交換集群中刪除,并通知交換集群內(nèi)部的交換節(jié)點(diǎn)更新自身 的路由表,所述各交換節(jié)點(diǎn)再向所在的非交換集群各節(jié)點(diǎn)發(fā)布路由更新通知。
9、 如權(quán)利要求6或7所述的裝置,其特征在于,所述目的節(jié)點(diǎn)號(hào)獲取單元 中對(duì)TIPC報(bào)頭分析具體為檢查TIPC版本號(hào)、檢查生存時(shí)間TTL、檢查地址范 圍和檢查有效負(fù)載長度。
10、 如權(quán)利要求6或7所述的裝置,其特征在于,該裝置進(jìn)一步包括 集群域直連檢查單元,用于根據(jù)所述目的節(jié)點(diǎn)號(hào)獲取單元獲取的目的節(jié)點(diǎn)號(hào)進(jìn)行集群域直連4僉查,判斷所述待傳遞數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào)所在集群,當(dāng)所 述目的節(jié)點(diǎn)號(hào)所在集群為源集群時(shí),直接轉(zhuǎn)發(fā)所述數(shù)據(jù)包,否則觸發(fā)所述端口 號(hào)獲取單元。
全文摘要
本發(fā)明公開了一種支持TIPC的多集群網(wǎng)絡(luò)通信的方法和裝置,該方法包括在同一物理網(wǎng)絡(luò)內(nèi)根據(jù)各集群的實(shí)際功能劃分出多個(gè)集群,并將各集群內(nèi)的交換節(jié)點(diǎn)組合成一個(gè)交換集群;當(dāng)各集群間進(jìn)行數(shù)據(jù)傳遞時(shí),源集群的交換節(jié)點(diǎn)接收待傳遞的數(shù)據(jù)包,對(duì)數(shù)據(jù)包的報(bào)頭進(jìn)行分析后獲取數(shù)據(jù)包的目的節(jié)點(diǎn)號(hào);以目的節(jié)點(diǎn)號(hào)為查表關(guān)鍵字進(jìn)行單播查表或組播查表,獲取目的集群交換節(jié)點(diǎn)的端口號(hào),根據(jù)該端口號(hào),修改數(shù)據(jù)包的報(bào)頭,并將該數(shù)據(jù)包發(fā)送至目的集群的交換節(jié)點(diǎn)。該裝置包括交換集群獲取單元、目的節(jié)點(diǎn)號(hào)獲取單元、端口號(hào)獲取單元和數(shù)據(jù)發(fā)送單元。本發(fā)明減少了在協(xié)議層軟件轉(zhuǎn)發(fā)對(duì)節(jié)點(diǎn)網(wǎng)絡(luò)帶寬和處理器能力的消耗,提高了多集群下的通信能力。
文檔編號(hào)H04L12/56GK101478490SQ20091000849
公開日2009年7月8日 申請(qǐng)日期2009年2月5日 優(yōu)先權(quán)日2009年2月5日
發(fā)明者忱 劉, 吳應(yīng)祥, 周元慶 申請(qǐng)人:中興通訊股份有限公司