局域网交换器结构 本发明涉及一个局域网(LAN)交换器结构,尤其涉及一个结合不同的总线结构以在用于交换1 Mbps-155Mbps LAN业务量的吞吐量和等待时间中提供优越性能的高速LAN交换器。
现有技术的LAN交换器或者是基于一个纵横结构或者是基于一个时分多路复用总线结构。
在美国专利No.5,264,842中P.A.Franaszek描述了具有等待链路的交换器连接。在一个多端口通讯系统中用于占线端口的查询器在等待链路中排队。纵横交换器的连接被使用以存储等待链路。等待链路的单元被修改以提供正确的连接;也就是一组端口被以链接列表的形式连接,但指针由交换器本身的连接组成。这些连接用于存储列表结构以及通过信息。这个概念需要被从交换器构造矩阵的一个端口传输到下一个端口的控制信息。
在美国专利No.5,179,552中H.-H.J.Chao描述了一个分离交换器设计。用于一个大的包交换器或一个基于无缓冲的统计复用器的交叉点矩阵交换单元使用一个纵横矩阵网络,其中各个交换单元的输出端口被划分为不同的组以便在任何这样的组的单元中共享选择路径。每个这样地组的输出被它们自己递归地划分为一系列串连连接的组,每个组提供一个递减的输出数直到一个这样的输出被提供用于交换器的每个相应的输出端口。交换单元包括一个比较在特定的时间窗口中的两个输入比特流的相应位以产生控制信号的控制电路和一个响应控制信号用于选择两个输入比特流的路径交替地到达两个数据输出端的选择电路。采用这种方法,如果有比交换器能够处理的更多的分组出现在“集线器”,“集线器”简单地将它们“分离”出去并且依靠“高层软件”的误差检测和信息重发功能来重发放弃的数据。依靠高层协议来检测丢失的分组并重发它们会产生过多的分组等待时间和由于停工时间的对话信号失落。此外, “分离”分组的重发还会促使网络阻塞并且会引起另外的包被分离。这种方法也使用多个单元缓冲器,每个这样的缓冲器增加一个单元延迟。在高度要求最少的包等待时间的LAN交换器环境中这是不希望有的。
在美国专利No.5,197,064中H.-H.J.Chao描述了一个使用递归划分的分布的模块分组交换器。这样一种交换器利用用于改进整个性能的信道分组和可以在内部分配争用裁决的纵横交换构造以及在各个交换单元它们自己之间的滤波功能。输出端口分组被递归地应用直到提供一个输出路径用于每个输出端口。
在美国专利No.5,189,665中J.A.Niehaus等人公开了一个设计便于多到8个数据端口互联的数字纵横交换器。该设备包括8个双向端口,每个8位宽。端口的互联由与每个端口相关联的32个存储的控制存储器位置控制。在LAN环境中,端口密度在数百个是通常的并且是需要的,最大为8个端口的限制使得这种交换器没有吸引力。
在美国专利No.5,404,461中H.T.Olnowich等人描述了一个用于在非缓冲的异步交换网络上进行广播/多播传送的广播/交换设备。该专利描述了使用一种异步的方法以解决在输入端口之间或者广播或者多播的争用的单播、多播或广播分组中一种传输数据的方法。广播/交换设备进行从输入端口的任何一个到输出端口的任何一个,同时从输入端口的任何一个到多个输出端口的子集的一个固定数或者同时从输入端口的任何一个到所有输出端口的连接。
在美国专利No.5,179,669中D.V.Peters描述了一个多处理器互联和进入判优的装置。在多处理器系统中的处理器被如纵横交换器的无阻塞通讯介质互联。通过一个光链路每个处理器被连接到纵横交换器的一个专用端口电路。通过一个电子链路每个端口电路连接到纵横交换器。端口电路被一个争用介质互联。在每个端口电路的电路系统接收用于进入连接的处理器的请求,按优先次序排列冲突请求并顺序地准许它们。这种装置在交换器构造的每个端口和每个连接的处理器节点之间使用一个链路。
在美国专利No.4,845,722中A.R.Kent等人公开了一个使用纵横交换的计算机互联耦合器。该耦合器具有一组连接器分配给信道发射机和信道接收机用于来自寻址到信道发射机的信道接收机的信息的路径选择。当信息被信道接收机接收时,信道接收机存储在先进先出缓冲器中的信息的开始部分并发送路由信息请求到中心交换器逻辑电路。如果目的发射机或接收机占线,中心逻辑电路将信息请求放到一个目的队列并返回一个信号到请求源发射机以接通一个流量控制信号,该控制信号被发射返回到具有初始信息的数据处理设备。然而,任何寻址到这个数据处理设备的信息被插入到在信息前和后具有暂停的流量控制载波,并且也做好准备以允许数据处理设备响应输入的信息返回一个确认码。请求被分组为不同的优先级别以及分开的但重复的判优逻辑电路被用于在同一个优先级组内解决同时的请求。该专利描述了在纵横交换器的每个端口和每个连接的处理器节点之间一个双向链路或两个单向链路的使用。
在美国专利No.5,261,059中W.F.Hedberg等人描述了一个用于数据通讯网络的纵横接口。在一个主计算机和一个纵横交换器之间的纵横接口采用使用多端口RAM装置的数据缓冲。接收和发送数据被记录进入RAM的分开的串行端口的时间或从RAM的分开的串行端口出来的时间,并且同时一个本地处理器能够通过一个随机进入端口进入RAM,异步地到达串行端口,执行协议。在多端口RAM中数据的存储短脉冲串的顺序由空闲缓冲管理器定义,该管理器保持计算的那个位置是空闲的。这些位置的地址被用于输入包之后移到一个接收的列表。在协议处理器完成它的任务后,被称为短脉冲串数据描述符的这些地址被移到发送列表以等待短脉冲串加载回到用于记录出来的时间的串行寄存器,然后当发送时描述符再次进入到空闲缓冲管理器。这个专利描述了一个双端口RAM的使用用于改进两个连接的处理器之间的通讯效率。
因此本发明的一个目的是提供一个LAN交换器结构,该结构在吞吐量和等待时间中展示了优越性能而不使用等待链路或分离技术的概念。
本发明的另一个目的是提供一种方法用于在一个LAN交换器结构中选定路径和发送数据分组而不丢失分组并且不要求控制信息的发送。
本发明提供一种混合交换器构造,该构造结合了纵横和时分多路复用总线结构以及下一个可利用的发送信道的选择路径和相联输出端口选择路径的方法。
LAN交换器结构具有多个端口组,一个交换构造用于在不同的端口组中装置端口之间便于通讯和一个控制器用于控制交换构造。多个端口组的每个包含一个通讯信道用于端口组到交换构造的互联。
在一个LAN交换器结构中具有多个端口组,一个交换构造用于在不同的端口组中装置端口之间便于通讯,一个控制器用于控制交换构造并且每个端口组包括一个通讯总线用于端口组的装置端口的互联,一个控制器用于控制在通讯总线上的传输,以及多个通讯信道用于端口组到交换构造的互联,一个具有目的地址的路由头标被分配给要被发送的每一帧,帧被选定路径并从一个源地址发送到目的地址,并且如果要被发送的帧的目的地址和源地址是在多个端口组的一个或多个中的同一个端口组内帧被同时选定路径并在同一个端口组的端口之间传送而不使用交换构造。
图1A一般地说明了具有4个时分多路复用子组的本发明的优选实施例。
图1B更详细地说明了在这个实施例中一个子组包含4个端口芯片和4个信道芯片。
图1A所示的优选实施例是一个具有交换构造的LAN交换器结构,最好为一个异步分组交换器1,以及在这个例子中四个端口线路卡或时分多路复用端口组G1到G4。取代只有四个的情况,多个端口组G1到Gi(i=1…n)可以被连接到分组交换器1。
参照图1B,每个端口组被定义为包含多个端口芯片P1到Pk和多个信道芯片C1到Ck(k=1…n)。在这个特别的实施例中每个端口组包含四个端口芯片P1,P2,P3,P4和四个信道芯片C1,C2,C3,C4。信道芯片C1,C2,C3,C4连接端口组G1到交换构造1。
端口芯片P1,P2,P3,P4提供合适的LAN物理层,介质进入控制,缓冲和总线接口功能。每个端口芯片能够进行半双工或可选择地全双工操作。在图1b端口芯片被作为离散的实物展示,但它们也可以作为一个双端口芯片或四端口芯片实现。LAN物理层/介质进入控制一般地包括自动协商功能以确定LAN操作速度,介质类型半或全双工传输等等。个人计算机(PC)或工作站连接到端口芯片P1,P2,P3,P4。
如端口组G1,每个端口组还包括一个微处理器3或其他状态机器逻辑电路,以及一个选择的缓冲器RAM4。一个端口组的单元被一个公用的数据路径5,例如一个并行总线,最好为一个32位总线互联。数据由微处理器3经过PIO和/或块移动指令,由DMA逻辑电路或其他相似的装置在多路复用端口组的端口芯片和/或信道芯片之间移动。每个端口芯片P1,P2,P3,P4和每个信道芯片C1,C2,C3,C4被准许进入总线5使得数据等待时间被减至最小并且总线利用率被优化。
除了交换构造1便于在不同的端口组的装置端口之间通讯以外LAN交换器结构还包括一个控制器2用于控制交换构造。
尽管在现有的设计中所有的交换器端口连接到一个单个的总线构造,但在这个LAN交换器结构中多个分开的端口组Gi提供了允许同时进行帧的选定路径和传送的子构造。具有在如源地址/端口的同一个端口组内的目的地址/端口的帧被直接地,端口对端口地传送,而不使用交换构造1。例如,同时的传送可能在同一个端口组G1的端口P1和P4之间和另一个端口组Gi的端口之间进行。这提供了在等待时间和吞吐量中改进的性能以及每一端口的更好的成本。
微处理器3或其他与每个端口组Gi相关的类似的装置通过查询每个端口或检验接收帧的源地址字段找出连接到每个端口芯片P1,P2,P3,P4的PC机或工作站的源地址。当一个端口芯片具有一个要被发送的帧时,它在帧的目的地址字段的接收后中断微处理器3。微处理器3或其他状态机器计算对于交换器端口数的目的地址的映射,例如经过一个在本地RAM中查阅的表,并且预先不定要被发送的帧的路由头标。
另一种情况是一个内容可寻址的存储器(CAM)或一个内容定址存储器能被用于映射功能。如果帧的目的地址不在本地处理器的表中,一个信息被送到请求相对交换器端口映射信息的目的地址的控制器2。另一种办法是本地处理器会预先不定选择帧到控制器2的路径用于本地路由表的提前和延迟更新的头标。
在公知的LAN交换器结构中每个端口具有一个单个的,专用的路径用于进入交换构造。如果一个帧被阻塞,例如由于它的目的端口被占用,那么在阻塞的帧后面的排对中的帧也被阻塞,即使它们的端口可能是空闲的和可利用的。在这个应用的新的LAN结构中每个端口芯片能够利用多个信道到交换构造。在图1b的优选实施例中每个端口芯片P1,P2,P3,P4利用四个信道C1,C2,C3,C4。如果一个阻塞的帧阻塞信道C1,一个排队的帧能够经过信道C2,C3或C4发送。
这经过多个可利用信道中的一个从一个输入排队到交换构造传送数据的下一个可利用的输入信道选择路径的方法不同于一个输入缓冲的设计。一个输入缓冲的交换器每一端口具有几个发送排队,但每一端口只有一个单个路径或信道进入交换构造。这里描述的方法提供了多个与每一端口的多个传输信道或路径相关的发送排队。
借助于某些LAN协议,传输层保证帧以正确的次序到达。其他协议要求数据链路层保证帧按顺序到达它们的目的地。在其他协议的情况下,下一个可利用的发送信道选择路径算法被修改使得它不会移动比具有同一个目的地址的两个帧更多的到任何发送信道。如果一个第三个帧排队并具有一个与前面两个帧相同的目的地址,那么第三个帧或者选择路径到本地SRAM和提前后面的,但优先于对于同一个目的地址的端口排队边界的顶端的任何新的帧,或者排队能被允许阻塞直到第一个帧的传送完成。
当分组被限制用于一个已经在使用中的交换器端口时,输出端口争用导致分组传送变得阻塞。一些现有的设计采用输出端口缓冲以致力于使输出端口争用减至最小。例如,经过在每个输出端口的缓冲存储器,实现多个接收分组排队。一旦一个帧完全在一个接收排队中,端口能从交换构造接收另一个帧同时第一个帧被传送到目的工作站。所有帧必须流过一个单个输出端口。
这个应用的相联输出端口选择路径的方法将多个输出端口与多个输出排队相结合。这种技术增加了对于一个输出端口的帧限制将找到一个非占用信道的可能性并且允许同时地接收多个帧。随着瞬时业务量负荷请求,相联输出端口选择路径动态地分配信道芯片到输出端口。例如,如果到P1的一个传送已经在进行中,借助于输出端口缓冲,限制用于端口P1的帧F将会暂时阻塞。一旦第一个帧完全在输出缓冲器排队中帧F的传送将进行。
这种相联输出端口选择路径的方法避免了馈给几个输出端口缓冲器排队的一个单个信道的瓶颈问题。交换构造识别信道C1被占用,所以它透明地选择第二帧的路径到信道C2或C3或C4,这些信道的每一个具有一个独立的接收缓冲器排队。当端口P1变为可利用时,从C2或C3或C4到P1的数据传送发生。为确定分组的目的端口芯片的头标处理能够与其他数据传送并行完成。
尽管输出端口缓冲相关于一个单个接收端口,多个接收排队和一个单个接收信道,相联输出端口选择路径相关于一个单个接收端口,一个或多个接收排队和多个接收信道。
除了完成控制功能和网络路由发现,控制器2处理广播和多播传输。当一个端口芯片接收一个广播帧时,它预先不定选择帧的路径到控制器或集线器引擎2的路由头标。集线器引擎在它的本地RAM中存储广播帧并且使用尽可能多的可利用的集线器信道,以一种并行/顺序的方式重发广播/多播帧到目的端口。
因此传输以并行方式产生,使用尽可能多的可利用的信道,并且不要求等待所有的目的端口信道空闲。当每个信道/端口变得可利用时传输顺序地产生。这种方法不要求在广播/多播进行以前所有的帧传输是静止状态。
虽然本发明根据一个单个优选实施例进行描述,在本领域的那些熟练的技术人员将认识到本发明能够在附加的权利要求书的精神和范围内进行修改。