JP2004080139A - Method for controlling sequence of packet in multi-link communication system - Google Patents

Method for controlling sequence of packet in multi-link communication system Download PDF

Info

Publication number
JP2004080139A
JP2004080139A JP2002234694A JP2002234694A JP2004080139A JP 2004080139 A JP2004080139 A JP 2004080139A JP 2002234694 A JP2002234694 A JP 2002234694A JP 2002234694 A JP2002234694 A JP 2002234694A JP 2004080139 A JP2004080139 A JP 2004080139A
Authority
JP
Japan
Prior art keywords
packet
sequence number
seqno
packets
arrived
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
Application number
JP2002234694A
Other languages
Japanese (ja)
Other versions
JP3807614B2 (en
Inventor
Keita Tabata
田畑 慶太
Yoji Kishi
岸 洋司
Takeshi Kitahara
北原 武
Shinichi Nomoto
野本 真一
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.)
KDDI Research Inc
Original Assignee
KDDI R&D Laboratories Inc
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 KDDI R&D Laboratories Inc filed Critical KDDI R&D Laboratories Inc
Priority to JP2002234694A priority Critical patent/JP3807614B2/en
Publication of JP2004080139A publication Critical patent/JP2004080139A/en
Application granted granted Critical
Publication of JP3807614B2 publication Critical patent/JP3807614B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable an unarrived packet and an erased packet to be distinguished without monitoring the waiting states of all the packets under the sequence control of the packets and to enable a packet transfer delay due to waiting for an erased packet to be reduced. <P>SOLUTION: The sequence number of the packet reached at present time point, the sequence number (expected<SB>-</SB>seqno) expected to reach next, the minimum sequence number of the packet existing in a buffer, the sequence number (arrived<SB>-</SB>seqno [i]) of the packet reached at last at a port of a transmission line i, and the minimum sequence number of the arrived<SB>-</SB>seqno [i] are managed. A sequence control algorithm judges erasure of the unarrived packet when the packets of a sequence number larger than the expected<SB>-</SB>seqno arrived from all the transmission lines A, B and C, and a transfer process of the packet in the buffer is advanced. If the packet exists in the buffer, a time-out algorithm is performed at each predetermined time. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、マルチリンク通信システムにおけるパケットの順序制御方法に関し、特に、マルチリンク通信システムにおけるパケットの順序制御において、すべてのパケットの待ち状態を監視することなく未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、消失パケットを待つことによるパケット転送遅延を減少させることができる、マルチリンク通信システムにおけるパケットの順序制御方法に関する。
【0002】
【従来の技術】
パケット通信において、ノード間での通信に複数の伝送路を並列に利用することが可能な場合、複数の伝送路の各々の空き状況をみながら各伝送路にパケットを分配し、負荷分散を行うことによりスループットを向上させることができる。
【0003】
その際、送信側ノードにおいて順次生成したパケットがそのままの順序で受信側ノードに到着するという保証はなく、受信側ノードに到着するパケットに順序逆転が発生するのが普通である。これは、送信側ノードにおいて同一時間に生成されたパケットでも、複数の伝送路間の速度差や送信パケットの大きさによって、受信側ノードへの到着時間に差異が生じることに起因している。
【0004】
この対策として、送信側ノードにおいて各伝送路にパケットを分配する際、パケットに各パケットの生成順序を示すシーケンス番号を付与して順次送出し、受信側ノードにおいて各パケットに付与されているシーケンス番号を利用して順序制御を行うことが一般的に行われている。
【0005】
この順序制御のために、受信側ノードに順序制御用のバッファを用意する。到着したパケットのシーケンス番号を確認し、該シーケンス番号が順序通りのものであるなら、該パケットをそのまま上位レイヤ(IPレイヤ)に転送し、そうでない場合は、該パケットを一旦バッファ内に取り込む。バッファ中にパケットが存在する場合、パケットが到着するごとにバッファの内容を確認し、連続するシーケンス番号順に整えてパケットを上位レイヤに転送する。このように順序制御を行うことにより、上位レイヤは、連続するシーケンス番号順のパケットを受けることができる。
【0006】
このように、ノード間で複数の伝送路を並列に利用してパケット通信を行う場合、パケットの順序制御を行う方法として、送信側ノードにおいて、パケットに各パケットの生成順序を示すシーケンス番号を付与して送出し、受信側ノードでシーケンス番号に基づいて順序制御を行う方式が一般的であり、順序制御を効率よく行うために、各種方式が提案されている。
【0007】
特開平5−110600号公報には、各リンクの受信側通信制御装置相互間を同報バスで接続し、次に取り込むべきパケットのシーケンス番号を互いに通知し合うことにより、各受信側通信制御装置で平行して順序制御を行い、パケットの取り込みに要する時間を短縮する、受信パケットの順序制御方法が提案されている。
【0008】
また、特開平5−103011号公報には、相手通信制御プロセッサの障害を早期に検出することを目的とし、すべてのパケットの制御状態を管理し、通信制御プロセッサ間のパケット転送を効率的に行う通信制御プロセッサ間パケット転送制御方式が提案されている。
【0009】
【発明が解決しようとする課題】
しかしながら、特開平5−110600号公報で提案されている受信パケットの順序制御方法は、パケット消失の際の対応が考慮されていないため、これをシステムの通信環境が不安定な無線区間に導入した場合、パケットが消失した場合の遅延時間が大きくなる。これにより提案されている受信パケットの順序制御方法を含めて、従来の順序制御方法は、パケット損失率の少ない有線網での利用を前提としているため、パケット損失への対応が困難であるという問題がある。
【0010】
また、特開平5−103011号公報で提案されている通信制御プロセッサ間パケット転送制御方式は、すべてのパケットの到着管理を行うものであるため、平常時でもパケットの処理遅延が大きくなるという問題があり、高速処理が要求されるシステムには向いていない。
【0011】
本発明の目的は、パケットの順序制御において、すべてのパケットの待ち状態を監視することなく未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、消失パケットを待つことによるパケット転送遅延を減少させることができる、マルチリンク通信システムにおけるパケットの順序制御方法を提供することにある。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明は、ノード間での通信を複数の伝送路を並列に利用して行い、受信側ノードにおいてバッファを用い、到着したパケットの順序制御を各パケットに付与されているシーケンス番号に基づいて行う、マルチリンク通信システムにおけるパケットの順序制御方法において、送信側ノードにおいて、パケットの生成順にそって各パケットにシーケンス番号を付与し、受信側ノードにおいて、現時点で到着したパケットのシーケンス番号、次に上位レイヤに引き上げるべきパケットのシーケンス番号、前記バッファに存在するパケットの最小のシーケンス番号、各伝送路ごとの最後に到着したパケットのシーケンス番号、各伝送路ごとに最後に到着したパケットのシーケンス番号の最小値、のシーケンス番号の管理を行い、これらのシーケンス番号を用い、未到着のパケットが消失したと判断した時点で該パケットの到着をあきらめた順序制御の順序制御アルゴリズムを実行する点に第1の特徴がある。
【0013】
また、本発明は、さらに、前記バッファ中にパケットが存在する場合には、一定時間ごとにタイムアウトアルゴリズムを実行する点に第2の特徴がある。
【0014】
また、本発明は、前記順序制御アルゴリズムが、前記複数の伝送路から到着したパケットのシーケンス番号すべてが、次の到着が予定されるパケットのシーケンス番号を越えたとき、各伝送路ごとの最後に到着したパケットのシーケンス番号の最小値以下の未到着のパケットを消失したパケットと判断し、該パケットの到着を待つことなく、前記バッファ中に存在する該最小値以下のシーケンス番号のパケットを上位レイヤに転送する処理を含む点に第3の特徴がある。
【0015】
また、本発明は、前記タイムアウトアルゴリズムが、前記バッファ中に存在するパケットがタイムアウトとなったとき、該タイムアウトしたパケットのシーケンス番号以下の未到着のパケットの到着を待つことなく、該タイムアウトとなったパケットのシーケンス番号以下のシーケンス番号の前記バッファ中に存在するパケットを上位レイヤに転送する処理を含む点に第4の特徴がある。
【0016】
また、本発明は、前記タイムアウトアルゴリズムにおけるタイムアウトの時間が、パケットの到着を待っている伝送路の中で最も伝送速度の低い伝送路で最大サイズのパケットを伝送する場合の伝送遅延時間である点に第5の特徴がある。
【0017】
さらに、本発明は、前記タイムアウトアルゴリズムにおけるタイムアウトの時間を、伝送路の伝送速度に応じて動的に変更する点に第6の特徴がある。
【0018】
第1の特徴によれば、前記5つのシーケンス番号を管理し、順序制御アルゴリズムを実行することにより、すべてのパケットの待ち状態を監視することなく未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、消失パケットを待つことによるパケット転送遅延を減少させることができる。
【0019】
また、第2、4の特徴によれば、バッファ中に存在するパケットがタイムアウトとなった時点で、該タイムアウトしたパケットのシーケンス番号以下の未到着のパケットの到着を待つことなく処理を進めることができ、パケット転送遅延を減少させることができる。
【0020】
また、第3の特徴によれば、複数の伝送路から到着したパケットのシーケンス番号すべてが、次の到着が予定されるパケットのシーケンス番号を越えた時点で、最後に到着したパケットのシーケンス番号の最小値以下の未到着のパケットは消失したと判断できるため、そのような未到着のパケットの到着を待つことなく処理を進めることができる。
【0021】
また、第5の特徴によれば、タイムアウトの時間を適切に設定することができる。
【0022】
さらに、第6の特徴によれば、伝送路の伝送速度が動的に変化しても、タイムアウトの時間を伝送路の伝送速度に対応した値に変更することにより、パケットの転送遅延を実際の運用に合わせて少なくすることができる。
【0023】
【発明の実施の形態】
以下、図面を参照して本発明を詳細に説明する。図1は、本発明による順序制御方法を示す概念図であり、ここでは、一例として、送信側ノードと受信側ノード間を3本の並列する伝送路A、B、Cによって接続するマルチリンク通信システムを仮定している。送信側ノードでは生成したパケットを3本の伝送路A、B、Cに分配する。その際、パケットの生成順に従って各パケットにシーケンス番号を付与する。各伝送路A、B、Cに分配されたパケットは、それぞれの伝送速度に合わせてバッファリングされて受信側ノードに伝送される。
【0024】
従来の順序制御においては、シーケンス番号と各伝送路との対応を考えずに、1つの連続する番号として管理しているが、本発明では、受信側ノードにおいて、各伝送路ごとに到着したパケットのシーケンス番号を管理し、これらのシーケンス番号を用いて順序制御アルゴリズムおよびタイムアウトアルゴリズムを実行する。これにより、未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、未到着のパケットを待つことによるパケット転送遅延を減少させることができる。
【0025】
また、伝送路の速度が動的に変化しても、タイムアウトアルゴリズムにおけるタイムアウトの時間を伝送路の速度に対応した値に変更することにより、パケットの転送遅延を実際の運用に合わせて少なくすることができる。
【0026】
本発明の順序制御方法について具体的に説明する。
送信側ノードにおいては、リンクを通過するトラフィックを、各伝送路の伝送速度に応じてパケット単位で各伝送路に分配する。例えば伝送路A、B、Cの伝送速度が3:2:1であるならば、分配するパケットも3:2:1にする。その際、パケットの生成順に従って独自のシーケンス番号を各パケットのヘッダに付加する。一方、受信側ノードでは、到着したパケットをバッファリングし、順序制御アルゴリズムによって順序を整えてから上位レイヤに転送する。
【0027】
順序制御アルゴリズムは、現時点で到着したパケットのシーケンス番号 seqnoを中心とする以下の(1)〜(5)の5つのパラメータを管理して順序制御を行うものであり、これによりパケットが消失した際にも待ち時間の少ない順序制御を実現する。
(1)seqno :現時点で到着したパケットのシーケンス番号
(2)expected_seqno :次に到着することが期待されているシーケンス番号
(3)min_buffer_seqno :受信バッファに存在する最小のシーケンス番号
(4)arrived_seqno[i] :伝送路iのポートに最後に到着したパケットのシーケンス番号(=伝送路iのポートに到着している最大の seqno のパケット)
(5)arrived_minimum :arrived_seqno[i] の中で最も小さいシーケンス番号
【0028】
図2は、一例として、シーケンス番号1〜6のパケットが順次送出された場合の受信側ノードでのシーケンス番号の挙動を示している。本例は、まず、伝送路Aのポート(Port)0へ1番のパケットが到着し、伝送路Bのポート1への2番目のパケットが未到着のまま、伝送路Cのポート2への3番目のパケットが到着し、続いて4番、5番、6番のパケットがそれぞれポート0、1、2へ到着した場合を想定している。
【0029】
ポート0への1番のパケットは、到着と同時に上位レイヤ(IPレイヤ)に転送され、ポート2への3番目のパケットは、2番のパケットが未到着であるため、受信バッファ内に格納される。
【0030】
4番、5番、6番のパケットがそれぞれポート0、1、2へ到着した時点で、seqno=6、expected_seqno=2、min_buffer_seqno=3となる。また、arrived_seqno[i] はそれぞれ、arrived_seqno[A]=4、arrived_seqno[B]=5、arrived_seqno[C]=6となり、arrived_minimum=arrived_seqno[A]=4である。
【0031】
順序制御アルゴリズムは、これらのシーケンス番号を管理し、順序制御を行う。図3は、本発明の順序制御アルゴリズムの一例を示すフローチャートであり、パケットが到着したときに実行される。以下、このフローに沿って説明する。
【0032】
まず、伝送路iのポートに seqno のパケットが到着した場合、該 seqno を、arrived_seqno[i] とする(S1)。次に、seqno が expected_seqno 以下であるか否かを判断する(S2)。なお、後述のタイムアウトアルゴリズムやエラーなどにより、seqno が expected_seqno より小さいこともあり得るが、これはまれである。S2で、seqno が expected_seqno 以下でないと判断すれば、到着したパケット、すなわち、 seqno のパケットを受信バッファに格納し、該パケットにタイムスタンプを設定する(S3)。このタイムスタンプは、後述するタイムアウトアルゴリズムで用いられる。
【0033】
次に、すべての伝送路iの arrived_seqno[i] が expected_seqno より大きいか否かを判断し(S4)、大きくないと判断すれば、パケット受信待ち状態に戻る(S5)。また、S4で、すべての伝送路iの arrived_seqno[i] が expected_seqno より大きいと判断すれば、すべての伝送路iの arrived_seqno[i] を arrived_minimum とした(S6)後、arrived_minimum 以下のパケットをすべて上位レイヤ(IPレイヤ)に転送する(S7)。続いて expected_seqno を arrived_minimum+1とする。
【0034】
以上のS4〜S8のステップは、arrived_minimum 以下の未到着のパケットは消失されたとしてそれらの到着をあきらめ、バッファ中に存在する arrived_minimum 以下のパケットをすべて上位レイヤに転送する処理〔A〕である。arrived_minimum 以下の未到着のパケットの到着をあきらめるのは、1つの伝送路ではパケットの順序逆転が発生しないことを根拠としている。S8に続いて、受信バッファ内の残りのパケットを順序に従って上位レイヤに転送する処理〔B〕を実行する。
【0035】
S2で、seqno が expected_seqno 以下であると判断すれば、到着したパケット、すなわち、 seqno のパケットを上位レイヤに転送し(S9)する。なお、ここでは expected_seqno より小さい seqno のパケットも廃棄することなく、上位レイヤに転送して上位レイヤでの処理に委ねることとしている。次に、seqno が expected_seqno に等しいか否かを判断する(S10)。ここで、seqno がexpected_seqno に等しくないと判断すれば、パケット受信待ち状態に戻る(S5)。また、S10で、seqno が expected_seqno に等しいと判断すれば、expected_seqno+1を新たな expected_seqno とした(S11)後、受信バッファ内のパケットを順序に従って上位レイヤに転送する処理〔B〕を実行する。
【0036】
処理〔B〕においては、受信バッファ内に expected_seqno のパケットが存在するか否かを判断し(S12)、それが存在すれば当該パケットの上位レイヤへの転送(S13)および expected_seqno+1を新たな expected_seqno とする更新処理(S14)を繰り返し実行し、受信バッファ内に expected_seqno のパケットが存在しなくなれば、パケット受信待ち状態に戻る(S5)。
【0037】
このように、図3の順序制御アルゴリズムは、1つの伝送路ではパケットの順序逆転が発生しないことを利用し、すべての伝送路から到着したパケットのシーケンス番号が expected_seqno より大きくなった場合には、arrived_minimum 以下の未到着のパケットをあきらめ、受信バッファ中の arrived_minimum 以下のパケットを転送する(図3の〔A〕部分)。また、受信バッファ中の残りのパケットは順序制御して転送する(図3の〔B〕部分)。
【0038】
図4は、受信バッファ中にパケットが存在する場合に、一定時間ごとに実行する、本発明のタイムアウトアルゴリズムの一例を示すフローチャートである。このタイムアウトアルゴリズムに従って、受信バッファ中に、指定した許容待ち時間を越えるパケットが存在する場合、その中でタイムアウトから最も経過時間の長いパケットのシーケンス番号を expected_seqno とし、その後、受信バッファ中に存在する expected_seqno 以下のパケットを上位レイヤに転送し、expected_seqno から連続するパケットを上位レイヤ(IPレイヤ)に順次転送する。
【0039】
以下、図4のフローに沿って説明する。受信バッファ中にパケットが存在する場合に、一定時間ごとに割り込み処理を開始し、受信バッファ中に、指定した許容待ち時間を越えたパケットが存在するか否かを判断する(S15)。指定した許容待ち時間を越えたか否かは、 前記S3で設定されたタイムスタンプに基づいて判断できる。
【0040】
許容待ち待ち時間としては、パケットの到着を待っている伝送路の中で最も伝送速度の低い伝送路で最大サイズのパケットを送信する場合の伝送遅延時間とすることができる。この伝送遅延時間、すなわち、これ以上待っても当該伝送路にパケットが到着しないと判断する時間をタイマ値としてセットし、このタイマ値を基準にしてS15での判断を行うことができる。
【0041】
S15で、受信バッファ中に、指定した許容待ち時間を越えたパケットが存在しないと判断すれば、パケット受信待ち状態に戻り(S5)、存在すると判断すれば、タイムアウトしたパケットの中で、最も経過時間の長いパケットの_seqno を expected_seqno とする(S16)。
【0042】
次に、min_buffer_seqno が S16で設定された expected_seqno 以下であるか否かを判断し(S17)、min_buffer_seqno が expected_seqno 以下であると判断すれば、処理〔C〕を実行し、以下でないと判断すれば、expected_seqno+1を新たな expected_seqno とした(S18)後、処理〔D〕を実行する。
【0043】
処理〔C〕は、 expected_seqno 以下の未到着のパケットの到着をあきらめる処理であり、S17、S19、S20のループにより、min_buffer_seqno のパケットの上位レイヤへの転送(S19)および min_buffer_seqno の更新(S20)を繰り返し実行して、受信バッファ中に存在する expected_seqno 以下のパケットを上位レイヤに順次転送する。
【0044】
処理〔D〕は、S16で置き換えられた expected_seqno の次から連続する、受信バッファ中のパケットを上位レイヤに順次転送する処理であり、まず、受信バッファ中に expected_seqno (=expected_seqno+1) のパケットが存在するか否かを判断する(S21)。受信バッファ中に expected_seqno のパケットが存在しないと判断すれば、パケット受信待ち状態に戻り(S5)、存在すると判断すれば、S21、S22、S23のループにより、これが存在しなくなるまで当該パケットの上位レイヤへの転送(S22)および expected_seqno+1を新たな expected_seqno とする更新処理(S23)を繰り返し実行する。
【0045】
次に図5および図6を参照して、順序制御アルゴリズムの動作の一具体例について説明する。図5は、ある時点におけるパケットの到着の流れの一例を示している。本例では、伝送路AとBから1番と2番のパケットが順序通りに到着し、続いて伝送路Aから5番と7番のパケットが到着し、伝送路Cから9番のパケットが到着し、伝送路Bから10番のパケットが到着して、3番、4番、6番、8番のパケットは未到着の場合を想定している。
【0046】
伝送路AとBから到着した1番と2番のパケットは、順序通りであるので直ちに上位レイヤに転送される(S9)。伝送路Aから到着した5番と7番のパケットおよび伝送路Cから到着した9番のパケットは、未到着の3番のパケットがまだ伝送路Bから到着する可能性があるため、受信バッファ内に格納される。
【0047】
伝送路Bから10番のパケットが到着した時点で、seqno=10、expected_seqno=3、min_buffer_seqno=5となる。また、arrived_seqno[i] はそれぞれ、arrived_seqno[A]=7、arrived_seqno[B]=10、arrived_seqno[C]=9となり、arrived_minimum=arrived_seqno[A]=7である。
【0048】
この時点で、すべての伝送路A、B、Cのポートに expected_seqno(=3)よりシーケンス番号の大きなパケットが到着したことになり、未到着のパケット3番、4番、6番は、遅延しているのではなく、消失したと判断する(S4)。
【0049】
その後、順序制御アルゴリズムに従い、受信バッファ中に存在する arrived_min=arrived_seqno[A]=7までのパケットを上位レイヤに順次転送する(S7)。本例では、5番と7番のパケットが上位レイヤに転送される。
【0050】
図6は、5番と7番のパケットが転送された直後の状態を示している。この状態では、seqno=10、expected_seqno=8、min_buffer_seqno=9となる。また、arrived_seqno[i] は転送前と変わらずそれぞれ、arrived_seqno[A]=7、arrived_seqno[B]=10、arrived_seqno[C]=9であり、arrived_minimum=arrived_seqno[A]=7である。
【0051】
前記のように、5番と7番のパケットを上位レイヤに転送し、3番、4番、6番のパケットの到着は、図3の処理〔A〕に従ってあきらめている。本例では、8番のパケットも消失していることを想定しているが、順序制御アルゴリズムにおいては、8番のパケットがまだ伝送路Aから到着する可能性があると判断するため、9番、10番のパケットは受信バッファ中で待機し、新たなパケットの到着を待つことになる。
【0052】
次に、図7および図8を参照して、タイムアウトアルゴリズムの動作の一具体例について説明する。本例は、伝送路AとBから1番と2番が順序通り到着し、続いて伝送路Aから5番と7番のパケットが到着し、伝送路Bから8番のパケットが到着し、3番、4番、6番のパケットは未到着である場合を想定している。
【0053】
伝送路AとBから到着した1番と2番のパケットは、直ちに上位レイヤに転送される(S9)。また、5番と7番と8番のパケットは、3番のパケットがまだ伝送路Cから到着する可能性があるため、受信バッファに格納される。
【0054】
伝送路Bから8番のパケットが到着したとき、seqno=8、expected_seqno=3、min_buffer_seqno=5となる。また、arrived_seqno[i] はそれぞれ、arrived_seqno[A]=7、arrived_seqno[B]=8となり、arrived_minimum=arrived_seqno[A]=7である。
【0055】
ここで、もし伝送路Cから9番のパケットが到着した場合には、前記の順序制御アルゴリズムに従って3番、4番、6番のパケットの到着をあきらめ、5番のパケットを上位レイヤに転送する(S7)。しかし、その前に5番のパケットがタイムアウトになり(S15)、タイムアウトアルゴリズムが実行されたと仮定すると、5番のパケットは、タイムアウトアルゴリズムによって上位レイヤに転送される(S19)。本例では、図4のタイムアウトアルゴリズムによって上位レイヤに転送されるのは5番のパケットのみである。
【0056】
図8は、5番のパケットが上位レイヤに転送された直後の状態を示している。この状態では、seqno=8、expected_seqno=6、min_buffer_seqno=7となる。また、arrived_seqno[i] は転送前と変わらずそれぞれ、arrived_seqno[A]=7、arrived_seqno[B]=8であり、arrived_minimum=arrived_seqno[A]=7である。
【0057】
前記のように、5番のパケットが上位レイヤに転送され、3番、4番のパケットの到着は、図4の処理〔C〕に従ってあきらめる。本例でも、順序制御アルゴリズムの場合と同様に、6番のパケットも消失していることを想定しているが、受信バッファに存在する7番、8番のパケットとも、まだタイムアウトする時間ではなく、6番のパケットがまだ伝送路Cから到着する可能性があると判断されるため、7番、8番のパケットは受信バッファ中で待機し、新たなパケットの到着を待つことになる。この際の7番、8番の待ち時間は、伝送路Cに最大サイズのパケットが送信されたと仮定したときの伝送完了にかかる時間とすることができる。
【0058】
以上では、順序制御アルゴリズムとともにタイムアウトアルゴリズムを実行する実施形態について説明したが、順序制御アルゴリズムのみの実行でもパケット転送遅延を減少させることができ、この場合にはS3におけるタイムスタンプの設定は不要である。
【0059】
本発明は、各伝送路ごとに到着したパケットのシーケンス番号を管理し、それらシーケンス番号を用いて順序制御アルゴリズムおよびタイムアウトアルゴリズムを実行することにより、パケットの消失をも考慮して転送遅延を減少させるという特徴を有するものであり、パケット損失率の比較的大きい無線マルチリンクシステム、例えば無線ノード間を結ぶ無線リンクが複数の無線チャネルによって構成される無線マルチリンク構成の加入者系無線アクセスシステムなどの広帯域固定無線アクセスシステム(FWA:fixed wireless access)に適用して有効であるが、パケットの消失が考えられる有線マルチリンク構成のシステムにも適用することができる。
【0060】
【発明の効果】
以上の説明から明らかなように、本発明によれば、伝送路ごとに到着したパケットの最新のシーケンス番号を管理することにより、パケットの順序制御を行う場合にすべてのパケットの待ち状態を監視することなく未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、消失パケットを待つことによるパケット転送遅延を減少させることができる。
【図面の簡単な説明】
【図1】本発明による順序制御方法を示す概念図である。
【図2】受信側ノードでのシーケンス番号の挙動の一例の説明図である。
【図3】本発明の順序制御アルゴリズムの一例を示すフローチャートである。
【図4】本発明のタイムアウトアルゴリズムの一例を示すフローチャートである。
【図5】本発明の順序制御によるパケットのある状態例を示す説明図である。
【図6】本発明の順序制御によるパケットの他の状態例を示す説明図である。
【図7】本発明のタイムアウトアルゴリズムによるパケットのある状態例を示す説明図である。
【図8】本発明のタイムアウトアルゴリズムによるパケットの他の状態例を示す説明図である。
【符号の説明】
1〜10・・・パケット、A、B、C・・・伝送路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet order control method in a multilink communication system, and in particular, in a packet order control in a multilink communication system, lost packets due to unarrived packets and transmission errors without monitoring the wait state of all packets. The present invention relates to a packet order control method in a multilink communication system, which can distinguish a packet from a packet and reduce a packet transfer delay caused by waiting for a lost packet.
[0002]
[Prior art]
In packet communication, when a plurality of transmission paths can be used in parallel for communication between nodes, a packet is distributed to each transmission path while observing the availability of each of the plurality of transmission paths to perform load distribution. This can improve the throughput.
[0003]
At this time, there is no guarantee that the packets sequentially generated at the transmitting node will arrive at the receiving node in the same order, and the order of the packets arriving at the receiving node will normally be reversed. This is because even packets generated at the same time in the transmitting node have different arrival times at the receiving node due to the speed difference between a plurality of transmission paths and the size of the transmitted packet.
[0004]
As a countermeasure, when distributing packets to each transmission path at the transmitting node, a sequence number indicating the generation order of each packet is added to the packet and the packets are sequentially transmitted, and the sequence number assigned to each packet at the receiving node is transmitted. It is generally performed to control the order by using the above.
[0005]
For this order control, a buffer for order control is prepared in the receiving node. The sequence number of the arriving packet is checked, and if the sequence number is in the order, the packet is transferred to the upper layer (IP layer) as it is, otherwise, the packet is temporarily fetched into the buffer. When a packet is present in the buffer, the contents of the buffer are checked each time a packet arrives, the packets are arranged in the order of consecutive sequence numbers, and the packets are transferred to an upper layer. By performing the order control in this way, the upper layer can receive packets in consecutive sequence number order.
[0006]
As described above, when performing packet communication using a plurality of transmission paths in parallel between nodes as described above, as a method of controlling the order of the packets, a sequence number indicating the generation order of each packet is assigned to the packet at the transmitting node. In general, a method of performing sequence control based on a sequence number at a receiving node is used, and various methods have been proposed to efficiently perform sequence control.
[0007]
Japanese Unexamined Patent Publication No. Hei 5-110600 discloses that each receiving-side communication control device is connected to each other by using a broadcast bus to connect the receiving-side communication control devices with each other and to notify each other of a sequence number of a packet to be captured next. In order to reduce the time required for capturing packets, a method for controlling the order of received packets has been proposed.
[0008]
Japanese Patent Application Laid-Open No. Hei 5-103011 discloses a technique for detecting a failure of a partner communication control processor at an early stage, managing the control state of all packets, and efficiently transferring packets between the communication control processors. A packet transfer control method between communication control processors has been proposed.
[0009]
[Problems to be solved by the invention]
However, the method for controlling the order of received packets proposed in Japanese Patent Application Laid-Open No. 5-110600 does not consider the response to packet loss, and thus introduces this method into a wireless section where the communication environment of the system is unstable. In this case, the delay time when a packet is lost increases. The conventional sequence control method, including the proposed method of controlling the order of received packets, is premised on use in a wired network with a low packet loss rate, and thus it is difficult to cope with packet loss. There is.
[0010]
Further, the packet transfer control method between communication control processors proposed in Japanese Patent Application Laid-Open No. Hei 5-103011 manages the arrival of all packets. It is not suitable for systems requiring high-speed processing.
[0011]
SUMMARY OF THE INVENTION An object of the present invention is to make it possible to distinguish between a packet that has not arrived and a packet that has been lost due to a transmission error without monitoring the waiting state of all the packets in packet order control, and to transfer packets by waiting for a lost packet. An object of the present invention is to provide a packet order control method in a multi-link communication system that can reduce delay.
[0012]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a method for performing communication between nodes using a plurality of transmission paths in parallel, using a buffer in a receiving node, and assigning the order control of arrived packets to each packet. In the method of controlling the order of packets in a multi-link communication system based on the sequence number of a packet, the transmitting node assigns a sequence number to each packet in the order of packet generation, and the receiving node Sequence number of the packet to be raised to the next higher layer, the minimum sequence number of the packet existing in the buffer, the sequence number of the last packet arriving for each transmission path, the last arriving for each transmission path Of the sequence number of the minimum value of the There, using these sequence numbers, there is first characterized in that executing the order control algorithm of sequence control gave up the arrival of the packet at the time it is determined that the packet non-arrival disappeared.
[0013]
Further, the present invention has a second feature in that when a packet is present in the buffer, a timeout algorithm is executed at regular intervals.
[0014]
Further, the present invention provides the above-mentioned sequence control algorithm, wherein when all of the sequence numbers of the packets arriving from the plurality of transmission paths exceed the sequence numbers of the next scheduled packets, A packet having a sequence number equal to or smaller than the minimum value of the sequence number of the arriving packet is determined as a lost packet, and a packet having a sequence number equal to or smaller than the minimum value existing in the buffer is determined without waiting for the arrival of the packet. There is a third feature in that it includes a process of transferring to
[0015]
Also, the present invention provides the timeout algorithm, wherein when a packet present in the buffer times out, the timeout algorithm does not wait for an unarrived packet having a sequence number equal to or less than the sequence number of the timed out packet. A fourth feature is that the process includes a process of transferring a packet having a sequence number equal to or smaller than the sequence number of the packet and existing in the buffer to an upper layer.
[0016]
Further, the present invention is characterized in that the timeout time in the timeout algorithm is a transmission delay time when a maximum-size packet is transmitted on a transmission line with the lowest transmission speed among transmission lines waiting for the arrival of a packet. Has a fifth feature.
[0017]
Further, the present invention has a sixth feature in that the timeout time in the timeout algorithm is dynamically changed according to the transmission speed of the transmission path.
[0018]
According to the first feature, by managing the five sequence numbers and executing an order control algorithm, unarrived packets and packets lost due to transmission errors can be identified without monitoring the wait state of all packets. It is possible to make a distinction and reduce the packet transfer delay due to waiting for lost packets.
[0019]
Further, according to the second and fourth characteristics, when a packet existing in the buffer times out, the process can proceed without waiting for the arrival of an unarrived packet whose sequence number is equal to or less than the sequence number of the timed out packet. It is possible to reduce the packet transfer delay.
[0020]
Further, according to the third feature, when all the sequence numbers of the packets arriving from the plurality of transmission paths exceed the sequence numbers of the next arriving packet, the sequence number of the last arriving packet is Since it is possible to determine that a packet that has not arrived below the minimum value has been lost, the process can proceed without waiting for the arrival of such a packet that has not arrived.
[0021]
Further, according to the fifth feature, the time-out period can be appropriately set.
[0022]
Further, according to the sixth feature, even if the transmission speed of the transmission line dynamically changes, the packet transfer delay can be reduced by changing the timeout period to a value corresponding to the transmission speed of the transmission line. It can be reduced according to the operation.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a conceptual diagram showing an order control method according to the present invention. Here, as an example, multilink communication in which a transmitting node and a receiving node are connected by three parallel transmission lines A, B, and C. Assume the system. The transmitting node distributes the generated packet to three transmission paths A, B, and C. At this time, a sequence number is assigned to each packet according to the generation order of the packets. The packets distributed to each of the transmission paths A, B, and C are buffered according to the respective transmission speeds and transmitted to the receiving node.
[0024]
In the conventional sequence control, one continuous number is managed without considering the correspondence between the sequence number and each transmission path. However, in the present invention, a packet arriving for each transmission path is received at the receiving node. , And executes a sequence control algorithm and a timeout algorithm using these sequence numbers. This makes it possible to distinguish between a packet that has not arrived and a packet that has been lost due to a transmission error, and to reduce a packet transfer delay caused by waiting for a packet that has not arrived.
[0025]
Also, even if the transmission line speed dynamically changes, by changing the timeout time in the timeout algorithm to a value corresponding to the transmission line speed, the packet transfer delay should be reduced in accordance with the actual operation. Can be.
[0026]
The order control method of the present invention will be specifically described.
The transmitting node distributes traffic passing through the link to each transmission path in packet units according to the transmission speed of each transmission path. For example, if the transmission speeds of the transmission lines A, B, and C are 3: 2: 1, the packets to be distributed are also 3: 2: 1. At this time, a unique sequence number is added to the header of each packet in accordance with the order of generation of the packets. On the other hand, the receiving node buffers the arriving packet, arranges the packet using an order control algorithm, and transfers the packet to an upper layer.
[0027]
The order control algorithm manages the following five parameters (1) to (5) centered on the sequence number seqno of the packet that has arrived at the present time, and performs order control. In addition, a sequence control with a short waiting time is realized.
(1) seqno: sequence number of the packet that has arrived at the current time
(2) expected_seqno: sequence number expected to arrive next
(3) min_buffer_seqno: minimum sequence number existing in the reception buffer
(4) arrived_seqno [i]: sequence number of the last packet arriving at the port of transmission line i (= maximum seqno packet arriving at the port of transmission line i)
(5) arrived_minimum: smallest sequence number in arrived_seqno [i]
[0028]
FIG. 2 shows, as an example, the behavior of the sequence number at the receiving node when packets with sequence numbers 1 to 6 are sequentially transmitted. In this example, first, the first packet arrives at the port (Port) 0 of the transmission path A, and the second packet arrives at the port 2 of the transmission path C while the second packet does not arrive at the port 1 of the transmission path B. It is assumed that the third packet arrives, and subsequently the fourth, fifth, and sixth packets arrive at ports 0, 1, and 2, respectively.
[0029]
The first packet to port 0 is transferred to the upper layer (IP layer) upon arrival, and the third packet to port 2 is stored in the reception buffer because the second packet has not arrived. You.
[0030]
When the fourth, fifth, and sixth packets arrive at ports 0, 1, and 2, respectively, seqno = 6, expected_seqno = 2, and min_buffer_seqno = 3. Also, arrived_seqno [i] is arrived_seqno [A] = 4, arrived_seqno [B] = 5, arrived_seqno [C] = 6, and arrived_minimum = arrived_seqno [A] = 4, respectively.
[0031]
The order control algorithm manages these sequence numbers and controls the order. FIG. 3 is a flowchart showing an example of the order control algorithm of the present invention, which is executed when a packet arrives. Hereinafter, description will be made along this flow.
[0032]
First, when a seqno packet arrives at the port of the transmission line i, the seqno is set to arrived_seqno [i] (S1). Next, it is determined whether or not seqno is equal to or less than expected_seqno (S2). Note that seqno may be smaller than expected_seqno due to a timeout algorithm or an error described below, but this is rare. If it is determined in S2 that seqno is not less than expected_seqno, the arriving packet, that is, the seqno packet is stored in the reception buffer, and a time stamp is set to the packet (S3). This time stamp is used in a timeout algorithm described later.
[0033]
Next, it is determined whether or not arrived_seqno [i] of all the transmission lines i is greater than expected_seqno (S4). If not, the process returns to a packet reception waiting state (S5). Further, in S4, if it is determined that arrived_seqno [i] of all the transmission lines i is greater than expected_seqno, the arrived_seqno [i] of all the transmission lines i is set to arrived_minimum (S6), and then all the packets below the uppermost of the arrived_minimum are set. Transfer to the layer (IP layer) (S7). Subsequently, expected_seqno is set to arrived_minimum + 1.
[0034]
The above steps S4 to S8 are processing [A] in which unarrived packets equal to or less than arrived_minimum are discarded as they have been lost, and their arrival is abandoned and all packets equal to or less than arrived_minimum present in the buffer are transferred to the upper layer. The reason for giving up the arrival of unarrived packets equal to or less than "arrived_minimum" is based on the fact that the order of packets does not reverse in one transmission path. Subsequent to S8, a process [B] of transferring the remaining packets in the reception buffer to the upper layer in order is executed.
[0035]
If it is determined in S2 that seqno is equal to or less than expected_seqno, the arriving packet, that is, the seqno packet is transferred to the upper layer (S9). Note that, here, the packet of seqno smaller than expected_seqno is transferred to the upper layer without discarding, and is left to be processed by the upper layer. Next, it is determined whether or not seqno is equal to expected_seqno (S10). If it is determined that seqno is not equal to expected_seqno, the process returns to a packet reception waiting state (S5). If it is determined in step S10 that seqno is equal to expected_seqno, the process executes a process [B] of transferring the packets in the reception buffer to the upper layer according to the order, after replacing expected_seqno + 1 with a new expected_seqno (S11).
[0036]
In the process [B], it is determined whether or not an expected_seqno packet exists in the reception buffer (S12), and if it exists, the packet is transferred to an upper layer (S13) and the expected_seqno + 1 is replaced with a new expected_seqno and new expected_seqno. The update process (S14) is repeatedly executed, and when the expected_seqno packet does not exist in the reception buffer, the process returns to the packet reception waiting state (S5).
[0037]
As described above, the order control algorithm of FIG. 3 utilizes the fact that packet order inversion does not occur in one transmission path, and when the sequence number of a packet arriving from all transmission paths becomes larger than expected_seqno, It gives up the unarrived packets equal to or less than arrived_minimum and transfers the packets equal to or less than arrived_minimum in the reception buffer ([A] in FIG. 3). Also, the remaining packets in the reception buffer are transferred in a controlled order (part [B] in FIG. 3).
[0038]
FIG. 4 is a flowchart illustrating an example of the timeout algorithm according to the present invention, which is executed at regular intervals when a packet exists in the reception buffer. In accordance with this timeout algorithm, if there is a packet exceeding the specified allowable waiting time in the reception buffer, the sequence number of the packet having the longest elapsed time from the timeout is set to "expected_seqno", and then the "expected_seqno" existing in the reception buffer is set. The following packets are transferred to the upper layer, and successive packets from expected_seqno are sequentially transferred to the upper layer (IP layer).
[0039]
Hereinafter, description will be given along the flow of FIG. When there is a packet in the reception buffer, an interrupt process is started at regular intervals, and it is determined whether or not a packet exceeding the specified allowable waiting time exists in the reception buffer (S15). Whether or not the specified allowable waiting time has been exceeded can be determined based on the time stamp set in S3.
[0040]
The allowable waiting time may be a transmission delay time when a maximum-size packet is transmitted on the transmission line with the lowest transmission speed among the transmission lines waiting for the arrival of the packet. This transmission delay time, that is, the time when it is determined that a packet does not arrive on the transmission line even after waiting longer than that time is set as a timer value, and the determination in S15 can be made based on this timer value.
[0041]
In S15, if it is determined that there is no packet exceeding the specified allowable waiting time in the reception buffer, the process returns to the packet reception waiting state (S5). The _seqno of the long packet is set as expected_seqno (S16).
[0042]
Next, it is determined whether or not min_buffer_seqno is equal to or less than expected_seqno set in S16 (S17). If it is determined that min_buffer_seqno is equal to or less than expected_seqno, the process [C] is executed. After setting expected_seqno + 1 as new expected_seqno (S18), the process [D] is executed.
[0043]
The process [C] is a process of giving up the arrival of unarrived packets equal to or less than the expected_seqno. The loop of S17, S19, and S20 transfers the packet of the min_buffer_seqno to the upper layer (S19) and updates the min_buffer_seqno (S20). The packet is repeatedly executed to sequentially transfer packets below expected_seqno existing in the reception buffer to the upper layer.
[0044]
The process [D] is a process of sequentially transferring the packets in the reception buffer from the next of the expected_seqno replaced in S16 to the upper layer. First, there is a packet of the expected_seqno (= expected_seqno + 1) in the reception buffer. It is determined whether or not (S21). If it is determined that there is no expected_seqno packet in the reception buffer, the process returns to the packet reception wait state (S5). If it is determined that the packet does not exist, the upper layer of the packet is removed by the loop of S21, S22, and S23 until the packet no longer exists. (S22) and the update process (S23) in which expected_seqno + 1 is set as new expected_seqno.
[0045]
Next, a specific example of the operation of the order control algorithm will be described with reference to FIGS. FIG. 5 shows an example of the flow of packet arrival at a certain point in time. In this example, the first and second packets arrive in order from the transmission paths A and B, the fifth and seventh packets arrive from the transmission path A, and the ninth packet arrives from the transmission path C. It is assumed that the packet arrives, the 10th packet arrives from the transmission path B, and the 3rd, 4th, 6th, and 8th packets have not arrived.
[0046]
The first and second packets arriving from the transmission lines A and B are in order and are immediately transferred to the upper layer (S9). The fifth and seventh packets arriving from the transmission path A and the ninth packet arriving from the transmission path C have the possibility that an unarrived third packet may still arrive from the transmission path B. Is stored in
[0047]
When the tenth packet arrives from the transmission line B, seqno = 10, expected_seqno = 3, and min_buffer_seqno = 5. Also, arrived_seqno [i] is arrived_seqno [A] = 7, arrived_seqno [B] = 10, arrived_seqno [C] = 9, and arrived_minimum = arrived_seqno [A] = 7, respectively.
[0048]
At this point, a packet having a sequence number larger than expected_seqno (= 3) has arrived at all the ports of the transmission paths A, B, and C, and the unarrived packets 3, 4, and 6 are delayed. Instead, it is determined that it has disappeared (S4).
[0049]
Then, according to the order control algorithm, packets up to arrived_min = arrived_seqno [A] = 7 existing in the reception buffer are sequentially transferred to the upper layer (S7). In this example, the fifth and seventh packets are transferred to the upper layer.
[0050]
FIG. 6 shows a state immediately after the fifth and seventh packets have been transferred. In this state, seqno = 10, expected_seqno = 8, and min_buffer_seqno = 9. Also, arrived_seqno [i] is the same as before the transfer, arrived_seqno [A] = 7, arrived_seqno [B] = 10, arrived_seqno [C] = 9, and arrived_minimum = arrived_seqno [A] = 7.
[0051]
As described above, the fifth and seventh packets are transferred to the upper layer, and the arrival of the third, fourth, and sixth packets is abandoned according to the process [A] in FIG. In this example, it is assumed that the eighth packet is also lost. However, in the order control algorithm, since it is determined that the eighth packet may still arrive from the transmission line A, the ninth packet is lost. The 10th packet waits in the reception buffer and waits for the arrival of a new packet.
[0052]
Next, a specific example of the operation of the timeout algorithm will be described with reference to FIGS. In this example, the first and second packets arrive in order from the transmission lines A and B, the fifth and seventh packets arrive from the transmission line A, and the eighth packet arrives from the transmission line B. It is assumed that the third, fourth, and sixth packets have not arrived.
[0053]
The first and second packets arriving from the transmission paths A and B are immediately transferred to the upper layer (S9). The fifth, seventh, and eighth packets are stored in the reception buffer because the third packet may still arrive from the transmission path C.
[0054]
When the eighth packet arrives from the transmission line B, seqno = 8, expected_seqno = 3, and min_buffer_seqno = 5. Also, arrived_seqno [i] is arrived_seqno [A] = 7, arrived_seqno [B] = 8, and arrived_minimum = arrived_seqno [A] = 7, respectively.
[0055]
Here, if the ninth packet arrives from the transmission line C, the third, fourth, and sixth packets are abandoned according to the above-described sequence control algorithm, and the fifth packet is transferred to the upper layer. (S7). However, assuming that the fifth packet times out before that (S15) and the timeout algorithm is executed, the fifth packet is transferred to the upper layer by the timeout algorithm (S19). In this example, only the fifth packet is transferred to the upper layer by the timeout algorithm of FIG.
[0056]
FIG. 8 shows a state immediately after the fifth packet has been transferred to the upper layer. In this state, seqno = 8, expected_seqno = 6, and min_buffer_seqno = 7. Also, arrived_seqno [i] is the same as before the transfer, arrived_seqno [A] = 7, arrived_seqno [B] = 8, and arrived_minimum = arrived_seqno [A] = 7, respectively.
[0057]
As described above, the fifth packet is transferred to the upper layer, and the arrival of the third and fourth packets is abandoned according to the process [C] in FIG. Also in this example, as in the case of the order control algorithm, it is assumed that the sixth packet is also lost. However, both the seventh and eighth packets existing in the reception buffer are not timed out yet. , 6th packet may still arrive from the transmission path C, so that the 7th and 8th packets wait in the reception buffer and wait for the arrival of a new packet. In this case, the seventh and eighth waiting times can be the time required for the completion of transmission when it is assumed that the packet of the maximum size has been transmitted to the transmission path C.
[0058]
Although the embodiment in which the timeout algorithm is executed together with the order control algorithm has been described above, the packet transfer delay can be reduced by executing only the order control algorithm. In this case, the setting of the time stamp in S3 is unnecessary. .
[0059]
The present invention manages the sequence numbers of packets arriving for each transmission path, and executes a sequence control algorithm and a timeout algorithm using the sequence numbers, thereby reducing the transfer delay in consideration of packet loss. A wireless multi-link system having a relatively large packet loss rate, such as a wireless access system having a wireless multi-link configuration in which a wireless link connecting wireless nodes is configured by a plurality of wireless channels. The present invention is effective when applied to a fixed broadband wireless access system (FWA), but can also be applied to a system having a wired multilink configuration in which packet loss is considered.
[0060]
【The invention's effect】
As is apparent from the above description, according to the present invention, by managing the latest sequence number of a packet arriving for each transmission path, the waiting state of all packets is monitored when the order of the packets is controlled. Thus, it is possible to distinguish between a packet that has not arrived and a packet that has been lost due to a transmission error, and reduce packet transfer delay caused by waiting for a lost packet.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram showing a sequence control method according to the present invention.
FIG. 2 is an explanatory diagram of an example of a behavior of a sequence number in a receiving node.
FIG. 3 is a flowchart illustrating an example of an order control algorithm according to the present invention.
FIG. 4 is a flowchart illustrating an example of a timeout algorithm according to the present invention.
FIG. 5 is an explanatory diagram showing an example of a state of a packet by the order control according to the present invention;
FIG. 6 is an explanatory diagram showing another example of the state of the packet by the order control of the present invention.
FIG. 7 is an explanatory diagram showing an example of a state of a packet according to the timeout algorithm of the present invention.
FIG. 8 is an explanatory diagram showing another example of the state of the packet according to the timeout algorithm of the present invention.
[Explanation of symbols]
1-10: Packet, A, B, C: Transmission path

Claims (6)

ノード間での通信を複数の伝送路を並列に利用して行い、受信側ノードにおいてバッファを用い、到着したパケットの順序制御を各パケットに付与されているシーケンス番号に基づいて行う、マルチリンク通信システムにおけるパケットの順序制御方法において、
送信側ノードにおいて、パケットの生成順に従って各パケットにシーケンス番号を付与し、
受信側ノードにおいて、以下の(1)〜(5)のシーケンス番号の管理を行い、
(1)現時点で到着したパケットのシーケンス番号、
(2)次に上位レイヤに引き上げるべきパケットのシーケンス番号、
(3)前記バッファに存在するパケットの最小のシーケンス番号、
(4)各伝送路ごとの最後に到着したパケットのシーケンス番号、
(5)各伝送路ごとの最後に到着したパケットのシーケンス番号(4)の最小値、
前記(1)〜(5)のシーケンス番号を用い、未到着のパケットが消失したと判断した時点で該パケットの到着をあきらめた順序制御の順序制御アルゴリズムを実行することを特徴とする、マルチリンク通信システムにおけるパケットの順序制御方法。
Multilink communication in which communication between nodes is performed by using a plurality of transmission paths in parallel, and the receiving node uses a buffer to control the order of arrived packets based on the sequence number assigned to each packet. In a method for controlling the order of packets in a system,
At the transmitting node, a sequence number is assigned to each packet according to the packet generation order,
The receiving node manages the following sequence numbers (1) to (5),
(1) the sequence number of the packet that has arrived at the current time,
(2) the sequence number of the packet to be raised to the next higher layer,
(3) the minimum sequence number of the packet present in the buffer,
(4) the sequence number of the last packet arrived for each transmission path,
(5) The minimum value of the sequence number (4) of the last packet arrived for each transmission path,
A multi-link algorithm using the sequence numbers (1) to (5) and executing a sequence control algorithm of sequence control that gives up arrival of the unarrived packet when it is determined that the unarrived packet has been lost. A packet order control method in a communication system.
さらに、前記バッファ中にパケットが存在する場合には、一定時間ごとにタイムアウトアルゴリズムを実行することを特徴とする請求項1に記載の、マルチリンク通信システムにおけるパケットの順序制御方法。The method according to claim 1, further comprising, when a packet exists in the buffer, executing a time-out algorithm at regular intervals. 前記順序制御アルゴリズムは、前記複数の伝送路から到着したパケットのシーケンス番号すべてが、次の到着が予定されるパケットのシーケンス番号を越えたとき、各伝送路ごとの最後に到着したパケットのシーケンス番号の最小値以下の未到着のパケットを消失したパケットと判断し、該パケットの到着を待つことなく、前記バッファ中に存在する該最小値以下のシーケンス番号のパケットを上位レイヤに転送する処理を含むことを特徴とする、請求項1または2に記載のマルチリンク通信システムにおけるパケットの順序制御方法。The sequence control algorithm is configured such that when all of the sequence numbers of the packets arriving from the plurality of transmission paths exceed the sequence numbers of the next scheduled packets, the sequence number of the last packet arriving for each transmission path , Determining that a packet that has not arrived below the minimum value is a lost packet and transferring a packet having a sequence number that is less than the minimum value and that is present in the buffer to the upper layer without waiting for the arrival of the packet. 3. The packet order control method in a multilink communication system according to claim 1, wherein: 前記タイムアウトアルゴリズムは、前記バッファ中に存在するパケットがタイムアウトとなったとき、該タイムアウトしたパケットのシーケンス番号以下の未到着のパケットの到着を待つことなく、該タイムアウトとなったパケットのシーケンス番号以下のシーケンス番号の前記バッファ中に存在するパケットを上位レイヤに転送する処理を含むことを特徴とする、請求項2に記載のマルチリンク通信システムにおけるパケットの順序制御方法。The time-out algorithm, when a packet present in the buffer times out, without waiting for the arrival of an unarrived packet that is not more than the sequence number of the timed-out packet, without waiting for the sequence number of the packet that has timed out. The method according to claim 2, further comprising a step of transferring a packet having a sequence number in the buffer to an upper layer. 前記タイムアウトアルゴリズムにおけるタイムアウトの時間は、パケットの到着を待っている伝送路の中で最も伝送速度の低い伝送路で最大サイズのパケットを伝送する場合の伝送遅延時間であることを特徴とする、請求項2または4に記載のマルチリンク通信システムにおけるパケットの順序制御方法。The time-out time in the time-out algorithm is a transmission delay time when a maximum-size packet is transmitted on a transmission line with the lowest transmission speed among transmission lines waiting for the arrival of a packet. Item 5. A method for controlling the order of packets in a multilink communication system according to item 2 or 4. 前記タイムアウトアルゴリズムにおけるタイムアウトの時間を、伝送路の伝送速度に応じて動的に変更することを特徴とする、請求項2、4または5のいずれかに記載のマルチリンク通信システムにおけるパケットの順序制御方法。6. The packet sequence control in the multilink communication system according to claim 2, wherein a timeout time in said timeout algorithm is dynamically changed in accordance with a transmission speed of a transmission line. Method.
JP2002234694A 2002-08-12 2002-08-12 Packet order control method in multilink communication system Expired - Fee Related JP3807614B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002234694A JP3807614B2 (en) 2002-08-12 2002-08-12 Packet order control method in multilink communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002234694A JP3807614B2 (en) 2002-08-12 2002-08-12 Packet order control method in multilink communication system

Publications (2)

Publication Number Publication Date
JP2004080139A true JP2004080139A (en) 2004-03-11
JP3807614B2 JP3807614B2 (en) 2006-08-09

Family

ID=32019432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002234694A Expired - Fee Related JP3807614B2 (en) 2002-08-12 2002-08-12 Packet order control method in multilink communication system

Country Status (1)

Country Link
JP (1) JP3807614B2 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104054A (en) * 2005-09-30 2007-04-19 Oki Electric Ind Co Ltd Data communication device, data communication method, and data communication program
WO2007063585A1 (en) * 2005-11-30 2007-06-07 Fujitsu Limited Communication device and frame control method
JP2007336191A (en) * 2006-06-14 2007-12-27 Nippon Telegr & Teleph Corp <Ntt> Parallel transmission method and system
CN100431303C (en) * 2004-06-15 2008-11-05 中兴通讯股份有限公司 Link detection for realizing multi-link agreement
JP2008541504A (en) * 2006-03-14 2008-11-20 ハンジョウ エイチ3シー テクノロジーズ コーポレイション、 リミテッド Multi-unit message sequence number checking method, apparatus and system thereof
JP2009055419A (en) * 2007-08-28 2009-03-12 Nec Corp Communication device, communication system, and method and program for detecting missing packet
JP2009124759A (en) * 2009-03-09 2009-06-04 Hitachi Communication Technologies Ltd Packet transfer device, and packet transfer method
JP2009239444A (en) * 2008-03-26 2009-10-15 Mitsubishi Electric Corp Packet sequence control method, receiver, transmitter, and communicating system
JP2010074854A (en) * 2009-11-27 2010-04-02 Nec Corp Communication device, communication system, method of detecting missing packet, and program for detecting missing packet
WO2011102195A1 (en) * 2010-02-22 2011-08-25 日本電気株式会社 Packet alignment device, packet alignment method and storage medium
JP2011199884A (en) * 2011-05-12 2011-10-06 Railway Technical Research Institute Line control system and method therefor
US8213325B2 (en) 2008-01-29 2012-07-03 Fujitsu Limited Packet analysis method, packet analysis apparatus, recording medium storing packet analysis program
WO2012098656A1 (en) 2011-01-19 2012-07-26 富士通株式会社 Transmission device, transmission method and transmission system
JP2012170155A (en) * 2012-06-11 2012-09-06 Nec Corp Communication device, communication system, packet loss detecting method, and packet loss detection program
US8457012B2 (en) 2007-07-12 2013-06-04 Hitachi, Ltd. Packet transfer apparatus and packet transfer method
JP2014534779A (en) * 2011-11-03 2014-12-18 クアルコム,インコーポレイテッド Multiple delivery route packet ordering
US9001833B2 (en) 2012-01-25 2015-04-07 Fujitsu Limited Relay apparatus, reception apparatus, and communication system
US9059932B2 (en) 2011-11-03 2015-06-16 Qualcomm Incorporated Packet ordering based on delivery route changes in communication networks
JP2017055293A (en) * 2015-09-10 2017-03-16 日本無線株式会社 Radio transmission device, radio reception device, and radio communication device

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100431303C (en) * 2004-06-15 2008-11-05 中兴通讯股份有限公司 Link detection for realizing multi-link agreement
JP2007104054A (en) * 2005-09-30 2007-04-19 Oki Electric Ind Co Ltd Data communication device, data communication method, and data communication program
WO2007063585A1 (en) * 2005-11-30 2007-06-07 Fujitsu Limited Communication device and frame control method
US8681798B2 (en) 2005-11-30 2014-03-25 Fujitsu Limited Communications apparatus and frame control method
JPWO2007063585A1 (en) * 2005-11-30 2009-05-07 富士通株式会社 Communication apparatus and frame control method
JP4658142B2 (en) * 2005-11-30 2011-03-23 富士通株式会社 Communication apparatus and frame control method
JP2008541504A (en) * 2006-03-14 2008-11-20 ハンジョウ エイチ3シー テクノロジーズ コーポレイション、 リミテッド Multi-unit message sequence number checking method, apparatus and system thereof
JP4643501B2 (en) * 2006-06-14 2011-03-02 日本電信電話株式会社 Parallel transmission method and system
JP2007336191A (en) * 2006-06-14 2007-12-27 Nippon Telegr & Teleph Corp <Ntt> Parallel transmission method and system
US8457012B2 (en) 2007-07-12 2013-06-04 Hitachi, Ltd. Packet transfer apparatus and packet transfer method
JP4587053B2 (en) * 2007-08-28 2010-11-24 日本電気株式会社 Communication apparatus, communication system, packet loss detection method, and packet loss detection program
US8233483B2 (en) 2007-08-28 2012-07-31 Nec Corporation Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
JP2009055419A (en) * 2007-08-28 2009-03-12 Nec Corp Communication device, communication system, and method and program for detecting missing packet
US9178665B2 (en) 2007-08-28 2015-11-03 Nec Corporation Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
US8213325B2 (en) 2008-01-29 2012-07-03 Fujitsu Limited Packet analysis method, packet analysis apparatus, recording medium storing packet analysis program
JP2009239444A (en) * 2008-03-26 2009-10-15 Mitsubishi Electric Corp Packet sequence control method, receiver, transmitter, and communicating system
JP2009124759A (en) * 2009-03-09 2009-06-04 Hitachi Communication Technologies Ltd Packet transfer device, and packet transfer method
JP2010074854A (en) * 2009-11-27 2010-04-02 Nec Corp Communication device, communication system, method of detecting missing packet, and program for detecting missing packet
JP5664646B2 (en) * 2010-02-22 2015-02-04 日本電気株式会社 Packet alignment apparatus, packet alignment method, and storage medium
WO2011102195A1 (en) * 2010-02-22 2011-08-25 日本電気株式会社 Packet alignment device, packet alignment method and storage medium
WO2012098656A1 (en) 2011-01-19 2012-07-26 富士通株式会社 Transmission device, transmission method and transmission system
US9439102B2 (en) 2011-01-19 2016-09-06 Fujitsu Limited Transmitting apparatus, transmission method, and transmission system
JP2011199884A (en) * 2011-05-12 2011-10-06 Railway Technical Research Institute Line control system and method therefor
US9059932B2 (en) 2011-11-03 2015-06-16 Qualcomm Incorporated Packet ordering based on delivery route changes in communication networks
JP2014534779A (en) * 2011-11-03 2014-12-18 クアルコム,インコーポレイテッド Multiple delivery route packet ordering
US9001833B2 (en) 2012-01-25 2015-04-07 Fujitsu Limited Relay apparatus, reception apparatus, and communication system
JP2012170155A (en) * 2012-06-11 2012-09-06 Nec Corp Communication device, communication system, packet loss detecting method, and packet loss detection program
JP2017055293A (en) * 2015-09-10 2017-03-16 日本無線株式会社 Radio transmission device, radio reception device, and radio communication device

Also Published As

Publication number Publication date
JP3807614B2 (en) 2006-08-09

Similar Documents

Publication Publication Date Title
JP3807614B2 (en) Packet order control method in multilink communication system
US6477143B1 (en) Method and apparatus for packet network congestion avoidance and control
US9894005B2 (en) Adaptive routing controlled by source node
US6202114B1 (en) Spanning tree with fast link-failure convergence
JP3184817B2 (en) Flow control method, suspension control system and node
US6484224B1 (en) Multi-interface symmetric multiprocessor
US6072797A (en) Methods, apparatus and computer program products for aggregated transmission groups in high speed networks
US7558269B2 (en) Method for transmitting high-priority packets in an IP transmission network
US20080069114A1 (en) Communication device and method
WO2020022209A1 (en) Network control device and network control method
EP1128612A2 (en) Transmission of high-priority, real-time traffic on low-speed communications links
JPH0657014B2 (en) Flow control in adaptive selection type packet switching system.
JPH0624393B2 (en) Packet switch network lockup detection and recovery
CN101682442A (en) The dynamic load leveling that is used for the layer 2 link polymerization
US6996119B2 (en) Adaptive polling method for router
US8838782B2 (en) Network protocol processing system and network protocol processing method
US6643702B1 (en) Traffic scheduler for a first tier switch of a two tier switch
JP4630231B2 (en) Packet processing system, packet processing method, and program
EP0222584A2 (en) A bridge for and a method for routeing signals between local area networks
JP3735755B2 (en) Packet communication device
JPS62247653A (en) Constitution of packet exchange
JP2008193310A (en) Buffer management method of router and router using the management method
US7969863B2 (en) Directed cost protocol
JPH09149066A (en) Switching hub
JP2001007862A (en) Communication load distributing method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060511

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120526

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150526

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees