本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種流量控制的方法及網(wǎng)絡(luò)控制器。
背景技術(shù):
:在當前的企業(yè)應(yīng)用中存在著“多對一”的通信模型,其作用之一是可以增大網(wǎng)絡(luò)吐吞量。但是隨著服務(wù)器的增多,多個服務(wù)器可能同時傳輸數(shù)據(jù)給相同的接收方。面對突發(fā)流量的沖擊,網(wǎng)絡(luò)會發(fā)生阻塞而導(dǎo)致網(wǎng)絡(luò)丟包和重傳。導(dǎo)致網(wǎng)絡(luò)的吞吐量反而大幅降低。例如,終端需要請求的數(shù)據(jù)分布在多個服務(wù)器上,因此終端需依次從不同的服務(wù)器上獲得不同的數(shù)據(jù)塊。當終端從1號服務(wù)器請求1號數(shù)據(jù)塊時,由于阻塞點發(fā)生擁塞而使1號數(shù)據(jù)塊丟包,這時,終端會在等待超時后重發(fā)請求1號數(shù)據(jù)塊,在等待和重傳的過程中,其他服務(wù)器與終端的鏈接將處于空閑狀態(tài)并等待1號數(shù)據(jù)塊重傳完成。在等待重傳的這段時間里,鏈路的利用率遠遠低于鏈路本身的帶寬,同時使得網(wǎng)絡(luò)的吞吐量劇烈下降,通常降低一個數(shù)量級,即當傳輸方節(jié)點數(shù)目超過一定數(shù)目,發(fā)生網(wǎng)絡(luò)阻塞時,接收方的吞吐量將急劇下降。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供一種流量控制的方法和網(wǎng)絡(luò)控制器,以解決網(wǎng)絡(luò)阻塞時,網(wǎng)絡(luò)吞度量急劇下降的問題。本發(fā)明第一方面提供了一種流量控制的方法,包括:檢測各個終端支持的流量控制類型,所述流量控制類型包括基于暫停的流量控制、基于優(yōu)先級的流量控制和基于量化擁塞通知協(xié)議的流量控制;若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀;根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn) 發(fā)至所述終端。結(jié)合第一方面的實現(xiàn)方式,在第一方面第一種可能的實現(xiàn)方式中,所述檢測各個終端支持的流量控制類型,包括:接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析;若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制;若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制;若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。結(jié)合第一方面、或第一方面第一種可能的實現(xiàn)方式,在第一方面第二種可能的實現(xiàn)方式中,在所述檢測各個終端支持的流量控制類型時,還包括:根據(jù)交換機上報的各個終端的數(shù)據(jù)包獲取各個終端的位置信息,其中,所述位置信息包括終端的媒體訪問控制地址、終端對應(yīng)鏈路的邊緣交換機標識信息及交換機端口信息;根據(jù)各個終端支持的流量控制類型以及各個終端的位置信息,生成流控表并保存。結(jié)合第一方面、或第一方面第一種至第二種任一可能的實現(xiàn)方式,在第一方面第三種可能的實現(xiàn)方式中,若所述第一流控幀為基于量化擁塞通知協(xié)議的流量控制的流控幀,則所述根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型,包括:解析所述數(shù)據(jù)包中的源媒體訪問控制地址,將所述源媒體訪問控制地址與所述流控表中的信息進行匹配,確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;若所述第一流控幀為基于優(yōu)先級的流量控制的流控幀,且在預(yù)設(shè)時間內(nèi)接收到數(shù)據(jù)鏈路上相鄰的至少兩個交換機上報的第一流控幀時,才進行流量控制。結(jié)合第一方面、或第一方面第一種至第三種任一可能的實現(xiàn)方式,在第一方面第四種可能的實現(xiàn)方式中,當通過交換機給終端發(fā)送基于優(yōu)先級的流量控制或基于量化擁塞通知協(xié)議的流量控制的第二流控幀時,選擇優(yōu)先級低的流或優(yōu)先級低的虛擬通道進行流量控制。本發(fā)明第二方面提供了一種網(wǎng)絡(luò)控制器,包括:檢測單元,用于檢測各個終端支持的流量控制類型,所述流量控制類型包括基于暫停的流量控制、基于優(yōu)先級的流量控制和基于量化擁塞通知協(xié)議的流量控制;接收單元,用于若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀;確定單元,用于根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;生成單元,用于根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn)發(fā)至所述終端。結(jié)合第二方面的實現(xiàn)方式,在第二方面第一種可能的實現(xiàn)方式中,所述檢測單元具體用于:接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析;若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制;若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制;若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。結(jié)合第二方面、或第二方面第一種可能的實現(xiàn)方式,在第二方面第二種可能的實現(xiàn)方式中,還包括:獲取單元,用于根據(jù)交換機上報的各個終端的數(shù)據(jù)包獲取各個終端的位置 信息,其中,所述位置信息包括終端的媒體訪問控制地址、終端對應(yīng)鏈路的邊緣交換機標識信息及交換機端口信息;保存單元,用于根據(jù)各個終端支持的流量控制類型以及各個終端的位置信息,生成流控表并保存。結(jié)合第二方面、或第二方面第一種至第二種任一可能的實現(xiàn)方式,在第二方面第三種可能的實現(xiàn)方式中,若所述第一流控幀為基于量化擁塞通知協(xié)議的流量控制的流控幀,則所述確定單元具體用于:解析所述數(shù)據(jù)包中的源媒體訪問控制地址,將所述源媒體訪問控制地址與所述流控表中的信息進行匹配,確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;若所述第一流控幀為基于優(yōu)先級的流量控制的流控幀,且在預(yù)設(shè)時間內(nèi)所述接收單元接收到數(shù)據(jù)鏈路上相鄰的至少兩個交換機上報的第一流控幀時,所述網(wǎng)絡(luò)控制器才進行流量控制。結(jié)合第二方面、或第二方面第一種至第三種任一可能的實現(xiàn)方式,在第二方面第四種可能的實現(xiàn)方式中,當所述生成單元通過交換機給終端發(fā)送基于優(yōu)先級的流量控制或基于量化擁塞通知協(xié)議的流量控制的第二流控幀時,選擇優(yōu)先級低的流或優(yōu)先級低的虛擬通道進行流量控制。實施本發(fā)明實施例,具有如下有益效果:通過檢測終端支持的流量控制類型,并設(shè)定交換機同時檢測出端口和入端口的網(wǎng)絡(luò)擁塞情況,當發(fā)生網(wǎng)絡(luò)擁塞時,接收交換機上報的第一流控幀,確定發(fā)生網(wǎng)絡(luò)擁塞的終端所支持的流量控制類型,從而為該終端發(fā)送最合適的第二流控幀以便終端降低發(fā)包速率或停止發(fā)包,在混合使用流控技術(shù)的網(wǎng)絡(luò)環(huán)境中,簡單、高效的解決了網(wǎng)絡(luò)擁塞問題;且交換機入端口和出端口流控技術(shù)可以同時工作,閾值設(shè)置可互不影響。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明流量控制的方法的第一實施例的流程示意圖;圖2為本發(fā)明流量控制的方法的第二實施例的流程示意圖;圖3為本發(fā)明流量控制的方法的第三實施例的流程示意圖;圖4為本發(fā)明網(wǎng)絡(luò)控制器的第一實施例的組成示意圖;圖5為本發(fā)明網(wǎng)絡(luò)控制器的第二實施例的組成示意圖;圖6為本發(fā)明網(wǎng)絡(luò)控制器的第三實施例的組成示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參閱圖1,為本發(fā)明流量控制的方法的第一實施例的流程示意圖,在本實施例中,所述方法包括:S101,檢測各個終端支持的流量控制類型。所述流量控制類型包括基于暫停的流量控制、基于優(yōu)先級的流量控制和基于量化擁塞通知協(xié)議的流量控制。其中,基于暫停的流量控制即PAUSE技術(shù),在IEEE802.3x標準文檔中定義,是全雙工以太網(wǎng)數(shù)據(jù)鏈路層的流控方法。當客戶終端向服務(wù)器發(fā)出請求后,自身系統(tǒng)或網(wǎng)絡(luò)產(chǎn)生擁塞時,它會向服務(wù)器發(fā)出基于暫停的流量控制的流控幀即PAUSE幀,以延緩服務(wù)器向客戶終端的數(shù)據(jù)傳輸。基于優(yōu)先級的流量控制(Priority-basedFlowControl,簡稱PFC),在IEEE802.1Qbb標準文檔中定義,是對傳統(tǒng)流控的暫停機制(PAUSE技術(shù))一種增強。與傳統(tǒng)的流控機制相比,當出現(xiàn)擁塞時傳統(tǒng)流控會阻止一條鏈路上的所有流量,而PFC允許在一條以太網(wǎng)鏈路上創(chuàng)建8個虛擬通道,并為每條虛擬通道指定一個IEEE802.1P優(yōu)先等級,允許單獨暫停和重啟其中任意一條虛擬通道,同時允許其它虛擬通道的流量無中斷通過。這一方法使網(wǎng)絡(luò)能夠為單個虛擬鏈路創(chuàng)建無丟包類別的服務(wù),使其能夠與同一接口上的其它流量類型共存。基于量化擁塞通知協(xié)議(QuantizedCongestionNotification,簡稱QCN)的流量控制是IEEE802.1Qau標準所定義的擁塞管理機制。相對于其他擁塞管理 技術(shù),QCN采用了相對精準的向后擁塞通知機制,在核心網(wǎng)絡(luò)設(shè)備基于出端口隊列設(shè)置擁塞檢測點,檢測到擁塞發(fā)生則組建包含擁塞程度的擁塞通知消息CNM,并發(fā)送至導(dǎo)致?lián)砣脑唇K端,令其依據(jù)CNM指示降低相應(yīng)流的數(shù)據(jù)傳送速率。PFC的目的是實現(xiàn)“零丟包”的無損傳輸。其優(yōu)點是基于全雙工,反應(yīng)快,能夠快速緩解擁塞,用于處理網(wǎng)絡(luò)流量浪涌是不錯的選擇。但PFC沒有根本解決問題,還會導(dǎo)致?lián)砣麛U散。PFC比較適合小規(guī)模的組網(wǎng)環(huán)境。QCN主要是通過橋接設(shè)備和終端設(shè)備對該協(xié)議的支持,實現(xiàn)后向擁塞的精準控制。該協(xié)議的使用能夠從根本上解決網(wǎng)絡(luò)的擁塞問題,找到導(dǎo)致?lián)砣脑垂?jié)點,并通知其降低速率;缺點是因CNM消息往往要跨網(wǎng)絡(luò)多節(jié)點傳輸,反應(yīng)較慢,擁塞發(fā)生后往往需要一段時間才能產(chǎn)生顯著效果。QCN與PFC的聯(lián)合使用是一個不錯的解決方案,一方面PFC能夠快速緩解網(wǎng)絡(luò)擁塞問題,另一方面,QCN能夠根本的解決擁塞問題。QCN可以看做是PFC的補充解決方案。當終端和服務(wù)器的網(wǎng)卡支持一種或多種流量控制類型時,便可以采用本發(fā)明實施例所述的方法來進行流量控制,其首先便需要檢測了解各個終端所支持的流量控制類型。S102,若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀。在網(wǎng)絡(luò)中,可以包含一個或多個交換機,多個交換機可組成網(wǎng)絡(luò)拓撲結(jié)構(gòu)。當終端的接收數(shù)據(jù)的鏈路發(fā)送擁塞時,處于該鏈路上的交換機便可以檢測其出端口和入端口的網(wǎng)絡(luò)傳輸情況。當交換機檢測到端口(入或出)將要發(fā)生阻塞時,給網(wǎng)絡(luò)控制器上報第一流控幀,其中包含數(shù)據(jù)包。具體地,由于交換機需要同時檢測出端口和入端口的網(wǎng)絡(luò)狀況,因此需要開啟交換機出端口的QCN功能,并配置相應(yīng)的出端口隊列緩存閾值。以及開啟交換機入端口的PFC功能,并配置相應(yīng)的基于優(yōu)先級隊列緩存的閾值。這樣,當出端口觸發(fā)QCN流控時,交換機給網(wǎng)絡(luò)控制器上報第一流控幀即CNM幀和數(shù)據(jù)包。當入端口觸發(fā)PFC流控時,交換機先向上游交換,即向上一節(jié)點設(shè)備發(fā)送PFC流控幀使其基于預(yù)設(shè)優(yōu)先級隊列暫停數(shù)據(jù)發(fā)送,同時向網(wǎng)絡(luò)控制器上報PFC流控幀和數(shù)據(jù)包。而當邊緣交換機收到網(wǎng)絡(luò)控制器發(fā)送的下發(fā)消息后,直接給終端發(fā)送第二流控幀以通知終端根據(jù)第二流控幀進行流量控制。S103,根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型??蛇x地,所述第一流控幀中數(shù)據(jù)包攜帶的信息可以是終端的標識信息如媒體訪問控制(MediaAccessControl,簡稱MAC)地址即終端的物理地址。由于在步驟S101中已經(jīng)獲知到各個終端支持的流量控制控制類型,因此根據(jù)數(shù)據(jù)包中的信息便可以獲知發(fā)送數(shù)據(jù)包的終端進而獲知該終端支持的流量控制類型。S104,根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn)發(fā)至所述終端。當網(wǎng)絡(luò)控制器根據(jù)數(shù)據(jù)包中的信息找到終端后,再根據(jù)其支持的流量控制類型發(fā)送相應(yīng)的第二流控幀,從而快速、精確控制某個流或某個終端降低發(fā)包速率或停止發(fā)包。高效地解決大規(guī)模網(wǎng)絡(luò)環(huán)境下?lián)砣斐傻膩G包問題。例如,終端支持PFC流控機制,網(wǎng)絡(luò)控制器就會PFC流控幀,終端支持PAUSE流控機制,網(wǎng)絡(luò)控制器就會PAUSE流控幀,終端支持QCN流控機制,網(wǎng)絡(luò)控制器就會QCN專用的CNM流控幀。由上可見,通過檢測終端支持的流量控制類型,并設(shè)定交換機同時檢測出端口和入端口的網(wǎng)絡(luò)擁塞情況,當發(fā)生網(wǎng)絡(luò)擁塞時,接收交換機上報的第一流控幀,確定發(fā)生網(wǎng)絡(luò)擁塞的終端所支持的流量控制類型,從而為該終端發(fā)送最合適的第二流控幀以便終端降低發(fā)包速率或停止發(fā)包,在混合使用流控技術(shù)的網(wǎng)絡(luò)環(huán)境中,簡單、高效的解決了網(wǎng)絡(luò)擁塞問題;且交換機入端口和出端口流控技術(shù)可以同時工作,閾值設(shè)置可互不影響。請參見圖2,為本發(fā)明流量控制的方法的第二實施例的流程示意圖。在本實施例中,所述方法包括:S201,接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析。S202,若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制。其中,CN-TAG字段為QCN特有字段。當發(fā)現(xiàn)有CN-TAG字段時,說明發(fā)送終端支持QCN流控;當無CN-TAG字段時,繼續(xù)檢測。S203,若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第 二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制。具體地,當發(fā)現(xiàn)VLAN字段時,提取VLAN-ID和PCP字段(對應(yīng)優(yōu)先級虛擬通道),其中,第一預(yù)設(shè)時間為一個PFC流控暫停時間。S204,若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。其中,第一預(yù)設(shè)時間為一個PAUSE流控暫停時間。具體地,網(wǎng)絡(luò)控制器發(fā)送的地址解析協(xié)議(AddressResolutionProtocol,簡稱ARP)請求包的部分字段,如下表設(shè)置:DstMACSrcMACSenderIPTargetIPff:ff:ff:ff:ff:ffControllerMAC0.0.0.0HostIPDstMAC設(shè)置成全F。TargetIP是被檢測終端的IP地址。SrcMAC為網(wǎng)絡(luò)控制器的MAC地址。S205,若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀。S206,根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型。S207,根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn)發(fā)至所述終端。在本實施例中,通過解析數(shù)據(jù)包的包頭來檢測各個終端支持的流量控制類型,簡單方便,檢測結(jié)果準確。請參見圖3,為本發(fā)明流量控制的方法的第三實施例的流程示意圖,在本實施例中,所述方法包括:S301,接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析。S302,若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制。S303,若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制。S304,若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。S305,根據(jù)交換機上報的各個終端的數(shù)據(jù)包獲取各個終端的位置信息。其中,所述位置信息包括終端的媒體訪問控制地址、終端對應(yīng)鏈路的邊緣交換機標識信息及交換機端口信息。需要說明的是,該步驟可以和步驟S301同時進行,也可以分開先后進行,本發(fā)明實施例不作任何限定。S306,根據(jù)各個終端支持的流量控制類型以及各個終端的位置信息,生成流控表并保存。流控表的組成可參照下表:S307,若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀。S308,若所述第一流控幀為基于量化擁塞通知協(xié)議的流量控制的流控幀, 則解析所述數(shù)據(jù)包中的源媒體訪問控制地址,將所述源媒體訪問控制地址與所述流控表中的信息進行匹配,確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型,并發(fā)送對應(yīng)的第二流控幀。S309、若所述第一流控幀為基于優(yōu)先級的流量控制的流控幀,且在預(yù)設(shè)時間內(nèi)接收到數(shù)據(jù)鏈路上相鄰的至少兩個交換機上報的第一流控幀時,才進行流量控制。此處的流量控制具體可包括終端支持流量控制類型的確定以及第二流控幀的生成及發(fā)送。這樣,可確保在已解決了網(wǎng)絡(luò)短期浪涌的情況下,不輕易調(diào)節(jié)終端的發(fā)包速率。最大限度的提高帶寬的利用率。而當通過交換機給終端發(fā)送基于優(yōu)先級的流量控制或基于量化擁塞通知協(xié)議的流量控制的第二流控幀時,選擇優(yōu)先級低的流或優(yōu)先級低的虛擬通道進行流量控制。從而可以有效的保證高優(yōu)先級流或高優(yōu)先級通道數(shù)據(jù)包的服務(wù)質(zhì)量。請參見圖4,為本發(fā)明網(wǎng)絡(luò)控制器的第一實施例的組成示意圖,在本實施例中,所述網(wǎng)絡(luò)控制器包括:檢測單元100,用于檢測各個終端支持的流量控制類型,所述流量控制類型包括基于暫停的流量控制、基于優(yōu)先級的流量控制和基于量化擁塞通知協(xié)議的流量控制;接收單元200,用于若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀;確定單元300,用于根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;生成單元400,用于根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn)發(fā)至所述終端。可選地,所述檢測單元100具體用于:接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析;若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制;若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若 在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制;若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。請參見圖5,為本發(fā)明網(wǎng)絡(luò)控制器的第二實施例的組成示意圖,在本實施例中,所述網(wǎng)絡(luò)控制器包括:檢測單元100,用于檢測各個終端支持的流量控制類型,所述流量控制類型包括基于暫停的流量控制、基于優(yōu)先級的流量控制和基于量化擁塞通知協(xié)議的流量控制;接收單元200,用于若交換機檢測到出端口或入端口發(fā)生網(wǎng)絡(luò)擁塞,則接收交換機上報的第一流控幀;確定單元300,用于根據(jù)所述第一流控幀中數(shù)據(jù)包攜帶的信息確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;生成單元400,用于根據(jù)所述終端的流量控制類型生成對應(yīng)類型的第二流控幀并通過交換機轉(zhuǎn)發(fā)至所述終端。以及,獲取單元500,用于根據(jù)交換機上報的各個終端的數(shù)據(jù)包獲取各個終端的位置信息,其中,所述位置信息包括終端的媒體訪問控制地址、終端對應(yīng)鏈路的邊緣交換機標識信息及交換機端口信息;保存單元600,用于根據(jù)各個終端支持的流量控制類型以及各個終端的位置信息,生成流控表并保存??蛇x地,所述檢測單元100具體用于:接收交換機上報的終端的數(shù)據(jù)包,對數(shù)據(jù)包的包頭進行解析;若所述包頭中包含CN-TAG字段,則所述終端支持基于量化擁塞通知協(xié)議的流量控制;若所述包頭中包含VLAN字段,則生成基于優(yōu)先級的流量控制的第二流控幀并通過交換機發(fā)送給所述終端,再發(fā)送地址解析協(xié)議請求包給所述終端,若在第一預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于優(yōu)先級的流量控制;若所述包頭中不包含VLAN字段,則發(fā)送基于暫停的流量控制的第二流控幀至交換機以使所述出端口和入端口暫停發(fā)送數(shù)據(jù),再發(fā)送地址解析協(xié)議請求包給所述終端,若在第二預(yù)設(shè)時間內(nèi)未接收地址解析協(xié)議應(yīng)答包,則所述終端支持基于暫停的流量控制。若所述第一流控幀為基于量化擁塞通知協(xié)議的流量控制的流控幀,則所述確定單元300具體用于:解析所述數(shù)據(jù)包中的源媒體訪問控制地址,將所述源媒體訪問控制地址與所述流控表中的信息進行匹配,確定與所述出端口或入端口對應(yīng)的終端所支持的流量控制類型;若所述第一流控幀為基于優(yōu)先級的流量控制的流控幀,且在預(yù)設(shè)時間內(nèi)所述接收單元200接收到數(shù)據(jù)鏈路上相鄰的至少兩個交換機上報的第一流控幀時,所述網(wǎng)絡(luò)控制器才進行流量控制??蛇x地,當所述生成單元400通過交換機給終端發(fā)送基于優(yōu)先級的流量控制或基于量化擁塞通知協(xié)議的流量控制的第二流控幀時,選擇優(yōu)先級低的流或優(yōu)先級低的虛擬通道進行流量控制。需要說明的是,以上檢測單元100、接收單元200、確定單元300、生成單元400、獲取單元500以及保存單元600可以獨立存在,也可以集成設(shè)置,且以上網(wǎng)絡(luò)控制器實施例中檢測單元100、接收單元200、確定單元300、生成單元400、獲取單元500或保存單元600可以以硬件的形式獨立于網(wǎng)絡(luò)控制器的處理器單獨設(shè)置,且設(shè)置形式可以是微處理器的形式;也可以以硬件形式內(nèi)嵌于網(wǎng)絡(luò)控制器的處理器中,還可以以軟件形式存儲于網(wǎng)絡(luò)控制器的存儲器中,以便于網(wǎng)絡(luò)控制器的處理器調(diào)用執(zhí)行以上檢測單元100、接收單元200、確定單元300、生成單元400獲取單元500或保存單元600對應(yīng)的操作。例如,在本發(fā)明網(wǎng)絡(luò)控制器的第二實施例(圖5所示的實施例)中,檢測單元100可以為網(wǎng)絡(luò)控制器的處理器,而確定單元300、生成單元400獲取單元500或保存單元600的功能可以內(nèi)嵌于該處理器中,也可以獨立于處理器單獨設(shè)置,也可以以軟件的形式存儲于存儲器中,由處理器調(diào)用實現(xiàn)其功能。當然,接收單元200可以與處理器集成設(shè)置,也可以獨立設(shè)置,或者還可以作為網(wǎng)絡(luò)控制器的接口電路,獨立設(shè)置或集成設(shè)置。本發(fā)明實施例不做任何限制。以上處理器可以為中央處理單元(CPU)、微處理器、單片機等。請參照圖6,為本發(fā)明網(wǎng)絡(luò)控制器的第三實施例的組成示意圖,在本實施例中,所述網(wǎng)絡(luò)控制器包括:輸入裝置10、輸出裝置20、存儲器30及處理器40。其中,所述存儲器30用于存儲一組程序代碼,所述處理器40用于調(diào)用所述存儲器30中存儲的程序代碼,執(zhí)行本發(fā)明流量控制的方法第一至第三實施例中的任一操作。需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。通過上述實施例的描述,本發(fā)明具有以下優(yōu)點:通過檢測終端支持的流量控制類型,并設(shè)定交換機同時檢測出端口和入端口的網(wǎng)絡(luò)擁塞情況,當發(fā)生網(wǎng)絡(luò)擁塞時,接收交換機上報的第一流控幀,確定發(fā)生網(wǎng)絡(luò)擁塞的終端所支持的流量控制類型,從而為該終端發(fā)送最合適的第二流控幀以便終端降低發(fā)包速率或停止發(fā)包,在混合使用流控技術(shù)的網(wǎng)絡(luò)環(huán)境中,簡單、高效的解決了網(wǎng)絡(luò)擁塞問題;且交換機入端口和出端口流控技術(shù)可以同時工作,閾值設(shè)置可互不影響。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。當前第1頁1 2 3