(57)【要約】【課題】このフラグメント処理されたＩＰパケットを送信元のネットワークから宛先側のネットワークに転送できるようにして、パケットのデータ転送を確実に行うこと。【解決手段】再構成処理部２４によって、受信されたＩＰパケットが分割されているかどうか判断し、分割されている場合には、このＩＰパケットを一旦パケット蓄積部２５に蓄積し、全部の分割されたＩＰパケットが蓄積されてから、フラグメント処理前のもとの１つのＩＰパケットデータに再構成する。その後に受信処理部２６がアドレス変換テーブル２７を検索して、ＩＰパケットのヘッダ内のアドレスを宛先ネットワークで設定されているアドレスにアドレス変換して、ネットワーク間のデータ中継を可能にする。【選択図】      図２
2005012698.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワーク間でパケット構成のデータを送受信する際に、該パケット内のネットワークのアドレスを所定のアドレスに変換して中継するデータ中継方法において、
前記受信したデータを一旦蓄積する蓄積工程と、
前記蓄積されたパケットを再構成する再構成工程と、
前記受信されたパケットのアドレス変換を含む受信処理を行う受信処理工程と、
を含むことを特徴とするデータ中継方法。
【請求項２】
前記データ中継方法では、前記受信したデータが分割処理されたパケットデータかどうか判断する判断工程を、
さらに含み、前記蓄積工程では、前記判断工程で前記分割処理されたパケットデータと判断された全てのパケットを一旦蓄積し、
前記再構成工程では、前記分割処理されたパケットデータの全てが蓄積されると、前記蓄積されたパケットを再構成し、
前記受信処理工程では、前記再構成されたパケットおよび前記判断工程で分割処理されていないと判断されたパケット内のネットワークアドレスをアドレス変換することを特徴とする請求項１に記載のデータ中継方法。
【請求項３】
前記データ中継方法において、前記再構成工程では、前記分割処理されたパケットを、もとの１つのパケットデータに再構成することを特徴とする請求項１に記載のデータ中継方法。
【請求項４】
複数のネットワーク間でパケット構成のデータを送受信する通信手段を備え、受信した該パケット内のネットワークのアドレスをアドレス変換して中継するデータ中継装置において、
前記通信手段で受信されたパケットを蓄積する蓄積手段と、
前記蓄積手段内のパケットを再構成する再構成手段と、
前記受信されたパケット内のネットワークアドレスを所定のアドレスに変換する受信処理手段と、
を備えたことを特徴とするデータ中継装置。
【請求項５】
前記データ中継装置は、分割処理された前記パケットデータを中継するとともに、
前記受信したパケットが前記分割処理されたパケットデータかどうか判断する判断手段を、
さらに備え、前記蓄積手段は、前記判断結果に基づいて、前記分割処理されたパケットの全パケットを一旦蓄積し、
前記再構成手段は、前記蓄積されたパケットをもとの１つのパケットデータに再構成し、
前記受信処理手段は、前記再構成されたパケットおよび前記判断手段で分割処理されていないと判断されたパケット内のネットワークアドレスを宛先側のネットワークのアドレスに変換することを特徴とする請求項４に記載のデータ中継装置。
【請求項６】
前記受信処理手段は、前記受信されたパケットのうちのレイヤ３のヘッダ内の宛先アドレスと、レイヤ４のヘッダ内の宛先ポートのアドレスを変換することを特徴とする請求項４または５に記載のデータ中継装置。
【請求項７】
複数のネットワーク間でパケット構成のデータを送受信するデータ中継システムにおいて、
請求項４〜６のいずれかに記載のデータ中継装置を備え、受信したパケットを再構成して中継することを特徴とするデータ中継システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、取り込んだパケットのアドレスを変換する際に、パケットの再構成を行うデータ中継方法、データ中継装置およびその装置を用いたデータ中継システムに関するものである。
【０００２】
【従来の技術】
従来、ルータなどのデータ中継装置は、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ：インターネットサービス事業者）のバックボーンネットワークとユーザ間に用いられ、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを利用したインターネット上に伝送されるパケット構成のデータのデータ中継を行っていた。
【０００３】
このようなルータが用いられるネットワークでは、ユーザ数の増大やインターネットの発展などに伴って、各ユーザに付与するＩＰアドレスの枯渇が大きな問題になってきており、その解決策として種々の方法が提案されている。たとえば、非特許文献１に示すＮＡＴ（Ｔｈｅ  ＩＰ  Ｎｅｔｗｏｒｋ  Ｔｒａｎｓｌａｔｏｒ）では、図６に示すように、ＷＡＮ（ワイドエリアネットワーク）側のグローバルなＩＰアドレス（ローカルＩＰアドレスＡ０〜Ａ２）を、ユーザのＬＡＮ（ローカルエリアネットワーク）側のプライベートなＩＰアドレス（ローカルＩＰアドレスＬ０〜Ｌ２）にそれぞれアドレス変換することにより、ユーザのローカルなネットワークとＩＳＰのグローバルなネットワークとを接続させる機能を提供している。
【０００４】
ところが、近年では、インターネットの発展やローカルネットワーク環境の向上に伴い、ローカルネットワークの増加やユーザ内の通信媒体、たとえばＰＣ（パーソナルコンピュータ）の台数が増加する傾向にあり、益々ＩＰアドレスの枯渇を解決することが必要な状況となっている。
【０００５】
そこで、従来では、図７のＮＡＴアドレス変換テーブルの他の例に示すように、受信ポートとＩＰアドレスを組み合わせて、ＩＳＰが設定するグローバルなＩＰアドレスを、ユーザ側に設定されるプライベートなＩＰアドレスに変換するアドレス変換方法が提案されている。このアドレス変換方法では、ＩＰパケットに含まれるレイヤ３をサポートするＩＰを用いたネットワーク層でのユーザのＩＰアドレス（図７中のローカルＩＰアドレスＡ０〜Ａ２）と、ＬＡＮ側のローカルポート番号（図７中のローカルポートＰ０〜Ｐ２）と、レイヤ４をサポートするＴＣＰ／ＵＤＰ／ＩＣＭＰを用いたトランスポート層でのＷＡＮ側のＩＰアドレス（図７中のローカルＩＰアドレスＷ）と、ルータにおけるインターフェース（以下、「Ｉ／Ｆ」という）のローカルポート番号（図７中のローカルポートＳ０〜Ｓ２）とを対応付けて管理しており、ＩＳＰのバックボーンネットワークからのパケットが受信される受信ポート番号と、このパケットに含まれる宛先のＩＰアドレスとから、プライベートなユーザのＩＰアドレスＡ０〜Ａ２を検索して、パケットの宛先アドレスの変換を行うことで、Ｎ対１のＮＡＴアドレス変換を行っていた。
【０００６】
なお、図８は、中継されるＩＰパケットのデータと、フラグメントされたパケットのデータフォーマットを示す図である。図において、このＩＰパケットは、ＩＰヘッダと、その後に続くＩＰデータ部とから構成されており、このＩＰデータ部は、ＴＣＰヘッダと、ＴＣＰデータ部とから構成されている。
【０００７】
このＩＰヘッダは、図９に示すように、ＩＰのプロトコル版数を示すバージョン（Ｖｅｒｓｉｏｎ）と、このＩＰヘッダの長さを示すＩＨＬと、このパケットの配送経路上での取り扱い方法を指定するタイプオブサービス（Ｔｙｐｅ  ｏｆＳｅｒｖｉｃｅ）と、パケットの全長を示すトータル長（Ｔｏｔａｌ  Ｌｅｎｇｔｈ）と、パケットを識別するためのＩＤとして用いられる識別子（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）と、パケットのフラグメンテーションをコントロールするために用いられるフラグ（Ｆｌａｇｓ）およびオフセット値（Ｆｌａｇｍｅｎｔ  Ｏｆｆｓｅｔ）と、パケットの生存時間を示すタイムツウライブ（Ｔｉｍｅｔｏ  Ｌｉｖｅ）と、パケットのデータ部をどの上位プロトコルに渡すかを示すプロトコル（Ｐｒｏｔｏｃｏｌ）と、ヘッダのチェックサム（Ｈｅａｄｅｒ  Ｃｈｅｃｋｓｕｍ）と、パケットの送信元ＩＰアドレスを示す送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）と、パケットの宛先ＩＰアドレスを示す宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）と、特殊な処理を付加するオプションを指定するオプション（Ｏｐｔｉｏｎｓ）と、オプションの指定に伴い変化するヘッダ長を調整するためのパッディング（Ｐａｄｄｉｎｇ）の各フィールドから構成されている。
【０００８】
また、ＴＣＰヘッダは、図１０に示すように、送信元ポート番号を示す送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）と、宛先ポート番号を示す宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）と、ＴＣＰコネクションストリームの中でのセグメントの位置を示すシーケンス番号（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）と、次に到着を期待するバイトの番号を伝えるための確認応答番号（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ  Ｎｕｍｂｅｒ）と、データの始まりを示すデータオフセット（Ｄａｔａ  Ｏｆｆｓｅｔ）と、将来の拡張に予約されたフィールドであるリザーブド（Ｒｅｓｅｒｖｅｄ）と、緊急ポインタフィールド識別を示すＵＲＧと、確認フィールド識別を示すＡＣＫと、プッシュ機能を示すＰＳＨと、コネクションのリセットを示すＲＳＴと、同期シーケンス番号を示すＳＹＮと、送信側からのデータが無いことを示すＦＩＮと、受信可能なデータオクテットの数を示すウインドウ（Ｗｉｎｄｏｗ）と、チェックサム（Ｃｈｅｃｋｓｕｍ）と、緊急ポインタの現在の値にかかわる緊急ポインタ（Ｕｒｇｅｎｔ  Ｐｏｉｎｔｅｒ）と、オプション（Ｏｐｔｉｏｎｓ）と、パッディング（Ｐａｄｄｉｎｇ）と、データ（Ｄａｔａ）の各フィールドから構成されている。
【０００９】
ここで、ＷＡＮ側からＬＡＮ側へのＩＰパケットの流れを考えると、ルータがＷＡＮ側から受信するＩＰパケットのうち、ＩＰヘッダのソースアドレスには、リモートＩＰアドレスＲ０〜Ｒ２のうちの該当するアドレスが付加され、宛先アドレスには、ローカルＩＰアドレスＷが付加され、さらにＴＣＰヘッダの送信元ポートには、リモートポート番号Ｑ０〜Ｑ２のうちの該当するポート番号が付加され、また宛先ポートには、ローカルポート番号Ｓ０〜Ｓ２のうちの該当するポート番号が付加されている。
【００１０】
ルータは、このＩＰパケットを受信すると、図７に示したＮＡＴアドレス変換テーブルを検索して、このＩＰパケットのうち、ＩＰヘッダの宛先アドレスを、ローカルＩＰアドレスＡ０〜Ａ２のいずれかにアドレス変換し、またＴＣＰヘッダの宛先ポートを、ローカルポート番号Ｐ０〜Ｐ２に変換してＬＡＮに送信している。
【００１１】
この従来例においては、インターネットを構成する物理的な伝送路では、１つのデータをさらに小さな部分（フラグメント）に分割しないと、データを転送することができないような場合が起こり得る。このような場合、ＩＰのソフトウェアは、図８に示すように、ＩＰパケットのＩＰデータ部を分割し、それぞれのデータ部にもとのＩＰパケットのＩＰヘッダをコピーして付加し、複数のＩＰパケットとしてデータ転送を行っていた。
【００１２】
【非特許文献１】
Ｋｊｅｌｄ  Ｂｏｒｃｈ  Ｅｇｅｖａｎｇ＆Ｐａｕｌ  Ｆｒａｎｃｉｓ共著、「ＲＦＣ１６３１  Ｔｈｅ  ＩＰ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ（ＮＡＴ）」、インターネット公式プロトコル（ＳＴＤ１）、１９９４年３月、ｐ．１−５、ＡｌｔｅｒＮＩＣ  Ｔｈｅ  ＮｅｔｗｏｒｋＩｎｆｏｒｍａｔｉｏｎ  Ｃｅｎｔｅｒ、［平成１４年１０月２９日検索］、インターネット〈ＵＲＬ：ＨＹＰＥＲＬＩＮＫ“ｈｔｔｐ：／／ｗｗｗ．ａｌｔｅｒｎｉｃ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ１６００／ｒｆｃ１６３１．ｈｔｍｌ”〉
【００１３】
【発明が解決しようとする課題】
しかしながら、上記従来例では、ＩＰデータ部を構成するＴＣＰヘッダは、分割された最初のパケットに含まれるのみで、２番目以降の分割されたパケットには、このレイヤ４のＴＣＰヘッダが含まれないこととなる。このため、ルータは、ＬＡＮ側のローカルポートが認識できず、パケットのアドレス変換を行うことができないので、このフラグメント処理されたパケットの転送ができずに廃棄してしまい、パケットのデータ中継の信頼性が低下するという問題点があった。
【００１４】
この発明は、上記問題点に鑑みなされたもので、データの分割処理の有無にかかわらずにＩＰパケットを送信元のネットワークから宛先側のネットワークに転送できるようにして、パケットのデータ転送を確実に行うことができるデータ中継方法、データ中継装置およびその装置を用いたデータ中継システムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかるデータ中継方法では、複数のネットワーク間でパケット構成のデータを送受信する際に、該パケット内のネットワークのアドレスを所定のアドレスに変換して中継するデータ中継方法において、前記受信したデータを一旦蓄積する蓄積工程と、前記蓄積されたパケットを再構成する再構成工程と、前記受信されたパケットのアドレス変換を含む受信処理を行う受信処理工程とを含むことを特徴とするデータ中継方法が提供される。
【００１６】
この発明によれば、たとえばフラグメント処理されたＩＰパケットを全て蓄積し、かつリアセンブル処理による再構成を行った後に、このパケットのヘッダ内のアドレスのアドレス変換を行うことで、このフラグメント処理の有無にかかわらずにＩＰパケットを送信元から宛先側のネットワークへ転送することを可能にする。
【００１７】
また、請求項２にかかるデータ中継方法では、前記受信したデータが分割処理されたパケットデータかどうか判断する判断工程をさらに含み、前記蓄積工程では、前記判断工程で前記分割処理されたパケットデータと判断された全てのパケットを一旦蓄積し、前記再構成工程では、前記分割処理されたパケットデータの全てが蓄積されると、前記蓄積されたパケットを再構成し、前記受信処理工程では、前記再構成されたパケットおよび前記判断工程で分割処理されていないと判断されたパケット内のネットワークアドレスをアドレス変換することを特徴とする。
【００１８】
この発明によれば、受信したデータがフラグメント処理されたパケットデータかどうか判断し、フラグメント処理されたパケットデータは、全て一旦蓄積されて、リアセンブル処理が施されて再構成された後に、アドレス変換され、またフラグメント処理されていないパケットデータは、蓄積されることなく、アドレス変換されて中継されるので、フラグメント処理の有無にかかわらずにＩＰパケットを送信元から宛先側のネットワークへ転送することを可能にする。
【００１９】
また、請求項３にかかるデータ中継方法において、前記再構成工程では、前記分割処理されたパケットを、もとの１つのパケットに再構成することを特徴とする。
【００２０】
この発明によれば、フラグメント処理されたＩＰパケットを全て蓄積し、さらに分割前のもとの１つのＩＰパケットに再構成した後に、このパケットのヘッダ内のアドレスを宛先のローカルエリアネットワークのプライベートなアドレスまたはワイドエリアネットワークのグローバルなアドレスにアドレス変換することで、このフラグメント処理されたＩＰパケットを送信元から宛先側のネットワークに転送できるようにする。
【００２１】
また、請求項４にかかるデータ中継装置では、複数のネットワーク間でパケット構成のデータを送受信する通信手段を備え、受信した該パケット内のネットワークのアドレスをアドレス変換して中継するデータ中継装置において、前記通信手段で受信されたパケットを蓄積する蓄積手段と、前記蓄積手段内のパケットを再構成する再構成手段と、前記受信されたパケット内のネットワークアドレスを所定のアドレスに変換する受信処理手段とを備えたことを特徴とする。
【００２２】
この発明によれば、送信元のネットワークからのＩＰパケットを通信手段によって受信して、蓄積手段に蓄積し、さらに再構成手段でリアセンブル処理によるＩＰパケットの再構成を行った後に、このパケットのヘッダ内のネットワークアドレスのアドレス変換を受信処理手段で行うことで、フラグメント処理の有無にかかわらずにＩＰパケットを送信元から宛先側のネットワークに転送できるようにする。
【００２３】
また、請求項５にかかるデータ中継装置では、分割処理された前記パケットデータを中継するとともに、前記受信したパケットが前記分割処理されたパケットデータかどうか判断する判断手段をさらに備え、前記蓄積手段は、前記判断結果に基づいて、前記分割処理されたパケットの全パケットを一旦蓄積し、前記再構成手段は、前記蓄積されたパケットをもとの１つのパケットに再構成し、前記受信処理手段は、前記再構成されたパケットおよび前記判断手段で分割処理されていないと判断されたパケット内のネットワークアドレスを宛先側のネットワークのアドレスに変換することを特徴とする。
【００２４】
この発明によれば、送信元のネットワークからのＩＰパケットを通信手段によって受信し、フラグメント処理されたパケットデータかどうかの判断を判断手段で行い、フラグメント処理されたパケットデータは、蓄積手段によって全てのパケットが蓄積され、さらに再構成手段でフラグメント処理前のもとの１つのＩＰパケットに再構成した後に、このパケットデータおよびフラグメント処理されていないパケットデータのヘッダ内のネットワークアドレスのアドレス変換を受信処理手段で行うことで、このフラグメント処理の有無にかかわらずにＩＰパケットを送信元から宛先側のネットワークに転送できるようにする。
【００２５】
また、請求項６にかかるデータ中継装置では、前記受信処理手段は、前記受信されたパケットのうちのレイヤ３のヘッダ内の宛先アドレスと、レイヤ４のヘッダ内の宛先ポートのアドレスを変換することを特徴とする。
【００２６】
この発明によれば、受信されたパケットのうちの、たとえばＩＰヘッダ内の宛先アドレスと、ＴＣＰヘッダ内の宛先ポートのアドレスを、受信処理手段によってたとえば宛先側のネットワークのアドレスに変換することで、フラグメント処理の有無にかかわらずにＩＰパケットを送信元から宛先側のネットワークに転送できるようにする。
【００２７】
また、請求項７にかかるデータ中継システムでは、複数のネットワーク間でパケット構成のデータを送受信するデータ中継システムにおいて、請求項４〜６のいずれかに記載のデータ中継装置を備え、受信したパケットを再構成して中継することを特徴とする。
【００２８】
この発明によれば、送信側のネットワークでフラグメント処理されたＩＰパケットを請求項４〜６のいずれかに記載のデータ中継装置によって全て蓄積した後に、フラグメント処理前のもとの１つのＩＰパケットに再構築して、このＩＰパケットを送信元から宛先側のネットワークに転送することで、データ中継の信頼性を高める。
【００２９】
【発明の実施の形態】
以下に図１〜図５の添付図面を参照して、この発明にかかるデータ中継方法、データ中継装置およびその装置を用いたデータ中継システムの好適な実施の形態を説明する。
【００３０】
（実施の形態）
図１は、この発明にかかるデータ中継システムの概略構成を示すシステム構成図である。図において、この実施の形態のデータ中継システムは、バックボーンネットワーク１上に設けられたＩＳＰの各ＰＥルータ１０〜１３と、この発明にかかるデータ中継装置であるユーザ用ルータ２０〜５０とを接続させるとともに、ユーザ用ルータ２０〜５０には、特定ユーザの各ＰＣ６１〜６３，７１〜７ｎ（ｎは任意の整数）が接続されている。この構成において、たとえばルータ１１〜１３は、バックボーンネットワーク１を介して接続されてＷＡＮを構築し、ルータ２０とＰＣ６１〜６３とは、ＬＡＮ１を構築し、またルータ３０とＰＣ７１〜７ｎは、ＬＡＮ２を構築している。
【００３１】
これらルータ２０〜５０は、同一の構成からなっているので、ここでは代表してルータ２０の構成を示す。ルータ２０は、図２に示すように、ＷＡＮ側のルータ１０と接続されるＩ／Ｆ２１と、ＬＡＮ１側のＩ／Ｆ２２と、ルーティング制御用のプロトコルによる経路情報の制御処理を行うルーティング制御部２３と、ＩＰパケットデータの再構成を行う再構成処理部２４と、受信されたＩＰパケットデータを蓄積するパケット蓄積部２５と、再構成されたＩＰパケットデータのアドレス変換処理を含む受信処理を行う受信処理部２６と、図７に示したテーブルと同一構成のアドレス変換テーブル２７とから構成されている。
【００３２】
パケット蓄積部２５は、たとえば送信側のネットワークでフラグメント処理が施されたＩＰパケットデータの全てのＩＰパケットを蓄積するものである。このパケット蓄積部２５に蓄積されたＩＰパケットデータは、図示しないリアセンブル処理管理用コントロールブロックによって管理されている。このコントロールブロックには、ＩＰヘッダ中のＩＤ（識別子）値と、受信された各ＩＰパケットの受信断片合計長と、フラグメント処理によって分割される前のＩＰパケットデータのパケット長などを示すパケット情報と、蓄積されている各ＩＰパケットへのリンクを示すポインタ情報が記憶されている。なお、このコントロールブロックは、パケット蓄積部２５内に設けられている。
【００３３】
再構成処理部２４は、Ｉ／Ｆ２１または２２で受信されたＩＰパケットが、送信元のネットワークでフラグメント処理が施されたＩＰパケットかどうか判断している。そして、このＩＰパケットがフラグメント処理されている場合には、このフラグメント処理されているＩＰパケットを、パケット蓄積部２５に一旦蓄積させるとともに、リアセンブル処理管理用コントロールブロックを取得して、上述した各種パケット情報やポインタ情報を記憶させることで、分割されて自装置に受信されるＩＰパケット同士の関連付けを行っている。
【００３４】
また、再構成処理部２４は、フラグメント処理されたＩＰパケットが受信されると、受信されたＩＰパケットの受信断片合計長と、フラグメント処理によって分割される前のＩＰパケットデータのパケット長との比較計算を行い、その結果からパケット蓄積部２５に全てのフラグメント処理されているＩＰパケットが揃ったことを確認する。そして、このＩＰパケットが揃うと、再構成処理部２４は、これらＩＰパケットをフラグメント処理前のもとの１つのＩＰパケットデータに再構築するリアセンブル処理を行って、受信処理部２６に出力する。
【００３５】
さらに、再構成処理部２４は、上記判断結果において、受信されたＩＰパケットがフラグメント処理を施されたＩＰパケットでない場合には、このＩＰパケットデータのパケット蓄積部２５への蓄積やリアセンブル処理を行うことなく、直接受信処理部２６に出力するように制御動作を行う。
【００３６】
受信処理部２６は、再構成処理部２４で再構成されたＩＰパケットおよびフラグメント処理されていないＩＰパケットのアドレス変換処理を含む、後述するＮＡＴ処理を行う。すなわち、受信処理部２６は、Ｉ／Ｆ２１または２２からＩＰパケットが入力されると、ＮＡＴ処理の動作を行い、その動作の中でＮＡＴアドレス変換テーブル２７を検索して、このＩＰパケットのうち、ＩＰヘッダの宛先アドレスを、該当するアドレスにアドレス変換し、またＴＣＰヘッダの宛先ポートを、該当するポート番号に変換している。
【００３７】
次に、このデータ中継装置のデータ処理の動作を図３〜図５のＩＰパケットの流れを示す図およびフローチャートに基づいて説明する。なお、この実施の形態では、ＰＣ７１からＰＣ６１にＩＰパケットを送信する場合について説明する。
【００３８】
図３は、フラグメント処理されたＩＰパケットのネットワーク上の流れを示す図であり、図４は、ＩＰパケットのＮＡＴ処理の動作を説明するためのフローチャートである。図３において、送信側ネットワークのＰＣ７１は、ＩＰパケットのデータ長に応じてフラグメント処理を行うかどうか決定し、このデータ長が規定の長さより長い場合に、ＩＰパケットのフラグメント処理を行ってＩＰパケット内のＩＰデータを分割し、さらにこのＩＰデータにコピーしたＩＰヘッダを付加する。この分割されたＩＰパケットはＩ／ＦとＰＥ（プロバイダエッジ）ルータ１１を介してＩＳＰのバックボーンネットワーク１に順番に送信される。このＩＰパケットは、ネットワーク１上で転送され、さらにＰＥルータ１０を介して、ＬＡＮ１のＣＥ（カスタマエッジ）ルータ２０に受信される。
【００３９】
ＣＥルータ２０においては、図３に示すＮＡＴ処理が行われており、まずＩ／Ｆ２１がＩＰパケットを受信すると（ステップ１０１）、受信処理部２６は、このパケットからレイヤ３の情報を取得する（ステップ１０２）。この実施の形態においては、受信処理部２６は、ＩＰヘッダの各フィールド内の情報を取得するが、その中で発明にかかわる情報は、トータル長と、識別子と、フラグと、フラグメントオフセットと、送信元アドレスと、宛先アドレスとが該当する。
【００４０】
受信処理部２６は、これら情報を取得すると（ステップ１０３）、このＩＰパケットがフラグメント処理されたパケットかどうか判断する（ステップ１０４）。ここでは、フラグとフラグメントオフセット内の情報に基づいて、このＩＰパケットがフラグメント処理されたパケットかどうか判断しており、フラグメント処理されたパケットの場合には、後述する再構成処理部２４によるリアセンブル処理に移行し（ステップ１０５）、またフラグメント処理されたパケットでない場合には、このパケットからレイヤ４の情報を取得する（ステップ１０６）。この実施の形態においては、ＴＣＰヘッダの各フィールド内の情報を取得するが、その中で発明にかかる情報は、送信元ポートと、宛先ポートとが該当する。
【００４１】
次に、受信処理部２６は、これら情報を取得すると（ステップ１０７）、ＮＡＴアドレス変換テーブル２７を検索して、レイヤ３とレイヤ４の情報を変換する（ステップ１０８）。ここで、ＷＡＮ側のルータ１０からＬＡＮ側のルータ２０へのＩＰパケットの流れを考えると、ルータ２０がＷＡＮ側ルータ１０から受信するＩＰパケットのうち、ＩＰヘッダのソースアドレスには、リモートＩＰアドレスＲ０が付加され、宛先アドレスには、ローカルＩＰアドレスＷが付加されており、さらにＴＣＰヘッダの送信元ポートには、リモートポート番号Ｑ０が付加され、また宛先ポートには、ローカルポート番号Ｓ０が付加されている。
【００４２】
ルータ２０の受信処理部２６は、このＩＰパケットを受信すると、図７に示したＮＡＴアドレス変換テーブルを検索して、このＩＰパケットがローカルＩＰアドレスがＡ０のＰＣ６１宛のパケットであることを認識する。そして、このＩＰパケットのうち、ＩＰヘッダの宛先アドレスを、ローカルＩＰアドレスＡ０にアドレス変換し、またＴＣＰヘッダの宛先ポートを、ローカルポート番号Ｐ０に変換する。
【００４３】
次に、受信処理部２６は、ＩＰヘッダのトータル長のフィールド内に格納されているパケットデータの長さに応じて、このパケットのフラグメント処理を行うか決定し、この判断結果に基づいた処理動作を行った後に、このＩＰパケットをＩ／Ｆ２２を介してＬＡＮ１に送信する（ステップ１０９）。
【００４４】
また、ステップ１０４において、受信されたＩＰパケットがフラグメントパケットの場合には、ステップ１０５において、リアセンブル処理を行うために、受信処理部２６は、このＩＰパケットを再構成処理部２４に出力して、この再構成処理部２４によってリアセンブル処理を行わせる。
【００４５】
再構成処理部２４は、ＩＰパケットが入力されると、図５に示すリアセンブル処理を行う。図において、再構成処理部２４は、受信処理部２６からＩＰパケットが入力すると、このＩＰパケットに付与されるＩＰヘッダのフラグとフラグメントオフセット内の情報に基づいて、このＩＰパケットが分割されているパケットかどうか判断し（ステップ２０１）、分割されている場合には、このＩＰパケットに関わる他の断片（ＩＰパケット）を既に取得しているかどうか判断する（ステップ２０２）。
【００４６】
この判断において、再構成処理部２４は、このＩＰパケットにおけるＩＰヘッダのＩＤと、リアセンブル処理管理用コントロールブロックに格納されたＩＰヘッダのＩＤとを比較し、これらＩＤが異なるＩＤの場合には、このＩＰパケットに関わる他の断片はないと判断し、このＩＰパケットをパケット蓄積部２５に蓄積するとともに、新たなリアセンブル処理管理用コントロールブロックを取得する（ステップ２０３）。そして、この取得したリアセンブル処理管理用コントロールブロックに上述した種々のパケット情報とポインタ情報を記憶させて、このコントロールブロックに分割されているＩＰパケットを繋ぐ（ステップ２０４）。
【００４７】
また、ステップ２０２の判断において、これらＩＤが同じ場合には、このＩＰパケットに関わる他の断片が、既にパケット蓄積部２５に蓄積されていると判断して、ステップ２０４において、このＩＰパケットをパケット蓄積部２５に蓄積するとともに、該当するコントロールブロックに上述した種々のパケット情報とポインタ情報を記憶させて、このコントロールブロックに分割されているＩＰパケットを繋ぐ。
【００４８】
次に、再構成処理部２４は、今までに受信した断片の合計長と、分割前のＩＰパケット長とから、断片が全て揃ったか確認の計算を行う（ステップ２０５）。そして、分割された断片が全て揃ったか判断し（ステップ２０６）、まだ全て揃っていない場合には、次のパケットに対するリアセンブル処理に移行する（ステップ２０７）。また、分割された断片が全て揃った場合には、ＩＰパケットを図３に示すように、分割前の１つのＩＰパケットに再構成して受信処理部２６に出力し（ステップ２０８）、この受信処理部２６による受信処理に移行する（ステップ２０９）。
【００４９】
図４において、受信処理部２６は、再構成処理部２４からのＩＰパケットの有無によってリアセンブルが完了したかどうか判断しており（ステップ１１０）、再構成処理部２４からＩＰパケットが入力すると、ステップ１０６〜１０９において、このＩＰパケットのレイヤ４の情報を取得し、ステップ１０２で取得したレイヤ３の情報とともに、上述したようにＬＡＮ側の情報に変換して、Ｉ／Ｆ２２を介してＬＡＮ１に送信することができる。
【００５０】
このように、この実施の形態では、受信されたＩＰパケットがフラグメント処理されているかどうか判断し、フラグメント処理されている場合には、この分割化されたＩＰパケットを一旦パケット蓄積部に蓄積した後に、フラグメント処理前のもとの１つのＩＰパケットデータに再構成するリアセンブル処理を行うので、全てのＩＰパケットにレイヤ３とレイヤ４のヘッダが付加されることとなり、受信処理部は、アドレス変換を行うときに、このレイヤ４の情報を取得してアドレス変換を行うことができる。これにより、この実施の形態では、このフラグメント処理されたＩＰパケットを異なるネットワーク側に転送できるようになり、フラグメント処理の有無に関わらずにＩＰパケットのデータ転送を確実に行うことができ、データ中継の信頼性を向上することができる。
【００５１】
なお、この実施の形態では、ＷＡＮ側からＬＡＮ側へのＩＰパケットの中継動作の場合を説明したが、この発明はこれに限らず、ＬＡＮ側からＷＡＮ側へのＩＰパケットの場合も、同様にフラグメント処理されたＩＰパケットのリアセンブル処理を行うことで、フラグメント処理されたＩＰパケットをＷＡＮ側に転送することが可能となる。
【００５２】
この発明は、これら実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲で種々の変形実施が可能である。たとえば、この実施の形態では、フラグメント処理されたＩＰパケットのみをパケット蓄積部に蓄積するようにしたが、この発明はこれに限らず、受信したパケットを一旦、このパケット蓄積部に蓄積されてから、パケットの再構成やアドレス変換を行うようにすることも可能である。
【００５３】
また、この実施の形態では、データ中継装置であるルータの機能として、再構成処理部と受信処理部を別々の構成としたが、再構成の処理を受信処理の処理工程の一環として、受信処理部によって行わせるようにルータの機能を構成することも可能である。
【００５４】
また、この実施の形態では、リアセンブル処理によって、分割されたパケットをもとの１つのＩＰパケットに再構成し、アドレス変換を行った後に、パケットデータの長さに応じて、再びこのパケットのフラグメント処理を行っているが、この発明はこれに限らず、たとえばこの再構成の後にフラグメント処理を行ってから、アドレス変換処理を行うようにすることも可能である。
【００５５】
【発明の効果】
以上説明したように、この発明では、複数のネットワーク間でパケット構成のデータを送受信する際に、該パケット内のネットワークのアドレスを所定のアドレスに変換して中継するデータ中継にて、受信したパケットを一旦蓄積し、かつ蓄積されたパケットの再構成を行った後に、パケットのヘッダ内のアドレスを変換するので、この分割処理の有無にかかわらずにＩＰパケットを送信元のネットワークから宛先側のネットワークに転送できるようになり、パケットのデータ転送を確実に行うことができる。
【００５６】
また、この発明では、受信したデータが分割処理されたパケットデータかどうか判断し、分割されたパケットデータの場合には、全て一旦蓄積し、分割されたパケットが全て揃うと再構成を行った後に、パケットのヘッダ内のアドレスを変換するので、この分割処理の有無にかかわらずにＩＰパケットを送信元のネットワークから宛先側のネットワークに転送できるようになり、パケットのデータ転送を確実に行うことができる。
【００５７】
また、この発明では、分割されたパケットを全て蓄積し、さらに分割前のもとの１つのパケットに再構成した後に、ヘッダ内のアドレスを宛先のネットワークで設定されるアドレスにアドレス変換するので、分割処理されたＩＰパケットを送信元から宛先側のネットワークに良好に転送することができる。
【００５８】
また、この発明では、分割処理されたパケットを請求項４〜６のいずれかに記載のデータ中継装置を用いて再構成して、送信元から宛先側のネットワークに転送するので、分割処理されたパケットを確実に中継することができ、データ中継の信頼性を向上させることができる。
【図面の簡単な説明】
【図１】この発明にかかるデータ中継システムの概略構成を示すシステム構成図である。
【図２】図１に示したルータの構成を示す構成図である。
【図３】フラグメント処理されたＩＰパケットのネットワーク上の流れを示す図である。
【図４】図２に示した受信処理部におけるＩＰパケットのＮＡＴ処理の動作を説明するためのフローチャートである。
【図５】図２に示した再構成処理部におけるＩＰパケットのリアセンブル処理を説明するためのフローチャートである。
【図６】従来のＮＡＴアドレス変換テーブルの構成内容の一例を示す構成図である。
【図７】同じく、従来のＮＡＴアドレス変換テーブルの構成内容の他の例を示す構成図である。
【図８】中継されるＩＰパケットのデータと、フラグメントされたパケットのデータフォーマットを示す図である。
【図９】図８に示したＩＰヘッダのデータフォーマットを示す図である。
【図１０】同じく、図８に示したＴＣＰヘッダのデータフォーマットを示す図である。
【符号の説明】
１  バックボーンネットワーク
１０〜１３  ＷＡＮ側ルータ（ＰＥルータ）
２０〜５０  ユーザ用ルータ（ＣＥルータ）
２１  ＷＡＮ側インターフェース（Ｉ／Ｆ）
２２  ＬＡＮ側インターフェース（Ｉ／Ｆ）
２３  ルーティング制御部
２４  再構成処理部
２５  パケット蓄積部
２６  受信処理部
２７  アドレス変換テーブル
６１〜６３，７１〜７ｎ  パーソナルコンピュータ（ＰＣ）
Ａ０〜Ａ２，Ｌ０〜Ｌ２  ＬＡＮ側ローカルＩＰアドレス
Ｐ０〜Ｐ２  ＬＡＮ側ローカルポート番号
Ｑ０〜Ｑ２  リモートポート番号
Ｒ０〜Ｒ２  リモートＩＰアドレス
Ｓ０〜Ｓ２  ＷＡＮ側ローカルポート番号
Ｗ  ＷＡＮ側ローカルＩＰアドレス
【図１】
2005012698.tif 000003
【図２】
2005012698.tif 000004
【図３】
2005012698.tif 000005
【図４】
2005012698.tif 000006
【図５】
2005012698.tif 000007
【図６】
2005012698.tif 000008
【図７】
2005012698.tif 000009
【図８】
2005012698.tif 000010
【図９】
2005012698.tif 000011
【図１０】
2005012698.tif 000012