一种分组重排序方法和系统的制作方法

文档序号:7972268阅读:121来源:国知局
专利名称:一种分组重排序方法和系统的制作方法
技术领域
本发明涉及网络通讯技术领域,具体涉及一种分组重排序方法和系统。 背彔技术目前,采用分组交换的网络体系中,同一业务流的不同分组通常会沿着不 同的路径到达同一输出端口。由于不同的路径中存在不同的传输时延,所以, 输出端口的分组流的排列次序会被打乱,即输出端口的分组流的排列次序与从 输入端口流入交换网络的分组流的排列次序不同了。随着网络技术的发展,越来越多的网络应用技术如流媒体等,都要求分组 流在交换网络中按顺序传输,也就是说,输出端口的分组流的排列次序应与从 输入端口流入交换网络的分组流的排列次序相同。为了在交换网络的输出端口恢复流入交换网络中的分组流的顺序,需要在 输出端口对分组流进行分组重排序。分组重排序技术如附图l所示。图1中,分组流的6个分组按照0至5的顺序依次进入交换网络,这6个 分组通过3条不同的传输路径传输,在分组流输出交换网络之前,对分组流进 行重新排序,使分组流的6个分组依旧按照0至5的顺序输出交换网络。在通常情况下,分组重排序系统主要由序列号生成器和重排序机两部分构 成。分组重排序系统如附图2所示。图2中,分组重排序系统包括多个序列号生成器和多个重排序机。 一个序 列号生成器和一个重排序机对应一个分组流。序列号生成器位于交换网络的输 入端,其作用是为每个进入交换网络的分组添加一个序列号,以表示该分组在整个分组流中的位置,序列号是重排序的依据。这里的序列号可以为时间戳。 重排序机位于交换网络的输出端。其作用是接收并存储到达的分组,并根据 各分组的序列号如时间戳的大小对各分组进行排序,然后,再按顺序输出分组 流,重排序机输出的分组流与输入交换网络的分组流具有相同的次序。在分组流的传输出现乱序的情况下,为了对该分组流进行重新排序,重排
序机需要接收一定数量的分组后,再按顺序输出该分组流中的分组。因此,重 排序机会使分组流的传输产生一定的时延,而且,时延的大小与分组流乱序程 度有关。衡量分组重排序方法性能的指标主要有如下四个1、 排序时间。排序时间是指分组从进入输出端重排序机到分组被插入输 出队列中的正确位置所花费的时间。重排序机应在一个分组传输时间内完成对 该分组的排序操作,否则,会造成输出端的多个分组拥塞。2、 缓存大小及利用率。缓存大小及利用率是指用来存放重排序分组的存 储器的大小及存储器的利用情况。在不影响重排序正确性的前提下,缓存越小、 且利用率越高越好。3、 容错性。容错性是指当分组在交换网络中的传输出现差错时,重排序 机对分组正确重排序的性能。分组在交换网络中的传输差错对正确重排序的影 响越低,则重排序算法的容错性越好。这里的传输差错如分组阻塞、丢失等。4、 重排序时延。重排序时延是指分组流在经过重排序机、序列号生成器时,重排序机和序列号生成器造成的时延。重排序机是重排序方法的核心,为了正确的实现重排序功能,目前的分组 重排序方法的设计基本上都是围绕重排序机进行的。下面对目前的多种重排序 方法进行说明。方法一、早期的重排序方法实现原理如附图3所示。图3中,在输出端的重排序机中建立一个队列,该队列用来存储分组。对 于进入重排序机的分组,将该分组的序列号如时间戳和存储在队列中的分组的 序列号一一进行比较,以找到该分组在队列中的位置,然后,将该分组插入到 队列中。由于方法一的重排序方法需要进行已存储分组序列号的一一比较,因此, 会花费相当多的时间,即重排序时延长。方法二、 Turner; Jonathan S提出的重排序方法实现原理如附图4所示。 图4中,每个分组在进入交换网络之前,都会附加一个时间戳,以标明该 分组在队列中的先后次序。在分组进入重排序机后,通过比较分组的时间戳值 和当前的时间值,产生一个Ar, Ar是该分组从进入交换网络到从交换网络中 输出的时间间隔,Ar表示该分组通过交换网络所花的时间,即该分组的"年龄"。龄存入一个缓冲器中,且缓冲器中存储的分组的年 龄应随时间规则递增。随后,重排序机在所有已储存的分组中找出年龄最大的 分组,即最先进入交换网络的分组,并将该分组的年龄与极限年龄相比较,如 果该分组的年龄大于该极限年龄,则输出该分组,并把该分组的年龄从缓冲器 中删除。方法二的优点在于该方法不需要将所有存储在缓冲器中的分组按照其时 间戳值的大小排队,而是只选出其中最早进入交换网络的分组并输出,从而减 少了重排序的处理时间,加快了重排序的处理速度。但是,该方法需要保证所 有己存储的分组的年龄值随时间的变化而规则增大,这就要求系统的同步性能 非常高,从而使重排序机的结构比较复杂,增加了方法实现的难度。方法三、JeongW. Heo和DanK. Sung, Member提出的ATM网络中实现快 速重排序的方法。该方法利用ATM网络的信元中包含的VCI (虚通路标志)信 息,将流入输出端重排序机的信元流分若干个虚通路逻辑队列(VC logical queues),每个虚通路逻辑队列只存储属于本队列的信元,并对本队列中的各 信元排序。该方法的实现原理如附图5所示。图5中,当一个信元到达重排序机后,重排序机根据该信元的VCI判断该 信元属于哪个虚通路逻辑队列,然后,将这个信元送入该队列中进行排序。该 方法的实质为在输出端的重排序机中,分别为每个信元流建立一个排序队列, 每个排序队列只对属于该队列的信元进行排队。方法三的优点在于实现了信元流的分队列排序,减少了需要比较的信元 序列号的数量,进而减少重排序的处理时间。另外,由于该机制采用虚通路标 志移位寄存器(VSR)来为输出提供引导,因此,该方法不需要再增加额外的 仲裁功能来决定信元输出的先后顺序,从而简化了重排序机的电路结构。虽然方法三是针对ATM网络信元的重排序方法,但是该方法提出的根据不 同的分组流建立多个分组流存储队列,并对每个队列独自进行分组重排序的思 想,可以应用在任何类型的交换网络中,而且,这一思想在已有的多个分组重 排序方案中均有所体现。上述介绍的三种重排序方法都未考虑交换网络中的传输差错对重排序机 的影响,即重排序机的容错性。分组流在交换网络中进行交换、传输操作时, 出现的传输差错主要有分组流的拥塞及分组的丢失。传输差错对重排序机造
成的影响为若分组流中某个分组在交换网络的传输过程中被丢失了,重排序 机中存储的分组流队列会因该分组没有到达而迟迟无法继续发送,以致重排序 机中存储的分组越来越多。如果分组流中的某些分组在交换网络中被阻塞了较 长一段时间后才到达重排序机,则不仅会使重排序机中存储的分组在较长的时 间内不能发送,而且,由于分组的序列号是不断循环的,如果与被阻塞分组具 有相同序列号的分组先到达输出端,则会使重排序产生错误。针对交换网络中的传输差错,BahmanSalamat等对方法二进行了改进。该 方法的改进点在于当重排序机接收到一个分组后,并不立刻对其进行排序, 而是将该分组的序列号与已排好序的分组流队列中最后一个分组的序列号相 减并取绝对值。如果该绝对值小于一个极限值,则将该分组送入分组流队列进 行排序;如果该绝对值大于该极限值,则说明该分组是在交换网络中阻塞了一 段时间才到达的,是"过时"的分组。重排序机将该分组丢弃,以免过时的分 组造成分组流重排序的错误。该方法虽然在一定程度上减少了交换网络中分组流拥塞对分组重排序的 影响,但是,该方法仍然无法避免分组丢失对重排序的影响,也就是说,在分 组传输丢失时,该方法无法判断出分组是丢失了还是被阻塞了,也就无法判断 是否该等待该分组,以及等待的时间。大容量交换网络的基本结构如附图6所示。图6中,大容量交换网络通常由若干个交换单元构成,每一个交换单元都 是一个子交换网络。在交换网络的边缘,多个流量分配器根据流量分配策略将 从输入端口输入的分组流送往不同的交换单元。由于大容量交换网络的结构特 点,使分组在交换网络中的传输时延变化非常大,也就是说,交换网络的最大 分组传输时延趋近于无穷大。在这种情况下, 一但发生分组拥塞或分组丢失, 现有的重排序方法将无法判断出分组是丢失了还是被阻塞了,也就无法判断是 否该等待该分组,以及等待的时间。由上述描述可知,现有的分组重排序方法不论是对由单一交换单元构成的 交换网络而言,还是对由多个交换单元并行构成的大容量分组交换网络而言, 均不能够使重排序机及时发现分组流在交换网络传输过程中的传输错误,使重 排序机的容错性能差,交换网络的分组重排序方法有待于进一步完善
发明内容
本发明的目的在于,提供一种分组重排序方法和系统,以解决重排序机容 错性能差的问题使输出端能够方便的确定出分组在交换网络中传输异常的情 况,提高了分组重排序的容错性,完善了包括大容量分组交换网络在内的各种 交换网络的分组重排序方法。为达到上述目的,本发明提供的--种分组重排序方法,包括a、 交换网络输入端在将分组流中的分组输入交换网络过程中,将该分组 流中其他分组的分组传输信息输入至交换网络;b、 交换网络输出端在分组重排序输出过程中,根据其接收的分组传输信 息和接收到的分组确定传输异常的分组;c、 所述输出端针对传输异常的分组进行相应的分组输出处理。 所述分组传输信息为分组传输时间信息、和/或分组传输路径信息。 所述步骤a包括-交换网络输入端在将分组流中的分组输入交换网络时,将该分组、该分组 的传输路径信息和该分组流中其他分组的传输路径信息输入至交换网络。所述步骤b中分组重排序输出的过程具体包括 bl、输出端将其接收的分组缓存;b2、输出端根据分组序列号顺序存储其接收的分组的缓存地址;b3 、输出端根据连续存储的缓存地址的存储顺序输出其缓存的分组。所述步骤bl具体包括输出端将其接收的不同分组流的分组存储在一个分组存储器中。 所述步骤b2中存储分组缓存地址的存储空间为多段存储空间,且所述多 段存储空间是输出端为分组流动态分配的。 所述步骤b还包括输出端回收存储分组缓存地址的存储空间。所述分组传输信息为分组传输路径信息,且所述步骤b中确定传输异常 的分组的步骤具体包括所述输出端根据其接收到的分组及分组传输路径信息记录到当前时间为 止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;所述输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组
序列号、及所属的传输路径;所述输出端确定空缺的分组所属传输路径对应的最后序列号; 所述输出端判断最后序列号是否大于空缺的分组序列号; 如果大于,确定该空缺的缓存地址对应的分组传输丢失; 如果不大于,确定该空缺的缓存地址对应的分组传输拥塞。 所述步骤C包括所述输出端在确定分组传输丢失后,继续根据后续连续存储的缓存地址的 存储顺序输出其缓存的分组。 所述步骤C包括所述输出端在确定分组传输拥塞后,在预定时间间隔内等待接收分组; 所述输出端在预定时间间隔内接收到其等待的分组时,输出该分组; 所述输出端在预定时间间隔内没有接收到其等待的分组时,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。本发明还提供一种分组重排序系统,包括输入端和输出端,所述输出端设置有重排序机,所述输入端设置有分组信息生成器,所述重排序机中设置有重排序模块和异常控制模块;分组信息生成器用于在输入端将分组流中的分组输入交换网络过程中,获取该分组流中其他分组的分组传输信息,并为分组添加分组序列号和所述分组传输信息,然后,将分组输入至交换网络;重排序模块用于对接收端接收的分组进行分组重排序输出; 异常控制模块用于根据输出端接收的分组传输信息确定传输异常的分组,并针对传输异常的分组控制重排序模块的输出。 所述重排序模块包括分组存储器地址管理池为接收端接收的分组提供存储地址,并将该存储 地址传输至分组地址存储段;分组存储器用于根据分组存储器地址管理池提供的存储地址存储分组, 并根据输出仲裁机的通知、分组地址存储段提供的缓存地址输出其存储的分 组;段控制器用于在分组存储、输出时,为分组流提供分组地址存储段的存 储段首地址、输出段首地址;
分组地址存储段用于根据存储段首地址、按照分组序列号顺序存储分组 在分组存储器的缓存地址,根据输出段首地址,按照存储顺序向分组存储器提 供缓存地址;输出仲裁机用于根据预定仲裁机制对各分组流的输出进行输出仲裁,并 根据仲裁结果通知相应分组流的分组存储器。 所述重排序模块还包括段存储地址管理池用于回收空闲的分组地址存储段的段首地址,并向段 控制器提供空闲的段首地址。分组地址存储段中还存储有缓存地址对应的分组的分组传输路径信息, 且异常控制模块包括最后值存储模块用于存储到当前时刻为止、分组流的各传输路径最后达 到输出端的分组的序列号,即最后序列号;分组丢失判断器根据分组地址存储段中存储的传输路径信息判断分组地 址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中 存储的该分组传输路径对应的最后序列号,在判断出大于所述最后序列号时, 确定该空缺的缓存地址对应的分组传输丢失,进行丢失处理;在判断出不大于 所述最后序列号时,确定该空缺的缓存地址对应的分组传输拥塞,进行拥塞处 理。分组地址存储段中的一个存储单元包括分组的缓存地址、分组的传输路 径信息、用来标志分组是否到达输出端的标志位1、用来标志分组的传输路径 信息是否有效的标志位2;分组丢失判断器在确定标志位l无效、且标志位2有效时,判断分组地址存 储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存储 的该分组传输路径对应的最后序列号。通过上述技术方案的描述可知,本发明的输入端在将分组输入至交换网络 时,通过将该分组流中其他分组的传输信息如传输路径信息等通过交换网络传 输至输出端,使输出端能够迅速、准确的确定出分组在交换网络中传输异常的 情况,如分组传输拥塞、分组传输丢失等,这样,输出端就能够在分组传输异 常时,确定出针对传输异常分组所采取的输出处理,如在预定时间间隔等待传
输拥塞的分组,再如不等待丢失的分组,直接输出下一个分组等,使本发明提供的技术方案能够很好的适用于大容量分组交换网络;本发明除了使输出端能 够迅速得知具体的分组传输异常现象、使输出端能够对传输异常的分组执行明 确的输出处理外,还避免了在分组重排序过程中因分组丢失而产生的不必要的 等待时间,从而节约了分组重排序的时间;本发明通过在输出端根据分组序列 号顺序存储分组的缓存地址,使分组的存储与分组的排序操作相互独立,这样, 不同分组流中的所有分组均可以存储在同一个分组存储器中,提高了输出端分 组存储器的存储空间利用率;通过动态分配存储分组缓存地址的存储空间,有 效防止了应分配的分组缓存地址存储队列过短而造成分组缓存地址溢出的现 象,并有效防止了应分配的分组缓存地址存储队列过长而造成的缓存空间浪费 的现象;节约丫输出端的存储空间;从而通过本发明提供的技术方案实现了提 供分组重排序效率、提高分组重排序的容错性能、完善包括大容量分组交换网 络在内的各种交换网络的分组重排序方法的目的。


图1是分组重排序技术示意图;图2是分组重排序系统示意图;图3是现有技术的重排序方法一实现原理示意图;图4是现有技术的重排序方法二实现原理示意图;图5是现有技术的重排序方法三实现原理示意图;图6是现有技术的大容量交换网络的基本结构示意图;图7是分组流传输路径示意图;图8是本发明实施例的分组重排序系统示意图图9是本发明实施例的分组信息生成器的工作流程示意图;图IO是本发明实施例的分组重排序方法示意图一 ;图ll是本发明实施例的分组重排序方法示意图二;图12是本发明实施例的重排序机对传输路径信息的处理方法示意图;图13是本发明实施例的分组存储流程图;图14是本发明实施例的分组输出流程图;图15是本发明实施例的分组重排序机的示意图。
具体实施方式
大容量交换网络具有分组流量大,输入输出速度快,且负载变化大等特点, 大容量交换网络的这些特点使得在交换网络中传输的分组的传输时延变化很 大、且无法估计。因此,分组拥塞及分组丢失等分组传输异常情况对大容量交 换网络中的分组重排序的影响很大。当然,分组传输异常情况对于由单一交换 单元构成的交换网络中的分组重排序也同样有影响。如果在分组重排序过程 中,交换网络的输出端能够快速、准确的检测出分组流在交换网络中的传输情 况,就能够在包括大容量交换网络在内的各种交换网络中快速而正确的进行分 组重排序处理,从而有效避免分组拥塞及分组丢失对分组重排序的影响,减少 分组重排序的等待时间、提高输出端存储空间的利用率,并增强分组重排序技 术方案在包括大容量交换网络在内的各种交换网络中的容错性能。交换网络的交换单元所采用的各种交换结构中,有些结构具有保序性,能 保证分组流的顺序输出,也就是说,交换网络输出端输出的分组流顺序与输入 交换网络的分组流的顺序相同。在由多个保序交换单元构成的大容量交换网络中,每个分组流都可以认为 是沿着若干条固定的路径从输入端流向输出端。这些所谓的"路径",并不是 指分组流在交换网络中所经过的真实路线,而是一个逻辑上的概念,是指分组 经过的交换单元。由于每个交换单元都是保序的,故可以把分组经过-个交换 单元到达输出端的过程看作分组经过一条"路径"到达输出端。在重排序机屮, 具有相同路径信息的分组来自同一保序交换单元。具体来说,对于一个分组流 而言,认为经过同一个交换单元流入输出端口的所有分组,都是沿着同一条路径传输的,如附图7中, 一个分组流中的不同分组可以沿着粗黑实线标识的不 同传输路径传输至交换网络的输出端。路径是从属于分组流的,分组在路径中传输都具有如下四个特点1、 在一条路径上传输的所有分组都来自同一分组流。2、 在一条路径上传输的所有分组都是按其进入该路径的先后顺序进行传 输的,不存在乱序情况。3、 如果路径上的某个分组X被阻塞了而无法传输,则在分组X之后进入 该路径的所有分组均被阻塞了 。 4、在同一条路径上传输的分组X与分组Y,分组X先于分组Y进入该路径, 若分组Y到达了输出端口时,分组X仍未到达,则表明分组X在传输的过程中 被丢失了。本发明充分利用分组在路径中传输的特点,在交换网络的输入端传输分组 流中的分组时,将该分组和该分组流中其他分组的传输信息如分组传输路径信 息输入至交换网络,使输出端能够通过其他分组的传输信息准确的判断出某个 未到达的分组的传输情况。下面以分组传输路径信息为例对本发明提供的技术方案进行说明。 输入端在将某个分组和其他分组的传输路径信息输入至交换网络时,可以 将其他分组的传输路径信息携带于某个分组中输入至交换网络,也就是说,分 组和分组流中其他分组的传输路径信息一起输入至交换网络。当然,本发明也 可以采用其他方法将其他分组的传输路径信息输入至交换网络,如将分组及拔-他分组的传输路径信息先后输入至交换网络等。这里的传输路径信息可以为路在上述描述中,其他分组为先于某分组输入交换网络的分组,如当输入 端将分组5输入交换网络时,输入端将先于分组5输入交换网络的分组的传输 路径信息和分组5—起输入至交换网络。当然,其他分组也可以为其他形式, 如后于某分组输入交换网络的分组等。这里的其他分组的数量可以根据实际的 网络情况来设置,如其他分组可以为l个,也可以为2个以上的多个。这里的 其他分组可以是与上述某分组具有相同传输路径的分组,也可以是与上述某分 组具有不同传输路径的分组。在交换网络的输入端将其他分组的路径传输信息输入至交换网络后,交换 网络的输出端就可以根据其接收到的分组及分组携带的其他分组的路径传输 信息来检测分组流中的分组在路径中的传输状况,从而使输出端能够判断出是 否存在分组传输丢失或分组传输拥塞等分组传输异常情况。为了使输出端能够迅速判断出是否存在分组传输丢失或分组传输拥塞等 分组传输异常情况,本发明的输入端还可以在将分组输入交换网络时,将该分 组的传输路径信息输入至交换网络中。输入端可以将该分组的传输路径信息携 带于该分组中输入至交换网络,同样,输入端也可以采用其他方法将该分组的 传输路径信息输入至交换网络。 在输出端确定出分组传输异常后,输出端就能够针对不同的分组传输异常 情况采用不同分组输出策略,如在确定分组传输拥塞时,在预定时间间隔内等 待传输拥塞的分组,再如在确定分组传输丢失时,不再等待该分组,继续后续 分组的输出处理,从而减少了输出分组流时不必要的等待时间,提高丫分组重 排序效率。下面结合附图8对本发明的分组重排序系统和方法进行详细说明。图8中,分组重排序系统主要由位于输入端的分组信息生成器与位于输出端的分组重排序机两部分构成。分组信息生成器的主要作用是为分组流中的每个分组添加分组所要携带的分组信息,这里的分组信息包括分组序列号如时间戳、源端口号、传输信息如传输路径信息等。这里的分组信息生成器完全不同于现有技术中的序列号生成器。由于多个分组流可能会从同一个输入端口流入交换网络,因此,在分组信 息生成器中,可以为每个分组流均建立一个分组信息存储器,以存储将要添加 到该分组流的分组中的分组信息。分组信息存储器中存储的分组信息需要根据 分组的具体传输情况变化,也就是说,当分组信息存储器中存储有3个分组的 传输路径信息时,输入端每发送一个分组,则分组信息存储器中的--个分组传 输路径信息需要变化为输入端刚刚发送的分组的传输路径信息。当一个分组进入分组信息生成器后,分组信息生成器提取出该分组的目的 地址,即目的端口,并根据该分组的目的地址确定出这个分组归属的分组流。 然后,分组信息生成器从上述归属的分组流对应的信息存储器中取出分组信 息,添加到这个分组中,并把这个分组送入交换网络,同时,分组信息生成器 更新上述归属的分组流对应的信息存储器中存储的分组信息。下面以一个具体的例子、结合附图9对分组信息生成器的工作流程进行详 细描述。图9中,在一个MXN的交换网络中,设定分组流自交换网络的输入端口2 流入交换网络,设定输入端目的端口 1对于分组存储器1。当分组流中的分组13到达分组信息生成器后,分组13首先被送入分组缓 冲器。在分组缓冲器中,分组13的目的地址即目的端口 1被提取出来。分组 信息生成器根据这个目的地址即目的端口 1,将分组存储器1中存储的分组信
息添加到分组13中,这里的分组信息包括分组序列号13、分组源端口 2、 分组9的路径3、分组10的路径1、分组11的路径2,分组12的路径3。然 后,分组信息生成器将分组13通过输入端口 2送入交换网络。重排序机在交换网络的输出端对分组流进行分组重排序,本发明的重排序 机采用分组存储、分组重排序操作相互独立的方法来实现分组重排序及输出。 也就是说,重排序机在接收到分组时,首先缓存该分组,然后,存储该分组的 缓存地址。在存储分组的缓存地址时,应按照分组序列号来确定出分组的缓存 地址存储的位置,即分组的缓存地址应按照分组序列号的连续顺序连续存储, 如按照分组序列号从小到大的连续顺序连续存储,具体的说,序列号为1的分 组1、序列号为2的分组2、序列号为3分组3的三个分组的缓存地址应按照 分组1、分组2、分组3的顺序连续存储。重排序机可以采用静态分配、动态分配等方式为分组的缓存地址分配存储 空间。当重排序机采用动态分配缓存地址存储空间时,重排序机可以分段为分 组的缓存地址分配存储空间,也就是说,分组的缓存地址存储在若千段分组地 址存储段中。这样,重排序机可以为其缓存的分组逐段分配分组地址存储段, 从而实现动态分配分组的缓存地址存储空间。下面对重排序机动态分配分组的缓存地址存储空间的方法进行详细说明。交换网络输出端的重排序机将其接收的各个分组流的所有分组全部缓存 在一个分组存储器中,然后,重排序机为每个分组流均动态建立若干段分组地 址存储段,每段有N个存储单元,其中,N为序列号的最大值加l,如分组的 序列号为6位,则N为64。重排序机将存储在分组存储器中的属于同一分组流 的所有分组的缓存地址分开存储,也就是说,重排序机根据分组的源地址信息 确定该分组所属的分组流,然后,将该分组存储在其所属分组流的分组地址存 储段中。在存储分组缓存地址时,重排序机应根据分组的序列号顺序来存储, 即分组序列号m的缓存地址应存储到属于该分组流的分组地址存储段的第m个 存储单元中,从而完成了分组m的重排序过程。由于每个分组地址存储段都有段首地址,因此,可以根据存储段的段首地 址将属于每个分组流的所有分组地址存储段连接起来,从而构成一个完整的、 已排好序的分组流队列。重排序机在输出分组流中的分组时,应将分组地址存 储段中存储的缓存地址按其位置编号从小到大逐一输出,然后,重排序机再根 据输出的缓存地址取出缓存在分组存储器中的分组,重排序机按照上述方法将 分组---输出,从而完成分组流的所有分组的重排序过程。下面以一个具体的例子、结合附图10对本发明的分组重排序方法进行详细说明。图10中,在交换网络的输出端口 0,当分组流1的分组2到达重排序机后, 分组2被缓存在分组存储器中。而分组2在分组存储器中的缓存地址则被存储 在分组流1的分组地址存储段的2号存储单元中。在重排序机输出分组流1的 分组时,从分组流l的分组地址存储段中,按照存储位置从0到N的顺序,逐 一将存储的分组缓存地址取出,并送到分组存储器中。分组存储器根据其接收 到的分组缓存地址将其存储的分组0到分组N逐一输出,形成重新排好序的分 组流,从而完成分组流1的重排序操作。在上述描述中,本发明的重排序机为每个分组流动态分配分组地址存储段 是指重排序机并不是为每个分组流预先分配一个长度固定、且很长的分组地 址存储段来存储分组流中的分组地址。而是,在开始为分组流分配分组地址存 储段时,只为每个分组流分配一小段缓存地址存储段,当己分配的缓存地址存 储段由于存满分组缓存地址,而不够用或者即将不够用时,重排序机再为该分 组流分配另 一小段分组地址存储段。由于重排序机采用动态分配分组地址存储段的方法,所以,本发明有效防 止了某个分组流过小却占用较大的缓存空间的现象,节约了存储资源;同时, 本发明还可以减小分组流中最大分组序列号的大小。在上述重排序机输出重排序后的分组的过程中,重排序机可以利用每个分 组中携带的其他分组的传输路径信息来分析每条传输路径中分组的传输情况。 也就是说,当重排序机在输出分组流过程中,因某个分组未到达而中断输出时, 重排序机可以根据未到达的分组后面的其它分组所携带的传输路径信息判断 出未到达的分组应该从哪条传输路径传输。这里,未到达的分组后面的分组是 指分组序列号大于未到达分组序列号的分组。重排序机在确定了未到达的分组 对应的传输路径后,如果重排序机确定其接收到的排在该分组之后的其它分组 中,存在与该分组属于同一传输路径的分组,则说明这个未到达的分组已经传 输丢失了,重排序机应针对该未到达的分组采取相应的输出处理,如不再等待 该分组,立刻输出下一个分组;如果重排序机确定其接收的排在该分组之后的 其它分组中,不存在与该分组属于同一条传输路径的分组,则说明这个未到达 分组的传输路径可能被阻塞了 ,重排序机应针对该未到达的分组采取相应的输 出处理,如停止输出该分组流队列,并在预定时间间隔内等待该分组。如果在 预定时间间隔内,重排序机没有接收到通过该传输路径传输来的任何分组,即 没有任何分组通过该拥塞的传输路径到达重排序机,则重排序机可以不再等待,直接输出下一个分组;如果在预定时间间隔内,重排序机接收到通过该传 输路径传输来的分组,即在预定时间间隔内有分组通过该拥塞的传输路径到达 重排序机,则重排序机判断新接收到的分组是不是其正在等待的分组,如果接 收到的分组是其正在等待的分组,则输出该分组;如果接收到的分组不是其正 在等待的分组,则说明其等待的分组已经丢失,重排序机将这个刚接收到的分 组采用上述方法进行缓存并重排序,同时,直接输出下一个分组。下面以一个具体的分组流传输为例、结合附图11对本发明提供的分组重 排序方法进行详细说明。在图11中,分组流中分组0至分组5分别通过3条传输路径从输入端流 向输出端,其中,分组0和分组2通过路径1传输,分组1和分组3通过路径 2传输,分组4和分组5通过路径3传输。在每条传输路径中,各分组均按照 进入该传输路径的先后顺序传输,也就是说,在传输路径l中,分组()到达输 出端之后,分组2才会到达输出端,在传输路径2中,分组1到达输出端之后, 分组3才会到达输出端,在传输路径3中,分组4到达输出端之后,分组5才 会到达输出端。 一旦某个分组在某个路径中被阻塞了,则在该分组之后进入该 路径的分组均会被阻塞,也就是说,如果分组O被阻塞了,则分组2也同样被 阻塞了;同理,如果分组l被阻塞了,则分组3也同样被阻塞了;如果分组4 被阻塞了,则分组5也同样被阻塞了。 一旦某个分组通过某条传输路径达到了 输出端,而在同一传输路径中先于该分组进入交换网络的分组还没有达到输出 端,则说明先进入交换网络的那个分组丢失了,也就是说,如果分组2达到了 输出端、而分组O没有达到输出端,则说明分组O丢失了;同理,如果分组3 达到了输出端,而分组l没有达到输出端,则说明分组3丢失了;如果分组5 达到了输出端,而分组4没有达到输出端,则说明分组5丢失了。本发明的输出端用以下方法处理分组携带的路径信息在重排序机中,为 每个分组流都分配一个最后值存储模块,最后值存储模块中存储有该分组流的每条传输路径中最后到达重排序机的分组的序列号,最后值存储模块中存储的 相应序列号会在下一个分组到达接收端后更新。最后值存储模块可以为多个最 后值存储器,即每个最后值存储器均对应一个分组流中的一条传输路径,如交换网络中有N个输出端口, M个并行交换单元,则针对该分组流,交换网络的 一个接收端中需要有NXM个最后值存储器,且相应最后值存储器中存储的分 组序列号会在下一个分组到达后更新。由于分组流不断的通过传输路径流入重排序机,所以,最后值存储器中存 储的分组序列号也在不断的更新。当--'个分组进入重排序机后,该分组携带的 传输路径信息被存入分组地址存储段中,也就是说,分组地址存储段中存储有 分组的缓存地址和该分组携带的传输路径信息。这里的传输路径信息可以为-该分组的传输路径信息和在该分组前面进入交换网络的几个分组的传输路径 信息。分组的传输路径信息如分组所走的传输路径的编号。该分组的序列号则 被存入路径信息存储器的对应单元中。这样,在重排序机输出分组流的过程中,如果出现某个分组未到达的情况, 则重排序机在其它分组携带的传输路径信息中能够査找到未到达的分组的传 输路径信息,这样,重排序机根据该分组的传输路径信息能够知道该分组的传 输路径,即能够知道该分组应该通过哪条传输路径到达输出端。然后,重排序 机再将该分组的序列号与存储在路径信息存储器中的最后一个到达重排序机 的该传输路径的分组序列号进行比较,如果未到达的分组的序列号大于路径信 息存储器中存储的序列号,则说明该分组可能被阻塞在交换网络中了,重排序 机应停止该分组流的输出,并在预定时间间隔内等待这个未到达的分组;如果 未到达的分组的序列号小于路径信息存储器中存储的序列号,则说明该分组丢 失了,重排序机不应该等待这个未到达的分组,应该继续输出给该分组流中的 其它分组。下面以--个具体的分组流传输为例、结合附图12对本发明的输出端处理 分组携带的路径信息进行说明。在图.12中,分组地址存储段中一个存储单元由分组缓存地址存储器、分 组路径存储器、标志位1和标志位2这4个部分构成。分组缓存地址存储器存储分组在分组存储器中的缓存地址。路径信息存储 器存储分组的传输路径信息如路径编号。标志位1用来表示分组是否到达,如
标志位为1时,表示分组到达;标志位2用来表示分组的传输路径信息是否有 效,即表示重排序机是否已经知道了分组的传输路径信息,当标志位2为1时, 表示重排序机已经知道了该分组的路径信息,即存储在分组地址存储段中的分 组路径信息是有效的。重排序机获取分组路径信息的方式有两种 一是当分组 到达输出端后,分组所携带的传输路径信息即被重排序机获知;二是分组尚未 到达重排序机,但携带有该分组传输路径信息的其它分组到达了重排序机,则 该分组的路径也被重排序机获知。例如分组5携带有分组2,分组3,分组4 及分组5的传输路径信息,所以, 一旦分组5到达输出端,则重排序机就获知 了分组2、 3、 4、 5的传输路径信息,尽管有些分组可能尚未到达接收端。 当分组流1中的分组13到达重排序机时,分组13中携带了分组10、分组11、 分组12以及它自身即分组13的传输路径信息。分组10、分组11、分组12、 分组13的传输路径信息被送往分组地址存储段中存储,且分组10、分组 11、分组12、分组i3分别存储于分组缓存地址存储器的第10个、第11个、 第12个、第13个存储单元中,上述4的存储单元的标志位1、标忐位2的值 均为有效,如标志位1、标志位2的值均设置为1。这样,重排序机在输出分 组时,就可以从分组地址存储段中取出该分组的传输路径信息,从而重排序机 能够知道该分组是来自哪条路径,即来自哪个交换单元。由于分组13来自传输路径3,故分组13的序列号即13被送入路径信息存 储器中分组流1的路径3的存储单元中。重排序机在输出分组流过程中,如果在输出到分组10时,发现分组10未 到达,此时,可以根据分组13携带的传输路径信息判断出分组10应该来自传 输路径3。重排序机从路径信息存储器中取出分组流1的传输路径3对应存储 的分组序列号13,并发现该序列号13大于未到达的分组的序列号10,说明此 时分组13已到达了重排序机,从而确定分组10已经传输丢失了。在这种情况 下,重排序机不再等待分组10,直接输出分组ll。下面结合附图13、 14对本发明的分组重排序方法进行详细说明。 本发明分组重排序过程中分组存储的流程如附图13所示。 图13中,在步骤IOO,分组通过其传输路径进入重排序机。 到步骤110,重排序机将该分组携带的源地址信息、序列号和传输路径信 息从该分组中提取出来。
到步骤120,重排序机根据该分组的传输路径信息存储该分组的序列号, 该分组的序列号作为该分组的传输路径对应的最后序列号存储,分组流的各传 输路径均对应一个最后序列号,最后序列号即到当前时间为止、分组流的各传 输路径中最后传输的分组的分组序列号b到步骤130,重排序机根据该分组的源地址信息确定该分组所属的分组流, 并判断该分组所属的分组流是否有对应的分组流队列,如果没有,则到步骤 140,重排序机为该分组流分配一个新的分组流队列,到步骤150。在步骤130,如果该分组所属的分组流有对应的分组流队列,到步骤1:U, 重排序机根据分组序列号中的段首地址判断该分组是否过时,也就是说,重排 序机将分组的序列号与该分组流正在输出的分组的序列号相减,如果差值的绝 对值过大,则说明该分组在网络中被阻塞的时间过长,该分组已经过吋,到歩 骤132,重排序机不对该分组进行重排序处理,直接将该分组丢弃或者发送, 然后,到步骤110;否则,说明该分组没有过时,重排序机应该对该分组进行 重排序处理,到步骤150。段偏移k址,并根据段首地址和段偏i地址存储该分组缓存地二和该分组携带 的传输路径信息。到步骤160,重排序机存储该分组。上述步骤150和步骤160可以同时进 行,即对分组的存储和对分组缓存地址及分组传输路径信息的存储过程可以同 时进行。到步骤170,重排序机判断是否开始输出该分组流,如果需要输出该分组 流,到步骤170,开始输出处理过程。也就是说,重排序机判断该分组流的第 一个分组是否已经到达,如果第一个分组已经到达,则开始输出处理过程。当 然,重排序机也可以采用其他方法来判断是否开始输出该分组流,如当分组流 中的若干个分组到达后才开始输出处理过程等。在步骤170,如果不需要输出,则直接到步骤110,对下一个进入重排序 机的分组进行上述处理过程。重排序机输出分组流的过程如附图14所示。图14中,在步骤200,重排序机开始输出分组流中的分组。到步骤210,重排序机根据各存储段的段首地址确定该分组流队列中需要
输出的分组地址存储段。到步骤220,重排序机从上述确定的存储段中输出第一个分组缓存地址。 到步骤230,重排序机按照第一个分组缓存地址从缓存分组的存储器中取 出分组,并输出。到步骤240,重排序机判断该存储段中存储的分组缓存地址是否已经全部 输出,如果已经全部输出,到步骤241,重排序机将该存储段从该分组流队列 中删除,到步骤210,继续在该分组流中査找需要输出的分组地址存储段。在步骤240,如果该存储段中存储的分组缓存地址没有全部输出,到歩骤 250,重排序机判断该存储段中下一个存储单元是否为空,如果不为空,到步 骤280,重排序机输出下一个分组,即重排序机按照下一个存储单元中存储的 分组缓存地址从缓存分组的存储器中取出分组,并输出,到步骤240,重排序 机继续判断该存储段中存储的分组缓存地址是否己经全部输出。在步骤250,如果重排序机判断出该存储段中下一个存储单元为空,则到 步骤260,重排序机判断该分组是否传输丢失,也就是说,重排序机判断该分 组的序列号是否小于路径信息存储器中存储的该分组所属的传输路径对应的 最后序列号,如果小于,则该分组已传输丢失,到步骤270,重排序机跳过该 分组,进行下一个分组的输出处理过程,即到步骤240,重排序机继续判断该 存储段中存储的分组缓存地址是否己经全部输出。在步骤260,如果重排序机判断出该分组没有传输丢失,也就是说,重排 序机判断出该分组的序列号不小于路径信息存储器中存储的该分组所属的传 输路径对应的分组序列号,则表示该分组可能输拥塞,到步骤261,重排序机 停止输出该分组流的分组,并开始为预定时间间隔计时,重排序机在计时的同 时,可以为其他分组流进行重排序输出处理。到步骤262,重排序机判断在预定时间间隔内是否接收到其期望的分组, 这里,期望的分组即上述确定出的传输拥塞的分组,如果接收到其期望的分组, 到步骤280,重排序机输出下一个分组,即重排序机输出其接收到的、期望的 分组。在步骤262,如果重排序机在预定时间间隔内没有接收到其期望的分组, 到步骤263,重排序机跳过该分组,进行下一个分组的输出处理过程,即到步 骤240,重排序机继续判断该存储段中存储的分组缓存地址是否已经全部输出。
本发明提供的分组重排序机的结构如附图15所示。在图15中,分组重排序机由分组缓冲器、分组存储器、存储器地址管理 池、输出仲裁机、分组地址存储段、段控制器和分组丢失判断器这7个部分构 成。分组缓冲器主要用于缓冲进入重排序机的分组,并从该分组中提取出其携 带的源地址信息、序列号、传输路径信息。上述提取出来传输路径信息应存储 在分组地址存储段中,分组序列号应存储在分组丢失判断器中,另外分组的序 列号就等于段偏移量;源地址信息被存储在分组存储器中。分组存储器主要用于根据存储器地址管理池提供的指定地址存储分组,并 根据分组地址存储断提供的指定地址输出分组。存储器地址管理池主要有如下两个作用1) 为将要存储在分组存储器中的分组提供分组存储器地址,即为分组存 储器提供存储分组的指定地址。2) 回收并存储己经输出的分组的存储地址,将这些地址进行重新利用。 存储器地址管理池的结构可以类似于FIFO (先进先出队列),从FIFO头部输出的分组存储器地址提供给将要存储的分组,已经输出的分组的存储地址由 队列尾部回收,以便循环使用。输出仲裁机主要用于采用轮循的机制对不同的分组流进行输出调度,输出 调度的实现过程如当一个分组流的第一段的存储单元中存储的所有分组均被 输出后,再输出另一个分组流的第一段存储单元中的分组。如果在输出过程中出现某个信元未到达的情况,则重排序机根据存储的路 径信息来判断该信元是丢失了还是被阻塞了,是否需要计时等待。在重排序机 开始为预定时间间隔计时后,输出仲裁机按照上述方法输出其它队列的信元。分组地址存储段主要用于存储分组在分组存储器中的缓存地址,分组地址 存储段根据分组缓冲器提供的分组序列号,将分组存储器中存储该分组的存储 单元的地址,存入具有与该分组序列号相同地址的存储单元中,从而实现分组 重排序。在输出分组时,分组地址存储段按照该段的地址从小到大逐一输出其 所存分组的地址。分组地址存储段在输出分组地址过程中,如果发现分组地址 中断,即发现某个分组不存在时,则将该分组的传输路径信息提供给分组丢失 判断器。分组地址存储段包括分组缓存地址存储器、分组路径存储器、标志
位1和标志位2这4个部分,具体如上述方法中的描述。段控制器主要负责分组流的分组地址存储段的建立与撤消,并判断分组是 否"过时"。段控制器中存储有每个分组流中各分组地址存储段的段首地址, 在分组存储器存储分组与分组输出时,均需要从段控制器中提取出相应存储段 的段首地址。分组丢失判断器在分组流的输出因为某个分组未到达重排序机而被中断 时才开始运作。分组丢失判断器的主要作用在于决定分组流输出的中断应该在 什么时间结束。分组丢失判断器为每个分组流都分配了--个存储器,即最后值 存储器,最后值存储器即前面描述的路径信息存储器。最后值存储器根据输出 端接收到的分组及分组传输信息记录到当前时间为止、分组流的各传输路径中 最后传输的分组的分组序列号,即最后序列号。也就是说,每当一个分组到达 接收端时,最后值存储器中存储的最后序列号就会更新一次。当分组流的输出 中断时,分组丢失判断器确定出该中断的分组的序列号,然后,在该中断分组 对应的分组地址存储段中的标志位l无效、标志位2有效时,从分组地址存储 段中获取该分组对应的传输路径信息如路径编号,并根据最后值存储器中存储 的该路径编号对应的最后序列号和中断分组的序列号来判断未到达的分组是 被阻塞了还是被丢失了。若最后序列号不大于中断分组的序列号,即确定该分 组被阻塞了,则继续输出中断并开始为预定时间间隔计时;在计时结束后,接 收端仍然没有接收到其等待的分组,即分组输出仍然中断,则跳过该分组,输 出下一个分组。若最后序列号大于中断分组的序列号,即确定该分组丢失了, 则结束中断并强制输出下一个分组。这里的预定时间间隔为输出端等待被阻塞 的分组的时间,该计时时间可以根据实际情况来灵活设置。当一个分组到达重排序机后,该分组首先进入分组缓冲器,由分组缓冲器 对该分组进行缓冲并输出该分组的源地址信息、序列号及传输路径信息如路径 编号。之后,分组缓冲器根据存储器地址管理池提供的分组缓存地址,将分组 存入分组存储器中。该分组的源地址与序列号被送往段控制器,该分组的传输路径信息被送往 分组丢失判断器。段控制器根据分组的源地址与序列号判断该分组是否要参加 排序,并将分组的序列号转化为段首地址和段偏移量,送给分组地址存储段。 分组地址存储段再根据分组的段首地址和段偏移量,将该分组的缓存地址即该
分组在分组存储器中的存储地址存储到对应存储段中的适当位置,完成该分组 的重排序。分组流的输出由输出仲裁机根据输出策略,向段控制器发出输出信号,即 向段控制器发出分组流队列编号;段控制器在接收到输出信号后,向分组地址 存储段输出该分组流队列的第一段首地址;分组地址存储段根据该段首地址再 向分组存储器逐--输出该存储段存储的分组缓存地址。分组存储器则根据分组 地址存储段输出的分组缓存地址输出相应的分组。一旦在分组流输出过程中出现因分组地址存储段中某个存储单元为空而 中断输出的情况,即存在需要输出的分组未达到的情况,则分组缓存存储器将 这个空存储单元的编号,即未到达分组的序列号与该分组流的源地址送入分组 丢失判断器中。由分组丢失判断器来决定该中断何时结束。如果分组丢失判断 器判断出本次输出中断需要持续一段时间,则由分组丢失判断器向输出仲裁机 发送信号,使重排序机在输出中断的持续时间内输出其它分组流的分组。通过上述技术方案的描述可知,本发明通过使分组流中的每个分组都携带 其自身及其前面几个分组的传输路径信息如路径编号,使本发明在输出端的重 排序机能知道分组流中各个分组在交换网络中的传输情况。这样, 一旦出现分 组流的输出因某个分组未到达而中断的情况,重排序机能够迅速判断出该中断 是由怎样的传输异常如分组拥塞、分组丢失等引起的,使重排序机能够确定出 是否需要持续输出中断,还是中止输出中断,继续输出。从而避免了因分组丢 失而造成重排序机不必要的等待时间,增加了重排序在交换网络中的容错性。本发明通过为分组流中的每个分组预先分配一个已排好序的分组缓存地 址存储单元,分组的缓存地址一旦被存入该存储单元中,就完成了该分组的排 序过程,避免丫与其它分组一一比较序列号进行排序的过程,从而大大节省了 分组排序的时间。本发明在重排序过程中,通过将分组存储在分组存储器中,使分组的缓存 地址参与分组的重排序过程,从而使分組的存储操作与分组的排序操作分开, 使两者可以互不干扰的独立进行。这样,每个分组流中的所有分组都被可以存 储在同一个存储器中,因而,所有分组流的分组都可以共享同一个分组存储器, 使分组存储器中的缓存可以得到最大程度的利用。另外,本发明的分组缓存地 址存储单元是一段一段分配的,这样, 一旦某个分组流的输入停止,只有一段
分组地址存储单元被浪费了 ,从而有效防止了应分配的分组缓存地址存储队列 过短而造成分组缓存地址溢出的现象,并有效防止了应分配的分组缓存地址存 储队列过长而造成的缓存空间浪费的现象。当上述方法应用在输入输出端口数 量较多的交换网络中时,能够节约大量的存储资源,从而提高缓存的利用率。在上述实施例中,是以分组传输信息为分组传输路径信息为例进行描述 的,本发明的输入端也可以使每个分组携带其前面几个分组进入交换网络的时 间信息,这样,输出端的重排序机通过将收集到的时间信息与当前时间进行比 较,也可以确定出分组是否出现传输异常,具体实现过程在此不再洋细描述。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变 形和变化。
权利要求
1、 一种分组重排序方法,其特征在于,所述方法包括步骤a、 交换网络输入端在将分组流中的分组输入交换网络过程中,将该分组 流中其他分组的分组传输信息输入至交换网络;b、 交换网络输出端在分组重排序输出过程中,根据其接收的分组传输信 息和接收到的分组确定传输异常的分组;c、 所述输出端针对传输异常的分组进行相应的分组输出处理。
2、 如权利要求1所述的方法,其特征在于,所述分组传输信息为分组 传输时间信息、和/或分组传输路径信息。
3、 如权利要求2所述的方法,其特征在于,所述步骤a包括 交换网络输入端在将分组流中的分组输入交换网络时,将该分组、该分组的传输路径信息和该分组流中其他分组的传输路径信息输入至交换网络。
4、 如权利要求1或2或3所述的方法,其特征在于,所述步骤b中分组 重排序输出的过程具体包括bl、输出端将其接收的分组缓存;b2、输出端根据分组序列号顺序存储其接收的分组的缓存地址; b3、输出端根据连续存储的缓存地址的存储顺序输出其缓存的分组。
5、 如权利要求4所述的方法,其特征在于,所述步骤bl具体包括 输出端将其接收的不同分组流的分组存储在一个分组存储器中。
6、 如权利要求4所述的方法,其特征在于,所述步骤b2中存储分组缓存 地址的存储空间为多段存储空间,且所述多段存储空间是输出端为分组流动态 分配的。
7、 如权利要求6所述的方法,其特征在于,所述步骤b还包括 输出端回收存储分组缓存地址的存储空间。
8、 如权利要求4所述的方法,其特征在于,所述分组传输信息为分组 传输路径信息,且所述步骤b中确定传输异常的分组的步骤具体包括所述输出端根据其接收到的分组及分组传输路径信息记录到当前时间为 止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;所述输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组序列号、及所属的传输路径; '所述输出端确定空缺的分组所属传输路径对应的最后序列号; 所述输出端判断最后序列号是否大于空缺的分组序列号; 如果大于,确定该空缺的缓存地址对应的分组传输丢失; 如果不大于,确定该空缺的缓存地址对应的分组传输拥塞。
9、 如权利要求1或2或3所述的方法,其特征在于,所述步骤c包括-所述输出端在确定分组传输丢失后,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
10、 如权利要求1或2或3所述的方法,其特征在于,所述步骤c包括 所述输出端在确定分组传输拥塞后,在预定时间间隔内等待接收分组 所述输出端在预定时间间隔内接收到其等待的分组时,输出该分组; 所述输出端在预定时间间隔内没有接收到其等待的分组时,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
11、--种分组重排序系统,包括输入端和输出端,所述输出端设置有重 排序机,其特征在于,所述输入端设置有分组信息生成器,所述重排序机中设 置有重排序模块和异常控制模块;分组信息生成器用于在输入端将分组流中的分组输入交换网络过程中,获取该分组流中其他分组的分组传输信息,并为分组添加分组序列号和所述分组传输信息,然后,将分组输入至交换网络重排序模块用于对接收端接收的分组进行分组重排序输出;异常控制模块用于根据输出端接收的分组传输信息确定传输异常的分组,并针对传输异常的分组控制重排序模块的输出。
12、 如权利要求ll所述的系统,其特征在于,所述重排序模块包括 分组存储器地址管理池为接收端接收的分组提供存储地址,并将该存储地址传输至分组地址存储段;分组存储器用于根据分组存储器地址管理池提供的存储地址存储分组, 并根据输出仲裁机的通知、分组地址存储段提供的缓存地址输出其存储的分 组;段控制器用于在分组存储、输出时,为分组流提供分组地址存储段的存 储段首地址、输出段首地址;分组地址存储段用于根据存储段首地址、按照分组序列号顺序存储分组 在分组存储器的缓存地址,根据输出段首地址,按照存储顺序向分组存储器提 供缓存地址;输出仲裁机用于根据预定仲裁机制对各分组流的输出进行输出仲裁,并 根据仲裁结果通知相应分组流的分组存储器。
13、 如权利要求12所述的系统,其特征在于,所述重排序模块还包括-段存储地址管理池用于回收空闲的分组地址存储段的段首地址,并向段控制器提供空闲的段首地址。
14、 如权利要求12或13所述的系统,其特征在于,分组地址存储段中还 存储有缓存地址对应的分组的分组传输路径信息,且异常控制模块包括最后值存储模块用于存储到当前时刻为止、分组流的各传输路径最后达到输出端的分组的序列号,即最后序列号;分组丢失判断器根据分组地址存储段中存储的传输路径信息判断分组地 址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中 存储的该分组传输路径对应的最后序列号,在判断出大于所述最后序列号时, 确定该空缺的缓存地址对应的分组传输丢失,进行丢失处理;在判断出不大f 所述最后序列号时,确定该空缺的缓存地址对应的分组传输拥塞,进行拥塞处 理。
15、如权利要求14所述的系统,其特征在于,分组地址存储段中的-个 存储单元包括分组的缓存地址、分组的传输路径信息、用来标志分组是否到 达输出端的标志位1、用来标志分组的传输路径信息是否有效的标志位2;分组丢失判断器在确定标志位1无效、且标志位2有效时,判断分组地址 存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存 储的该分组传输路径对应的最后序列号。
全文摘要
本发明提供一种分组重排序方法和系统,交换网络输入端在将分组流中的分组输入交换网络时,将该分组和该分组流中其他分组的传输信息如传输路径信息输入至交换网络,这样,交换网络输出端在根据分组序列号进行分组重排序输出时,能够根据其接收的传输路径信息确定传输异常的分组,使输出端能够针对传输异常的分组进行相应的分组输出处理,如在预定时间间隔等待传输拥塞的分组,再如不等待丢失的分组,直接输出下一个分组等。本发明能够很好的适用于大容量分组交换网络,避免了因分组丢失而产生的不必要的等待时间;从而实现了提高分组重排序效率、提高分组重排序的容错性能、完善包括大容量分组交换网络在内的各种交换网络的分组重排序方法的目的。
文档编号H04L12/56GK101146029SQ20061015212
公开日2008年3月19日 申请日期2006年9月13日 优先权日2006年9月13日
发明者坚 刘, 涂晓东, 凯 王, 松 马 申请人:华为技术有限公司;电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1