CN1125499A - 重排序方法和设备 - Google Patents
重排序方法和设备 Download PDFInfo
- Publication number
- CN1125499A CN1125499A CN94192461A CN94192461A CN1125499A CN 1125499 A CN1125499 A CN 1125499A CN 94192461 A CN94192461 A CN 94192461A CN 94192461 A CN94192461 A CN 94192461A CN 1125499 A CN1125499 A CN 1125499A
- Authority
- CN
- China
- Prior art keywords
- packet
- input port
- record
- address
- output port
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Abstract
在数据分组网络中,分组从输入端口(1,3)被传送到输出端口(1,3)且从一个输入端口到一个输出端口的分组传送可以要求不同长度的时间周期,例如,由于在网络中传输的数据分组要通过分组被处理的单元(5)。在网络的每个输入端口,对那些已经抵达输入端口的数据分组建立一个源和目的的当前组合或对偶列表(9)。列表也包括具有这一组合的数据分组的当前序列编号(NSexp)。该列表受约束或限制,所以它将只包括少数记录。当一个数据分组被一输入端口接收时,一源地址和目的地址的组合尚未在列表中,列表(9)中的最长时间周期未用的记录被覆盖且相应的序列编号(NSexp)被擦除。当具有同样源地址和目的地址组合的一个报文随后重新到达时,序列编号(NSexp)在分组中标志(R)被置位的同时被重起动。进而,从列表中移去那些预确定时间周期内未使用的记录。在输出端口亦有相似的列表(19)并亦被减少以避免长的搜索时间。假如在一输出端口的列表(19)中一个记录已经足够长时间未使用了,显然它可以从列表(19)中被移去,因为在输入端口处的列表(9)中相应的记录已经被移去。
Description
技术领域
本发明涉及对在一个网络中从一输入端口到一输出端口被传输的数据报文或数据分组的重排序的方法和设备。本发明的背景
在对正在网络中传输的数据报文的处理操作中,将数据报文的输入流分布到几个不同的并行处理单元(如服务器)上,对处理可能是必要的或非常有益的。在一些实例中,一个处理单元在某些情况下没有时间处理所有被传输的数据报文。那么,当然在可能或不太昂贵时,可以使用更快的处理单元,但是作为另一选择也可以使用几个并行单元。为了以一种尽量有效的方式利用几个处理单元,需要在可用的处理单元上对数据分组进行动态分配。例如,在某一时刻具有最低负载的单元将获得将到达网络的下一个报文以便处理。另一种选择是在可用处理单元之间动态地分配输入报文。如果来自众多输入端口的负载被动态地分配到几个处理单元上,那么此动态分配的将体现重大优越性。那么,将获得一统计收益,导致较每个输入端口相关于一选定的,预定义处理单元的情况,总计服务器容量可以被相当地降低。
无论如何,数据报文流通常包括来自不同源的报文,它们将被以报文到达时的相同顺序移交到各自的目的地。在动态分配中,不能确保维持正确的序列次序,因为不能确保处理单元运行的同样快。为了仍能实现这一动态负载分配,单独数据报文的正确序列次序必须以某种方法被恢复,至少在从网络移交和传输之前。解决这一问题的传统方法是,在每个报文在网络的一输入端口被接收时,标上一个序列编号并在从网络移交时,用被向前转发的数据分组的序列编号执行一个重排序,在转发之前这些序列编号被从数据报文中移去。
在这种情况下正确的序列次序要求只对一对源和目的有效。传统上,源和目的用网络中和数据报文中的唯一的地址识别。在网络的输入端口,每个输入报文必须被分配一个指示报文与来自同一源的,上一个已到达报文相对关系的报文序列位置的序列编号或次序编号,为的是能在输出端口恢复数据报文的序列次序。因此,这个被分配的序列编号在输入端口必须取自被输入端口中逻辑电路建立的一存储器或一列表,并且它还包含每一种可能的源和目的组合的当前、下一个序列编号,或至少是到达输入端口的数据分组中已经遇到的这样的源和目的对。源和目的这样的组合的一个非长长的列表及当前序列编号在许多情况下必须被存储和管理,并在一个新的数据分组的到达时,平均讲,为了寻找对收到的数据分组有效的相同的源和目的组合,列表的一半必须被搜索,这样的一个列表将通常包括成百上千的记录,其中的一个搜索操作将需要一不能接受长度的时间周期。先前的技术
专利US-A5,127,000描述了一个具备自动重排序的分组分布网络。如果分组沿不同路径穿过网络,它们可能产生不同的迟延且因此分组可能以错误的序列次序到达输出端口。该专利公开了一种在输出端口恢复分组序列次序的方法。按照相应的文件,提供一个电路以在网络的输入端口处为分组提供一个“时间标记”。在输出前,网络所导致的分组时间迟延被检测。分组进一步被时延,以使总时延等于预定义的值。因此,穿越网络的总时延将近似为常数,且分组以它们抵达输入端口相同的序列次序移交给输出端口。
专利US-A4,807,224涉及一个用于将分组形式的数据分布到大量的接收器的系统。一个中央单元顺序地放出包含一信息域和一序列编号的分组到许多接收器和备用单元。每个接收器复制数据分组到一个缓存器,以便能够选择接收器感兴趣的部分。如果接收器发现一个分组丢失,它可以从一个备用单元得到。如果自从上一个分组被接收后一个预定义的时间周期已经逝去或一个具有一错误序列编号的分组到达,则认为一个分组丢失。这样接收器在传输错误发生时可以恢复序列次序。
专利US-A4,630,260涉及一个用于在网络输出端将穿过分组分布网络的分组用维持的序列次序链接起来的方法。简单地通过不能让具有相同地址的分组在同一节点上并行被发送的方法来维持序列次序。
专利US-A5,173,897涉及一个ATM-网络,其中逻辑连接的连续信元被以尽可能不同的路由传输到输出端。在输入端,连续的序列编号被分配给信元。在输出端,每个信元被保持到在网络交换区域中没有较早的信元可以被缓存为止。本发明的描述
本发明的目的是在数据分组的传输可能需要变长的时间周期时,提供在网络中以一种有效的方式传输数据分组的方法,并提供一个采用此方法的网络。
另一个目的是提供一个在输入和输出处,具有有限的管理列表存储器空间的,从输入到输出传输数据分组的方法和网络。
这些目的通过本发明取得,而前述的问题通过按照本发明的方法和设备被解决,更详细的特性出现在附后的权利要求中。
在一个数据分组网络中,分组从输入单元或输入端口传输到输出单元或输出端口,且从一个输入端口到一个输出端口的分组传输可能需要不同长度的时间周期,例如,由于穿越网络传输的数据分组通过不同的单元被处理。在网络的每个输入端口,来自外部的数据分组被分配一个序列编号,且对已经到达输入端口的数据分组一个源和目的的对或当前组合被建立。列表也包括具有每一个这样的组合或这样的对的数据分组的当前或下一个序列编号。为了允许检查和恢复分组的正确序列次序,序列编号被插入到数据分组中。列表可以被限制或约束,这样,例如只包括少量记录,如16个记录。当一个数据分组到达具有未被存储在列表中的目的地址和源地址组合且列表全满的输入端口时,列表中的在最长时间周期一直未用的记录可以被复盖,且存储在记录中的相应的下一个序列编号将被擦除。进而,在分组中置一个标志,来指示此分组是序列次序中的第一个分组。然而,当具有与记录中被复盖的相同源地址和目的地址组合的一个报文再次到达时,对该存在在被取消记录和当前被处理的分组中的目的地址和源地址组合,重起动序列编号,相似于已提到的标志,同时在分组中置一标志,来指示重起动或一般地代表该分组在当前有效的序列编号中是第一个分组。列表通过连续或不懈地移去在一定预定义时间周期中未用的那些记录的方法被限制或抑制。在输出端口也安排了一相似的列表,且它也必须维持尽量短以避免长的搜索时间。如果在输出端口处列表中一个记录已经在足够长时间周期内未用,则该记录可以从列表中移去,因为相应的记录将已经从相应输入端口处的列表中被移去。
通常情况是:在一个网络部分中或这里简称一个网络,数据报文或数据分组到达输入/输出端口,并从网络部分或网络在输入/输出端口上被转发。在穿越网络之旅中,一个数据分组可以采用不同的路径,例如,它将通过不同的并行处理单元或服务器。在到达一输入/输出端口时,一个序列或序列编号被插入或附加到数据分组中,此序列编号指示在所有那些从外部到达输入/输出端口并具有和所讨论数据分组相同的源地址和目的地址组合的数据分组中,该数据分组的顺序位置。在输入/输出端口,一个包括这样的到目前为止所有已收到的数据分组的源地址和目的地址组合的列表被建立。为了降低对此列表的搜索时间,可以采用两种措施。首先,列表可以被限制到少量源地址和目的地址的组合,例如典型的16个这样的组合,且这些组合将在每刻表示最新的源地址和目的地址组合,这些地址已经出现在那些最近已经到达的数据分组的处理中。其次,那些在足够长时间周期中未用的源地址和目的地址组合,可以不停地从该列表中移去。这意味着对这些记录,任何数据分组到达具有记录中指示的源地址和目的地址组合的输入/输出端口后,一时间周期已经过去,且这个时间周期超过了一预定义的时间值。
每当一个新的源地址和目的地址的组合出现在抵达一输入/输出端口的一数据分组中,而该组合未出现在存储的列表中,则一个标志被置位,以在数据分组中指示这一情况。在数据分组穿越网络传输之后,此标志可以被移去。此外,在数据分组中,一个序列编号被插入,其值相应于一个合适的开始值,例如1。
选定的时间周期长度或预定义时间值Til,在列表中包括一定源地址和目的地址组合的记录将被从列表中移去的情况下,一定要超过这个值,该值以总产生一“足够时间周期”的方式被确定。时间周期应当能确保网络有足够时间腾空,即具有一个一定的源地址和目的地址的组合的报文,且它是具有该组合的一重起动序列中的第一个报文,即当在列表中恰好还没有此源地址和目的地址组合的一个记录时,在具有同样源地址和目的地址的组合数据分组之前但是列表中该记录已经被擦除之前绝不会通过或到达,在第一个讨论的报文到达前,即具有相同目的地址和源地址的组合并属于一个较早序列的报文。假如诸如列表被允许至多包括16个记录,至少此时间周期将至少是相应于在一个顺序重起动的数据分组被发送前发送16个报文所需要的时间周期,即这样一个数据分组,其源地址和目的地址组合先前未在列表中但在此被输入。
如果进一步假设,输入逻辑可以以最小时间间隔Ti向网络发送报文,如果该输入列表通常包含n个记录,条件n*Ti>=Til这样被获得,即列表中记录数量n必须大于或等于Til/Ti。这样列表能维持一个有限的长度而不会导致任何排队现象或相似情况。
如果假设在一个报文穿越网络传输期间时间周期的绝对最大变化为Tmax_v,例如等于5ms,对于为了克服较早提到的,一顺序重起动的数据分组将能通过一个较早被发送的,具有相同源地址和目的地址组合的数据分组的风险,所需时间周期Til,此时时间周期Til必须大于或等于Tmax_v,即Til>=Tmax_v。不允许在输入/输出端口中处理输入报文的逻辑发送一个具有这样的一个重起动的序列编号,和在先前具有同样源地址和目的地址组合的数据分组之后短于Tmax_v时间间隔的报文。
在一个输出端口中处理从网络中传输的报文的网络转发的逻辑电路不能以它们可以包括一个相等的有限源地址和目的地址记录数的列表的方式来设计。无论如何,可以对输出端列表做某些限制。以如网络输入端的同样方法,此处包含源地址和目的地址组合的,在足够长时间周期内未用的记录可以被移去。此处的未用意味着,为了能在一个足够长时间周期期间从网络转发没有数据报文已经到达输入/输出端口。如果这样一记录到当前时刻为止已经在Til+Tmax_v时间周期未用,这个源地址和目的地址的组合的序列编号将被处理从外部到网络的报文输入的输入/输出端口中的逻辑重起动。在这种情况下,在输出端的逻辑电路可以从它的存储器中移去相应的记录。
这样,假设在一个输入/输出端口,输入端的逻辑电路,恰在其列表中的一个记录已成为未用前,即在时间周期Til逝去前,转发一个报文且此报文尽可能慢地通过网络(与被传输数据分组的平均值相比的迟延Tmax_v/2),而前一个具有相同源地址和目的地址组合的数据分组尽可能快地通过网络(比一个分组被传输的平均时间提前Tmax_v/2时间到达)。在一个输入/输出端口中输出端的逻辑电路中接收这些报文的时间差将略低于Til+Tmax_v。在输出端的一记录在该记录的自上一次被使用的Tol时间周期已经逝去前,可能不被擦除,此处Tol>=Til+Tmax_v。
由于从一个输入端口到一个输出端口的数据分组传输要求不同长度的时间间隔,为了能尽量执行一个数据分组的重排序,那么在每个输出端口中需要一个缓存存储器。一个存储在缓存存储器中的分组无论如何在转发前不会停留太长的时间周期,如果自从其抵达输出端口Tb时间长度已经逝去的话。将选择这一时间长度Tb,以使条件Tmax_v<=Tb<=Til得到满足。如果它不从网络被转发,一个可能的顺序重起动的分组可能在被缓存的分组有时间转发前到达此输出端口,且缓冲器分组被擦除。
且如果进而一个输出端口可以接收在网络上以最小时间间隔To被传输的数据分组,按上述相同的方法,同样必须出现在输出处列表中不导致任何排队问题的记录数量m,必须大于或等于Tol/To,即m>=Tol/To。在输出端口中的列表将这样用长度限制。
这样,提供了一个在网络中输入端口和输出端口间传输数据分组的方法,此法从一个输入端口到一个输出端口的一个数据分组的传输可能需要不同的时间周期,且每一个数据分组可能与一源地址和/或一目的地址相关联。这些地址可能是只在网络内使用的地址,然后指示网络的各种输入和输出,它们也可以是通常被写入数据分组的一特定域的起始和最终地址。该方法包括:
-1.在抵达一输入端口时,一个序列编号被插入或附加到数据分组中,此序列编号指示数据分组的顺序位置。在第一种情况,数据分组将被传输到的输出端口随后也被确定,且输入端口的地址被插入或增添到数据分组中。序列编号指示在已经到达或将要到达这一相同输入端口的数据分组中该数据分组的顺序位置,且为它们确定了同一输出端口。在第二种情况,序列编号指示已经到达此输入端口,且有与已到达的数据分组相同的源地址和目的地址组合的分组中该数据分组的顺序位置;
-2.在一输出端口,被传输数据分组的序列编号被用于以正确的序列次序转发数据分组。在第一种情况中,数据分组以一个只关心在被转发的数据分组中被发现的一输入端口的每一个地址的正确次序被转发。在第二种情况,这意味着,数据分组以只关心被转发数据分组的每个源地址和目的地址组合的正确序列次序被转发。
-3.在一个输入端口和/或一个输出端口,建立一个包括记录的列表,每个记录包括一个与数据分组相关的不同地址,及一个将被插入或增加到具有相同地址的下一个数据分组中的当前序列编号,如果或当有这样一个分组到达的话。在第一种情况,在一个输入端口中的一列表中的每个记录包括一不同的,已经确定到达输入端口的数据分组将被传输到的输出端口的地址。在这种情况中,记录中的当前序列编号被插入或增加到将被确定传输到同一记录中指示的输出端口的下一个数据分组中,如果或当有这样的一个分组到达此输入端口的话。在这种情况下,在一个输出端口中,一列表可能包括记录,其每个记录包括一个不同的已经从被传输到输出端口的数据分组中得到的输入端口地址。该记录中的当前序列编号此处是,在具有与存储在这个记录中的地址相同的一输入端口地址的下一个数据分组中将被找到的序列编号,且该分组将从输出端口被转发。在第二种情况中,在一个输入端口中的一列表中的每一个记录则包括一个,已到达输入端口的数据分组的不同的源地址和目的地址组合,且记录中的当前序列编号将被插入或增加到具有相同源地址和目的地址组合的下一个数据分组中,如果且当有这样一个分组到达此输入端口的话。进而,在这种情况下,一个输出端口中的一列表可能包含记录,此处每个记录包括被传输到输出端口的数据分组的源地址和目的地址的不同组合。当前序列编号是在具有在此记录中被指示的源地址和目的地址的相同组合的下一个数据分组中顺序找到的,且将从输出端口被转发。
-4.这些列表中的每一个可能并通常至少是一个被限制或约束的列表,因此它尽量短并依然允许一重排序,且它包含只与最新被接收的数据分组相关的不同地址,这可以两种方式实现:
--通过约束或限制列表到一个预确定的少量地址,它是一个微不足道或小数量记录,例如采用只为列表安排少量的存储器,和/或
--每在一预定义的时间周期,尚未收到具有此地址的数据分组时,从列表中移去一个与当前序列编号相关的地址,
当每个数据分组与一源地址和目的地址相关时,用于这种情况的方法可能意味着,在一个输入端口中的列表被约束到一预定义数量的包含源地址和目的地址组合的记录,它在每一时刻代表已经出现在最新到达输入端口的数据分组中的那些源地址和目的地址的组合。
在这种情况下,有益地安排,使在一包含源地址和目的地址组合的输入端口中的列表中的记录数量,只相当于抵达数据分组的少量可能的源地址和目的地址的组合。
进而,在一预定义时间周期,当无数据分组到达与此记录指示的源地址和目的地址组合相关的输入端口时,一个包含一源地址和目的地址组合及一当前序列编号的记录可以从一输入端口中的一列表中被移去。
为了实现这一点,网络中一输入端口的一列表中,及包含一源地址和目的地址组合的每个记录中,在一个数据分组最新抵达与此记录中指示的源地址和目的地址组合相关的输入端口时,有关的时间信息可以被插入。这个时间指示随后可以用于监视和移去,最近的时间周期期间未被改变过的太旧的记录。
进而在此情况中,一个包含源地址和目的地址组合及当前序列编号的记录可以从一输出端口中的一列表中移去,在一预定义的时间周期期间,当没有数据分组被传输到与此记录中指示的源地址和目的地址组合相关的输出端口时。
在一般情况下,当输入端口和输出端口在网络中有地址时,此方法可能意味着一输入端口中的列表被约束到一预定义数量或少量的包含地址的记录,它在每个一时刻代表为对最新抵达输入端口的数据分组已经确定的输出端口的地址。
同样在此情况下,包含输出端口地址的列表中的记录数量可以被约束,例如物理地通过对到达的数据分组只安排少量存储器来对应一预定义的少量可能的输出端口。
进而在此情况下,在一预定义的时间周期期间,当没有数据分组已抵达被确定的将传输到在记录中被指示源地址和目的地址组合相关的输出端口时;一个包含一输出端口地址和一当前序列编号的记录可以被从网络的一输入端口中的列表中有益地被移去。
在此情况下,象其它通常情况一样,包含输出端口地址的一输入端口中的列表中的每个记录中,有益地将信息相对插入,当一个将被传输到此记录中指示的输出端口的数据分组最新抵达输入端口时。这使得从列表记录中删除一预定义时间周期期间中未用的记录成为可能。
进而,在此情况下,每当在一预定义时间周期期间,没有数据分组已被传输到包括此记录中指示的输入端口的地址的输出端口时,一个包含与一当前序列编号相关的输入端口的一个地址的记录,可以被从一输出端口的一列表中移去。
进而,在其它分组中具备起始地址和最终地址的一般情况下,在一数据分组到输出端口的传输中,此数据分组具有跟随当前序列编号的一序列编号,它在源地址和目的地址组合的输出端口列表中被找到,其对数据分组有效,数据分组可以被存储以便以后被从输出端口转发。在输出端口的一列表中包含输入端口的地址的情况下,相应的规程也可以被执行,允许存贮具有当前序列编号后的一序列编号的一数据分组。
在具有当前序列编号之后的一序列编号的数据分组被存储的同时,有关数据分组在输出端口被接收的时间的信息可以被存贮。在至少一个预定义时间周期期间,数据分组已经被存贮在一输出端口中时,数据分组可以从输出端口被转发。当这样存储在一输出端口中的数据分组从输出端口被转发时,在列表中记录里找到的包含此数据分组源地址和目的地址组合的当前序列编号,被置为紧随被转发数据分组的序列编号之后的序列编号。
这样,还提供了在网络的输入端口和输出端口间传输数据分组的网络,从一输入端口到一输出端口的一数据分组的传输可能需要不同的时间长度,且每个数据分组可以与一源地址和/或一目的地址相关联。此网络包含
-在一数据分组抵达一输入端口时,用于将指示数据分组的序列位置的一序列编号插入或增添到数据分组中的装置,
-在一输出端口,为了以正确的序列次序转发数据分组,用于使用被传输数据分组的序列编号的装置,
-在一输入端口和/或输出端口,用于建立一个包含关联于数据分组的不同地址和一关联于具有相同地址的下一个数据分组的当前序列编号的列表的装置,
-用于建立一个以尽量短的方式约束列表的列表装置,且它只包含与那些最新被收到的数据分组的地址有关的地址,
--通过属于用于建立列表的装置的存储器装置的方法,且列表被存储在其中,具有预定义或有限的尺寸,因此只有少量的包含地址和序列编号的记录可以被存贮,和/或
--通过包括在用于建立列表的装置中的时间监视装置的方法,监视列表中每一个记录,每当一预定义时间周期内没有具有此地址的数据分组被接收时,就从列表中移去包含相关于当前序列编号的一个地址的记录。
在一般情况下,鉴于每个数据分组与一源地址和一目的地址相关,以下情况对网络有利
-在一个数据分组抵达一输入端口时,用于向数据分组中插入或增加一个序列号的装置,该序列编号指示在已经到达此输入端口的数据分组中,该数据分组的序列位置且具有与到达的数据分组相同的源地址和目的地址组合的序列编号,
-在输入端口中,用于建立一个包含抵达输入端口的数据分组的不同源地址和目的地址组合的记录的列表的装置,且与每个组合相关,一个被插入或增加到具有此记录中指示的源地址和目的地址组合的下一个数据分组的,当前序列编号,如果及当有这样的一个数据分组抵达此输入端口的时候,
-在输入端口中,用于建立一个列表的装置包括存贮列表的存储器装置,
-具有有限尺寸的存储器,此处列表被约束到包含源地址和目的地址组合的少量记录,
-用于在输入端口建立一个列表的装置,包括时间监视装置,它监视存储存储器装置中的在列表记录,当存储器满时,且在抵达输入端口的数据分组中出现一个新的源地址和目的地址组合时,而此组合未在存储在存储器中的列表中找到,从存储的列表中移去的具有包含在记录中的组合的任意数据分组抵达输入端口后,包括已经过最长时间周期的源地址和目的地址组合的记录,从而存储在存储器中的列表中每一时刻都包含包括出现在最新抵达的数据分组中的源地址和目的地址不同组合的记录,
-在一个输出端口,为了以正确的序列次序转发数据分组,而使用传输的数据分组的序列编号的装置,被安排以只与被转发的数据分组的每个源地址和目的地址组合有关的正确序列次序转发被传输的数据分组。
进而,在此情况下,存储器装置具体地被包括在用于在输入端口建立一个列表的装置中,其尺寸使列表中包含源地址和目的地址组合的记录数量只相应于少量的,对抵达的数据分组来说是可能的源地址和目的地址组合。
进而,如上陈述,在此情况下包含在一输入端口中用于建立一列表的装置中的时间监视装置,可以被安排来从包含具有一相关当前序列编号的源地址和目的地址组合的列表中移去一记录,在一预定义时间周期内,当没有数据分组抵达具有该记录中指示的源地址和目的地址组合的输入端口的时。
进而,在此情况下,用于在一输入端口建立一个列表的装置可以安排成,对存储在存储器装置中的列表中每个记录包含着一源地址和目的地址组合,亦会插入涉及最新一数据分组抵达该记录中指示的一源地址和目的地址组合的输入端口的时间信息。
进而,在此情况下,从网络的一输出端口中可以安排装置来建立,且相关的存储器装置存储着包括含有被传输到输出端口的数据分组的不同源地址和目的地址组合的记录的列表,且与在具有与此记录中所指示相同的源地址和目的地址组合的下一个数据分组中找到的并从输出端口被转发的每个当前序列编号相关联。
进而,时间监视装置可能被包括在在输出端口中用于建立一列表的装置中,它监视存储在列表中的记录,并在一预定义时间周期期间,当无数据分组被传输到具有本记录中所指示的源地址和目的地址组合的输出端口时,从列表中移去具有相关当前序列编号的,包含一源地址和目的地址组合的记录。
在其它输入端口和输出端口在网络中具有地址的通常情况下,在的网络中最好有
-在一数据分组抵达输入端口时,在网络的输入端口用于确定数据分组将被传输到的那个输出端口的装置,
-在一数据分组抵达时,用于在数据分组中插入或增加该输入端口的地址的装置,
-在一数据分组抵达时,用于向数据分组中插入或增加一个指示在已经抵达该输入端口,并已经或正被传输到如已抵达的数据分组相同的输出端口的数据分组中,该数据分组的顺序位置的装置,
-在输入端口包含存储器装置,并在存储器装置中建立和存储着一个由包含不同输出端口的地址的记录组成的列表,到达输入端口的数据分组已经或正在被发送到这些端口,一个与将被插入或增加到将被传输到该输出端口的下一个数据分组中的当前序列编号相关联的列表中,如果及当有这样的一个数据分组抵达此输入端口的话,
-存储器具有有限的尺寸,因此存储在其中的列表被限于少量的包含地址的记录,和/或
-用于建立列表的装置中包括时间监视装置,它被安排监视存储在列表中的,包含输出端口地址和当前序列编号的记录,并当存储器满且对抵达输入端口的一数据分组有效的一新的输出端口的地址出现时,而该地址未被在存储的列表中发现,从存储的列表中移去包含一输出端口的地址的记录,它是这样,在输出端口已被确定,并与该记录中所包括的输出端口地址相一致的所有分组都已到达该输入端口后,已经过去最长的时间周期,此处一个存储在存储器装置中的列表每一时刻由包含已经出现在最新抵达输入端口的数据分组中的不同输出端口的地址的记录组成,
-且进而,在一输出端口中,使用被传输数据分组的序列编号以一正确的序列次序转发数据分组的装置被安排成以只与一个被找到或已经被增加到输入端口中被转发数据分组的输入端口的每个地址有关的正确序列次序转发数据分组。
进而,在这一情况下,如上所述,存储器可能具有这样的一尺寸,它只能存储包含输出端口地址的几个记录,它相应于对于抵达的数据分组是可能的少量的输出端口。
进而,时间监视装置可以被安排成,从存储在网络的一输入端口中的存储器里的列表中,移去一个包含一输出端口地址及一相关当前序列编号的记录,每当一预定义时间周期没有数据分组抵达此输入端口时,它将被传输到此记录中所指示的输出端口。
用于在网络的一输入端口中建立一个列表的装置也可安排为,对于一个输出端口的每个地址,有关最新一数据分组到达将要传输到此输出端口的输入端口的时间信息被插入并存储在存储器中。
进而,在网络的输出端口中,可以提供包含存储器装置的装置,在该存储器装置中建立和存储一个由包含从被传输到输出端口的数据分组中得到的输入端口的不同地址的记录组成的列表,且与输入端口的每个地址相关联的在具有与此记录所指示的一输入端口相同地址的下一个数据分组中找到的一当前序列编号,它将从输出端口被转发。
可以提供包含在用于在输出端口中建立一列表的装置中的时间监视装置,它们被安排成监视包含在输出端口的存储器装置中,由输入端口地址和当前序列编号组成的记录,并从输出端口的列表中移去一包含一输入端口地址和一当前序列编号的记录,每当一预定义时间周期期间没有数据分组被传输到包含此记录所指示的输入端口地址的输出端口时。
在外部源地址和目的地址的一般情况下,其它存储器装置可能被包括在一输出端口中,用于建立一列表的装置中,它被安排成在一数据分组到此输出端口的传输中,它具有跟随当前序列编号的一序列编号,它被存储在一个记录的列表中,该记录具有与该数据分组相联系的源地址和目的地址组合,为了以后从输出端口转发它而存储数据分组。
为了存储与被存储的数据分组被传输到输出端口的时间有关的信息,在存储具有跟随当前序列编号的一数据分组的同时,其它存储器装置被有益地采用。
其它时间监视手段可以被包括在输出端口用于中建立列表的装置中,并被安排监视存储在其它存储器装置中的记录,当至少一个预定义时间周期期间中,一个数据分组已经被存储在一个输出端口时,从输出端口转发存储的数据分组。
用于在输出端口中建立一个列表的装置被有益地安排成,当一个被存储在其它存储器装置中的数据分组从输出端口被转发时,设置存储在输出端口中第一个存储器装置中的列表里的,一个包含此被转发数据分组的源地址和目的地址组合的记录中的当前序列编号,使其等于紧随被转发数据分组的序列编号的序列编号。
在输入端口和输出端口具有网络中的地址的在其它通常情况下,为了存储已经被传输到输出端且序列编号不符合有效的当前序列编号,通常在当前编号之后的数据分组,在一输出中提供更好的其它存储器装置。附图的描述
参考附图,本发明现在将被作为一个非限制实施例被描述,其中
-图1展示了一个具有几个服务器和具有输入和输出逻辑的网络,
-图2概要地解释了在抵达网络时和网络中传输时相应的一数据分组的格式,
-图3概要地展示另一修改的格式形状,
-图4展示了在网络输入端口中必须提供的一列表的结构,
-图5解释了在网络输出端口中必须提供的一列表的结构,
-图6和7是在网络输入端口中执行的并行规程流图,
-图8是在网络输出端口中执行的作为源和目的的一定组合的一状态机解释的规程图,
-图9-12是在网络输出端口中执行的不同并行规程的流图。优选实施例描述
在图1中,一个网络被展示为具有一个输入/输出端口1和一个输入/输出端3,为了简化,只表示了两个网络端口解释,而现实中通常提供更多的输入和输出端口。对于第一个提及的输入/输出端口1,当一数据分组抵达一输入/输出端口时执行的逻辑处理(表示为2)被概要地以方块图形式解释,而对于其它的输入/输出端3,其对一已经穿越网络被传输且将从那里被转发到一输入口/输出端口的数据分组的逻辑处理用一方块图形式表示,这些被转发的分组用4表示。通常这样完整的逻辑单元被安排在所有连接到网络的输入/输出端口中,并特别在所解释的输入/输出端口1和3中。
从每个输入/输出端口,输入的报文在网络中进一步传输,如分组2′标识,进而被传输到几个执行某些数据分组的处理服务器或处理单元5。数据分组从服务器5传到对相应数据分组按数据分组中的地址选定的输入/输出端口,这些分组被标识在4′。
现在将描述在输入端口和输出端口中处理数据分组的第一种实施例,在输入/输出端口中说明的处理输入数据分组的输入或入口逻辑中,数据分组在服务器5中处理后,将被传输到的输入/输出端口首先被确定,入口逻辑可能因此访问包含地址转换表的存储器1′。其后,在方块7中,一个序列编号“NSpack”被插入到数据分组中。这个序列编号取自包含输出端口地址和一相关的当前或下一个序列编号“NSexp”的记录的列表9,且具体是取自包含被方块1中入口逻辑对该分组确定的输出端口地址的记录。当序列编号“NSpack”在方块7中已经插入数据分组中时,相应的存储在列表9中的当前或期望的序列编号“NSexp”被增加到自己的下一个跟随值,即通常加1(当然其它的编号序列可以被采用)且进而在数据分组中,一个特殊的标志“R”,被置为一合适的值,它将在后面更详细地描述。以这种方法修改的标识为2″的数据分组,通过一个交换和分配电路11被传输,它被作为“分散逻辑”设计并安排来分配和转发数据分组至当前时刻有低利用率的服务器5。
无论如何,可能出现数据分组的目的地址在列表9中未找到的情况,则相应于一合适的开始值“NSstart”的序列编号“NSpack”被插入或增加到数据分组中。进而,在此情况下,一个新的记录被插入列表9中,此新的记录包含一个数据分组将被传输到的输出端口的地址和一个当前序列编号“NSexp”,典型地等于“NSstart+1”,也被插入,它指示将被给予在第一个数据分组后可能抵达的并具有如所讨论的数据分组相同的输出地址的下一个数据分组。在此情况下,数据分组中的标志“R”也被置为不同于数据分组被传输到的输出端口地址在列表9中被找到的情况下的另一个值。如果具有有限尺寸的列表9满,具有最长未活动时间周期,即当前时间与一个具有此记录指示的目的的数据分组最新抵达所考虑的输入/输出端口的时间差最大,的记录被移去。
按照介绍的讨论,无论如何,具有合适的维数的列表9满的情况,正常时将绝对不会发生,因为“太旧的”记录通过一特殊的规程被从列表中不断地移去。
为了从列表9中移去太久时间周期内未被使用的记录,这等价于下列事实:在这些记录中的序列编号,已经在当前时间之前的一预定义时间周期内未被增加,或用上述相同的方式所说的那些,具有当前时间与具有此目的地址的一数据分组最新抵达所考虑的输入/输出端口的时间间有足够大的时间差,或在一预定义时间周期内没有与这些记录中相同的目的地址的数据分组已经到达,提供了一个时间逻辑电路13。它连续检查列表9,且对于这一检查操作列表9中每个记录的另一个域被用于指示此记录中的最新活动时间,即当一个具有记录中指示的目的地址的分组最新抵达的时间。当处理一个抵达的分组时,列表9的记录中的时间指示,可以在存储的期望序列编号被增加的同时由序列标志逻辑输入。
在输入/输出端口3中解释的输出逻辑接收在网络中传输的数据分组,且具体地分组被执行一接收的数据分组重排序的方块15接收,因此它们将从网络和端口以必要的和可获得的正确序列次序被转发,因此重排序的逻辑块15访问存储着先前已太早到达的数据分组和包含被传输到此输入/输出端口的数据分组的当前源地址和相应的当前或期望的下一个序列编号“NRexp”的列表19的缓存存储器17。一个时间逻辑电路21以网络输入端口中用于处理列表9的时间逻辑电路13相同的方式,从这一列表中移去足够长时间周期未用的记录,所以从列表19中移去在一足够长时间周期内,当前序列编号“NRexp”未被增加的记录这等价于没有数据分组从记录中指示的网络中的源抵达此输入/输出端口。重排序逻辑17也剥去在序列标志逻辑7中增加到分组中的信息,参见在4″标识的分组,具体地是加入的序列编号“NSpack”和用于分组传输的内部输入和/或输出地址。分组从重排序逻辑17被传输到方框3中所指明的输出或出口逻辑,以从处理网络被转发。在此,借助存储在存储器3′中的表格可能执行某些地址转换。
在图2a中,一输入数据分组的格式被概要地用二进制序列形式解释,未详细给出。在经一输入/输出端口的各部分处理之后,具体地是在图1中解释的输入或入口逻辑中,给数据分组提供一个在网络内使用的,用图。2b解释的内部分组头23,分组头23包括一个标志“R”域和另一个数据分组序列编号“NSpack”域。在此情况,假设数据分组的源和目的在开始时没有被在数据分组中被显式地指出。在输入/输出端口1中,进而在内部分组头23中的各个域内给数据分组提供一用于网络内部的源和目的的特殊地址。
如图3a所解释的,数据分组中还可能有其抵达处理网络且其通过网络传输前,涉及一外部目的地的信息,即一个接收器的地址,例如它未被包括到图1所示的网络中。进而,在原始的数据分组中的一特定的域中,也可能有以一外部或外部源的地址的形式的,关于数据分组源发送器的信息。通过输入/输出端口1中的输入逻辑,分组头23被加入到数据分组中,如图3b所解释的,用参考图。2b所描述的相同方法完成。
为了从网络以一个正确次序转发不同分组的,输出逻辑在每个分组中有必要具有指示分组从何而来的信息,即一个指示分组源的域,它可能是网络内分组的源,即分组抵达网络的输入/输出端口的地址,该信息即可在以抵达网络时插入到头中的显式域中包含,如图2b,或以某些其它的在其它域中显式或隐含的方式,例如,在源数据分组自身之内,如图3a中解释的分组。
下面的第二种情况,例如按照图3a,此处假设源地址和目的地址两者都可以从分组本身获得。
无论如何,向上面指出的,这是不可能的,但是对于在输出逻辑中的处理,只要求涉及数据分组源的信息,它可以是网络外面的一个站的地址或一个数据分组抵达的在图1中解释的处理网络的输入/输出端口的指示。
在图4中,解释了由图1中方块1中输入逻辑建立的列表9的结构。在列表9中有许多记录,且按照前述的内容,记录的数目却是有限的,在实际情况中,记录的数量甚至被限制到一个这样小的数量(如16)。这样小的一个数量的记录可以被标志逻辑电路7快速地搜索,它在每个数据分组的头23中的其它内容之中插入序列编号“NSpack”。这样列表9包括具有指示一被接收数据分组的一源地址和一目的地址的域的记录,对于这个源地址和目的地址的组合,下一个序列编号“NSexp”将被分配到一新的数据分组,如果这样一个分组将抵达输入/输出端口,并具有此记录中指示的源地址和目的地址的话。进而,在列表和每个记录中,也有指示数据分组最新抵达具有记录中指定的源地址和目的地址的输入/输出端口的时间的时间指示,即下一个期望的序列编号“NSexp”域被改变的最新时间。在此列表中,源地址域不是完全必要的,它可以被忽略,每个记录的源地址则可以被诸如所考虑的输入/输出端口自己的地址所替换。
在图5中,解释了相应的列表19,它由一输入/输出端口的重排序逻辑15建立,像介绍性讨论中所解释的,该列表必须包含一较输入/输出端口中输入逻辑所使用的列表更大数量的记录,此处每个记录也包含含有一源地址和一目的地址的域,然后一个将可能抵达此被转发的输入/输出端口,并具有所考虑的记录中所指定的源地址和目的地址组合的数据分组将具有的,下一个期望的序列编号“NRexp”的域。进而,存在一个状态指示器域,它指示是否有一个或多个被存储或缓存的,具有此记录中所指定的相同源地址和目的地址的数据分组,这样一个被存储的分组必须具有一个自己的比记录中所指定的源地址和目的地址组合的,下一个期望的序列编号“NRexp”大的序列编号NSpack″,因为否则它已经从网络被转发,进而还有一个可以包含指向第一个被存储的,具有此源地址和目的地址的数据分组的存储器的一个指针或一个地址域,进而像图4中,有一个时间指示域,此处一个指示具有该源地址和目的地址的数据分组的最后一个活动的时间,即具有此记录中所指定的,源地址和目的地址的一数据分组最后被接收并从此输入/输出端口在网络上被转发的时间。此处,包含目的地址的域可以被省去,在这样的情况下,它可为被网络中所讨论的输入/输出端口的地址逻辑地替换,它是一个对所有的在网络中传输后抵达此输入/输出端口的数据分组的固定地址。
在图6中,说明了一个流程图,在一个数据分组抵达网络时,它由逻辑电路执行,具体是在数据分组头23中插入一序列编号“NSpack”的逻辑块7执行。规程在开始块601中开始,并在块603中重置列表,即它的所有记录被移去或设置等于0,列表是图1中9处指示的类型,并在图4中详细解释。然后,在块605中,它等待一个数据分组从外部抵达此输入/输出端口。当这样一个数据分组抵达时,在块607中,数据分组的源地址和目的地址被确定,例如从分组自身内部的域中提取,随后在块609中,列表9被搜索以判定此源地址和目的地址组合是否已经被写入列表9中的一个记录。如前面所见,步骤607和609可以用只确定网络中的目的地址并随后判定此目的地址是否确实在以相应的方式配置的一列表中被找到的方法替换。
如果在块609中判定,此组合存在于列表中的一个记录里,在块611中,一个具有值0的重起动标志“R”被插入到数据分组的分组头23中,在数据分组抵达网络时,此处的分组头被插入或增加到数据分组中。随后一个序列编号“NSpack”被插入,它被置为等于当前或期望的序列编号“NSexp”,它取自列表9中找到的记录。进而,在块611中,指示当前序列编号的计数器“NSexp”步进到自己的下一个值,即它通常被增加1。此后,在块613中,一个时间指示值被插入到列表9,因此当前时间被插入到列表中所讨论记录中的相应域中。随后被开关11控制的数据分组,见图1,可以被发送到一合适的服务器5,最好是此刻具有最低负载的服务器。然后输入逻辑继续到框605,等待从网络外部到达的一个新数据分组。
如果在块609中判定数据分组的源地址和目的地址组合未在列表9中找到,那么则在块615中检查是否在列表中有空间插入此处的另一个源地址和目的地址组合。如果判定是此情况,在块617中,数据分组的分组头23中的数据分组的序列编号“NSpack”被置为序列编号的开始值,即通常等于0,且进而指示序列编号重起动的等于1的序列编号重起动标志“R”被插入。对此数据分组有效的新的源地址和目的地址组合被插入到列表9中,且列表中当前序列编号“NSexp”被置为相应于序列编号的开始值“NSstart”后的值,即例如置为1。随后如上面块613所执行的。
如果在块615中判定整个列表9满,即没有空间给另一个源地址和目的地址组合,在块619中,对列表9中的不同记录检查时间指示,然后最早活动时间的,即最旧的未更新记录被移去,其后,如上执行块617。
与图6中解释并行或可能包含在其中,进行检查,列表9中的记录不会太旧,该过程在图7中解释,此处在块701中,对于每个源地址和目的地址组合,相应的末次活动的时间指示被检查,如果当前时间与此时间指示的时间差太大,即大于某预定义值,在块703中一个记录被移去,然后过程返回到块701,以重新继续检查记录的年龄。
在图8中,输出和出口逻辑的主过程以状态机的形式表示,特别用图1中的块15来解释,此处对于被逻辑处理的每个数据分组有三个有效的状态,它对于存储的或缓存的分组,当一个数据分组被输入/输出端口接收,以从网络转发或缓存时,状态用一个源地址和目的地址的组合是否被存储在列表19中及是否有一个这样的组合的分组被缓存的条件来刻划其特征,第一个状态801被一源地址和目的地址组合设立,SA/DA,它没有在列表9中被找到,该组合被设计为未用。第二个状态803是源地址和目的地址组合出现在列表19中,且缓存器17中没有被存储的数据分组,该状态被设计为源地址和目的地址的组合,SA/DA,是激活的且分组顺序抵达。例如,在到目前为止,已经到达的所有具有此源地址和目的地址组合的数据分组均以正确的序列次序抵达的情况下才发生此种情况。进而有指示对于一个源地址和目的地址组合在缓存器17中存在被存储的数据分组的第三个状态805,它们正等待着被转发,并必须执行重排序。此状态指示着SA/DA组合是激活的,且必须要执行重排序。
图8中解释的状态变化条件总结如下:
T1:从第一个状态801到第二个状态803的转变。
如果一个收到的数据分组的标志“R”置为1,则该数据分组是一新的序列编号序列中的第一个且将直接从网络和所考虑的输入/输出端口被转发的分组。然后列表19中此源地址和目的地址组合的当前序列编号“NRexp”被置为,紧随收到的和被转发的数据分组的序列编号“NSpack”后的值,即通常相应于表达式“NSpack+1”,它典型地等于1。
T2:从第二个状态803到第一个状态801的转变。
列表19中一个记录的末次活动的时间指示已经太旧,且此用其SA/DA组合描述的记录被从列表19中移去。
T3:从第一个状态801到第三个状态805的转变。
一个收到的数据分组具有列表19中未出现的一个源地址和目的地址组合,且进而,标志“R”被置为0。然后此源地址和目的地址组合被插入到列表19中且数据分组被存贮到缓存器17中。
T4:第二个状态803内的转变。
一个收到的数据分组其标志“R”被置为0,并以正确的序列次序到达。然后数据分组被直接从网络转发,且收到的数据分组的SA/DA组合的当前序列编号“NRexp”以一步长被增加,通常为加1。
T5:从第二个状态803到第三个状态805的转变。
收到的数据分组的标志“R”被置为0,但是其序列编号“NSpack”在列表19中此分组的源地址和目的地址组合的当前序列编号“NRexp”之后。然后数据分组被存贮在缓存器17中,且也被提供一个等于当前时间的时间指示。
T6:第二个状态803内的转变。
一个收到的数据分组具有列表19中被存储的此数据分组的源地址和目的地址组合的当前序列编号之前的一个序列编号“NSpack”。此数据分组明显地过晚到达且已经被跳过,并因此能被丢弃。
T7:第三个状态805内的转变。
此处一个被接收的数据分组的标志“R”被置为0,且它自己的序列编号“NSpack”等于列表19中对此数据分组的源地址和目的地址组合存储的当前序列编号“NRexp”。然后,此数据分组可以被直接转发,因为它以正确的序列次序抵达。进而,存贮在缓存器17中的第一个数据分组,对于其序列次序的检查可以作为一个新的数据分组对待并可能从网络转发。
T8:从第三个状态805到第二个状态803的转变。
一个收到的数据分组的标志“R”被置为0,且其序列编号“NSpack”等于列表19中该数据分组的源地址和目的地址组合的被存储的当前序列编号“NRexp”。进而,缓存器17中存贮的具有此源地址和目的地址组合的数据分组,具有等于紧随当前序列编号“NRexp”之后的值。然后鉴于对于此源地址和目的地址组合不再有任何存储在缓存器17中的数据分组,这两个数据分组都可以被转发。列表19中相应的指示器,见图5,随后可以被改变,例如复位。进而,当前序列编号“NRexp”增加两个步长,即通常为2。
T9:第三个状态805内的转变。
一个收到的数据分组的标志“R”被置为0,且进而其序列编号“NSpack”大于存储在列表中的该数据分组的源地址和目的地址组合的当前序列编号“NRexp”此数据分组没有正确的序列次序并因此被存贮在缓存器17中。如果数据分组已经被存储在缓存器中,新的数据分组以相对于已经存储的分组或分组们的正确的序列次序被存贮。进而,连同此分组一起,一个指示当前时间的时间指示被存贮。
T10:第三个状态805内的转变。
一个收到的数据分组的标志“R”被置为1,且进而在缓存器17中存在更多对应于抵达的数据分组的源地址和目的地址组合的数据分组,标志的值指示了一个序列编号的重起动,并且因此数据分组可以直接从网络被转发,而存储在缓存器中的分组可以被丢弃,且状态指示器,见图5,被设置为指示没有分组被存贮的值。
T11:从第三个状态805到第二个状态803的转变。
对于一定的源地址和目的地址组合,一个单一的数据分组被存贮在缓存器17中。进而,对于此数据分组,时间周期已经逝去,即当前时间与连同数据分组被存贮在缓存器17中的时间指示之间的时间差太大了,即超过了一预定义值。然后,此数据分组被转发,且该源地址和目的地址组合的当前序列编号“NRexp”被置为紧随刚被转发的数据分组的序列编号“NSpack”之后的值,即通常等于“NSpack+1”。然后对于此源地址和目的地址组合,不再有一个被存储在缓存器17中的数据分组。
T12:从第三个状态805到第二个状态803间的转变。
对于一定的源地址和目的地址组合,几个数据分组被存贮在缓存器17中。进而第一个被存储的数据分组一起太旧了,即当前时间与连同数据分组被存储在缓存器中的时间之间的差超过了一预定义值。然后,这个最旧的数据分组被转发,且列表19中此源地址和目的地址组合的当前序列编号“NRexp”被置为紧随被转发的数据分组的序列编号“NSpack”之后的值,即通常等于“NSpack+1”。其后,在缓存器17中此源地址和目的地址组合的下一个数据分组被作为一新被接收的数据分组处理。
图8中展示的状态机也以图9-12中的相应流程图来解释。此处,图9展示了一个第一个过程,而图10和11更详细地解释了两个子过程,图12和图7解释了与图9过程并行执行的过程,它可能被合并到这个过程中。
在图9中,在输入/输出端口3中的输出逻辑中执行的主要过程以在开始块901中启动的流程图的形式被解释,其后,在块903中列表9被重置,即其中的所有记录被擦除,然后在块905中等待接收一个通过网络被传输的新的数据分组,当这样一个数据分组抵达时,以某种方式对收到的数据分组确定源地址和目的地址,然后在块909中检查此源地址和目的地址组合是否已经存储在列表19中。在最简单的情况下,块907和909可以被如下方法替换,即只确定收到的数据分组在网络中的源地址,且列表19只包括随后被搜索的等同于收到的分组的源地址的不同的激活源地址,如果在块909中判定,此源地址和目的地址组合存贮在列表中,在列表19中包含此源地址和目的地址组合的记录中,涉及当前时间的信息被插入末次活动的域中。
然后在块913中确定收到的数据分组是否其标志“R”被置为1,如果判定不是这种情况,即无序列编号的重起动对此数据分组有效,或此分组有一个新的序列中的首个序列编号,它在块915中被测试是否收到的数据分组以正确的序列次序抵达,这样,数据分组的序列编号“NSpack”被测试,且如果此编号小于存储在列表19中的此源地址和目的地址组合的当前序列编号“NRexp”,则数据分组以某种方式抵达过晚,并因此在块917中可被丢弃。然后,过程继续到块905,以等待接收通过网络被传输的一个新的数据分组。
如果在块915中判定数据分组的序列编号“NSpack”符合此源地址和目的地址组合的当前序列编号“NRexp”,则数据分组以正确的序列次序抵达,并因此可以在块919中被转发。然后,当前序列编号“NRexp”被增加到其后继值,即它通常被设置为“NRexp+1”和“NSexp+1”,进而,在块920中,执行一个从缓存器17转发的过程,如果其中有被存贮的,在被转发的数据分组后顺序到达的数据分组的话。这个过程在图11中以流程图的方式详细解释,然后,过程继续到块905,以等待接收一个新的通过网络传输的数据分组。
如果在块915中,最终判定收到的数据分组的序列编号“NSpack”大于存贮的此数据分组的源地址和目的地址组合的当前序列编号“NRexp”,数据分组被存储到缓存器17中,它被表示在块921中,相应的过程在图10中用流程图详细解释,然后,过程继续到块905以等待一个新的,通过网络传输的数据分组的抵达。
如果在块913中判定,收到的数据分组的标志“R”被置为1,即执行了序列编号重起动,某些差错已经发生,且随后在块923中,所有存贮在缓存器17中的,具有此源地址和目的地址组合的数据分组被丢弃,然后,接收的数据分组被转发,且当前序列编号“NRexp”被置为等于相应于收到的数据分组的序列编号“NSpac”之后到来的序列编号的序列编号,在此之后,过程重新继续到块905,以等待接收一个新的抵达数据分组。
如果在块909中判定,在收到的数据分组中的源地址和目的地址组合已经不在列表19中,在块925中,该新的源地址和目的地址组合被插入列表19中。在列表19中,当前时间被存储到此源地址和目的地址组合的末次活动域中,然后在块927中测试收到的数据分组的标志“R”是否等于1。如果为真,在块929中,数据分组可以被转发,且列表19中此源地址和目的地址组合的当前序列编号“NRexp”被置为紧随收到的数据分组的序列编号“NSpack”之后的一个值,即通常为“NSpack+1”,然后,在块905中过程继续等待接收一个新的数据分组。
如果在块927中判定收到的数据分组的标志“R”未被置为1,此分组必然属于一个新的序列编号序列,它的第一个数据分组尚未被接收,然后,在块931中,收到的数据分组被存贮在缓存器17中,列表19中相应的指示器和指针被设置。然后,在块905中过程重新继续以等待接收一个新的数据分组。
在图10中,解释了图9中流程图中块929中执行的过程的一个流程图,此处,在块1001中,测试是否有任何如收到的数据所给出的源地址和目的地址组合的数据分组已经被存贮在缓存器中,如果判定没有,则在块1003中,列表19中的指示器指示至少一个被存储在缓存器中的数据分组被改变,数据分组被存储在缓存器17中,且一个指针被插入包含一此数据分组地址的列表19中。进而,在块1005中,一个关联被存贮数据分组的当前时间的指示被插入,然后,过程终止,如果在块1001中判定,此源地址和目的地址组合的数据分组已经被存储在缓存器中,在块1007中,数据分组以相对于已经存贮在缓存器17中的数据分组的正确序列次序被存贮。然后,过程同上继续到块1005,以为刚才存贮的数据分组插入一个时间指示。
在图11中,详细解释了图9中流程图里的块920的过程的一个流程图。因此,在块1101中检查是否任何具有所考虑的源地址和目的地址组合的数据分组已经被存贮到缓存器中。通过检查列表19中的相应的状态指示器进行,如果无任何数据分组被存储,显然过程可以被终止。如果反之,一个数据分组被存贮在缓存器中,在块1103中,得到缓存器17中第一个被存储的数据分组的序列编号“NSpack”。然后,在块105中检查此数据分组的序列编号“NSpack”是否符合当前序列编号“NRpack”。如果不符合,过程停止。如果符合,则在块1107中,数据分组可以被直接转发且随后当前序列编号“NEexp”增加一个步长,即通常加1,之后,在块1109中判定是否有更多的此源地址和目的地址组合的数据分组被存贮在缓存器17中,如果无更多的数据分组被存贮,在块1111中,列表19里的相应指示器被变更为指示没有缓存的此源地址和目的地址组合的数据分组,然后过程重新停止,如果在块1109中判定,缓存器17中存贮着更多的此源地址和目的地址组合的数据分组,在块1113中,列表19里的指针被改变,因此指针将指向具有相同源地址和目的地址组合的下一个数据分组,然后,过程继续到块1103和1105,以将列表中第一数据分组的“NSpack”和当前序列号“NRexp”相比较。
与图9中解释的过程平行,执行该过程以监视列表19中没有太旧的记录。此过程同于在图7中解释并在上面已经被描述的输入逻辑中对列表9有效的过程。但是所使用的是另一个预定义的时间周期。同时,还运行一个过程用于检查有没有太旧的数据分组存贮在缓存器17中。相应的过程用图12的流图解释,此处在块1201中检查,对于某些源地址和目的地址组合,是否有存储在缓存器17中的第一个数据分组的时间指示变得太旧,即当前时间和数据分组的时间指示之间的时间差大于一预定义的值,如果对于一个数据分组是这种情况,在块1203中转发此数据分组,且进而,此数据分组的源地址和目的地址组合的当前序列编号“NRexp”被改变,并置为等于紧随被转发的数据分组的序列编号“NSpack”之后的值,它通常是其序列编号“NSpack”加1。
Claims (30)
1.在从输入端口到输出端口的数据分组传输需要不同时间周期,且每个数据分组可能与一个源地址和/或目的地址相关联的网络中,用于在输入端口和输出端口之间传输数据分组的方法,其特征在于
-在抵达输入端口时,一个序列编号被插入到或增加到数据分组中,该序列编号指示此
数据分组的序列位置,
-在输出端口,被传输到输出端口的数据分组的序列编号被用于从该输出端口以一正确的序列次序转发数据分组,
-在一输入端口和/或一输出端口中,建立一个列表,它包括包含与数据分组相关的不同地址的记录,且每一记录中有关于抵达相应的输入端口或输出端口且与同一地址相关的下一个数据分组的当前序列编号。
-这样的列表被限制或约束,以使其在能允许被传输到输出端口的数据分组重排序的条件下尽量短,且列表包含只与分别被输入端口或输出端口相应接收的最新数据分组相关联的地址,
--通过约束列表到一个少量的地址和/或
--通过从列表中移去一个包含一地址和一相关的当前序列编号的记录,每当在一预定义的时间周期内,没有数据分组抵达分别与此地址相关的输入端口或输出端口。
2.按照权利要求1的方法,其中,每个数据分组与一源地址和一目的地址相关,其特征在于
-被插入或增加到到达输入端口的数据分组中的序列号,指明该分组相对于其它已到达此输入端口的分组的序列位置,且它和已到达的分组一样,与同一源地址和目的地址的组合有关。
-在输入端口中,建立一个列表,它包括一个由包含与抵达此输入端口的数据分组相关联的源地址和目的地址的不同组合的记录,且对于每个组合,一个当前序列编号被插入到或增加到与相同的源地址和目的地址组合相关联的下一个数据分组中,如果或有这样一个分组抵达此输入端口时,
-列表被约束为少数或少量的包含源地址和目的地址组合的记录,在每一时刻它代表那些与最新抵达输入端口的数据分组相关联的源地址和目的地址的组合,
-在输出端口,被传输的数据分组的序列编号被用于以只与被转发数据分组相关联的每个源地址和目的地址组合有关的正确序列次序转发数据分组。
3.按照权利要求2的方法,其特征在于,每当一预定义的时间周期内,没有数据分组抵达与此记录中指示的源地址和目的地址组合相关的输入端口的时候,就从输入端口中的列表中移去一个与当前序列编号关联的源地址和目的地址组合的记录。
4.按照权利要求2-3之一的方法,其特征在于,在网络的输入端口中的列表里,以及在每个包含源地址和目的地址组合的记录中,插入一条有关最新抵达的一数据分组到达与此记录中指示的源地址和目的地址组合相关的输入端口的时间的信息。
5.按照权利要求1-4之一的方法,其中每个数据分组与一个源地址和一个目的地址相关联,其特征在于
-在抵达一输入端口时,被插入或增加到数据分组中的序列号指示该分组在已到达该输入端口的数据分组间的序列位置,且它和已到达的数据分组具有相同的源地址和目的地址的组合。
-在输入端口中,建立一个列表,由包含与抵达此输入端口的数据分组相关联的源地址和目的地址不同组合的记录,且在每个这样的记录中一个当前序列编号被插入或增加到与相同的源地址和目的地址组合相关的下一个数据分组中,如果当有这样一个分组抵达此输入端口的话,
-每当一预定的时间周期内,设有数据分组抵达与此记录中指示的源地址和目的地址组合相关的输入端口的话,从输入端口的列表中移去一个包含源地址和目的地址组合及当前序列编号的记录。
-在一输出端口,被传输到此输出端口的数据分组的序列编号被用于从该输出端口,以只与每个与被转发的数据分组相关联的源地址和目的地址组合有关的正确序列次序转发数据分组。
6.按照权利要求5的方法,其特征在于,在网络的输入端口的列表中,在每一个包含源地址和目的地址组合的记录中,涉及一数据分组最新抵达与此记录中指示的源地址和目的地址组合相关联的输入端口的时间的信息也被插入。
7.按照权利要求1-6之一的方法,其中每个数据分组与一个源地址和一个目的地址相关联,其特征在于
-在抵达一个输入端口时,被插入或增加到数据分组中的序列编号指示该数据分组在已抵达此输入端口的数据分组间的序列位置,且与已到达的数据分组和同一源地址和目的地址的组合相关联。
-在输出端口,被传输到此输出端口的数据分组的序列编号被用于从此输出端口,以只与与被转发的数据分组相关联的每个源地址和目的地址组合有关的正确序列次序转发数据分组,
-为了获得此,在网络的输出端口中,建立一个列表,由包含与被传输到此输出端口的数据分组相关联的源地址和目的地址不同组合的记录组成,且在这样的记录中,将在与此记录中指示的相同源地址和目的地址组合相关联的,将从此输出端口被转发的下一个数据分组中找到的当前序列编号,
-每当一预定义的时间周期内,没有数据分组被传输到与记录中指示的源地址和目的地址组合相关联的输出端口的话,从输出端口的列表中,包含源地址和目的地址组合和当前序列编号的记录被移去。
8.按照权利要求1和7之一的方法,其特征在于,当数据分组已经在网络中被传输到一个输出端口时,该数据分组具有一个跟随在当前序列号之后的序列号,包括包含与数据分组关联的源地址和目的地址组合的记录中找到的,数据分组被存贮,以在以后从输出端口被转发。
9.按照权利要求8的方法,其特征在于,在具有跟随当前序列编号的一序列编号的数据分组被存储的同时,有关此数据分组在输出端口被接收的时间的信息被存储。
10.按照权利要求8-9的方法,其特征在于,每当在至少一个预定义时间周期期间,一个数据分组已经被存储时,数据分组从该输出端口被转发。
11.按照权利要求10的方法,其特征在于,当被存储的数据分组从一输出端口被转发时,在列表中包含此数据分组关联的源地址和目的地址组合的记录里找到的当前序列编号,被置为等于被转发的数据分组的序列编号之后的下一个序列编号。
12.按照权利要求1的方法,其中输入端口和输出端口具有网络中的地址,其特征在于
-在数据分组抵达一输入端口时
--一个输出端口被确定,数据分组将被传输至此端口,且
--此输入端口的地址被插入或增加到数据分组中,且指示该数据分组在已到达或将到达此输入端口,并被确定要被传输到与已到达的数据分组相同的输出端口的数据分组中的序列位置,
-在输入端口中建立一个列表,由每个包含不同输出端口地址的记录组成已经确定已抵达此输入端口的数据分组将被传输到的输出端口,且对于每个这样的地址,一个当前序列编号将被插入或增加到被确定传输到此输出端口的下一个数据分组中,如果和当有这样一个分组抵达此输入端口时,
-列表被约束为少数或少量的包含地址的记录,它在每个时刻代表那些为最新抵达此输入端口的数据分组已经确定的输出端口的地址,
-在一输出端口处,被传输到输出端口的数据分组的序列编号被用于,以只与其地址已经被插入或增加到输入端口中一被转发的数据分组中输入端口的每个地址有关的正确序列次序转发数据分组。
13.按照权利要求5的方法,其特征在于,每当一预定义时间周期内,没有数据分组已经抵达已经被确定将要传输到此记录中包含其地址的输出端口的输入端口时,从输入端口的列表中移去一个包含一输出端口的一个地址和一个当前序列编号的记录。
14.按照权利要求12-13之一的方法,其特征在于,在列表中包含一输出端口地址的每个记录中,一个有关数据分组最新抵达已经确定其要传输到此记录中指示的输出端口的输入端口的时间的,当前序列编号信息被插入.
15.按照权利要求1或12-14之一的方法,其中输入和输出端口具有网络中的地址,其特征在于
-在一数据分组抵达一输入端口时
--数据分组将被传输到的输出端口被确定,且
--此输入端口的地址被插入或增加到数据分组中,且指示该分组在已到达此输入端口,并被确定或将被确定被传输到和已到达的数据分组相同的输出端口的数据分组中的序列位置的序列编号也被插入。
-在输入端口中建立一个列表,由每个记录包含一个已经确定抵达输入端口的数据分组将要被传输到的不同输出端口的地址的记录组成,且在每个这样的记录中,一个当前序列编号被插入或增加到将被确定传输到此输出端口的下一个数据分组中,如果和当有这样一个分组将到达此输入端口的时,
-每当一个预定义的时间周期内,没有数据分组抵达被确定将被传输到此记录所示的输出端口时,从输入端口的列表中,移去一个包含一输出端口的地址和当前序列编号的记录。
-在输出端口处,从输出端口传输的数据分组的序列编号被用于,以只与在该输入端口中被插入或增加到一被转发的数据分组中的一输入端口的每个地址有关的正确序列次序转发数据分组。
16.按照权利要求15的方法,其特征在于,在输入端口的列表中包含一输出端口的一个地址和一个当前序列编号的记录中,插入一有关一数据分组最新抵达被确定要传输到此记录中指示的输出端口的输入端口的时间的信息。
17.按照权利要求1或12-16之一的方法,其中输入端口和输出端口具有网络中的地址,其特征在于
-在数据分组抵达一输入端口时
--一个数据分组将被传输到的输出端口被确定,且
--该输入端口的地址被插入或增加到数据分组中,且序列编号指示该分组在已经或将要抵达这个输入端口,并已经或将要被确定被传输到与已经抵达的数据分组有相同的输出端口的数据分组间的序列位置,
-在输出端口中,被传输到输出端口的数据分组的序列编号,被用于从输出端口,以只与输入端口中已经插入或增加到被转发的数据分组中的一输入端口的每个地址有关的正确序列次序转发数据分组,
-输出端口中,建立一个由每个记录包含已经被插入或增加到将被传输到输出端口的数据分组中的不同输入端口的一个地址的记录组成的列表,而在每个记录中有一个将在下一数据分组中出现的当前序列编号,其中已经被插入了输入端口的同一地址,且其中被增加了在该记录中被指示的相同地址,以及该数据分组将被从输出端口转发,
-每当一预定义的时间周期没有数据分组已经被传输到分组中包含该记录中所指示的输入端口地址的输出端口时,从输出端口的列表中,一个包含一输入端口地址和一当前序列编号的记录被移去
18.一个用于在网络输入端口和输出端口间传输数据分组的网络,其中从输入端口到输出端口的一数据分组传输可以需要不同长度的时间周期,且每个数据分组可以被与一个源地址和/或一目的地址相关,其特征在于
-在一数据分组抵达一输入端口时,用于将一个指示数据分组的序列位置的序列编号被插入或增加到数据分组中的装置,
-在输出端口中,用于使用到输出端口的数据分组的序列编号以用正确的次序从输出端口转发数据分组的装置,
-在一个输入端口和/或一个输出端口中,用于建立一个由每个记录包含与数据分组相关联的不同地址的记录组成的列表的装置,且在每个记录中,有一个属于与相同地址相关的下一个数据分组的当前序列编号,
-用于建立这样一个列表装置,以这样一种使其尽可能短的方法约束或限制列表,这样它就具有以合理的概率允许被传输到一输出端口的数据分组进行重排序而无数据分组丢失的最短可能长度,并且列表只包含少量的含有与那些分别在输入端口或输出端口中最新被接收的数据分组相关联的地址的记录,
--通过此方法,属于用于建立列表的装置且存储一个列表在其中的存储器装置具有有限尺寸,因此只有少量的包含地址和序列编号的记录可以被存储在其中,和/或
--通过此方法,被包括在用于建立列表的装置中的时间监视装置,被安排成监视列表中每个记录,并每当一预定义的时间周期内,没有与已经抵达与此记录中所指示的地址相关联的数据分组被接收时,从列表中移去诸如包含一地址和当前序列编号的记录.
19.按照权利要求18的网络,其中,每个数据分组与一个源地址和一个目的地址相关,其特征在于
-在数据分组抵达输入端口时,用于向数据分组中插入或增加一个序列编号的装置被安排成使用指示该数据分组在已经到达此输入端口,并与已抵达的数据分组有相同的源地址和目的地址组合相关的数据分组间的序列位置,
-在输入端口中,安排了用于建立一个由每个记录包含与此输入端口处已收到的数据分组的不同源地址和目的地址组合相关的记录组成的列表的装置,且每个记录中,一个当前序列编号被插入和增加到与此记录中指示的源地址和目的地址组合关联的下一个数据分组中,如果和当有这样的一个数据分组抵达此输入端口时,
-在输入端口用于建立一个列表的装置包含存储列表的存储器装置,
-存储器装置具有有限的尺寸,从而列表被约束为有少量的包含不同源地址和目的地址组合的记录,
-用于在输入端口建立一个列表的装置包括时间监视装置,它被安排来监视存储在存储器中的列表的记录,且当存储器满和一个与一新的源地址和目的地址组合的数据分组抵达时,此组合未出现在存储在存储器中的列表里的任何记录中,鉴于存储在存储器装置中的列表包括,在每个时刻包含出现在最新抵达的数据分组中的,不同源地址和目的地址组合的记录,从存储的列表中移去自从任何与包含在此记录中的组合的任合数据分组抵达输入端口以来,最长时间周期逝去的源地址和目的地址组合的记录,
-在输出端口中,使用被传输到输出端口的数据分组序列号,以正确的序列次序从输出端口转发数据分组的装置被安排以只与被转发的数据分组相关联的每个源地址和目的地址组合有关的正确序列次序转发被传输的数据分组。
20.按照权利要求19的网络,其特征在于,包括在用于在输入端口中建立列表的装置中的时间监视装置也被安排,每当一预定义的时间周期内没有数据分组抵达与此记录中指示的源地址和目的地址组合相关联的输入端口时,从列表中移去一个包含一源地址和目的地址组合和一当前序列编号的记录,
21.按照权利要求19-20之一的网络,其特征在于,用于在输入端口中建立列表的装置被安排成,对于存储在存储器装置中列表的每个包含着一源地址和目的地址组合的记录亦插入一有关数据分组最新抵达与此记录中指示的源地址和目的地址组合相关联的输入端口的时间的信息。
22.按照权利要求18-21之一的网络,其中每个数据分组与一个源地址和一个目的地址相关,其特征在于
-在数据分组抵达输入端口时,用于将一个序列编号插入或增加到数据分组中的装置,使用序列编号指示该数据分组在已经到达此输入端口,并与和已抵达的数据分组相同的源地址和目的地址组合相关的数据分组中的序列位置,
-提供了一种装置,包括在输入端口中建立并在存储器装置中存储一个列表的存储器装置,该列表包括每个记录中包括与抵达输入端口的数据分组相关联的不同源地址和目的地址组合的记录,且在每个记录中,如果和当这样一个数据分组抵达此输入端口时,一个当前序列编号被插入或增加到与此记录中指示的源地址和目的地址组合相关的下一个数据分组中,
-用于建立列表的装置中包括时间监视装置,它监视存储在记录列表中的包含源地址和目的地址组合和当前序列编号的记录,每当一预定义的时间周期内,没有数据分组抵达与此记录中所指示的源地址和目的地址组合关联的输入端口时,从存储在存储器中的列表里移去一个包含源地址和目的地址组合和当前序列编号的记录,
-在输出端口,为了使用被传输到输出端口的数据分组的序列编号,以正确的序列次序转发数据分组而安排了这样的装置,从输出端口以只与被转发的数据分组的每个源地址和目的地址组合有关的正确序列次序转发数据分组。
23.按照权利要求22的网络,其特征在于,用于在网络的输入端口中建立一个列表的装置被安排成对于列表中每个包含源地址和目的地址组合的记录,还在存储器中插入和存储有关数据分组最新抵达与此记录中指示的源地址和目的地址组合相关的输入端口的时间的信息。
24.按照权利要求18-23之一的网络,其中每个数据分组与一个源地址和一个目的地址相关,其特征在于
-在抵达输入端口时,在输入端口处插入或增加一个序列编号到数据分组的装置被安排成,使用一个指示该数据分组在已经抵达此输入端口并与已到达的数据分组相同的源地址和目的地址组合相关的数据分组中的序列位置的序列编号,
-在输出端口中,使用被传输到输出端口的数据分组的序列编号,以正确的序列次序从输出端口转发数据分组的装置被安排成从输出端口以只与被转发的数据分组相关联的每个源地址和目的地址组合有关的正确序列次序转发数据分组,
-包括存储器装置的装置被安排成,在网络输出端口中在这些存储器中建立和存储一个由每个记录包含与被传输到输出端口的数据分组的不同源地址和目的地址组合相关的记录组成的列表,且在每一个记录中,也有一个将在下一数据分组中找到的当前序列号,该分组与包括在这一存贮记录中的相同源地址和目的地址组合相关,并将从输出端口被转发,
-用于在输出端口中建立一个列表的装置中包含时间监视装置,被安排监视存储在输出端中存储器里的记录,并在每当一预定义的时间周期内,没有数据分组已经被传输到与此记录中指示的源地址和目的地址组合相关的输出端口时,移去一个包含源地址和目的地址组合和当前序列编号的记录。
25.按照权利要求18的网络,其中输入端口和输出端口具有网络中的地址,其特征在于
-在数据分组抵达输入端口时,在网络的输入端口中,确定数据分组将被传输到的输出端口的装置,
-在数据分组到达时,在输入端口中,向此数据分组中插入或增加该输入端口的地址的装置,
-在数据分组抵达时,在输入端口中向此数据分组中插入或增加一个序列号,以指示该分组在已抵达这个输入端口,已经或将要确定它们将被传输到与已抵达的数据分组所确定的相同的输出端口的数据分组间的序列位置,
-包括存储器装置的装置,被用于在存储器装置中建立并存储一个列表,它由每个记录包含输出端口的不同地址的记录组成,已经确定抵达此输入端口的数据分组将被传输至此输出端口,且在列表中每个记录里一个当前序列编号将被插入或增加到将被确定将被传输到此输出端口的下一个数据分组中,如果这样一个数据分组抵达此输入端口时,
-存储器装置具有有限的尺寸,因此存贮在其中的列表被约束到有少量的包含不同输出端口的地址的记录,
-在输出端口中,用于使用被传输到输出端口的数据分组的序列编号以正确的序列次序转发数据分组的装置被安排从输出端口以只与被转发的数据分组到达网络的输入端口地址有关的正确序列次序转发数据分组.
26.按照权利要求25的网络,其特征在于,安排时间监视装置,每当一预定义的时间周期内,没有被确定要传输到此记录所指示的输出端口的数据分组抵达了此输入端口时,从存储在网络输入端口的存储器装置中的列表中移去一个包含一输出端口地址和一序列编号的记录
27.按照权利要求25-26之一的网络,其特征在于,用于在网络的输入端口中建立一个列表的装置被安排成,对于每个包含输出端口地址的记录,在存储器装置中插入并存储有关数据分组最新抵达被确定将要被传输到这个输出端口的时间信息。
28.按照权利要求18和25-27之一的网络,其中输入端口和输出端口具有网络中的地址,其特征在于,
-在数据分组抵达输入端口时,在网络的输入端口中确定数据分组将被传输到的输入端口的装置,
-在数据分组抵达输入端口时,在输入端口中用于向数据分组中插入或增加这个输入端口的地址,和指示该数据分组在已经抵达这个输入端口并已确定或将被确定它们将被传输到与已抵达的数据分组所确定的相同的输出端口的数据分组的序列位置的序列编号,
-在输入端口中包括存储器装置的装置,被用于在存储器装置中建立并存储一个列表,该表由每个记录包含对已抵达输入端口的数据分组确定的将被传输到的不同输出端口的地址的记录组成,且在每个记录中,有一个当前序列号,通过插入或增加的方法还将一当前序列编号插入或增加到将被确定要传输到该记录中指示的输出端口的下一个数据分组中,如果当这样一个数据分组将抵达此输入端口时,
-包括在用于建立列表方法中的时间监视装置,被安排监视存储在列表中,包含输出端口地址和当前序列编号的记录,且当存储器满并且一个被确定将要被传输到一输出端口的数据分组已经抵达时,而此地址是新的又未在存储的列表中的任何记录里被找到,从存储的列表中移去包含一输出端口地址的记录,它是这样一个记录,自从已经被确定了输出端口,且符合于包含在这个记录中的输出端口地址的任何数据分组已经抵达此输入端口后,最长的时间周期已经逝去,由此,存贮在存储器中的列表在每个时刻由包含着对于已经最新抵达此输入端口的数据分组被确定的不同输出端口的地址的记录组成,
-在输出端口,用于使用被传输到输出端口的数据分组的序列编号,以正确的序列次序转发数据分组的装置被安排成从输出端口以只与已经被插入或增加到被转发数据分组中的输入端口地址有关的正确序列次序转发数据分组.
29.按照权利要求28的网络,其特征在于,对于每个包含一输出端口地址的记录,在网络输入端口中用于建立一列表的装置也安排成,将有关被确定将要被传输到这个记录中指示的输出端口的数据分组最新抵达输入端口的时间信息插入列表和在存储器中存储的手段。
30.按照权利要求18和25-29之一的网络,其中输入端口和输出端口具有网络中的地址,其特征在于,
-在数据分组抵达输入端口时,在输入端口中确定数据分组将要被传输到的输出端口的装置,
-在数据分组抵达输入端口时,在输入端口中用于向数据分组中插入或增加这个输入端口的地址的装置,
-在数据分组抵达输入端口时,在输入端口中用于向数据分组中插入或增加一个序列编号的装置,被安排成使用序列编号指示该数据分组在已经抵达这个输入端口且已经确定将要被传输到与已到达所数据分组所确定的相同的输出端口的数据分组中的序列次序,
-在输出端口中,用于使用被传输到输出端口的数据分组的序列编号,以正确的序列编号转发数据分组的装置,被安排成从输出端口以只与已经在所到达的输入端口处被插入或增加到被转发的数据分组的输入端口的每个地址有关的正确序列次序转发数据分组,
-在输出端口中,包括存储器装置的装置,用于在这些存储器装置中建立并存储一个由每个记录中包含输入端口不同地址的记录组成的列表,该地址取自被传输到输出端口的数据分组,且在下一分组中将被发现一个当前序列编号,输入端口的相同地址已经被插入该分组中或此记录中指示的相同地址已经被增加到该分组,且将从此输出端口转发这个数据分组,
-包括在在输出端口中用于建立一列表的装置中的时间监视装置被安排成监视存储在输出端口的存储器中的列表里的记录,每当一预定义的时间周期,没有数据分组已经被传输到包含此记录所指示的输入端口地址的输出端口时,从存储的列表中移去一个包含输入端口地址和当前序列编号的记录。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9302060A SE515419C2 (sv) | 1993-06-15 | 1993-06-15 | Förfarande och anordning för resekvensiering |
SE93020600 | 1993-06-15 | ||
SE9302060-0 | 1993-06-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1125499A true CN1125499A (zh) | 1996-06-26 |
CN1086886C CN1086886C (zh) | 2002-06-26 |
Family
ID=20390288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94192461A Expired - Lifetime CN1086886C (zh) | 1993-06-15 | 1994-06-14 | 重排序方法和设备 |
Country Status (14)
Country | Link |
---|---|
US (1) | US5461614A (zh) |
EP (1) | EP0704125B1 (zh) |
JP (1) | JPH08511388A (zh) |
KR (1) | KR100237339B1 (zh) |
CN (1) | CN1086886C (zh) |
AU (1) | AU696321B2 (zh) |
BR (1) | BR9406775A (zh) |
CA (1) | CA2163634A1 (zh) |
DE (1) | DE69433500D1 (zh) |
FI (1) | FI955980A0 (zh) |
MX (1) | MX9404472A (zh) |
NO (1) | NO955051L (zh) |
SE (1) | SE515419C2 (zh) |
WO (1) | WO1994029988A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100477661C (zh) * | 2004-03-19 | 2009-04-08 | 华为技术有限公司 | Lcas中接收端数据重排的方法 |
CN100558100C (zh) * | 2004-03-19 | 2009-11-04 | 华为技术有限公司 | Lcas中源端虚容组中通道sq重排的方法 |
CN101425962B (zh) * | 2007-11-01 | 2011-05-11 | 瑞昱半导体股份有限公司 | 分组转送方法和装置 |
CN101485152B (zh) * | 2006-10-06 | 2011-07-20 | 美国博通公司 | 用于高性能捆绑重排序的方法、系统及计算机程序产品 |
CN101146029B (zh) * | 2006-09-13 | 2011-12-28 | 华为技术有限公司 | 一种分组重排序方法和系统 |
CN110140139A (zh) * | 2016-11-16 | 2019-08-16 | 萨沃伊公司 | 用于在自动分配系统中对载货进行排序的方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5587997A (en) * | 1995-02-24 | 1996-12-24 | Hewlett-Packard Company | Method and apparatus for determining when all packets of a message have arrived |
US5781449A (en) | 1995-08-10 | 1998-07-14 | Advanced System Technologies, Inc. | Response time measurement apparatus and method |
US6246684B1 (en) * | 1997-12-24 | 2001-06-12 | Nortel Networks Limited | Method and apparatus for re-ordering data packets in a network environment |
US6477571B1 (en) * | 1998-08-11 | 2002-11-05 | Computer Associates Think, Inc. | Transaction recognition and prediction using regular expressions |
US6744762B1 (en) * | 1998-09-01 | 2004-06-01 | Canon Kabushiki Kaisha | Node device, communication network having a plurality of node devices, and control method therefor |
US6308209B1 (en) * | 1998-10-22 | 2001-10-23 | Electronic Data Systems Corporation | Method and system for measuring usage of a computer network by a network user |
US6769033B1 (en) * | 1999-08-27 | 2004-07-27 | International Business Machines Corporation | Network processor processing complex and methods |
US6766381B1 (en) * | 1999-08-27 | 2004-07-20 | International Business Machines Corporation | VLSI network processor and methods |
US6633920B1 (en) | 2000-01-07 | 2003-10-14 | International Business Machines Corporation | Method and system for network data flow management with improved completion unit |
US6757284B1 (en) * | 2000-03-07 | 2004-06-29 | Cisco Technology, Inc. | Method and apparatus for pipeline sorting of ordered streams of data items |
US6738379B1 (en) * | 2000-03-30 | 2004-05-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of preserving data packet sequencing |
US6473435B1 (en) * | 2000-06-30 | 2002-10-29 | Marconi Communications, Inc. | Method and apparatus for transferring packets to a memory |
US6895011B1 (en) * | 2000-08-15 | 2005-05-17 | Lucent Technologies Inc. | Method and apparatus for re-sequencing data packets |
US6381242B1 (en) * | 2000-08-29 | 2002-04-30 | Netrake Corporation | Content processor |
US6754197B1 (en) * | 2000-09-15 | 2004-06-22 | Atheros, Inc. | Method and system for transmit data blocking in a wireless communications network |
US7760737B2 (en) * | 2000-11-30 | 2010-07-20 | Audiocodes, Inc. | Method for reordering and reassembling data packets in a network |
JP3552667B2 (ja) * | 2000-12-19 | 2004-08-11 | ヤマハ株式会社 | 通信システム及び通信プログラムを記録した記録媒体 |
US8189591B2 (en) | 2001-10-30 | 2012-05-29 | Exar Corporation | Methods, systems and computer program products for packet ordering for parallel packet transform processing |
JP3455530B1 (ja) * | 2001-12-14 | 2003-10-14 | 株式会社東芝 | Mr信号受信装置及び磁気共鳴イメージング装置 |
JP2003271316A (ja) * | 2002-03-14 | 2003-09-26 | Hitachi Ltd | ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム |
US6874054B2 (en) * | 2002-12-19 | 2005-03-29 | Emulex Design & Manufacturing Corporation | Direct memory access controller system with message-based programming |
US20060200711A1 (en) * | 2005-02-01 | 2006-09-07 | Schondelmayer Adam H | Network diagnostic systems and methods for processing network messages |
US20060198312A1 (en) * | 2005-02-01 | 2006-09-07 | Schondelmayer Adam H | Network diagnostic systems and methods for altering the format and bandwidth of network messages |
US20060198319A1 (en) * | 2005-02-01 | 2006-09-07 | Schondelmayer Adam H | Network diagnostic systems and methods for aggregated links |
US20060198318A1 (en) * | 2005-02-01 | 2006-09-07 | Schondelmayer Adam H | Network diagnostic systems and methods for statistical triggering |
US7899057B2 (en) * | 2006-04-28 | 2011-03-01 | Jds Uniphase Corporation | Systems for ordering network packets |
US8107822B2 (en) | 2005-05-20 | 2012-01-31 | Finisar Corporation | Protocols for out-of-band communication |
US20070038880A1 (en) * | 2005-08-15 | 2007-02-15 | Noble Gayle L | Network diagnostic systems and methods for accessing storage devices |
US20070211696A1 (en) * | 2006-03-13 | 2007-09-13 | Finisar Corporation | Method of generating network traffic |
US20060264178A1 (en) * | 2005-05-20 | 2006-11-23 | Noble Gayle L | Wireless diagnostic systems |
US20080075103A1 (en) * | 2005-05-20 | 2008-03-27 | Finisar Corporation | Diagnostic device |
EP2039047A4 (en) * | 2006-07-07 | 2012-05-02 | Ericsson Telefon Ab L M | SUPPORT ACCESS CONTROL REJECT NOTIFICATION |
US8213333B2 (en) | 2006-07-12 | 2012-07-03 | Chip Greel | Identifying and resolving problems in wireless device configurations |
US8526821B2 (en) * | 2006-12-29 | 2013-09-03 | Finisar Corporation | Transceivers for testing networks and adapting to device changes |
US8902765B1 (en) | 2010-02-25 | 2014-12-02 | Integrated Device Technology, Inc. | Method and apparatus for congestion and fault management with time-to-live |
US8537859B2 (en) * | 2010-02-26 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | Reassembly of mini-packets in a buffer |
JP6572681B2 (ja) * | 2015-08-27 | 2019-09-11 | 沖電気工業株式会社 | 情報変換装置、情報通信システム、及び情報変換プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630260A (en) * | 1985-06-27 | 1986-12-16 | At&T Bell Laboratories | Self-routing multipath packet switching network with sequential delivery of packets |
US4703475A (en) * | 1985-12-04 | 1987-10-27 | American Telephone And Telegraph Company At&T Bell Laboratories | Data communication method and apparatus using multiple physical data links |
US4807224A (en) * | 1987-08-21 | 1989-02-21 | Naron Steven E | Multicast data distribution system and method |
DE3788649T2 (de) * | 1987-10-20 | 1994-06-23 | Ibm | Schnelle modulare Vermittlungseinrichtung für Durchschaltverkehr und paketvermittelten Verkehr. |
US5128929A (en) * | 1988-11-15 | 1992-07-07 | Nec Corporation | Time division switching system capable of broad band communications service |
WO1991002419A1 (en) * | 1989-08-09 | 1991-02-21 | Alcatel N.V. | Resequencing system for a switching node |
DE3942977A1 (de) * | 1989-12-23 | 1991-06-27 | Standard Elektrik Lorenz Ag | Verfahren zum wiederherstellen der richtigen zellfolge, insbesondere in einer atm-vermittlungsstelle, sowie ausgangseinheit hierfuer |
US5127001A (en) * | 1990-06-22 | 1992-06-30 | Unisys Corporation | Conference call arrangement for distributed network |
DE69214968T2 (de) * | 1991-01-08 | 1997-05-28 | Nec Corp | Vermittlungssystem mit einer Eingangsverteilstufe für zeitmarkierte Pakete und mit einer Ausgangsstufe für die Gewährleistung der richtigen Reihenfolge der Pakete |
US5222061A (en) * | 1991-10-31 | 1993-06-22 | At&T Bell Laboratories | Data services retransmission procedure |
US5337313A (en) * | 1992-11-12 | 1994-08-09 | Motorola, Inc. | Method and apparatus for preserving packet squencing in a packet transmission system |
-
1993
- 1993-06-15 SE SE9302060A patent/SE515419C2/sv not_active IP Right Cessation
-
1994
- 1994-06-14 JP JP7501683A patent/JPH08511388A/ja not_active Ceased
- 1994-06-14 MX MX9404472A patent/MX9404472A/es not_active IP Right Cessation
- 1994-06-14 AU AU70128/94A patent/AU696321B2/en not_active Ceased
- 1994-06-14 DE DE69433500T patent/DE69433500D1/de not_active Expired - Lifetime
- 1994-06-14 BR BR9406775A patent/BR9406775A/pt not_active IP Right Cessation
- 1994-06-14 CA CA002163634A patent/CA2163634A1/en not_active Abandoned
- 1994-06-14 CN CN94192461A patent/CN1086886C/zh not_active Expired - Lifetime
- 1994-06-14 EP EP94919057A patent/EP0704125B1/en not_active Expired - Lifetime
- 1994-06-14 KR KR1019950705733A patent/KR100237339B1/ko not_active IP Right Cessation
- 1994-06-14 WO PCT/SE1994/000581 patent/WO1994029988A1/en active IP Right Grant
- 1994-06-15 US US08/260,926 patent/US5461614A/en not_active Expired - Lifetime
-
1995
- 1995-12-13 FI FI955980A patent/FI955980A0/fi unknown
- 1995-12-13 NO NO955051A patent/NO955051L/no unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100477661C (zh) * | 2004-03-19 | 2009-04-08 | 华为技术有限公司 | Lcas中接收端数据重排的方法 |
CN100558100C (zh) * | 2004-03-19 | 2009-11-04 | 华为技术有限公司 | Lcas中源端虚容组中通道sq重排的方法 |
CN101146029B (zh) * | 2006-09-13 | 2011-12-28 | 华为技术有限公司 | 一种分组重排序方法和系统 |
CN101485152B (zh) * | 2006-10-06 | 2011-07-20 | 美国博通公司 | 用于高性能捆绑重排序的方法、系统及计算机程序产品 |
CN101425962B (zh) * | 2007-11-01 | 2011-05-11 | 瑞昱半导体股份有限公司 | 分组转送方法和装置 |
CN110140139A (zh) * | 2016-11-16 | 2019-08-16 | 萨沃伊公司 | 用于在自动分配系统中对载货进行排序的方法 |
CN110140139B (zh) * | 2016-11-16 | 2023-10-31 | 萨沃伊一人简易股份有限公司 | 用于在自动分配系统中对载货进行排序的方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2163634A1 (en) | 1994-12-22 |
AU696321B2 (en) | 1998-09-03 |
US5461614A (en) | 1995-10-24 |
FI955980A (fi) | 1995-12-13 |
FI955980A0 (fi) | 1995-12-13 |
EP0704125B1 (en) | 2004-01-21 |
EP0704125A1 (en) | 1996-04-03 |
BR9406775A (pt) | 1996-03-19 |
JPH08511388A (ja) | 1996-11-26 |
CN1086886C (zh) | 2002-06-26 |
SE9302060L (sv) | 1994-12-16 |
SE515419C2 (sv) | 2001-07-30 |
AU7012894A (en) | 1995-01-03 |
KR960703298A (ko) | 1996-06-19 |
DE69433500D1 (de) | 2004-02-26 |
KR100237339B1 (ko) | 2000-01-15 |
WO1994029988A1 (en) | 1994-12-22 |
NO955051L (no) | 1996-02-06 |
NO955051D0 (no) | 1995-12-13 |
SE9302060D0 (sv) | 1993-06-15 |
MX9404472A (es) | 1995-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1086886C (zh) | 重排序方法和设备 | |
CN1219384C (zh) | 多播传输的方法及设备 | |
CN1127833C (zh) | 分组处理设备、分组处理方法和分组交换 | |
US7843919B2 (en) | Ethernet virtualization using a network packet alteration | |
US5940597A (en) | Method and apparatus for periodically updating entries in a content addressable memory | |
CN1787537A (zh) | 面向移动体的数据配发支持方法 | |
US20060280194A1 (en) | Apparatus and method for configuring buffer descriptor suitable for packet aggregation | |
CN1613267A (zh) | 用于信息流专用改进的选择性重复的arq通信系统的方法和实现 | |
CN1648876A (zh) | 闪速存储器的数据管理设备和方法 | |
CN1859275A (zh) | 多端口以太网交换装置及数据传输方法 | |
CN1171429C (zh) | 一种交换数据交换网点内部的信息的方法 | |
CN1263262C (zh) | 用于处理带宽分配消息的系统和方法 | |
CN101047714A (zh) | 一种处理网络数据的方法及系统 | |
US20170222764A1 (en) | Technique for Storing Softbits | |
US9008070B2 (en) | Information communication apparatus and program storage medium | |
CN1502198A (zh) | 通过将限定符插入控制块中链接帧数据 | |
CN1533657A (zh) | 从第一数据网向第二数据网传输数据的方法和装置 | |
US6240065B1 (en) | Bit clearing mechanism for an empty list | |
CN1787488A (zh) | 在作为目的地的第二层交换机之间切换 | |
CN111770027A (zh) | 一种基于网内缓存的差异化传输方法 | |
CN116074247B (zh) | 硬件流表老化方法、软件流表老化方法、装置及电子设备 | |
US5913042A (en) | Method and apparatus for managing packet memory | |
US7529240B2 (en) | Transmission device | |
CN1528078A (zh) | 网络处理器中分组描述符字段位置的分配 | |
WO2019192457A1 (zh) | 查找pdcch监听机会的通信方法和装置 |
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 | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |
Expiration termination date: 20140614 Granted publication date: 20020626 |