(57)【要約】【課題】中継装置を用いてパケットを転送する通信システムの通信性能を向上させる。【解決手段】中継装置４は、通信装置１から通信装置２へ送信されるデータパケットを中継する。中継装置４は、上記データパケットを破棄する際には、再送要求パケットを生成して通信装置１へ送信する。通信装置１は、中継装置４から送られてくる再送要求パケットに応じてデータパケットを再送する。【選択図】図４
2009089197.tif 000002
【特許請求の範囲】
【請求項１】
通信システムにおいてパケットを中継する中継装置であって、
当該中継装置において受信パケットを破棄するか否かを判断する判断手段と、
当該中継装置において受信パケットが破棄されたときに、その破棄されたパケットの再送を要求する再送要求を生成する生成手段と、
前記再送要求を前記受信パケットの送信元へ送信する要求手段と、
を有する中継装置。
【請求項２】
請求項１に記載の中継装置であって、
各受信パケットについてのセッション情報を取得する取得手段をさらに備え、
前記生成手段は、前記セッション情報に基づいて再送要求を生成する
ことを特徴とする中継装置。
【請求項３】
請求項１に記載の中継装置であって、
受信パケットを送信先へ転送する際に一時的に保持する送信バッファを備え、
前記判断手段は、前記送信バッファの使用率に基づいて、当該中継装置において受信パケットを破棄するか否かを判断する
ことを特徴とする中継装置。
【請求項４】
通信システムにおいてパケットを中継する中継装置であって、
送信先へ転送すべきパケットを保持するキャッシュ手段と、
前記転送すべきパケットを送信先へ送信する送信手段と、
再送要求を受け取ったときに、前記キャッシュ手段から対応するパケットを取り出して再送する再送手段と、
を有する中継装置。
【請求項５】
通信システムにおいてパケットを中継する中継装置であって、
当該中継装置において受信パケットを破棄するか否かを判断する判断手段と、
当該中継装置において受信パケットが破棄されたときに、その破棄されたパケットの再送を要求する再送要求を生成する生成手段と、
前記再送要求を前記受信パケットの送信元へ送信する要求手段と、
前記受信パケットを破棄しないときに送信先へ送信する送信手段と、
前記送信手段が送信先へ送信すべきパケットを保持するキャッシュ手段と、
再送要求を受け取ったときに、前記キャッシュ手段から対応するパケットを取り出して再送する再送手段と、
を有する中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムにおいてパケットを中継する中継装置に係わる。
【背景技術】
【０００２】
一般に、インターネット等のパケット通信を行うネットワークでは、エンド間通信を規定するネットワーク層のプロトコル（インターネットではＩＰ（Internet Protocol））においてパケットの到達性は保証されていない。このため、ネットワーク層の上位層であるトランスポート層のプロトコル（インターネットではＴＣＰ（Transport Control Protocol））によって信頼性のある通信を実現している。
【０００３】
ＩＰでは、通常、通信装置間に複数の中継装置（中継装置も通信装置の一種である）を設置とすることでエンド間通信を実現している。しかし、中継装置では、ＩＰよりも上位層のプロトコルの情報には関知しない。このため、上位層のＴＣＰにおける信頼性の保証や輻輳制御は、基本的に、通信装置間でのみ行われる。すなわち、例えば、中継装置でデータパケットの破棄が発生した場合、ＴＣＰでは、送信側の通信装置がデータパケットの再送を行う。また、受信側の通信装置がデータパケットを受信すると、図１６に示すように、送信側の通信装置に対して応答確認（ＡＣＫ（Acknowledgement））パケットが返送される。そして、送信側の通信装置は、このＡＣＫパケットにより、データパケットが正常に受信されたことを確認する。
【０００４】
ところが、インターネットは一元管理されていない非常に巨大なネットワークであり、リンクの遅延や品質は千差万別である。また、ＩＰは、パケットの到達性を保証しないことで低コストでのネットワーク構築を可能としたが、ＴＣＰは、通信装置間の通信制御のためにリンク性能を最大限に利用できない問題がある。例えば、ＴＣＰは、リンクの遅延やパケット破棄率が高いネットワークでは、通信性能が大幅に低下することが知られている。
【０００５】
ＴＣＰでは、主に、シーケンス番号、ＡＣＫ番号、受信ウィンドウサイズ、最大セグメントサイズ、パケット往復時間（ＲＴＴ（Round Trip Time））など利用して通信装置間での通信制御を行う。なお、シーケンス番号は、送信データのバイト位置を表し、ＡＣＫ番号は、次に受信することが期待されるシーケンス番号を表す。
【０００６】
また、ＴＣＰでは、ネットワーク経路の途中でパケット破棄が発生すると、送信側装置によりパケットの再送が行われる。送信側装置は、例えば、一定時間内に受信側からＡＣＫパケットが到達しないときに対応するパケットを再送する（タイマによる再送）。あるいは、送信側装置は、受信側から所定数（例えば、３）以上の重複ＡＣＫパケットを受信したときに対応するパケットを再送する（高速再送）。すなわち、送信側装置は、受信側から得られる情報に従って再送を行うかどうかを決定する。
【０００７】
なお、ＴＣＰでは、通信装置間（すなわち、エンド間）で通信制御を行っているため、ＲＴＴが増加するとパケット破棄の発生から再送の開始までに必要な時間が増加する。また、再送が発生すると、送信側はＡＣＫパケットを待たずに送信するパケットの数を減らす。このため、ＲＴＴが大きいリンクでパケット破棄が起きると、ＴＣＰ通信の性能が大きく低下することがある。
【０００８】
パケットが廃棄されたときの再送に係わる技術は、上述したＴＣＰにより提供される機能の他にも、例えば、特許文献１、２において提案されている。
特許文献１に記載の方式では、中継ノードにおいて受信バッファのオーバーフローを検出すると、受信パケットのペイロードを廃棄し、そのパケットのヘッダ情報および必要な情報を含む損失通知パケットが生成されて受信端末へ送られる。そして、この損失通知パケットをトリガとして、再送手順が開始される。
【０００９】
特許文献２に記載の方式では、経路上の１組の中継装置間でパケット再送を実現する機能が提供されている。中継装置間で行われるパケット再送手順は、基本的に、ＴＣＰと同じである。
【特許文献１】特開２００３−１９８６１２号公報
【特許文献２】特開２００４−２４１８７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一般的なＴＣＰでは、上述したように、エンド間で通信制御を行っているため、パケット破棄の発生から再送の開始までに必要な時間が増加する。また、いったん再送手順が発生すると、送信側装置はＡＣＫパケットを待たずに送信レートを下げるので、通信の性能が低下する。
【００１１】
特許文献１に記載の方式では、ネットワークの輻輳時に中継ノードと受信端末との間のデータ量を減らすことはできるが、再送手順自体はエンド間で制御されるので、一般的なＴＣＰと同様の問題が発生し得る。また、特許文献２に記載の方式では、再送機能を備えた中継装置を経路上に２台以上設ける必要がある。このため、この方式を実現するためには、ネットワーク全体としてコストが高くなる。
【００１２】
なお、これらの問題は、ＴＣＰのみに発生するものではなく、他の通信プロトコル（例えば、ＩＰなどのネットワーク層のプロトコル）においても生じ得る。
本発明の課題は、中継装置を用いてパケットを転送する通信システムの通信性能を向上させることである。
【課題を解決するための手段】
【００１３】
本発明の中継装置は、通信システムにおいてパケットを中継するものであり、当該中継装置において受信パケットを破棄するか否かを判断する判断手段と、当該中継装置において受信パケットが破棄されたときに、その破棄されたパケットの再送を要求する再送要求を生成する生成手段と、前記再送要求を前記受信パケットの送信元へ送信する要求手段、を有する。
【００１４】
上記中継装置においてパケットが破棄されたときには、受信端末においてパケットロスが検出される前に、その中継装置から送信端末へ再送要求が送られる。よって、パケットの破棄が発生してから再送手順が開始されるまでの時間が短くなる。
【００１５】
本発明の他の態様の中継装置は、通信システムにおいてパケットを中継するものであり、送信先へ転送すべきパケットを保持するキャッシュ手段と、前記転送すべきパケットを送信先へ送信する送信手段と、再送要求を受け取ったときに、前記キャッシュ手段から対応するパケットを取り出して再送する再送手段、を有する。
【００１６】
上記通信システムにおいてパケットロス等により再送要求が生成されたときには、送信端末に代わって上記中継装置がパケット再送を行う。したがって、この構成によっても、再送手順が開始されるまでの時間が短くなる。
【発明の効果】
【００１７】
本発明によれば、中継装置を用いてパケットを転送する通信システムの通信性能が向上する。
【発明を実施するための最良の形態】
【００１８】
本発明の実施形態について図面を参照しながら説明する。実施形態の中継装置は、パケットを転送する通信システムにおいて使用される。なお、以下では、実施形態に係わる通信システムは、一例として、エンド間でＴＣＰ／ＩＰでパケットを転送するが、本発明はこれに限定されるものではなく、パケットの到達性を保証しないネットワークに適用可能である。
【００１９】
図１は、パケットを中継する中継装置の基本構成を示す図である。図１において、ネットワークインタフェース１１は、他の中継装置または端末装置との間でパケットを送受信する。ネットワークインタフェース１１を介して受信したパケットは、いったん受信パケットバッファ１２に保持される。パケット転送処理部１３は、受信パケットのヘッダ情報を利用して経路表１４を参照し、送信先に対応するネットワークインタフェース１１に接続されている送信パケットバッファ１５にそのパケットを書き込む。経路表１４は、例えばルーティングテーブルである。そして、送信パケットバッファ１５に書き込まれたパケットは、ネットワークインタフェース１１により読み出されて送信される。
【００２０】
ここで、公知の一般的な中継装置においては、パケット制御はネットワーク層（この実施例では、ＩＰ）で行われる。このため、公知の一般的な中継装置は、経路上でパケットが破棄されたときに、そのパケットを再送するための制御に直接的に係わることはない。これに対して実施形態の中継装置は、経路上でパケットが破棄されたときに、そのパケットを再送するための機能を提供する。
【００２１】
図２は、実施形態の中継装置の基本構成を示す図である。実施形態の中継装置は、ネットワークインタフェース１１、受信パケットバッファ１２、パケット転送処理部１３、経路表１４、送信パケットバッファ１５に加えて、再送処理部１６を備える。
【００２２】
再送処理部１６は、パケット再送が必要か否かを判断する。そして、あるパケットについて再送をする必要があると判断したときは、そのパケットの送信元に対して再送要求を送信する。また、再送処理部１６は、あるパケットについて再送要求を受け取ったときには、自ら再送処理を実行する。
【００２３】
＜第１の実施形態＞
図３は、第１の実施形態の再送手順の概要を説明する図である。ここでは、データパケットの送信元端末である通信装置１とそのデータパケットの送信先端末である通信装置２との間に複数の中継装置が設けられている通信システムを想定する。
【００２４】
中継装置３は、ネットワーク層でパケットを処理する中継装置であり、パケット再送の制御に直接的に係わることはない。一方、中継装置４は、図２に示す再送処理部１６を備える中継装置であり、パケット再送に係わる機能を提供する。そして、第１の実施形態に係わる通信システムは、通信装置１、２間の経路上に１または複数の中継装置４を備える。
【００２５】
上記通信システムにおいて、通信装置１から送信されたデータパケットが中継装置４において破棄されたものとする。この場合、中継装置４は、再送要求パケットを生成して通信装置１へ返送する。そうすると、通信装置１は、再送要求パケットに従って、先に送信したデータパケットを再送する。この結果、このデータパケットは通信装置２により受信される。
【００２６】
図４は、第１の実施形態の再送手順を説明するシーケンス図である。ここでは、中継装置３は省略されている。
通信装置１は、通信装置２を送信先アドレスとしてＴＣＰデータパケットを送信する。中継装置４は、通常は、そのＴＣＰデータパケットを通信装置２へ転送する。ところが、例えばネットワークが輻輳していると、受信したＴＣＰデータパケットを通信装置２へ転送することなく破棄する。そして、中継装置４は、ＴＣＰデータパケットを破棄すると、再送要求パケットを生成して通信装置１へ送る。通信装置１は、再送要求パケットを受信すると再送処理を実行する。これにより、先に送信したＴＣＰデータパケットが再送される。中継装置４は、ネットワークが輻輳していなければ、そのＴＣＰデータパケットを通信装置２へ転送する。
【００２７】
通信装置２は、ＴＣＰデータパケットを受信すると、対応するＡＣＫパケットを返送する。このＡＣＫパケットは、中継装置４により中継されて通信装置１により受信される。これにより通信装置１は、送信したＴＣＰデータパケットが通信装置２により受信されたことを認識する。
【００２８】
このように、第１の実施形態に係わる通信システムにおいては、通信装置１、２間に設けられる中継装置４により再送要求が生成されて再送手順が実行される。すなわち、送信先端末においてパケット破棄が検出される前に、中継装置においてパケット破棄が検出されて再送手順が開始される。このため、ＴＣＰによってエンド間で再送を制御する従来の構成と比べて、パケット破棄の発生から再送の開始までに必要な時間が短くなる。また、第１の実施形態に係わる再送機能は、再送処理部１６を備える中継装置４を経路上に１台設けるだけで実現できる。すなわち、第１の実施形態に係わる再送機能は、比較的容易に且つ低コストで実現される。この効果は、特に、既存のネットワーク上で従来の中継装置３の一部を実施形態の中継装置４に置きかえる際に顕著となる。
【００２９】
図５は、第１の実施形態の中継装置４の構成を示す図である。図５において、ネットワークインタフェース部１１を介して受信したパケット（データパケットおよびＡＣＫパケットを含む）は、受信パケットバッファ１２に書き込まれる。また、ネットワークインタフェース部１１は、送信パケットバッファ１５に格納されているパケットを読み出してネットワークに送出する。なお、図５では、経路表１４は省略されている。
【００３０】
再送処理部１６は、セッション情報記録部２１、セッション情報表２２、パケット破棄検出部２３、再送要求パケット生成部２４を備える。セッション情報記録部２１は、受信パケットバッファ１２に保持されている各パケットのヘッダからそれぞれセッション情報を抽出し、セッション情報表２２に書き込む。このとき、セッション情報記録部２１は、ＩＰヘッダおよびＴＣＰヘッダを参照する。ＩＰヘッダのフォーマットを図６に示す。また、ＴＣＰヘッダのフォーマットを図７に示す。セッション情報としては、この実施例では、「送信元ＩＰアドレス」「送信先ＩＰアドレス」「プロトコル種別情報」「送信元ポート番号」「送信先ポート番号」「シーケンス番号」「ＡＣＫ番号」が抽出される。
【００３１】
図８は、セッション情報表２２の実施例である。セッション情報表２２は、セッション毎に「最新シーケンス番号」「最新ＡＣＫ番号」「重複ＡＣＫ受信数」を管理する。ここで、各セッションは、「送信元ＩＰアドレス」「送信先ＩＰアドレス」「プロトコル種別情報」「送信元ポート番号」「送信先ポート番号」の組合せにより識別される。そして、新たに受信したパケットの「送信元ＩＰアドレス」「送信先ＩＰアドレス」「プロトコル種別情報」「送信元ポート番号」「送信先ポート番号」の組合せにより識別されるセッションがセッション情報表２２に登録されていなければ、新たなレコードが追加される。
【００３２】
「シーケンス番号」は、送信データの位置をバイト単位で表示する情報であり、基本的に、ＴＣＰデータパケットの送信元端末により付与される。また、「ＡＣＫ番号」は、次に受信することが期待されるシーケンス番号を表示する情報であり、基本的に、ＴＣＰデータパケットの送信先端末により付与される。そして、セッション情報表２２において、「シーケンス番号」「ＡＣＫ番号」は、最新の受信パケットのＴＣＰヘッダに書き込まれている値に更新される。
【００３３】
また、この実施形態では、重複ＡＣＫ機能が採用されているものとする。すなわち、受信側装置は、あるパケットについてロスまたはエラーを検出すると、そのパケットを正常に受信するまで、後続のパケットに対して同じＡＣＫ番号を付与した応答パケットを返送するものとする。この場合、送信側装置は、同じＡＣＫ番号を重複して所定回数（たとえば、３）検出すると、再送手順を開始する。そして、セッション情報記録部２１は、受信パケットのＡＣＫ番号が重複する場合には、その回数をカウントしてセッション情報表２２に記録する。
【００３４】
図５に戻る。パケット破棄検出部２３は、当該中継装置におけるパケット破棄を検出する。すなわち、この中継装置では、送信パケットバッファ１５の使用率が予め設定されている閾値を超えたときに、輻輳状態が発生している（または、輻輳が発生するおそれがある）とみなし、送信パケットの廃棄が実行される。そして、パケット破棄検出部２３は、パケット破棄を検出すると、その旨を再送要求パケット生成部２４に通知する。
【００３５】
再送要求パケット生成部２４は、パケット破棄検出部２３から上記通知を受けると、破棄されたパケットに対応する再送要求パケットを生成する。この再送要求パケットに送信先は、破棄されたパケットの送信元端末である。ここで、再送要求パケットの特定は、ＩＰヘッダのアドレスフィールド、プロトコルフィールド、ＴＣＰヘッダのポート番号フィールド、シーケンス番号フィールド、ACK番号フィールドなどの情報を元に行われる。また、再送要求パケットは、例えば、ＴＣＰの重複ＡＣＫ、ＴＣＰの選択ＡＣＫ、ＴＣＰのＮＡＫオプションにより実現される。選択ＡＣＫ（ＳＡＣＫ：Selective ACK）は、どのパケットが送達されているのかを詳細に通知するためのメッセージであり、ＲＦＣ２０１８において規定されており、ＴＣＰヘッダのオプションフィールドを利用して実現される。なお、再送要求パケットは、これらの形態に限定されるものではなく、例えば、ＩＣＰＭによる通知により実現されるようにしてもよい。
【００３６】
上記構成の第１の実施形態の中継装置の動作は以下の通りである。すなわち、中継装置４は、送信側の通信装置１からデータパケットを受信する毎に、下記の処理を実行する。（１）受信したデータパケットから再送要求パケットの生成に必要なセッション情報を抽出して記録する。この処理は、セッション情報記録部２１により行われる。また、セッション情報は、セッション情報表２２に書き込まれる。
（２）バッファオーバーフローによりデータパケットが破棄されるのか否かを検出する。この処理は、パケット破棄検出部２３により行われる。そして、データパケットが破棄される場合は、破棄されるデータパケットの再送を要求するための再送要求パケットが再送要求パケット生成部２４により生成される。生成された再送要求パケットは、パケット転送処理部１３により、送信側の通信装置１に送信される。一方、データパケットが破棄されない場合は、パケット転送処理部１３は、そのデータパケットを受信側の通信装置２に送信する。
【００３７】
また、中継装置４は、受信側の通信装置２からＡＣＫパケットを受信する毎に、下記の処理を実行する。
（１）受信したＡＣＫパケットからセッション情報を抽出して記録する。この処理は、データパケットを受信したときと同様に、セッション情報記録部２１により行われる。
（２）受信したＡＣＫパケットを送信側の通信装置１に対して送信する。
【００３８】
以上の処理を行うことで、パケット破棄を検出した中継装置４から送信側の通信装置１に向かって即座に再送を促し、迅速に再送手順が開始される。したがって、特に、ＲＴＴの大きなネットワークでは、ＴＣＰ通信の性能が大幅に向上する。また、中継装置４は、既存のＴＣＰプロトコルに対して透過的に作用するので、ＴＣＰプロトコルの変更を要することなく、送信側の通信装置１および受信側の通信装置２に対しても効果を奏する。
【００３９】
なお、上述の実施例では、中継装置４が備えるバッファのオーバーフローに基づいてパケット破棄を検出しているが、本発明はこれに限定されるものではない。すなわち、例えば、中継装置４においてシーケンス番号に基づいて経路上でのパケットロスを検出し、再送要求パケットを送信するようにしてもよい。
【００４０】
＜第２の実施形態＞
図９は、第２の実施形態の再送手順の概要を説明する図である。図９において、中継装置５は、本発明の第２の実施形態の中継装置である。そして、第２の実施形態に係わる通信システムは、通信装置１、２間の経路上に１または複数の中継装置５を備える。
【００４１】
上記通信システムにおいて、中継装置５は、通信装置１から送信されたデータパケットを中継する際に、そのデータパケットをコピーしてパケットキャッシュ６に保持する。この後、このデータパケットが経路上で破棄されると、通信装置２は、再送要求パケットを通信装置１に向かって送信する。ところが、この再送要求パケットは、中継装置５によってキャプチャされる。そして、中継装置５は、再送要求パケットに応じてパケットキャッシュ６から対応するデータパケットを抽出し、そのデータパケットを通信装置２へ送信する。この結果、このデータパケットは通信装置２により受信される。
【００４２】
図１０は、第２の実施形態の再送手順を説明するシーケンス図である。ここでは、中継装置３は省略されている。
通信装置１は、通信装置２を送信先アドレスとしてＴＣＰデータパケットを送信する。中継装置５は、ＴＣＰデータパケットを通信装置２へ転送すると共に、そのＴＣＰデータパケットをコピーしてパケットキャッシュ６に保持する。この後、中継装置５と通信装置２との間の経路上でＴＣＰデータパケットが破棄されるものとする。そうすると、通信装置２は、ＴＣＰデータパケットが破棄されたことを検出し、再送要求パケットを生成して通信装置１へ送信する。再送要求パケットは、中継装置５によりキャプチャされる。中継装置５は、再送要求パケットを受信すると、再送処理を実行する。すなわち、再送要求パケットに対応するＴＣＰデータパケットをパケットキャッシュ６から取り出し、そのＴＣＰデータパケットを通信装置２へ送信する。
【００４３】
通信装置２は、ＴＣＰデータパケットを受信すると、対応するＡＣＫパケットを返送する。このＡＣＫパケットは、中継装置５により中継されて通信装置１により受信される。これにより通信装置１は、送信したＴＣＰデータパケットが通信装置２により受信されたことを認識する。
【００４４】
このように、第２の実施形態に係わる通信システムにおいては、中継装置５と受信側端末である通信装置２との間でデータパケットが破棄されると、送信側端末である通信装置１の代わりに中継装置５が再送処理を実行する。このため、ＴＣＰによってエンド間で再送を制御する従来の構成と比べて、パケット破棄の発生から再送の開始までに必要な時間が短くなる。また、送信側端末は、再送要求を受信しないので、送信レートを低下させることはなく、通信性能の低下も生じない。さらに、第２の実施形態に係わる再送機能は、第１の実施形態と同様に、再送処理部１６を備える中継装置５を経路上に１台設けるだけ
で実現できる。
【００４５】
図１１は、第２の実施形態の中継装置５の構成を示す図である。第２の実施形態の中継装置５の基本構成は、上述した第１の実施形態の中継装置４と同じである。ただし、第１および第２の実施形態では、再送処理部１６の構成が互いに異なっている。
【００４６】
第２の実施形態の中継装置５の再送処理部１６は、セッション情報記録部２１、セッション情報表２２、パケットキャッシュ処理部２５、および再送要求パケット検出部２６を備える。ここで、セッション情報記録部２１およびセッション情報表２２は、第１の実施形態において説明したものと同じなので、説明を省略する。また、パケットキャッシュ処理部２５は、図９に示すパケットキャッシュ６に相当する。
【００４７】
パケットキャッシュ処理部２５は、メモリおよびそのメモリの書込み／読出しを制御する回路を含んで構成され、当該中継装置５が中継するパケットをコピーして、一定期間、保存する。このとき、パケットは、セッション情報によりサーチ可能となるように対応付けられて保存される。なお、パケットキャッシュ処理部２５は、すべてのパケットを保存してもよいし、データパケットのみを保存するようにしてもよいし、一部のパケットのみを保存するようにしてもよい。
【００４８】
再送要求パケット検出部２６は、受信パケットの中から再送要求パケットを検出する。再送要求パケットを検出すると、セッション情報を利用して対応するパケットをパケットキャッシュ処理部２５のメモリから取り出す。そして、取り出したパケットを送信する。
【００４９】
上記構成の第２の実施形態の中継装置の動作は以下の通りである。すなわち、中継装置５は、送信側の通信装置１からデータパケットを受信する毎に、下記の処理を実行する。（１）受信したデータパケットから再送要求パケットの生成に必要なセッション情報を抽出して記録する。この処理は、セッション情報記録部２１により行われる。また、セッション情報は、セッション情報表２２に書き込まれる。
（２）パケットキャッシュバッファに空きがある場合は、上記データパケットをコピーして保存する
（３）上記データパケットを受信側の通信装置２に対して送信する。
【００５０】
また、中継装置５は、受信側の通信装置２からＡＣＫパケットを受信する毎に、下記の処理を実行する。
（１）受信したＡＣＫパケットからセッション情報を抽出して記録する。この処理は、データパケットを受信したときと同様に、セッション情報記録部２１により行われる。ただし、重複ＡＣＫを採用している場合には、重複ＡＣＫ数をモニタする。そして、重複ＡＣＫ数が所定の閾値に達したときには、再送要求パケットを受信したときと同様の送信処理を行う。
（２）受信したＡＣＫパケットを送信側の通信装置１に対して送信する。
【００５１】
さらに、中継装置５は、受信側の通信装置２から再送要求パケットを受信する毎に、下記の処理を実行する。
（１）再送要求パケットのセッション情報を利用して、その要求に対応するデータパケットがパケットキャッシュバッファに保存されているか否かを検索する。
（２）対応するデータパケットが見つかった場合は、パケットキャッシュバッファから読み出したデータパケットを受信側の通信装置２に対して送信する。この場合、再送要求パケットは送信側の通信装置１に対して中継しない。
（３）対応するデータパケットが見つからなかった場合は、受信した再送要求パケットを送信側の通信装置１に対して送信する。
【００５２】
以上の処理を行うことで、再送要求パケットを検出した中継装置５においてデータパケットの再送が可能になる。ただし、無制限に再送を行うと輻輳を助長するおそれがあるので、データパケットの送信レートは必要に応じて調整するようにしてもよい。また、中継装置５は、既存のＴＣＰプロトコルに対して透過的に作用し、ＴＣＰプロトコルの変更を要しない。なお、パケットキャッシュバッファに保存されたパケットは、バッファの空き容量や最大生存時間（ＴＴＬ（Time To Live））、セッション情報などを元に定期的に削除を行うようにしてもよい。
【００５３】
＜第３の実施形態＞
図１２は、第３の実施形態の再送手順を説明するシーケンス図である。ここでは、通信装置１、２間の経路上に中継装置７（７Ａ、７Ｂ）が設けられている。中継装置７は、第１の実施形態の中継装置４の再送機能および第２の実施形態の中継装置５の再送機能を備えている。なお、図１２においては、経路上の他の中継装置は省略されている。
【００５４】
通信装置１は、通信装置２を送信先アドレスとしてＴＣＰデータパケットを送信する。中継装置７Ａは、ＴＣＰデータパケットを通信装置２へ転送すると共に、そのＴＣＰデータパケットをコピーしてパケットキャッシュに保持する。この後、中継装置７ＢにおいてＴＣＰデータパケットが破棄されるものとする。そうすると、中継装置７Ｂは、再送要求パケットを生成して通信装置１へ送信する。この再送要求パケットは、中継装置７Ａによりキャプチャされる。中継装置７Ａは、再送要求パケットを受信すると、再送処理を実行する。すなわち、再送要求パケットに対応するＴＣＰデータパケットをパケットキャッシュから取り出し、そのＴＣＰデータパケットを通信装置２へ送信する。中継装置７Ｂは、そのＴＣＰデータパケットをキャッシュすると共に、通信装置２へ転送する。
【００５５】
通信装置２は、ＴＣＰデータパケットを受信すると、対応するＡＣＫパケットを返送する。このＡＣＫパケットは、中継装置７Ｂ、７Ａにより中継されて通信装置１により受信される。これにより通信装置１は、送信したＴＣＰデータパケットが通信装置２により受信されたことを認識する。
【００５６】
なお、図１２に示す例では、１本の経路上に２台の中継装置７（７Ａ、７Ｂ）が設けられており、それら２台の中継装置７により再送処理が完結している。しかし、１本の経路上に設ける中継装置７は、１台だけでもよい。ただし、この場合、中継装置７が生成する再送要求パケットは、送信端末により受信され、その送信端末がパケットを再送する。また、中継装置７が受信する再送要求パケットは、受信端末で生成されたものである。
【００５７】
図１３は、第３の実施形態の中継装置７の構成を示す図である。第３の実施形態の中継装置７は、上述した通り、第１の実施形態の中継装置４の機能および第２の実施形態の中継装置５の機能を備えている。すなわち、中継装置７の再送処理部１６は、セッション情報記録部２１、セッション情報表２２、パケット破棄検出部２３、再送要求パケット生成部２４、パケットキャッシュ処理部２５、再送要求パケット検出部２６を備える。
【００５８】
上記構成の第３の実施形態の中継装置の動作は以下の通りである。すなわち、中継装置７は、送信側の通信装置１からデータパケットを受信する毎に、下記の処理を実行する。（１）受信したデータパケットから再送要求パケットの生成に必要なセッション情報を抽出して記録する。
（２）バッファオーバーフローによりデータパケットを破棄するのか否かを検出する。そして、データパケットを破棄する場合は、再送要求パケットを生成して送信側の通信装置１に送信する。
（３）データパケットを破棄しない場合は、そのデータパケットを受信側の通信装置２に
対して送信する。このとき、パケットキャッシュバッファに空きがあれば、上記データパケットをコピーして保存する。
【００５９】
また、中継装置７は、受信側の通信装置２からＡＣＫパケットを受信する毎に、下記の処理を実行する。
（１）受信したＡＣＫパケットからセッション情報を抽出して記録する。ただし、重複ＡＣＫ数が所定の閾値に達したときには、再送要求パケットを受信したときと同様の送信処理を行う。
（２）受信したＡＣＫパケットを送信側の通信装置１に対して送信する。
【００６０】
さらに、中継装置７は、受信側の通信装置２または他の中継装置７から再送要求パケットを受信する毎に、下記の処理を実行する。
（１）再送要求パケットに対応するデータパケットがパケットキャッシュバッファに保存されているか否かを検索する。
（２）対応するデータパケットが見つかった場合は、パケットキャッシュバッファから読み出したデータパケットを受信側の通信装置２に対して送信する。この場合、再送要求パケットは送信側の通信装置１に対して中継しない。
（３）対応するデータパケットが見つからなかった場合は、受信した再送要求パケットを送信側の通信装置１に対して送信する。
【００６１】
＜フローチャート＞
図１４は、実施形態の中継装置がデータパケットを受信したときの動作を示すフローチャートである。このフローチャートの処理は、データパケットを受信する毎に、再送処理部１６により実行される。
【００６２】
ステップＳ１では、対象となるデータパケットが破棄されるのか否かをチェックする。このチェックは、例えば、送信パケットバッファ１５の使用率により判断される。このデータパケットが破棄される場合は、ステップＳ２において、対応する再送要求パケットを生成する。そして、ステップＳ３において、上記データパケットの送信元側にその再送要求パケットを送信する。
【００６３】
一方、対象となるデータパケットが破棄されない場合は、ステップＳ４において、そのセッション情報を収集してセッション情報表２２に記録する。ステップＳ５では、対象となるデータパケットをコピーしてパケットキャッシュに保存する。そして、ステップＳ６において、そのデータパケットを受信側へ送信する。
【００６４】
なお、第１の実施形態ではステップＳ１〜Ｓ４、Ｓ６が実行され、第２の実施形態ではステップＳ４〜Ｓ６が実行され、第３の実施形態ではステップＳ１〜Ｓ６が実行される。
図１５は、実施形態の中継装置が応答パケットを受信したときの動作を示すフローチャートである。このフローチャートの処理は、応答パケットを受信する毎に、再送処理部１６により実行される。なお、応答パケットは、通常のＡＣＫパケットおよび再送要求パケットを含むものとする。
【００６５】
ステップＳ１１では、応答パケットが再送要求パケットか否かをチェックする。応答パケットが再送要求パケットであれば、ステップＳ１２において、要求されたデータパケットがパケットキャッシュに保存されているか否かをチェックする。そして、要求されたデータパケットがパケットキャッシュに保存されていれば、ステップＳ１３において、そのデータパケットをパケットキャッシュから取り出して受信側の通信端末へ送信する。
【００６６】
一方、要求されたデータパケットがパケットキャッシュに保存されていなければ、ステ
ップＳ１４において、応答パケットのセッション情報を収集してセッション上表表２２に記録する。そして、ステップＳ１５において、その応答パケットを送信側の通信装置へ送信する。
【００６７】
なお、第１の実施形態ではステップＳ１４〜Ｓ１５が実行され、第２および第３の実施形態ではステップＳ１１〜Ｓ１５が実行される。
＜他の実施形態＞
上述した第１〜第３の実施形態では、ＴＣＰを前提として説明をしたが、本発明はこれに限定されるものではない。すなわち、本発明は、例えば、ＴＣＰをサポートしないＩＰネットワークにも適用可能である。ただし、ＩＰネットワークにおいては、送信側の通信装置への再送要求機能は適用できない。また、再送要求パケットは、ＩＣＭＰによる通知（本発明による拡張）の方式をとる。さらに、再送パケットの特定は、ＩＰヘッダのアドレスフィールド、プロトコルフィールド、ＩＰ識別子フィールド、トランスポートヘッダのポート番号フィールドなどの情報を元に行う。
【００６８】
（付記１）
通信システムにおいてパケットを中継する中継装置であって、
当該中継装置において受信パケットを破棄するか否かを判断する判断手段と、
当該中継装置において受信パケットが破棄されたときに、その破棄されたパケットの再送を要求する再送要求を生成する生成手段と、
前記再送要求を前記受信パケットの送信元へ送信する要求手段と、
を有する中継装置。
【００６９】
（付記２）
付記１に記載の中継装置であって、
各受信パケットについてのセッション情報を取得する取得手段をさらに備え、
前記生成手段は、前記セッション情報に基づいて再送要求を生成する
ことを特徴とする中継装置。
【００７０】
（付記３）
付記１に記載の中継装置であって、
受信パケットを送信先へ転送する際に一時的に保持する送信バッファを備え、
前記判断手段は、前記送信バッファの使用率に基づいて、当該中継装置において受信パケットを破棄するか否かを判断する
ことを特徴とする中継装置。
【００７１】
（付記４）
通信システムにおいてパケットを中継する中継装置であって、
送信先へ転送すべきパケットを保持するキャッシュ手段と、
前記転送すべきパケットを送信先へ送信する送信手段と、
再送要求を受け取ったときに、前記キャッシュ手段から対応するパケットを取り出して再送する再送手段と、
を有する中継装置。
【００７２】
（付記５）
付記４に記載の中継装置であって、
各受信パケットについてのセッション情報を取得する取得手段をさらに備え、
前記再送手段は、前記セッション情報に基づいて再送すべきパケットを前記キャッシュ手段から取り出す
ことを特徴とする中継装置。
【００７３】
（付記６）
付記４に記載の中継装置であって、
前記送信手段が送信したパケットに対応する応答パケットを受信して解析する解析手段をさらに備え、
前記応答パケットが再送要求であれば、前記再送手段がパケット再送を行い、前記応答パケットが再送要求でなければ、その応答パケットをその応答パケットのヘッダ情報に従って転送する
ことを特徴とする中継装置。
【００７４】
（付記７）
通信システムにおいてパケットを中継する中継装置であって、
当該中継装置において受信パケットを破棄するか否かを判断する判断手段と、
当該中継装置において受信パケットが破棄されたときに、その破棄されたパケットの再送を要求する再送要求を生成する生成手段と、
前記再送要求を前記受信パケットの送信元へ送信する要求手段と、
前記受信パケットを破棄しないときに送信先へ送信する送信手段と、
前記送信手段が送信先へ送信すべきパケットを保持するキャッシュ手段と、
再送要求を受け取ったときに、前記キャッシュ手段から対応するパケットを取り出して再送する再送手段と、
を有する中継装置。
【図面の簡単な説明】
【００７５】
【図１】中継装置の基本構成を示す図である。
【図２】実施形態の中継装置の基本構成を示す図である。
【図３】第１の実施形態の再送手順の概要を説明する図である。
【図４】第１の実施形態の再送手順を説明するシーケンス図である。
【図５】第１の実施形態の中継装置の構成を示す図である。
【図６】ＩＰヘッダのフォーマットを示す図である。
【図７】ＴＣＰヘッダのフォーマットを示す図である。
【図８】セッション情報表の実施例である。
【図９】第２の実施形態の再送手順の概要を説明する図である。
【図１０】第２の実施形態の再送手順を説明するシーケンス図である。
【図１１】第２の実施形態の中継装置の構成を示す図である。
【図１２】第３の実施形態の再送手順を説明するシーケンス図である。
【図１３】第３の実施形態の中継装置の構成を示す図である。
【図１４】データパケットを受信したときの動作を示すフローチャートである。
【図１５】応答パケットを受信したときの動作を示すフローチャートである。
【図１６】ＴＣＰ通信について説明する図である。
【符号の説明】
【００７６】
１      通信装置（データパケットの送信元）
２      通信装置（データパケットの送信先）
３      中継装置
４      中継装置（第１の実施形態）
５      中継装置（第２の実施形態）
６      パケットキャッシュ
７      中継装置（第３の実施形態）
１１      ネットワークインタフェース
１２      受信パケットバッファ
１３      パケット転送処理部
１４      経路表
１５      送信パケットバッファ
１６      再送処理部
２１      セッション情報記録部
２２      セッション情報表
２３      パケット破棄検出部
２４      再送要求パケット生成部
２５      再送要求パケット検出部
２６      パケットキャッシュ処理部
【図１】
2009089197.tif 000003
【図２】
2009089197.tif 000004
【図３】
2009089197.tif 000005
【図４】
2009089197.tif 000006
【図５】
2009089197.tif 000007
【図６】
2009089197.tif 000008
【図７】
2009089197.tif 000009
【図８】
2009089197.tif 000010
【図９】
2009089197.tif 000011
【図１０】
2009089197.tif 000012
【図１１】
2009089197.tif 000013
【図１２】
2009089197.tif 000014
【図１３】
2009089197.tif 000015
【図１４】
2009089197.tif 000016
【図１５】
2009089197.tif 000017
【図１６】
2009089197.tif 000018