一種鏈路負(fù)載控制方法和堆疊設(shè)備的制作方法
【專利摘要】本發(fā)明提供了一種鏈路負(fù)載控制方法和堆疊設(shè)備,以解決跨越IP網(wǎng)絡(luò)的遠(yuǎn)程堆疊中由于網(wǎng)絡(luò)擁塞帶來的堆疊數(shù)據(jù)報(bào)文丟失的問題。該方法應(yīng)用于由至少三臺(tái)堆疊設(shè)備通過IP網(wǎng)絡(luò)連接所構(gòu)成的環(huán)形鏈路的數(shù)據(jù)傳輸,在該環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑;該方法包括:確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定;在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
【專利說明】一種鏈路負(fù)載控制方法和堆疊設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),特別是涉及一種鏈路負(fù)載控制方法,以及一種堆疊設(shè)備。
【背景技術(shù)】
[0002]當(dāng)今,多數(shù)的企業(yè)網(wǎng)絡(luò)及其數(shù)據(jù)中心分布于多個(gè)位于不同地理位置的物理站點(diǎn)內(nèi),并在這些不同站點(diǎn)內(nèi)部署類似的業(yè)務(wù)。為了對數(shù)據(jù)中心資源進(jìn)行整合、降低管理成本,通常會(huì)對數(shù)據(jù)中心的資源進(jìn)行虛擬化。數(shù)據(jù)中心的虛擬化技術(shù)主要包括網(wǎng)絡(luò)虛擬化、存儲(chǔ)虛擬化和服務(wù)器虛擬化這三方面內(nèi)容。其中,服務(wù)器虛擬化是通過專用的虛擬化軟件(如VMware)在一臺(tái)物理服務(wù)器上虛擬出多臺(tái)虛擬機(jī),每臺(tái)虛擬機(jī)都獨(dú)立運(yùn)行,擁有自己的操作系統(tǒng)、應(yīng)用程序和虛擬硬件環(huán)境,如虛擬的中央處理器(Central Processing Unit, CPU)、內(nèi)存、網(wǎng)卡等。
[0003]為了實(shí)現(xiàn)站點(diǎn)間的資源動(dòng)態(tài)調(diào)配和管理,虛擬機(jī)在數(shù)據(jù)中心的不同站點(diǎn)之間要能夠自由遷移。如圖1所示,虛擬機(jī)可以在站點(diǎn)Sitel的服務(wù)器Serverl和站點(diǎn)Site2的服務(wù)器Serverf之間進(jìn)行遷移。由于虛擬機(jī)遷移過程對用戶透明,不能改變網(wǎng)絡(luò)互聯(lián)協(xié)議(Internet Protocol, IP)地址,否則用戶的訪問流量會(huì)中斷,因此必須在分布于異地的站點(diǎn)之間實(shí)現(xiàn)二層網(wǎng)絡(luò)互聯(lián)。
[0004]跨越IP網(wǎng)絡(luò)的遠(yuǎn)程堆疊是解決這一問題的有效技術(shù)手段,分布在IP網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備通過遠(yuǎn)程堆疊后,可以實(shí)現(xiàn)對用戶透明的二層通信,并且易于網(wǎng)絡(luò)的維護(hù)與管理。但是遠(yuǎn)程堆疊也是一種“overlay (重疊)”技術(shù),它的轉(zhuǎn)發(fā)路徑中不僅承載堆疊數(shù)據(jù)流量,還會(huì)承載其它的IP數(shù)據(jù),因此可能會(huì)因?yàn)槲锢韼挷蛔悖瑢?dǎo)致堆疊數(shù)據(jù)流量在轉(zhuǎn)發(fā)過程中丟失。
[0005]為了解決上述技術(shù)問題,可以采用量化擁塞通知(QCN, Quantized CongestionNotification)技術(shù),其是一種數(shù)據(jù)中心二層網(wǎng)絡(luò)內(nèi)的端到端的擁塞管理技術(shù)。QCN技術(shù)通過擁塞通知消息通知數(shù)據(jù)源網(wǎng)絡(luò)擁塞,從而降低流量發(fā)送速率,進(jìn)行流量限速,以解決擁塞問題。
[0006]但是,QCN技術(shù)應(yīng)用在二層網(wǎng)絡(luò),在設(shè)備發(fā)生擁塞時(shí),根據(jù)報(bào)文的源MAC,通知源端設(shè)備進(jìn)行流量控制,提高網(wǎng)絡(luò)性能。而針對堆疊跨IP網(wǎng)絡(luò)的二層通信時(shí),由于其無法感知IP網(wǎng)絡(luò)的擁塞情況,在IP網(wǎng)絡(luò)擁塞的情況下,通過QCN技術(shù)對設(shè)備進(jìn)行流量控制時(shí),由于IP網(wǎng)絡(luò)本身技術(shù)導(dǎo)致帶寬會(huì)被其他設(shè)備的數(shù)據(jù)占用,因此采用QCN技術(shù)不能達(dá)到控制流量的目的,仍然會(huì)出現(xiàn)堆疊數(shù)據(jù)報(bào)文在傳輸網(wǎng)絡(luò)丟失的問題。。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實(shí)施例提供了一種鏈路負(fù)載控制方法,以解決跨越IP網(wǎng)絡(luò)的遠(yuǎn)程堆疊中由于網(wǎng)絡(luò)擁塞帶來的堆疊數(shù)據(jù)報(bào)文丟失的問題。
[0008]相應(yīng)的,本發(fā)明實(shí)施例還提供了 一種堆疊設(shè)備。
[0009]為了解決上述問題,本發(fā)明實(shí)施例公開了一種鏈路負(fù)載控制方法,該方法應(yīng)用于由至少三臺(tái)堆疊設(shè)備構(gòu)成的環(huán)形鏈路的數(shù)據(jù)傳輸,所述環(huán)形鏈路中的相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑;所述的方法包括:
[0010]確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定;
[0011]在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0012]可選的,所述當(dāng)前堆疊設(shè)備通過所述發(fā)送鏈路發(fā)送的數(shù)據(jù)包括:所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)和所述當(dāng)前堆疊端口轉(zhuǎn)發(fā)的數(shù)據(jù);所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括:所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0013]可選的,在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括:在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0014]可選的,所述環(huán)形鏈路中包括至少四臺(tái)堆疊設(shè)備,所述的方法還包括:在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
[0015]可選的,將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送之后,還包括:若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備上產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送;若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)切換到所述上游的其他堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送。
[0016]可選的,所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括:在第一個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送;在第二個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送;以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
[0017]可選的,若當(dāng)前堆疊設(shè)備為非主設(shè)備時(shí),所述方法還包括:接收主設(shè)備發(fā)送的所述當(dāng)前堆疊設(shè)備的主路徑的擁塞情況;或者,接收主設(shè)備發(fā)送的所述相鄰堆疊設(shè)備上的堆疊端口的收包速率。
[0018]可選的,所述當(dāng)前堆疊設(shè)備通過進(jìn)程間通信接收相鄰堆疊設(shè)備上的堆疊端口的收包速率。
[0019]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種堆疊設(shè)備,所述堆疊設(shè)備為由至少三臺(tái)堆疊設(shè)備構(gòu)成環(huán)形鏈路中的堆疊設(shè)備,所述環(huán)形鏈路中的相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑,所述的堆疊設(shè)備包括:
[0020]擁塞確定模塊,用于確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定;
[0021]路徑切換模塊,用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0022]可選的,所述當(dāng)前堆疊設(shè)備通過所述發(fā)送鏈路發(fā)送的數(shù)據(jù)包括:所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)和所述當(dāng)前堆疊設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù);所述路徑切換模塊,用于將通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0023]可選的,所述路徑切換模塊,用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0024]可選的,所述環(huán)形鏈路中包括至少四臺(tái)堆疊設(shè)備;路徑切換模塊,還用于在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
[0025]可選的,還包括:通知模塊,用于若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備上產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送;若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)切換到所述上游的其他堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送。
[0026]可選的,所述路徑切換模塊,用于在第一個(gè)計(jì)時(shí)周期開始時(shí),將當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送;在第二個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送;以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
[0027]可選的,若當(dāng)前堆疊設(shè)備為非主設(shè)備時(shí),所述的堆疊設(shè)備還包括:接收模塊,用于接收主設(shè)備發(fā)送的所述當(dāng)前堆疊設(shè)備的主路徑的擁塞情況;或者,接收主設(shè)備發(fā)送的所述相鄰堆疊設(shè)備上的堆疊端口的收包速率。
[0028]可選的,還包括:接收模塊,用于通過進(jìn)程間通信接收相鄰堆疊設(shè)備上的堆疊端口的收包速率。
[0029]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例技術(shù)方案具有以下優(yōu)點(diǎn):
[0030]本發(fā)明實(shí)施例針對由至少三臺(tái)堆疊設(shè)備通過IP網(wǎng)絡(luò)連接所構(gòu)成的環(huán)形鏈路,在確定當(dāng)前堆疊設(shè)備的發(fā)送鏈路擁塞時(shí),當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。從而采用備用路徑對主路徑傳輸?shù)臄?shù)據(jù)進(jìn)行負(fù)載分擔(dān),減少發(fā)送鏈路中發(fā)送的數(shù)據(jù),防止由于擁塞導(dǎo)致數(shù)據(jù)丟失的問題。
【專利附圖】
【附圖說明】
[0031]圖1是虛擬機(jī)遷移不意圖;
[0032]圖2是CN-TAG的數(shù)據(jù)報(bào)文格式示意圖;
[0033]圖3是本發(fā)明實(shí)施例一中三臺(tái)堆疊設(shè)備構(gòu)成的環(huán)形鏈路示意圖;
[0034]圖4是本發(fā)明實(shí)施例一提供的鏈路負(fù)載控制方法流程圖;
[0035]圖5是本發(fā)明實(shí)施例二中七臺(tái)堆疊設(shè)備構(gòu)成的環(huán)形鏈路示意圖;
[0036]圖6是本發(fā)明實(shí)施例二提供的鏈路負(fù)載控制方法流程圖;
[0037]圖7是本發(fā)明實(shí)施例三提供的堆疊設(shè)備結(jié)構(gòu)圖;
[0038]圖8是本發(fā)明實(shí)施例四提供的堆疊設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0039]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0040]在跨越IP網(wǎng)絡(luò)的遠(yuǎn)程堆疊中,由于帶寬不足會(huì)導(dǎo)致網(wǎng)絡(luò)擁塞,進(jìn)而導(dǎo)致堆疊設(shè)備之間進(jìn)行傳輸?shù)亩询B數(shù)據(jù)流量在轉(zhuǎn)發(fā)過程中丟失。一種解決網(wǎng)絡(luò)擁塞的方法是QCN技術(shù)。QCN技術(shù)是數(shù)據(jù)中心標(biāo)準(zhǔn)之一,主要應(yīng)用于數(shù)據(jù)中心,通過主動(dòng)反向通知,減少網(wǎng)絡(luò)中的丟包率和延時(shí),從而提高網(wǎng)絡(luò)性能。
[0041]在支持QCN網(wǎng)絡(luò)中,RP (Reaction Point)是數(shù)據(jù)流的源端,即數(shù)據(jù)源,RP支持QCN協(xié)議,CP (Congestion Point)是配置使能QCN功能的擁塞檢測設(shè)備。CP定期對RP進(jìn)行采樣以確定使能了 QCN的隊(duì)列,當(dāng)隊(duì)列發(fā)生擁塞時(shí)說明該數(shù)據(jù)源傳輸數(shù)據(jù)中發(fā)送擁塞問題,可以產(chǎn)生擁塞通知消息(Congestion Notification Message, CNM)通知數(shù)據(jù)源,該CNM消息以產(chǎn)生擁塞報(bào)文的數(shù)據(jù)源的介質(zhì)訪問控制層(Media Access Control, MAC)地址為目的MAC地址。RP收到CNM消息后降低流量發(fā)送速率,進(jìn)行流量限速,同時(shí)探測帶寬,在一定時(shí)間沒有收到CNM報(bào)文時(shí)再提高流量發(fā)送速率。
[0042]其中,RP端流量發(fā)送時(shí)為區(qū)分不同的數(shù)據(jù)流,在以太網(wǎng)報(bào)文中添加了 CN-TAG標(biāo)記,不同CN-TAG標(biāo)記,用來標(biāo)識(shí)特定的擁塞控制流(Congestion Controlled Flow, CCF)。CN-TAG的數(shù)據(jù)報(bào)文格式如圖2所示。
[0043]CN-TAG是由數(shù)據(jù)源RP端添加在報(bào)文中的,CN-TAG只在擁塞通知域(CongestionNotification Domain, CND)內(nèi)存在,在CND域內(nèi)的交換機(jī)設(shè)備要能夠解析帶有CN-TAG的報(bào)文。RP的標(biāo)識(shí)(Identity,ID)是由RP自己分配,當(dāng)RP收到CNM報(bào)文時(shí)可以解析出哪條擁塞控制流發(fā)生了擁塞,以便對相應(yīng)流量進(jìn)行限速。由于RP端發(fā)送報(bào)文時(shí),可以攜帶也可以不攜帶CN-TAG,因此當(dāng)不攜帶CN-TAG時(shí),RP段對于當(dāng)前優(yōu)先級(jí)僅有一類流,不需要用RPID區(qū)分多類流,此外當(dāng)CNM報(bào)文中攜帶CN-TAGdSRP ID為O時(shí),RP端收到此類CNM報(bào)文后,對總體流量進(jìn)行限速。QCN技術(shù)主要應(yīng)用于二層網(wǎng)絡(luò)中,在CP設(shè)備發(fā)生擁塞時(shí),根據(jù)報(bào)文的源介質(zhì)訪問控制層(Media Access ControI,MAC)地址,通知RP設(shè)備進(jìn)行流量控制,提高網(wǎng)絡(luò)性能。
[0044]但是,針對堆疊跨IP網(wǎng)絡(luò)的二層通信時(shí),由于其無法感知IP網(wǎng)絡(luò)的擁塞情況,在IP網(wǎng)絡(luò)擁塞的情況下,通過QCN技術(shù)對設(shè)備進(jìn)行流量控制,由于IP網(wǎng)絡(luò)本身技術(shù)導(dǎo)致帶寬會(huì)被其他設(shè)備的數(shù)據(jù)占用,采用QCN技術(shù)進(jìn)行流量控制時(shí),仍然會(huì)存在堆疊設(shè)備之間傳輸?shù)臄?shù)據(jù)報(bào)文,即堆疊數(shù)據(jù)在傳輸網(wǎng)絡(luò)丟失的問題。
[0045]本發(fā)明實(shí)施例提供一種鏈路負(fù)載控制方法,針對由至少三臺(tái)堆疊設(shè)備通過IP網(wǎng)絡(luò)連接所構(gòu)成環(huán)形鏈路,在確定當(dāng)前堆疊設(shè)備的發(fā)送鏈路擁塞時(shí),該當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備用路徑上傳輸,從而通過備用路徑對主路徑傳輸?shù)臄?shù)據(jù)進(jìn)行負(fù)載分擔(dān),減少發(fā)送鏈路上發(fā)送的數(shù)據(jù),防止由于擁塞導(dǎo)致數(shù)據(jù)丟失的問題。其中,所述的通過IP網(wǎng)絡(luò)連接所構(gòu)成的環(huán)形鏈路中,相鄰堆疊設(shè)備之間均是通過IP網(wǎng)絡(luò)連接,堆疊設(shè)備之間傳輸堆疊數(shù)據(jù)時(shí),需要通過IP網(wǎng)絡(luò)來進(jìn)行傳輸。下面將以具體實(shí)例對本發(fā)明技術(shù)方案做詳細(xì)說明。
[0046]實(shí)施例一
[0047]本發(fā)明實(shí)施例針對設(shè)置于不同地理位置的堆疊設(shè)備,采用至少三臺(tái)堆疊設(shè)備構(gòu)成環(huán)形鏈路,且相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,一種由三臺(tái)堆疊設(shè)備構(gòu)成環(huán)形鏈路如圖3所示。
[0048]在環(huán)形鏈路中不同堆疊設(shè)備中的數(shù)據(jù)可以互相融合、處理,虛擬機(jī)也可以在不同堆疊設(shè)備中遷移,因此在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑。如將圖3中當(dāng)前堆疊設(shè)備slotl產(chǎn)生的數(shù)據(jù)傳輸給目的堆疊設(shè)備slot2時(shí),最短路徑slotl — slot2為主路徑,另一條較長的路徑slotl — slot3 — slot2為備用路徑。通常狀況下,堆疊設(shè)備產(chǎn)生的數(shù)據(jù)會(huì)通過主路徑進(jìn)行傳輸,但是每一臺(tái)堆疊設(shè)備不但要發(fā)送自身產(chǎn)生的數(shù)據(jù),還要對其他堆疊設(shè)備的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),并且IP網(wǎng)絡(luò)中還存在其他數(shù)據(jù)需要轉(zhuǎn)發(fā),因此主路徑可能會(huì)出現(xiàn)擁塞的問題,導(dǎo)致數(shù)據(jù)無法發(fā)送或丟失,因此提供的如下的鏈路負(fù)載控制方法。
[0049]參照圖4,給出了本發(fā)明實(shí)施例一提供的鏈路負(fù)載控制方法流程圖。
[0050]步驟401,確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況。
[0051]為了構(gòu)成環(huán)形鏈路,鏈路中的每臺(tái)堆疊設(shè)備都具有兩個(gè)堆疊端口,以組成環(huán)形鏈路,并實(shí)現(xiàn)環(huán)形鏈路中數(shù)據(jù)的傳輸。本發(fā)明實(shí)施例會(huì)獲取各堆疊端口的數(shù)據(jù)傳輸速率,以便確定是否存在擁塞的問題。由于堆疊端口具有接收和發(fā)送數(shù)據(jù)的功能,因此數(shù)據(jù)傳輸速率可以包括收包速率和發(fā)包速率等。其中,收包速率是接收數(shù)據(jù)包的速率,發(fā)包速率是發(fā)送數(shù)據(jù)包的速率。
[0052]由于環(huán)形鏈路的堆疊中堆疊設(shè)備對已知單播數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)是基于最短路徑轉(zhuǎn)發(fā),如果某個(gè)時(shí)間段兩個(gè)堆疊站點(diǎn)之間的IP網(wǎng)絡(luò)發(fā)生擁塞,則此時(shí)經(jīng)過這條擁塞道路的堆疊站點(diǎn)通信都會(huì)受到影響。因此需要對每個(gè)堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路進(jìn)行擁塞狀態(tài)檢測,基本原理是統(tǒng)計(jì)一段堆疊鏈路兩端堆疊口的收包速率和發(fā)包速率,如slotl — slot2的堆疊鏈路,則slotl作為本端端口,slot2作為對端端口,如果對端端口的收包速率小于本端端口的發(fā)包速率,則可以認(rèn)為從本端到對端的發(fā)送鏈路上存在鏈路擁塞。
[0053]因此確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況時(shí),數(shù)據(jù)包是由當(dāng)前堆疊設(shè)備堆疊端口(或稱本端端口)發(fā)送,相鄰堆疊設(shè)備的堆疊端口(或稱對端端口)接收的,則發(fā)送鏈路的擁塞情況是根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定,若本端端口的發(fā)包速率大于對端端口的收包速率,則可以認(rèn)為發(fā)送鏈路擁塞,例如,若本端端口的發(fā)包速率大于對端端口的收包速率超過預(yù)設(shè)閾值時(shí),則可確定本端端口到對端端口的發(fā)送鏈路擁塞,其中,所述的預(yù)設(shè)閾值可根據(jù)具體情況設(shè)定,例如可根據(jù)網(wǎng)絡(luò)部署情況等。
[0054]步驟402,在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備用路徑上進(jìn)行發(fā)送。
[0055]在確定發(fā)送鏈路擁塞后,當(dāng)前堆疊設(shè)備若繼續(xù)采用該發(fā)送鏈路傳輸數(shù)據(jù)則可能會(huì)出現(xiàn)數(shù)據(jù)丟失的問題,因此,針對當(dāng)前堆疊設(shè)備,若該堆疊設(shè)備的主路徑包括所述發(fā)送鏈路,其此時(shí)與該主路徑對應(yīng)的備用路徑不擁塞,則說明數(shù)據(jù)的另一條發(fā)送路徑?jīng)]有擁塞問題,則當(dāng)前堆疊設(shè)備可以將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。此時(shí)切換路徑的數(shù)據(jù)可以僅是該堆疊設(shè)備產(chǎn)生的數(shù)據(jù),也可以是轉(zhuǎn)發(fā)的數(shù)據(jù),本發(fā)明實(shí)施例對此不作限定。其中,所述的當(dāng)前堆疊設(shè)備的主路徑,就是指當(dāng)前堆疊設(shè)備發(fā)送數(shù)據(jù)到另一堆疊設(shè)備的最短路徑,當(dāng)前堆疊設(shè)備的主路徑數(shù)量可以是一個(gè)或多個(gè),即當(dāng)前堆疊設(shè)備發(fā)送的數(shù)據(jù)只發(fā)送到一個(gè)堆疊設(shè)備的數(shù)據(jù),也可以是包括發(fā)送到不同堆疊設(shè)備的數(shù)據(jù)。
[0056]以當(dāng)前堆疊設(shè)備對產(chǎn)生的數(shù)據(jù)進(jìn)行切換為例,如圖3中堆疊設(shè)備slotl — slot2的發(fā)送鏈路擁塞,則其產(chǎn)生的數(shù)據(jù)在向堆疊設(shè)備slot2發(fā)送時(shí),初始為主路徑slotl — slot2,若備用路徑slotl — slot3 — slot2未擁塞,貝U堆疊設(shè)備slotl可以將產(chǎn)生的數(shù)據(jù)切換到備用路徑slotl — slot3 — slot2中發(fā)送。
[0057]綜上所述,本發(fā)明實(shí)施例針對由至少三臺(tái)堆疊設(shè)備通過IP網(wǎng)絡(luò)連接所構(gòu)成環(huán)形鏈路,在當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路擁塞時(shí),當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑的數(shù)據(jù),切換到所述主路徑對應(yīng)的備用路徑上傳輸,從而通過備用路徑對主路徑傳輸?shù)臄?shù)據(jù)進(jìn)行負(fù)載分擔(dān),減少發(fā)送鏈路上發(fā)送的數(shù)據(jù),防止由于擁塞導(dǎo)致數(shù)據(jù)丟失的問題。
[0058]實(shí)施例二
[0059]本實(shí)施例采用由7臺(tái)堆疊設(shè)備構(gòu)成的環(huán)形鏈路舉例論述,如圖5所示。
[0060]假設(shè)該環(huán)形鏈路是某一個(gè)企業(yè)通過遠(yuǎn)程堆疊構(gòu)成的二層的網(wǎng)絡(luò),其中包括總司總部、制造中心和研發(fā)中心,研發(fā)中心的重要數(shù)據(jù)服務(wù)器互相業(yè)務(wù)備份,公司不同部門之間互有業(yè)務(wù)往來。因此,每一個(gè)堆疊站點(diǎn)(即堆疊設(shè)備)都提供三個(gè)層次服務(wù):對本地匯聚層網(wǎng)絡(luò)的轉(zhuǎn)發(fā)服務(wù),本地網(wǎng)絡(luò)和其它站點(diǎn)間的上、下行流量服務(wù)(即本堆疊設(shè)備產(chǎn)生的數(shù)據(jù)的發(fā)送);對其它堆疊站點(diǎn)的過路流量的轉(zhuǎn)發(fā)服務(wù)。在該環(huán)形鏈路中的負(fù)載控制方法包括如下步驟:
[0061]參照圖6,給出了本發(fā)明實(shí)施例二提供的鏈路負(fù)載控制方法流程圖。
[0062]步驟601,主設(shè)備獲取各堆疊端口的數(shù)據(jù)傳輸速率。[0063]本發(fā)明實(shí)施例在環(huán)形鏈路中采用跨越IP網(wǎng)絡(luò)的遠(yuǎn)程堆疊技術(shù),因此環(huán)形鏈路中存在主(Master)設(shè)備和從(standby)設(shè)備,其中,Master設(shè)備和standby設(shè)備之間可以通過進(jìn)程間通信技術(shù)實(shí)現(xiàn)實(shí)時(shí)通信,并且Master設(shè)備的CPU負(fù)責(zé)整個(gè)堆疊系統(tǒng)的控制平面的
管理和計(jì)算。
[0064]Master設(shè)備和standby設(shè)備米用進(jìn)程間通信IPC (Inter ProcessCommunication)技術(shù),其支持進(jìn)程間的單播和組播通信。Master和standby設(shè)備組成一個(gè)IPC組播通信組,Master負(fù)責(zé)組播的通信的發(fā)起。Master設(shè)備定期發(fā)起堆疊鏈路查詢請求,向IPC組播組里的其他成員(即環(huán)形鏈路中的各堆疊設(shè)備),通過IPC組播方式發(fā)送鏈路狀態(tài)查詢報(bào)文。堆疊設(shè)備收到鏈路查詢請求后,負(fù)責(zé)統(tǒng)計(jì)本堆疊設(shè)備的堆疊端口下物理口的收、發(fā)包速率,即下發(fā)堆疊設(shè)備驅(qū)動(dòng)查詢堆疊端口下物理口收包速率和發(fā)包速率作為數(shù)據(jù)傳輸速率,然后通過IPC單播報(bào)文把數(shù)據(jù)傳輸速率反饋給Master設(shè)備。這樣,主設(shè)備就可以獲得其它堆疊設(shè)備上的堆疊端口以及自身上的堆疊端口的收包速率和發(fā)包速率。
[0065]步驟602,主設(shè)備檢測當(dāng)前堆疊設(shè)備的發(fā)包速率減去相鄰堆疊設(shè)備的收包速率的差值是否大于擁塞閾值。
[0066]Master設(shè)備查詢本地的堆疊拓?fù)浔?,根?jù)拓?fù)浔砝锏亩询B成員鄰居信息,為每個(gè)堆疊成員計(jì)算堆疊端口到相鄰堆疊設(shè)備的發(fā)送鏈路是否擁塞。堆疊端口的數(shù)據(jù)傳輸速率包括收包速率和發(fā)包速率,則針對某一堆疊設(shè)備,Master設(shè)備可以獲取其堆疊端口的發(fā)包速率減去相鄰堆疊設(shè)備的堆疊端口的收包速率的差值,再將差值與擁塞閾值進(jìn)行比較,以確定該堆疊設(shè)備至其相鄰堆疊設(shè)備的發(fā)送鏈路是否擁塞。其中,擁塞閾值是預(yù)先設(shè)定的用于判斷擁塞的數(shù)值,該數(shù)值為非負(fù)整數(shù)。
[0067]當(dāng)然,Master設(shè)備也可以依據(jù)堆疊拓?fù)浔?,將相鄰堆疊設(shè)備的堆疊端口的數(shù)據(jù)傳輸速率發(fā)送給對應(yīng)的堆疊設(shè)備,由該堆疊設(shè)備確定自己的發(fā)送鏈路是否擁塞。
[0068]此外,環(huán)形鏈路中各堆疊設(shè)備也可以通過進(jìn)程間通信的方式傳輸消息,從而當(dāng)前堆疊設(shè)備可以通過進(jìn)程間通信接收相鄰堆疊設(shè)備上的堆疊端口的收包速率,進(jìn)而當(dāng)前堆疊設(shè)備可以自行對當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路進(jìn)行擁塞檢測。本發(fā)明實(shí)施例對此不作限定。
[0069]如圖5中針對當(dāng)前堆疊端口 slot5.3,Master設(shè)備可以獲取slot5.3的發(fā)包速率slot5.3_Send_R5.3,以及 slot5.2 的收包速率 slot5.2_Receive_R5.2,從而 slot5.3 到slot5.2 的發(fā)送鏈路擁塞情況:slot5.2_Congest_P5.2=(slot5.3_Send_R5.3)-(slot5.2_Receive_R5.2),檢測 slot5.2_Congest_P5.2 是否大于擁塞閾值,
[0070]若否,即該差值如slot5.2_Congest_P5.2不大于擁塞閾值,則說明未發(fā)生擁塞或擁塞較小可暫時(shí)忽略,則在返回步驟601以使Master設(shè)備重新獲取數(shù)據(jù)傳輸速率,其中對堆疊端口的數(shù)據(jù)傳輸速率的檢測可以是周期性的。
[0071]若是,即該差值大于擁塞閾值,則執(zhí)行步驟603。
[0072]步驟603,主設(shè)備確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路擁塞。
[0073]若差值大于擁塞閾值則說明鏈路發(fā)生了不可忽略的擁塞,即從當(dāng)前堆疊設(shè)備向相鄰堆疊設(shè)備傳送數(shù)據(jù)的發(fā)送鏈路發(fā)生了擁塞。如上述判斷出slot5.3 — slot5.2的發(fā)送鏈路擁塞。
[0074]后續(xù)主設(shè)備就可以通知該當(dāng)前堆疊設(shè)備,其到上述相鄰堆疊設(shè)備的發(fā)送鏈路出現(xiàn)了擁塞,這樣,該當(dāng)前堆疊設(shè)備就可以對通過該發(fā)送鏈路進(jìn)行發(fā)送的數(shù)據(jù)進(jìn)行切換,在切換中當(dāng)前堆疊設(shè)備將其包括該發(fā)送鏈路的主路徑的數(shù)據(jù)切換到對應(yīng)的備用路徑上傳輸,因此還需要通過Master設(shè)備確定備用路徑的擁塞情況,即前堆疊設(shè)備的另一個(gè)堆疊端口的發(fā)送鏈路的擁塞情況。
[0075]步驟604,主設(shè)備確定當(dāng)前堆疊設(shè)備到另一相鄰堆疊設(shè)備,即當(dāng)前堆疊設(shè)備的另一個(gè)堆疊端口對應(yīng)的發(fā)送鏈路是否擁塞。
[0076]在上述步驟602中Master設(shè)備對當(dāng)前堆疊設(shè)備的兩個(gè)堆疊端口對應(yīng)的發(fā)送鏈路的擁塞情況都可以進(jìn)行檢測。因此若當(dāng)前堆疊設(shè)備的一條主路徑通過了其中一個(gè)堆疊端口的發(fā)送鏈路,則該主路徑對應(yīng)的備用路徑必然通過另一個(gè)堆疊端口的發(fā)送鏈路。
[0077]例如,Master設(shè)備可以分別確定 slot5.3 — slot5.2 以及 slot5.3 — slot5.4的發(fā)送鏈路是否擁塞,若確定slot5.3 — slot5.2擁塞,則Master設(shè)備還需要確定slot5.3 — slot5.4是否擁塞,以確定是否可以執(zhí)行切換。
[0078]若是,即當(dāng)前堆疊設(shè)備的另一個(gè)堆疊端口的發(fā)送鏈路不擁塞,則執(zhí)行步驟605。接上例中slot5.3中一條包含slot5.3 — slot5.2的主路徑為slot5.3 — slot5.2 — slot5.1 — slot5.7,其對應(yīng)的備用路徑經(jīng)過 slot5.3 — slot5.4 為:slot5.3 — slot5.4 — slot5.5 — slot5.6 — slot5.7??梢詫⒃撝髀窂桨l(fā)送的數(shù)據(jù)切換到對應(yīng)備用路徑中發(fā)送。
[0079]實(shí)際處理中,當(dāng)前堆疊設(shè)備的主路徑中可能有多條均通過擁塞的發(fā)送鏈路,如從slot5.3到slot5.1的主路徑,則當(dāng)前堆疊設(shè)備可以對這些主路徑發(fā)送的數(shù)據(jù)都進(jìn)行切換,也可以僅切換部分主路徑發(fā)送的數(shù)據(jù),本發(fā)明實(shí)施例對此不作限定。
[0080]若否,即當(dāng)前堆疊設(shè)備的另一個(gè)堆疊端口的發(fā)送鏈路擁塞,則說明當(dāng)前堆疊設(shè)備的兩個(gè)堆疊端口的發(fā)送鏈路都已擁塞,則當(dāng)前堆疊設(shè)備可以不執(zhí)行其他操作,返回步驟601,Master設(shè)備重新獲取數(shù)據(jù)傳輸速率。
[0081]本發(fā)明實(shí)施例中,在進(jìn)行主、備切換時(shí),由于通常備用路徑途徑的堆疊設(shè)備較多,因此備用路徑中傳輸?shù)臄?shù)據(jù)往往也較多,為了防止造成備用路徑的擁塞,同時(shí)均衡各條路徑的負(fù)載,還可以主路徑和備用路徑進(jìn)行數(shù)據(jù)傳輸?shù)闹芷谛郧袚Q,即針對切換到備用路徑上傳輸?shù)臄?shù)據(jù),可以周期性的在主路徑和備用路徑之間進(jìn)行傳輸,從而在對擁塞鏈路的流量進(jìn)行分流的同時(shí),又不會(huì)加重其他路徑的負(fù)擔(dān),從而做到負(fù)載均衡。具體包括如下步驟605-607。
[0082]步驟605,當(dāng)前堆疊設(shè)備啟動(dòng)計(jì)時(shí)器開始計(jì)時(shí)。
[0083]當(dāng)當(dāng)前堆疊設(shè)備接收到主設(shè)備發(fā)送的一條發(fā)送路徑擁塞時(shí),即可開始執(zhí)行本步驟,進(jìn)行數(shù)據(jù)的切換。
[0084]實(shí)際處理中,由Master設(shè)備檢查到堆疊端口對應(yīng)發(fā)送鏈路擁塞,具體可以通過IPC進(jìn)程間通信技術(shù)單播方式通知在擁塞鏈路的當(dāng)前堆疊設(shè)備,如上例中slot5.3。
[0085]此外,若直接由堆疊設(shè)備進(jìn)行擁塞檢測,則該堆疊設(shè)備可以直接確定自身的擁塞情況,無需通過Master設(shè)備。
[0086]步驟606,當(dāng)前堆疊設(shè)備在奇數(shù)的計(jì)時(shí)周期,切換到備用路徑傳輸當(dāng)前堆疊設(shè)備產(chǎn)生的部分?jǐn)?shù)據(jù)。
[0087]步驟607,當(dāng)前堆疊設(shè)備在偶數(shù)的計(jì)時(shí)周期,切換到主路徑傳輸當(dāng)前堆疊設(shè)備產(chǎn)生的部分?jǐn)?shù)據(jù)。
[0088]本發(fā)明實(shí)施例中,將傳輸所述堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)的路徑稱為有效路徑,所述有效路徑對應(yīng)端口稱為有效端口。
[0089]上述步驟606和步驟607具體是采用分時(shí)的方法進(jìn)行主、備切換,由于備份鏈路上的堆疊設(shè)備較多,在分擔(dān)負(fù)載的同時(shí),堆疊設(shè)備可以將傳輸中來不及轉(zhuǎn)發(fā)的數(shù)據(jù)作為緩存以備后續(xù)發(fā)送,具體操作如下述。
[0090]當(dāng)前堆疊設(shè)備啟動(dòng)計(jì)時(shí)器開始計(jì)時(shí),其中計(jì)時(shí)器的時(shí)長可以設(shè)置。計(jì)時(shí)器啟動(dòng)后,在第一個(gè)計(jì)時(shí)周期開始時(shí),當(dāng)前堆疊設(shè)備將所述備用路徑對應(yīng)堆疊端口作為有效端口,以將所述有效路徑由所述主路徑切換為所述不擁塞的備用路徑;并將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送。
[0091]首先當(dāng)前堆疊設(shè)備把有效端口設(shè)置成備份路徑的堆疊端口,即此時(shí)備用路徑對應(yīng)堆疊端口為有效端口,從而將傳輸堆疊設(shè)備產(chǎn)生的數(shù)據(jù)的有效路徑由所述主路徑切換為不擁塞的備用路徑,然后可以采用該不擁塞的備用路徑傳輸所述堆疊設(shè)備產(chǎn)生的數(shù)據(jù),其中,由于備用路徑途徑的堆疊設(shè)備較多,為了避免造成備用路徑中堆疊設(shè)備過大的負(fù)擔(dān),針對堆疊設(shè)備產(chǎn)生的數(shù)據(jù),可以僅將其中的部分?jǐn)?shù)據(jù)交由備用路徑傳輸,另一部分?jǐn)?shù)據(jù)則繼續(xù)由主路徑傳輸,或在堆疊設(shè)備中緩存,本發(fā)明實(shí)施例對此不作限定。傳輸?shù)脑摬糠謹(jǐn)?shù)據(jù)可以是堆疊設(shè)備產(chǎn)生數(shù)據(jù)總量的50%,或者其他比例,也可以依據(jù)實(shí)際的擁塞情況判斷,本發(fā)明實(shí)施例對此不作限定。
[0092]然后,在第二個(gè)計(jì)時(shí)周期開始時(shí),切換回主路徑傳輸該部分?jǐn)?shù)據(jù),即當(dāng)前堆疊設(shè)備將主路徑對應(yīng)堆疊端口作為有效端口,以將有效路徑由所述不擁塞的備用路徑切換回所述主路徑,然后將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送。
[0093]此后以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
[0094]如上例,對slot5.3產(chǎn)生的部分?jǐn)?shù)據(jù),slot5.3在奇數(shù)的計(jì)時(shí)周期將備用路徑對應(yīng)的堆疊端口作為有效端口,從而產(chǎn)生的數(shù)據(jù)切換到備用路徑slot5.3 — slot5.4 — slot5.5-slot5.6-slot5.7傳輸,并在偶數(shù)的計(jì)時(shí)周期將主路徑對應(yīng)的堆疊端口作為有效端口,以將產(chǎn)生的數(shù)據(jù)切換到主路徑slot5.3 — slot5.2 — slot5.1 — slot5.7傳輸。
[0095]從而通過周期性的修改有效端口,實(shí)現(xiàn)路徑的周期性切換,以在傳輸數(shù)據(jù)時(shí),按時(shí)間均勻的分配在主路徑和備用路徑,對擁塞的發(fā)送鏈路啟到分流和緩存的作用,同時(shí)盡量減少對備用鏈路所造成的負(fù)擔(dān)。
[0096]此外,環(huán)形鏈路中包含四臺(tái)或以上堆疊設(shè)備時(shí),由于鏈路中堆疊設(shè)備較多,在上述周期性切換主路徑和備用路徑仍未解決發(fā)送鏈路擁塞問題時(shí),為了盡快擁塞的問題,可以首先確定周期性切換的次數(shù)是否達(dá)到閾值,在周期性切換的次數(shù)達(dá)到閾值的情況下,采用下述方法解決擁塞問題。當(dāng)然,三臺(tái)堆疊設(shè)備時(shí)也可以采用下述方法,本發(fā)明實(shí)施例對此不作限定。
[0097]上述方法實(shí)施例中,對于數(shù)據(jù)傳輸速率Master設(shè)備可以周期性的獲取,即周期性的判定發(fā)送鏈路擁塞與否,從而當(dāng)前堆疊設(shè)備在配置切換的計(jì)時(shí)周期時(shí),可以在一個(gè)檢測周期內(nèi)配置多個(gè)計(jì)時(shí)周期,在周期性切換的次數(shù)達(dá)到閾值時(shí)可能是在下一個(gè)檢測周期到達(dá)時(shí),也可能是經(jīng)過了多個(gè)檢測周期。
[0098]上述方法實(shí)施例中,可選的,在周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
[0099]在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),當(dāng)前堆疊設(shè)備可以將有效端口配置為備用路徑對應(yīng)堆疊端口,將備用路徑作為有效路徑后,不再僅傳輸部分?jǐn)?shù)據(jù),而是將堆疊端口對應(yīng)堆疊設(shè)備上產(chǎn)生的全部數(shù)據(jù)都切換到不擁塞的備用路徑上傳輸,以盡快解決給發(fā)送路徑的擁塞問題。
[0100]例如,在周期性切換的次數(shù)達(dá)到閾值,而slot5.3 — slot5.2的發(fā)送鏈路仍然擁塞的情況下,可以將slot5.3產(chǎn)生的全部數(shù)據(jù)都切換到備用路徑slot5.3 —slot5.4—slot5.5 — slot5.6 — slot5.7 傳輸。
[0101]可選的,若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)備用路徑上傳輸;若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)依次切換到所述上游的其他堆疊設(shè)備對應(yīng)備用路徑上傳輸。
[0102]若周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞;或,在堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)都切換到備用路徑傳輸了一段時(shí)間(如若干檢測周期)而發(fā)送鏈路仍擁塞,則可以進(jìn)一步對主路徑中的其他堆疊設(shè)備進(jìn)行流量分擔(dān)處理。
[0103]首先,Master設(shè)備可以基于所述發(fā)送鏈路的數(shù)據(jù)傳輸方向,查找所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,如針對slot5.3的發(fā)送鏈路slot5.3 — slot5.2,其第一臺(tái)上游堆疊設(shè)備為slot5.4,可以通知其進(jìn)行主、備切換,該第一臺(tái)上游堆疊設(shè)備將其產(chǎn)生的數(shù)據(jù)發(fā)送到對應(yīng)備用路徑上。若第一臺(tái)上游堆疊設(shè)備完成切換后的第一段時(shí)間內(nèi),發(fā)送鏈路仍擁塞,則可以沿所述發(fā)送鏈路查找的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,對上游的其他堆疊設(shè)備進(jìn)行主備切換。切換方法可以采用上述部分?jǐn)?shù)據(jù)的周期性切換方法,也可以采用全部數(shù)據(jù)的切換方法,本發(fā)明實(shí)施例對此不做限定。當(dāng)然,在發(fā)送鏈路擁塞時(shí)也可以由當(dāng)前堆疊設(shè)備通過進(jìn)程間通信的方式通知上游的堆疊設(shè)備執(zhí)行主、備切換操作,本發(fā)明實(shí)施例對此不作限定。
[0104]例如,若在周期性切換的次數(shù)達(dá)到閾值,而發(fā)送鏈路slot5.3 — slot5.2仍然擁塞;或者,slot5.3產(chǎn)生的全部數(shù)據(jù)已都切換到備用路徑slot5.3 — slot5.4 — slot5.5 —slot5.6 — slot5.7傳輸一段時(shí)間后,slot5.3 — slot5.2的發(fā)送鏈路仍然擁塞,貝U可以沿slot5.3 — slot5.2的數(shù)據(jù)傳輸方向查找第一臺(tái)上游堆疊設(shè)備為slot5.4,對slot5.4進(jìn)行主備切換,若此后一段時(shí)間內(nèi)發(fā)送鏈路仍擁塞,則繼續(xù)沿slot5.3 — slot5.2的數(shù)據(jù)傳輸方向查找上游的其他堆疊設(shè)備,并依次對上游的其他堆疊設(shè)備進(jìn)行主備切換。
[0105]步驟608,當(dāng)主設(shè)備檢測到所述堆疊端口對應(yīng)發(fā)送鏈路擁塞消除,或所述備用路徑擁塞時(shí),通知當(dāng)前堆疊設(shè)備,并由當(dāng)前堆疊設(shè)備將所述數(shù)據(jù)切換回所述主路徑上傳輸。
[0106]若Master設(shè)備檢測堆疊端口對應(yīng)發(fā)送鏈路擁塞消除,或者備用路徑擁塞,則Master設(shè)備通過IPC進(jìn)程間通信單播通知所述當(dāng)前堆疊設(shè)備,當(dāng)前堆疊設(shè)備可以刪除計(jì)時(shí)器,并將該堆疊設(shè)備產(chǎn)生的數(shù)據(jù)恢復(fù)為主路徑傳輸。
[0107]如上例中發(fā)送鏈路slot5.3 — slot5.2擁塞消除,或備用路徑slot5.3 — slot5? 4 — slot5.5 — slot5.6 — slot5.7發(fā)生了不可忽略的擁塞時(shí),可以將數(shù)據(jù)切換回主路徑slot5.3 — slot5.2 — slot5.1 — slot5.7 中傳輸。
[0108]綜上所述,對當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),可以將其部分?jǐn)?shù)據(jù)在所述堆疊端口對應(yīng)主路徑和備用路徑切換傳輸,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。從而按時(shí)間均勻的分配在主路徑和備用路徑,對擁塞的發(fā)送鏈路啟到分流和緩存的作用,同時(shí)盡量減少對備用鏈路所造成的負(fù)擔(dān)。
[0109]其次,在周期性切換的次數(shù)達(dá)到閾值而發(fā)送鏈路仍擁塞時(shí),當(dāng)前堆疊設(shè)備可以將其產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到備用路徑上傳輸,從而減少發(fā)送鏈路中傳輸?shù)臄?shù)據(jù),以盡快解決發(fā)送鏈路的擁塞問題。
[0110]再次,在切換后發(fā)送鏈路仍擁塞的情況下,沿著發(fā)送鏈路的數(shù)據(jù)傳輸方法依次前堆疊設(shè)備的上游堆疊設(shè)備進(jìn)行主備切換,以使上游堆疊設(shè)備執(zhí)行負(fù)載分擔(dān)操作,從而在解決鏈路擁塞時(shí)不僅局限于當(dāng)前堆疊設(shè)備,而是從全局的角度出發(fā),在發(fā)生擁塞時(shí)有效的緩存和分擔(dān)負(fù)載流量,提高網(wǎng)絡(luò)性能。
[0111]實(shí)施例三
[0112]相應(yīng)的,本發(fā)明實(shí)施 例還提供了一種堆疊設(shè)備。
[0113]參照圖7,給出了本發(fā)明實(shí)施例三提供的堆疊設(shè)備結(jié)構(gòu)圖。
[0114]該堆疊設(shè)備為由至少三臺(tái)堆疊設(shè)備構(gòu)成環(huán)形鏈路中的堆疊設(shè)備,所述環(huán)形鏈路中的相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑,每臺(tái)堆疊設(shè)備具有兩個(gè)堆疊端口。
[0115]所述的堆疊設(shè)備包括:擁塞確定模塊71和路徑切換模塊72。
[0116]其中,擁塞確定模塊71,用于確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定。
[0117]路徑切換模塊72,用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0118]本實(shí)施例提供的堆疊設(shè)備具體可以作為上述各方法實(shí)施例中用于進(jìn)行路徑切換的當(dāng)前堆疊設(shè)備,以在與相鄰堆疊設(shè)備之間的發(fā)送鏈路擁塞時(shí),進(jìn)行路徑切換,其具體實(shí)現(xiàn)過程可參見上述本發(fā)明方法實(shí)施例的說明,在此不再贅述。
[0119]綜上所述,本發(fā)明實(shí)施例針對由至少三臺(tái)堆疊設(shè)備通過IP網(wǎng)絡(luò)連接所構(gòu)成環(huán)形鏈路,在確定當(dāng)前堆疊設(shè)備的發(fā)送鏈路擁塞時(shí),當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。從而采用備用路徑對主路徑傳輸?shù)臄?shù)據(jù)進(jìn)行負(fù)載分擔(dān),減少發(fā)送鏈路中發(fā)送的數(shù)據(jù),防止由于擁塞導(dǎo)致數(shù)據(jù)丟失的問題。
[0120]實(shí)施例四[0121]參照圖8,給出了本發(fā)明實(shí)施例四提供的堆疊設(shè)備結(jié)構(gòu)圖。
[0122]在上述圖7所示實(shí)施例技術(shù)方案基礎(chǔ)上,本實(shí)施例中,可選的,所述當(dāng)前堆疊設(shè)備通過所述發(fā)送鏈路發(fā)送的數(shù)據(jù)包括:所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)和所述當(dāng)前堆疊設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù);所述路徑切換模塊72,具體可用于將通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0123]可選的,所述路徑切換模塊72,具體可用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
[0124]可選的,所述環(huán)形鏈路中可包括至少四臺(tái)堆疊設(shè)備;第二路徑切換模塊72,還可用于在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
[0125]可選的,所述的堆疊設(shè)備還可包括:通知模塊73,用于若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備上產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送;若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)依次切換到所述上游的其他堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送。
[0126]可選的,所述路徑切換模塊72,具體可用于在第一個(gè)計(jì)時(shí)周期開始時(shí),將當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送;在第二個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送;以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
[0127]可選的,若當(dāng)前堆疊設(shè)備為非主設(shè)備時(shí),所述的堆疊設(shè)備還可包括:接收模塊74,用于接收主設(shè)備發(fā)送的所述當(dāng)前堆疊設(shè)備的主路徑的擁塞情況;或者,接收主設(shè)備發(fā)送的所述相鄰堆疊設(shè)備上的堆疊端口的收包速率。或者,該接收模塊74,用于通過進(jìn)程間通信接收相鄰堆疊設(shè)備上的堆疊端口的收包速率。
[0128]本實(shí)施例堆疊設(shè)備可在與相鄰堆疊設(shè)備之間的發(fā)送鏈路擁塞時(shí),進(jìn)行路徑切換處理,具體實(shí)現(xiàn)過程可參見上述對應(yīng)方法實(shí)施例的說明,在此不再贅述。
[0129]綜上所述,對當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),可以將其部分?jǐn)?shù)據(jù)在所述堆疊端口對應(yīng)主路徑和備用路徑切換傳輸,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。從而按時(shí)間均勻的分配在主路徑和備用路徑,對擁塞的發(fā)送鏈路啟到分流和緩存的作用,同時(shí)盡量減少對備用鏈路所造成的負(fù)擔(dān)。
[0130]其次,在周期性切換的次數(shù)達(dá)到閾值而發(fā)送鏈路仍擁塞時(shí),當(dāng)前堆疊設(shè)備可以將其產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到備用路徑上傳輸,從而減少發(fā)送鏈路中傳輸?shù)臄?shù)據(jù),以盡快解決發(fā)送鏈路的擁塞問題。[0131]再次,在切換后發(fā)送鏈路仍擁塞的情況下,沿著發(fā)送鏈路的數(shù)據(jù)傳輸方法依次前堆疊設(shè)備的上游堆疊設(shè)備進(jìn)行主備切換,以使上游堆疊設(shè)備執(zhí)行負(fù)載分擔(dān)操作,從而在解決鏈路擁塞時(shí)不僅局限于該堆疊端口,而是從全局的角度出發(fā),在發(fā)生擁塞時(shí)有效的緩存和分擔(dān)負(fù)載流量,提高網(wǎng)絡(luò)性能。
[0132]對于系統(tǒng)或裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0133]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0134]本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
[0135]最后,還需 要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0136]以上對本發(fā)明所提供的一種鏈路負(fù)載控制方法和堆疊設(shè)備,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種鏈路負(fù)載控制方法,其特征在于,該方法應(yīng)用于由至少三臺(tái)堆疊設(shè)備構(gòu)成的環(huán)形鏈路的數(shù)據(jù)傳輸,所述環(huán)形鏈路中的相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑;所述的方法包括: 確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定; 在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)前堆疊設(shè)備通過所述發(fā)送鏈路發(fā)送的數(shù)據(jù)包括:所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)和所述當(dāng)前堆疊端口轉(zhuǎn)發(fā)的數(shù)據(jù); 所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括: 所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括: 在確定所述發(fā)送鏈路擁塞時(shí),所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
4.根據(jù)權(quán)利要求3所.述的方法,其特征在于,所述環(huán)形鏈路中包括至少四臺(tái)堆疊設(shè)備,所述的方法還包括: 在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送之后,還包括: 若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備上產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送; 若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)切換到所述上游的其他堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述當(dāng)前堆疊設(shè)備將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送,包括: 在第一個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送; 在第二個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送; 以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
7.根據(jù)權(quán)利要求1-6任一所述的方法,其特征在于,若當(dāng)前堆疊設(shè)備為非主設(shè)備時(shí),所述方法還包括: 接收主設(shè)備發(fā)送的所述當(dāng)前堆疊設(shè)備的主路徑的擁塞情況; 或者,接收主設(shè)備發(fā)送的所述相鄰堆疊設(shè)備上的堆疊端口的收包速率。
8.根據(jù)權(quán)利要求1-6任一所述的方法,其特征在于,還包括: 所述當(dāng)前堆疊設(shè)備通過進(jìn)程間通信接收相鄰堆疊設(shè)備上的堆疊端口的收包速率。
9.一種堆疊設(shè)備,其特征在于,所述堆疊設(shè)備為由至少三臺(tái)堆疊設(shè)備構(gòu)成環(huán)形鏈路中的堆疊設(shè)備,所述環(huán)形鏈路中的相鄰堆疊設(shè)備之間通過IP網(wǎng)絡(luò)連接,在所述環(huán)形鏈路中將當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)發(fā)送到目的堆疊設(shè)備上的最短路徑作為主路徑,另一條路徑作為備用路徑,所述的堆疊設(shè)備包括: 擁塞確定模塊,用于確定當(dāng)前堆疊設(shè)備至相鄰堆疊設(shè)備的發(fā)送鏈路的擁塞情況,所述發(fā)送鏈路的擁塞情況為根據(jù)所述當(dāng)前堆疊設(shè)備上的堆疊端口的發(fā)包速率,以及所述相鄰堆疊設(shè)備上的堆疊端口的收包速率確定; 路徑切換模塊,用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
10.根據(jù)權(quán)利要求9所述的堆疊設(shè)備,其特征在于,所述當(dāng)前堆疊設(shè)備通過所述發(fā)送鏈路發(fā)送的數(shù)據(jù)包括:所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù)和所述當(dāng)前堆疊設(shè)備轉(zhuǎn)發(fā)的數(shù)據(jù); 所述路徑切換模塊,用于將通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的數(shù)據(jù),切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
11.根據(jù)權(quán)利要求9所述的堆疊設(shè)備,其特征在于: 所述路徑切換模塊,用于在確定所述發(fā)送鏈路擁塞時(shí),將通過包括所述發(fā)送鏈路的主路徑發(fā)送的數(shù)據(jù),周期性的切換到所述主路徑對應(yīng)的備份路徑上進(jìn)行發(fā)送。
12.根據(jù)權(quán)利要求11所述的堆疊設(shè)備,其特征在于,所述環(huán)形鏈路中包括至少四臺(tái)堆疊設(shè)備; 路徑切換模塊,還用于在所述周期性切換的次數(shù)達(dá)到閾值,且所述發(fā)送鏈路仍擁塞時(shí),將所述當(dāng)前堆疊設(shè)備通過包括所述發(fā)送鏈路的主路徑發(fā)送的所述當(dāng)前堆疊設(shè)備產(chǎn)生的全部數(shù)據(jù)從所述主路徑切換到所述備用路徑上發(fā)送。
13.根據(jù)權(quán)利要求12所述的堆疊設(shè)備,其特征在于,還包括: 通知模塊,用于若檢測到所述發(fā)送鏈路仍擁塞,則通知基于所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備的第一臺(tái)上游堆疊設(shè)備,將所述第一臺(tái)上游堆疊設(shè)備上產(chǎn)生的數(shù)據(jù),切換到所述第一臺(tái)上游堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送;若所述第一臺(tái)上游堆疊設(shè)備完成切換后所述發(fā)送鏈路仍擁塞,則依次通知沿所述發(fā)送鏈路確定的所述當(dāng)前堆疊設(shè)備上游的其他堆疊設(shè)備,將所述上游的其他堆疊設(shè)備上產(chǎn)生的數(shù)據(jù)切換到所述上游的其他堆疊設(shè)備對應(yīng)的備用路徑上發(fā)送。
14.根據(jù)權(quán)利要求11所述的堆疊設(shè)備,其特征在于; 所述路徑切換模塊,用于在第一個(gè)計(jì)時(shí)周期開始時(shí),將當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述主路徑切換到備份路徑進(jìn)行發(fā)送;在第二個(gè)計(jì)時(shí)周期開始時(shí),將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口,以將需要發(fā)送的數(shù)據(jù)通過有效端口發(fā)送,將需要發(fā)送的數(shù)據(jù)由所述備份路徑切換到主路徑進(jìn)行發(fā)送;以此類推,在奇數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述備用路徑對應(yīng)的堆疊端口作為有效端口,在偶數(shù)的計(jì)時(shí)周期將所述當(dāng)前堆疊設(shè)備上所述主路徑對應(yīng)的堆疊端口作為有效端口。
15.根據(jù)權(quán)利要求9至14任一所述的堆疊設(shè)備,其特征在于,若當(dāng)前堆疊設(shè)備為非主設(shè)備時(shí),所述的堆疊設(shè)備還包括: 接收模塊,用于接收主設(shè)備發(fā)送的所述當(dāng)前堆疊設(shè)備的主路徑的擁塞情況;或者,接收主設(shè)備發(fā)送的所述相鄰堆疊設(shè)備上的堆疊端口的收包速率。
16.根據(jù)權(quán)利要求9至14任一所述的堆疊設(shè)備,其特征在于,還包括: 接收模塊,用于通過進(jìn)程間通信接 收相鄰堆疊設(shè)備上的堆疊端口的收包速率。
【文檔編號(hào)】H04L12/803GK103428103SQ201310343646
【公開日】2013年12月4日 申請日期:2013年8月8日 優(yōu)先權(quán)日:2013年8月8日
【發(fā)明者】蔣茂勇, 吳頻, 黃哲, 王磊, 耿加申, 劉濤, 劉寒磊, 趙昌峰 申請人:杭州華三通信技術(shù)有限公司