通過單一通信交換機交換異步傳輸模式、時分復用和分組數據的方法和裝置的製作方法
2023-07-17 21:10:26
專利名稱:通過單一通信交換機交換異步傳輸模式、時分復用和分組數據的方法和裝置的製作方法
背景技術:
1.發明領域本發明涉及電信網絡。更具體地講,本發明涉及旨在通過單個通信交換機交換ATM(異步傳輸模式)、TDM和分組數據的方法和裝置。
2.現有技術旨在利用寬帶電信網的最早技術之一稱之為時分復用(TDM)。TDM的工作原理簡單易懂。將高頻信號分成多個時隙,多個低頻信號可在這些時隙內從一點傳送到另一點。不過,TDM的實際實現非常複雜,要求複雜的成幀技術和緩衝器,以便精確地對信號進行復用和去復用。TDM的北美標準(稱為T1或DS1)利用24個交織的信道,這些信道的總速率為1.544Mb/s。TDM的歐洲標準稱為E-1,它利用30個交織信道,其速率為2.048Mb/s。復用結構基於多個T1或E-1信號,最常用的一種為T3或DS3。T3信號具有672個信道,等效於28個T1信號。TDM最初是為語音信道設計的,不過如今同時將其用於語音和數據。
利用寬帶數據通信的早期方法稱為分組交換。分組交換和TDM之間的差異之一為,分組交換包括用於糾錯和當分組在傳輸中丟失或破壞時重傳分組的方法。另一差別在於,不像TDM中的信道,分組長度不一定是固定的。而且,根據分組中包含的地址信息將分組導向其目的地。與此相反,TDM信道基於它們在固定幀中的位置導向其目的地。今天,廣泛使用的分組交換協議稱為IP(網際網路協議)。
最近,稱為ATM和SONET(同步光纖網)的寬帶技術已經開發出來。ATM網絡基於固定長度分組(信元),每個分組53位元組(48位元組淨荷加5位元組開銷)。ATM網絡的特性之一為,籤署業務質量(QOS)等級的用戶合同。這樣,基於QOS為ATM信元分配不同的優先級。例如,恆定比特率(CBR)業務具有最高優先級,實質上等效於提供的TDM連接。可變比特率(VBR)業務是中級優先級的業務,它允許擁塞期間的信元丟失。不定比特率(UBR)業務的優先級最低,用於可以容忍高延遲的數據傳輸,例如電子郵件傳輸。
SONET網絡基於810位元組的幀,783位元組的同步淨荷包(SPE)在其中浮動。淨荷包浮動是因為網絡中的時間差異。淨荷的精確位置通過相對複雜的填充/去填充系統和指針確定。在北美,基本的SONET信號稱為STS-1(或者OC-1)。SONET網絡包括各種SONET信號構成的層次結構,其中,多達768個STS-1信號復用在一起,提供21504個T1信號(768個T3信號)的容量。STS-1的幀速率為51.84Mb/s,每秒8000幀,每幀125μs。在歐洲,基本信號(STM-1)的速率為155.520Mb/s,等效於北美STS-3速率(3*51.84=155.520),且淨荷部分稱為虛容器(VC)。為了利於較低速率數位訊號傳輸,SONET標準利用子STS淨荷映射,稱為虛支路(VT)結構(ITU(國際電信聯盟)把這些稱為支路單元或TU)。四個虛支路的大小定義為VT-1.5、VT-2、VT-3和VT-6。VT-1.5的數據傳輸率為1.728Mb/s,容納帶開銷的T1信號。VT-2的數據傳輸率為2.304Mb/s,容納帶開銷的E1信號。VT-3的數據傳輸率為3.456Mb/s,容納帶開銷的T2信號。VT-6的數據傳輸率為6.912Mb/s,容納帶開銷的DS2信號。
上述的每種寬帶技術都可分類為TDM、ATM或者分組技術,其中SONET是一種複雜的TDM形式。從前述,應理解TDM、ATM以及分組各有自身的獨特傳輸要求。所以,採用不同種類的交換機對這些不同種類的信號進行路由。具體講,TDM要求精確的定時同步;ATM要求特別注意信元的優先級和QOS;以及分組(例如IP)要求具有處理變長分組的能力。因為這些原因,TDM、ATM和變長分組交換的交換技術以不同的方式發展。業務提供商和網絡設計者因此被迫分別處理這些技術,通常提供重疊的網絡,其中具有多套不同的只可在單一網絡中使用的設備。
發明概述因此本發明的目的是提供這樣的方法和裝置,籍此各種不同種類的寬帶信號可以通過單一交換結構交換。
本發明的另一目的是提供一種網絡單元,這種網絡單元可以通過同一交換結構對TDM、ATM和變長分組流量進行交換。
本發明的再一目的是提供一種網絡交換晶片集,該晶片集可與相同的晶片集組合起來,以提供可伸縮的網絡交換結構。
本發明的又一目的是提供一種網絡交換機,這種網絡交換機允許TDM、ATM和變長分組流量之間的靈活劃分。
本發明的另一目的是提供一種網絡交換機,這種網絡交換機具有冗餘交換平面,因此交換單元或鏈路的失效不會立即引起連接失效。
本發明的再一目的是提供一種網絡交換機,這種網絡交換機處理組播和單播語音以及數據傳輸。
本發明的又一個目的是提供一種網絡交換機,這種網絡交換機支持克洛斯(Clos)體系結構以及摺疊式Clos體系結構。
根據以下將要對其進行詳述的這些目的,本發明的網絡交換機包括至少一個埠處理器(附圖中亦稱為「業務處理器」)和至少一個交換單元。埠處理器具有SONET OC-x(SONET/SDH STS-x/STM-y)接口(用於TDM流量)、UTOPIA(用於ATM的通用測試和操作接口)和基於UTOPIA幀的接口(用於ATM和分組流量),以及與交換單元的接口。一種示範性埠處理器具有的總I/O帶寬等效於一個SONET OC-48信號。一種示範性交換單元具有12×12個埠,支持的總帶寬為30Gbps。
根據本發明的一種典型交換機包括多個埠處理器和多個交換單元。對於48×48「摺疊式」交換機,48個埠處理器連接到(四個一組)12個(第一和第三級)交換單元,這12個交換單元中的每一個連接到8個(第二級)交換單元。根據本發明的三級無阻塞交換機提供的總帶寬為240Gbps,五級無阻塞交換機提供的總帶寬為1Tbps。一種示範性摺疊式三級Clos體系結構的交換機包括48個埠處理器和20個交換單元。4個埠處理器連接到12個交換單元(第一和第三級)中的每一個。這12個(第一和第三級)交換單元中的每一個連接到8個(第二級)交換單元。根據目前的最佳實施例,每個處理器配備了用於連接一個交換單元的兩個埠或者兩個交換單元的一個埠的部件,從而在鏈路失效時提供冗餘。
根據本發明,9行,每行1700個時隙的數據幀用於通過一個或多個交換單元將ATM、TDM和分組數據從一個埠處理器傳送到同一或另一埠處理器。每幀在125μs內傳輸,每行在13.89μs內傳輸。每個時隙包括4比特標籤加4位元組淨荷(即,36比特)。時隙帶寬(整個幀的1/1700)為2.592Mbps,足以運載帶開銷的E-1信號。4比特標籤為跨連接指針,在準備TDM連接時建立。幀的最後20個時隙為鏈路開銷而保留。這樣,這種幀能夠攜帶相當於1680個E-1TDM信號,即使STM-16的容量只有1008個E-1信號。
對於ATM和分組數據,為64位元組的淨荷定義了16個時隙的PDU(協議數據單元)(大得足以容納ATM信元和交換開銷)。每行允許最多96個PDU。PDU路由不需要PDU的16個4比特標籤,它們因此被用作保護ATM或變長分組淨荷的奇偶校驗比特。這64位元組淨荷中的12位元組(96比特)由交換機用於內部路由。剩下的52位元組用於實際的淨荷,這足以運載一個ATM信元(不具有一字節的HEC),以及足以運載分段後的較大分組。這些PDU藉助28比特路由標籤通過交換機自路由,這允許通過7個交換級每級利用4比特的路由。PDU剩餘的68比特用於各種其它尋址信息,例如表示PDU是否包含ATM信元、分組或控制消息,是否要中止分組重組,淨荷是否是第一分段、中間分段或最後分段,最後分段中有多少淨荷字節,分段序列計數以及目的流標識符。
幀的最後20個時隙中的鏈路開銷(LOH)功能上類似於SONET幀的線路和段開銷。LOH可以包含用在串行數據流中對信元和行邊界定界(delineate)的36比特幀對齊圖案、32比特交換和鏈路標識符以及32比特填充模式。
由於ATM和分組流量一般不配置,故必須在流量進入系統時在ATM和分組連接之間裁定帶寬。而且,由於TDM流量與ATM和分組流共享相同幀,故必須對帶寬進行裁定,同時保持TDM時間。根據本發明,通過針對幀的每行中的各PDU實現的一種請求與授權體系裁定帶寬。交換單元為每鏈路提供3個信道,其中兩個用於運載數據和仲裁請求,另一個用於運載仲裁授權。根據目前的最佳實施例,為幀中下一行的各PDU生成48比特(1.5個時隙)的請求成分。每個交換單元包括單個請求分析器和各輸出鏈路的獨立請求仲裁模塊。請求成分由埠處理器生成,包括交換機內「逐跳」路由標籤和優先級信息。請求成分由交換單元緩衝,而如果緩衝器已滿,交換單元就丟棄低優先級請求成分。歷經交換結構未被丟棄的請求成分在一「行時間」,即13.89微秒內,返回其發源的埠處理器。如上所示,請求在「帶內」與數據交織在一起,而授權(返回的請求成分)則利用每條鏈路的第三信道在帶外進行。
為了保持TDM流量的定時,分離VT/VC幀內的V1-V4位元組,並在交換機入口由埠處理器緩存VC字節。在交換機出口由埠處理器再生V1-V4位元組。在同時具有PDU和TDM流量的行中,在該行中先配置PDU,後配置TDM時隙。
根據目前的最佳實施例,每個交換單元包括組播控制器和獨立的組播PDU緩衝器。提供了兩個備選組播實施例。第一實施例要求較少的門電路,最適於組播不是流量主要部分的環境。第二實施例要求更多的門電路來實現。不過,它更適於頻繁出現組播的環境。第二實施例在建立組播路徑時要求更大延遲,但組播數據的延遲較小。根據第一實施例,組播請求成分以同標準單播請求成分相同的方式流經交換機。在需要對消息組播時,逐跳(hop-by-hop)欄位中該交換級的比特編碼表示該請求為組播請求。將該請求轉發至組播控制器。在授權路徑上,如果組播循環緩衝器中存在容納數據的空間,組播控制器就作出一項授權。一旦數據已發送到組播緩衝器,組播控制器就檢查數據標頭並確定需要從哪一條輸出鏈路將其發送出去。此時,組播控制器發出多個請求消息,對這些請求消息的處理方式與單播請求相同。對發送請求、接收授權、傳送PDU重複這個過程,即在每個組播PDU傳輸之前,請求和授權必須遍歷交換機。根據第二實施例,通過發送多個請求(每跳一個),直到所有跳都得到授權,這樣將組播路徑保留一段時間。一旦以這種方式將路徑建立起來,就一個接一個無延遲地組播PDU,直到保留時間到期或者不再有PDU要傳送。
在參考結合附圖所作的詳細說明之後,本發明的其它目的及優點就對本領域的技術人員變得顯而易見。
附圖簡要說明
圖1是根據本發明的埠處理器的簡化示意圖;圖2是根據本發明的交換單元的簡化示意圖;圖3是說明本發明的數據幀結構的示意圖;圖3a是說明根據本發明的目前最佳PDU格式的示意圖;圖3b是說明包括給交換機第一級的請求成分的行結構示意圖;圖3c是說明包括給交換機第二級的請求成分的行結構示意圖;圖4是說明根據本發明的三級48×48交換機的示意圖5是說明根據本發明的48×48摺疊式Clos體系結構交換機的示意圖;最佳實施例的詳細說明本發明的裝置一般包括埠處理器和交換單元。圖1說明埠處理器10的主要特性,圖2說明交換單元100的主要特性。現參照圖1,埠處理器10包括SONET接口和UTOPIA接口。在入口(RX)側,SONET接口包括串並轉換器12、SONET成幀器和傳輸開銷(TOH)提取器14、高階指針處理器16以及路徑開銷(POH)提取器18。針對在SPE中傳送的ATM和IP分組,SONET接口的入口側包括48個HDLC(高級數據鏈路控制)成幀器20(針對IP)、48個信元定界器22(針對ATM)、以及48個64位元組的FIFO 24(同時針對ATM和IP)。針對在SPE中傳送的TDM信號,SONET接口的入口側包括去復用器和低階指針處理器26。在出口(TX)側,SONET接口包括針對TDM信號的復用器和低階指針處理器28。針對在SPE中傳送的ATM和IP分組,SONET接口的出口側包括48個64位元組的FIFO 30、48個HDLC幀生成器和48個信元映射器34。SONET接口的出口側還包括POH生成器36、高階指針生成器38、SONET成幀器和TOH生成器40以及並串轉換接口42。在入口側,UTOPIA接口包括針對ATM和分組的UTOPIA輸入44和一個4×64位元組FIFO 46。在出口側,UTOPIA接口包括96個4×64位元組FIFO 48和UTOPIA輸出50。
埠處理器10的入口部分還包括交換映射器52、並串交換結構接口54以及請求仲裁器56。埠處理器的出口側還包括串並交換結構接口58、交換去映射器60和授權生成器62。
為了處理ATM和分組流量,在入口部分,埠處理器10使用描述符構造器64、IPF和ATM查找處理器66、IP分類處理器68、RED(隨機早期檢測)/管制處理器70,所有這些部件都可位於片外。在將ATM信元和分組交給(接收)數據鏈路管理器72之前由這些單元對它們進行處理。埠處理器的出口部分提供了(發送)數據鏈路管理器74和發送調度器和整形器76。這兩個單元都可位於片外。埠處理器還配備了主機接口78和加權循環調度器80。
交換機入口處埠處理器的目的是對TDM、分組以及ATM數據拆包,並根據下面相對於圖3描述的數據幀對其成幀。埠處理器還在提出交換單元內鏈路帶寬的仲裁請求的同時緩存TDM和分組數據,並如下面更詳細的描述那樣,授權通過交換機接收的仲裁請求。為了保持TDM流量時間,分離SONET幀內的V1-V4位元組,並在交換機出口處緩存VC字節。在同時具有PDU和TDM流量的行中,最好在該行中先配置PDU,後配置TDM。在交換機的出口側,埠處理器重組TDM、分組和ATM數據。在交換機的出口處再生V1-V4位元組。
儘管圖1中未示出,埠處理器10包括雙交換單元接口,該接口允許將埠處理器10連接到兩個交換單元或一個交換單元的兩個埠。當同時使用兩個接口時,「備用」鏈路僅攜帶幀信息,直到主鏈路中發生故障,這時通過備用鏈路發送數據。這就提供了交換機的冗餘,因此即使部分交換機失效,各連接亦得以保持。
現轉向圖2,根據本發明的交換單元100包括12個「數據路徑和鏈路帶寬仲裁模塊」102(為清晰起見僅在圖2中顯示一次)。交換單元100中每個模塊102提供一個鏈路輸入104和一個鏈路輸出106。本領域的技術人員會理解,進入任何鏈路輸入的數據依賴於路由信息,可以通過任何鏈路輸出出去。根據本發明,每個模塊102提供兩條前向路徑108、110、112、114和一條返回「授權」路徑116、118。這三條路徑總地構成單一信道。提供兩條數據路徑的原因是為了增加每個信道的帶寬。將這兩條數據路徑交織起來,以提供單一「邏輯」串行數據流,其帶寬超過(兩倍於)單一物理數據流帶寬。數據通過輸入鏈路總線120和輸出鏈路總線122從輸入鏈路104路由到輸出鏈路106。返迴路徑授權通過授權總線124從輸出鏈路106路由到輸入鏈路104。
每個「數據路徑和鏈路帶寬裁定模塊」102的前向路徑包括數據流解串器126、數據流去映射器128、行緩衝映射器130、行緩衝器132、請求仲裁模塊134、數據流映射器136以及數據流串行化器138。每個模塊102的返回授權路徑包括授權流解串器140、授權流去映射器142、授權仲裁模塊144、授權流映射器146以及授權流串行化器148。
交換單元100還包括如下模塊鏈路同步和定時控制150、請求分析器152、授權分析器154以及鏈路RISC處理器156,這些模塊僅實例化一次,它們支持12個「數據路徑和鏈路帶寬裁定模塊」102的功能。交換單元100還包括下列模塊配置RISC處理器158、系統控制模塊160、測試圖案生成器和分析器162、測試接口總線復用器164、單連結PLL 166、核心PLL 168以及JTAG接口170。這些模塊僅實例化一次,它們支持其它模塊但沒有直接參與「交換」。
根據本發明的典型交換機包括多個埠處理器10和多個交換單元100。例如,如圖4所示,48個「輸入」埠處理器連接到12個「第一級」交換單元,4個處理器對1個交換單元。每個第一級交換單元連接到八個第二級交換單元。每個第二級交換單元連接到12個第三級交換單元。4個「輸出」埠處理器連接到各個第三級交換單元。從前面所述,本領域的技術人員會理解,本發明的埠處理器和交換單元可以布置在如圖5所示的摺疊式Clos體系結構中,其中單一交換單元同時充當第一級和第三級。
在詳細描述埠處理器10和交換單元100的功能之前,應理解本發明利用了獨特的成幀技術,它非常適於在相同幀中運載TDM、ATM和分組數據的組合。現轉向圖3,根據本發明,9行、每行1700時隙的數據幀用於通過一個或多個交換單元將ATM、TDM和分組數據從一個埠處理器傳送到一個埠處理器。每幀在125微秒內傳送,每行在13.89微秒內傳送。每個時隙包括4比特標籤加4位元組淨荷(即36比特)。時隙帶寬(整個幀的1/1700)為2.592Mbps,足以運載帶開銷的E-1信號。4比特標籤為跨連接指針,它在配置TDM連接時建立。為鏈路開銷(LOH)保留幀的最後20個時隙。因此,幀能夠運載相當於1680個E-1 TDM信號。幀的最後20個時隙中的鏈路開銷(LOH)在功能上類似於SONET幀的線路和段開銷。
由交換映射器(圖1中的52)插入LOH時隙的內容。有四種類型的數據可以插入LOH時隙中。36比特成幀圖案被插入二十時隙之一。成幀圖案對所有輸出鏈路都是相同的,並且可以通過軟體可編程寄存器配置。在另一時隙中插入32位狀態欄位。狀態欄位對每條輸出鏈路而言都是唯一的,並且可以通過軟體可編程寄存器配置。在另一時隙中插入32位交換和鏈路標識符。該交換和鏈路標識符包括4比特鏈路號、24比特交換單元ID和4比特級號。32比特塞入圖案插入未被成幀、狀態或ID利用的時隙中。塞入圖案對所有輸出鏈路而言都是相同的,並且可以通過軟體可編程寄存器配置。
對於ATM和分組數據,為64位元組淨荷定義16個時隙的PDU(協議數據單元)(足以容納帶開銷的ATM信元)。PDU格式如圖3a所示。每行允許最大96個PDU(應注意,一行SONET OC-48中最多的ATM信元數為75)。因為PDU路由不需要16個4比特標籤(每個時隙中的比特位置32-35),故將其用作奇偶校驗位,以保護ATM或IP淨荷。在64位元組淨荷中,12位元組(96比特)由交換機用於內部路由(時隙0-2,比特位置0-31)。這剩下52位元組(時隙3-15)用於實際淨荷,足以運載一個ATM信元(不帶一字節的HEC),且足以容納分段後的較大分組。PDU利用28比特路由標籤通過交換機自路由(時隙0,比特位置0-27),這允許通過7級每級使用4比特的路由。PDU剩餘的68比特用於各種其它的尋址信息。
如圖3a所示,時隙0處的PDU比特,比特30-31用於識別該PDU是否是空閒(00)、ATM信元(01)、IP分組(10)或者控制消息(11)。時隙1處比特位置為30-31的兩個比特,用於表示產生PDU的晶片的內部協議版本。對於分組和控制消息,當FragID(分段ID)欄位表示PDU是分段分組的最後一段時,「有效字節」欄位(時隙1,比特位置24-29)用於指示該PDU運載了多少淨荷字節。VOQID欄位(時隙1,比特位置19-23)識別PDU的業務類別。業務類別的值可以從0到31,其中0的優先級最高,31的優先級最低。時隙1、比特17-18處的FragID表示該PDU是否是完整的分組(11)、第一分段(01)、中間分段(00)或者最後一段(10)。如果正在中止該分組的重組,例如因為早期分組(或部分分組)丟棄操作,就將時隙1、比特位置16處的A比特置位。當該比特置位,就由輸出埠處理器將此時接收的分組的分段丟棄。保留標記為FFS的欄位以供將來使用。時隙1,比特0-3處的Sep#欄位是對分組分段進行計數的模塊化計數器。時隙2、比特0-16處的DestFlowId欄位識別該PDU所屬的目的埠處理器中的「流」。「流」是有效的數據連接。每埠處理器有128K流。
如上所述,由於ATM和分組流量一般不是配置的,當流量進入系統時必須在ATM和分組連接中裁定帶寬。而且,因為TDM流量和ATM和分組流量共享相同幀,在保持TDM定時的同時必須裁定帶寬。根據本發明,通過一種針對幀的每行中每個PDU實現的請求和授權體系裁定帶寬。埠處理器生成的請求成分包括「逐跳」內部交換路由標籤、交換單元級和優先級信息。根據目前最佳的實施例,在一個三相鄰時隙束中發送兩個請求成分,並且在請求成分束之間必須存在至少8個時隙的非請求成分流量。請求成分束之間的時間間隔由交換單元中的仲裁邏輯和埠處理器用於處理這些請求成分。
圖3b說明一個可以如何分配行時隙以運載PDU和請求成分的示例。如所示,一行的最大PDU容量為96。能夠運載單個PDU的16個時隙的塊稱為「組」。對於行中的每組,運載48比特請求成分(RE)要求1.5個時隙的帶寬。圖3b說明兩個RE如何插入頭24組中每組內的3個時隙。所有RE應該儘可能早地載入行中,以在一行開始之後允許RE儘快以行波方式通過多級交換結構。
在給定系統要求和實現約束情況下,目前將如圖3b所示的結構視為最佳格式(針對第一鏈路)。它先將各RE放在行中,但使它們的間隔足夠大以允許仲裁。根據目前的最佳實施例,依賴於配置交換機的哪一條鏈路,行結構有所不同。圖3b表示埠處理器和交換結構第一級的交換單元之間的行結構。兩個RE中的第一塊佔據行的頭三個時隙。目前處理RE的仲裁邏輯的實現要求輸入鏈路上每個3時隙RE塊之間至少有12個時隙的延遲。而且,交換單元收到行的最初的RE的時刻與RE插入到交換單元的輸出鏈路的時刻之間必須存在一些延遲。這種延遲由仲裁邏輯用於將輸入RE映射到RE緩衝器中。這樣,第一級和第二級之間鏈路的行結構應該具有從時隙32開始的第一組RE。這在圖3c中說明,圖3c顯示與偏移32個時隙後的圖3b相同的結構。
根據目前的最佳實施例,TDM流量可以以每行最精細的一時隙粒度通過交換單元交換。每行的給定時隙的TDM流量通過相同的路徑交換。交換單元不允許幀中不同行的同一TDM數據時隙具有不同的交換路徑。這意味著交換機不關心當前行號(一幀內)是什麼。行編號僅在解釋鏈路開銷時隙內容時才重要。
對於每行最精細的一時隙粒度,交換單元可以交換的TDM流量的最小交換帶寬為2.52Mbps。由於一個時隙可以運載相當於SONETSPE四列的流量,可以說交換單元以VT1.5或VT2信道粒度交換TDM流量。儘管VT1.5信道只佔據SONET SPE中的三列,仍將把它映射到能夠容納四列SPE的時隙格式中。如上所述,運載TDM流量的36比特時隙內容格式為4比特標籤和32比特淨荷。標籤欄位定義如下表1所示。
表1通過預配置連接表,交換單元知道時隙是否包含TDM數據。這些表格實現為針對各輸入鏈路的輸入交叉連接RAM。輸入時隙號是到RAM的地址,而RAM的數據輸出包含目的輸出鏈路和時隙號。連接表可由中央系統控制器改變,它可以通過以下兩種路徑任意之一向交換單元發送控制消息(1)主機接口埠或者(2)通過鏈路數據信道發送的帶內控制消息。由於TDM連接不會頻繁改動,這種用控制消息緩慢更新連接表的方法是可接受的。外部軟體模塊的責任是確定並配置交換單元內的連接表,這樣TDM數據就不會丟失。
現回到圖1,埠處理器10的接收側SONET接口包括解串器12和成幀器14。該接口可以配置為一個155MHz、16位寬的OC-48、4個622MHz的串行OC-12或者4個155MHz的串行OC-3。當配置為一個OC-48時,不用解串器12。當配置為4個OC-12或一個OC-48時,解串器12將串行數據流轉換成16位寬的並行流。解串器12包括將輸入串行時鐘16分頻的電路。解串器的輸入包括一位串行數據輸入、一位622MHz時鐘和一位155MHz時鐘。輸出包括16位並行數據輸出、一位38.87MHz時鐘和9.72MHz時鐘。
將並行數據發送到SONET成幀器和傳輸開銷(TOH)模塊14。所有輸入信號根據BELLCORE GR-253標準成幀,此標準通過引用結合於本說明書中。通過掃描一系列16比特字尋找F628圖案以確定字節邊界和幀邊界。成幀器對圖案F6F6F6282828成幀。由成幀器14將STS-N幀內獨立的SONET SPE去復用。最多有4個獨立的線路接口,因此成幀器14包括4個獨立成幀器。成幀器的輸入包括16位並行數據輸入和可接受155MHz、38.87MHz或9.72MHz的一位時鐘。成幀器的輸出包括16位並行數據輸出、一位幀開始(SOF)指示、用於指示SONET SPE號的6位SPE ID。SPE編號相對於線路側埠配置從1直到48。
模塊14還終結各獨立SONET SPE的傳輸(段和線路)開銷。由於線路側最多有48個OC-1,故除非對塊分時,否則要提供48個傳輸開銷模塊。TOH終結的輸入與以上有關成幀器討論的那些相同。6位SPE ID允許數據進入該模塊。無需輸出數據總線,因為當流量沿同一數據總線路由到該模塊和下一模塊(Ptr Proc 16),數據路徑只流進該塊但不穿過它。
指針處理器16利用SONET指針(TOH中的H1、H2和H3位元組)正確地定位SONET封包內承載的淨荷數據的開始。SONET指針識別路徑開銷字節#1的位置。指針處理器16負責容納指針調整,指針調整是為了調整淨荷數據和SONET封包字節頻率差而插入的。因為有最多48個OC-1,故除非對模塊分時,否則有48個指針處理器模塊與48個開銷終結模塊配對。指針處理器16的輸入與成幀器和TOH終結器14的輸入相同。輸出包括16位寬的並行數據輸出、一位與SPE 3的字1一致的SPE開始指示符、一位跳過開銷、容納指針移動的SPE有效指示符以及一位指示路徑開銷字節在輸出總線上的POH有效指示符。
POH處理器18處理48個SONET SPE中每個的9位元組路徑開銷。因為最多有48個SPE,故除非將處理器分時復用,否則要提供48個路徑開銷處理器。路徑開銷處理器18的輸入包括8位並行數據輸入、4位SPE ID、一位SPE開始指示符以及一位POH有效指示符。輸出包括一位V1指示符、J1信息、告警以及路徑狀態。有關模塊14、16和18的更多的細節由GR-253標準和標準SONET映射器/去映射器附帶的文檔(例如可從Lucent或TranSwitch獲得的那些)提供。
一旦已找到輸入SONET/SDH信號的幀邊界,而且已通過指針處理或者通過Telecom總線I/F控制信號確定SPE的位置,以及已處理路徑開銷,就從SPE中提取淨荷。SPE可以承載TDM流量、ATM信元或IP分組。各SPE的流量類型通過微處理器接口78配置。各SPE只能運載一種類型的流量。各SPE的數據直接路由到正確的淨荷提取器。
將包含分組和ATM信元的SPE分別發送到HDLC成幀器20和信元定界模塊22。每個SPE可配置用於運載分組數據(SONET的分組)。埠處理器10支持通過以下這些SONET(SDH)信號傳送SONET的分組STS-1(VC-3)、STS-3c(VC-4)、STS-12c(VC-4-4c)以及STS-48c(VC-4-16c)。數據報封裝在PPP分組中,PPP分組用HDLC協議成幀。把HDLC幀以字節映射到SONET SPE和高階SDH VC中。HILC成幀器20執行HDLC成幀並將PPP分組轉發至FIFO緩衝器24,PPP分組等候組裝成PDU。成幀器20的輸入包括16位並行數據輸入、6位SPE ID、一位SPE有效指示符以及一位PYLD有效指示符。成幀器20的輸出包括16位數據總線、一位分組開始指示符以及一位分組結束指示符。有關從SONET提取分組的更多細節可在IETF(網際網路工程任務組)RFC 1619(1999)中找到,通過引用將RFC 1619(1999)結合於本文中。
信元定界模塊22基於1998年的ITU-T G.804標準「ATM信元到準同步數字層次結構(PDH)的映射」,該標準的全部公開通過引用結合於本說明書中。信元定界模塊22的輸入包括16位並行數據總線、6位SPE ID、一位SPE有效指示符以及一位POH有效指示符。輸出包括16位並行數據總線和一位POH有效指示符。輸出包括16位並行數據總線和一位信元開始指示。在等待組裝成PDU期間,信元放置在FIFO 24中。有關從SONET提取ATM的細節可在ITU-T G.804中找到。
將TDM數據路由到識別低階VT和VC的TDM去復用器和低階指針處理器模塊26。如果特定的SPE配置用於TDM數據,那麼使用主機接口78描述TDM映射。每個SPE可以運載VC-11、VC-12、VC-2、VC-3和VC-4的組合。單個STS-1淨荷中有7組VT,同一VT組有12列。在一個VT組中,所有VT必須相同。相同STS-1 SPE內的不同VT組可以運載不同的VT類型,但要求組內的所有VT屬於同一類型。根據各SPE的配置,對SONET信號去復用以解出VC和VT。無需對定位容器和支路所要求的流量作解釋,因為所有這種信息都可在通過主機接口78配置的配置表(未示出)中找到。幀通過SPE路徑開銷中的H4位元組定位在VC和VT內。指針處理按VT超幀中V字節所示執行。TDM去復用器和低階指針處理器模塊26的輸入包括16位並行數據、6位SPE ID、一位SPE開始指示符、一位SPE有效指示符、一位V1指示符以及一位POH有效指示符。TDM去復用器和低階指針處理器模塊26提供到交換映射器52的下列輸出16位並行數據、一位VT/VC有效指示符、6位SPE ID以及5位VT/VC編號(0-27)。TDM數據放置在如上所述的幀中的保留時隙中,參照交換映射器52的更詳細的描述如下。有關TDM提取的更多細節可在GR-253規範中找到。
來自UTOPIA接口44的IP分組和ATM信元放置在FIFO 46中。來自FIFO 24的分組和信元與來自FIFO 46的分組和信元合併。描述符構造器64確定數據是否是ATM信元或IP分組,並生成相應的中斷以觸發IPF/ATM查找處理器66執行IP路由查找或者ATM查找。通過搜索每個分組的IP目的地址和需要分類的分組的IP源地址執行IP路由查找。通過搜索信元的VPI/VCI欄位執行ATM查找。IP分組和ATM信元的IPF/ATM查找處理器66的輸出包括17位流量索引、5位QOS索引以及顯示IP分組是否需要分類的指示符。如果IP分組需要分類,就將分組傳送給IP分類處理器68分類;否則,將其傳送給分組處理的下一級、RED/管制處理器70。RED/管制處理器70執行隨機早期檢測和加權隨機早期檢測以進行IP擁塞控制,執行漏桶管制以進行ATM流量控制,以及執行早期分組和部分分組丟棄以控制包含分組的ATM流量。目前埠處理器10的最佳實施例包括模式寄存器(未示出),它可以處於旁路模式以全局關閉IP/ATM轉發。在旁路模式中,使用外部設備執行IP/ATM轉發,並將描述符構造器64生成的數據描述符直接路由到輸出FIFO(未示出)。
FIFO 24和46存儲的所有數據以52位元組「塊」存在。如果IP分組比52位元組長,就將其分段成多個52位元組塊。各塊的輸入數據描述符包括塊是否是ATM信元或分組、是否是分組開始或分組結束、分組長度以及源和目的埠號的指示。在經過IPF/ATM查找處理器66和IP分類處理器68處理之後,就將輸出數據描述符寫入由RED/管制處理器70讀取的FIFO(未示出)。
RED/管制保留的信元和分組由接收數據鏈路管理器72讀取,如以上參照圖3a所述,接收數據鏈路管理器72創建PDU。根據目前的最佳實施例,經過處理的信元和分組存儲在外部FIFO中,無論何時該FIFO不為空,就讀該FIFO。
如圖1所示,交換映射器52從TDM去復用器和低階指針處理器26接收TDM流量以及從數據鏈路管理器72接收PDU。如上所述,交換映射器還接收請求成分。請求成分由仲裁器56形成,更詳細的描述如下。交換映射器的功能是在以上參照圖3和3a-c描述的幀中布置TDM數據、PDU以及請求成分。
交換映射器52包括與ATM/IP PDU相關的狀態機(未示出)。數據鏈路管理器72利用64位接口將PDU寫入外部FIFO(未示出)中。數據在32位時隙中從外部FIFO傳送到交換映射器52加4位奇偶校驗位。與外部PDU FIFO相關的狀態機監視FIFO的狀態並維持數據完整性。
數據鏈路管理器72、仲裁器56、交換映射器52以及加權循環調度器80連同存儲器和其它支持電路(未在圖1中示出)可以統稱為「接收交換控制器」。如上詳述,根據ATM VPWCI或IP源和目的地執行查找,這樣處理每個輸入的ATM信元和分組。這種查找首先驗證連接是有效的,如果有效,它就返回17位索引。對於ATM信元,索引指向一組VC參數和路由信息。l7比特索引最多支持128KIP和ATM流同時流經埠處理器。ATM信元封裝在信元容器中,並存儲在外部存儲器內128K個隊列之一中。這128K個隊列由數據鏈路管理器72管理。如上所述,將IP分組分段成若干52位元組塊,這些塊中每一個封裝在信元容器(PDU)中。這些信元容器還由數據鏈路管理器存儲在外部存儲器內128K個隊列之一中。128K IP/ATM流匯聚到32個QOS隊列之一中,以便通過交換機調度。數據鏈路管理器72還將通過交換機傳送信元所要求的控制信頭匯聚到QOS隊列中,並將這些路由標籤插入31個QOS路由標籤FIFO之一中。這些隊列的其中之一為高優先級流量而保留。調度器80將被任何進入高優先級隊列的信元中斷,並將立即調度該信元使之立即離開此高優先級隊列。
調度器80負責將信元容器調度通過交換機。所用的調度算法為作用於QOS隊列的加權循環。一旦這些隊列的信元已被調度,就將來自這些隊列的控制信頭轉發至仲裁器56並存儲在請求控制表中(未示出)。請求仲裁器56根據控制信頭形成請求成分,並將這些請求轉發至交換單元映射器52,以通過交換機傳送。塊58將收到的響應這些請求的授權並行化,並由授權模塊62去幀且傳送回仲裁器模塊56。對於已授權的請求,由數據鏈路管理器72使信元容器從外部存儲器中出隊,並傳送到交換映射器52以通過交換機傳輸。
如上所述,埠處理器10支持冗餘以改善可靠性。支持兩種冗餘方案。在第一冗餘方案中,交換控制器支持冗餘路由標籤和透明路由切換。在第二冗餘方案中,埠處理器同時支持輸入和輸出方向的冗餘數據信道。
冗餘數據信道連到兩個獨立的交換結構。在附圖中,將它們稱為A和B數據信道。每個控制信頭包括兩個路由標籤,每個路由標籤具有對應的AB信道標籤。這提供了兩條通過交換機進行數據傳輸的路由。如果兩個路由標籤具有相同的信道標籤,這就考慮兩條備選路徑通過同一交換結構。如果兩個路由標籤具有不同的信道標籤,這就考慮冗餘交換結構,一個交換結構中的任何路由失敗將會引起切換,導致使用冗餘交換結構。AB信道標籤用於指示數據是否使用A數據信道或B數據信道路由。如果在經過可編程的若干次連續嘗試之後,沒有收到響應使用A信道路由標籤的請求成分的授權,則對比特置位以切換到B信道路由標籤。
如上所述,仲裁器56負責向交換映射器52發送請求以及處理源自授權去映射器62的授權。仲裁器使請求從路由標籤FIFO出隊,將該信息拷貝到請求控制表中,把FLOWID寫入FLOWID RAM中,復位對請求嘗試次數計數的請求嘗試計數器以及復位授權位。每個請求消息具有在授權消息中返回的唯一請求ID。請求ID是仲裁器請求控制表中拷貝路由標籤的索引。路由標籤與請求ID一起轉發至路由標籤格式化模塊,由格式化模塊將路由標籤格式化為請求消息,並將請求插入交換映射器52中的請求FIFO。
授權模塊62中的授權去映射器將請求ID和授權存儲到稱為grant_reqid FIFO的FIFO中。在仲裁模塊56中,根據切換位是否置位,使請求ID從A和B grant_reqid FIFO中擇一出隊。從FIFO出隊的請求ID用於設置授權寄存器中請求ID指示的比特位置處的授權位,以索引FLOWID RAM並讀取與請求ID相關的FLOWID。將此FLOWID寫入適當信道的deq-flowid FIFO,即,如果使請求ID從Areqid_fifo中出隊,就將FLOWID寫入A deqflowid_fifo。數據鏈路管理器72監視deqflowid_fifo並利用FLOWID使數據PDU從外部存儲器中出隊,並將它們發送到交換映射器52以在下一行時間內傳送。
當授權去映射器不可能再收到授權時,授權去映射器62斷言end_of_grant(結束授權)信號。在多數交換機實現中很少(如果曾經有過的話)斷言end_of_grant信號,僅在多級交換機中才更可能斷言end_of_grant信號。一旦收到end_of_grant信號,仲裁器56就開始更新請求控制表的過程。如果沒有返回針對存儲在請求控制表中的路由標籤的授權,請求嘗試計數器就加1,並利用路由標籤生成新的請求。如果請求控制表中的路由標籤已經作為RE發送了(編程的)最大次數,就將FLOWID的最高有效15比特用於索引冗餘控制表並更新指示當前路徑失效和選擇備用路由路徑的比特。
如上所述,TDM數據、ATM/IP PDU和請求消息組合成單一數據流通過交換結構傳輸。這種組合由埠處理器接收側的交換去映射器52執行。在埠處理器的發送側,交換去映射器60將TDM數據與ATM/IP PDU相分離。根據目前的最佳實施例,為去映射器60提供作為PDU FIFO的外部存儲器。對於ATM/IP數據,去映射器將PDU寫到FIFO中並中斷數據鏈路管理器74。數據鏈路管理器74從PDU FIFO中讀取信頭信息並提取FLOWID。根據FLOWID,數據鏈路管理器74從外部存儲器中檢索鍊表/整形/調度數據結構。數據鏈路管理器74將鍊表指針寫到PDU FIFO中,然後發起DMA傳輸以將PDU移到外部存儲器中。數據鏈路管理器更新頭、尾以及鍊表/整形/調度數據結構中的計數欄位,通過整形/調度FIFO將該數據結構傳送到整形/調度處理器76。整形/調度處理器76執行整形和調度功能並更新鍊表/整形/調度數據結構。
下面描述從外部存儲器到SONET/UTOPIA數據FIFO 30和48的數據流。數據鏈路管理器74輪詢PDU FIFO和SONET/UTOPIAFIFO狀態標誌。如果某一特定輸出埠的PDU FIFO不空且SONET/UTOPIA不滿,數據鏈路管理器74就檢索鍊表/整形/調度數據結構以從PDU FIFO讀取流ID(注意對於IP分組流,數據鏈路管理器將繼續從鍊表檢索PDU,直到找到具有最後分組指示符的PDU)。數據鏈路管理器接著發起從外部存儲器到SONET/UTOPIAFIFO 30、48的DMA傳輸。然後,數據鏈路管理器74更新鍊表/整形/調度數據結構並將其寫回外部存儲器。
在埠處理器10的發送側,授權模塊62中的授權成幀器、解幀器、串行化器以及解串器、交換去映射器60、發送數據鏈路管理器74以及發送調度器和整形器76可以統稱為發送(TX)交換控制器。TX交換控制器負責接受或拒絕為輸出傳輸而進入埠處理器的請求。為此,TX交換控制器檢測由請求的輸出埠號識別的隊列是否可以接受信元容器。這128個隊列由TX數據鏈路管理器74管理。根據目前的最佳實施例,這些隊列存儲在外部存儲器中。TX調度器76執行對這些信元容器的調度。如果隊列可以接受信元容器,則請求變成授權並插入grant_fifo中。授權成幀器和串行化器62讀取該信息並創建通過授權路徑傳送的授權消息。
TX交換控制器利用以下三個規則監視128個輸出埠中每個的數據隊列狀態。如果所請求的輸出埠的full_status(滿狀態)位已置位,隊列中就沒有緩衝空間用於目標為該輸出埠的任何數據PDU,故拒絕到該輸出埠的所有請求。如果full_status位未置位而nearly_full_status位已置位,隊列中就有一些空間用於目標為該輸出埠的數據PDU;然而,可以將該空間保留用於更高優先級的流量。在此實例中,將QOS編號與門限(編程的)QOS編號作比較並且如果QOS編號小於門限,就接受請求。如果nearly_full_status(接近滿狀態)位未置位,就給所有輸入請求授權。如果已接受一個請求,則相應的輸出埠計數器就加1。這就為到達該輸出埠的數據PDU在數據緩衝器(30或48)中保留了空間。發送數據鏈路管理器74不斷監視128個輸出埠計數器並置位/復位128個滿和接近滿狀態位。
埠處理器10創建全部輸出SONET信號。支持所有傳輸和路徑開銷功能。SONET接口可以運行在源定時模式或環路定時模式。
高階指針由高階指針生成器38通過正負指針調整,以容納用於生成SONET幀的時鐘與用於生成SONET SPE的時鐘之間的定時差異。初始化時,允許SPE FIFO在取走數據之前填滿一半。監視中心指針的各種變化以確定SONET封包的速率大於或小於SPE的速率。如果SONET封包的速率大於SPE的速率,那麼SPE FIFO就將逐漸逼近一種更空的狀態。在這種情況下,就將進行正指針移動以給SPE發送附加數據的機會。如果SONET封包的速率小於SPE的速率,那麼SPE FIFO就將逐漸逼近一種更滿的狀態。在這種情況下,就將進行負指針移動以給SPE從FIFO輸出額外數據字節的機會。SONET成幀器和TOH生成器40根據BELLCORE GR-253標準生成傳輸開銷。
輸出SONET幀要麼根據接收側SONET接口恢復的定時要麼根據埠處理器的源定時生成。對每個信號單獨配置且可以對它們作不同的配置。輸出SONET幀的幀定位是任意的。這四個信號中的每一個都可以有不同的定時,因此無需嘗試使它們同步起來,因為它們總是不斷地漂移開來。無需使Tx埠和Rx埠幀對齊,因為這會導致每次重校準Rx埠後要重校準Tx埠。
對於OC-3和OC-12,由串行化器42將16位寬內部總線串行化成155Mbps或622 Mbps。對於OC-48應用,整個16位總線在外部串行化器(未示出)的控制之下輸出。
有可能生成輸出SONET接口的48個不同的SPE。所有這些SPE根據單一定時基準生成。這允許所有SPE生成器在所有SONET和Telecom總線接口之間共享,且不用在不同SONET定時域的不同時鐘之間復用。SPE由路徑級開銷和淨荷數據構成。淨荷數據可以是TDM、ATM或分組。將所有這些流量類型按照它們各自的標準映射成單個SPE或級聯的SPE。生成SPE時,將它們放入SPE FIFO中。每個SPE對應64位元組的FIFO,這些單獨的SPE FIFO通過SPE級聯配置寄存器級聯。如上所述,SPE FIFO的填充狀態用於確定執行正或負指針調整的正確時間。
TDM、ATM和分組數據全部按照各自的標準映射到SONET SPE中。每個可能的48個SPE中運載的數據類型通過外部主機處理器配置。基於這種配置,為每個SPE生成器分配正確的映射器類型。所有這種配置在初始化時執行並僅當首先禁止特定的SPE時才能被改變。一旦配置完成,為每個SPE分配一組單獨的功能塊。這組功能塊包括以下每種模塊之一淨荷映射器、淨荷FIFO、POH生成器、SPE FIFO以及SPE生成器。每個ATM和分組淨荷映射器具有淨荷FIFO,它將特定SPE的淨荷數據寫入其中。對於TDM流量,為每個可能的虛容器分配其自身的FIFO。
現回到圖2,在每個「數據路徑和鏈路帶寬裁定模塊」102中,數據流解串器126與輸入串行數據流同步,接著把利用兩條物理單鏈路信道傳送的行流重組。它還對這兩個輸入串行流中的每個流提供FIFO緩衝,以在行重組之前消除這些流的「偏差」。它從用於消除12條輸入鏈路偏差的第三FIFO中的行流中恢復36比特時隙數據。這種偏差消除允許所有輸入鏈路同時將時隙N轉發至交換核心。鏈路偏差消除由鏈路同步和定時控制模塊150控制。解串器126還連續監視輸入行時隙0與交換單元中內部行邊界信號之間的增量。將差異向鏈路RISC處理器156報告並(在交換機第一級)用作測距(ranging)過程的一部分,以使連接到輸入鏈路的埠處理器同步。
數據流去映射器128負責從輸入串行數據鏈路中提取數據。它根據輸入時隙號將輸入鏈路時隙去映射並確定流量是否為TDM、PDU或者請求成分(RE)。對於TDM流量,去映射器確定目標鏈路和行緩衝器132的存儲地址。消息存儲在由軟體在增加或拆除TDM連接時配置的去映射器RAM(未示出)中。對於PDU流量,去映射器128將構成PDU的所有16個時隙組成單64位元組PDU字,然後將該整個PDU字轉發至行緩衝映射器邏輯130。在將PDU轉發至行緩衝器132之前組裝它們,以便行緩衝映射器130可以在單個時鐘周期內將整個PDU寫到行緩衝器132中。這就把寫入側可能的最大存儲器帶寬提供給了行緩衝器132。在6個鏈路時隙時間(12個核心時鐘周期)內將12個PDU全部寫到單一行緩衝器中是交換單元的重要特性。對於請求成分,去映射器128將3時隙RE塊組裝成兩個48位RE並將它們轉發給請求分析模塊152。
行緩衝映射器130負責把從數據流去映射器128收到的流量映射到行緩衝器132中。映射器130在從數據流去映射器128收到TDM流量時為其提供FIFO緩衝器,然後,將其寫到行緩衝器132中。行緩衝器存儲地址實際預先配置在數據流去映射器模塊128內的去映射器RAM(未示出)中。該模塊將該地址連同TDM時隙數據轉發至行緩衝映射器130。映射器130還將PDU流量從數據流去映射器128寫到行緩衝器132並計算行緩衝器132內寫每個PDU的地址。從地址0開始且隨後每16時隙地址邊界將PDU寫入行緩衝器,直到行緩衝器132的最大已配置PDU地址數。
行緩衝器132包含行緩衝器存儲單元。根據目前的最佳實施例,它提供雙緩衝行存儲器,允許由數據流映射器136讀出行N-1期間寫入的行數據的同時,在行N期間寫一個行緩衝器。每個行緩衝器能夠存儲1536個時隙數據。這允許行緩衝器存儲96個PDU或1536個TDM時隙或者兩種流量類型的組合。請求成分和鏈路開銷時隙不向行緩衝器132發送。因此行緩衝器無需改變大小以容納整個1700輸入鏈路時隙。根據目前的最佳實施例,行緩衝器寫埠為16*36=576位寬,它支持在單一時鐘周期內僅寫一個36位時隙(TDM數據)或者寫整個576位字(PDU數據)。
請求仲裁利用兩個部件每條輸出鏈路的中央請求分析模塊152和請求仲裁模塊134。請求成分從數據流去映射器128從輸入時隙流中提取並轉發至請求分析器152。請求分析器152將48位的請求成分通過兩條請求總線(為輸入鏈路總線120的一部分)轉發至合適的請求仲裁模塊134。每條請求總線每核心時鐘周期可以包含新的請求成分。這種定時允許請求仲裁邏輯在少於8個核心時鐘周期內處理13個請求源。這13個請求源是12個輸入數據流和內部組播和帶內控制消息發送模塊156。請求仲裁模塊134監視兩條請求成分總線並讀入目標為實現該請求仲裁模塊的輸出鏈路的所有請求成分。根據目前的最佳實施例,請求仲裁模塊134為多達24個請求成分提供緩衝。在收到新的請求成分時,將其存儲在空閒的RE緩衝器中(未示出)。如果不存在任何空閒的RE緩衝器,那麼如果新的RE優先級較高,就用新的RE替換已存儲在緩衝器中的優先級最低的RE。如果新RE的優先級等於或低於目前存儲在RE緩衝器中的所有RE,那麼就丟棄新的RE。在輸出側,當數據流映射器模塊138準備好接收下一RE,這請求仲裁模塊134就將存儲在RE緩衝器中的優先級最高的RE轉發至數據流映射器模塊136。如果RE緩衝器為空,則轉發「Idle」RE。
數據流映射器136負責將數據和請求成分插入到輸出串行數據鏈路中。這包括基於輸出時隙號映射輸出鏈路時隙,以確定流量是否是TDM、PDU、請求成分或者測試流量。所述確定基於映射RAM(未示出)中的內容。對於TDM流量,行緩衝存儲地址從映射RAM確定,它是在增加或拆除TDM連接時由軟體配置的。對於PDU流量,數據流映射器136從行緩衝器132一次讀一個時隙。由軟體將行緩衝存儲地址存儲到映射RAM中。如果目標PDU無效(即在前一行時期內未將PDU寫入該行緩衝位置),那麼映射器136就發送空閒圖案以確保數據PDU不在交換機內複製。對於請求成分,映射器根據兩個48位RE組裝3時隙RE塊。從請求仲裁模塊134讀取這些RE。對於測試圖案,映射器136從輸出鏈路122插入合適的測試圖案。這些測試圖案由測試圖案發生器162或測試接口總線164模塊創建。
數據流映射器支持輸出級的時隙組播。例如,任意輸出鏈路的數據流映射器能夠拷貝任何其它輸出鏈路正在當前時隙上發送的內容。通過映射RAM控制這種拷貝並允許映射器以時隙為基礎從另一輸出鏈路拷貝輸出數據。
數據流串行化器138創建輸出鏈路串行流。通過數據流映射模塊136接收數據時隙並由數據流串行化器138於內部生成鏈路開銷。串行化器138還將行數據流分成在兩條路徑110、114上傳輸的兩個流。
每個模塊102中的授權流解串器140以與數據流解串器126幾乎相同的方式工作。主要差異是授權數據僅僅利用單條路徑,這樣無需消除偏差和去交織以恢復單一輸入串行流。因為該串行鏈路只是轉發鏈路數據流速率的一半,每行時間有850個時隙。利用單個FIFO(未示出)消除所有12條鏈路的輸入串行授權流的偏差。
授權流去映射器142負責從輸入串行授權鏈路中提取數據。這包括基於輸入時隙號對收到的授權鏈路時隙去映射,以確定流量是否是授權成分或另一種流量。確定是基於授權去映射RAM(未示出)的內容。根據目前的最佳實施例,不同於授權成分的流量尚未定義。對於授權成分,授權流去映射器142將3時隙GE塊組成兩個48位的GE並將它們轉發至單授權分析模塊154。
授權仲裁模塊144以與請求仲裁邏輯134相同的方式工作。在目前的最佳實施例中,該模塊與請求仲裁模塊相同。唯一的差別為它處理反向路徑中的授權成分而不是前向路徑中的請求成分。應回想到,授權成分實際上是已被返回的請求成分。
授權流映射器146負責在輸出串行授權鏈路中插入數據。它基於輸出時隙號映射輸出授權時隙,以確定流量是否是授權成分或測試流量。所述確定基於授權映射RAM(未示出)的內容。對於授權成分,它從兩個48位GE組裝3時隙GE塊。從授權仲載模塊144讀出GE。對於測試圖案,它從輸出鏈路總線122插入合適的測試圖案。這些測試圖案由測試圖案發生器162或測試接口總線164模塊創建。授權流映射器146的詳細描述在7.2.3.2節中提供。
授權流串行化器148以同數據流串行化器138幾乎相同的方式工作。主要差別為授權數據只利用單路徑,這樣無需讓傳輸串行流在多輸出串行流中交織。因為這種串行鏈路只是前向數據流速率的一半,每行時間只有850個時隙。
每個交換單元100有12個鏈路模塊102,為每個鏈路模塊102實例化以上描述的模塊(除了請求分析器和授權分析器)。以下模塊僅為每個交換單元實例化一次。
鏈路同步定時控制150提供用於交換單元中的全局同步和定時信號。它生成傳輸控制信號,以便所有串行輸出同步於RSYNC(行同步)輸入基準開始發送行數據。它還控制數據流解串器中的偏差消除FIFO,以便所有12個輸入鏈路能夠同時將時隙N的數據驅動到輸入鏈路總線120上。在授權流解串器中實現這種相同的偏差消除機制。
請求分析器152從所有13個請求成分源接收輸入並通過兩條請求成分總線將RE轉發至合適的請求仲裁模塊。
授權分析器154實際上以與請求分析器152相同的方式工作,並與其相同。唯一的差別是它處理反向路徑中的授權成分而不是前向路徑中的請求成分。如上所述,授權成分包含與請求成分相同的信息,即通過交換機從一個埠處理器到另一個的鏈路地址。
鏈路RISC處理器156控制交換結構第一級中具有源埠處理器的輸入鏈路上的測距同步。它還控制交換結構最後一級中具有源埠處理器的輸出鏈路授權流輸入中的測距同步。它還處理髮送組播消息和控制帶內通信PDU接收和發送所需的Req/Grant處理。將所有帶內通信PDU轉發至配置RISC處理器158,RISC處理器158對這些消息作解釋。鏈路RISC處理器156隻處理髮送組播和帶內通信消息所需的Req/Grant處理。
配置RISC控制器158處理從外部控制器模塊(未示出)收到的配置和狀態消息以及如上所述的帶內通信消息。系統控制模塊160處理所有復位輸入並復位合適的內部模塊。配置RISC控制器158和系統控制模塊160最好用Tensilica,Inc.,Santa Clara,CA的XtensaTM處理器實現。
測試圖案生成器和分析器162用於生成各種可以在數據流或授權流輸出上任何時隙中發送的測試圖案。它還能夠監視收到的數據流或授權流的輸入時隙。
測試接口總線復用器164能夠從外部I/O管腳提供傳輸數據並將數據轉發至I/O管腳。當埠處理器不可用時,這個接口用於測試交換單元。
單鏈路PLL 166用於創建單鏈路宏所需的IF(中頻)時鐘。在每個單鏈路宏內,另一PLL乘以IF時鐘以達到串行時鐘率。核心PLL 168用於創建由交換單元核心邏輯所用的時鐘。在目前的最佳實施例中,核心時鐘近似為250MHz。
JTAG接口用於兩個目的(1)在ASIC(專用集成電路)fab處對交換單元作邊界掃描測試以及(2)配置RISC處理器的調試接口。
如圖2所示,存在3條數據路徑總線(輸入鏈路總線120、輸出鏈路總線122以及授權總線124),它們用於將交換流量從輸入鏈路移到輸出鏈路。這些總線還用於運載交換單元內發起或終結的流量。下表2概括了輸入鏈路總線中重要的數據路徑。下表3概括了輸出鏈路總線中重要的數據路徑。下表4概括了授權總線中重要的數據路徑。
表2
表3
表4根據目前的最佳實施例,每個交換單元包括組播控制器和獨立的組播PDU緩衝器。提供了兩個用於組播的備選實施例。第一實施例包括較少的門電路,最適於組播不是流量主要部分的環境。第二實施例要求很多門電路才能實現。然而,它較適於經常出現組播的環境。第二實施例建立組播路徑期間要求的延遲較多,但在組播數據期間要求的延遲較少。
根據第一實施例,組播請求成分以同標準單播請求成分相同的方式流經交換機。在消息需要組播時,逐跳欄位中該交換級的位編碼指示該請求是組播。將該請求轉發至組播控制器。在授權路徑上,如果組播循環緩衝器中存在數據空間,組播控制器就發出授權。一旦數據已經發送到組播緩衝器,組播控制器就檢測數據信頭並確定它需要在哪些輸出鏈路上發送。此時,組播控制器發出若干請求消息,處理這些請求的方式與單播請求相同。對發送請求、接收授權、發送PIU序列重複這種過程,即發送每個組播PDU之前,請求和授權必須遍歷交換機。這種方案可以視為「存儲轉發」方案。這種方案對組播數據引入了一些延遲。為了改善一些這種延遲,組播PDU包括組播高速緩存標籤(McCacheTag),即在複製PDU時使用的識別組播高速緩存條目的4位標籤。組播控制器在拷貝用於組播的PDU時將McCacheTag與McCache(路由表的子集)作比較。如果McCache中沒有與McCacheTag匹配的條目,就將PDU丟棄。這些高速緩存條目通過組播參數PDU(類似於請求成分)加載。組播的第一實施例支持多達16000條有效組播流。每個MC分組的延遲為兩行時間。
根據第二實施例,通過發送多個請求(每跳一個)使組播路徑保留一段時間,直到對所有跳已授權。一旦以這種方式建立了路徑,就不帶延遲地一個接一個組播PDU,直到保留時間到期或者不再有要發送的PDU。不同於「存儲轉發」,第二實施例實現一種「帶寬預分配」機制。將組播路徑(樹)保留以「行時間」衡量的一段時間。這種實施例的延遲都在路徑建立期間,路徑建立要求一行的時間以讓每跳通過交換機。該實施例的組播PDU不包括高速緩存標籤,但在其它方面與第一實施例的PDU相同。參數PDU包括時隙0-3。時隙0與單播請求成分中的相同。時隙1和2包括一個目的地的路由標籤以及用於仲裁鏈路帶寬的其它信息。時隙3包括組播會話所要求的持續時間指示。持續時間指示為16位。因此可以請求的最長持續時間為64000行的時間。如上所述,9行時間等於一個SONET幀的時間。第二組播實施例允許多達128000條有效組播流。第二實施例的延遲為建立組播流的N+1行時間,其中N為交換機級數,使數據通過交換機要N行時間。
本說明書已描述並圖解了一種支持tdm、atm和ip流量的網絡交換機的幾個實施例。儘管已經描述了本發明的若干特殊實施例,但意圖不是使本發明局限於它們,而是意指本發明的範圍與所屬技術允許的一樣寬,應據此閱讀本說明書。因此,本領域的技術人員會理解,可以在不偏離如所要求的本發明的精神和範圍的情況下,對所提供的本發明作其它修改。
權利要求
1.一種用於通過單一通信交換機交換ATM、TDM和分組數據的方法,所述方法包括a)生成重複的具有第一多個行的數據幀,每行具有第二多個時隙;b)在所述幀的每行中為TDM數據預分配時隙;c)把PDU定義成一行內固定數目的時隙;d)基於一種仲裁方案將PDU分配給ATM數據和分組數據。
2.如權利要求1所述的方法,其特徵在於所述生成重複幀的步驟包括每125微秒重複所述幀。
3.權利要求1所述的方法,其特徵在於每個時隙的帶寬大得足夠容納E-1或DS-1信號。
4.如權利要求1所述的方法,其特徵在於每個PDU容納52位元組的淨荷。
5.如權利要求4所述的方法,其特徵在於還包括e)將大於52位元組的分組分段成52位元組的塊。
6.如權利要求1所述的方法,其特徵在於所述仲裁方案包括在行N期間請求行N+1中的PDU。
7.如權利要求6所述的方法,其特徵在於在行N期間對所述請求授權。
8.如權利要求6所述的方法,其特徵在於所述請求包括「逐跳」內部交換路由信息和優先級信息。
9.如權利要求7所述的方法,其特徵在於所述請求在帶外授權。
10.如權利要求6所述的方法,其特徵在於每行中先配置PDU,並且每行中後配置TDM時隙。
11.如權利要求1所述的方法,其特徵在於所述幀包括9行,每行包含1700個時隙。
12.如權利要求11所述的方法,其特徵在於每個時隙包括4位元組淨荷。
13.如權利要求12所述的方法,其特徵在於一個PDU包括16個時隙。
14.如權利要求1所述的方法,其特徵在於還包括e)在所述交換機入口處從SONET幀中提取TDM數據;f)在所述交換機入口處分離所述SONET幀中的V-V4位元組;以及g)在所述交換機出口處再生成V1-V4位元組。
15.如權利要求1所述的方法,其特徵在於所述仲裁方案包括組播PDU的方法。
16.一種在通信交換機中仲裁帶寬的方法,其特徵在於包括a)生成具有多個行的重複數據幀;b)在行N期間請求行N+1中的空間;以及c)通過帶外鏈路對請求授權。
17.如權利要求16所述的方法,其特徵在於每個請求包括貫穿交換機的路由信息和優先級信息。
18.如權利要求17所述的方法,其特徵在於還包括d)在所述交換機的每級緩存所述請求;e)在所述緩衝器到達門限時丟棄低優先級的請求。
19.如權利要求18所述的方法,其特徵在於所述對請求授權的步驟包括返回到達所述交換機出口之前尚未丟棄的請求。
20.如權利要求16所述的方法,其特徵在於每個空間請求針對52位元組的空間塊。
21.如權利要求20所述的方法,其特徵在於在ATM信元和變長分組之間仲裁帶寬,所述方法還包括d)將大於52位元組的每個分組分段成多個52位元組的塊。
22.如權利要求21所述的方法,其特徵在於每個請求包括貫穿交換機的路由信息和優先級信息。
23.如權利要求22所述的方法,其特徵在於還包括e)在所述交換機的每級緩存所述請求;f)當所述緩衝器到達門限時丟棄低優先級請求。
24.如權利要求23所述的方法,其特徵在於所述對請求授權的步驟包括返回到達所述交換機出口之前尚未丟棄的請求。
25.如權利要求24所述的方法,其特徵在於還包括g)在為一個分組段的請求被丟棄時丟棄為該分組所有後續段的請求。
26.如權利要求16所述的方法,其特徵在於在帶內提出所述請求。
27.如權利要求16所述的方法,其特徵在於在帶外提出所述請求。
28.一種用於通過單一通信交換機交換ATM、TDM和分組數據的方法,所述方法包括a)生成具有第一多個行的重複數據幀,每行具有第二多個時隙;b)在所述幀的每行中為TDM數據預分配一些時隙;以及c)根據仲裁技術將剩餘的時隙分配給ATM和分組數據,其特徵在於每行先發送ATM和分組數據,並且每行中後發送TDM數據。
29.如權利要求28所述的方法,其特徵在於還包括d)在所述交換機入口處從SONET幀中提取TDM數據;e)在所述交換機入口處分離所述SONET幀中的V-V4位元組;以及f)在所述交換機出口處再生成V1-V4位元組。
30.如權利要求28所述的方法,其特徵在於所述生成重複數據幀的步驟包括每125微秒重複所述幀。
31.如權利要求28所述的方法,其特徵在於每個時隙具有大得足以容納E-1信號(還有DS1)的帶寬。
32.如權利要求28所述的方法,其特徵在於所述仲裁技術包括在行N期間請求行N+1中的時隙。
33.如權利要求32所述的方法,其特徵在於在行N期間對所述請求授權。
34.如權利要求33所述的方法,其特徵在於所述請求包括「逐跳」內部交換路由信息和優先級信息。
35.如權利要求33所述的方法,其特徵在於在帶外對所述請求授權。
36.如權利要求28所述的方法,其特徵在於所述幀包括9行,每行包含1700個時隙。
37.如權利要求36所述的方法,其特徵在於每個時隙包括4位元組淨荷。
38.如權利要求28所述的方法,其特徵在於還包括d)把PDU定義成一行內固定數目的時隙;e)基於一種仲裁方案將PDU分配給ATM數據和分組數據。
39.如權利要求38所述的方法,其特徵在於每個PDU容納52位元組的淨荷。
40.如權利要求39所述的方法,其特徵在於還包括f)將大於52位元組的分組分段成52位元組的塊。
41.如權利要求38所述的方法,其特徵在於所述仲裁方案包括在行N期間請求行N+1中的PDU。
42.如權利要求39所述的方法,其特徵在於一個PDU包括16個時隙。
43.如權利要求38所述的方法,其特徵在於還包括f)在所述交換機入口處從SONET幀中提取TDM數據;g)在所述交換機入口處分離所述SONET幀中的V-V4位元組;以及h)在所述交換機出口處再生成V1-V4位元組。
44.如權利要求38所述的方法,其特徵在於所述仲裁方案包括組播PDU的方法。
45.一種通過通信交換機組播數據的方法,包括a)生成帶寬請求成分,每個請求成分包括貫穿交換機的路由信息和組播在所述交換機的哪一級開始的指示;b)根據帶寬可用性對請求授權;c)將具有路由標籤的數據分組向開始組播的交換級發送;d)在所述開始組播的交換級製作所述數據分組的拷貝;e)替換所述數據分組各拷貝中的路由標籤。
46.如權利要求45所述的方法,其特徵在於還包括f)在所述交換機的各級緩存請求成分;以及g)在所述開始組播的交換級複製請求成分。
47.權利要求45所述的方法,其特徵在於每個請求成分包括優先級指示。
48.如權利要求46所述的方法,其特徵在於每個請求成分包括優先級指示。
49.如權利要求48所述的方法,其特徵在於還包括h)從已達到門限滿度的緩衝器中丟棄低優先級請求成分。
50.如權利要求45所述的方法,其特徵在於在帶內傳輸請求成分。
51.如權利要求49所述的方法,其特徵在於還包括i)通過帶外鏈路返回尚未丟棄的請求成分,其中返回的請求成分視為被授權。
52.如權利要求45所述的方法,其特徵在於還包括f)生成具有第一多個行的重複數據幀。
53.如權利要求52所述的方法,其特徵在於還包括g)在行N期間請求行N+1中的空間;以及h)通過帶外鏈路對請求授權。
54.如權利要求52所述的方法,其特徵在於所述生成重複數據幀的步驟包括每125微秒重複所述幀。
55.如權利要求52所述的方法,其特徵在於每行具有第二多個時隙。
56.如權利要求55所述的方法,其特徵在於每個時隙的帶寬大得足以容納E-1或DS-1信號。
57.如權利要求52所述的方法,其特徵在於在行N期間對行N期間提出的請求授權。
58.如權利要求55所述的方法,其特徵在於所述幀包括9行,每行包含1700個時隙。
59.如權利要求55所述的方法,其特徵在於每個時隙包括4位元組淨荷。
60.如權利要求45所述的方法,其特徵在於所述生成帶寬請求成分的步驟包括生成通過所述交換機的組播會話中每跳的請求成分。
61.如權利要求60所述的方法,其特徵在於每個請求成分包括將要預分配的帶寬的指定持續時間。
62.如權利要求61所述的方法,其特徵在於直到已預先分配所述組播會話的所有帶寬才執行所述發送分組的步驟。
63.一種通信交換機,包括a)多個埠處理器,每個具有至少一個網絡接口;以及b)多個交換單元,每個具有多個用於連接到埠處理器的埠,其特徵在於每個所述埠處理器具有第一和第二交換單元接口,用於連接到一個埠處理器的兩個埠或兩個處理器中每個的一個埠,每個所述埠處理器具有自動部件,如果交換機失效或交換機擁塞,所述自動部件用於將流量重定向到所述第一或第二交換單元接口中任意之一。
64.如權利要求63所述的通信交換機,其特徵在於每個所述埠包括兩條串行鏈路,這兩條串行鏈路交織起來有效地使單串行鏈路的帶寬加倍。
65.一種通信交換機,包括a)形成第一交換結構的多個第一交換單元,每個所述第一交換單元具有多個埠;b)形成第二交換結構的多個第二交換單元,每個所述第二交換單元具有多個埠;c)多個埠處理器,每個埠處理器具有至少一個網絡接口;第一交換結構接口,連接到所述第一交換單元之一的埠之一;以及第二交換結構接口,連接到所述第二交換單元之一的埠之一;以及d)用於通過所述第一交換結構或所述第二交換結構自動將網絡流量重定向,以響應交換機失效和交換機擁塞的部件。
66.如權利要求65所述的通信交換機,其特徵在於每個所述埠包括兩條串行鏈路,它們交織起來有效地使單一串行鏈路帶寬加倍。
67.一種通信交換機,包括a)多個埠處理器,每個具有至少一個網絡接口;以及b)第一交換結構;以及c)第二交換結構,其特徵在於每個所述埠處理器具有第一和第二交換結構接口,用於連接到所述第一和第二交換結構中的每一個,每個所述埠處理器具有自動部件,用於在交換機失效或交換機擁塞的情況下,將流量重定向到所述第一或第二交換結構中任意之一。
全文摘要
網絡交換機包括至少一個埠處理器(10)和至少一個交換單元(100)。埠處理器(10)具有SONET OC-x接口(12)、UTOPIA接口(44)以及到交換單元(100)的接口。埠處理器(10)的總I/O帶寬等效於一個OC-48,而交換單元(100)具有12×12個埠,總帶寬為30 Gbps。9行每行1700個時隙的數據幀用於傳輸ATM、TDM和分組數據。每個幀在125微秒內傳輸。每個時隙包括4比特標籤加4位元組淨荷。幀的最後20個時隙保留用於鏈路開銷。對於ATM和分組數據,定義了用於64位元組淨荷的16時隙PDU。PDU利用28比特路由標籤通過交換機自路由。在維持TDM時間的同時,在ATM和分組連接之間仲裁帶寬。
文檔編號H04LGK1486560SQ01822114
公開日2004年3月31日 申請日期2001年11月20日 優先權日2000年11月21日
發明者S·C·羅伊, S C 羅伊, S·達斯, 烏普, D·C·烏普, 利普, W·B·利普, 維, J·K·維, 勒諾爾特, M·M·勒諾爾特, 卡特, F·R·卡特, 拉姆錢達尼, R·S·拉姆錢達尼, 貝諾伊特, S·E·貝諾伊特, 特貝斯, D·K·特貝斯 申請人:美商傳威股份有限公司