(57)【特許請求の範囲】
【請求項１】
ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継するパケット中継装置において、
受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算する計算手段と、
前記中継対象パケットの送信元ポート番号を前記計算された送信元ポート番号に書き換えるＮＡＰＴ変換情報を記憶手段に記憶させると共に、チェックサム再計算不要情報を対応付けて更に記憶させ、当該ＮＡＰＴ変換情報に基づいて前記中継対象パケットをＮＡＰＴ変換する変換手段と、
前記ＮＡＰＴ変換情報を参照し、受信した中継対象パケットに前記チェックサム再計算不要情報が対応付けられている場合、当該中継対象パケットのチェックサム値を再計算することなく転送する転送手段と、
を備えることを特徴とするパケット中継装置。
【請求項２】
ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継するパケット中継装置で行うパケット中継方法において、
受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算する計算ステップと、
前記中継対象パケットの送信元ポート番号を前記計算された送信元ポート番号に書き換えるＮＡＰＴ変換情報を記憶手段に記憶させると共に、チェックサム再計算不要情報を対応付けて更に記憶させ、当該ＮＡＰＴ変換情報に基づいて前記中継対象パケットをＮＡＰＴ変換する変換ステップと、
前記ＮＡＰＴ変換情報を参照し、受信した中継対象パケットに前記チェックサム再計算不要情報が対応付けられている場合、当該中継対象パケットのチェックサム値を再計算することなく転送する転送ステップと、
を備えることを特徴とするパケット中継方法。
【請求項３】
請求項２記載のパケット中継方法をコンピュータに実行させることを特徴とするパケット中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継する技術に関する。
【背景技術】
【０００２】
既存ＩＰネットワークは、地理的・社会的な単位等によって複数の通信ネットワーク網により構築されている。ＩＰアドレス体系が異なる通信ネットワークにアクセスする場合、そのアクセスを目的とするパケット（単位デジタル情報）は、その異なる通信ネットワーク間を接続するパケット中継装置によって中継され、目的とする通信ネットワーク内のコンピュータに到達する。
【０００３】
通常、ＩＰｖ４（Internet Protocol version 4）のパケット中継装置には、受信したパケットを単にルーティングするルーティング機能のみならず、グローバルなＩＰアドレスを複数のローカルコンピュータで共有するため、中継対象パケット内の送信元ＩＰアドレス及び送信元ポート番号を宛先のＩＰアドレス体系等に応じて書き換えるＮＡＰＴ（Network Address Port Translation）変換機能が具備されている。
【０００４】
以下、従来のパケット中継装置の動作概要を説明する。図６は、従来のパケット中継装置の動作フローを示す図である。なお、ウェブ端末３００はローカル通信ネットワークＬＡＮに属し、ウェブサーバ５００はグローバル通信ネットワークＷＡＮに属し、パケット中継装置１００はそれら両方に接続されているとする。
【０００５】
パケット中継装置１００は、ウェブ端末３００からウェブサーバ５００へのウェブアクセスに基づく要求パケットを受信すると、その要求パケット内の送信元ＩＰアドレスをグローバル通信ネットワークＷＡＮ側の自機のＩＰアドレスに書き換えると共に、その要求パケット内の送信元ポート番号を自機内で未使用なポート番号に書き換えて、その要求パケット内の各設定値（パケット内の各フィールド値）をＮＡＰＴ変換テーブルに記録する（ステップＳ３０１）。
【０００６】
次に、送信元ＩＰアドレス及び送信元ポート番号が書き換えられたことから、所定のチェックサム計算方法（非特許文献１参照）に基づいて、それら書き換え後の各設定値や要求パケット内の他の各設定値を用いてチェックサムを再計算し、再計算後のチェックサムで更に書き換えた要求パケットをウェブサーバ５００にルーティングする（ステップＳ３０２）。
【０００７】
その後、その要求パケットに応答した応答パケットを同ウェブサーバ５００から受信した場合、要求パケット受信時と同様に、応答パケット内の送信元ＩＰアドレス及び送信元ポート番号を書き換え、更にその書き換え処理に伴ってチェックサムを再計算して書き換えた後に、それら書き換え処理後の応答パケットをウェブ端末３００にルーティングする（ステップＳ３０３）。
【０００８】
以降、ウェブ端末３００からウェブサーバ５００に新たな又は再度の要求パケットがあった場合もステップＳ３０３と同様の処理を実行する（ステップＳ３０４）。
【０００９】
例えば、図７に示すようなＩＰアドレス体系を備える通信ネットワーク構成の場合、パケット中継装置１００は、ウェブ端末３００からウェブアクセスに基づく要求パケットを受信すると、その要求パケット内の送信元ＩＰアドレスを１９２．１６８．１．２からウェブサーバ５００側の自機の１０．１０．１０．１に書き換え、送信元ポート番号を１００００から自機内で適宜割り当てた１０００１に書き換え、更に、それら書き換え処理後の送信元ＩＰアドレス（１０．１０．１０．１）及び送信元ポート番号（１０００１）を用いてチェックサムを再計算してその再計算値で更に書き換えた要求パケットをウェブサーバ５００にルーティングする。
【００１０】
ＮＡＰＴ変換テーブルには、例えば、図８に示すようなＬＡＮ側とＷＡＮ側とのＩＰアドレス及びポート番号の対応関係が記録される。ＬＡＮ側情報には、パケット中継装置１００がローカル通信ネットワークＬＡＮ側から受信した要求パケット情報が記録され、ＷＡＮ側情報には、その受信した要求パケットをＮＡＰＴ変換してグローバル通信ネットワークＷＡＮ側に送信し、その応答として同グローバル通信ネットワークＷＡＮ側から返送された応答パケット情報が記載される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００３−１２４９７７号公報
【非特許文献】
【００１２】
【非特許文献１】「Traditional IP Network Address Translator (Traditional NAT」、Network Working Group、RFC3022
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、受信した大量のパケットをＮＡＰＴ変換する毎に、そのＮＡＰＴ変換に伴ってＵＤＰ，ＴＣＰ，ＩＣＭＰヘッダ内のチェックサムを再計算するため、そのチェックサム再計算に係る処理負荷が高いという問題があった。
【００１４】
このような問題に対し、特許文献１によれば、ＮＡＰＴ変換前後のチェックサム値の差分を記憶しておき、次回以降の中継処理時にはその差分から変換後のチェックサムを算出する技術を開示している。しかし、チェックサムの再計算が実行される点においては従来と何ら変わりはないことから、その処理負荷が一定程度低減されるに留まるにすぎない。
【００１５】
本発明は、上記課題を鑑みてなされたものであり、その課題とするところは、高速なＮＡＰＴ変換を実現することにある。
【課題を解決するための手段】
【００１６】
請求項１記載のパケット中継装置は、ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継するパケット中継装置において、受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算する計算手段と、前記中継対象パケットの送信元ポート番号を前記計算された送信元ポート番号に書き換えるＮＡＰＴ変換情報を記憶手段に記憶させると共に、チェックサム再計算不要情報を対応付けて更に記憶させ、当該ＮＡＰＴ変換情報に基づいて前記中継対象パケットをＮＡＰＴ変換する変換手段と、前記ＮＡＰＴ変換情報を参照し、受信した中継対象パケットに前記チェックサム再計算不要情報が対応付けられている場合、当該中継対象パケットのチェックサム値を再計算することなく転送する転送手段と、を備えることを特徴とする。
【００１７】
請求項２記載のパケット中継方法は、ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継するパケット中継装置で行うパケット中継方法において、受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算する計算ステップと、前記中継対象パケットの送信元ポート番号を前記計算された送信元ポート番号に書き換えるＮＡＰＴ変換情報を記憶手段に記憶させると共に、チェックサム再計算不要情報を対応付けて更に記憶させ、当該ＮＡＰＴ変換情報に基づいて前記中継対象パケットをＮＡＰＴ変換する変換ステップと、前記ＮＡＰＴ変換情報を参照し、受信した中継対象パケットに前記チェックサム再計算不要情報が対応付けられている場合、当該中継対象パケットのチェックサム値を再計算することなく転送する転送ステップと、を備えることを特徴とする。
【００１８】
請求項３記載のパケット中継プログラムは、請求項２記載のパケット中継方法をコンピュータに実行させることを特徴とする。
【００１９】
以上より、本発明によれば、受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算し、その中継対象パケットの送信元ポート番号を上記計算された送信元ポート番号に書き換えるＮＡＰＴ変換情報を記憶手段に記憶させると共に、チェックサム再計算不要情報を対応付けて更に記憶させ、そのＮＡＰＴ変換情報に基づいて上記中継対象パケットをＮＡＰＴ変換するため、ＮＡＰＴ変換の際にチェックサムの再計算が不要になることから、チェックサム再計算に係る処理負荷が低減し、結果として高速なＮＡＰＴ変換を実現できる。
【発明の効果】
【００２０】
本発明によれば、高速なＮＡＰＴ変換を実現できる。
【図面の簡単な説明】
【００２１】
【図１】パケット中継装置の機能ブロック構成を示す図である。
【図２】パケット中継装置の動作フローを示す図である。
【図３】ＵＤＰのＮＡＰＴ変換ルール生成フローを示す図である。
【図４】ＴＣＰのＮＡＰＴ変換ルール生成フローを示す図である。
【図５】ＮＡＰＴ変換テーブル例を示す図である。
【図６】従来のパケット中継装置の動作フローを示す図である。
【図７】通信ネットワーク構成の具体例を示す図である。
【図８】従来のＮＡＰＴ変換テーブル例を示す図である。
【発明を実施するための形態】
【００２２】
前述したように、ＮＡＰＴ変換機能を具備するパケット中継装置は、ＮＡＰＴ変換に伴ってチェックサムの再計算を実行する。その計算方法については非特許文献１に詳しいが、例えば、ＵＤＰヘッダのチェックサムを計算する場合、ＵＤＰ擬似ヘッダ（１２バイト）、ＵＤＰヘッダ（８バイト）、ＵＤＰペイロードに対し、「１の補数和」を利用して式（１）で計算される。
【００２３】
チェックサム＝送信元ポート番号＋宛先ポート番号＋送信元ＩＰアドレス＋宛先ＩＰアドレス＋その他（プロトコル番号等）    ・・・式（１）
例えば、図７に示したように、送信元ポート番号が１００００、宛先ポート番号が８０、送信元ＩＰアドレスが１９２．１６８．１．２、宛先ＩＰアドレスが１０．１０．１０．２、その他が０ｘ１１１１の場合、ＮＡＰＴ変換前のチェックサムの値は、チェックサム値＝０ｘ２７１０＋０ｘ００５０＋０ｘＣ０Ａ８０１０２＋０ｘ０Ａ０Ａ０Ａ０２＋０ｘ１１１１＝０ｘ１０Ｅ２７＝０ｘ０Ｅ２８（桁上がり）より、０ｘＦ１Ｄ７（１の補数化）と計算される。
【００２４】
一方、送信元ポート番号が１００００から１０００１に変換され、送信元ＩＰアドレスが１９２．１６８．１．２から１０．１０．１０．１に変換された場合、ＮＡＰＴ変換後のチェックサムの値は、チェックサム値＝０ｘ２７１１＋０ｘ００５０＋０ｘ０Ａ０Ａ０Ａ０１＋０ｘ０Ａ０Ａ０Ａ０２＋０ｘ１１１１＝０ｘ６０８９より、０ｘ９Ｆ７６（１の補数化）となる。
【００２５】
ここで、ＮＡＰＴ変換によって書き換えられる変数は「送信元ポート番号」と「送信元ＩＰアドレス」であり、そのうち「送信元ＩＰアドレス」については、パケット中継装置における宛先側のＩＰアドレスが設定される。
【００２６】
一方、「送信元ポート番号」については、非特許文献１に何ら規定されず、通常、パケット中継装置内で未使用のポート番号が適宜割り当てられることから、一般的に不定（すなわち、任意）である。
【００２７】
そこで、本発明は、ＮＡＰＴ変換で書き換えられる送信元ポート番号の値は任意に設定可能であり、また、チェックサムは２バイトであり、ＴＣＰ，ＵＤＰのポート番号も２バイトであることから、その送信元ポート番号の値を適切に設定すればチェックサムを自由に変更可能であることに着目し、ＮＡＰＴ変換前後でチェックサムの値が変化しない送信元ポート番号を計算し、中継対象パケット内の送信元ポート番号を当該計算された値に変換することを主たる特徴としている。
【００２８】
すなわち、ＮＡＰＴ変換前後でチェックサムの値が同一となる送信元ポート番号に書き換えられ、それ以降の同一パケットは、その書き換え処理に伴い記録された「チェックサム再計算」内の「不要」情報に基づいて再計算することなくルーティングされるので、チェックサムの再計算処理が不要になることから、高速なＮＡＰＴ変換を実現可能となる。
【００２９】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【００３０】
図１は、本実施の形態に係るパケット中継装置の機能ブロック構成を示す図である。本パケット中継装置１００は、ＩＰアドレス体系の異なる通信ネットワーク間でパケットを中継する装置であり、ＮＡＰＴ変換テーブル記憶部１１と、ＮＡＰＴ変換機能部１２と、送信元ポート番号計算部１３とで主に構成される。それら各機能部以外に、パケットをルーティングするルーティング機能やその他従来のパケット中継装置が具備する諸機能も当然に備えている。以下、それら各機能部について詳述する。
【００３１】
ＮＡＰＴ変換テーブル記憶部１１は、ローカル通信ネットワークＬＡＮとグローバル通信ネットワークＷＡＮとの間で相互通信されるパケットのＮＡＰＴ変換ルールを定めたＮＡＰＴ変換テーブルを記憶する機能を備える。
【００３２】
ＮＡＰＴ変換テーブルとは、ルーティング機能やＮＡＰＴ変換機能を具備する従来のパケット中継装置であれば基本的に保持しているＮＡＰＴ変換情報であり、受信した中継対象パケットに対して、ＬＡＮ側のローカルＩＰアドレスやポート番号とＷＡＮ側のインターネットＩＰアドレスやポート番号とを相互変換するための変換情報が記載されている（図８参照）。例えば、Ｌｉｎｕｘ（登録商標）  ＯＳの場合、ｉｐｔａｂｌｅｓ機能のｃｏｎｎｔｒａｃｋがそれに相当する。
【００３３】
ただし、本実施の形態では、そのＮＡＰＴ変換テーブルに「チェックサム再計算」欄を追加し、ＮＡＰＴ変換機能部１２によって追加された新たなＮＡＰＴ変換ルールに対してチェックサム再計算の「要」又は「不要」が対応付けて設定される。
【００３４】
ＮＡＰＴ変換機能部１２は、ローカル通信ネットワークＬＡＮのローカルアドレスとグローバル通信ネットワークＷＡＮのインターネットアドレスとを透過的に相互変換する機能を備える。
【００３５】
具体的には、中継対象パケット内の送信元ＩＰアドレス及び送信元ポート番号を宛先のＩＰアドレス体系等に応じて書き換え、その書き換え処理結果に基づいて生成されるＮＡＰＴ変換ルールを上記ＮＡＰＴ変換テーブルに記憶させ、その記憶したＮＡＰＴ変換テーブルに基づいて中継対象パケットをＮＡＰＴ変換する。
【００３６】
送信元ポート番号計算部１３は、受信した中継対象パケットに対して、ＮＡＰＴ変換機能部１２によるＮＡＰＴ変換前後でチェックサムの値が変化しない送信元ポート番号を計算する機能を備える。
【００３７】
なお、以上説明したパケット中継装置１００は、メモリ等の記憶手段やＣＰＵ等の計算・制御手段を備えるコンピュータで実現できる。また、パケット中継装置１００を構成する各機能部での処理は、プログラムにより実行される。
【００３８】
次に、本実施の形態に係るパケット中継装置の動作を説明する。図２は、本実施の形態に係るパケット中継装置の動作フローを示す図である。
【００３９】
最初に、ＮＡＰＴ変換機能部１２が、ウェブ端末３００から送信されたウェブサーバ５００への中継対象パケットを受信し、ＮＡＰＴ変換テーブル記憶部１１からＮＡＰＴ変換テーブルを読み出して当該パケットの検索を開始し、そのＮＡＰＴ変換テーブルに該当パケットのエントリが存在するか否かを判定する（ステップＳ１０１〜Ｓ１０３）。
【００４０】
次に、ステップＳ１０３の判定で該当パケットがＮＡＰＴ変換テーブルに存在しない場合、ＮＡＰＴ変換機能部１２は、まず、受信したパケットのプロトコルがＵＤＰか否かを判定する（ステップＳ１０４）。
【００４１】
次に、ステップＳ１０４の判定でプロトコルがＵＤＰの場合、図３に示すＵＤＰのＮＡＰＴ変換ルール生成フロー（後述）を実行し（ステップＳ１０５）、一方、ステップＳ１０４の判定でプロトコルがＵＤＰでない場合、ＮＡＰＴ変換機能部１２は、続いて、受信したパケットのプロトコルがＴＣＰか否かを判定する（ステップＳ１０６）。
【００４２】
次に、ステップＳ１０６の判定でプロトコルがＴＣＰの場合、図４に示すＴＣＰのＮＡＰＴ変換ルール生成フロー（後述）を実行し（ステップＳ１０７）、一方、ステップＳ１０６の判定でプロトコルがＴＣＰでない場合、ＮＡＰＴ変換機能部１２は、最後に、受信したパケットのプロトコルがＩＣＭＰか否かを判定する（ステップＳ１０８）。
【００４３】
次に、ステップＳ１０８の判定でプロトコルがＩＣＭＰの場合、受信したパケットのプロトコル内にそもそもポート番号はないことから、ＮＡＰＴ変換機能部１２は、送信元ＩＰアドレスのみをウェブサーバ５００側の自機のＩＰアドレスに書き換るための、書き換え前後のＩＰアドレスを対応付けたＮＡＰＴ変換ルールを生成し、ＮＡＰＴ変換テーブルに追加すると共に、その追加したＮＡＰＴ変換ルールに対してＮＡＰＴ変換テーブル内の「チェックサム再計算」欄を「要」に設定する（ステップＳ１０９）。
【００４４】
一方、ステップＳ１０８の判定でプロトコルがＩＣＭＰでない場合、ＮＡＰＴ変換機能部１２は、ステップＳ１０９と同様のＮＡＰＴ変換ルールを生成してＮＡＰＴ変換テーブルに追加するが、その追加したＮＡＰＴ変換ルールに対して「チェックサム再計算」欄を「不要」に設定する（ステップＳ１１０）。この処理は、プロトコルがＵＤＰ，ＴＣＰ，ＩＣＭＰのいずれでもない場合に該当する例外的な処理に位置付けられる。
【００４５】
最後に、ステップＳ１０３の判定で該当パケットがＮＡＰＴ変換テーブルに既に存在する場合、又は、ステップＳ１０５，Ｓ１０７，Ｓ１０９，Ｓ１１０のいずれかの処理が終了した後に、ＮＡＰＴ変換機能部１２は、既に存在する又はそれら各処理によって生成されたＮＡＰＴ変換テーブルに従って、ステップＳ１０１で受信したパケットの送信元ＩＰアドレス及び送信元ポート番号を変換し、ウェブサーバ５００にルーティングする（ステップＳ１１１）。
【００４６】
その後、同一の中継対象パケットを受信した場合には、ステップＳ１０１→Ｓ１０２→Ｓ１０３→Ｓ１１１と進み、そのステップＳ１１１において、ＮＡＰＴ変換テーブル内の該当ＮＡＰＴ変換ルールに従ってＮＡＰＴ変換（送信元ＩＰアドレス及び送信元ポート番号）し、そのＮＡＰＴ変換ルールに対応するチェックサム再計算欄に「不要」が設定されている場合には、チェックサムを再計算することなく、そのＮＡＰＴ変換後のパケットをそのままルーティングする。
【００４７】
すなわち、図６に示したようなステップＳ３０３，Ｓ３０４でそれぞれ行われていたチェックサム再計算を実行しないことから、高速なＮＡＰＴ変換が実現可能となる。
【００４８】
次に、ＵＤＰのＮＡＰＴ変換ルール生成フローを説明する。図３は、ＵＤＰのＮＡＰＴ変換ルール生成フローを示す図である。
【００４９】
最初に、ＮＡＰＴ変換機能部１２は、受信したパケットのＵＤＰヘッダのチェックサムが０ｘ００００か否かを判定する（ステップＳ１０５−１）。
【００５０】
次に、ステップＳ１０５−１の判定でＵＤＰヘッダのチェックサムが０ｘ００００の場合、０ｘ００００とはチェックサム計算を省略するという意味であることから、ＮＡＰＴ変換機能部１２は、自機内で利用可能な任意のポート番号を選択し、送信元ＩＰアドレスをウェブサーバ５００側の自機のＩＰアドレスに書き換え、更に送信元ポート番号を当該選択されたポート番号に書き換えるための、書き換え前後のＩＰアドレス等を対応付けたＮＡＰＴ変換ルールを生成し、ＮＡＰＴ変換テーブルに追加すると共に、その追加したＮＡＰＴ変換ルールに対して「チェックサム再計算」欄を「不要」に設定する（ステップＳ１０５−２〜Ｓ１０５−３）。
【００５１】
一方、ステップＳ１０５−１の判定でＵＤＰヘッダのチェックサムが０ｘ００００でない場合、送信元ポート番号計算部１３は、ＮＡＰＴ変換前後でチェックサムが不変となる送信元ポート番号を計算する（ステップＳ１０５−４）。その具体的計算方法については後述する。
【００５２】
次に、冒頭で説明したようにチェックサムは１の補数計算を行うため、０ｘ００００（＋０）と０ｘＦＦＦＦ（−０）が区別できないことより、チェックサムが不変となるポート番号が計算不可能な場合があることから、送信元ポート番号計算部１３は、チェックサムが不変となるポート番号が計算可能か否かを判定する（ステップＳ１０５−５）。
【００５３】
次に、ステップＳ１０５−５の判定でチェックサムが不変となるポート番号が計算可能な場合において、たとえその場合であってもパケット中継装置１００で現在使用中のポート番号は利用できないことから、送信元ポート番号計算部１３は、計算された送信元ポート番号が自機内で利用可能な否かを判定する（ステップＳ１０５−６）。
【００５４】
次に、ステップＳ１０５−６の判定でポート番号が自機内で利用可能な場合、ＮＡＰＴ変換機能部１２は、送信元ＩＰアドレスをウェブサーバ５００側の自機のＩＰアドレスに書き換え、更に送信元ポート番号を上記計算されたポート番号に書き換えるための、書き換え前後のＩＰアドレス等を対応付けたＮＡＰＴ変換ルールを生成し、ＮＡＰＴ変換テーブルに追加すると共に、その追加したＮＡＰＴ変換ルールに対して「チェックサム再計算」欄を「不要」に設定する（ステップＳ１０５−７）。そのように設定されたＮＡＰＴ変換テーブル例を図５に示す。
【００５５】
一方、ステップＳ１０５−５の判定でチェックサムが不変となるポート番号が計算可能でない場合、又は、ステップＳ１０５−６の判定でポート番号が自機内で利用可能でない場合、ＮＡＰＴ変換機能部１２は、自機内で利用可能な送信元ポート番号を任意に選択し、送信元ＩＰアドレスをウェブサーバ５００側の自機のＩＰアドレスに書き換え、更に送信元ポート番号を当該選択されたポート番号に書き換えるための、書き換え前後のＩＰアドレス等を対応付けたＮＡＰＴ変換ルールを生成し、ＮＡＰＴ変換テーブルに追加すると共に、その追加したＮＡＰＴ変換ルールに対して「チェックサム再計算」欄を「要」に設定する（ステップＳ１０５−８〜Ｓ１０５−９）。
【００５６】
次に、ＴＣＰのＮＡＰＴ変換ルール生成フローを図４に示す。本生成フローは、ステップＳ１０７−１〜Ｓ１０７−６の各処理で構成されるが、ＵＤＰの場合におけるステップＳ１０５−４〜Ｓ１０５−９の各処理と同様であることから、ここでの重複説明は省略する。
【００５７】
次に、チェックサムが不変となるポート番号の計算方法について説明する。ＮＡＰＴ変換によって書き換えられる式（１）の変数は「送信元ポート番号」と「送信元ＩＰアドレス」であり、「送信元ＩＰアドレス」についてはＮＡＰＴ変換後の値が決まっていることから、ＮＡＰＴ変換前のパケットの送信元ＩＰアドレスをＡ１、ＮＡＰＴ変換前のパケットの送信元ポート番号をＰ１、ＮＡＰＴ変換後の送信元ＩＰアドレスをＡ２、ＮＡＰＴ変換後の送信元ポート番号をＰ２とすると、チェックサムの値がＮＡＰＴ変換前後で等しくなる送信元ポート番号Ｐ２は、１の補数を用いて式（２）で計算できる。ただし、Ａ１，Ａ２，Ｐ１は全て２バイトである。
【００５８】
Ｐ２＝Ｐ１＋Ａ１＋（−Ａ２）    ・・・式（２）
冒頭で説明した例の場合、Ｐ１＝１００００、Ａ１＝１９２．１６８．１．２、Ａ２＝１０．１０．１０．１なので、Ｐ２は、Ｐ２＝０ｘ２７１０＋０ｘＣ０Ａ８０１０２＋（−０ｘ０Ａ０Ａ０Ａ０１）＝０ｘ２７１０＋０ｘＣ０Ａ８＋０ｘ０１０２＋（−０ｘ０Ａ０Ａ）＋（−０ｘ０Ａ０１）＝０ｘ２７１０＋０ｘＣ０Ａ８＋０ｘ０１０２＋０ｘＦ５Ｆ５＋０ｘＦ５ＦＥ＝０ｘＤ４ＡＦ＝５４４４７と計算される。
【００５９】
仮に、次に送信されたパケットのその他の部分が０ｘＡＢＣＤの場合であっても、ＮＡＰＴ変換前のパケットのチェックサムの値は、チェックサム値＝０ｘ２７１０＋０ｘ００５０＋０ｘＣ０Ａ８０１０２＋０ｘ０Ａ０Ａ０Ａ０２＋０ｘＡＢＣＤ＝０ｘＡ８Ｅ４＝０ｘ５７１Ｂ（１の補数化）となり、一方、ＮＡＰＴ変換後のパケットのチェックサムの値は、チェックサム値＝０ｘＤ４ＡＦ＋０ｘ００５０＋０ｘ０Ａ０Ａ０Ａ０１＋０ｘ０Ａ０Ａ０Ａ０２＋０ｘＡＢＣＤ＝０ｘＡ８Ｅ４＝０ｘ５７１Ｂ（１の補数化）となることから、たとえパケットのペイロード部分等が変更されたとしてもチェックサムの値は不変となる。
【００６０】
以上より、本実施の形態によれば、受信した中継対象パケットに対して、ＮＡＰＴ変換前後でチェックサム値が変化しない送信元ポート番号を計算し、その中継対象パケットの送信元ポート番号を上記計算された送信元ポート番号に書き換えるＮＡＰＴ変換ルールをＮＡＰＴ変換テーブルに追加記憶すると共に、チェックサム再計算不要情報を対応付けて設定記憶し、そのＮＡＰＴ変換ルールに基づいて上記中継対象パケットをＮＡＰＴ変換するので、ＮＡＰＴ変換の際にチェックサムの再計算が不要になることから、チェックサム再計算に係る処理負荷が低減し、結果として高速なＮＡＰＴ変換を実現できる。
【符号の説明】
【００６１】
１００…パケット中継装置
１１…ＮＡＰＴ変換テーブル記憶部
１２…ＮＡＰＴ変換機能部
１３…送信元ポート番号計算部
３００…ウェブ端末
５００…ウェブサーバ
ＬＡＮ…ローカル通信ネットワーク
ＷＡＮ…グローバル通信ネットワーク
Ｓ１０１〜Ｓ１１１、Ｓ１０５−１〜Ｓ１０５−９、Ｓ１０７−１〜Ｓ１０７−６、Ｓ３０１〜Ｓ３０４…ステップ
【図１】
0005813540.tif 000002
【図２】
0005813540.tif 000003
【図３】
0005813540.tif 000004
【図４】
0005813540.tif 000005
【図５】
0005813540.tif 000006
【図６】
0005813540.tif 000007
【図７】
0005813540.tif 000008
【図８】
0005813540.tif 000009