专利名称:交换异步传输模式、时分复用和分组数据的方法和装置的制作方法
技术领域:
本发明涉及电信网络。更具体地讲,本发明涉及旨在通过单个通信交换机交换ATM(异步传输模式)、TDM和分组数据的方法和装置。
背景技术:
旨在利用宽带电信网的最早技术之一称之为时分复用(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中。HDLC成帧器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 VPI/VCI或IP源和目的地执行查找,这样处理每个输入的ATM信元和分组。这种查找首先验证连接是有效的,如果有效,它就返回17位索引。对于ATM信元,索引指向一组VC参数和路由信息。17比特索引最多支持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或622Mbps。对于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缓冲器。提供了两个用于组播的备选实施例。第一实施例包括较少的门电路,最适于组播不是流量主要部分的环境。第二实施例要求很多门电路才能实现。然而,它较适于经常出现组播的环境。第二实施例建立组播路径期间要求的延迟较多,但在组播数据期间要求的延迟较少。
根据第一实施例,组播请求成分以同标准单播请求成分相同的方式流经交换机。在消息需要组播时,逐跳字段中该交换级的位编码指示该请求是组播。将该请求转发至组播控制器。在授权路径上,如果组播循环缓冲器中存在数据空间,组播控制器就发出授权。一旦数据已经发送到组播缓冲器,组播控制器就检测数据信头并确定它需要在哪些输出链路上发送。此时,组播控制器发出若干请求消息,处理这些请求的方式与单播请求相同。对发送请求、接收授权、发送PDU序列重复这种过程,即发送每个组播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.一种通过通信交换机组播数据的方法,包括a)生成带宽请求成分,每个请求成分包括贯穿交换机的路由信息和组播在所述交换机的哪一级开始的指示;b)根据带宽可用性对请求授权;c)将具有路由标签的数据分组向开始组播的交换级发送;d)在所述开始组播的交换级制作所述数据分组的拷贝;e)替换所述数据分组各拷贝中的路由标签。
2.如权利要求1所述的方法,其特征在于还包括f)在所述交换机的各级缓存请求成分;以及g)在所述开始组播的交换级复制请求成分。
3.权利要求1所述的方法,其特征在于每个请求成分包括优先级指示。
4.如权利要求2所述的方法,其特征在于每个请求成分包括优先级指示。
5.如权利要求4所述的方法,其特征在于还包括h)从已达到门限满度的缓冲器中丢弃低优先级请求成分。
6.如权利要求1所述的方法,其特征在于在带内传输请求成分。
7.如权利要求5所述的方法,其特征在于还包括i)通过带外链路返回尚未丢弃的请求成分,其中返回的请求成分视为被授权。
8.如权利要求1所述的方法,其特征在于还包括f)生成具有第一多个的行的重复数据帧。
9.如权利要求8所述的方法,其特征在于还包括g)在行N期间请求行N+1中的空间;以及h)通过带外链路对请求授权。
10.如权利要求8所述的方法,其特征在于所述生成重复数据帧的步骤包括每125微秒重复所述帧。
11.如权利要求8所述的方法,其特征在于每行具有第二多个的时隙。
12.如权利要求11所述的方法,其特征在于每个时隙的带宽大得足以容纳E-1或DS-1信号。
13.如权利要求8所述的方法,其特征在于在行N期间对行N期间提出的请求授权。
14.如权利要求11所述的方法,其特征在于所述帧包括9行,每行包含1700个时隙。
15.如权利要求11所述的方法,其特征在于每个时隙包括4字节净荷。
16.如权利要求1所述的方法,其特征在于所述生成带宽请求成分的步骤包括生成通过所述交换机的组播会话中每跳的请求成分。
17.如权利要求16所述的方法,其特征在于每个请求成分包括将要预分配的带宽的指定持续时间。
18.如权利要求17所述的方法,其特征在于直到已预先分配所述组播会话的所有带宽才执行所述发送分组的步骤。
19.一种通信交换机,包括a)多个端口处理器,每个具有至少一个网络接口;以及b)多个交换单元,每个具有多个用于连接到端口处理器的端口,其特征在于每个所述端口处理器具有第一和第二交换单元接口,用于连接到一个端口处理器的两个端口或两个处理器中每个的一个端口,每个所述端口处理器具有自动部件,如果交换机失效或交换机拥塞,所述自动部件用于将流量重定向到所述第一或第二交换单元接口中任意之一。
20.如权利要求19所述的通信交换机,其特征在于每个所述端口包括两条串行链路,这两条串行链路交织起来有效地使单串行链路的带宽加倍。
21.一种通信交换机,包括a)形成第一交换结构的多个第一交换单元,每个所述第一交换单元具有多个端口;b)形成第二交换结构的多个第二交换单元,每个所述第二交换单元具有多个端口;c)多个端口处理器,每个端口处理器具有至少一个网络接口;第一交换结构接口,连接到所述第一交换单元之一的端口之一;以及第二交换结构接口,连接到所述第二交换单元之一的端口之一;以及d)用于通过所述第一交换结构或所述第二交换结构自动将网络流量重定向,以响应交换机失效和交换机拥塞的部件。
22.如权利要求21所述的通信交换机,其特征在于每个所述端口包括两条串行链路,它们交织起来有效地使单一串行链路带宽加倍。
23.一种通信交换机,包括a)多个端口处理器,每个具有至少一个网络接口;以及b)第一交换结构;以及c)第二交换结构,其特征在于每个所述端口处理器具有第一和第二交换结构接口,用于连接到所述第一和第二交换结构中的每一个,每个所述端口处理器具有自动部件,用于在交换机失效或交换机拥塞的情况下,将流量重定向到所述第一或第二交换结构中任意之一。
24.一种通过通信交换机组播数据的装置,包括a)生成带宽请求成分的部件,每个请求成分包括贯穿交换机的路由信息和组播在所述交换机的哪一级开始的指示;b)根据带宽可用性对请求授权的部件;c)将具有路由标签的数据分组向开始组播的交换级发送的部件;d)在所述开始组播的交换级制作所述数据分组的拷贝的部件;以及e)替换所述数据分组各拷贝中的路由标签的部件。
25.如权利要求24所述的装置,其特征在于还包括f)在所述交换机的各级缓存请求成分的部件;以及g)在所述开始组播的交换级复制请求成分的部件。
26.如权利要求24所述的装置,其特征在于每个请求成分包括优先级指示。
27.如权利要求25所述的装置,其特征在于每个请求成分包括优先级指示。
28.如权利要求27所述的装置,其特征在于还包括h)从已达到门限满度的缓冲器中丢弃低优先级请求成分的部件。
29.如权利要求24所述的装置,其特征在于在带内传输请求成分。
30.如权利要求28所述的装置,其特征在于还包括i)通过带外链路返回尚未丢弃的请求成分的部件,其中返回的请求成分视为被授权。
31.如权利要求24所述的装置,其特征在于还包括f)生成具有第一多个的行的重复数据帧的部件。
32.如权利要求24所述的装置,其特征在于还包括g)在行N期间请求行N+1中空间的部件;以及h)通过带外链路对请求授权的部件。
33.如权利要求31所述的装置,其特征在于所述生成重复数据帧的部件包括每125微秒重复所述帧的部件。
34.如权利要求31所述的装置,其特征在于每行具有第二多个的时隙。
35.如权利要求34所述的装置,其特征在于每个时隙的带宽大得足以容纳E-1或DS-1信号。
36.如权利要求31所述的装置,其特征在于在行N期间对行N期间提出的请求授权。
37.如权利要求34所述的装置,其特征在于所述帧包括9行,每行包含1700个时隙。
38.如权利要求34所述的装置,其特征在于每个时隙包括4字节净荷。
39.如权利要求31所述的装置,其特征在于所述生成带宽请求成分的部件包括生成通过所述交换机的组播会话中每跳的请求成分的部件。
40.如权利要求39所述的装置,其特征在于每个请求成分包括将要预分配的带宽的指定持续时间。
41.如权利要求40所述的装置,其特征在于直到已预先分配所述组播会话的所有带宽所述发送分组的部件才执行发送。
全文摘要
网络交换机包括至少一个端口处理器(10)和至少一个交换单元(100)。端口处理器(10)具有SONET OC-x接口(12)、UTOPIA接口(44)以及到交换单元(100)的接口。端口处理器(10)的总I/O带宽等效于一个OC-48,而交换单元(100)具有12×12个端口,总带宽为30Gbps。9行每行1700个时隙的数据帧用于传输ATM、TDM和分组数据。每个帧在125微秒内传输。每个时隙包括4比特标签加4字节净荷。帧的最后20个时隙保留用于链路开销。对于ATM和分组数据,定义了用于64字节净荷的16时隙PDU。PDU利用28比特路由标签通过交换机自路由。在维持TDM时间的同时,在ATM和分组连接之间仲裁带宽。
文档编号H04LGK1677960SQ20051005943
公开日2005年10月5日 申请日期2001年11月20日 优先权日2000年11月21日
发明者S·C·罗伊, S·达斯, D·C·乌普, W·B·利普, J·K·维, M·M·勒诺尔特, F·R·卡特, R·S·拉姆钱达尼, S·E·贝诺伊特, D·K·特贝斯 申请人:美商传威股份有限公司