基于变长包的交换系统及交换方法

文档序号:7596474阅读:219来源:国知局
专利名称:基于变长包的交换系统及交换方法
技术领域
本发明涉及通讯领域,特别是涉及应用在核心路由器的信息交换领域。
背景技术
交换系统作为路由器的关键技术,历来都很受关注。目前比较成熟的交换系统主要有输出排队的交换系统、输入排队的交换系统、联合输入输出排队的交换系统和并行分布式排队的交换系统。目前这些交换系统应用的交换单元在工程中普遍采用crossbar来实现,因此仅支持定长包的处理。所谓定长包是指信息包长为一固定常数值的信息包。相对而言,变长包是指信息包长为可变值的信息包。
输出排队交换系统是指所有缓冲区队列放置于目的端口,如图2所示,信息包110进入输入端口101,经交换单元103交换、调度被送往目的端口104的缓冲队列105,随后被输出调度。由于输出排队交换系统在输入端口101没有缓冲区队列,所有到达信息包110必须立即送往目的端口104。从吞吐量和时延特性的角度来看,这是有利的,但是所有到达的信息包同时传送到目的端口需要太多的内部连接带宽和存储器带宽。对于一个N×N的输出排队交换网络,有可能N个信息包同时到达任意一个目的端口,要在一个时隙里接收N个信息包,输出缓冲区队列105的存储器必须能在一个时隙里完成N次写入,传送到存储器的内部线路速率也必须为信息包到达速率的N倍。这样需要一个内部加速比为N的交换单元103。而同时输出缓冲区队列的存储器还必须支持读出一个信息包到输出线路,这样存储器的工作速率必须是线路速率的N+1倍。对于高速路由器,这种系统是不易于实现的。
输入排队交换系统是指所有缓冲区队列放置于目的端口,如图2所示信息包210进入输入端口201的缓冲区队列202、经交换单元203交换、调度被送往目的端口204,随后被输出调度。单纯的输入排队交换系统会导致低的吞吐量。因为每个输入端口201只有一个缓冲区队列202,当两个队列首部信息包同时要到同一个目的端口204时就会发生队首阻塞,而队列后部要到空闲目的端口的信息包也无法发送。为了克服吞吐量低的缺点,输入排队交换系统通常采用虚拟输出排队VOQ方式,即对于N×N的交换网络,每个输入端口放置N个缓冲区队列,分别对应N个目的端口。这样每个缓冲区队列中所有信息包的目的端口一致,也就避免了队首阻塞的发生。VOQ看似复杂,但由于一个时隙每个输入端口最多只能有一个信息包到达和一个信息包离开,因此存储器带宽的要求与单一缓冲队列时一样。通过使用头尾指针,一个输入端口的N个缓冲队列可以在物理上共享一个存储器。逻辑上的划分可以是静态也可以是动态的。VOQ系统中应用的存储器带宽利用率高,又无队首阻塞,因而很适用于高速路由器,缺点是VOQ系统的调度比单一缓冲队列时要复杂。但是由于存储器带宽和线路速率的限制,目前商用高速路由器多数采取此种方式。不足之处在于基于输入排队交换系统的调度策略仅能实现粗粒度的优先级服务,其时延、时延抖动特性均不如基于输出排队交换系统的调度算法。
联合输入输出排队交换系统是在输入端口、目的端口分别进行缓冲排队。该系统如图3所示,信息包310进入输入端口301的缓冲区队列302、经交换单元303交换、调度被送往目的端口304的缓冲区队列305,随后被输出调度。基于联合输入输出排队系统模拟输出排队的调度策略,通过精心设计,能够对于所有类型的到达业务实现单一信息包的时延控制。这一系统最先由Prabhakar和McKeown提出,他们证明了对于任何类型到达业务任何规模的交换网络,联合输入输出排队交换系统采用加速比为4时,可以完全相同的仿效FIFO(First In First Out)输出缓冲队列工作。Shang-Tse Chuang等得出了进一步的结论,他们证明最小加速比仅需为2-1/N。这一结论对于任何类型业务任何规模的交换网络都成立,而且它适用于一大类广泛使用的输出排队交换系统的调度算法,如WFQ,strict priority,FIFO。缺点在于目前基于此种系统所提出的调度算法复杂度过高,在工程中无法实现,只具有理论意义。
并行分布式排队的交换系统是将业务负荷分担到多个平面,进行并行处理,这样可以进一步降低对存储器存取速率和交换单元工作速率的要求。典型的并行分布式排队的交换系统如并行分组交换系统PPS,如图4所示,该系统利用多个容量较小的交换单元,如子层交换单元411、412、413,通过并行处理来组建一个大容量的交换机410,通过输入端口进行业务分配实现负载平衡,在各个小型交换系统中并行处理,然后通过目的端口的复用,从而使其等效或模拟一个输出排队的交换系统。这样使得采用存储器的随机存取速率可以低于端口速率,同时可以实现高性能的调度策略。并行分布式排队的交换系统缺陷在于多个平面的并行处理将导致控制管理上的复杂,而且由于并行处理将导致信息包乱序的问题,目前尚无易于工程实现的解决乱序问题的方案。
由上述可见,几种现有技术的交换系统都存在下列不足1、现有技术不能支持变长包的处理。
交换系统所应用的交换单元在工程普遍采用crossbar来实现,一般高性能的crossbar交换单元都采用了定长交换的方式,在数据信息包进入crossbar以前,将它分割为固定长度的信元cell,这些cell通过交换单元以后被按照原样组织成原来的变长信息包packet。而在采用定长信息包处理时,在路由器中需要增加分片、重组的开销。而且由于切片后信息包长较小,内部信息包头开销所占比例增大,处理效率较低。
2、现有技术不能同时满足速度、性能和复杂度三方面的要求。
现有交换系统虽然各有优势,但在高速环境下不能同时满足速度、性能和复杂度三方面的要求。输出排队的交换系统存在N倍加速问题,在高速环境下应用受限,提高速度将大大增加成本,而且随着速度的提高会降低信息交换的稳定性。输入排队的交换系统虽然不需加速,但输入排队交换系统的调度算法仅能实现粗粒度的优先级服务,其时延、时延抖动特性均不如基于输出排队交换系统的调度算法。联合输入输出排队交换系统仅处于理论研究阶段,其调度算法的复杂度过高,工程中很难实现。并行分布式排队的交换系统多个平面处理将导致控制管理的复杂,而且乱序问题的解决还需要额外的复杂开销。

发明内容
本发明解决的技术问题在于提供一种基于变长包的交换系统及方法,以实现能够支持变长信息包的处理、能够同时满足速度、性能和复杂度三方面的要求。
在此基础上,本发明进一步解决的技术问题是提供一种基于变长包的交换系统及方法,易于实现组播复制。
为解决上述问题,本发明提供了一种基于变长包的交换系统,该系统包括输入端口,用于输入信息包;目的端口,用于输出信息包;其特征在于,还包括交换单元,支持多个信息通道,用于通过所述信息通道接收自输入端口输入的信息包或交换单元之间传送的信息包,并交换处理所接收的信息包;所述存储单元,设置于每个输入端口和目的端口,用于在每个输入端口根据目的端口数目设置区分目的端口的缓冲队列;以及根据支持优先级的数目在每个目的端口设置区分优先级的优先级缓冲队列;连接总线,用于实现输入端口、存储单元、交换单元和目的端口之间的连接。
其中,所述交换单元由现场可编程门阵列或特定应用集成电路或基于网络处理器实现。
其中,所述存储单元包括数个级联的多队列先入先出存储器或静态随机存储器或同步动态随机存储器。
为解决上述问题,本发明提供了一种基于变长包的交换方法,该方法应用于包括输入端口、交换单元、存储单元和目的端口的交换系统,其特征在于,首先执行步骤A,分配数个存储单元到输入端口、目的端口;其次执行步骤B,在所述每一输入端口的存储单元中根据目的端口数目设置区分目的端口的缓冲队列,在所述目的端口的存储单元中根据支持优先级的数目设置区分优先级的优先级缓冲队列;接着执行步骤C,调度输入端口到达的信息包,根据其欲到达的目的端口送往对应存储单元的缓冲队列;然后执行步骤D,轮循调度欲到达每一目的端口的缓冲队列中的信息包,按优先级标记送往对应区分优先级的优先级缓冲队列;最后执行步骤E,按优先级标记,调度同一目的端口的优先级缓冲队列中的信息包输出。
其中,所述步骤D进一步包括组播复制信息包。
其中,所述优先级的数目为整数值。
其中,所述轮循调度具体包括判断所述到达同一目的端口的数个不同输入端口的缓冲队列是否为空,若否,则依次读取所述缓冲队列中的一个完整包;否则,不进行处理。
其中,所述调度由现场可编程门阵列或特定应用集成电路或基于网络处理器实现。
其中,所述存储单元包括数个级联的多队列先入先出存储器或静态随机存储器或同步动态随机存储器。
与现有技术相比,本发明提供的交换系统具有以下有益效果首先,由于本发明交换系统中交换单元的支持,因而能够很好的支持变长信息包的处理,因此,避免了分片重组的开销,提高了处理效率。其次,由于仅需要存储单元和交换单元两倍加速即可支持高性能低复杂度的调度算法,从而使核心路由器投入成本较低。再者,由于交换单元中的各个FPGA芯片相互间通过数据总线相联,芯片内部的交换采用了全互连的结构,从而在结构上更易于实现组播复制,使得实现组播支持的复杂度极低。
与现有技术相比,本发明的交换方法具有以下有益效果首先,由于本发明在所述每一输入端口的对应的存储单元中根据目的端口数目设置区分目的端口的缓冲队列,在所述目的端口的存储单元中根据支持优先级的数目设置区分优先级的优先级缓冲队列,然后调度输入端口到达的信息包,根据其予到达的目的端口送往对应存储单元的缓冲队列,然后轮循调度予到达每一目的端口的缓冲队列中的信息包,按优先级标记送往对应区分优先级的优先级缓冲队列;因而能够很好的支持变长信息包的处理,因此,避免了分片重组的开销,提高了处理效率。


图1是现有技术输出排队交换系统;图2是现有技术输入排队交换系统;图3是现有技术联合输入输出排队交换系统;图4是并行分组交换系统;图5是本发明硬件物理结构图;图6是本发明芯片连接关系图;图7是本发明基于变长信息包的交换系统工作原理图;图8是加权差额循环调度算法示意图;图9是本发明单片FPGA中元件工作的流程图;图10是本发明基于变长包的交换系统流程图;
图11是本发明信息包具体处理流程图。
具体实施例方式
基于变长包的交换系统的物理结构如图5所示,该交换系统由交换单元和存储单元构成。其中,交换单元包括4片XC2VP20-6F896C型号的FPGA芯片,单片FPGA芯片内支持8个可编程高速IO通道,支持多种串行接口规范,而且高速IO通道内部集成了串并变换、8B/10B编译码器、CRC校验等多个可配置子单元,数据总线通过高速IO通道将4片芯片相互连接在一起;其中,存储单元由16片IDT72V51356L6BB型号的多队列FIFO芯片构成,因为该交换系统内部的数据处理总线为64位线宽,单个的多队列FIFO只能支持36位线宽,因此需要将两片FIFO芯片级联,实现位数扩展,以支持单片FPGA芯片一个高速IO通道的信息存储。由于单片FPGA芯片内置规模可达三百万门,然而对于该交换系统仍然资源不足,因此交换系统的交换单元采用了四片FPGA芯片,其中每片芯片用来支持两个通道的交换,然后如图5所示互联在一起。即同轴0-7对应为交换系统的输入端口和目的端口,每片FPGA与两个同轴连接。以连接同轴0、1的FPGA为例,对于目的端口为0、1的信息包,在芯片FPGA 501内部处理,处理后分别送信息包存储单元505、506进入各自的缓冲队列。同理对于目的端口为2、3的信息包送往芯片FPGA502处理,处理后分别送信息包存储单元507、508进入各自的缓冲队列;对于目的端口为4、5的信息包送往芯片FPGA 503处理,处理后分别送信息包存储单元512、511进入各自的缓冲队列;对于目的端口为6、7的信息包送往芯片FPGA 504处理,处理后分别送信息包存储单元510、509进入各自的缓冲队列。总体来说,就是首先根据到达信息包的目的端口将信息包送往对应的芯片FPGA进行处理,处理后经调度分别送往对应的信息包存储单元进入各自的缓冲队列。
各芯片在交换系统内部的位置和接口关系如图6所示。
交换单元由FPGA01、FPGA23、FPGA45、FPGA67芯片通过2.5G高速差分信号总线相互连接。芯片各自分别完成两个端口的输入控制、优先级调度、输出控制等工作,并负责完成与其它端口的交互工作;FPGA之间采用2.5G高速差分信号总线连接,这样对于不同输入端口输入的信息包经处理后,通过信号总线传输到其予到达的目的端口的优先级缓冲队列,进行优先级排队。
每两片多队列FIFO级联组成信息包存储单元,负责缓存一个端口的优先级队列。该交换系统可以分为四个对称的部分,每部分由一片FPGA和两个信息包存储单元组成,每个信息包存储单元负责缓存一个目的端口的区分优先级的信息包,通过66位宽的数据总线连接与FPGA芯片连接。事实上,这四个部分的工作处理过程基本一致,因此我们仅以FPGA01所在部分来具体说明交换系统中各芯片相互间的连接关系。
如图6所示,在芯片FPGA01501内部支持8个高速IO通道,两个通道分别用于第1、2两个端口的收发信息包,标记为601、602。其余6个高速IO通道用于和其他6个端口交互。其中与芯片FPGA23502连接的通道分别为603、604,与芯片FPGA67504连接的通道分别为605、606,与芯片FPGA45503连接的通道分别为607、608,然后通过用数据总线611、612与信息包存储单元505连接在一起,通过用数据总线613、614与信息包存储单元506连接在一起。如此相互的连接,可方便的实现数据信息包到各个目的端口的传送及组播复制。
基于变长包的交换系统工作原理如图7所示,首先,在每个输入端口、目的端口设置信息包存储单元,即在输入端口采取区分目的端口的排队。(虽然这样增加了信息包存储单元的总个数,但这样避免了各端口之间的交互,可以采用分离的调度算法,即调度算法仅需考虑到单一目的端口的拥塞状态,而不需要考虑其他端口的状态,独立的进行调度。(与之对应的是集中控制的调度算法,它需要考虑到交换系统中所有端口的状态进行调度。)这样更易于硬件的实现。其次,对于目的端口相同的缓冲队列,采用轮循调度策略(即判断所述到达同一目的端口的N个不同源端口队列是否为空,对于非空的队列,依次从中读取一个完整包,空队列则不进行处理。)对到达的信息包进行调度,输出信息包被送往目的端口的优先级队列进行区分优先级的排队。
例如,对于8×8的交换网络,在每个输入端口设置一个信息包存储单元,所有输入端口一共有8个信息包存储单元,即两片FIFO级联,其中在每个信息包存储单元中设置8个分离的缓存队列,即分别到0、1…7端口的缓存队列,以分别缓存到达不同目的端口的信息包。同样,在每个目的端口设置1个信息包存储单元,即两片FIFO级联,所有目的端口一共是8个信息包存储单元,其中在每个信息包存储单元中设置优先级缓存队列,分别缓存从不同输入端口输入的并且到达此目的端口的优先级信息包。更具体描述,即在对应目的端口为0的信息包存储单元中设置优先级缓存队列,以缓存所有输入端口(即输入端口0、输入端口1…7)输入的并且予到达目的端口为0的信息包,并且按照优先级标记进行优先级排队。即在目的端口为0的端口中,8个优先级缓存队列分别为0端口的优先级0信息包、0端口的优先级1信息包、0端口的优先级m信息包…0端口的优先级7信息包。同理,对对应其它输入端口、目的端口的信息包存储单元进行设置。当然,优先级的数目可以为任意整数值,比如在目的端口为0的端口中,设置为2个优先级缓冲队列,即0端口的优先级0信息包、0端口的优先级1信息包;同理,优先级缓冲队列数目也可以大于输入端口的数目。这样设置后,所有被轮循调度的信息包按照所设置的优先级队列进行排队。
交换单元中的芯片FPGA在优先级队列的出口选用多种输出排队交换方法的调度策略对排队的优先级队列进行调度,比如加权公平排队策略(Weighted Fair Queuing,WFQ)、统计公平排队(Stochastic Fair Queuing,SFQ)、差额轮询(Defcit Round Robin,DRR)、自定时公平排队策略(SelfClocked Fair Queuing,SCFQ)等,以实现对不同优先级业务的带宽分配。其中针对目的端口的调度是二倍加速,即经过信息包存储单元一级加速及信息包交换单元中的交换子单元二级加速,这样可以导致优先级队列的拥塞,以便实现带宽分配。这种方法的优势在于仅用二倍加速在性能上可逼近需要N倍加速的输出排队方法。该方法可以针对端口采取队列管理策略(比如,先到先丢(First In First Drop,FIFD)、末尾丢弃(Drop Tail)、随机早期探测(RandomEarly Detection,RED)、标记随机早期探测(RED with IN and OUT bit,RIO)和加权随机早期探测(Weighted RED,WRED)等队列管理机制。)与支持优先级的带宽调度策略(比如,加权公平排队策略(Weighted Fair Queuing,WFQ)、统计公平排队(Stochastic Fair Queuing,SFQ)、差额轮询(Deficit RoundRobin,DRR)、自定时公平排队策略(Self Clocked Fair Queuing,SCFQ)等)相结合,能够为到达信息包业务提供很好的(Qulity ofServers,QoS)支持。同时考虑了当前元器件的工艺水平限制。如直接采用传统的输出排队交换方法,在一个目的端口设置一个逻辑上分离而物理上单一的信息包存储单元,这对于当前商用存储器随机访问速率水平是较难实现的。因此我们分两步实现基于变长包的信息交换,首先通过采用2.5G高速差分电路连接的4片FPGA根据到达信息包的目的端口实现端口间的交换,此处采用2倍加速的轮循调度算法,进而通过单片FPGA控制多队列FIFO构成的输出信息包存储单元实现基于优先级的带宽分配。这样交换方法可以不必工作于N倍加速状态,通过FPGA,在优先级队列的出口采用允许低延迟队列的加权差额循环调度算法(Modified Weighted Deficit Round Robin,MWDRR)对信息包进行调度,即所述允许低延迟队列的加权差额循环算法(MWDRR)是在常规的差额循环算法(DRR)基础上改进而成的,它不仅能够很好的支持区分优先级的调度,而且对流媒体业务能够提供更好的支持。MWDRR算法将最高优先级队列设置为低延迟队列,对其他的7个优先级队列采取支持优先级的差额轮询方式按整信息包进行调度。对于低延迟队列,采用交替优先模式,使低延迟队列和其他优先级队列交替获得服务。如图8所示,假设队列0是低延迟队列,则各队列获得服务的次序为0、1、0、2、0、3、0、4、0、5、0、6、0、7。MWDRR算法主要通过差额计数器来调度各队列的输出。在初始时刻将各队列的差额计数器清零,每个循环周期的开始为各队列的差额计数器加上一个与其权值成比例的数值,根据交替优先模式各队列按对应的顺序轮循,差额计数器计数值大于0的队列即调度头信息包输出,相应计数器减去输出信息包长的字节数。差额计数器计数值小于0的队列则被跳过,等待下一个循环的轮循。)这样,通过所述MWDRR算法对信息包进行优先级队列调度,以实现支持不同优先级业务的带宽分配,进而实现在低倍速下即可支持高性能地复杂的调度算法,而且该交换方法中的交换单元通过芯片FPGA内部采用全互连方式实现,这样对从不同输入端口输入的信息包可以通过交互的数据总线传输到予到达的目的端口,从而能够支持变长信息包处理。
图9给出了交换单元中单片芯片对到达信息包的处理过程首先,0、1端口到达信息包通过同轴电缆801、同轴电缆802进入芯片FPGA 501内部;其次,经高速IO 5011完成串并变换;再次,写入各自的异步FIFO 5012;同理,2至7端口的到达信息包由其他三片FPGA经同轴电缆901、902…905进入芯片FPGA 501,通过高速IO 5011完成串并变换后先写入各自的异步FIFO 5012。接着,对于所有目的端口为0、1端口的信息包,经过交换子单元进行区分源端口的排队;然后,通过FPGA内部逻辑实现轮循调度进行轮循读取,送往各自优先级队列;最后,优先级队列中的信息包根据所述调度算法被信息包存储子单元505读出,被FPGA芯片中的优先级缓存子单元调度,送往异步FIFO 5012,经高速IO通道5011通过标记为801同轴电缆输出。
对于单播信息包,若其目的端口为2至7端口,则送往芯片内对应端口的异步FIFO,然后经过高速IO从芯片输出。
对于0、1端口到达的组播信息包,根据其组播标记将信息包直接复制到其它对应目的端口的异步FIFO,完成组播复制,送往其对应目的端口。
如图10所示基于变长包的交换方法,该交换方法应用于包括输入端口、目的端口、存储单元、交换单元的交换系统,其包括步骤首先执行步骤S401,即分配数个存储单元到输入端口、目的端口;接着执行步骤S402,即在所述每一输入端口的存储单元中根据目的端口数目设置区分目的端口的缓冲队列,在所述目的端口的存储单元中根据支持优先级的数目设置区分优先级的优先级缓冲队列,所述优先级的数目为任意整数值;接着执行步骤S403,即调度输入端口到达的信息包,根据其到达的目的端口送往对应输入端口存储单元的缓冲队列;接着执行步骤S404,即根据每一目的端口,轮循调度到达此端口的缓冲队列中的信息包,按优先级标记送往对应区分优先级的优先级缓冲队列;最后执行步骤S405,即按优先级标记,调度同一目的端口的优先级缓冲队列中的信息包输出。
信息包具体处理流程如图11所示,具体包括首先执行步骤S101,即外部端口从转发模块接收数据包;接着执行步骤S102即进行过滤空闲字和数据对齐后对IP报文进行重组;接着执行步骤S103,即对于重组后的IP报文,根据其内部标识和组播标识完成报文过滤和复制;接着执行步骤S104,判断目的端口是否在本片FPGA中,若否,即对于目的端口在其它芯片FPGA的报文,送往36bit宽的内部报文缓存;若是则执行步骤S111;接着执行步骤S105,即判断是否有完整报文,若是则输出报文到其它FPGA处理,若否则输出空闲码到其它FPGA处理;步骤S111,对于目的端口在本片FPGA的IP报文,将其由32bit+K码的格式转换为64bit+头尾标识的格式;步骤S111后,紧接着执行步骤S112,即送往一个66bit宽的内部报文缓存。
步骤S201,FPGA之间的互连接口接收其它FPGA通过高速通道送来的数据,接着执行步骤S202,即进行过滤空闲字和数据对齐后对IP报文进行重组;接着执行步骤S203,即对于重组后的IP报文,根据其内部标识和组播标识完成报文过滤和复制,然后执行步骤S204,即将其由32bit+K码的格式转换为64bit+头尾标识的格式;步骤S204后,紧接着执行步骤S205,即送往另一个66bit宽的内部报文缓存。
随后执行步骤206,即对于步骤112和步骤205后的两个内部缓存中的报文一起进行区分优先级的排队;接着执行步骤S207,即写入到外部缓存队列;接着执行步骤S208,即对于外部缓存队列中的报文,根据优先级调度算法从外部缓存队列中读取报文;接着执行步骤S209,即将其由64bit+头尾标识的格式转换为32bit+K码的格式最后执行步骤S210,即送往线路接口模块。
由上述可见,本发明给出的实施例是以基于FPGA(Field Programable GateArray现场可编程门阵列)和多队列FIFO的组合为基础的,在实际的工程中还可以采用基于NP(Network Processor网络处理器)和ASIC(ApplicationSpecific Integrated Circuit特定应用集成电路)代替FPGA,采用SRAM(StaticRandom Access Memory静态随机存储器)和SDRAM(Synchronous DynamicRandom Access Memory同步动态随机存储器)代替多队列FIFO来实现。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种基于变长包的交换系统,包括输入端口,用于输入信息包;目的端口,用于输出信息包;其特征在于,还包括交换单元,支持多个信息通道,用于通过所述信息通道接收自输入端口输入的信息包或交换单元之间传送的信息包,并交换处理所接收的信息包;所述存储单元,设置于每个输入端口和目的端口,用于在每个输入端口根据目的端口数目设置区分目的端口的缓冲队列;以及根据支持优先级的数目在每个目的端口设置区分优先级的优先级缓冲队列;连接总线,用于实现输入端口、存储单元、交换单元和目的端口之间的连接。
2.按照权利要求1所述的基于变长包的交换系统,其特征在于,所述交换单元由现场可编程门阵列或特定应用集成电路或基于网络处理器实现。
3.按照权利要求1所述的基于变长包的交换系统,其特征在于,所述存储单元包括数个级联的多队列先入先出存储器或静态随机存储器或同步动态随机存储器。
4.一种基于变长包的交换方法,应用于包括输入端口、交换单元、存储单元和目的端口的交换系统,其特征在于,包括步骤A、分配数个存储单元到输入端口、目的端口;B、在所述每一输入端口的存储单元中根据目的端口数目设置区分目的端口的缓冲队列,在所述目的端口的存储单元中根据支持优先级的数目设置区分优先级的优先级缓冲队列;C、调度输入端口到达的信息包,根据其欲到达的目的端口送往对应存储单元的缓冲队列;D、轮循调度欲到达每一目的端口的缓冲队列中的信息包,按优先级标记送往对应区分优先级的优先级缓冲队列;E、按优先级标记,调度同一目的端口的优先级缓冲队列中的信息包输出。
5.按照权利要求4所述的基于变长包的交换方法,其特征在于,所述步骤D进一步包括组播复制信息包。
6.按照权利要求4所述的基于变长包的交换方法,其特征在于,所述步骤B中的优先级的数目为整数值。
7.按照权利要求4所述的基于变长包的交换方法,其特征在于,所述轮循调度具体包括判断所述到达同一目的端口的数个不同输入端口的缓冲队列是否为空,若否,则依次读取所述缓冲队列中的一个完整包;否则,不进行处理。
8.按照权利要求4所述的基于变长包的交换方法,其特征在于,所述调度由现场可编程门阵列或特定应用集成电路或基于网络处理器实现。
9.按照权利要求4所述的基于变长包的交换方法,其特征在于,所述存储单元包括数个级联的多队列先入先出存储器或静态随机存储器或同步动态随机存储器。
全文摘要
本发明提供了一种基于变长包的交换系统,该系统包括输入端口,用于输入信息包;目的端口,用于输出信息包;还包括交换单元,支持多个信息通道,用于通过所述信息通道接收自输入端口输入的信息包或交换单元之间传送的信息包,并交换处理所接收的信息包;所述存储单元,设置于每个输入端口和目的端口,用于在每个输入端口根据目的端口数目设置区分目的端口的缓冲队列;以及根据支持优先级的数目在每个目的端口设置区分优先级的优先级缓冲队列;连接总线,用于实现输入端口、存储单元、交换单元和目的端口之间的连接。本发明能够很好的支持变长信息包的处理,仅需两倍加速即可支持高性能低复杂度的调度算法,在结构上更易于实现组播复制。
文档编号H04L12/56GK1728682SQ20041007068
公开日2006年2月1日 申请日期2004年7月29日 优先权日2004年7月29日
发明者汪斌强, 张兴明, 伊鹏, 罗敏轩, 胡曦明, 郝京宇 申请人:国家数字交换系统工程技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1