專(zhuān)利名稱(chēng):網(wǎng)絡(luò)流量控制系統(tǒng)的制作方法
附圖簡(jiǎn)介
圖1顯示典型網(wǎng)絡(luò)流量控制系統(tǒng)的框圖。
圖2顯示根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)流量控制系統(tǒng)的框圖。
圖3顯示用于對(duì)單獨(dú)端口的輸入流量整形的令牌桶。
圖4顯示用于對(duì)兩個(gè)端口的總計(jì)輸入流量整形的令牌桶。
發(fā)明目的技術(shù)領(lǐng)域和背景技術(shù)本發(fā)明涉及網(wǎng)絡(luò)流量控制系統(tǒng),更具體地說(shuō)涉及具有交換處理器的網(wǎng)絡(luò)流量控制系統(tǒng),其中,流量可以通過(guò)允許設(shè)置每個(gè)通信端口的速率限制來(lái)控制,即使交換處理器不支持速率限制功能。
由于各種網(wǎng)絡(luò)應(yīng)用,如基于因特網(wǎng)的網(wǎng)絡(luò)應(yīng)用的增長(zhǎng),人們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的興趣日益增加。隨著人們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的興趣增加,專(zhuān)用于控制網(wǎng)絡(luò)上互聯(lián)終端的流量狀況的技術(shù)受到廣泛關(guān)注。此類(lèi)技術(shù)稱(chēng)為“網(wǎng)絡(luò)流量控制技術(shù)”,而實(shí)施此類(lèi)技術(shù)的系統(tǒng)稱(chēng)為“網(wǎng)絡(luò)流量控制系統(tǒng)”。
如圖1所示,典型的網(wǎng)絡(luò)流量控制系統(tǒng)一般包括用于交換網(wǎng)絡(luò)上計(jì)算機(jī)終端之間傳送的分組的交換控制器200以及用于設(shè)置和控制各種參數(shù)(例如每個(gè)端口的通信量)的中央處理單元(CPU)100,這些參數(shù)必須加以設(shè)置,以便交換處理器200正常工作。交換處理器200包括用于記錄每個(gè)端口的通信量的寄存器210,用于控制每個(gè)端口的通信量的流量控制器220(某些制造商也將其稱(chēng)為“端口管理器”)以及物理層連接(PHY)230。交換處理器200的流量控制器220在寄存器210中記錄的每個(gè)端口的允許的最大通信量范圍內(nèi)調(diào)整通信量。如上所述,交換處理器200中設(shè)置每個(gè)端口的通信量的功能稱(chēng)為“速率限制”。
速率限制存在一些問(wèn)題。如果預(yù)先限制通信量,則傳輸分組必須使得分組傳輸?shù)目偼ㄐ帕康陀谕ㄐ帕繕O限。因此,如果預(yù)期所有分組傳輸?shù)耐ㄐ帕砍^(guò)該通信量極限,則流量控制器220會(huì)強(qiáng)制不必要地丟棄部分分組,其中該部分分組(如果傳送的的話(huà))會(huì)產(chǎn)生超過(guò)通信量極限的額外通信量。這會(huì)導(dǎo)致傳輸數(shù)據(jù)或控制數(shù)據(jù)損失,進(jìn)而導(dǎo)致數(shù)據(jù)傳輸延遲。
與速率限制有關(guān)的另一個(gè)問(wèn)題是支持速率限制功能的交換處理器200的大多數(shù)制造商將設(shè)置輸入和輸出通信量的單位預(yù)設(shè)為例如8M的單位。因此,從交換處理器客戶(hù)的角度來(lái)看,該通信量無(wú)法考慮特定客戶(hù)群的特殊需要而設(shè)為較小的單位如1M的單位。
采用無(wú)速率限制能力的交換處理器也會(huì)產(chǎn)生問(wèn)題。對(duì)于此類(lèi)交換處理器,每個(gè)端口的允許的通信量被制造商預(yù)設(shè)為固定的值,這也使得難以根據(jù)特定客戶(hù)群的需求來(lái)進(jìn)行不同的設(shè)置或調(diào)整通信量。
發(fā)明目的本發(fā)明目的在于提供一種具有交換處理器的網(wǎng)絡(luò)流量控制系統(tǒng),其中用戶(hù)可以任意調(diào)整由所述交換處理器控制的每個(gè)通信端口的通信量。
本發(fā)明的另一個(gè)目的在于提供一種具有交換處理器的網(wǎng)絡(luò)流量控制系統(tǒng),用于在所述交換處理器所支持的允許的通信量范圍內(nèi)自由地設(shè)置和控制每個(gè)通信端口的通信量,其中所述交換處理器不支持速率限制功能。
發(fā)明的公開(kāi)根據(jù)本發(fā)明的一個(gè)方面,提供一種用于控制網(wǎng)絡(luò)上流量的裝置,包括交換處理器,其包括可連接到網(wǎng)絡(luò)線(xiàn)路的多個(gè)端口以及用于存儲(chǔ)通過(guò)所述多個(gè)端口輸入和輸出的分組的有關(guān)計(jì)數(shù)信息的分組計(jì)數(shù)寄存器,用于響應(yīng)輸入的流量控制命令而控制所述多個(gè)端口中各端口的輸入和輸出分組通信量;以及控制器,用于將所述多個(gè)端口中各端口的通信量作為用戶(hù)值記錄在內(nèi)部寄存器中,所述通信量通過(guò)輸入輸入單元輸入,以及用于將所述多個(gè)端口中各端口的用戶(hù)值與各端口的所述分組計(jì)數(shù)寄存器中相應(yīng)一個(gè)中的值作比較,以便將各端口的輸入通信控制命令輸出到所述交換處理器。所述輸入通信控制命令是允許將通過(guò)各端口輸入和輸出的分組排隊(duì)、丟棄或暫停的控制命令。
如上所述,根據(jù)本發(fā)明,可以自適應(yīng)地控制通過(guò)所述交換處理器的各端口輸入和輸出的通信量,以使其在控制單元預(yù)設(shè)的允許的通信量范圍內(nèi),這樣,用戶(hù)便可以任意調(diào)整每個(gè)端口的通信量,從而實(shí)現(xiàn)通信量控制。
所述允許的通信量范圍可由最大通信量的用戶(hù)值來(lái)表示。該用戶(hù)值被寫(xiě)入寄存器中,以便可以與所述通信量的相應(yīng)值作比較,所述相應(yīng)值被寫(xiě)入分組計(jì)數(shù)寄存器中。如果所述相應(yīng)值超過(guò)所述用戶(hù)值,則可以向所述交換處理器發(fā)出通信控制命令。
本發(fā)明并不局限于各單獨(dú)端口的流量控制。它還涵蓋將一定數(shù)量或多個(gè)端口匯聚或捆綁以便協(xié)作的情況或配置。鏈路或端口的匯聚(也稱(chēng)為端口捆綁)廣泛地應(yīng)用于冗余和帶寬擴(kuò)充。對(duì)于這種配置,希望為通過(guò)所述多個(gè)端口輸入和輸出的合計(jì)流量設(shè)置最大流量限制。這種多個(gè)端口的流量控制可以通過(guò)令牌桶來(lái)實(shí)現(xiàn)。令牌桶是一種通用排隊(duì)技術(shù)概念。典型算法是對(duì)應(yīng)于每秒的時(shí)間,保存一個(gè)令牌。如果發(fā)送了令牌,則破壞這些令牌之一。如果沒(méi)有分組在發(fā)送,則令牌開(kāi)始累積,這些累積的令牌可以在以后用于突發(fā)分組。圖3顯示了用于對(duì)流量進(jìn)行整形或調(diào)整的令牌桶。如圖4所示,此概念可以擴(kuò)展到兩個(gè)或兩個(gè)以上端口。由多個(gè)端口共享同一個(gè)令牌桶。如果所述端口之一流量小,則所述多個(gè)端口中的其他端口可以通過(guò)利用未用令牌來(lái)自適應(yīng)地傳輸(輸入/輸出)更多的流量。此令牌桶共享概念還可應(yīng)用于排隊(duì)、丟棄和暫停。
同時(shí)控制涉及多個(gè)端口的匯聚流量與涉及各分離端口的流量也是可能的。通常,可以任何可能的方式將大量端口分組。對(duì)應(yīng)的流量可以通過(guò)將與所述大量端口的分組對(duì)應(yīng)的流量限制指配給任意多個(gè)端口和任一單獨(dú)端口來(lái)控制。
利用幀大小約束(frame-size pinching)是一種丟棄分組的高效機(jī)制。結(jié)合各單獨(dú)端口(或不同的多個(gè)端口)的流量控制使用的丟棄機(jī)制要求,應(yīng)該僅控制輸入流量,而不干擾輸出流量,而且應(yīng)該是逐端口可控的。幀大小約束包括將最大幀大小的參數(shù)(最大幀大小參數(shù))設(shè)為小于所支持的最小幀大小的某個(gè)數(shù)值。例如,基于以太網(wǎng)標(biāo)準(zhǔn)的網(wǎng)絡(luò)要求最小幀大小為64字節(jié)。將最大幀大小參數(shù)設(shè)為小于64字節(jié)的值,則小于64字節(jié)的分組將被丟棄,因?yàn)樗鼈儾环弦蕴W(wǎng)標(biāo)準(zhǔn)設(shè)定的限制,而等于64字節(jié)或更大的分組也將被丟棄,因?yàn)槭艿阶畲髱笮∠拗啤?br>
下文參考附圖,描述本發(fā)明的實(shí)施例。如果對(duì)本發(fā)明的熟知部分或單元的詳細(xì)描述(如果包含在本文中的話(huà))據(jù)信會(huì)使本發(fā)明的本質(zhì)模糊,則會(huì)為簡(jiǎn)潔起見(jiàn)而加以被省略。
參見(jiàn)圖2,其中顯示了根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)流量控制系統(tǒng)。如圖2所示,數(shù)據(jù)輸入單元300從操作員接收各端口540的輸入和輸出分組通信量。常規(guī)的數(shù)據(jù)輸入設(shè)備,如鍵盤(pán)、鼠標(biāo)等均可以用于實(shí)現(xiàn)數(shù)據(jù)輸入單元300。從數(shù)據(jù)輸入單元300輸入的通信量作為用戶(hù)值記錄在寄存器410中。寄存器410和中央處理單元(CPU)420(下面將對(duì)它們進(jìn)行描述)可操作以控制交換處理器500。寄存器410和CPU 420可以集成到單個(gè)芯片上。
CPU 420將寄存器410中記錄的各端口的用戶(hù)值與相應(yīng)端口的相應(yīng)一個(gè)分組計(jì)數(shù)寄存器510中的值作比較。然后,CPU 420將各端口的流量控制命令發(fā)送到交換處理器500,從而控制各端口的通信量。注意,所述流量控制命令是允許將通過(guò)各端口輸入和輸出的分組排隊(duì)、丟棄或暫停的控制命令。
交換處理器500包括分組計(jì)數(shù)寄存器510、流量控制器520、物理層連接530以及多個(gè)端口540。交換處理器500在控制單元400的控制下控制各端口540的通信量。
端口540中的每個(gè)端口用于將物理媒體,即構(gòu)成網(wǎng)絡(luò)的通信線(xiàn)路連接到交換處理器500。分組計(jì)數(shù)寄存器510用于記錄通信量,即當(dāng)前通過(guò)每個(gè)端口540輸入和輸出的分組數(shù)量。分組計(jì)數(shù)寄存器510中記錄的各端口的分組數(shù)量由CPU 420讀取。
流量控制器520對(duì)各端口540的輸入和輸出分組數(shù)量計(jì)數(shù),以將其寫(xiě)入分組計(jì)數(shù)寄存器510中。此外,流量控制器520響應(yīng)來(lái)自CPU420的流量控制命令而控制各端口540的輸入和輸出分組通信量。例如,在從CPU 420接收到控制通信量的丟棄命令時(shí),流量控制器520執(zhí)行分組控制,以使通過(guò)每個(gè)端口540進(jìn)入的部分分組被丟棄且然后被輸出。注意,丟棄命令可以在各端口540的輸入分組通信量超過(guò)寄存器410中記錄的用戶(hù)值時(shí)生成。物理層連接530將來(lái)自數(shù)據(jù)鏈路層的數(shù)據(jù)編碼(數(shù)據(jù)鏈路層在網(wǎng)絡(luò)體系結(jié)構(gòu)中處于較高層),并將經(jīng)過(guò)編碼的數(shù)據(jù)傳送給物理層媒體相關(guān)部分(PMD)(處于較低層)。
下文將描述根據(jù)本發(fā)明的網(wǎng)絡(luò)流量控制系統(tǒng)的操作。首先,操作員或用戶(hù)利用數(shù)據(jù)輸入單元300設(shè)置交換處理器500中提供的各端口540的輸入和輸出分組通信量。在此情況中,操作員或用戶(hù)可以任意設(shè)置輸入和輸出分組通信量,使其在各端口540的允許的最大通信量限定的范圍內(nèi)。操作員可根據(jù)其特定的通信量需求基于比常規(guī)交換處理器所用的較小單位來(lái)調(diào)整通信量,使得例如可將256Mbit的輸入流量分配給端口#1,而將230Mbit的輸入流量分配給端口#2。一旦按上述方式設(shè)置了各端口540的通信量,則將所設(shè)置的通信量作為用戶(hù)值記錄到寄存器410中。
如果分組通過(guò)交換處理器500交換并經(jīng)各端口540傳送,則流量控制器520對(duì)各端口540的輸入或輸出分組數(shù)計(jì)數(shù),以將其寫(xiě)入分組計(jì)數(shù)寄存器510中。之后,CPU 420從各分組計(jì)數(shù)寄存器510讀取該值(數(shù)值)并將其與為相應(yīng)端口540設(shè)定的用戶(hù)值作比較。CPU 420然后根據(jù)比較結(jié)果發(fā)出控制命令來(lái)控制各端口540的通信量。
例如,當(dāng)特定端口的實(shí)時(shí)輸出分組通信量超過(guò)記錄的用戶(hù)值時(shí),則CPU 420向流量控制器520發(fā)出丟棄命令。響應(yīng)該丟棄命令,流量控制器520強(qiáng)制使通過(guò)該端口輸出的分組通信量被丟棄,由此將輸出分組限制在所記錄的范圍內(nèi)。如果特定端口的輸入分組通信量低于所記錄的用戶(hù)值,則CPU 420向流量控制器520發(fā)出排隊(duì)命令。響應(yīng)該排隊(duì)命令,只要存儲(chǔ)器容量允許,流量控制器520便使輸入分組在存儲(chǔ)器(未顯示)中排隊(duì)。另一方面,如果預(yù)期輸入分組通信量超過(guò)所記錄的用戶(hù)值,則CPU 420向流量控制器520發(fā)暫停命令。然后,流量控制器520向?qū)Ψ?發(fā)送)終端發(fā)送暫停命令,以使輸入分組暫時(shí)停止發(fā)送。
如上所述,根據(jù)本發(fā)明,操作員或用戶(hù)利用數(shù)據(jù)輸入單元在控制單元400中設(shè)置作為用戶(hù)值的各端口分組通信量,以便可以基于預(yù)設(shè)的用戶(hù)值來(lái)控制各端口的通信量。因此,本發(fā)明可以支持速率限制功能,而無(wú)論所述交換處理器是否具有這種速率限制功能,并允許用戶(hù)基于任意小的單位調(diào)整通信量。
發(fā)明效果如上所述,根據(jù)本發(fā)明,交換處理器的用戶(hù)可以任意方式調(diào)整由交換處理器控制的各端口的通信量,從而實(shí)現(xiàn)對(duì)所述通信量的控制。此外,本發(fā)明的網(wǎng)絡(luò)通信控制系統(tǒng)可有利地用于允許用戶(hù)在不支持速率限制功能的交換處理器的各端口的可用最大通信量所限定的范圍內(nèi)任意設(shè)置并控制各端口的通信量。
雖然已結(jié)合本發(fā)明的實(shí)施例對(duì)本發(fā)明作了描述和圖示,但對(duì)本領(lǐng)域技術(shù)人員而言,顯然在不背離本發(fā)明的一般原理和教導(dǎo)的前提下可以進(jìn)行各種變化和修改,本發(fā)明的一般原理和教導(dǎo)僅有所附權(quán)利要求書(shū)來(lái)限定。
權(quán)利要求
1.一種用于控制網(wǎng)絡(luò)上流量的裝置,包括交換處理器,其包括可連接到網(wǎng)絡(luò)線(xiàn)路的多個(gè)端口以及用于存儲(chǔ)通過(guò)所述多個(gè)端口輸入和輸出的分組的有關(guān)計(jì)數(shù)信息的分組計(jì)數(shù)寄存器,用于響應(yīng)輸入的流量控制命令而控制所述多個(gè)端口中各端口的輸入和輸出分組通信量;以及控制器,用于將所述多個(gè)端口中每一個(gè)的通信量作為用戶(hù)值記錄在內(nèi)部寄存器中,所述通信量通過(guò)輸入輸入單元輸入,以及用于將所述多個(gè)端口中各端口的用戶(hù)值與所述各端口的所述分組計(jì)數(shù)寄存器中相應(yīng)一個(gè)中的值作比較,以便將所述各端口的所述輸入通信控制命令輸出到所述交換處理器。
2.一種用于控制網(wǎng)絡(luò)上流量的裝置,包括交換處理器,其包括可連接到網(wǎng)絡(luò)線(xiàn)路的多個(gè)端口以及用于存儲(chǔ)通過(guò)所述多個(gè)端口輸入和輸出的分組的有關(guān)計(jì)數(shù)信息的分組計(jì)數(shù)寄存器,用于響應(yīng)輸入的流量控制命令而控制所述多個(gè)端口的輸入和輸出分組通信量;以及控制器,用于將所述多個(gè)端口的通信量作為用戶(hù)值記錄在內(nèi)部寄存器中,所述通信量通過(guò)輸入輸入單元輸入,以及用于將所述多個(gè)端口的用戶(hù)值與所述多個(gè)端口的所述分組計(jì)數(shù)寄存器中相應(yīng)一個(gè)中的值作比較,以便將所述多個(gè)端口的所述輸入通信控制命令輸出到所述交換處理器。
3.如權(quán)利要求2所述的裝置,其特征在于所述輸入和/或輸出通信量通過(guò)令牌桶來(lái)控制,所述令牌桶在所述多個(gè)端口中的端口之間共享。
4.如權(quán)利要求1至3之一所述的裝置,其特征在于所述輸入流量控制命令是允許將通過(guò)所述各端口輸入或輸出的所述分組排隊(duì)、丟棄或暫停的控制命令。
5.一種用于控制通過(guò)交換處理器的一個(gè)或多個(gè)端口輸入或輸出的通信量的方法,所述方法包括如下步驟輸入最大通信量的用戶(hù)值,將所述用戶(hù)值與所述通信量的相應(yīng)值作比較,所述相應(yīng)值被寫(xiě)入分組計(jì)數(shù)寄存器中,以及向所述交換處理器發(fā)送流量控制命令。
6.如權(quán)利要求5所述的方法,其特征在于所述通信量與多個(gè)端口相關(guān),以及所述通信量通過(guò)令牌桶來(lái)控制,所述令牌桶在所述多個(gè)端口中的端口之間共享。
7.如權(quán)利要求5或6所述的方法,其特征在于通過(guò)將所述幀大小參數(shù)設(shè)置為小于最小以太網(wǎng)幀大小來(lái)丟棄分組。
全文摘要
一種網(wǎng)絡(luò)流量控制系統(tǒng),其中,可通過(guò)允許任意設(shè)置每個(gè)通信端口的速率限制來(lái)控制流量,即使交換處理器不支持速率限制功能。根據(jù)本發(fā)明的網(wǎng)絡(luò)流量控制系統(tǒng)包括交換處理器,其包括可連接到網(wǎng)絡(luò)線(xiàn)路的多個(gè)端口以及用于存儲(chǔ)通過(guò)所述多個(gè)端口輸入和輸出的分組的有關(guān)計(jì)數(shù)信息的分組計(jì)數(shù)寄存器,用于響應(yīng)輸入的流量控制命令控制所述多個(gè)端口中各端口的輸入和輸出分組通信量;以及控制器,用于將所述多個(gè)端口中每一個(gè)的通信量作為用戶(hù)值記錄在內(nèi)部寄存器中,其中所述通信量通過(guò)輸入輸入單元輸入,以及用于將所述多個(gè)端口中各端口的用戶(hù)值與所述各端口的所述分組計(jì)數(shù)寄存器中相應(yīng)一個(gè)中的值作比較,以便將針對(duì)各端口的輸入通信控制命令輸出到所述交換處理器。
文檔編號(hào)H04L12/56GK1778078SQ200480010555
公開(kāi)日2006年5月24日 申請(qǐng)日期2004年4月21日 優(yōu)先權(quán)日2003年4月21日
發(fā)明者S·李, D·辛 申請(qǐng)人:西門(mén)子公司, 苶山網(wǎng)絡(luò)公司