著录项信息
专利名称 | 重排序方法和设备 |
申请号 | CN94192461.0 | 申请日期 | 1994-06-14 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 1996-06-26 | 公开/公告号 | CN1125499 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 艾利森电话股份有限公司 | 申请人地址 | 瑞典斯德哥尔摩
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 艾利森电话股份有限公司 | 当前权利人 | 艾利森电话股份有限公司 |
发明人 | L·A·林霍尔姆 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 董巍;马铁良 |
摘要
在数据分组网络中,分组从输入端口(1,3)被传送到输出端口(1,3)且从一个输入端口到一个输出端口的分组传送可以要求不同长度的时间周期,对那些已经抵达输入端口的数据分组建立一个源和目的的当前组合或对偶列表(9)。列表也包括具有这一组合的数据分组的当前序列编号(NSexp)。当一个数据分组被一输入端口接收时,一源地址和目的地址的组合尚未在列表中,列表(9)中的最长时间周期未用的记录被复盖且相应的序列编号(NSexp)被擦除。当具有同样源地址和目的地址组合的一个报文随后重新到达时,序列编号(NSexp)在分组中标志(R)被置位的同时被重起动。进而,从列表中移去那些预确定时间周期内未使用的记录。
1.在从输入端口到输出端口的数据分组传输需要不同时间周期,且 每个数据分组可能与一个源地址和/或目的地址相关联的网络中,用于在 输入端口和输出端口之间传输数据分组的方法,其特征在于
-在抵达输入端口时,一个序列编号被插入到或增加到数据分组中, 该序列编号指示此数据分组的序列位置,
-在输出端口,被传输到输出端口的数据分组的序列编号被用于从该 输出端口以一正确的序列次序转发数据分组,
-在一输入端口和/或一输出端口中,建立一个列表,它包括包含与数 据分组相关的不同地址的记录,且每一记录中有关于抵达相应的输入端口 或输出端口且与同一地址相关的下一个数据分组的当前序列编号,
-这样的列表被限制或约束,以使其在能允许被传输到输出端口的数 据分组重排序的条件下尽量短,且列表包含只与分别被输入端口或输出 端口相应接收的最新数据分组相关联的地址,
--通过约束列表到一个少量的地址和/或
--通过从列表中移去一个包含一地址和一相关的当前序列编号的 记录,每当在一预定义的时间周期内,没有数据分组抵达分别与此地址相 关的输入端口或输出端口。
2.按照权利要求1的方法,其中,每个数据分组与一源地址和一目的 地址相关,其特征在于
-被插入或增加到到达输入端口的数据分组中的序列号,指明该分组 相对于其它已到达此输入端口的分组的序列位置,且它和已到达的分组一 样,与同一源地址和目的地址的组合有关,
-在输出端口,被传输的数据分组的序列编号被用于以只与被转发 数据分组相关联的每个源地址和目的地址组合有关的正确序列次序转发 数据分组。
3.按照权利要求2的方法,其特征在于,在网络的输入端口中的列表 里,以及在每个包含源地址和目的地址组合的记录中,插入一条有关最新 抵达的一数据分组到达与此记录中指示的源地址和目的地址组合相关的 输入端口的时间的信息。
4.按照权利要求1-3之一的方法,其中每个数据分组与一个源地址 和一个目的地址相关联,其特征在于
-在输出端口,被传输到此输出端口的数据分组的序列编号被用于 从此输出端口,以只与与被转发的数据分组相关联的每个源地址和目的 地址组合有关的正确序列次序转发数据分组,
-为了获得此,在网络的输出端口中,建立一个列表,由包含与被传输 到此输出端口的数据分组相关联的源地址和目的地址不同组合的记录组 成,且在这样的记录中,将在与此记录中指示的相同源地址和目的地址组 合相关联的,将从此输出端口被转发的下一个数据分组中找到的当前序 列编号,
-每当一预定义的时间周期内,没有数据分组被传输到与记录中指 示的源地址和目的地址组合相关联的输出端口的话,从输出端口的列表 中,包含源地址和目的地址组合和当前序列编号的记录被移去。
5.按照权利要求1-3之一的方法,其特征在于,当数据分组已经在 网络中被传输到一个输出端口时,该数据分组具有一个跟随在当前序列 号之后的序列号,包括包含与数据分组关联的源地址和目的地址组合的 记录中找到的,数据分组被存贮,以在以后从输出端口被转发。
6.按照权利要求5的方法,其特征在于,在具有跟随当前序列编号 的一序列编号的数据分组被存储的同时,有关此数据分组在输出端口被接 收的时间的信息被存储。
7.按照权利要求5的方法,其特征在于,每当在至少一个预定义时间 周期期间,一个数据分组已经被存储时,数据分组从该输出端口被转发。
8.按照权利要求7的方法,其特征在于,当被存储的数据分组从一输 出端口被转发时,在列表中包含此数据分组关联的源地址和目的地址组合 的记录里找到的当前序列编号,被置为等于被转发的数据分组的序列编 号之后的下一个序列编号。
9.按照权利要求1的方法,其中输入端口和输出端口具有网络中的地 址,其特征在于
-在数据分组抵达一输入端口时
--一个输出端口被确定,数据分组将被传输至此端口,且
--此输入端口的地址被插入或增加到数据分组中,且指示该数据分 组在已到达或将到达此输入端口,并被确定要被传输到与已到达的数据 分组相同的输出端口的数据分组中的序列位置。
10.按照权利要求9的方法,其特征在于,在列表中包含一输出端口 地址的每个记录中,一个有关数据分组最新抵达已经确定其要传输到此 记录中指示的输出端口的输入端口的时间的,当前序列编号信息被插 入。
11.一个用于在网络输入端口和输出端口间传输数据分组的网络,其 中从输入端口到输出端口的一数据分组传输可以需要不同长度的时间周 期,且每个数据分组可以被与一个源地址和/或一目的地址相关,其特征在 于
-在一数据分组抵达一输入端口时,用于将一个指示数据分组的序 列位置的序列编号被插入或增加到数据分组中的装置,
-在输出端口中,用于使用到输出端口的数据分组的序列编号以用 正确的次序从输出端口转发数据分组的装置,
-在一个输入端口和/或一个输出端口中,用于建立一个由每个记录 包含与数据分组相关联的不同地址的记录组成的列表的装置,且在每个 记录中,有一个属于与相同地址相关的下一个数据分组的当前序列编号,
-用于建立这样一个列表装置,以这样一种使其尽可能短的方法约束 或限制列表,这样它就具有以合理的概率允许被传输到一输出端口的数据 分组进行重排序而无数据分组丢失的最短可能长度,并且列表只包含少 量的含有与那些分别在输入端口或输出端口中最新被接收的数据分组相 关联的地址的记录,
--通过此方法,属于用于建立列表的装置且存储一个列表在其中的 存储器装置具有有限尺寸,因此只有少量的包含地址和序列编号的记录可 以被存储在其中,和/或
--通过此方法,被包括在用于建立列表的装置中的时间监视装置,被 安排成监视列表中每个记录,并每当一预定义的时间周期内,没有与已 经抵达与此记录中所指示的地址相关联的数据分组被接收时,从列表中 移去诸如包含一地址和当前序列编号的记录。
12.按照权利要求11的网络,其中,每个数据分组与一个源地址和一 个目的地址相关。
13.按照权利要求12的网络,其特征在于,包括在用于在输入端口 中建立列表的装置中的时间监视装置也被安排,每当一预定义的时间周 期内没有数据分组抵达与此记录中指示的源地址和目的地址组合相关联 的输入端口时,从列表中移去一个包含一源地址和目的地址组合和一当 前序列编号的记录,
14.按照权利要求12或13的网络,其特征在于,用于在输入端口中 建立列表的装置被安排成,对于存储在存储器装置中列表的每个包含着 一源地址和目的地址组合的记录亦插入一有关数据分组最新抵达与此记 录中指示的源地址和目的地址组合相关联的输入端口的时间的信息。
15.按照权利要求12或13的网络,其特征在于,用于在网络的输入 端口中建立一个列表的装置被安排成,对于每个包含输出端口地址的记 录,在存储器装置中插入并存储有关数据分组最新抵达被确定将要被传 输到这个输出端口的时间信息。
16.按照权利要求15的网络,其特征在于,对于每个包含一输出端 口地址的记录,在网络输入端口中用于建立一列表的装置也安排成,将有 关被确定将要被传输到这个记录中指示的输出端口的数据分组最新抵达 输入端口的时间信息插入列表和在存储器中存储的手段。
技术领域\n本发明涉及对在一个网络中从一输入端口到一输出端口被传输的数 据报文或数据分组的重排序的方法和设备。\n本发明的背景\n在对正在网络中传输的数据报文的处理操作中,将数据报文的输入流 分布到几个不同的并行处理单元(如服务器)上,对处理可能是必要的或非 常有益的。在一些实例中,一个处理单元在某些情况下没有时间处理所有 被传输的数据报文。那么,当然在可能或不太昂贵时,可以使用更快的处 理单元,但是作为另一选择也可以使用几个并行单元。为了以一种尽量有 效的方式利用几个处理单元,需要在可用的处理单元上对数据分组进行动 态分配。例如,在某一时刻具有最低负载的单元将获得将到达网络的下一 个报文以便处理。另一种选择是在可用处理单元之间动态地分配输入报 文。如果来自众多输入端口的负载被动态地分配到几个处理单元上,那么 此动态分配的将体现重大优越性。那么,将获得一统计收益,导致较每个 输入端口相关于一选定的,预定义处理单元的情况,总计服务器容量可以 被相当地降低。\n无论如何,数据报文流通常包括来自不同源的报文,它们将被以报文 到达时的相同顺序移交到各自的目的地。在动态分配中,不能确保维持正 确的序列次序,因为不能确保处理单元运行的同样快。为了仍能实现这一 动态负载分配,单独数据报文的正确序列次序必须以某种方法被恢复,至 少在从网络移交和传输之前。解决这一问题的传统方法是,在每个报文在 网络的一输入端口被接收时,标上一个序列编号并在从网络移交时,用被 向前转发的数据分组的序列编号执行一个重排序,在转发之前这些序列编 号被从数据报文中移去。\n在这种情况下正确的序列次序要求只对一对源和目的有效。传统上, 源和目的用网络中和数据报文中的唯一的地址识别。在网络的输入端口, 每个输入报文必须被分配一个指示报文与来自同一源的,上一个已到达报 文相对关系的报文序列位置的序列编号或次序编号,为的是能在输出端口 恢复数据报文的序列次序。因此,这个被分配的序列编号在输入端口必须 取自被输入端口中逻辑电路建立的一存储器或一列表,并且它还包含每一 种可能的源和目的组合的当前、下一个序列编号,或至少是到达输入端口 的数据分组中已经遇到的这样的源和目的对。源和目的这样的组合的一个 非常长的列表及当前序列编号在许多情况下必须被存储和管理,并在一个 新的数据分组的到达时,平均讲,为了寻找对收到的数据分组有效的相同 的源和目的组合,列表的一半必须被搜索,这样的一个列表将通常包括成 百上千的记录,其中的一个搜索操作将需要一不能接受长度的时间周期。\n先前的技术\n专利US-A5,127,000描述了一个具备自动重排序的分组分布网络。 如果分组沿不同路径穿过网络,它们可能产生不同的迟延且因此分组可能 以错误的序列次序到达输出端口。该专利公开了一种在输出端口恢复分组 序列次序的方法。按照相应的文件,提供一个电路以在网络的输入端口处 为分组提供一个"时间标记"。在输出前,网络所导致的分组时间迟延被检 测。分组进一步被时延,以使总时延等于预定义的值。因此,穿越网络的 总时延将近似为常数,且分组以它们抵达输入端口相同的序列次序移交给 输出端口。\n专利US-A4,807,224涉及一个用于将分组形式的数据分布到大量 的接收器的系统。一个中央单元顺序地放出包含一信息域和一序列编号的 分组到许多接收器和备用单元。每个接收器复制数据分组到一个缓存器, 以便能够选择接收器感兴趣的部分。如果接收器发现一个分组丢失,它可 以从一个备用单元得到。如果自从上一个分组被接收后一个预定义的时间 周期已经逝去或一个具有一错误序列编号的分组到达,则认为一个分组丢 失。这样接收器在传输错误发生时可以恢复序列次序。\n专利US-A4,630,260涉及一个用于在网络输出端将穿过分组分布 网络的分组用维持的序列次序链接起来的方法。简单地通过不能让具有相 同地址的分组在同一节点上并行被发送的方法来维持序列次序。\n专利US-A5,173,897涉及一个ATM-网络,其中逻辑连接的连续 信元被以尽可能不同的路由传输到输出端。在输入端,连续的序列编号被 分配给信元。在输出端,每个信元被保持到在网络交换区域中没有较早的 信元可以被缓存为止。\n本发明的描述\n本发明的目的是在数据分组的传输可能需要变长的时间周期时,提供 在网络中以一种有效的方式传输数据分组的方法,并提供一个采用此方法 的网络。\n另一个目的是提供一个在输入和输出处,具有有限的管理列表存储器 空间的,从输入到输出传输数据分组的方法和网络。\n这些目的通过本发明取得,而前述的问题通过按照本发明的方法和设 备被解决。\n在一个数据分组网络中,分组从输入单元或输入端口传输到输出单元 或输出端口,且从一个输入端口到一个输出端口的分组传输可能需要不同 长度的时间周期,例如,由于穿越网络传输的数据分组通过不同的单元被 处理。在网络的每个输入端口,来自外部的数据分组被分配一个序列编 号,且对已经到达输入端口的数据分组一个源和目的的对或当前组合被建 立。列表也包括具有每一个这样的组合或这样的对的数据分组的当前或下 一个序列编号。为了允许检查和恢复分组的正确序列次序,序列编号被插 入到数据分组中。列表可以被限制或约束,这样,例如只包括少量记录, 如16个记录。当一个数据分组到达具有未被存储在列表中的目的地址和 源地址组合且列表全满的输入端口时,列表中的在最长时间周期一直未用 的记录可以被复盖,且存储在记录中的相应的下一个序列编号将被擦除。 进而,在分组中置一个标志,来指示此分组是序列次序中的第一个分组。 然而,当具有与记录中被复盖的相同源地址和目的地址组合的一个报文再 次到达时,对该存在在被取消记录和当前被处理的分组中的目的地址和源 地址组合,重起动序列编号,相似于已提到的标志,同时在分组中置一标 志,来指示重起动或一般地代表该分组在当前有效的序列编号中是第一个 分组。列表通过连续或不懈地移去在一定预定义时间周期中未用的那些记 录的方法被限制或抑制。在输出端口也安排了一相似的列表,且它也必须 维持尽量短以避免长的搜索时间。如果在输出端口处列表中一个记录已经 在足够长时间周期内未用,则该记录可以从列表中移去,因为相应的记录 将已经从相应输入端口处的列表中被移去。\n通常情况是:在一个网络部分中或这里简称一个网络,数据报文或数 据分组到达输入/输出端口,并从网络部分或网络在输入/输出端口上被转 发。在穿越网络之旅中,一个数据分组可以采用不同的路径,例如,它将 通过不同的并行处理单元或服务器。在到达一输入/输出端口时,一个序 列或序列编号被插入或附加到数据分组中,此序列编号指示在所有那些从 外部到达输入/输出端口并具有和所讨论数据分组相同的源地址和目的地 址组合的数据分组中,该数据分组的顺序位置。在输入/输出端口,一个 包括这样的到目前为止所有已收到的数据分组的源地址和目的地址组合 的列表被建立。为了降低对此列表的搜索时间,可以采用两种措施。首先, 列表可以被限制到少量源地址和目的地址的组合,例如典型的16个这样 的组合,且这些组合将在每刻表示最新的源地址和目的地址组合,这些地 址已经出现在那些最近已经到达的数据分组的处理中。其次,那些在足够 长时间周期中未用的源地址和目的地址组合,可以不停地从该列表中移 去。这意味着对这些记录,任何数据分组到达具有记录中指示的源地址和 目的地址组合的输入/输出端口后,一时间周期已经过去,且这个时间周 期超过了一预定义的时间值。\n每当一个新的源地址和目的地址的组合出现在抵达一输入/输出端口 的一数据分组中,而该组合未出现在存储的列表中,则一个标志被置位, 以在数据分组中指示这一情况。在数据分组穿越网络传输之后,此标志可 以被移去。此外,在数据分组中,一个序列编号被插入,其值相应于一个 合适的开始值,例如1。\n选定的时间周期长度或预定义时间值Til,在列表中包括一定源地址 和目的地址组合的记录将被从列表中移去的情况下,一定要超过这个值, 该值以总产生一"足够时间周期"的方式被确定。时间周期应当能确保网络 有足够时间腾空,即具有一个一定的源地址和目的地址的组合的报文,且 它是具有该组合的一重起动序列中的第一个报文,即当在列表中恰好还没 有此源地址和目的地址组合的一个记录时,在具有同样源地址和目的地址 的组合数据分组之前但是列表中该记录已经被擦除之前绝不会通过或到 达,在第一个讨论的报文到达前,即具有相同目的地址和源地址的组合并 属于一个较早序列的报文。假如诸如列表被允许至多包括16个记录,至 少此时间周期将至少是相应于在一个顺序重起动的数据分组被发送前发 送16个报文所需要的时间周期,即这样一个数据分组,其源地址和目的 地址组合先前未在列表中但在此被输入。\n如果进一步假设,输入逻辑可以以最小时间间隔Ti向网络发送报文, 如果该输入列表通常包含n个记录,条件n*Ti>=Til这样被获得,即列表 中记录数量n必须大于或等于Til/Ti。这样列表能维持一个有限的长度而 不会导致任何排队现象或相似情况。\n如果假设在一个报文穿越网络传输期间时间周期的绝对最大变化为 Tmax_v,例如等于5ms,对于为了克服较早提到的,一顺序重起动的数 据分组将能通过一个较早被发送的,具有相同源地址和目的地址组合的数 据分组的风险,所需时间周期Til,此时时间周期Til必须大于或等于 Tmax_v,即Til>=Tmax_v。不允许在输入/输出端口中处理输入报文的逻 辑发送一个具有这样的一个重起动的序列编号,和在先前具有同样源地址 和目的地址组合的数据分组之后短于Tmax_v时间间隔的报文。\n在一个输出端口中处理从网络中传输的报文的网络转发的逻辑电路 不能以它们可以包括一个相等的有限源地址和目的地址记录数的列表的 方式来设计。无论如何,可以对输出端列表做某些限制。以如网络输入端 的同样方法,此处包含源地址和目的地址组合的,在足够长时间周期内未 用的记录可以被移去。此处的未用意味着,为了能在一个足够长时间周期 期间从网络转发没有数据报文已经到达输入/输出端口。如果这样一记录 到当前时刻为止已经在Til+Tmax_v时间周期未用,这个源地址和目的地 址的组合的序列编号将被处理从外部到网络的报文输入的输入/输出端口 中的逻辑重起动。在这种情况下,在输出端的逻辑电路可以从它的存储器 中移去相应的记录。\n这样,假设在一个输入/输出端口,输入端的逻辑电路,恰在其列表 中的一个记录已成为未用前,即在时间周期Til逝去前,转发一个报文且 此报文尽可能慢地通过网络(与被传输数据分组的平均值相比的迟延 Tmax_v/2),而前一个具有相同源地址和目的地址组合的数据分组尽可能 快地通过网络(比一个分组被传输的平均时间提前Tmax_v/2时间到达)。 在一个输入/输出端口中输出端的逻辑电路中接收这些报文的时间差将略 低于Til+Tmax_v。在输出端的一记录在该记录的自上一次被使用的Tol 时间周期已经逝去前,可能不被擦除,此处Tol>=Til+Tmax_v。\n由于从一个输入端口到一个输出端口的数据分组传输要求不同长度 的时间间隔,为了能尽量执行一个数据分组的重排序,那么在每个输出端 口中需要一个缓存存储器。一个存储在缓存存储器中的分组无论如何在转 发前不会停留太长的时间周期,如果自从其抵达输出端口Tb时间长度已 经逝去的话。将选择这一时间长度Tb,以使条件Tmax_v<=Tb<=Til得到 满足。如果它不从网络被转发,一个可能的顺序重起动的分组可能在被缓 存的分组有时间转发前到达此输出端口,且缓冲器分组被擦除。\n且如果进而一个输出端口可以接收在网络上以最小时间间隔To被传 输的数据分组,按上述相同的方法,同样必须出现在输出处列表中不导致 任何排队问题的记录数量m,必须大于或等于Tol/To,即m>=Tol/To。在 输出端口中的列表将这样用长度限制。\n这样,提供了一个在网络中输入端口和输出端口间传输数据分组的方 法,此法从一个输入端口到一个输出端口的一个数据分组的传输可能需要 不同的时间周期,且每一个数据分组可能与一源地址和/或一目的地址相 关联。这些地址可能是只在网络内使用的地址,然后指示网络的各种输入 和输出。它们也可以是通常被写入数据分组的一特定域的起始和最终地 址。\n该方法包括:\n-1.在抵达一输入端口时,一个序列编号被插入或附加到数据分组中, 此序列编号指示数据分组的顺序位置。在第一种情况,数据分组将被传输 到的输出端口随后也被确定,且输入端口的地址被插入或增添到数据分组 中。序列编号指示在已经到达或将要到达这一相同输入端口的数据分组中 该数据分组的顺序位置,且为它们确定了同一输出端口。在第二种情况, 序列编号指示已经到达此输入端口,且有与已到达的数据分组相同的源地 址和目的地址组合的分组中该数据分组的顺序位置;\n-2.在一输出端口,被传输数据分组的序列编号被用于以正确的序列次 序转发数据分组。在第一种情况中,数据分组以一个只关心在被转发的数 据分组中被发现的一输入端口的每一个地址的正确次序被转发。在第二种 情况,这意味着,数据分组以只关心被转发数据分组的每个源地址和目的 地址组合的正确序列次序被转发。\n-3.在一个输入端口和/或一个输出端口,建立一个包括记录的列表, 每个记录包括一个与数据分组相关的不同地址,及一个将被插入或增加到 具有相同地址的下一个数据分组中的当前序列编号,如果或当有这样一个 分组到达的话。在第一种情况,在一个输入端口中的一列表中的每个记录 包括一不同的,已经确定到达输入端口的数据分组将被传输到的输出端口 的地址。在这种情况中,记录中的当前序列编号被插入或增加到将被确定 传输到同一记录中指示的输出端口的下一个数据分组中,如果或当有这样 的一个分组到达此输入端口的话。在这种情况下,在一个输出端口中,一 列表可能包括记录,其每个记录包括一个不同的已经从被传输到输出端口 的数据分组中得到的输入端口地址。该记录中的当前序列编号此处是,在 具有与存储在这个记录中的地址相同的一输入端口地址的下一个数据分 组中将被找到的序列编号,且该分组将从输出端口被转发。在第二种情况 中,在一个输入端口中的一列表中的每一个记录则包括一个,已到达输入 端口的数据分组的不同的源地址和目的地址组合,且记录中的当前序列编 号将被插入或增加到具有相同源地址和目的地址组合的下一个数据分组 中,如果且当有这样一个分组到达此输入端口的话。进而,在这种情况下, 一个输出端口中的一列表可能包含记录,此处每个记录包括被传输到输出 端口的数据分组的源地址和目的地址的不同组合。当前序列编号是在具有 在此记录中被指示的源地址和目的地址的相同组合的下一个数据分组中 顺序找到的,且将从输出端口被转发。\n-4.这些列表中的每一个可能并通常至少是一个被限制或约束的列 表,因此它尽量短并依然允许一重排序,且它包含只与最新被接收的数据 分组相关的不同地址,这可以两种方式实现:\n--通过约束或限制列表到一个预确定的少量地址,它是一个微不足道 或小数量记录,例如采用只为列表安排少量的存储器,和/或\n--每在一预定义的时间周期,尚未收到具有此地址的数据分组时,从 列表中移去一个与当前序列编号相关的地址,\n当每个数据分组与一源地址和目的地址相关时,用于这种情况的方法 可能意味着,在一个输入端口中的列表被约束到一预定义数量的包含源地 址和目的地址组合的记录,它在每一时刻代表已经出现在最新到达输入端 口的数据分组中的那些源地址和目的地址的组合。\n在这种情况下,有益地安排,使在一包含源地址和目的地址组合的输 入端口中的列表中的记录数量,只相当于抵达数据分组的少量可能的源地 址和目的地址的组合。\n进而,在一预定义时间周期,当无数据分组到达与此记录指示的源地 址和目的地址组合相关的输入端口时,一个包含一源地址和目的地址组合 及一当前序列编号的记录可以从一输入端口中的一列表中被移去。\n为了实现这一点,网络中一输入端口的一列表中,及包含一源地址和 目的地址组合的每个记录中,在一个数据分组最新抵达与此记录中指示的 源地址和目的地址组合相关的输入端口时,有关的时间信息可以被插入。 这个时间指示随后可以用于监视和移去,最近的时间周期期间未被改变过 的太旧的记录。\n进而在此情况中,一个包含源地址和目的地址组合及当前序列编号的 记录可以从一输出端口中的一列表中移去,在一预定义的时间周期期间, 当没有数据分组被传输到与此记录中指示的源地址和目的地址组合相关 的输出端口时。\n在一般情况下,当输入端口和输出端口在网络中有地址时,此方法可 能意味着一输入端口中的列表被约束到一预定义数量或少量的包含地址 的记录,它在每个一时刻代表为对最新抵达输入端口的数据分组已经确定 的输出端口的地址。\n同样在此情况下,包含输出端口地址的列表中的记录数量可以被约 束,例如物理地通过对到达的数据分组只安排少量存储器来对应一预定义 的少量可能的输出端口。\n进而在此情况下,在一预定义的时间周期期间,当没有数据分组已抵 达被确定的将传输到在记录中被指示源地址和目的地址组合相关的输出 端口时;一个包含一输出端口地址和一当前序列编号的记录可以被从网络 的一输入端口中的列表中有益地被移去。\n在此情况下,象其它通常情况一样,包含输出端口地址的一输入端口 中的列表中的每个记录中,有益地将信息相对插入,当一个将被传输到此 记录中指示的输出端口的数据分组最新抵达输入端口时。这使得从列表记 录中删除一预定义时间周期期间中未用的记录成为可能。\n进而,在此情况下,每当在一预定义时间周期期间,没有数据分组已 被传输到包括此记录中指示的输入端口的地址的输出端口时,一个包含与 一当前序列编号相关的输入端口的一个地址的记录,可以被从一输出端口 的一列表中移去。\n进而,在其它分组中具备起始地址和最终地址的一般情况下,在一数 据分组到输出端口的传输中,此数据分组具有跟随当前序列编号的一序列 编号,它在源地址和目的地址组合的输出端口列表中被找到,其对数据分 组有效,数据分组可以被存储以便以后被从输出端口转发。在输出端口的 一列表中包含输入端口的地址的情况下,相应的规程也可以被执行,允许 存贮具有当前序列编号后的一序列编号的一数据分组。\n在具有当前序列编号之后的一序列编号的数据分组被存储的同时,有 关数据分组在输出端口被接收的时间的信息可以被存贮。在至少一个预定 义时间周期期间,数据分组已经被存贮在一输出端口中时,数据分组可以 从输出端口被转发。当这样存储在一输出端口中的数据分组从输出端口被 转发时,在列表中记录里找到的包含此数据分组源地址和目的地址组合的 当前序列编号,被置为紧随被转发数据分组的序列编号之后的序列编号。\n这样,还提供了在网络的输入端口和输出端口间传输数据分组的网 络,从一输入端口到一输出端口的一数据分组的传输可能需要不同的时间 长度,且每个数据分组可以与一源地址和/或一目的地址相关联。此网络 包含\n-在一数据分组抵达一输入端口时,用于将指示数据分组的序列位置 的一序列编号插入或增添到数据分组中的装置,\n-在一输出端口,为了以正确的序列次序转发数据分组,用于使用被 传输数据分组的序列编号的装置,\n-在一输入端口和/或输出端口,用于建立一个包含关联于数据分组的 不同地址和一关联于具有相同地址的下一个数据分组的当前序列编号的 列表的装置,\n-用于建立一个以尽量短的方式约束列表的列表装置,且它只包含与 那些最新被收到的数据分组的地址有关的地址,\n--通过属于用于建立列表的装置的存储器装置的方法,且列表被存储 在其中,具有预定义或有限的尺寸,因此只有少量的包含地址和序列编号 的记录可以被存贮,和/或\n--通过包括在用于建立列表的装置中的时间监视装置的方法,监视列 表中每一个记录,每当一预定义时间周期内没有具有此地址的数据分组被 接收时,就从列表中移去包含相关于当前序列编号的一个地址的记录。\n在一般情况下,鉴于每个数据分组与一源地址和一目的地址相关,以 下情况对网络有利\n-在一个数据分组抵达一输入端口时,用于向数据分组中插入或增加 一个序列号的装置,该序列编号指示在已经到达此输入端口的数据分组 中,该数据分组的序列位置且具有与到达的数据分组相同的源地址和目的 地址组合的序列编号,\n-在输入端口中,用于建立一个包含抵达输入端口的数据分组的不同 源地址和目的地址组合的记录的列表的装置,且与每个组合相关,一个被 插入或增加到具有此记录中指示的源地址和目的地址组合的下一个数据 分组的,当前序列编号,如果及当有这样的一个数据分组抵达此输入端口 的时候,\n-在输入端口中,用于建立一个列表的装置包括存贮列表的存储器装 置,\n-具有有限尺寸的存储器,此处列表被约束到包含源地址和目的地址 组合的少量记录,\n-用于在输入端口建立一个列表的装置,包括时间监视装置,它监视 存储存储器装置中的在列表记录,当存储器满时,且在抵达输入端口的数 据分组中出现一个新的源地址和目的地址组合时,而此组合未在存储在存 储器中的列表中找到,从存储的列表中移去的具有包含在记录中的组合的 任意数据分组抵达输入端口后,包括已经过最长时间周期的源地址和目的 地址组合的记录,从而存储在存储器中的列表中每一时刻都包含包括出现 在最新抵达的数据分组中的源地址和目的地址不同组合的记录,\n-在一个输出端口,为了以正确的序列次序转发数据分组,而使用传 输的数据分组的序列编号的装置,被安排以只与被转发的数据分组的每个 源地址和目的地址组合有关的正确序列次序转发被传输的数据分组。\n进而,在此情况下,存储器装置具体地被包括在用于在输入端口建立 一个列表的装置中,其尺寸使列表中包含源地址和目的地址组合的记录数 量只相应于少量的,对抵达的数据分组来说是可能的源地址和目的地址组 合。\n进而,如上陈述,在此情况下包含在一输入端口中用于建立一列表的 装置中的时间监视装置,可以被安排来从包含具有一相关当前序列编号的 源地址和目的地址组合的列表中移去一记录,在一预定义时间周期内,当 没有数据分组抵达具有该记录中指示的源地址和目的地址组合的输入端 口的时。\n进而,在此情况下,用于在一输入端口建立一个列表的装置可以安排 成,对存储在存储器装置中的列表中每个记录包含着一源地址和目的地址 组合,亦会插入涉及最新一数据分组抵达该记录中指示的一源地址和目的 地址组合的输入端口的时间信息。\n进而,在此情况下,从网络的一输出端口中可以安排装置来建立,且 相关的存储器装置存储着包括含有被传输到输出端口的数据分组的不同 源地址和目的地址组合的记录的列表,且与在具有与此记录中所指示相同 的源地址和目的地址组合的下一个数据分组中找到的并从输出端口被转 发的每个当前序列编号相关联。\n进而,时间监视装置可能被包括在在输出端口中用于建立一列表的装 置中,它监视存储在列表中的记录,并在一预定义时间周期期间,当无数 据分组被传输到具有本记录中所指示的源地址和目的地址组合的输出端 口时,从列表中移去具有相关当前序列编号的,包含一源地址和目的地址\n组合的记录。\n在其它输入端口和输出端口在网络中具有地址的通常情况下,在的网 络中最好有\n-在一数据分组抵达输入端口时,在网络的输入端口用于确定数据分 组将被传输到的那个输出端口的装置,\n-在一数据分组抵达时,用于在数据分组中插入或增加该输入端口的 地址的装置,\n-在一数据分组抵达时,用于向数据分组中插入或增加一个指示在已 经抵达该输入端口,并已经或正被传输到如已抵达的数据分组相同的输出 端口的数据分组中,该数据分组的顺序位置的装置,\n-在输入端口包含存储器装置,并在存储器装置中建立和存储着一个 由包含不同输出端口的地址的记录组成的列表,到达输入端口的数据分组 已经或正在被发送到这些端口,一个与将被插入或增加到将被传输到该输 出端口的下一个数据分组中的当前序列编号相关联的列表中,如果及当有 这样的一个数据分组抵达此输入端口的话,\n-存储器具有有限的尺寸,因此存储在其中的列表被限于少量的包含 地址的记录,和/或\n-用于建立列表的装置中包括时间监视装置,它被安排监视存储在列 表中的,包含输出端口地址和当前序列编号的记录,并当存储器满且对抵 达输入端口的一数据分组有效的一新的输出端口的地址出现时,而该地址 未被在存储的列表中发现,从存储的列表中移去包含一输出端口的地址的 记录,它是这样,在输出端口已被确定,并与该记录中所包括的输出端口 地址相一致的所有分组都已到达该输入端\n此后,已经过去最长的时间周期,此处一个存储在存储器装置中的列 表每一时刻由包含已经出现在最新抵达输入端口的数据分组中的不同输 出端口的地址的记录组成,\n-且进而,在一输出端口中,使用被传输数据分组的序列编号以一正 确的序列次序转发数据分组的装置被安排成以只与一个被找到或已经被 增加到输入端口中被转发数据分组的输入端口的每个地址有关的正确序 列次序转发数据分组。\n进而,在这一情况下,如上所述,存储器可能具有这样的一尺寸,它 只能存储包含输出端口地址的几个记录,它相应于对于抵达的数据分组是 可能的少量的输出端口。\n进而,时间监视装置可以被安排成,从存储在网络的一输入端口中的 存储器里的列表中,移去一个包含一输出端口地址及一相关当前序列编号 的记录,每当一预定义时间周期没有数据分组抵达此输入端口时,它将被 传输到此记录中所指示的输出端口。\n用于在网络的一输入端口中建立一个列表的装置也可安排为,对于一 个输出端口的每个地址,有关最新一数据分组到达将要传输到此输出端口 的输入端口的时间信息被插入并存储在存储器中。\n进而,在网络的输出端口中,可以提供包含存储器装置的装置,在该 存储器装置中建立和存储一个由包含从被传输到输出端口的数据分组中 得到的输入端口的不同地址的记录组成的列表,且与输入端口的每个地址 相关联的在具有与此记录所指示的一输入端口相同地址的下一个数据分 组中找到的一当前序列编号,它将从输出端口被转发。\n可以提供包含在用于在输出端口中建立一列表的装置中的时间监视 装置,它们被安排成监视包含在输出端口的存储器装置中,由输入端口地 址和当前序列编号组成的记录,并从输出端口的列表中移去一包含一输入 端口地址和一当前序列编号的记录,每当一预定义时间周期期间没有数据 分组被传输到包含此记录所指示的输入端口地址的输出端口时。\n在外部源地址和目的地址的一般情况下,其它存储器装置可能被包括 在一输出端口中,用于建立一列表的装置中,它被安排成在一数据分组到 此输出端口的传输中,它具有跟随当前序列编号的一序列编号,它被存储 在一个记录的列表中,该记录具有与该数据分组相联系的源地址和目的地 址组合,为了以后从输出端口转发它而存储数据分组。\n为了存储与被存储的数据分组被传输到输出端口的时间有关的信 息,在存储具有跟随当前序列编号的一数据分组的同时,其它存储器装置 被有益地采用。\n其它时间监视手段可以被包括在输出端口用于中建立列表的装置 中,并被安排监视存储在其它存储器装置中的记录,当至少一个预定义时 间周期期间中,一个数据分组已经被存储在一个输出端口时,从输出端口 转发存储的数据分组。\n用于在输出端口中建立一个列表的装置被有益地安排成,当一个被存 储在其它存储器装置中的数据分组从输出端口被转发时,设置存储在输出 端口中第一个存储器装置中的列表里的,一个包含此被转发数据分组的源 地址和目的地址组合的记录中的当前序列编号,使其等于紧随被转发数据 分组的序列编号的序列编号。\n在输入端口和输出端口具有网络中的地址的在其它通常情况下,为了 存储已经被传输到输出端且序列编号不符合有效的当前序列编号,通常在 当前编号之后的数据分组,在一输出中提供更好的其它存储器装置。\n附图的描述\n参考附图,本发明现在将被作为一个非限制实施例被描述,其中\n图1展示了一个具有几个服务器和具有输入和输出逻辑的网络,\n图2概要地解释了在抵达网络时和网络中传输时相应的一数据分组 的格式,\n图3概要地展示另一修改的格式形状,\n图4展示了在网络输入端口中必须提供的一列表的结构,\n图5解释了在网络输出端口中必须提供的一列表的结构,\n图6和7是在网络输入端口中执行的并行规程流图,\n图8是在网络输出端口中执行的作为源和目的的一定组合的一状态 机解释的规程图,\n图9-12是在网络输出端口中执行的不同并行规程的流图。\n优选实施例描述\n在图1中,一个网络被展示为具有一个输入/输出端口1和一个输入/ 输出端口3。为了简化,只表示了两个网络端口解释,而现实中通常提供 更多的输入和输出端口。对于第一个提及的输入/输出端口1,当一数据分 组抵达一输入/输出端口时执行的逻辑处理(表示为2)被概要地以方块图形 式解释,而对于其它的输入/输出端口3,其对一已经穿越网络被传输且将 从那里被转发到一输入口/输出端口的数据分组的逻辑处理用一方块图形 式表示,这些被转发的分组用4表示。通常这样完整的逻辑单元被安排在 所有连接到网络的输入/输出端口中,并特别在所解释的输入/输出端口1 和3中。\n从每个输入/输出端口,输入的报文在网络中进一步传输,如分组2′ 标识,进而被传输到几个执行某些数据分组的处理服务器或处理单元5。 数据分组从服务器5传到对相应数据分组按数据分组中的地址选定的输 入/输出端口,这些分组被标识在4′。\n现在将描述在输入端口和输出端口中处理数据分组的第一种实施 例。在输入/输出端口中说明的处理输入数据分组的输入或入口逻辑中, 数据分组在服务器5中处理后,将被传输到的输入/输出端口首先被确定。 入口逻辑可能因此访问包含地址转换表的存储器1′。其后,在方块7中, 一个序列编号"NSpack"被插入到数据分组中。这个序列编号取自包含输出 端口地址和一相关的当前或下一个序列编号"NSexp"的记录的列表9,且 具体是取自包含被方块1中入口逻辑对该分组确定的输出端口地址的记 录。当序列编号"NSpack"在方块7中已经插入数据分组中时,相应的存储 在列表9中的当前或期望的序列编号"NSexp"被增加到自己的下一个跟随 值,即通常加1(当然其它的编号序列可以被采用)且进而在数据分组中, 一个特殊的标志"R",被置为一合适的值,它将在后面更详细地描述。以 这种方法修改的标识为2"的数据分组,通过一个交换和分配电路11被传 输,它被作为"分散逻辑"设计并安排来分配和转发数据分组至当前时刻有 低利用率的服务器5。\n无论如何,可能出现数据分组的目的地址在列表9中未找到的情况, 则相应于一合适的开始值"NSstart"的序列编号"NSpack"被插入或增加到 数据分组中。进而,在此情况下,一个新的记录被插入列表9中,此新的 记录包含一个数据分组将被传输到的输出端口的地址和一个当前序列编 号"NSexp",典型地等于"NSstart+1",也被插入,它指示将被给予在第一 个数据分组后可能抵达的并具有如所讨论的数据分组相同的输出地址的 下一个数据分组。在此情况下,数据分组中的标志"R"被置为不同于数 据分组被传输到的输出端口地址在列表9中被找到的情况下的另一个 值。如果具有有限尺寸的列表9满,具有最长未活动时间周期,即当前时 间与一个具有此记录指示的目的的数据分组最新抵达所考虑的输入/输出 端口的时间差最大,的记录被移去。\n按照介绍的讨论,无论如何,具有合适的维数的列表9满的情况,正 常时将绝对不会发生,因为"太旧的"记录通过一特殊的规程被从列表中不 断地移去。\n为了从列表9中移去太久时间周期内未被使用的记录,这等价于下列 事实:在这些记录中的序列编号,已经在当前时间之前的一预定义时间周 期内未被增加,或用上述相同的方式所说的那些,具有当前时间与具有此 目的地址的一数据分组最新抵达所考虑的输入/输出端口的时间有足够大 的时间差,或在一预定义时间周期内没有与这些记录中相同的目的地址的 数据分组已经到达,提供了一个时间逻辑电路13。它连续检查列表9,且 对于这一检查操作列表9中每个记录的另一个域被用于指示此记录中的 最新活动时间,即当一个具有记录中指示的目的地址的分组最新抵达的时 间。当处理一个抵达的分组时,列表9的记录中的时间指示,可以在存储 的期望序列编号被增加的同时由序列标志逻辑输入。\n在输入/输出端口3中解释的输出逻辑接收在网络中传输的数据分 组,且具体地分组被执行一接收的数据分组重排序的方块15接收,因此 它们将从网络和端口以必要的和可获得的正确序列次序被转发。因此重排 序的逻辑块15访问存储着先前已太早到达的数据分组和包含被传输到此 输入/输出端口的数据分组的当前源地址和相应的当前或期望的下一个序 列编号"NRexp"的列表19的缓存存储器17。一个时间逻辑电路21以网络 输入端口中用于处理列表9的时间逻辑电路13相同的方式,从这一列表 中移去足够长时间周期未用的记录,所以从列表19中移去在一足够长时 间周期内,当前序列编号"NRexp"未被增加的记录这等价于没有数据分组 从记录中指示的网络中的源抵达此输入/输出端口。重排序逻辑17也剥去 在序列标志逻辑7中增加到分组中的信息,参见在4"标识的分组,具体地 是加入的序列编号"NSpack"和用于分组传输的内部输入和/或输出地址。 分组从重排序逻辑17被传输到方框3中所指明的输出或出口逻辑,以从 处理网络被转发。在此,借助存储在存储器3'中的表格可能执行某些地址 转换。\n在图2a中,一输入数据分组的格式被概要地用二进制序列形式解 释,未详细给出。在经一输入/输出端口的各部分处理之后,具体地是在 图1中解释的输入或入口逻辑中,给数据分组提供一个在网络内使用的, 用图。2b解释的内部分组头23,分组头23包括一个标志"R"域和另一个 数据分组序列编号"NSpack"域。在此情况,假设数据分组的源和目的在开 始时没有被在数据分组中被显式地指出。在输入/输出端口1中,进而在 内部分组头23中的各个域内给数据分组提供一用于网络内部的源和目的 的特殊地址。\n如图3a所解释的,数据分组中还可能有其抵达处理网络且其通过网 络传输前,涉及一外部目的地的信息,即一个接收器的地址,例如它未被 包括到图1所示的网络中。进而,在原始的数据分组中的一特定的域中, 也可能有以一外部或外部源的地址的形式的,关于数据分组源发送器的信 息。通过输入/输出端口1中的输入逻辑,分组头23被加入到数据分组中, 如图。3b所解释的,用参考图。2b所描述的相同方法完成。\n为了从网络以一个正确次序转发不同分组的,输出逻辑在每个分组中 有必要具有指示分组从何而来的信息,即一个指示分组源的域,它可能是 网络内分组的源,即分组抵达网络的输入/输出端口的地址。该信息即可 在以抵达网络时插入到头中的显式域中包含,如图2b,或以某些其它的 在其它域中显式或隐含的方式,例如,在源数据分组自身之内,如图3a 中解释的分组。\n下面的第二种情况,例如按照图3a,此处假设源地址和目的地址两者 都可以从分组本身获得。\n无论如何,向上面指出的,这是不可能的,但是对于在输出逻辑中的 处理,只要求涉及数据分组源的信息,它可以是网络外面的一个站的地址 或一个数据分组抵达的在图1中解释的处理网络的输入/输出端口的指 示。\n在图4中,解释了由图1中方块1中输入逻辑建立的列表9的结构。 在列表9中有许多记录,且按照前述的内容,记录的数目却是有限的,在 实际情况中,记录的数量甚至被限制到一个这样小的数量(如16)。这样小 的一个数量的记录可以被标志逻辑电路7快速地搜索,它在每个数据分组 的头23中的其它内容之中插入序列编号"NSpack"。这样列表9包括具有 指示一被接收数据分组的一源地址和一目的地址的域的记录,对于这个源 地址和目的地址的组合,下一个序列编号"NSexp"将被分配到一新的数据 分组,如果这样一个分组将抵达输入/输出端口,并具有此记录中指示的 源地址和目的地址的话。进而,在列表和每个记录中,也有指示数据分组 最新抵达具有记录中指定的源地址和目的地址的输入/输出端口的时间的 时间指示,即下一个期望的序列编号"NSexp"域被改变的最新时间。在此 列表中,源地址域不是完全必要的,它可以被忽略,每个记录的源地址则 可以被诸如所考虑的输入/输出端口自己的地址所替换。\n在图5中,解释了相应的列表19,它由一输入/输出端口的重排序逻 辑15建立。像介绍性讨论中所解释的,该列表必须包含一较输入/输出端 口中输入逻辑所使用的列表更大数量的记录。此处每个记录也包含含有一 源地址和一目的地址的域,然后一个将可能抵达此被转发的输入/输出端 口,并具有所考虑的记录中所指定的源地址和目的地址组合的数据分组将 具有的,下一个期望的序列编号"NRexp"的域。进而,存在一个状态指示 器域,它指示是否有一个或多个被存储或缓存的,具有此记录中所指定的 相同源地址和目的地址的数据分组。这样一个被存储的分组必须具有一个 自己的比记录中所指定的源地址和目的地址组合的,下一个期望的序列编 号"NRexp"大的序列编号NSpack",因为否则它已经从网络被转发。进而 还有一个可以包含指向第一个被存储的,具有此源地址和目的地址的数据 分组的存储器的一个指针或一个地址域。进而像图4中,有一个时间指示 域,此处一个指示具有该源地址和目的地址的数据分组的最后一个活动的 时间,即具有此记录中所指定的,源地址和目的地址的一数据分组最后被 接收并从此输入/输出端口在网络上被转发的时间。此处,包含目的地址 的域可以被省去,在这样的情况下,它可为被网络中所讨论的输入/输出 端口的地址逻辑地替换,它是一个对所有的在网络中传输后抵达此输入/ 输出端口的数据分组的固定地址。\n在图6中,说明了一个流程图,在一个数据分组抵达网络时,它由逻 辑电路执行,具体是在数据分组头23中插入一序列编号"NSpack"的逻辑 块7执行。规程在开始块601中开始,并在块603中重置列表,即它的所 有记录被移去或设置等于0,列表是图1中9处指示的类型,并在图4中 详细解释。然后,在块605中,它等待一个数据分组从外部抵达此输入/ 输出端口。当这样一个数据分组抵达时,在块607中,数据分组的源地址 和目的地址被确定,例如从分组自身内部的域中提取,随后在块609中, 列表9被搜索以判定此源地址和目的地址组合是否已经被写入列表9中的 一个记录。如前面所见,步骤607和609可以用只确定网络中的目的地址 并随后判定此目的地址是否确实在以相应的方式配置的一列表中被找到 的方法替换。\n如果在块609中判定,此组合存在于列表中的一个记录里,在块611 中,一个具有值0的重起动标志"R"被插入到数据分组的分组头23中,在 数据分组抵达网络时,此处的分组头被插入或增加到数据分组中。随后一 个序列编号"NSpack"被插入,它被置为等于当前或期望的序列编号 "NSexp",它取自列表9中找到的记录。进而,在块611中,指示当前序 列编号的计数器"NSexp"步进到自己的下一个值,即它通常被增加1。此 后,在块613中,一个时间指示值被插入到列表9,因此当前时间被插入 到列表中所讨论记录中的相应域中。随后被开关11控制的数据分组,见 图1,可以被发送到一合适的服务器5,最好是此刻具有最低负载的服务 器。然后输入逻辑继续到框605,等待从网络外部到达的一个新数据分组。\n如果在块609中判定数据分组的源地址和目的地址组合未在列表9中 找到,那么则在块615中检查是否在列表中有空间插入此处的另一个源地 址和目的地址组合。如果判定是此情况,在块617中,数据分组的分组头 23中的数据分组的序列编号"NSpack"被置为序列编号的开始值,即通常 等于0,且进而指示序列编号重起动的等于1的序列编号重起动标志"R" 被插入。对此数据分组有效的新的源地址和目的地址组合被插入到列表9 中,且列表中当前序列编号"NSexp"被置为相应于序列编号的开始值 "NSstart"后的值,即例如置为1。随后如上面块613所执行的。\n如果在块615中判定整个列表9满,即没有空间给另一个源地址和目 的地址组合,在块619中,对列表9中的不同记录检查时间指示,然后最 早活动时间的,即最旧的未更新记录被移去。其后,如上执行块617。\n与图6中解释并行或可能包含在其中,进行检查,列表9中的记录不 会太旧。该过程在图7中解释,此处在块701中,对于每个源地址和目的 地址组合,相应的末次活动的时间指示被检查。如果当前时间与此时间指 示的时间差太大,即大于某预定义值,在块703中一个记录被移去。然后 过程返回到块701,以重新继续检查记录的时间。\n在图8中,输出和出口逻辑的主过程以状态机的形式表示,特别用图 1中的块15来解释。此处对于被逻辑处理的每个数据分组有三个有效的 状态,它对于存储的或缓存的分组,当一个数据分组被输入/输出端口接 收,以从网络转发或缓存时,状态用一个源地址和目的地址的组合是否被 存储在列表19中及是否有一个这样的组合的分组被缓存的条件来刻划其 特征。第一个状态801被一源地址和目的地址组合设立,SA/DA,它没有 在列表9中被找到,该组合被设计为未用。第二个状态803是源地址和目 的地址组合出现在列表19中,且缓存器17中没有被存储的数据分组,该 状态被设计为源地址和目的地址的组合,SA/DA,是激活的且分组顺序抵 达。例如,在到目前为止,已经到达的所有具有此源地址和目的地址组合 的数据分组均以正确的序列次序抵达的情况下才发生此种情况。进而有指 示对于一个源地址和目的地址组合在缓存器17中存在被存储的数据分组 的第三个状态805,它们正等待着被转发,并必须执行重排序。此状态指 示着SA/DA组合是激活的,且必须要执行重排序。\n图8中解释的状态变化条件总结如下:\nT1:从第一个状态801到第二个状态803的转变。\n如果一个收到的数据分组的标志"R"置为1,则该数据分组是一新的序 列编号序列中的第一个且将直接从网络和所考虑的输入/输出端口被转发 的分组。然后列表19中此源地址和目的地址组合的当前序列编号"NRexp" 被置为,紧随收到的和被转发的数据分组的序列编号"NSpack"后的值,即 通常相应于表达式"NSpack+1",它典型地等于1。\nT2:从第二个状态803到第一个状态801的转变。\n列表19中一个记录的末次活动的时间指示已经太旧,且此用其 SA/DA组合描述的记录被从列表19中移去。\nT3:从第一个状态801到第三个状态805的转变。\n一个收到的数据分组具有列表19中未出现的一个源地址和目的地址 组合,且进而,标志"R"被置为0。然后此源地址和目的地址组合被插入 到列表19中且数据分组被存贮到缓存器17中。\nT4:第二个状态803内的转变。\n一个收到的数据分组其标志"R"被置为0,并以正确的序列次序到达。 然后数据分组被直接从网络转发,且收到的数据分组的SA/DA组合的当 前序列编号"NRexp"以一步长被增加,通常为加1。\nT5:从第二个状态803到第三个状态805的转变。\n收到的数据分组的标志"R"被置为0,但是其序列编号"NSpack"在列表 19中此分组的源地址和目的地址组合的当前序列编号"NRexp"之后。然后 数据分组被存贮在缓存器17中,且也被提供一个等于当前时间的时间指 示。\nT6:第二个状态803内的转变。\n一个收到的数据分组具有列表19中被存储的此数据分组的源地址和 目的地址组合的当前序列编号之前的一个序列编号"NSpack"。此数据分组 明显地过晚到达且已经被跳过,并因此能被丢弃。\nT7:第三个状态805内的转变。\n此处一个被接收的数据分组的标志"R"被置为0,且它自己的序列编号 "NSpack"等于列表19中对此数据分组的源地址和目的地址组合存储的当 前序列编号"NRexp"。然后,此数据分组可以被直接转发,因为它以正确 的序列次序抵达。进而,存贮在缓存器17中的第一个数据分组,对于其 序列次序的检查可以作为一个新的数据分组对待并可能从网络转发。\nT8:从第三个状态805到第二个状态803的转变。\n一个收到的数据分组的标志"R"被置为0,且其序列编号"NSpack"等于 列表19中该数据分组的源地址和目的地址组合的被存储的当前序列编号 "NRexp"。进而,缓存器17中存贮的具有此源地址和目的地址组合的数据 分组,具有等于紧随当前序列编号"NRexp"之后的值。然后鉴于对于此源 地址和目的地址组合不再有任何存储在缓存器17中的数据分组,这两个 数据分组都可以被转发。列表19中相应的指示器,见图5,随后可以被 改变,例如复位。进而,当前序列编号"NRexp"增加两个步长,即通常为 2。\nT9:第三个状态805内的转变。\n一个收到的数据分组的标志"R"被置为0,且进而其序列编号"NSpack" 大于存储在列表中的该数据分组的源地址和目的地址组合的当前序列编 号"NRexp"。此数据分组没有正确的序列次序并因此被存贮在缓存器17 中。如果数据分组已经被存储在缓存器中,新的数据分组以相对于已经存 储的分组或分组们的正确的序列次序被存贮。进而,连同此分组一起,一 个指示当前时间的时间指示被存贮。\nT10:第三个状态805内的转变。\n一个收到的数据分组的标志"R"被置为1,且进而在缓存器17中存在 更多对应于抵达的数据分组的源地址和目的地址组合的数据分组。标志的 值指示了一个序列编号的重起动,并且因此数据分组可以直接从网络被转 发,而存储在缓存器中的分组可以被丢弃,且状态指示器,见图5,被设 置为指示没有分组被存贮的值。\nT11:从第三个状态805到第二个状态803的转变。\n对于一定的源地址和目的地址组合,一个单一的数据分组被存贮在缓 存器17中。进而,对于此数据分组,时间周期已经逝去,即当前时间与 连同数据分组被存贮在缓存器17中的时间指示之间的时间差太大了,即 超过了一预定义值。然后,此数据分组被转发,且该源地址和目的地址组 合的当前序列编号"NRexp"被置为紧随刚被转发的数据分组的序列编号 "NSpack"之后的值,即通常等于"NSpack+1"。然后对于此源地址和目的地 址组合,不再有一个被存储在缓存器17中的数据分组。\nT12:从第三个状态805到第二个状态803间的转变。\n对于一定的源地址和目的地址组合,几个数据分组被存贮在缓存器17 中。进而第一个被存储的数据分组一起太旧了,即当前时间与连同数据分 组被存储在缓存器中的时间之间的差超过了一预定义值。然后,这个最旧 的数据分组被转发,且列表19中此源地址和目的地址组合的当前序列编 号"NRexp"被置为紧随被转发的数据分组的序列编号"NSpack"之后的值, 即通常等于"NSpack+1"。其后,在缓存器17中此源地址和目的地址组合 的下一个数据分组被作为一新被接收的数据分组处理。\n图8中展示的状态机也以图9-12中的相应流程图来解释。此处,图9 展示了一个第一个过程,而图10和11更详细地解释了两个子过程。图12 和图7解释了与图9过程并行执行的过程,它可能被合并到这个过程中。\n在图9中,在输入/输出端口3中的输出逻辑中执行的主要过程以在 开始块901中启动的流程图的形式被解释。其后,在块903中列表9被重 置,即其中的所有记录被擦除。然后在块905中等待接收一个通过网络被 传输的新的数据分组。当这样一个数据分组抵达时,以某种方式对收到的 数据分组确定源地址和目的地址。然后在块909中检查此源地址和目的地 址组合是否已经存储在列表19中。在最简单的情况下,块907和909可 以被如下方法替换,即只确定收到的数据分组在网络中的源地址,且列表 19只包括随后被搜索的等同于收到的分组的源地址的不同的激活源地 址。如果在块909中判定,此源地址和目的地址组合存贮在列表中,在列 表19中包含此源地址和目的地址组合的记录中,涉及当前时间的信息被 插入末次活动的域中。\n然后在块913中确定收到的数据分组是否其标志"R"被置为1。如果判 定不是这种情况,即无序列编号的重起动对此数据分组有效,或此分组有 一个新的序列中的首个序列编号,它在块915中被测试是否收到的数据分 组以正确的序列次序抵达。这样,数据分组的序列编号"NSpack"被测试, 且如果此编号小于存储在列表19中的此源地址和目的地址组合的当前序 列编号"NRexp",则数据分组以某种方式抵达过晚,并因此在块917中可 被丢弃。然后,过程继续到块905,以等待接收通过网络被传输的一个新 的数据分组。\n如果在块915中判定数据分组的序列编号"NSpack"符合此源地址和目 的地址组合的当前序列编号"NRexp",则数据分组以正确的序列次序抵 达,并因此可以在块919中被转发。然后,当前序列编号"NRexp"被增加 到其后继值,即它通常被设置为"NRexp+1"和"NSexp+1"。进而,在块920 中,执行一个从缓存器17转发的过程,如果其中有被存贮的,在被转发 的数据分组后顺序到达的数据分组的话。这个过程在图11中以流程图的 方式详细解释。然后,过程继续到块905,以等待接收一个新的通过网络 传输的数据分组。\n如果在块915中,最终判定收到的数据分组的序列编号"NSpack"大于 存贮的此数据分组的源地址和目的地址组合的当前序列编号"NRexp",数 据分组被存储到缓存器17中,它被表示在块921中。相应的过程在图10 中用流程图详细解释。然后,过程继续到块905以等待一个新的,通过网 络传输的数据分组的抵达。\n如果在块913中判定,收到的数据分组的标志"R"被置为1,即执行了 序列编号重起动,某些差错已经发生,且随后在块923中,所有存贮在缓 存器17中的,具有此源地址和目的地址组合的数据分组被丢弃。然后, 接收的数据分组被转发,且当前序列编号"NRexp"被置为等于相应于收到 的数据分组的序列编号"NSpack"之后到来的序列编号的序列编号。在此之 后,过程重新继续到块905,以等待接收一个新的抵达数据分组。\n如果在块909中判定,在收到的数据分组中的源地址和目的地址组合 已经不在列表19中,在块925中,该新的源地址和目的地址组合被插入 列表19中。在列表19中,当前时间被存储到此源地址和目的地址组合的 末次活动域中。然后在块927中测试收到的数据分组的标志"R"是否等于 1。如果为真,在块929中,数据分组可以被转发,且列表19中此源地址 和目的地址组合的当前序列编号"NRexp"被置为紧随收到的数据分组的序 列编号"NSpack"之后的一个值,即通常为"NSpack+1"。然后,在块905中 过程继续等待接收一个新的数据分组。\n如果在块927中判定收到的数据分组的标志"R"未被置为1,此分组必 然属于一个新的序列编号序列,它的第一个数据分组尚未被接收。然后, 在块931中,收到的数据分组被存贮在缓存器17中,列表19中相应的指 示器和指针被设置。然后,在块905中过程重新继续以等待接收一个新的 数据分组。\n在图10中,解释了图9中流程图中块929中执行的过程的一个流程 图。此处,在块1001中,测试是否有任何如收到的数据所给出的源地址 和目的地址组合的数据分组已经被存贮在缓存器中。如果判定没有,则在 块1003中,列表19中的指示器指示至少一个被存储在缓存器中的数据分 组被改变,数据分组被存储在缓存器17中,且一个指针被插入包含一此 数据分组地址的列表19中。进而,在块1005中,一个关联被存贮数据分 组的当前时间的指示被插入。然后,过程终止。如果在块1001中判定, 此源地址和目的地址组合的数据分组已经被存储在缓存器中,在块1007 中,数据分组以相对于已经存贮在缓存器17中的数据分组的正确序列次 序被存贮。然后,过程同上继续到块1005,以为刚才存贮的数据分组插 入一个时间指示。\n在图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"相比较。\n与图9中解释的过程平行,执行该过程以监视列表19中没有太旧的 记录。此过程同于在图7中解释并在上面已经被描述的输入逻辑中对列表 9有效的过程。但是所使用的是另一个预定义的时间周期。同时,还运行 一个过程用于检查有没有太旧的数据分组存贮在缓存器17中。相应的过 程用图12的流图解释,此处在块1201中检查,对于某些源地址和目的地 址组合,是否有存储在缓存器17中的第一个数据分组的时间指示变得太 旧,即当前时间和数据分组的时间指示之间的时间差大于一预定义的值。 如果对于一个数据分组是这种情况,在块1203中转发此数据分组,且进 而,此数据分组的源地址和目的地址组合的当前序列编号"NRexp"被改 变,并置为等于紧随被转发的数据分组的序列编号"NSpack"之后的值,它 通常是其序列编号"NSpack"加1。
法律信息
- 2014-07-16
专利权有效期届满
IPC(主分类): H04L 12/56
专利号: ZL 94192461.0
申请日: 1994.06.14
授权公告日: 2002.06.26
- 2002-06-26
- 1996-07-03
- 1996-06-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1985-12-04
| | |
2
| | 暂无 |
1990-12-19
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |