(57)【要約】【課題】転送先ネットワークの伝送品質の悪さに応じてパケット分割ができるようにすることで、伝送品質の悪いパスでのスループットの向上を図ることができるパケット転送装置を得ること。【解決手段】伝送品質が良く、パケット廃棄の少ないネットワーク３からのパケットを伝送品質が悪く、パケット廃棄が発生し易いネットワーク５に中継転送する場合に、パケット転送装置１では、転送先ネットワーク５の通信環境、パケット廃棄率などを取得し、取得した通信環境、パケット廃棄率などに応じて前記転送先ネットワークに送出するパケットの最適なパケット長を計算し、転送元ネットワーク３から受信したパケットを前記最適なパケット長に分割して転送先ネットワーク５に送出する。【選択図】        図１
2008153778.tif 000002
【特許請求の範囲】
【請求項１】
２つのネットワーク間のＴＣＰ／ＩＰに準拠したパケット通信を中継するパケット転送装置において、
転送先ネットワークの通信環境、パケット廃棄率などを取得し、取得した通信環境、パケット廃棄率などに応じて前記転送先ネットワークに送出するパケットの最適なパケット長を計算する最適パケット長決定手段と、
転送元ネットワークから受信したパケットを前記最適パケット長決定手段が求めた最適なパケット長に分割するフラグメント手段と、
を備えていることを特徴とするパケット転送装置。
【請求項２】
再送パケット用バッファと、
前記転送先ネットワークに対して前記フラグメント手段が分割した各パケットを転送する過程で、前記転送先ネットワークから受信する確認応答の受信状況から転送先に不達のパケットが発生したと判断した場合に、当該不達パケットを再送対象パケットとして前記再送パケット用バッファに格納し、前記確認応答を前記転送元ネットワークには送出せずに、前記再送パケット用バッファを用いて前記転送先ネットワークへの再送を実施する再送手段と、
を備えていることを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記転送先ネットワークに対して前記フラグメント手段が分割した各パケットを転送する過程で、前記転送先ネットワークから受信する確認応答の受信状況から転送先に不達のパケットが発生したと判断した場合に、当該不達パケットを再送対象パケットとしてそのシーケンス番号を記録するとともに、前記確認応答を前記転送元ネットワークに送出し、前記転送元ネットワークから受信した再送パケットのうち前記記録したシーケンス番号のパケットを前記転送先ネットワークに送出する再送手段
を備えていることを特徴とする請求項１に記載のパケット転送装置。
【請求項４】
前記再送手段は、前記再送を実施する際に、前記最適パケット長決定手段が求めた最適なパケット長が変化している場合は、前記再送対象パケットを前記フラグメント手段に渡して分割処理を行わせることを特徴とする請求項２または３に記載のパケット転送装置。
【請求項５】
前記フラグメント手段が分割する各パケットに付加するヘッダを圧縮するヘッダ圧縮手段を備えていることを特徴とする請求項１，２，４のいずれか一つに記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、２つのネットワーク間のＴＣＰ／ＩＰに準拠したパケット通信を中継するパケット転送装置に関するものである。
【背景技術】
【０００２】
ＴＣＰ／ＩＰ（Transport Control Protocol/Internet Protocol）に基づくパケット通信では、一般に、送信側のホストがその送信データをパケットに分割し、それら各パケットに送信元アドレス、宛先アドレス等のヘッダ情報をそれぞれ付加した後にネットワークに送出する。このとき、各々のホストがネットワークに対して送信できるパケットの最大長は、データの送受信を行うホスト間を接続する１以上のパス（ネットワーク）のデータリンク層でのプロトコルがサポートする最大転送ユニット（Maximum Transmission Unit：ＭＴＵ）によって決められる。
【０００３】
そこで、例えば特許文献１では、転送効率を悪くしている要因が、途中のパス（ネットワーク）でのデータリンク層のＭＴＵにある点に着目して転送効率を上げる技術が提案されている。
【０００４】
すなわち、転送効率を悪くしているパスには、パケット転送装置がパケットを分割して送信することで、その転送効率を悪くしているパスでのＭＴＵに合わせることを行い、他のパスに対してはパケット転送装置がＭＴＵをもっと大きくして転送することで、転送系全体の転送効率を上げる。
【０００５】
そして、ＭＴＵに応じてパケットを分割して送信したパケット転送装置では、受信ホストから確認応答（Ａｃｋ）を受信した場合、分割したパケットのうち最後に転送したパケットよりも前に転送したパケットに対する確認応答は破棄し、最後に転送したパケットに対する確認応答のみを送信ホストに対して転送することで、通信の整合性を図っている。
【０００６】
一方、非特許文献１では、無線ネットワークなど、ビットエラーやパケット廃棄が発生し易い通信環境では、パケット長を短くした方が、パケット廃棄率が下がり、スループットが向上するとの報告がなされている。
【０００７】
これによれば、伝送品質が悪くパケット廃棄が発生し易いパス（ネットワーク）でのスループットを向上するには、そのパス（ネットワーク）に転送するパケット転送装置がパケットを分割しパケット長を短くして送信すればよいことになる。
【０００８】
【特許文献１】特開２００２−２９０４５９号公報
【非特許文献１】有本他“干渉が支配的なフェージング移動無線環境における最適伝送レートに関するネットワークシミュレータns-2による解析"、信学技法、ＲＣＳ２００５−４
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、伝送品質は通信中変化するので、パス（ネットワーク）の状態監視が必要であるが、上記の特許文献１に記載の技術では、パス（ネットワーク）の状態監視機能を備えていないので、伝送品質が悪くパケット廃棄が発生し易いパス（ネットワーク）に対しては、大きいサイズのパケットを小さいサイズのパケットに分割して送信することができず、スループットの向上を図ることができないという問題がある。
【００１０】
この発明は、上記に鑑みてなされたものであり、転送先ネットワーク（パス）の伝送品質の悪さに応じてパケット分割ができるようにすることで、伝送品質の悪いパスでのスループットの向上を図ることができるパケット転送装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した目的を達成するために、この発明は、２つのネットワーク間のＴＣＰ／ＩＰに準拠したパケット通信を中継するパケット転送装置において、転送先ネットワークの通信環境、パケット廃棄率などを取得し、取得した通信環境、パケット廃棄率などに応じて前記転送先ネットワークに送出するパケットの最適なパケット長を計算する最適パケット長決定手段と、転送元ネットワークから受信したパケットを前記最適パケット長決定手段が求めた最適なパケット長に分割するフラグメント手段とを備えていることを特徴とする。
【００１２】
この発明によれば、転送元ネットワークから受信したパケットを転送先ネットワークの伝送品質の悪さに応じて分割してその転送先ネットワークに中継転送することができるので、伝送品質の悪いネットワーク（パス）でのスループットの向上を図ることができる。
【発明の効果】
【００１３】
この発明によれば、伝送品質の悪いパスでのスループットの向上が図れるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に図面を参照して、この発明にかかるパケット転送装置の好適な実施の形態を詳細に説明する。
【００１５】
実施の形態１．
図１は、この発明の実施の形態１によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。図２は、図１に示すパケット分割手段の構成例を示すブロック図である。
【００１６】
図１において、この実施の形態１によるパケット転送装置１は、一方のホスト（送信ホスト）２がネットワーク３に送出する他方のホスト（受信ホスト）４宛てのパケットをネットワーク３から取り込み、それをネットワーク５経由で受信ホスト４に転送する中継装置である。
【００１７】
ここで、パケット転送装置１と送信ホスト２との間に介在するネットワーク３は、伝送品質が良く、パケット廃棄の少ないネットワーク（例えば有線ネットワーク）である。一方、パケット転送装置１と受信ホスト４との間に介在するネットワーク５は、伝送品質が悪く、パケット廃棄が発生し易いネットワーク（例えば無線ネットワーク）である。
【００１８】
すなわち、このパケット転送装置１は、伝送品質が良く、パケット廃棄の少ないネットワーク３から取り込んだパケットを、伝送品質が悪く、パケット廃棄が発生し易いネットワーク５に中継転送する際に、パケットを分割してパケット長を短くし、ネットワーク５でのスループットを向上させる構成として、パケット転送手段７の他に、パケット分割手段８と最適パケット長決定手段９とを備えている。
【００１９】
パケット転送手段７は、ネットワーク３からパケットを受信すると、その受信パケットをパケット分割手段８と最適パケット長決定手段９とに渡し、パケット分割手段８から受け取ったパケットをヘッダ等の値に応じたポートからネットワーク５に送出する。また、ネットワーク５から確認応答（Ａｃｋ）を受信すると、それをパケット分割手段８に渡し、パケット分割手段８から受け取った確認応答（Ａｃｋ）をネットワーク３に送出する。
【００２０】
最適パケット長決定手段９は、転送先のネットワーク５の通信環境やパケット廃棄率などを測定等して取得する。ここでは、パケット廃棄率を取り上げるが、具体的には、最適パケット長決定手段９は、パケット廃棄率を、当該パケット転送装置１がパケット廃棄率を測定している無線ＬＡＮのアクセスポイントや、無線基地局である場合は、自装置から取得し、パケット転送装置１がその他のルータなどの装置である場合には、パケット廃棄率を計測している装置から取得する。この動作は、ＴＣＰのコネクション確立時や、その後に受信されるパケットの受信時にも行われる。
【００２１】
そして、最適パケット長決定手段９は、取得した廃棄率とパケット転送手段７から受け取った受信パケットのパケット長とに基づき最適なパケット長を算出し、求めた最適なパケット長をパケット分割手段８に通知する。この動作は、受信されるパケット毎に行われる。但し、ここでは、処理の迅速化を考慮して、最適パケット長決定手段９には、上記のように取得したパケット廃棄率と、パケット転送手段７から受け取った受信パケットのパケット長、つまり、パケット廃棄率を取得したときのパケット長とを適用すると、最適なパケット長が求められるテーブルを設けてある。
【００２２】
なお、最適パケット長決定手段９が備える上記したテーブルは、非特許文献１の図３〜図５に相当するテーブルである。非特許文献１の図３〜図５では、各ＣＩＲ（Carrier to Interference Ratio：搬送波電力と干渉波電力との比）におけるデータ長に対するＭＡＣレイヤスループットであるが、ＣＩＲに代わりにパケット廃棄率としたものである。但し、ＣＩＲが計測できるのであれば、それを使用しても良い。
【００２３】
パケット分割手段８は、例えば図２に示すように、コネクション識別手段１１と、コネクションデータベース１２と、フラグメント手段１３と、ＡＣＫマスク手段１４とを備えている。
【００２４】
図２において、コネクション識別手段１１は、パケット転送手段７と最適パケット長決定手段９とのインタフェースであって、ＴＣＰのコネクションを識別し、識別したコネクション単位で処理を行うように、コネクションデータベース１２とフラグメント手段１３とＡＣＫマスク手段１４とを制御して、再送を含む転送一般を統括する。
【００２５】
コネクションデータベース１２は、コネクション識別手段１１の制御下に、ＴＣＰのコネクション毎にパケット転送手段７がネットワーク３から受信したパケットのシーケンス番号、ネットワーク５から受信した確認応答（Ａｃｋ）の番号、最適パケット長決定手段９が求めた最適なパケット長などを保持する記憶手段である。
【００２６】
フラグメント手段１３は、コネクション識別手段１１経由でパケット転送手段７から受け取った受信パケットをコネクションデータベース１２が保持する最適なパケット長に従ってフラグメント（分割）し、それぞれをコネクション識別手段１１経由でパケット転送手段７に引き渡す。
【００２７】
ＡＣＫマスク手段１４は、コネクション識別手段１１経由でパケット転送手段７から受け取るＡｃｋが分割パケットに対するＡｃｋである場合に、最終分割パケットに対するＡｃｋ以外のＡｃｋをマスク（廃棄）し、マスクしなかったＡｃｋをコネクション識別手段１１経由でパケット転送手段７に渡す。
【００２８】
ここで、図１、図２を参照してパケット転送装置１の各要素の処理内容を説明する。最適パケット長決定手段９は、ネットワーク５でのパケット廃棄率を取得し、上記したテーブルを参照して、そのパケット廃棄率に対するネットワーク５への中継転送パケットの最適なパケット長を求め、その求めた最適なパケット長をコネクション識別手段１１経由でコネクションデータベース１２に格納する。この動作は、パケット転送手段７でのＴＣＰのコネクション確立時や、パケットを受信する毎に行われ、パケット分割手段８では、コネクション識別手段１１経由でコネクションデータベース１２の内容が更新される。
【００２９】
パケット転送手段７は、ＴＣＰのコネクション確立後に、送信ホスト２からのパケットをネットワーク３経由で受信すると、その受信パケットをパケット分割手段８のコネクション識別手段１１に引き渡す。
【００３０】
コネクション識別手段１１は、パケット転送手段７から受け取った受信パケットのシーケンス番号をコネクションデータベース１２に格納するとともに、その受信パケットの送信元、送信先のＩＰアドレス、ＴＣＰポート番号を検索キーとしてコネクションデータベース１２を検索して所定のヘッダを作成して付加するとともに、コネクションデータベース１２から最適なパケット長を取得して以下のような判断処理を行う。
【００３１】
すなわち、コネクション識別手段１１は、受信パケットのパケット長がコネクションデータベース１２から取得した最適なパケット長以下の場合は、その受信パケットをフラグメント手段１３に渡さずにそのままパケット転送手段７に送出する。パケット転送手段７は、分割してないパケットをネットワーク５に送信する。そして、コネクション識別手段１１は、コネクションデータベース１２において、フラグメント手段１３に渡さなかったパケットのシーケンス番号にチェクを入れる。
【００３２】
一方、コネクション識別手段１１は、受信パケットのパケット長がコネクションデータベース１２から取得した最適なパケット長よりも長い場合は、その受信パケットを取得した最適なパケット長と共にフラグメント手段１３に引き渡し、コネクションデータベース１２においてフラグメント手段１３に渡したパケットのシーケンス番号にチェックを入れる。また、コネクション識別手段１１は、並行して、フラグメント手段１３に渡したパケットのシーケンス番号をＡＣＫマスク手段１４に通知する。ＡＣＫマスク手段１４は、受け取った分割対象パケットの最終シーケンス番号をコネクション識別手段１１経由でコネクションデータベース１２に保持する。
【００３３】
フラグメント手段１３は、コネクション識別手段１１から分割対象パケットを受け取ると、まず、その分割対象パケットのシーケンス番号をコネクション識別手段１１経由でコネクションデータベース１２に格納する。そして、受け取った受信パケットを最適なパケット長に従って分割し、各々の分割パケットを順にコネクション識別手段１１経由でパケット転送手段７に送出する。パケット転送手段７は、コネクション識別手段１１経由で順々に受け取る各分割パケットを順にネットワーク５に送信する。
【００３４】
なお、フラグメント手段１３では、受信パケットの長さが例えば１０００バイトで、最適なパケット長が例えば８００バイトである場合、８００バイトと２００バイトとに分割するのではなく、５００バイトと５００バイトとに分割するように、各分割パケットがほぼ均等なバイト数となるように分割している。
【００３５】
ネットワーク５からパケットを取り込む受信ホスト４は、ネットワーク５からパケットを受信すると、その受信パケットの最終シーケンス番号の次の番号をＡｃｋ番号とするＡｃｋを送信する。パケット転送装置１では、受信ホスト４から送られてきたＡｃｋが、パケット転送手段７からコネクション識別手段１１に送られ、コネクション識別手段１１にて当該Ａｃｋが分割パケットに対するＡｃｋであるか否かをシーケンス番号との対応によって判定される。
【００３６】
コネクション識別手段１１は、パケット転送手段７から受け取ったＡｃｋが分割パケットに対するＡｃｋでない場合は、そのＡｃｋをＡＣＫマスク手段１４には送らずにパケットパケット転送手段７に送り返す。つまり、パケット転送装置１では、受信ホスト４に中継転送したパケットが分割されてない場合は、受信ホスト４から送られてきたＡｃｋは、そのまま送信ホスト２に中継転送する。
【００３７】
一方、コネクション識別手段１１は、パケット転送手段７から受け取ったＡｃｋが分割パケットに対するＡｃｋである場合は、その受け取ったＡｃｋをＡＣＫマスク手段１４に引き渡す。ＡＣＫマスク手段１４では、コネクション識別手段１１から受け取ったＡｃｋが最終分割パケットに対するＡｃｋであるか否かをコネクションデータベース１２に格納した分割対象パケットの最終シーケンス番号と受け取ったＡｃｋの番号とを照合し、上記最終シーケンス番号の次の番号をＡｃｋ番号とするＡｃｋでない場合はそのＡｃｋをマスク（廃棄）することを繰り返し行い、上記最終シーケンス番号の次の番号をＡｃｋ番号とするＡｃｋである場合にそのＡｃｋをコネクション識別手段１１経由でパケット転送手段７に送出する。つまり、パケット転送装置１では、受信ホスト４に中継転送したパケットが分割されている場合は、受信ホスト４から送られてきたＡｃｋのうち分割最終パケットに対するＡｃｋのみを送信ホスト２に中継転送する。
【００３８】
次に、図３、図４を参照して、図１に示すパケット転送システムでのパケット転送手順について説明する。なお、図３は、伝送品質の悪いネットワークにてパケット廃棄が生じない場合の転送シーケンスを説明する図である。図４は、伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その１）を説明する図である。
【００３９】
図３において、送信ホスト２は、受信ホスト４宛てにシーケンス番号＃１〜＃１２００を付加した１２００バイトのパケット１００をネットワーク３に送出する。パケット転送装置１は、ネットワーク３から受信したパケット（＃１〜＃１２００）１００を、前記した方法で、２００バイト毎の６個のパケット１０２，１０３，１０４，１０５，１０６に分割し、順に受信ホスト４宛てにネットワーク５へ送出する。
【００４０】
受信ホスト４は、ネットワーク５から２つのパケットを受信する毎に、最終シーケンス番号の次の番号をＡｃｋ番号とするＡｃｋを送信ホスト２宛てにネットワーク５へ送出する。すなわち、受信ホスト４は、ネットワーク５から受信した２つのパケット（＃１〜＃２００）１０１，（＃２０１〜＃４００）１０２に対してＡｃｋ番号＃４０１のＡｃｋ１０７を送出し、その後の２つのパケット（＃４０１〜＃６００）１０３，（＃６０１〜＃８００）１０４に対してＡｃｋ＃８０１のＡｃｋ１０８を送出し、その後の２つのパケットパケット（＃８０１〜＃１０００）１０５，（＃１００１〜＃１２００）１０６に対してＡｃｋ番号＃１２０１のＡｃｋ１０９を送出する。
【００４１】
パケット転送装置１は、ネットワーク５から受信したＡｃｋ（＃４０１）１０７，Ａｃｋ（＃８０１）１０８，Ａｃｋ（＃１２０１）１０９のうち、Ａｃｋ（＃４０１）１０７とＡｃｋ（＃８０１）１０８は、最終分割パケットに対するＡｃｋではないので廃棄する一方、Ａｃｋ（＃１２０１）１０９は、最終分割パケットに対するＡｃｋであるので、そのＡｃｋ（＃１２０１）１０９を送信ホスト２宛てにネットワーク３へ送出する。
【００４２】
送信ホスト２は、ネットワーク３からＡｃｋ（＃１２０１）１０９を受信すると、次のパケット（＃１２０１〜＃２４００）１１１の送信を開始する。以降、同様のシーケンスで送信ホスト２から受信ホスト４へのネットワーク３，５を介したパケット転送が行われる。
【００４３】
次に、図４において、送信ホスト２は、受信ホスト４宛てにシーケンス番号＃１〜＃１２００を付加した１２００バイトのパケット１２０をネットワーク３に送出する。パケット転送装置１は、ネットワーク３から受信したパケット（＃１〜＃１２００）１２０を、２００バイト毎の６個のパケット１２１，１２２，１２３，１２４，１２５，１２６に分割し、順に受信ホスト４宛てにネットワーク５へ送出するが、２番目に送出したパケット（＃２０１〜＃４００）１２２は、ネットワーク５にて廃棄され、受信ホスト４に受信されなかった。
【００４４】
受信ホスト４は、パケット１２１の次に、２番目のパケット１２２を受信せず、３番目のパケット１２３を受信したので、パケット１２１の最終シーケンス番号＃２００の次の番号＃２０１をＡｃｋ番号とするＡｃｋ１２７を生成して送信ホスト２宛てにネットワーク５へ送出する。その後は、受信するパケット１２４，１２５，１２６の各々に対して、番号＃２０１をＡｃｋ番号とするＡｃｋ１２８，１２９，１３０を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００４５】
パケット転送装置１では、ネットワーク５から最初に受け取ったＡｃｋ１２７は、通常のＡｃｋと判断してマスク処理を行うが、２番目に受け取ったＡｃｋ１２８も同じＡｃｋ番号＃２０１であり、同番のＡｃｋを連続受信したので、コネクション識別手段１１が、２番目に送ったパケット１２２が受信ホスト４に不達であると判断して当該パケット１２２のシーケンス番号＃２０１〜＃４００を記録するとともに、Ａｃｋ１２８に対してＡｃｋ番号＃１のＡｃｋ１３１を生成して送信ホスト２宛てにネットワーク３へ送出し、同時に、最初に受け取ったＡｃｋ１２７に対してもＡｃｋ番号＃１のＡｃｋ１３２を生成して送信ホスト２宛てにネットワーク３へ送出する。その後は、受信するＡｃｋ番号＃２０１のＡｃｋ１２９，１３０の各々に対して、Ａｃｋ番号＃１のＡｃｋ１３３，１３４を生成して送信ホスト２宛てにネットワーク３へ送出する。
【００４６】
送信ホスト２は、同じＡｃｋ番号＃１である４個のＡｃｋ１３１，１３１，１３３，１３４を連続受信したことで再送要求であると判断し、再度、受信ホスト４宛てにシーケンス番号＃１〜＃１２００を付加した１２００バイトのパケット（＃１〜＃１２００）１３５をネットワーク３へ送出する。
【００４７】
パケット転送装置１では、ネットワーク３から再送に係るパケット（＃１〜＃１２００）１３５を受信すると、コネクション識別手段１１が、受信したパケット（＃１〜＃１２００）１３５から上記不達であったシーケンス番号＃２０１〜＃４００のパケットを抜き出してパケット１３６としてパケット転送手段７経由で受信ホスト４宛てにネットワーク５へ送出する。
【００４８】
受信ホスト４は、ネットワーク５からパケット（＃２０１〜＃４００）１３６を受け取ると、シーケンス番号＃４０１〜＃１２００までのパケットは受信済みであるので、全てのパケットに対するＡｃｋとしてＡｃｋ番号＃１２０１のＡｃｋ１３７を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００４９】
パケット転送装置１は、受け取ったＡｃｋ（＃１２０１）１３６をＡｃｋ（＃１２０１）１３８として送信ホスト２宛てにネットワーク３へ送出する。送信ホスト２は、ネットワーク３からＡｃｋ（＃１２０１）１３８を受け取ると、次のパケットの送信動作へ移行する。
【００５０】
なお、図３、図４では、理解を容易にするため、送信ホスト２は、Ａｃｋの受信を待って次のパケットを送信するとして説明したが、ウインドサイズ内である場合は、Ａｃｋの受信を待つことなく、連続してパケットの送信が行われる。
【００５１】
以上のように、この実施の形態１では、伝送品質の悪いネットワークに中継転送する場合は、送信ホストから受け取った大きいサイズのパケットを、その伝送品質の悪いネットワークでの廃棄率に応じて小さいサイズのパケットに分割して転送するので、伝送品質の悪いネットワークでのスループットを向上させることが可能になる。
【００５２】
実施の形態２．
図５は、この発明の実施の形態２によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。図６は、図５に示すパケット分割手段の構成例を示すブロック図である。
【００５３】
図５では、図１（実施の形態１）に示したシステム構成において、パケット転送装置１に代えてパケット転送装置２０が設けられている。パケット転送装置２０が備えるパケット分割手段２２は、図６に示すように、図２に示した構成において、再送用パケットバッファ２３が追加されている。
【００５４】
すなわち、ネットワーク５にてパケット廃棄が発生した場合に、実施の形態１では、送信ホスト２が再送する場合を説明したが、この実施の形態２では、送信ホスト２に代わって、パケット転送装置２０が再送用パケットバッファ２３を用いて再送するようにしている。
【００５５】
具体的には、パケット分割手段２２のコネクション識別手段１１が、実施の形態１（図４）にて説明したように受信ホスト４へのパケット不達を検出すると、再送用パケットバッファ２３に該当パケットを格納し、同番で所定数連続するＡｃｋを受信すると、再送用パケットバッファ２３から再送用パケットを取り出してパケット転送手段７に渡し、再送を行わせるようになっている。以下、図７を参照して、パケット転送装置２０が再送を実施する内容を説明する。
【００５６】
図７は、伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その２）を説明する図である。図７において、送信ホスト２は、受信ホスト４宛てにシーケンス番号＃１〜＃１２００を付加した１２００バイトのパケット１４０をネットワーク３に送出する。
【００５７】
パケット転送装置２０は、ネットワーク３から受信したパケット（＃１〜＃１２００）１４０を、２００バイト毎の６個のパケット１４１，１４２，１４３，１４４，１４５，１４６に分割し、順に受信ホスト４宛てにネットワーク５へ送出するが、２番目に送出したパケット（＃２０１〜＃４００）１４２は、ネットワーク５にて廃棄され、受信ホスト４に受信されなかった。
【００５８】
受信ホスト４は、パケット１４１の次に、２番目のパケット１４２を受信せず、３番目のパケット１４３を受信したので、パケット１４１の最終シーケンス番号＃２００の次の番号＃２０１をＡｃｋ番号とするＡｃｋ１４７を生成して送信ホスト２宛てにネットワーク５へ送出する。その後は、受信するパケット１４４，１４５，１４６の各々に対して、番号＃２０１をＡｃｋ番号とするＡｃｋ１４８，１４９，１５０を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００５９】
パケット転送装置２０は、ネットワーク５から最初に受け取ったＡｃｋ１４７は、通常のＡｃｋと判断してマスク処理を行うが、２番目に受け取ったＡｃｋ１４８も同じＡｃｋ番号＃２０１であり、同番のＡｃｋを連続受信したので、２番目に送ったパケット１４２が受信ホスト４に不達であると判断し、その不達パケット（＃２０１〜＃４００）１４２を再送用パケットバッファ２３に格納する。今の例では、同じＡｃｋ番号＃１である４個のＡｃｋを連続受信するので、Ａｃｋ１４８の受信後、同じＡｃｋ番号＃１である２個のＡｃｋ１４９，１５０を受信すると、それらを破棄して送信ホスト２へのＡｃｋ転送は行わず、ネットワーク５の通信環境等に変化がないことを確認して、つまり、最適なパケット長に変化がないことを確認して、再送用パケットバッファ２３からパケット（＃２０１〜＃４００）１４２を取り出し、パケット（＃２０１〜＃４００）１５１として受信ホスト４宛てにネットワーク５へ送出する。
【００６０】
受信ホスト４は、ネットワーク５からパケット（＃２０１〜＃４００）１５１を受け取ると、シーケンス番号＃４０１〜＃１２００までのパケットは受信済みであるので、全てのパケットに対するＡｃｋとしてＡｃｋ番号＃１２０１のＡｃｋ１５２を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００６１】
パケット転送装置２０は、受け取ったＡｃｋ（＃１２０１）１５２をＡｃｋ（＃１２０１）１５３として送信ホスト２宛てにネットワーク３へ送出する。送信ホスト２は、ネットワーク３からＡｃｋ１５２を受け取ると、次のパケット（＃１２０１〜＃２４００）１５４の送信動作へ移行する。
【００６２】
以上のように、この実施の形態２によれば、パケット転送装置が再送を実施してパケット廃棄の発生を送信ホストに対してマスクするので、不要なＴＣＰの輻輳制御の発生を抑制することができ、高いスループットを維持して伝送品質の悪いネットワークへの中継転送が可能となる。
【００６３】
実施の形態３．
この実施の形態３では、図７に示すように、パケット転送装置が再送を実施する際のネットワーク５の通信環境が最適なパケット長を小さくする方へ変化した場合の再送制御について、図８を参照して説明する。
【００６４】
図８は、この発明の実施の形態３として、伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その３）を説明する図である。図８では、説明の便宜から、図７においてパケット転送装置２０に代えてパケット転送装置２５としているが、コネクション識別手段１１に再送に関する若干の機能を追加したためである。
【００６５】
図８において、送信ホスト２は、受信ホスト４宛てにシーケンス番号＃１〜＃１２００を付加した１２００バイトのパケット１６０をネットワーク３に送出する。
【００６６】
パケット転送装置２５は、ネットワーク３から受信したパケット（＃１〜＃１２００）１６０を、２００バイト毎の６個のパケット１６１，１６２，１６３，１６４，１６５，１６６に分割し、順に受信ホスト４宛てにネットワーク５へ送出するが、２番目に送出したパケット（＃２０１〜＃４００）１６２は、ネットワーク５にて廃棄され、受信ホスト４に受信されなかった。
【００６７】
受信ホスト４は、パケット１６１の次に、２番目のパケット１６２を受信せず、３番目のパケット１６３を受信したので、パケット１６１の最終シーケンス番号＃２００の次の番号＃２０１をＡｃｋ番号とするＡｃｋ１６７を生成して送信ホスト２宛てにネットワーク５へ送出する。その後は、受信するパケット１６４，１６５，１６６の各々に対して、番号＃２０１をＡｃｋ番号とするＡｃｋ１６８，１６９，１６０を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００６８】
パケット転送装置２５は、ネットワーク５から最初に受け取ったＡｃｋ１６７は、通常のＡｃｋと判断してマスク処理を行うが、２番目に受け取ったＡｃｋ１６８も同じＡｃｋ番号＃２０１であり、同番のＡｃｋを連続受信したので、２番目に送ったパケット１６２が受信ホスト４に不達であると判断し、その不達パケット（＃２０１〜＃４００）１６２を再送用パケットバッファ２３に格納する。今の例では、同じＡｃｋ番号＃１である４個のＡｃｋを連続受信するので、Ａｃｋ１６８の受信後、同じＡｃｋ番号＃１である２個のＡｃｋ１６９，１７０を受信すると、それらを破棄して送信ホスト２へのＡｃｋ転送は行わず、ネットワーク５の通信環境を確認したところ最適なパケット長を小さくする方へ変化しているので、再送用パケットバッファ２３からパケット（＃２０１〜＃４００）１６２を取り出してフラグメント手段１３に与え、シーケンス番号＃２０１〜＃３００のパケット１７１とシーケンス番号＃３０１〜＃４００のパケット１７２とに分割し、それぞれを受信ホスト４宛てにネットワーク５へ送出する。
【００６９】
受信ホスト４は、ネットワーク５からパケット１７１，１７２を受け取ると、シーケンス番号＃４０１〜＃１２００までのパケットは受信済みであるので、全てのパケットに対するＡｃｋとしてＡｃｋ番号＃１２０１のＡｃｋ１７３を生成して送信ホスト２宛てにネットワーク５へ送出する。
【００７０】
パケット転送装置２５は、受け取ったＡｃｋ（＃１２０１）１７３をＡｃｋ（＃１２０１）１７４として送信ホスト２宛てにネットワーク３へ送出する。送信ホスト２は、ネットワーク３からＡｃｋ（＃１２０１）１７４を受け取ると、次のパケット（＃１２０１〜＃２４００）１７５の送信動作へ移行する。
【００７１】
以上のように、この実施の形態３によれば、パケット転送装置では、再送パケットを伝送品質の悪いネットワークの通信環境に合わせて分割処理するので、更にスループットを向上させることができる。
【００７２】
実施の形態４．
図９は、この発明の実施の形態４によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。図９において、パケット転送装置３０は、伝送品質が良く、パケット廃棄の少ないネットワーク３を介して送信ホスト２に接続され、パケット転送装置３１は、伝送品質が良く、パケット廃棄の少ないネットワーク３２を介して受信ホスト４に接続されているが、パケット転送装置３０とパケット転送装置３１との間に介在するネットワーク５は、伝送品質が悪く、パケット廃棄が発生し易いネットワークである。
【００７３】
実施の形態１〜３では、理解を容易にするため説明しなかったが、パケット分割時には例えば図１０に示すように、ヘッダ部のオーバヘッドが増加する。図１０は、実施の形態１〜３における入力パケットと分割後のパケットとの関係を説明する図である。図１０（１）に示すように、送信ホスト２からの入力パケットは、ＩＰフィールドと、ＴＣＰフィールドと、ペイロードフィールドとで構成されるが、ペイロードフィールドをＴＣＰレベルで分割すると、図１０（２）に示すように、分割後の各ペイロードフィールドには、ＩＰヘッダ、ＴＣＰヘッダが付加される。
【００７４】
そのため、ＩＰがバージョン４で、ＩＰヘッダ、ＴＣＰヘッダともにオプションなしとしても、ＩＰヘッダ２０バイト、ＴＣＰヘッダ２０バイトの合計４０バイトが分割毎に付加される。例えば、図１０（２）に示すように、３分割された場合は、４０×２＝８０バイトだけトータルのデータ量が増加する。以上は、レイヤ３（ＩＰ）までの付加状況であるが、実際には、レイヤ２のヘッダ・トレイラーも付加されるので、更にオーバヘッドは大きくなる。
【００７５】
この実施の形態４では、このようなオーバヘッドを最小限に抑制する方策として、ＩＰヘッダ、ＴＣＰヘッダの大部分の領域は、コネクションで共通の値であり、パケット毎に異なる領域は僅かである点に着目してこの実施の形態４によるパケット転送装置３０，３１のパケット分割手段３５を図１１に示すように構成し、ＩＰヘッダ、ＴＣＰヘッダの代わりに、コネクションの識別子とパケット毎に値が違う領域から構成されるヘッダとを用いるようにした。
【００７６】
図１１は、図９に示すパケット分割手段の構成例を示すブロック図である。図１１に示すように、この実施の形態４によるパケット転送装置３０，３１のパケット分割手段３５は、図６に示したパケット転送装置２２において、ヘッダ圧縮手段３７とヘッダ圧縮データベース３８とが追加されている。なお、図１１では、双方向への中継転送を考慮してヘッダ圧縮手段３７とヘッダ圧縮データベース３８とを共に示してあるが、ヘッダ圧縮手段３７は、ネットワーク５に送出するパケット転送装置３０で使用し、ヘッダ圧縮データベース３８は、ネットワーク５から受信するパケット転送装置３１で使用するものである。
【００７７】
以下、動作を説明する。まず、前処理としてＴＣＰのコネクションを確立する時に、そのコネクションに対しユニークなコネクション番号を割り当て、そのコネクション番号とポート番号など共通の領域に関し、パケット転送装置３１のヘッダ圧縮データベース３８に登録する。また、パケット転送装置３０では、コネクションデータベース１２にコネクション番号を登録する。
【００７８】
その後、該当コネクションのパケットがネットワーク３からパケット転送装置３０に到着すると、ヘッダ圧縮手段３７が、コネクションデータベース１２を検索してコネクション番号を取得し、ＴＣＰヘッダ（ＩＰヘッダ）を削除し、代わりにコネクション番号とパケット毎に異なる領域からなるヘッダを生成し、そのヘッダをコネクション識別手段１１が分割パケットに付加してネットワーク５に送信する。
【００７９】
次に、パケット転送装置３１は、ネットワーク５からパケットを受信すると、コネクション識別手段１１が、ヘッダ圧縮データベース３８を検索し、コネクション番号からＴＣＰヘッダ（ＩＰヘッダ）を求め、つまり、圧縮前のＴＣＰヘッダ（ＩＰヘッダ）を求め、それを受信パケットに付加してネットワーク３２に送信する。
【００８０】
以上のように、この実施の形態４では、ヘッダを圧縮することにより、パケット分割によるヘッダの増加のオーバヘッドを削減でき、ネットワークの効率を上げることが可能となる。
【００８１】
なお、この実施の形態４では、パケット転送装置３１で圧縮したヘッダを元に戻すようにしたが、受信ホスト４で対応することも可能である。つまり、実施の形態１〜４においても同様に実施することができる。
【産業上の利用可能性】
【００８２】
以上のように、この発明にかかるパケット転送装置は、伝送品質の悪いネットワークに中継転送する場合にその伝送品質の悪いネットワークでのスループットを向上させるに有用である。
【図面の簡単な説明】
【００８３】
【図１】この発明の実施の形態１によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。
【図２】図１に示すパケット分割手段の構成例を示すブロック図である。
【図３】伝送品質の悪いネットワークにてパケット廃棄が生じない場合の転送シーケンスを説明する図である。
【図４】伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その１）を説明する図である。
【図５】この発明の実施の形態２によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。
【図６】図５に示すパケット分割手段の構成例を示すブロック図である。
【図７】伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その２）を説明する図である。
【図８】この発明の実施の形態３として、伝送品質の悪いネットワークにてパケット廃棄が生ずる場合の転送シーケンス（その３）を説明する図である。
【図９】この発明の実施の形態４によるパケット転送装置の構成及びそれを用いたパケット転送システムの構成例を示す図である。
【図１０】実施の形態１〜３における入力パケットと分割後のパケットとの関係を説明する図である。
【図１１】図９に示すパケット分割手段の構成例を示すブロック図である。
【符号の説明】
【００８４】
１，２０，２５，３０，３１  パケット転送装置
２  一方のホスト（送信ホスト）
３，３２  伝送品質が良く、パケット廃棄の少ないネットワーク
４  他方のホスト（受信ホスト）
５  伝送品質が悪く、パケット廃棄が発生し易いネットワーク
７  パケット転送手段
８，２２，３５  パケット分割手段
９  最適パケット長決定手段
１１  コネクション識別手段
１２  コネクションデータベース
１３  フラグメント手段
１４  ＡＣＫマスク手段
２３  再送用パケットバッファ
３７  ヘッダ圧縮手段
３８  ヘッダ圧縮データベース
【図１】
2008153778.tif 000003
【図２】
2008153778.tif 000004
【図３】
2008153778.tif 000005
【図４】
2008153778.tif 000006
【図５】
2008153778.tif 000007
【図６】
2008153778.tif 000008
【図７】
2008153778.tif 000009
【図８】
2008153778.tif 000010
【図９】
2008153778.tif 000011
【図１０】
2008153778.tif 000012
【図１１】
2008153778.tif 000013