JP3807614B2 - マルチリンク通信システムにおけるパケットの順序制御方法 - Google Patents
マルチリンク通信システムにおけるパケットの順序制御方法 Download PDFInfo
- Publication number
- JP3807614B2 JP3807614B2 JP2002234694A JP2002234694A JP3807614B2 JP 3807614 B2 JP3807614 B2 JP 3807614B2 JP 2002234694 A JP2002234694 A JP 2002234694A JP 2002234694 A JP2002234694 A JP 2002234694A JP 3807614 B2 JP3807614 B2 JP 3807614B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- sequence number
- time
- seqno
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、マルチリンク通信システムにおけるパケットの順序制御方法に関し、特に、マルチリンク通信システムにおけるパケットの順序制御において、すべてのパケットの待ち状態を監視することなく未到着のパケットと伝送エラーにより消失したパケットとを区別することができ、消失パケットを待つことによるパケット転送遅延を減少させることができる、マルチリンク通信システムにおけるパケットの順序制御方法に関する。
【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・・・伝送路
Claims (6)
- ノード間での通信を複数の伝送路を並列に利用して行い、受信側ノードにおいてバッファを用い、到着したパケットの順序制御を各パケットに付与されているシーケンス番号に基づいて行う、マルチリンク通信システムにおけるパケットの順序制御方法において、
送信側ノードにおいて、パケットの生成順に従って各パケットにシーケンス番号を付与し、
受信側ノードにおいて、以下の(1)〜(5)のシーケンス番号の管理を行い、
(1)現時点で到着したパケットのシーケンス番号、
(2)次に上位レイヤに引き上げるべきパケットのシーケンス番号、
(3)前記バッファに存在するパケットの最小のシーケンス番号、
(4)各伝送路ごとの最後に到着したパケットのシーケンス番号、
(5)各伝送路ごとの最後に到着したパケットのシーケンス番号(4)の最小値、
前記(1)〜(5)のシーケンス番号を用い、未到着のパケットが消失したと判断した時点で該パケットの到着をあきらめた順序制御の順序制御アルゴリズムを実行することを特徴とする、マルチリンク通信システムにおけるパケットの順序制御方法。 - さらに、前記バッファ中にパケットが存在する場合には、一定時間ごとにタイムアウトアルゴリズムを実行することを特徴とする請求項1に記載の、マルチリンク通信システムにおけるパケットの順序制御方法。
- 前記順序制御アルゴリズムは、前記複数の伝送路から到着したパケットのシーケンス番号すべてが、次の到着が予定されるパケットのシーケンス番号を越えたとき、各伝送路ごとの最後に到着したパケットのシーケンス番号の最小値以下の未到着のパケットを消失したパケットと判断し、該パケットの到着を待つことなく、前記バッファ中に存在する該最小値以下のシーケンス番号のパケットを上位レイヤに転送する処理を含むことを特徴とする、請求項1または2に記載のマルチリンク通信システムにおけるパケットの順序制御方法。
- 前記タイムアウトアルゴリズムは、前記バッファ中に存在するパケットがタイムアウトとなったとき、該タイムアウトしたパケットのシーケンス番号以下の未到着のパケットの到着を待つことなく、該タイムアウトとなったパケットのシーケンス番号以下のシーケンス番号の前記バッファ中に存在するパケットを上位レイヤに転送する処理を含むことを特徴とする、請求項2に記載のマルチリンク通信システムにおけるパケットの順序制御方法。
- 前記タイムアウトアルゴリズムにおけるタイムアウトの時間は、パケットの到着を待っている伝送路の中で最も伝送速度の低い伝送路で最大サイズのパケットを伝送する場合の伝送遅延時間であることを特徴とする、請求項2または4に記載のマルチリンク通信システムにおけるパケットの順序制御方法。
- 前記タイムアウトアルゴリズムにおけるタイムアウトの時間を、伝送路の伝送速度に応じて動的に変更することを特徴とする、請求項2、4または5のいずれかに記載のマルチリンク通信システムにおけるパケットの順序制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002234694A JP3807614B2 (ja) | 2002-08-12 | 2002-08-12 | マルチリンク通信システムにおけるパケットの順序制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002234694A JP3807614B2 (ja) | 2002-08-12 | 2002-08-12 | マルチリンク通信システムにおけるパケットの順序制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004080139A JP2004080139A (ja) | 2004-03-11 |
JP3807614B2 true JP3807614B2 (ja) | 2006-08-09 |
Family
ID=32019432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002234694A Expired - Fee Related JP3807614B2 (ja) | 2002-08-12 | 2002-08-12 | マルチリンク通信システムにおけるパケットの順序制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3807614B2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100431303C (zh) * | 2004-06-15 | 2008-11-05 | 中兴通讯股份有限公司 | 在实现多链路协议时进行链路检测的方法 |
JP2007104054A (ja) * | 2005-09-30 | 2007-04-19 | Oki Electric Ind Co Ltd | データ通信装置、データ通信方法及びデータ通信プログラム |
JP4658142B2 (ja) | 2005-11-30 | 2011-03-23 | 富士通株式会社 | 通信装置およびフレーム制御方法 |
CN100403736C (zh) * | 2006-03-14 | 2008-07-16 | 杭州华三通信技术有限公司 | 多单元发送时的报文序列号检测方法及装置 |
JP4643501B2 (ja) * | 2006-06-14 | 2011-03-02 | 日本電信電話株式会社 | 並列伝送方法およびシステム |
JP4519159B2 (ja) | 2007-07-12 | 2010-08-04 | 株式会社日立製作所 | パケット転送装置及びパケット転送方法 |
JP4587053B2 (ja) | 2007-08-28 | 2010-11-24 | 日本電気株式会社 | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム |
JP5056438B2 (ja) | 2008-01-29 | 2012-10-24 | 富士通株式会社 | パケット解析方法 |
JP2009239444A (ja) * | 2008-03-26 | 2009-10-15 | Mitsubishi Electric Corp | パケット順序制御方法、受信装置、送信装置および通信システム |
JP5039732B2 (ja) * | 2009-03-09 | 2012-10-03 | 株式会社日立製作所 | パケット転送装置及びパケット転送方法 |
JP5170847B2 (ja) * | 2009-11-27 | 2013-03-27 | 日本電気株式会社 | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム |
JP5664646B2 (ja) * | 2010-02-22 | 2015-02-04 | 日本電気株式会社 | パケット整列装置、パケット整列方法、及び記憶媒体 |
EP2667662A4 (en) | 2011-01-19 | 2016-05-18 | Fujitsu Ltd | TRANSMISSION DEVICE, TRANSMISSION METHOD, AND TRANSMISSION SYSTEM |
JP2011199884A (ja) * | 2011-05-12 | 2011-10-06 | Railway Technical Research Institute | 回線制御システム及びその方法 |
US9059932B2 (en) | 2011-11-03 | 2015-06-16 | Qualcomm Incorporated | Packet ordering based on delivery route changes in communication networks |
US8824477B2 (en) * | 2011-11-03 | 2014-09-02 | Qualcomm Incorporated | Multiple delivery route packet ordering |
JP5957907B2 (ja) | 2012-01-25 | 2016-07-27 | 富士通株式会社 | 中継装置、送信システム、通信システムおよび中継方法 |
JP5382556B2 (ja) * | 2012-06-11 | 2014-01-08 | 日本電気株式会社 | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム |
JP6762694B2 (ja) * | 2015-09-10 | 2020-09-30 | 日本無線株式会社 | 無線送信装置、無線受信装置、無線通信装置 |
-
2002
- 2002-08-12 JP JP2002234694A patent/JP3807614B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004080139A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3807614B2 (ja) | マルチリンク通信システムにおけるパケットの順序制御方法 | |
US6477143B1 (en) | Method and apparatus for packet network congestion avoidance and control | |
US9894005B2 (en) | Adaptive routing controlled by source node | |
US6072797A (en) | Methods, apparatus and computer program products for aggregated transmission groups in high speed networks | |
JP4822997B2 (ja) | 通信装置および通信方法 | |
CN113785541A (zh) | 用于在存在错误的情况下的即时路由的系统和方法 | |
US7693169B2 (en) | Transmission apparatus and frame transmission method | |
US5168497A (en) | Packet communication processing method | |
WO2007063585A1 (ja) | 通信装置およびフレーム制御方法 | |
CN101682442A (zh) | 用于第2层链路聚合的动态负载均衡 | |
JPH10233779A (ja) | パケット交換装置 | |
JPH0879306A (ja) | コンピュータ相互接続用フロー制御装置 | |
JP2000358066A (ja) | 並列スイッチングエンジン中で、パケット順序の完全性を維持する方法および装置 | |
JP3214454B2 (ja) | プログラム内蔵方式パケット処理装置 | |
US8838782B2 (en) | Network protocol processing system and network protocol processing method | |
CN113992588A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
US20230261973A1 (en) | Method for distributing multipath flows in a direct interconnect network | |
JP2002314584A (ja) | パケット中継方式 | |
US7233598B2 (en) | System and method for speculatively issuing memory requests while maintaining a specified packet order | |
JP4630231B2 (ja) | パケット処理システム、パケット処理方法、およびプログラム | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN | |
CN111726201A (zh) | 一种airt-ros虚拟网卡丢包解决方法 | |
JP4669442B2 (ja) | パケット処理システム、パケット処理方法、およびプログラム |
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 |