CN101146029B - 一种分组重排序方法和系统 - Google Patents

一种分组重排序方法和系统 Download PDF

Info

Publication number
CN101146029B
CN101146029B CN2006101521247A CN200610152124A CN101146029B CN 101146029 B CN101146029 B CN 101146029B CN 2006101521247 A CN2006101521247 A CN 2006101521247A CN 200610152124 A CN200610152124 A CN 200610152124A CN 101146029 B CN101146029 B CN 101146029B
Authority
CN
China
Prior art keywords
grouping
packets
packet
output
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006101521247A
Other languages
English (en)
Other versions
CN101146029A (zh
Inventor
涂晓东
刘坚
马松
王凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CN2006101521247A priority Critical patent/CN101146029B/zh
Publication of CN101146029A publication Critical patent/CN101146029A/zh
Application granted granted Critical
Publication of CN101146029B publication Critical patent/CN101146029B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种分组重排序方法和系统,交换网络输入端在将分组流中的分组输入交换网络时,将该分组和该分组流中其他分组的传输信息如传输路径信息输入至交换网络,这样,交换网络输出端在根据分组序列号进行分组重排序输出时,能够根据其接收的传输路径信息确定传输异常的分组,使输出端能够针对传输异常的分组进行相应的分组输出处理,如在预定时间间隔等待传输拥塞的分组,再如不等待丢失的分组,直接输出下一个分组等。本发明能够很好的适用于大容量分组交换网络,避免了因分组丢失而产生的不必要的等待时间;从而实现了提高分组重排序效率、提高分组重排序的容错性能、完善包括大容量分组交换网络在内的各种交换网络的分组重排序方法的目的。

Description

一种分组重排序方法和系统
技术领域
本发明涉及网络通讯技术领域,具体涉及一种分组重排序方法和系统。
背景技术
目前,采用分组交换的网络体系中,同一业务流的不同分组通常会沿着不同的路径到达同一输出端口。由于不同的路径中存在不同的传输时延,所以,输出端口的分组流的排列次序会被打乱,即输出端口的分组流的排列次序与从输入端口流入交换网络的分组流的排列次序不同了。
随着网络技术的发展,越来越多的网络应用技术如流媒体等,都要求分组流在交换网络中按顺序传输,也就是说,输出端口的分组流的排列次序应与从输入端口流入交换网络的分组流的排列次序相同。
为了在交换网络的输出端口恢复流入交换网络中的分组流的顺序,需要在输出端口对分组流进行分组重排序。分组重排序技术如附图1所示。
图1中,分组流的6个分组按照0至5的顺序依次进入交换网络,这6个分组通过3条不同的传输路径传输,在分组流输出交换网络之前,对分组流进行重新排序,使分组流的6个分组依旧按照0至5的顺序输出交换网络。
在通常情况下,分组重排序系统主要由序列号生成器和重排序机两部分构成。分组重排序系统如附图2所示。
图2中,分组重排序系统包括多个序列号生成器和多个重排序机。一个序列号生成器和一个重排序机对应一个分组流。序列号生成器位于交换网络的输入端,其作用是:为每个进入交换网络的分组添加一个序列号,以表示该分组在整个分组流中的位置,序列号是重排序的依据。这里的序列号可以为时间戳。重排序机位于交换网络的输出端。其作用是:接收并存储到达的分组,并根据各分组的序列号如时间戳的大小对各分组进行排序,然后,再按顺序输出分组流,重排序机输出的分组流与输入交换网络的分组流具有相同的次序。
在分组流的传输出现乱序的情况下,为了对该分组流进行重新排序,重排序机需要接收一定数量的分组后,再按顺序输出该分组流中的分组。因此,重排序机会使分组流的传输产生一定的时延,而且,时延的大小与分组流乱序程度有关。
衡量分组重排序方法性能的指标主要有如下四个:
1、排序时间。排序时间是指分组从进入输出端重排序机到分组被插入输出队列中的正确位置所花费的时间。重排序机应在一个分组传输时间内完成对该分组的排序操作,否则,会造成输出端的多个分组拥塞。
2、缓存大小及利用率。缓存大小及利用率是指用来存放重排序分组的存储器的大小及存储器的利用情况。在不影响重排序正确性的前提下,缓存越小、且利用率越高越好。
3、容错性。容错性是指当分组在交换网络中的传输出现差错时,重排序机对分组正确重排序的性能。分组在交换网络中的传输差错对正确重排序的影响越低,则重排序算法的容错性越好。这里的传输差错如分组阻塞、丢失等。
4、重排序时延。重排序时延是指分组流在经过重排序机、序列号生成器时,重排序机和序列号生成器造成的时延。
重排序机是重排序方法的核心,为了正确的实现重排序功能,目前的分组重排序方法的设计基本上都是围绕重排序机进行的。下面对目前的多种重排序方法进行说明。
方法一、早期的重排序方法实现原理如附图3所示。
图3中,在输出端的重排序机中建立一个队列,该队列用来存储分组。对于进入重排序机的分组,将该分组的序列号如时间戳和存储在队列中的分组的序列号一一进行比较,以找到该分组在队列中的位置,然后,将该分组插入到队列中。
由于方法一的重排序方法需要进行已存储分组序列号的一一比较,因此,会花费相当多的时间,即重排序时延长。
方法二、Turner;Jonathan S提出的重排序方法实现原理如附图4所示。
图4中,每个分组在进入交换网络之前,都会附加一个时间戳,以标明该分组在队列中的先后次序。在分组进入重排序机后,通过比较分组的时间戳值和当前的时间值,产生一个ΔT,ΔT是该分组从进入交换网络到从交换网络中输出的时间间隔,ΔT表示该分组通过交换网络所花的时间,即该分组的“年龄”。重排序机将每个分组及其年龄存入一个缓冲器中,且缓冲器中存储的分组的年龄应随时间规则递增。随后,重排序机在所有已储存的分组中找出年龄最大的分组,即最先进入交换网络的分组,并将该分组的年龄与极限年龄相比较,如果该分组的年龄大于该极限年龄,则输出该分组,并把该分组的年龄从缓冲器中删除。
方法二的优点在于:该方法不需要将所有存储在缓冲器中的分组按照其时间戳值的大小排队,而是只选出其中最早进入交换网络的分组并输出,从而减少了重排序的处理时间,加快了重排序的处理速度。但是,该方法需要保证所有已存储的分组的年龄值随时间的变化而规则增大,这就要求系统的同步性能非常高,从而使重排序机的结构比较复杂,增加了方法实现的难度。
方法三、Jeong W.Heo和Dan K.Sung,Member提出的ATM网络中实现快速重排序的方法。该方法利用ATM网络的信元中包含的VCI(虚通路标志)信息,将流入输出端重排序机的信元流分若干个虚通路逻辑队列(VC logicalqueues),每个虚通路逻辑队列只存储属于本队列的信元,并对本队列中的各信元排序。该方法的实现原理如附图5所示。
图5中,当一个信元到达重排序机后,重排序机根据该信元的VCI判断该信元属于哪个虚通路逻辑队列,然后,将这个信元送入该队列中进行排序。该方法的实质为:在输出端的重排序机中,分别为每个信元流建立一个排序队列,每个排序队列只对属于该队列的信元进行排队。
方法三的优点在于:实现了信元流的分队列排序,减少了需要比较的信元序列号的数量,进而减少重排序的处理时间。另外,由于该机制采用虚通路标志移位寄存器(VSR)来为输出提供引导,因此,该方法不需要再增加额外的仲裁功能来决定信元输出的先后顺序,从而简化了重排序机的电路结构。
虽然方法三是针对ATM网络信元的重排序方法,但是该方法提出的根据不同的分组流建立多个分组流存储队列,并对每个队列独自进行分组重排序的思想,可以应用在任何类型的交换网络中,而且,这一思想在已有的多个分组重排序方案中均有所体现。
上述介绍的三种重排序方法都未考虑交换网络中的传输差错对重排序机的影响,即重排序机的容错性。分组流在交换网络中进行交换、传输操作时,出现的传输差错主要有:分组流的拥塞及分组的丢失。传输差错对重排序机造成的影响为:若分组流中某个分组在交换网络的传输过程中被丢失了,重排序机中存储的分组流队列会因该分组没有到达而迟迟无法继续发送,以致重排序机中存储的分组越来越多。如果分组流中的某些分组在交换网络中被阻塞了较长一段时间后才到达重排序机,则不仅会使重排序机中存储的分组在较长的时间内不能发送,而且,由于分组的序列号是不断循环的,如果与被阻塞分组具有相同序列号的分组先到达输出端,则会使重排序产生错误。
针对交换网络中的传输差错,Bahman Salamat等对方法二进行了改进。该方法的改进点在于:当重排序机接收到一个分组后,并不立刻对其进行排序,而是将该分组的序列号与已排好序的分组流队列中最后一个分组的序列号相减并取绝对值。如果该绝对值小于一个极限值,则将该分组送入分组流队列进行排序;如果该绝对值大于该极限值,则说明该分组是在交换网络中阻塞了一段时间才到达的,是“过时”的分组。重排序机将该分组丢弃,以免过时的分组造成分组流重排序的错误。
该方法虽然在一定程度上减少了交换网络中分组流拥塞对分组重排序的影响,但是,该方法仍然无法避免分组丢失对重排序的影响,也就是说,在分组传输丢失时,该方法无法判断出分组是丢失了还是被阻塞了,也就无法判断是否该等待该分组,以及等待的时间。
大容量交换网络的基本结构如附图6所示。
图6中,大容量交换网络通常由若干个交换单元构成,每一个交换单元都是一个子交换网络。在交换网络的边缘,多个流量分配器根据流量分配策略将从输入端口输入的分组流送往不同的交换单元。由于大容量交换网络的结构特点,使分组在交换网络中的传输时延变化非常大,也就是说,交换网络的最大分组传输时延趋近于无穷大。在这种情况下,一但发生分组拥塞或分组丢失,现有的重排序方法将无法判断出分组是丢失了还是被阻塞了,也就无法判断是否该等待该分组,以及等待的时间。
由上述描述可知,现有的分组重排序方法不论是对由单一交换单元构成的交换网络而言,还是对由多个交换单元并行构成的大容量分组交换网络而言,均不能够使重排序机及时发现分组流在交换网络传输过程中的传输错误,使重排序机的容错性能差,交换网络的分组重排序方法有待于进一步完善。
发明内容
本发明的目的在于,提供一种分组重排序方法和系统,以解决重排序机容错性能差的问题使输出端能够方便的确定出分组在交换网络中传输异常的情况,提高了分组重排序的容错性,完善了包括大容量分组交换网络在内的各种交换网络的分组重排序方法。
为达到上述目的,本发明提供的一种分组重排序方法,包括:
a、交换网络输入端在将分组流中的分组输入交换网络过程中,将该分组流中其他分组的分组传输信息输入至交换网络;
b、交换网络输出端在分组重排序输出过程中,根据其接收的分组传输信息和接收到的分组确定传输异常的分组;
c、所述输出端针对传输异常的分组进行相应的分组输出处理。
所述分组传输信息为:分组传输时间信息、和/或分组传输路径信息。
所述步骤a包括:
交换网络输入端在将分组流中的分组输入交换网络时,将该分组、该分组的传输路径信息和该分组流中其他分组的传输路径信息输入至交换网络。
所述步骤b中分组重排序输出的过程具体包括:
b1、输出端将其接收的分组缓存;
b2、输出端根据分组序列号顺序存储其接收的分组的缓存地址;
b3、输出端根据连续存储的缓存地址的存储顺序输出其缓存的分组。
所述步骤b1具体包括:
输出端将其接收的不同分组流的分组存储在一个分组存储器中。
所述步骤b2中存储分组缓存地址的存储空间为多段存储空间,且所述多段存储空间是输出端为分组流动态分配的。
所述步骤b还包括:
输出端回收存储分组缓存地址的存储空间。
所述分组传输信息为:分组传输路径信息,且所述步骤b中确定传输异常的分组的步骤具体包括:
所述输出端根据其接收到的分组及分组传输路径信息记录到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;
所述输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组序列号、及所属的传输路径;
所述输出端确定空缺的分组所属传输路径对应的最后序列号;
所述输出端判断最后序列号是否大于空缺的分组序列号;
如果大于,确定该空缺的缓存地址对应的分组传输丢失;
如果不大于,确定该空缺的缓存地址对应的分组传输拥塞。
所述步骤c包括:
所述输出端在确定分组传输丢失后,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
所述步骤c包括:
所述输出端在确定分组传输拥塞后,在预定时间间隔内等待接收分组;
所述输出端在预定时间间隔内接收到其等待的分组时,输出该分组;
所述输出端在预定时间间隔内没有接收到其等待的分组时,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
本发明还提供一种分组重排序系统,包括:输入端和输出端,所述输出端设置有重排序机,所述输入端设置有分组信息生成器,所述重排序机中设置有重排序模块和异常控制模块;
分组信息生成器:用于在输入端将分组流中的分组输入交换网络过程中,获取该分组流中其他分组的分组传输信息,并为分组添加分组序列号和所述分组传输信息,然后,将分组输入至交换网络;
重排序模块:用于对接收端接收的分组进行分组重排序输出;
异常控制模块:用于根据输出端接收的分组传输信息确定传输异常的分组,并针对传输异常的分组控制重排序模块的输出。
所述重排序模块包括:
分组存储器地址管理池:为接收端接收的分组提供存储地址,并将该存储地址传输至分组地址存储段;
分组存储器:用于根据分组存储器地址管理池提供的存储地址存储分组,并根据输出仲裁机的通知、分组地址存储段提供的缓存地址输出其存储的分组;
段控制器:用于在分组存储、输出时,为分组流提供分组地址存储段的存储段首地址、输出段首地址;
分组地址存储段:用于根据存储段首地址、按照分组序列号顺序存储分组在分组存储器的缓存地址,根据输出段首地址,按照存储顺序向分组存储器提供缓存地址;
输出仲裁机:用于根据预定仲裁机制对各分组流的输出进行输出仲裁,并根据仲裁结果通知相应分组流的分组存储器。
所述重排序模块还包括:
段存储地址管理池:用于回收空闲的分组地址存储段的段首地址,并向段控制器提供空闲的段首地址。
分组地址存储段中还存储有:缓存地址对应的分组的分组传输路径信息,且异常控制模块包括:
最后值存储模块:用于存储到当前时刻为止、分组流的各传输路径最后达到输出端的分组的序列号,即最后序列号;
分组丢失判断器:根据分组地址存储段中存储的传输路径信息判断分组地址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存储的该分组传输路径对应的最后序列号,在判断出大于所述最后序列号时,确定该空缺的缓存地址对应的分组传输丢失,进行丢失处理;在判断出不大于所述最后序列号时,确定该空缺的缓存地址对应的分组传输拥塞,进行拥塞处理。
分组地址存储段中的一个存储单元包括:分组的缓存地址、分组的传输路径信息、用来标志分组是否到达输出端的标志位1、用来标志分组的传输路径信息是否有效的标志位2;
分组丢失判断器在确定标志位1无效、且标志位2有效时,判断分组地址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存储的该分组传输路径对应的最后序列号。
通过上述技术方案的描述可知,本发明的输入端在将分组输入至交换网络时,通过将该分组流中其他分组的传输信息如传输路径信息等通过交换网络传输至输出端,使输出端能够迅速、准确的确定出分组在交换网络中传输异常的情况,如分组传输拥塞、分组传输丢失等,这样,输出端就能够在分组传输异常时,确定出针对传输异常分组所采取的输出处理,如在预定时间间隔等待传输拥塞的分组,再如不等待丢失的分组,直接输出下一个分组等,使本发明提供的技术方案能够很好的适用于大容量分组交换网络;本发明除了使输出端能够迅速得知具体的分组传输异常现象、使输出端能够对传输异常的分组执行明确的输出处理外,还避免了在分组重排序过程中因分组丢失而产生的不必要的等待时间,从而节约了分组重排序的时间;本发明通过在输出端根据分组序列号顺序存储分组的缓存地址,使分组的存储与分组的排序操作相互独立,这样,不同分组流中的所有分组均可以存储在同一个分组存储器中,提高了输出端分组存储器的存储空间利用率;通过动态分配存储分组缓存地址的存储空间,有效防止了应分配的分组缓存地址存储队列过短而造成分组缓存地址溢出的现象,并有效防止了应分配的分组缓存地址存储队列过长而造成的缓存空间浪费的现象;节约了输出端的存储空间;从而通过本发明提供的技术方案实现了提供分组重排序效率、提高分组重排序的容错性能、完善包括大容量分组交换网络在内的各种交换网络的分组重排序方法的目的。
附图说明
图1是分组重排序技术示意图;
图2是分组重排序系统示意图;
图3是现有技术的重排序方法一实现原理示意图;
图4是现有技术的重排序方法二实现原理示意图;
图5是现有技术的重排序方法三实现原理示意图;
图6是现有技术的大容量交换网络的基本结构示意图;
图7是分组流传输路径示意图;
图8是本发明实施例的分组重排序系统示意图;
图9是本发明实施例的分组信息生成器的工作流程示意图;
图10是本发明实施例的分组重排序方法示意图一;
图11是本发明实施例的分组重排序方法示意图二;
图12是本发明实施例的重排序机对传输路径信息的处理方法示意图;
图13是本发明实施例的分组存储流程图;
图14是本发明实施例的分组输出流程图;
图15是本发明实施例的分组重排序机的示意图。
具体实施方式
大容量交换网络具有分组流量大,输入输出速度快,且负载变化大等特点,大容量交换网络的这些特点使得在交换网络中传输的分组的传输时延变化很大、且无法估计。因此,分组拥塞及分组丢失等分组传输异常情况对大容量交换网络中的分组重排序的影响很大。当然,分组传输异常情况对于由单一交换单元构成的交换网络中的分组重排序也同样有影响。如果在分组重排序过程中,交换网络的输出端能够快速、准确的检测出分组流在交换网络中的传输情况,就能够在包括大容量交换网络在内的各种交换网络中快速而正确的进行分组重排序处理,从而有效避免分组拥塞及分组丢失对分组重排序的影响,减少分组重排序的等待时间、提高输出端存储空间的利用率,并增强分组重排序技术方案在包括大容量交换网络在内的各种交换网络中的容错性能。
交换网络的交换单元所采用的各种交换结构中,有些结构具有保序性,能保证分组流的顺序输出,也就是说,交换网络输出端输出的分组流顺序与输入交换网络的分组流的顺序相同。
在由多个保序交换单元构成的大容量交换网络中,每个分组流都可以认为是沿着若干条固定的路径从输入端流向输出端。这些所谓的“路径”,并不是指分组流在交换网络中所经过的真实路线,而是一个逻辑上的概念,是指分组经过的交换单元。由于每个交换单元都是保序的,故可以把分组经过一个交换单元到达输出端的过程看作分组经过一条“路径”到达输出端。在重排序机中,具有相同路径信息的分组来自同一保序交换单元。具体来说,对于一个分组流而言,认为经过同一个交换单元流入输出端口的所有分组,都是沿着同一条路径传输的,如附图7中,一个分组流中的不同分组可以沿着粗黑实线标识的不同传输路径传输至交换网络的输出端。
路径是从属于分组流的,分组在路径中传输都具有如下四个特点:
1、在一条路径上传输的所有分组都来自同一分组流。
2、在一条路径上传输的所有分组都是按其进入该路径的先后顺序进行传输的,不存在乱序情况。
3、如果路径上的某个分组X被阻塞了而无法传输,则在分组X之后进入该路径的所有分组均被阻塞了。
4、在同一条路径上传输的分组X与分组Y,分组X先于分组Y进入该路径,若分组Y到达了输出端口时,分组X仍未到达,则表明分组X在传输的过程中被丢失了。
本发明充分利用分组在路径中传输的特点,在交换网络的输入端传输分组流中的分组时,将该分组和该分组流中其他分组的传输信息如分组传输路径信息输入至交换网络,使输出端能够通过其他分组的传输信息准确的判断出某个未到达的分组的传输情况。
下面以分组传输路径信息为例对本发明提供的技术方案进行说明。
输入端在将某个分组和其他分组的传输路径信息输入至交换网络时,可以将其他分组的传输路径信息携带于某个分组中输入至交换网络,也就是说,分组和分组流中其他分组的传输路径信息一起输入至交换网络。当然,本发明也可以采用其他方法将其他分组的传输路径信息输入至交换网络,如将分组及其他分组的传输路径信息先后输入至交换网络等。这里的传输路径信息可以为路径编号等。
在上述描述中,其他分组为:先于某分组输入交换网络的分组,如当输入端将分组5输入交换网络时,输入端将先于分组5输入交换网络的分组的传输路径信息和分组5一起输入至交换网络。当然,其他分组也可以为其他形式,如后于某分组输入交换网络的分组等。这里的其他分组的数量可以根据实际的网络情况来设置,如其他分组可以为1个,也可以为2个以上的多个。这里的其他分组可以是与上述某分组具有相同传输路径的分组,也可以是与上述某分组具有不同传输路径的分组。
在交换网络的输入端将其他分组的路径传输信息输入至交换网络后,交换网络的输出端就可以根据其接收到的分组及分组携带的其他分组的路径传输信息来检测分组流中的分组在路径中的传输状况,从而使输出端能够判断出是否存在分组传输丢失或分组传输拥塞等分组传输异常情况。
为了使输出端能够迅速判断出是否存在分组传输丢失或分组传输拥塞等分组传输异常情况,本发明的输入端还可以在将分组输入交换网络时,将该分组的传输路径信息输入至交换网络中。输入端可以将该分组的传输路径信息携带于该分组中输入至交换网络,同样,输入端也可以采用其他方法将该分组的传输路径信息输入至交换网络。
在输出端确定出分组传输异常后,输出端就能够针对不同的分组传输异常情况采用不同分组输出策略,如在确定分组传输拥塞时,在预定时间间隔内等待传输拥塞的分组,再如在确定分组传输丢失时,不再等待该分组,继续后续分组的输出处理,从而减少了输出分组流时不必要的等待时间,提高了分组重排序效率。
下面结合附图8对本发明的分组重排序系统和方法进行详细说明。
图8中,分组重排序系统主要由位于输入端的分组信息生成器与位于输出端的分组重排序机两部分构成。
分组信息生成器的主要作用是为分组流中的每个分组添加分组所要携带的分组信息,这里的分组信息包括:分组序列号如时间戳、源端口号、传输信息如传输路径信息等。这里的分组信息生成器完全不同于现有技术中的序列号生成器。
由于多个分组流可能会从同一个输入端口流入交换网络,因此,在分组信息生成器中,可以为每个分组流均建立一个分组信息存储器,以存储将要添加到该分组流的分组中的分组信息。分组信息存储器中存储的分组信息需要根据分组的具体传输情况变化,也就是说,当分组信息存储器中存储有3个分组的传输路径信息时,输入端每发送一个分组,则分组信息存储器中的一个分组传输路径信息需要变化为输入端刚刚发送的分组的传输路径信息。
当一个分组进入分组信息生成器后,分组信息生成器提取出该分组的目的地址,即目的端口,并根据该分组的目的地址确定出这个分组归属的分组流。然后,分组信息生成器从上述归属的分组流对应的信息存储器中取出分组信息,添加到这个分组中,并把这个分组送入交换网络,同时,分组信息生成器更新上述归属的分组流对应的信息存储器中存储的分组信息。
下面以一个具体的例子、结合附图9对分组信息生成器的工作流程进行详细描述。
图9中,在一个M×N的交换网络中,设定分组流自交换网络的输入端口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为序列号的最大值加1,如分组的序列号为6位,则N为64。重排序机将存储在分组存储器中的属于同一分组流的所有分组的缓存地址分开存储,也就是说,重排序机根据分组的源地址信息确定该分组所属的分组流,然后,将该分组存储在其所属分组流的分组地址存储段中。在存储分组缓存地址时,重排序机应根据分组的序列号顺序来存储,即分组序列号m的缓存地址应存储到属于该分组流的分组地址存储段的第m个存储单元中,从而完成了分组m的重排序过程。
由于每个分组地址存储段都有段首地址,因此,可以根据存储段的段首地址将属于每个分组流的所有分组地址存储段连接起来,从而构成一个完整的、已排好序的分组流队列。重排序机在输出分组流中的分组时,应将分组地址存储段中存储的缓存地址按其位置编号从小到大逐一输出,然后,重排序机再根据输出的缓存地址取出缓存在分组存储器中的分组,重排序机按照上述方法将分组一一输出,从而完成分组流的所有分组的重排序过程。
下面以一个具体的例子、结合附图10对本发明的分组重排序方法进行详细说明。
图10中,在交换网络的输出端口0,当分组流1的分组2到达重排序机后,分组2被缓存在分组存储器中。而分组2在分组存储器中的缓存地址则被存储在分组流1的分组地址存储段的2号存储单元中。在重排序机输出分组流1的分组时,从分组流1的分组地址存储段中,按照存储位置从0到N的顺序,逐一将存储的分组缓存地址取出,并送到分组存储器中。分组存储器根据其接收到的分组缓存地址将其存储的分组0到分组N逐一输出,形成重新排好序的分组流,从而完成分组流1的重排序操作。
在上述描述中,本发明的重排序机为每个分组流动态分配分组地址存储段是指:重排序机并不是为每个分组流预先分配一个长度固定、且很长的分组地址存储段来存储分组流中的分组地址。而是,在开始为分组流分配分组地址存储段时,只为每个分组流分配一小段缓存地址存储段,当已分配的缓存地址存储段由于存满分组缓存地址,而不够用或者即将不够用时,重排序机再为该分组流分配另一小段分组地址存储段。
由于重排序机采用动态分配分组地址存储段的方法,所以,本发明有效防止了某个分组流过小却占用较大的缓存空间的现象,节约了存储资源;同时,本发明还可以减小分组流中最大分组序列号的大小。
在上述重排序机输出重排序后的分组的过程中,重排序机可以利用每个分组中携带的其他分组的传输路径信息来分析每条传输路径中分组的传输情况。也就是说,当重排序机在输出分组流过程中,因某个分组未到达而中断输出时,重排序机可以根据未到达的分组后面的其它分组所携带的传输路径信息判断出未到达的分组应该从哪条传输路径传输。这里,未到达的分组后面的分组是指分组序列号大于未到达分组序列号的分组。重排序机在确定了未到达的分组对应的传输路径后,如果重排序机确定其接收到的排在该分组之后的其它分组中,存在与该分组属于同一传输路径的分组,则说明这个未到达的分组已经传输丢失了,重排序机应针对该未到达的分组采取相应的输出处理,如不再等待该分组,立刻输出下一个分组;如果重排序机确定其接收的排在该分组之后的其它分组中,不存在与该分组属于同一条传输路径的分组,则说明这个未到达分组的传输路径可能被阻塞了,重排序机应针对该未到达的分组采取相应的输出处理,如停止输出该分组流队列,并在预定时间间隔内等待该分组。如果在预定时间间隔内,重排序机没有接收到通过该传输路径传输来的任何分组,即没有任何分组通过该拥塞的传输路径到达重排序机,则重排序机可以不再等待,直接输出下一个分组;如果在预定时间间隔内,重排序机接收到通过该传输路径传输来的分组,即在预定时间间隔内有分组通过该拥塞的传输路径到达重排序机,则重排序机判断新接收到的分组是不是其正在等待的分组,如果接收到的分组是其正在等待的分组,则输出该分组;如果接收到的分组不是其正在等待的分组,则说明其等待的分组已经丢失,重排序机将这个刚接收到的分组采用上述方法进行缓存并重排序,同时,直接输出下一个分组。
下面以一个具体的分组流传输为例、结合附图11对本发明提供的分组重排序方法进行详细说明。
在图11中,分组流中分组0至分组5分别通过3条传输路径从输入端流向输出端,其中,分组0和分组2通过路径1传输,分组1和分组3通过路径2传输,分组4和分组5通过路径3传输。在每条传输路径中,各分组均按照进入该传输路径的先后顺序传输,也就是说,在传输路径1中,分组0到达输出端之后,分组2才会到达输出端,在传输路径2中,分组1到达输出端之后,分组3才会到达输出端,在传输路径3中,分组4到达输出端之后,分组5才会到达输出端。一旦某个分组在某个路径中被阻塞了,则在该分组之后进入该路径的分组均会被阻塞,也就是说,如果分组0被阻塞了,则分组2也同样被阻塞了;同理,如果分组1被阻塞了,则分组3也同样被阻塞了;如果分组4被阻塞了,则分组5也同样被阻塞了。一旦某个分组通过某条传输路径达到了输出端,而在同一传输路径中先于该分组进入交换网络的分组还没有达到输出端,则说明先进入交换网络的那个分组丢失了,也就是说,如果分组2达到了输出端、而分组0没有达到输出端,则说明分组0丢失了;同理,如果分组3达到了输出端,而分组1没有达到输出端,则说明分组3丢失了;如果分组5达到了输出端,而分组4没有达到输出端,则说明分组5丢失了。
本发明的输出端用以下方法处理分组携带的路径信息:在重排序机中,为每个分组流都分配一个最后值存储模块,最后值存储模块中存储有该分组流的每条传输路径中最后到达重排序机的分组的序列号,最后值存储模块中存储的相应序列号会在下一个分组到达接收端后更新。最后值存储模块可以为多个最后值存储器,即每个最后值存储器均对应一个分组流中的一条传输路径,如交换网络中有N个输出端口,M个并行交换单元,则针对该分组流,交换网络的一个接收端中需要有N×M个最后值存储器,且相应最后值存储器中存储的分组序列号会在下一个分组到达后更新。
由于分组流不断的通过传输路径流入重排序机,所以,最后值存储器中存储的分组序列号也在不断的更新。当一个分组进入重排序机后,该分组携带的传输路径信息被存入分组地址存储段中,也就是说,分组地址存储段中存储有分组的缓存地址和该分组携带的传输路径信息。这里的传输路径信息可以为:该分组的传输路径信息和在该分组前面进入交换网络的几个分组的传输路径信息。分组的传输路径信息如分组所走的传输路径的编号。该分组的序列号则被存入路径信息存储器的对应单元中。
这样,在重排序机输出分组流的过程中,如果出现某个分组未到达的情况,则重排序机在其它分组携带的传输路径信息中能够查找到未到达的分组的传输路径信息,这样,重排序机根据该分组的传输路径信息能够知道该分组的传输路径,即能够知道该分组应该通过哪条传输路径到达输出端。然后,重排序机再将该分组的序列号与存储在路径信息存储器中的最后一个到达重排序机的该传输路径的分组序列号进行比较,如果未到达的分组的序列号大于路径信息存储器中存储的序列号,则说明该分组可能被阻塞在交换网络中了,重排序机应停止该分组流的输出,并在预定时间间隔内等待这个未到达的分组;如果未到达的分组的序列号小于路径信息存储器中存储的序列号,则说明该分组丢失了,重排序机不应该等待这个未到达的分组,应该继续输出给该分组流中的其它分组。
下面以一个具体的分组流传输为例、结合附图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、分组13分别存储于分组缓存地址存储器的第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,直接输出分组11。
下面结合附图13、14对本发明的分组重排序方法进行详细说明。
本发明分组重排序过程中分组存储的流程如附图13所示。
图13中,在步骤100,分组通过其传输路径进入重排序机。
到步骤110,重排序机将该分组携带的源地址信息、序列号和传输路径信息从该分组中提取出来。
到步骤120,重排序机根据该分组的传输路径信息存储该分组的序列号,该分组的序列号作为该分组的传输路径对应的最后序列号存储,分组流的各传输路径均对应一个最后序列号,最后序列号即到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号。
到步骤130,重排序机根据该分组的源地址信息确定该分组所属的分组流,并判断该分组所属的分组流是否有对应的分组流队列,如果没有,则到步骤140,重排序机为该分组流分配一个新的分组流队列,到步骤150。
在步骤130,如果该分组所属的分组流有对应的分组流队列,到步骤131,重排序机根据分组序列号中的段首地址判断该分组是否过时,也就是说,重排序机将分组的序列号与该分组流正在输出的分组的序列号相减,如果差值的绝对值过大,则说明该分组在网络中被阻塞的时间过长,该分组已经过时,到步骤132,重排序机不对该分组进行重排序处理,直接将该分组丢弃或者发送,然后,到步骤110;否则,说明该分组没有过时,重排序机应该对该分组进行重排序处理,到步骤150。
在步骤150,重排序机根据该分组的序列号确定该分组对应的段首地址和段偏移地址,并根据段首地址和段偏移地址存储该分组缓存地址和该分组携带的传输路径信息。
到步骤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个部分,具体如上述方法中的描述。
段控制器主要负责分组流的分组地址存储段的建立与撤消,并判断分组是否“过时”。段控制器中存储有每个分组流中各分组地址存储段的段首地址,在分组存储器存储分组与分组输出时,均需要从段控制器中提取出相应存储段的段首地址。
分组丢失判断器在分组流的输出因为某个分组未到达重排序机而被中断时才开始运作。分组丢失判断器的主要作用在于决定分组流输出的中断应该在什么时间结束。分组丢失判断器为每个分组流都分配了一个存储器,即最后值存储器,最后值存储器即前面描述的路径信息存储器。最后值存储器根据输出端接收到的分组及分组传输信息记录到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号。也就是说,每当一个分组到达接收端时,最后值存储器中存储的最后序列号就会更新一次。当分组流的输出中断时,分组丢失判断器确定出该中断的分组的序列号,然后,在该中断分组对应的分组地址存储段中的标志位1无效、标志位2有效时,从分组地址存储段中获取该分组对应的传输路径信息如路径编号,并根据最后值存储器中存储的该路径编号对应的最后序列号和中断分组的序列号来判断未到达的分组是被阻塞了还是被丢失了。若最后序列号不大于中断分组的序列号,即确定该分组被阻塞了,则继续输出中断并开始为预定时间间隔计时;在计时结束后,接收端仍然没有接收到其等待的分组,即分组输出仍然中断,则跳过该分组,输出下一个分组。若最后序列号大于中断分组的序列号,即确定该分组丢失了,则结束中断并强制输出下一个分组。这里的预定时间间隔为输出端等待被阻塞的分组的时间,该计时时间可以根据实际情况来灵活设置。
当一个分组到达重排序机后,该分组首先进入分组缓冲器,由分组缓冲器对该分组进行缓冲并输出该分组的源地址信息、序列号及传输路径信息如路径编号。之后,分组缓冲器根据存储器地址管理池提供的分组缓存地址,将分组存入分组存储器中。
该分组的源地址与序列号被送往段控制器,该分组的传输路径信息被送往分组丢失判断器。段控制器根据分组的源地址与序列号判断该分组是否要参加排序,并将分组的序列号转化为段首地址和段偏移量,送给分组地址存储段。分组地址存储段再根据分组的段首地址和段偏移量,将该分组的缓存地址即该分组在分组存储器中的存储地址存储到对应存储段中的适当位置,完成该分组的重排序。
分组流的输出由输出仲裁机根据输出策略,向段控制器发出输出信号,即向段控制器发出分组流队列编号;段控制器在接收到输出信号后,向分组地址存储段输出该分组流队列的第一段首地址;分组地址存储段根据该段首地址再向分组存储器逐一输出该存储段存储的分组缓存地址。分组存储器则根据分组地址存储段输出的分组缓存地址输出相应的分组。
一旦在分组流输出过程中出现因分组地址存储段中某个存储单元为空而中断输出的情况,即存在需要输出的分组未达到的情况,则分组缓存存储器将这个空存储单元的编号,即未到达分组的序列号与该分组流的源地址送入分组丢失判断器中。由分组丢失判断器来决定该中断何时结束。如果分组丢失判断器判断出本次输出中断需要持续一段时间,则由分组丢失判断器向输出仲裁机发送信号,使重排序机在输出中断的持续时间内输出其它分组流的分组。
通过上述技术方案的描述可知,本发明通过使分组流中的每个分组都携带其自身及其前面几个分组的传输路径信息如路径编号,使本发明在输出端的重排序机能知道分组流中各个分组在交换网络中的传输情况。这样,一旦出现分组流的输出因某个分组未到达而中断的情况,重排序机能够迅速判断出该中断是由怎样的传输异常如分组拥塞、分组丢失等引起的,使重排序机能够确定出是否需要持续输出中断,还是中止输出中断,继续输出。从而避免了因分组丢失而造成重排序机不必要的等待时间,增加了重排序在交换网络中的容错性。
本发明通过为分组流中的每个分组预先分配一个已排好序的分组缓存地址存储单元,分组的缓存地址一旦被存入该存储单元中,就完成了该分组的排序过程,避免了与其它分组一一比较序列号进行排序的过程,从而大大节省了分组排序的时间。
本发明在重排序过程中,通过将分组存储在分组存储器中,使分组的缓存地址参与分组的重排序过程,从而使分组的存储操作与分组的排序操作分开,使两者可以互不干扰的独立进行。这样,每个分组流中的所有分组都被可以存储在同一个存储器中,因而,所有分组流的分组都可以共享同一个分组存储器,使分组存储器中的缓存可以得到最大程度的利用。另外,本发明的分组缓存地址存储单元是一段一段分配的,这样,一旦某个分组流的输入停止,只有一段分组地址存储单元被浪费了,从而有效防止了应分配的分组缓存地址存储队列过短而造成分组缓存地址溢出的现象,并有效防止了应分配的分组缓存地址存储队列过长而造成的缓存空间浪费的现象。当上述方法应用在输入输出端口数量较多的交换网络中时,能够节约大量的存储资源,从而提高缓存的利用率。
在上述实施例中,是以分组传输信息为分组传输路径信息为例进行描述的,本发明的输入端也可以使每个分组携带其前面几个分组进入交换网络的时间信息,这样,输出端的重排序机通过将收集到的时间信息与当前时间进行比较,也可以确定出分组是否出现传输异常,具体实现过程在此不再详细描述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (14)

1.一种分组重排序方法,其特征在于,所述方法包括步骤:
a、交换网络输入端在将分组流中的分组输入交换网络过程中,将所述分组和分组传输信息一起输入至交换网络,所述分组传输信息为所述分组流中其他分组的分组传输信息;所述其他分组为先于当前输入交换网络的分组的分组;
b、交换网络输出端在分组重排序输出过程中,根据其接收的各所述其他分组的分组传输信息和接收到的各所述分组确定传输异常的分组;
c、所述输出端针对传输异常的分组进行相应的分组输出处理;包括:
输出端根据其接收到的分组及分组传输路径信息记录到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组序列号、及所属的传输路径;输出端确定空缺的分组所属传输路径对应的最后序列号;输出端判断最后序列号是否大于空缺的分组序列号;如果大于,确定该空缺的缓存地址对应的分组传输丢失;如果不大于,确定该空缺的缓存地址对应的分组传输拥塞;
所述步骤b中分组重排序输出的过程具体包括:
b1、输出端将其接收的分组缓存;
b2、输出端根据分组序列号顺序存储其接收的分组的缓存地址;
b3、输出端根据连续存储的缓存地址的存储顺序输出其缓存的分组。
2.如权利要求1所述的方法,其特征在于,所述分组传输信息为:分组传输时间信息、和/或分组传输路径信息。
3.如权利要求2所述的方法,其特征在于,所述步骤a包括:
交换网络输入端在将分组流中的分组输入交换网络时,将该分组、该分组的传输路径信息和该分组流中其他分组的传输路径信息输入至交换网络。
4.如权利要求1所述的方法,其特征在于,所述步骤b1具体包括:
输出端将其接收的不同分组流的分组存储在一个分组存储器中。
5.如权利要求1所述的方法,其特征在于,所述步骤b2中存储分组缓存地址的存储空间为多段存储空间,且所述多段存储空间是输出端为分组流动态分配的。
6.如权利要求5所述的方法,其特征在于,所述步骤b还包括:
输出端回收存储分组缓存地址的存储空间。
7.如权利要求1所述的方法,其特征在于,所述分组传输信息为:分组传输路径信息,且所述步骤b中确定传输异常的分组的步骤具体包括:
所述输出端根据其接收到的分组及分组传输路径信息记录到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;
所述输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组序列号、及所属的传输路径;
所述输出端确定空缺的分组所属传输路径对应的最后序列号;
所述输出端判断最后序列号是否大于空缺的分组序列号;
如果大于,确定该空缺的缓存地址对应的分组传输丢失;
如果不大于,确定该空缺的缓存地址对应的分组传输拥塞。
8.如权利要求1或2或3所述的方法,其特征在于,所述步骤c包括:
所述输出端在确定分组传输丢失后,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
9.如权利要求1或2或3所述的方法,其特征在于,所述步骤c包括:
所述输出端在确定分组传输拥塞后,在预定时间间隔内等待接收分组;
所述输出端在预定时间间隔内接收到其等待的分组时,输出该分组;
所述输出端在预定时间间隔内没有接收到其等待的分组时,继续根据后续连续存储的缓存地址的存储顺序输出其缓存的分组。
10.一种分组重排序系统,包括:输入端和输出端,所述输出端设置有重排序机,其特征在于,所述输入端设置有分组信息生成器,所述重排序机中设置有重排序模块和异常控制模块;
分组信息生成器:用于在输入端将分组流中的分组输入交换网络过程中,获取该分组流中其他分组的分组传输信息,并为分组添加分组序列号和所述分组传输信息,然后,将分组输入至交换网络;所述其他分组为先于当前输入交换网络的分组的分组;
重排序模块:用于对接收端接收的分组进行分组重排序输出;包括:
在接收到分组时,将所述分组缓存;
按照分组序列号顺序存储所述分组的缓存地址;
根据连续存储的缓存地址的存储顺序输出其缓存的分组;
异常控制模块:用于根据输出端接收到的分组和其他分组的分组传输信息确定传输异常的分组,并针对传输异常的分组控制重排序模块的输出;其中,所述异常控制模块具体用于:输出端根据其接收到的分组及分组传输路径信息记录到当前时间为止、分组流的各传输路径中最后传输的分组的分组序列号,即最后序列号;输出端根据其接收的传输路径信息确定空缺的缓存地址对应的分组序列号、及所属的传输路径;输出端确定空缺的分组所属传输路径对应的最后序列号;输出端判断最后序列号是否大于空缺的分组序列号;如果大于,确定该空缺的缓存地址对应的分组传输丢失;如果不大于,确定该空缺的缓存地址对应的分组传输拥塞。
11.如权利要求10所述的系统,其特征在于,所述重排序模块包括:
分组存储器地址管理池:为接收端接收的分组提供存储地址,并将该存储地址传输至分组地址存储段;
分组存储器:用于根据分组存储器地址管理池提供的存储地址存储分组,并根据输出仲裁机的通知、分组地址存储段提供的缓存地址输出其存储的分组;
段控制器:用于在分组存储、输出时,为分组流提供分组地址存储段的存储段首地址、输出段首地址;
分组地址存储段:用于根据存储段首地址、按照分组序列号顺序存储分组在分组存储器的缓存地址,根据输出段首地址,按照存储顺序向分组存储器提供缓存地址;
输出仲裁机:用于根据预定仲裁机制对各分组流的输出进行输出仲裁,并根据仲裁结果通知相应分组流的分组存储器。
12.如权利要求11所述的系统,其特征在于,所述重排序模块还包括:
段存储地址管理池:用于回收空闲的分组地址存储段的段首地址,并向段控制器提供空闲的段首地址。
13.如权利要求11或12所述的系统,其特征在于,分组地址存储段中还存储有:缓存地址对应的分组的分组传输路径信息,且异常控制模块包括:
最后值存储模块:用于存储到当前时刻为止、分组流的各传输路径最后达到输出端的分组的序列号,即最后序列号;
分组丢失判断器:根据分组地址存储段中存储的传输路径信息判断分组地址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存储的该分组传输路径对应的最后序列号,在判断出大于所述最后序列号时,确定该空缺的缓存地址对应的分组传输丢失,进行丢失处理;在判断出不大于所述最后序列号时,确定该空缺的缓存地址对应的分组传输拥塞,进行拥塞处理。
14.如权利要求13所述的系统,其特征在于,分组地址存储段中的一个存储单元包括:分组的缓存地址、分组的传输路径信息、用来标志分组是否到达输出端的标志位1、用来标志分组的传输路径信息是否有效的标志位2;
分组丢失判断器在确定标志位1无效、且标志位2有效时,判断分组地址存储段中空缺的缓存地址对应的分组的序列号是否大于最后值存储模块中存储的该分组传输路径对应的最后序列号。
CN2006101521247A 2006-09-13 2006-09-13 一种分组重排序方法和系统 Expired - Fee Related CN101146029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101521247A CN101146029B (zh) 2006-09-13 2006-09-13 一种分组重排序方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101521247A CN101146029B (zh) 2006-09-13 2006-09-13 一种分组重排序方法和系统

Publications (2)

Publication Number Publication Date
CN101146029A CN101146029A (zh) 2008-03-19
CN101146029B true CN101146029B (zh) 2011-12-28

Family

ID=39208329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101521247A Expired - Fee Related CN101146029B (zh) 2006-09-13 2006-09-13 一种分组重排序方法和系统

Country Status (1)

Country Link
CN (1) CN101146029B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042920A2 (ko) * 2011-09-19 2013-03-28 에스케이텔레콤 주식회사 다중 네트워크 기반 데이터 동시 전송 서비스를 지원하는 장치 및 방법
WO2013083604A1 (en) * 2011-12-09 2013-06-13 Chiesi Farmaceutici S.P.A. Kinase inhibitors
CN103647727B (zh) * 2013-11-29 2017-01-18 福建星网锐捷网络有限公司 音视频传输控制方法和装置
CN104699632B (zh) * 2015-03-30 2019-02-26 华为技术有限公司 业务交换的管理方法和装置
CN109120545B (zh) * 2017-06-23 2021-05-04 华为技术有限公司 数据包传输方法及装置
CN114691571A (zh) * 2020-12-28 2022-07-01 上海寒武纪信息科技有限公司 数据处理方法、重排序缓存器及互联设备
WO2023087145A1 (en) * 2021-11-16 2023-05-25 Lenovo (Beijing) Limited Methods and apparatuses for pdcp reordering management
CN115065664B (zh) * 2022-06-17 2024-01-26 北京天融信网络安全技术有限公司 一种互联网协议地址的回收方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125499A (zh) * 1993-06-15 1996-06-26 艾利森电话股份有限公司 重排序方法和设备
CN1711713A (zh) * 2002-11-08 2005-12-21 皇家飞利浦电子股份有限公司 数据传输系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125499A (zh) * 1993-06-15 1996-06-26 艾利森电话股份有限公司 重排序方法和设备
CN1711713A (zh) * 2002-11-08 2005-12-21 皇家飞利浦电子股份有限公司 数据传输系统

Also Published As

Publication number Publication date
CN101146029A (zh) 2008-03-19

Similar Documents

Publication Publication Date Title
CN101146029B (zh) 一种分组重排序方法和系统
CN1134138C (zh) 具有多重排队的虚拟路径的业务整形器
AU632840B2 (en) An atm switching element for transmitting variable length cells
US6876629B2 (en) Rate-controlled multi-class high-capacity packet switch
EP0502873B1 (en) Basic element for the connection network of a fast packet switching node
EP0471344B1 (en) Traffic shaping method and circuit
US5636210A (en) Asynchronous transfer mode packet switch
EP0680173B1 (en) Multicasting apparatus
CA2112528C (en) Packet switching system for forwarding packets from input buffers using idle/busy status of output buffers
US7173931B2 (en) Scheduling the dispatch of cells in multistage switches
CN1859263B (zh) 信元重排序方法、使用该方法的信元处理方法及装置
CA2247447C (en) Efficient output-request packet switch and method
CN1264531A (zh) 具有时间标记功能的交换阵列布置
WO1993007699A2 (en) Broadband input buffered atm switch
CN1056968A (zh) 数据单元交换机
JPH09186706A (ja) パケットの間におけるスケジューリングの衝突を解決するための方法
CN1034648A (zh) 分组交换设备
CN1149222A (zh) 具有多信道广播带外控制的atm分组交换机
WO1988005982A2 (en) Self-routing switching system
CA2226009A1 (en) Atm throttling
CA2280580C (en) Atm switch
US6046982A (en) Method and apparatus for reducing data loss in data transfer devices
CN100421420C (zh) 一种调度纵横式交换矩阵中变长数据包队列的方法
EP1041772B1 (en) Packet switch realizing transmission with no packet delay
KR100468946B1 (ko) 간단한 파이프라인 방식을 이용한 입력 버퍼형 스위치 및그 경합 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111228

Termination date: 20190913