專利名稱:一種城域傳輸設(shè)備中虛容器映射通道的流量控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,具體地說,涉及一種城域設(shè)備中虛容器映射通道(VC-TRUNK)的流量控制方法。
背景技術(shù):
在基于同步數(shù)字體系(SDH)的城域設(shè)備中,用戶的IP數(shù)據(jù)包或ATM信元要映射到SDH上進(jìn)行傳輸,當(dāng)光纖下行到VC-TRUNK的流量過大,超過了設(shè)備單板的轉(zhuǎn)發(fā)能力時,則需要對下行的數(shù)據(jù)進(jìn)行流量控制。
在以往的SDH設(shè)備中,由于從SDH設(shè)備到光纖的上行支路數(shù)據(jù)的帶寬是確定的,即使有所變化,也是在設(shè)備的碼速調(diào)整范圍之內(nèi),因此上行支路數(shù)據(jù)映射到VC-TRUNK后的帶寬是恒定的。傳輸環(huán)網(wǎng)的接收站點對該VC-TRUNK數(shù)據(jù)的處理能力是足夠的,因此不存在流控的問題。
但是對于承載數(shù)據(jù)業(yè)務(wù)的SDH城域網(wǎng)設(shè)備,數(shù)據(jù)的流量是不斷變化的,如果不對VC-TRUNK進(jìn)行流控,不但容易出現(xiàn)數(shù)據(jù)丟棄,造成網(wǎng)上流量振蕩,不能有效利用網(wǎng)絡(luò)帶寬,而且會因為某VC-TRUNK通道的數(shù)據(jù)報文占用太多資源而影響其它VC-TRUNK通道的正常業(yè)務(wù),從而影響到其它端口。
目前,IEEE802.3x中所提供的流量控制機制是基于物理端口的,尚無基于SDH的VC-TRUNK流量控制技術(shù)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種城域設(shè)備中VC-TRUNK通道的流量控制方法,以對每個VC-TRUNK通道分別進(jìn)行流量控制,解決SDH體系中設(shè)備的VC-TRUNK通道的流量控制問題。
本發(fā)明通過以下技術(shù)方案實現(xiàn)一種城域設(shè)備中虛容器映射通道的流量控制方法,其特征在于,該方法至少包括以下步驟A)接收端傳輸設(shè)備判斷本端的虛容器映射通道是否發(fā)生擁塞,如果是則發(fā)送攜帶有該通道標(biāo)識號的流控報文;B)接收到流控報文的傳輸設(shè)備根據(jù)該流控報文中的通道標(biāo)識號暫停轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)數(shù)據(jù)報文,直至該流控報文中的流控時間結(jié)束并且尚未接收到新的流控報文后再繼續(xù)轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)報文。
其中,所述步驟B進(jìn)一步包括啟動接收到流控報文的傳輸設(shè)備的流控定時器,判斷所述流控時間是否結(jié)束,如果未結(jié)束則等待流控時間結(jié)束。
所述步驟A進(jìn)一步包括啟動接收端傳輸設(shè)備控制定時器,將所述的流控報文定時地發(fā)送,直至擁塞消失。
較佳地,所述步驟A包括,分別計數(shù)接收端傳輸設(shè)備各虛容器映射通道接收的業(yè)務(wù)數(shù)據(jù)報文,判斷虛容器映射通道的業(yè)務(wù)數(shù)據(jù)報文的數(shù)目是否超過預(yù)定的流控門限值,如果是則將流控報文發(fā)送至發(fā)送端傳輸設(shè)備。
較佳地,所述步驟A包括判斷接收端傳輸設(shè)備虛容器映射通道的先進(jìn)先出緩存區(qū)是否溢出,如果溢出則將流控報文發(fā)送至該接收端傳輸設(shè)備的端口。
在802.3x流控幀的幀頭添加通道標(biāo)識號形成所述的流控報文。
所述通道標(biāo)識號與虛容器映射通道一一對應(yīng),其長度根據(jù)虛容器映射通道的數(shù)目確定。
本發(fā)明利用標(biāo)準(zhǔn)的802.3x流控幀攜帶通道標(biāo)識號形成反映某通道擁塞的流控報文,從而可對各VC-TRUNK通道分別進(jìn)行流量控制,通道之間相互不影響。本發(fā)明既可用軟件的方法發(fā)送流控報文,又可用硬件的方法發(fā)送流控報文,具有實現(xiàn)靈活的優(yōu)點。與現(xiàn)有技術(shù)相比,解決了原SDH體系中無流量控制的問題,并解決了現(xiàn)有的流量控制只能基于物理端口的問題。
圖1為VC-TRUNK通道流控示意圖;圖2為VC-TRUNK通道中業(yè)務(wù)數(shù)據(jù)報文格式;圖3為物理端口和VC-TRUNK通道關(guān)系示意圖;圖4為VC-TRUNK通道發(fā)送流控處理流程圖;圖5為流控報文格式;圖6為接口邏輯內(nèi)部報文的流向圖;圖7為接口邏輯硬件發(fā)送流控報文的示意圖;圖8為端口接收流控處理流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
城域網(wǎng)設(shè)備中多個VC-TRUNK通道往往來自同一個物理端口,在對某個VC-TRUNK通道進(jìn)行流控時應(yīng)避免對其他VC-TRUNK通道的影響,即,當(dāng)一VC-TRUNK通道收到流控信息時,應(yīng)當(dāng)及時響應(yīng),停止發(fā)送數(shù)據(jù),而不影響發(fā)往其他VC-TRUNK通道的數(shù)據(jù)流。因此本發(fā)明需解決VC-TRUNK通道的識別、VC-TRUNK通道接收和發(fā)送流控信息等問題。
參見圖1所示,圖1為VC-TRUNK通道流控示意圖。SDH傳輸環(huán)上有四個站點,相鄰站點之間配置了一條VC-TRUNK通道。例如,在圖中站點2和站點3之間配置VC-TRUNK通道,業(yè)務(wù)數(shù)據(jù)報文由站點2流向站點3,超過站點3的轉(zhuǎn)發(fā)能力后就向站點2發(fā)流控信息,站點2收到流控信息后停止向站點3發(fā)送業(yè)務(wù)數(shù)據(jù)報文。
參見圖2所示,圖2為VC-TRUNK通道中已有業(yè)務(wù)數(shù)據(jù)報文格式。為了區(qū)分發(fā)往不同VC-TRUNK通道的業(yè)務(wù)數(shù)據(jù)報文,在業(yè)務(wù)數(shù)據(jù)報文映射到SDH通道之前,在報文的前面加上通道標(biāo)識號(Tag),該通道標(biāo)識號的長度可根據(jù)設(shè)備所支持的VC-TRUNK通道的數(shù)目而定,與VC-TRUNK通道一一對應(yīng),并在SDH傳輸環(huán)上統(tǒng)一編號。
參見圖3所示,圖3為城域網(wǎng)傳輸設(shè)備中物理端口和VC-TRUNK通道關(guān)系示意圖。在圖3中,城域網(wǎng)設(shè)備中的數(shù)據(jù)處理單元包括接口單元、業(yè)務(wù)處理模塊、接口邏輯以及映射/解映射模塊,業(yè)務(wù)處理模塊通過物理端口與接口邏輯相連,一個物理端口包含若干個SDH的VC-TRUNK通道。在數(shù)據(jù)從VC-TRUNK通道映射到SDH傳輸環(huán)的上行方向,VC-TRUNK通道的業(yè)務(wù)數(shù)據(jù)報文根據(jù)通道標(biāo)識號被映射到SDH的不同時隙中,由于SDH是一個時分復(fù)用的系統(tǒng),根據(jù)網(wǎng)管的配置,時隙中的數(shù)據(jù)可在傳輸環(huán)上的任意站點下發(fā),從而將攜帶通道標(biāo)識號的數(shù)據(jù)傳輸?shù)街付ǖ恼军c;在數(shù)據(jù)從SDH傳輸環(huán)映射到VC-TRUNK通道的下行方向,映射/解映射模塊為來自VC-TRUNK通道的數(shù)據(jù)加上相應(yīng)的通道標(biāo)識號,帶有不同通道標(biāo)識號的業(yè)務(wù)數(shù)據(jù)報文進(jìn)入同一物理端口后,業(yè)務(wù)處理模塊根據(jù)通道標(biāo)識號以及報文內(nèi)的虛擬局域網(wǎng)標(biāo)識符(VLAN ID)等信息轉(zhuǎn)發(fā)。
下面說明接收端傳輸設(shè)備向發(fā)送端傳輸設(shè)備發(fā)送流控信息的過程。
參見圖4所示,圖4為接收端傳輸設(shè)備的VC-TRUNK通道發(fā)送流控處理流程圖。
步驟401,為了發(fā)送流控信息,接收端傳輸設(shè)備根據(jù)業(yè)務(wù)數(shù)據(jù)報文前面的通道標(biāo)識號對各VC-TRUNK通道的報文在共享包緩存(Packet Memory)中所占的數(shù)目分別計數(shù),并設(shè)置一流控門限值;步驟402,判斷包緩存中的報文數(shù)目是否超過所設(shè)置的流控門限值,如果未超過則執(zhí)行步驟404,轉(zhuǎn)發(fā)正常業(yè)務(wù)報文,如果超過了則執(zhí)行步驟403,啟動一控制定時器,定時向發(fā)送端傳輸設(shè)備端口發(fā)送攜帶通道標(biāo)識號的流控報文。該流控報文數(shù)據(jù)結(jié)構(gòu)參見圖5所示,采用IEEE802.3x標(biāo)準(zhǔn)流控幀前面加上通道標(biāo)識號的方式,以實現(xiàn)不同VC-TRUNK通道的流控。由于業(yè)務(wù)數(shù)據(jù)報文中攜帶了通道標(biāo)識號,可將同一端口下需進(jìn)行流控的VC-TRUNK通道和共享該物理端口的其它VC-TRUNK通道區(qū)分開來,而不影響其它VC-TRUNK通道的正常業(yè)務(wù)。例如,圖3中,如果業(yè)務(wù)處理模塊從接口邏輯接收到的帶有VC-TRUNK通道1的通道標(biāo)識號的報文在包緩存中的數(shù)目超過了預(yù)設(shè)的門限,業(yè)務(wù)處理模塊就會向物理端口發(fā)送帶有通道標(biāo)識號=1的流控報文,帶有通道標(biāo)識號=2和通道標(biāo)識號=3的正常業(yè)務(wù)報文仍然可從該物理端口送出,VC-TRUNK通道之間相互不會有影響,從而實現(xiàn)了基于VC-TRUNK的流控發(fā)送。
上述發(fā)送流控處理是基于軟件實現(xiàn)的,可隨時改變流控門限值,流控靈活,只是由于每個報文進(jìn)入VC-TRUNK通道時計數(shù)器需加一,報文送出后需減一,對數(shù)據(jù)處理模塊的轉(zhuǎn)發(fā)效率有一定的影響。
另外一種方法是由接收端傳輸設(shè)備的業(yè)務(wù)處理模塊和映射/解映射模塊之間的接口邏輯根據(jù)各VC-TRUNK通道FIFO緩沖區(qū)的大小向該接收端傳輸設(shè)備物理端口發(fā)送帶Tag頭的流控報文,這種用硬件來實現(xiàn)的方法可以減輕軟件處理的負(fù)擔(dān),且不需要接收端傳輸設(shè)備軟件的參與。
參見圖6所示,圖6為圖3中接口邏輯內(nèi)部業(yè)務(wù)數(shù)據(jù)報文的流向圖。該接收端傳輸設(shè)備接口邏輯根據(jù)業(yè)務(wù)數(shù)據(jù)報文前面的通道標(biāo)識號將報文分配到不同VC-TRUNK通道的FIFO緩沖區(qū)中,以準(zhǔn)備送到映射/解映射模塊不同的VC-TRUNK通道中;反過來,接口邏輯為來自不同VC-TRUNK通道的業(yè)務(wù)數(shù)據(jù)報文加上不同的通道標(biāo)識號送給業(yè)務(wù)處理模塊。
參見圖7所示,圖7為接口邏輯硬件發(fā)送流控報文的示意圖,當(dāng)接口邏輯中某VC-TRUNK通道的FIFO已滿時,向該接收端傳輸設(shè)備的業(yè)務(wù)處理模塊發(fā)送帶該VC-TRUNK通道標(biāo)識號的流控報文,模擬發(fā)送端設(shè)備發(fā)送過來的流控幀,接收端傳輸設(shè)備接收到該端口后停止向其通道發(fā)送業(yè)務(wù)數(shù)據(jù)報文,從而達(dá)到流控的目的。
下面說明接收到流控報文的傳輸設(shè)備端口的處理過程。
端口接收到流控報文后,通過對通道標(biāo)識號進(jìn)行分析,知道是針對哪個VC-TRUNK通道的流控,此時可以將對應(yīng)該VC-TRUNK通道的數(shù)據(jù)流停下來,使得不再向該VC-TRUNK通道發(fā)送數(shù)據(jù),從而達(dá)到流控的目的。
參見圖8所示,圖8為端口接收流控處理流程圖。
步驟501,端口接收到帶通道標(biāo)識號的流控報文;步驟502,根據(jù)流控報文中攜帶的流控時間,啟動流控定時器,并停止正常報文的轉(zhuǎn)發(fā);步驟503,判斷所述流控定時器是否到時,如果是則執(zhí)行步驟504,步驟504,判斷是否接收到新的流控報文,如果是則返回步驟502,如果沒有接收到新的流控報文,則執(zhí)行步驟505,繼續(xù)轉(zhuǎn)發(fā)正常的業(yè)務(wù)報文,如果定時時間未到,則等待流控時間結(jié)束,并返回步驟503。
步驟502所述的停止正常報文的轉(zhuǎn)發(fā)可以用硬件實現(xiàn),也可用軟件實現(xiàn)。在用硬件實現(xiàn)時,可采用支持對數(shù)據(jù)流的調(diào)度、且可以將某個數(shù)據(jù)流單獨斷開的交換網(wǎng)芯片。例如,美國AMCC公式推出的nP3400網(wǎng)絡(luò)處理器內(nèi)置的交換網(wǎng)芯片,可將數(shù)據(jù)流分為16個,每個流對應(yīng)一個端口或VC-TRUNK通道,可單獨關(guān)閉發(fā)往端口或VC-TRUNK通道的業(yè)務(wù)數(shù)據(jù)報文。在用軟件方法來實現(xiàn)時,可以為每個端口或VC-TRUNK通道建立一個或多個隊列,對需要暫停發(fā)送數(shù)據(jù)的端口或VC-TRUNK通道,可停止對該隊列的調(diào)度以斷開隊列,這樣報文就不會從該端口或VC-TRUNK通道送出,從而實現(xiàn)了單獨關(guān)閉發(fā)往端口或VC-TRUNK通道的業(yè)務(wù)數(shù)據(jù)報文。
權(quán)利要求
1.一種城域傳輸設(shè)備中虛容器映射通道的流量控制方法,其特征在于,該方法至少包括以下步驟A)接收端傳輸設(shè)備判斷本端的虛容器映射通道是否發(fā)生擁塞,如果是則發(fā)送攜帶有該通道標(biāo)識號的流控報文;B)接收到流控報文的傳輸設(shè)備根據(jù)該流控報文中的通道標(biāo)識號暫停轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)數(shù)據(jù)報文,直至該流控報文中的流控時間結(jié)束并且尚未接收到新的流控報文后再繼續(xù)轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)報文。
2.根據(jù)權(quán)利要求1所述的流量控制的方法,其特征在于,所述步驟B進(jìn)一步包括接收到流控報文的傳輸設(shè)備啟動其流控定時器,判斷所述流控時間是否結(jié)束,如果未結(jié)束則等待流控時間結(jié)束。
3.根據(jù)權(quán)利要求1所述的流量控制的方法,其特征在于,所述步驟A進(jìn)一步包括接收端傳輸設(shè)備啟動控制定時器,將所述的流控報文定時地發(fā)送,直至擁塞消失。
4.根據(jù)權(quán)利要求1、2或3所述的流量控制的方法,其特征在于,所述步驟A包括,接收端傳輸設(shè)備為各虛容器映射通道接收的業(yè)務(wù)數(shù)據(jù)報文分別計數(shù),判斷虛容器映射通道的業(yè)務(wù)數(shù)據(jù)報文的數(shù)目是否超過預(yù)定的流控門限值,如果是則將流控報文發(fā)送至發(fā)送端傳輸設(shè)備端口。
5.根據(jù)權(quán)利要求1、2或3所述的流量控制的方法,其特征在于,所述步驟A包括接收端傳輸設(shè)備判斷虛容器映射通道的先進(jìn)先出緩存區(qū)是否溢出,如果溢出則將流控報文發(fā)送至該接收端傳輸設(shè)備的端口。
6.根據(jù)權(quán)利要求1所述的流量控制的方法,其特征在于,在802.3x流控幀的幀頭添加通道標(biāo)識號形成所述的流控報文。
7.根據(jù)權(quán)利要求1所述的流量控制的方法,其特征在于,所述通道標(biāo)識號與虛容器映射通道一一對應(yīng),其長度根據(jù)虛容器映射通道的數(shù)目確定。
全文摘要
本發(fā)明公開了一種城域設(shè)備中虛容器映射通道的流量控制方法,其特征在于,該方法至少包括以下步驟A)判斷接收端傳輸設(shè)備的虛容器映射通道是否發(fā)生擁塞,如果是則發(fā)送攜帶有該通道標(biāo)識號的流控報文;B)接收到流控報文的傳輸設(shè)備根據(jù)該流控報文中的通道標(biāo)識號暫停轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)數(shù)據(jù)報文,直至該流控報文中的流控時間結(jié)束并且尚未接收到新的流控報文后再繼續(xù)轉(zhuǎn)發(fā)該虛容器映射通道的業(yè)務(wù)報文。本發(fā)明可對各VC-TRUNK通道分別進(jìn)行流量控制,與現(xiàn)有技術(shù)相比,解決了原SDH體系中無流量控制的問題。
文檔編號H04J3/16GK1499793SQ0214890
公開日2004年5月26日 申請日期2002年11月8日 優(yōu)先權(quán)日2002年11月8日
發(fā)明者劉明偉, 李大為 申請人:華為技術(shù)有限公司