(57)【要約】【課題】  本発明は、ＩＰｓｅｃを利用した通信パケットのパケット長がＰＭＴＵの範囲で最大になるように最適化するパケット長制御装置及びパケット長制御方法を提供することを目的とする。そして、このようなパケット長制御装置を備えるルータ装置を提供することを目的とする。【解決手段】  本発明に係る、通信パケットのパケット長を制御するパケット長制御装置を含むＩＰｓｅｃルータ装置１１は、ＩＰｓｅｃを適用して通信パケットを送信する場合に、ＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の通信パケットのパケット長を計算する最大パケット長計算部３１を備える。【選択図】      図２
2006165847.tif 000002
【特許請求の範囲】
【請求項１】
通信パケットのパケット長を制御するパケット長制御装置において、
ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する最大パケット長計算部を備えること
を特徴とするパケット長制御装置。
【請求項２】
ＩＰｓｅｃのセキュリティポリシデータベースを記憶するＳＰＤ記憶部と、
ＩＰｓｅｃのセキュリティアソシエーションデータベースを記憶するＳＡＤ記憶部と、
ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットのパケット長を計算する計算式をＩＰのバージョンの種類、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの種類、ＥＳＰの暗号化アルゴリズムの種類、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応付けて記憶するパケット長計算式記憶部とをさらに備え、
前記最大パケット長計算部は、
前記通信パケットに適用されるＩＰのバージョンを抽出し、
前記ＳＰＤ記憶部のセキュリティポリシデータベースから前記通信パケットに適用されるＩＰｓｅｃプロトコルモードを抽出し、
前記ＳＡＤ記憶部のセキュリティアソシエーションデータベースから前記通信パケットに適用されるＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズを抽出し、
これら抽出したＩＰのバージョン、ＩＰｓｅｃのＩＰｓｅｃプロトコルモード、ＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応する計算式を前記パケット長計算式記憶部から選択し、
該選択した計算式に基づいて前記通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算すること
を特徴とする請求項１に記載のパケット長制御装置。
【請求項３】
ＩＰｓｅｃが利用可能なルータ装置において、
第１ネットワークとの間で通信パケットを送受信する第１インターフェース部と、
第１ネットワークとは異なる第２ネットワークとの間で通信パケットを送受信する第２インターフェース部と、
通信パケットのパケット長を制御する請求項１又は請求項２に記載のパケット長制御部とを備え、
ルーティングする通信パケットにＩＰｓｅｃを適用する場合に、前記パケット長制御部で該通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の該通信パケットのパケット長を計算し、該計算したパケット長で該通信パケットをルーティングすること
を特徴とするルータ装置。
【請求項４】
前記第１及び第２インターフェース部の何れか一方は、物理的な及び／又は論理的な複数のインターフェースを備えること
を特徴とするルータ装置。
【請求項５】
通信パケットのパケット長を制御するパケット長制御方法において、
前記通信パケットに適用されるＩＰのバージョンを抽出するステップと、
セキュリティポリシデータベースから前記通信パケットに適用されるＩＰｓｅｃプロトコルモードを抽出するステップと、
セキュリティアソシエーションデータベースから前記通信パケットに適用されるＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズを抽出するステップと、
ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットのパケット長を計算する計算式をＩＰのバージョンの種類、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの種類、ＥＳＰの暗号化アルゴリズムの種類、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応付けて記憶するパケット長計算式記憶部から、これら抽出したＩＰのバージョン、ＩＰｓｅｃのＩＰｓｅｃプロトコルモード、ＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応する計算式を選択するステップと、
該選択した計算式に基づいて前記通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算するステップとを備えること
を特徴とするパケット長制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰｓｅｃを適用した通信パケットのパケット長を制御するパケット長制御装置及びパケット長制御方法に関する。そして、このようなパケット長制御装置を備えるルータ装置に関する。
【背景技術】
【０００２】
１９６９年に米国のＡＲＰＡＮＥＴ（Advanced Research Projects Agency Network）から始まったインターネットは、１９７０年代から１９８０年代にかけてインターネットの基幹技術であるＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）が開発・導入され、１９９０年代の商用サービスの開始とＷＷＷ（World Wide Web）技術の開発とをきっかけに爆発的に利用が拡大した。このインターネットは、オープンなネットワークであるため、データの盗聴・改ざん等の危険があり、これを回避するために、近年ＩＰｓｅｃと呼ばれるＩＰにセキュリティ機能を与える技術が開発された。このＩＰｓｅｃは、データの完全性と送信元の装置の認証を行うＡＨ（Authentication Header、認証ヘッダ）と、さらにデータの完全性と送信元の装置の認証に加えてデータの暗号化も行うＥＳＰ（Encapsulating Security Payload）との２つのプロトコルを主に備えて構成されている。
【０００３】
一方、ネットワーク層の通信プロトコルにＩＰ（Internet Protocol）を用いるネットワークの通信では、下位層のデータリンク層における最大転送単位（Maximum Transmission Unit、以下、「ＭＴＵ」と略記する。）がそのデータリンク層に用いられる通信プロトコルに応じて決まっているため、ＩＰは、送信すべきデータを下位層のこのＭＴＵに収まるように分割して送信する必要がある。このようなＩＰにおけるデータ分割は、一般に、ＩＰフラグメンテーションと呼ばれる。
【０００４】
このＩＰフラグメンテーションの処理が発生すると、ＩＰフラグメンテーションの処理を実行する処理時間が必要となるため、データ転送効率が低下することになる。そして、ＩＰフラグメンテーションの処理は、ルータ装置に負担がかかるため、他の通信パケットの中継処理に支障が出る場合もある。さらに、フラグメント化されたデータグラムが１つでも失われると、ＩＰに再送制御の機能がないので、元のデータを全て送り直さなければならない。一方、ＩＰのバージョン４（以下、「ＩＰｖ４」と略記する。）では、ルータ装置がＩＰフラグメンテーションを実行し得るが、ＩＰのバージョン６（以下、「ＩＰｖ６」と略記する。）では、ルータ装置は、規約によりＩＰフラグメンテーションを実行しない。
【０００５】
このような事情から通信経路の途中でＩＰフラグメンテーションの実行を不要にするために、送信元の装置は、送信先の装置までの通信経路におけるＭＴＵ（これを一般にＰａｔｈ  ＭＴＵ（パス・エムティユ、経路ＭＴＵ、以下、「ＰＭＴＵ」と略記する。）と呼ぶ。）を予め探索し、探索したＰＭＴＵ以下に通信パケットをフラグメント化して送信することが行われる。なお、ＰＭＴＵは、ＩＰｖ４ではＲＦＣ１１９１に規定され、ＩＰｖ６ではＲＦＣ１９８１に規定されている。
【０００６】
このＰＭＴＵの探索は、Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ（パス・エムティユ・ディスカバリ、経路ＭＴＵ探索、以下、「ＰＭＴＵ探索」と略記する。）と呼ばれる機能によって実現される。
【０００７】
ＩＰｖ４の場合は、このＰＭＴＵ探索では、まず、送信元の装置は、最初にサイズの大きなＩＰデータグラムの分割禁止フラグをオン（分割禁止フラグ＝１）に設定して当該ＩＰデータグラムを送信する。これを受信したルータ装置では、次の中継先の経路におけるＭＴＵを参照し、ＩＰフラグメンテーションの実行が必要であるか否かを判断する。ＩＰフラグメンテーションの実行が必要である場合において、分割禁止フラグがオンにされているので、ルータ装置は、受信したＩＰデータグラムを破棄し、ＩＣＭＰ（Internet Control Message Protocol）の到達不能メッセージを送信元の装置に返信する。この到達不能メッセージには、次の中継先の経路におけるＭＴＵが格納されており、この到達不能メッセージを受信した送信元の装置は、この到達不能メッセージによって通知されたＭＴＵ以下にＩＰデータグラムをフラグメント化して送信する。送信元の装置は、これを送信先の装置にＩＰデータグラムが届くまで繰り返すことによって、ＰＭＴＵを探索する。
【０００８】
一方、ＩＰｖ６の場合は、まず、送信元の装置は、最初にサイズの大きなＩＰデータグラムを送信する。これを受信したルータ装置では、次の中継先の経路におけるＭＴＵを参照し、ＩＰフラグメンテーションの実行が必要であるか否かを判断する。ＩＰフラグメンテーションの実行が必要である場合において、ＩＰｖ６では途中経路におけるパケット分割は禁止されているので、ルータ装置は、受信したＩＰデータグラムを破棄し、ＩＣＭＰｖ６（Internet Control Message Protocol Version 6）のパケットサイズ超過メッセージを送信元の装置に返信する。このパケットサイズ超過メッセージには、次の中継先の経路におけるＭＴＵが格納されており、このパケットサイズ超過メッセージを受信した送信元の装置は、このパケットサイズ超過メッセージによって通知されたＭＴＵ以下にＩＰデータグラムをフラグメント化して送信する。送信元の装置は、これを送信先の装置にＩＰデータグラムが届くまで繰り返すことによって、ＰＭＴＵを探索する。
【０００９】
また、非特許文献１には、トンネルを用いた通信におけるＰＭＴＵの処理方法が定義されており、そして、特許文献１には、ＩＣＭＰエコーリクエストパケットを利用したＰＭＴＵの見積もり値を検出する方法が開示されている。
【００１０】
トンネルは、２個のネットワークにそれぞれ含まれるノード間に、その間に在る別のネットワーク上に設けられる仮想的なリンクである。トンネルでは、送信すべき通信パケットは、一方のネットワークの出口におけるノードで別のネットワークにおける通信プロトコルのフレームまたはパケットでカプセル化され、別のネットワークを通過し（即ちトンネルを通過し）、他方のネットワークの入口におけるノードでデカプセル化され元の通信パケットに戻す技術である。
【特許文献１】特開２００１−２５１３５３号公報
【非特許文献１】“ＲＦＣ２８９３  Ｔｒａｎｓｉｔｉｏｎ  Ｍｅｃｈａｎｉｓｍｓ  ｆｏｒ  ＩＰｖ６  Ｈｏｓｔｓ  ａｎｄ  Ｒｏｕｔｅｒｓ”，［ｏｎｌｉｎｅ］，ＪＰ−ＮＩＣ，［平成１６年６月１日検索］、インターネット＜ｈｔｔｐ：／／ｒｆｃ−ｊｐ．ｎｉｃ．ａｄ．ｊｐ／＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
とろこで、ＩＰｓｅｃを用いる場合において、上述のＰＭＴＵ探索では、ＩＰｓｅｃにおける拡張ヘッダやＥＳＰトレーラや認証データの可変長部分が考慮されていないため、得られたＰＭＴＵを用いたとしてもＩＰｓｅｃの通信経路において必ずしもＩＰフラグメンテーションが実行されないとは限らない。
【００１２】
そして、非特許文献１に記載の方法は、通信パケットの増加分が固定長で決まっている場合にのみ利用可能な方式であるため、ＳＡ（Security Association）の内容及びカプセル化前における通信パケットのパケット長に応じて動的に通信パケットの増加分が変化するＩＰｓｅｃのトンネルに用いることは困難である。
【００１３】
また、送信元の装置は、送信元自身ではなく通信経路の途中において適用されるＩＰｓｅｃのＳＡを知ることができない。即ち、ＩＣＭＰパケットを送信して応答があった場合には、送信元の装置は、送信時のＩＣＭＰパケットのパケット長にＰＭＴＵを設定することによって、送信先の装置と通信することは可能となる。しかしながら、通信パケットのパケット長は、このように設定したＰＭＴＵが用いられたとしてもＩＰｓｅｃのＳＡに関し必ずしもＰＭＴＵの範囲で最大であるとは限らない。従って、通信パケットのパケット長は、特許文献１の方法で見積もったＰＭＴＵが用いられたとしてもＩＰｓｅｃのＳＡに関し必ずしもＰＭＴＵの範囲で最大であるとは限らない。
【００１４】
本発明は、上述の事情に鑑みて為された発明であり、ＩＰｓｅｃを利用した通信パケットのパケット長がＰＭＴＵの範囲で最大になるように最適化するパケット長制御装置及びパケット長制御方法を提供することを目的とする。そして、このようなパケット長制御装置を備えるルータ装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述の目的を達成するために、本発明の一態様に係る、通信パケットのパケット長を制御するパケット長制御装置は、ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する最大パケット長計算部を備えることを特徴とする。
【００１６】
そして、上述のパケット長制御装置において、ＩＰｓｅｃのセキュリティポリシデータベースを記憶するＳＰＤ記憶部と、ＩＰｓｅｃのセキュリティアソシエーションデータベースを記憶するＳＡＤ記憶部と、ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットのパケット長を計算する計算式をＩＰのバージョンの種類、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの種類、ＥＳＰの暗号化アルゴリズムの種類、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応付けて記憶するパケット長計算式記憶部とをさらに備え、前記最大パケット長計算部は、前記通信パケットに適用されるＩＰのバージョンを抽出し、前記ＳＰＤ記憶部のセキュリティポリシデータベースから前記通信パケットに適用されるＩＰｓｅｃプロトコルモードを抽出し、前記ＳＡＤ記憶部のセキュリティアソシエーションデータベースから前記通信パケットに適用されるＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズを抽出し、これら抽出したＩＰのバージョン、ＩＰｓｅｃのＩＰｓｅｃプロトコルモード、ＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応する計算式を前記パケット長計算式記憶部から選択し、該選択した計算式に基づいて前記通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算することを特徴とする。
【００１７】
また、本発明の一態様に係る、ＩＰｓｅｃが利用可能なルータ装置は、第１ネットワークとの間で通信パケットを送受信する第１インターフェース部と、第１ネットワークとは異なる第２ネットワークとの間で通信パケットを送受信する第２インターフェース部と、通信パケットのパケット長を制御する上述のパケット長制御部とを備え、ルーティングする通信パケットにＩＰｓｅｃを適用する場合に、前記パケット長制御部で該通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の該通信パケットのパケット長を計算し、該計算したパケット長で該通信パケットをルーティングすることを特徴とする。
【００１８】
さらに、複数のネットワークに対応することができるようにする観点から、上述のルータ装置において、前記第１及び第２インターフェース部の何れか一方は、物理的な及び／又は論理的な複数のインターフェースを備えることを特徴とする。
【００１９】
そして、本発明の一態様に係る、通信パケットのパケット長を制御するパケット長制御方法は、前記通信パケットに適用されるＩＰのバージョンを抽出するステップと、セキュリティポリシデータベースから前記通信パケットに適用されるＩＰｓｅｃプロトコルモードを抽出するステップと、セキュリティアソシエーションデータベースから前記通信パケットに適用されるＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズを抽出するステップと、ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットのパケット長を計算する計算式をＩＰのバージョンの種類、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの種類、ＥＳＰの暗号化アルゴリズムの種類、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応付けて記憶するパケット長計算式記憶部から、これら抽出したＩＰのバージョン、ＩＰｓｅｃのＩＰｓｅｃプロトコルモード、ＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応する計算式を選択するステップと、該選択した計算式に基づいて前記通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算するステップとを備えることを特徴とする。
【発明の効果】
【００２０】
このような構成のパケット長制御装置及びパケット長制御方法は、ＩＰｓｅｃを適用して通信パケットを送信する場合に、前記ＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する。このため、ＩＰｓｅｃを適用した通信パケットのパケット長がＰＭＴＵの範囲で最大になるように最適化され得る。そして、途中経路でパケットのフラグメンテーションが許可されていないＩＰｖ６に適用することでＩＰｖ６の場合に通信することができないという事態も生じない。また、ＩＰフラグメンテーションの処理を実行する処理時間が不要となるため、データ転送効率が向上し、ルータ装置に負担がかかることもない。さらに、フラグメント化によるデータグラムの喪失もないので元のデータを全て送り直す事態も生じない。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００２２】
まず、本実施形態に係るネットワーク及びＩＰｓｅｃルータ装置の構成について説明する。図１は、実施形態におけるネットワークの全体構成を示す図である。図２は、ＩＰｓｅｃルータ装置を含むネットワークの構成を示すブロック図である。
【００２３】
図１において、ネットワーク１は、所謂ネットワーク層の通信プロトコルとしてＩＰを利用する複数のネットワーク２、３を備えて構成される通信網である。ネットワーク１を構成するネットワーク２、３の中には、トンネル１２によってＩＰｓｅｃを利用した通信パケットを送受信するＩＰｓｅｃルータ装置１１を含むＩＰｖｘのネットワーク２と、当該トンネル１２が設定されるＩＰｖｙのネットワーク３とがある。
【００２４】
ＩＰｖｘのネットワーク２は、例えば、１又は複数の機器等が通信線によって接続されたローカル・エリア・ネットワーク（Local Area Network、ＬＡＮ）、及び、これら機器を遠隔に監視及び／又は制御する遠隔監視制御装置を含むＬＡＮ等である。図１では、３個のＩＰｖｘのネットワーク２−Ａ、２−Ｂ、２−Ｃが示されており、各ＩＰｖｘのネットワーク２−Ａ、２−Ｂ、２−Ｃは、各ＩＰｓｅｃルータ装置１１−Ａ、１１−Ｂ、１１−Ｃをそれぞれ含む。そして、ＩＰｓｅｃルータ装置１１−ＡとＩＰｓｅｃルータ装置１１−Ｂとの間であってＩＰｖｙのネットワーク３−Ａ中に設定されたトンネル１２−ＡＢ、及び、ＩＰｓｅｃルータ装置１１−ＡとＩＰｓｅｃルータ装置１１−Ｃとの間であってＩＰｖｙのネットワーク３−Ｂ中に設定されたトンネル１２−ＡＣが示されている。ＩＰｖｘは、ＩＰのバージョンがｘであることを示し、そして、ＩＰｖｙは、ＩＰのバージョンがｙであることを示す。本明細書の作成時においてＩＰのバージョンは、バージョン４（ｘ＝４、ｙ＝４）及びバージョン６（ｘ＝６、ｙ＝６）が知られている。
【００２５】
そのため、ｘ＝４及びｙ＝４の場合には、トンネル１２−ＡＢ、１２−ＡＣは、ＩＰｖ４のネットワークがＩＰｖ４のネットワーク上に設定するトンネルであるＩＰｖ４  ｏｖｅｒ  ＩＰｖ４のトンネルとなる。また、ｘ＝４及びｙ＝６の場合には、トンネル１２−ＡＢ、１２−ＡＣは、ＩＰｖ４のネットワークがＩＰｖ６のネットワーク上に設定するトンネルであるＩＰｖ４  ｏｖｅｒ  ＩＰｖ６のトンネルとなる。ｘ＝６及びｙ＝６の場合には、トンネル１２−ＡＢ、１２−ＡＣは、ＩＰｖ６のネットワークがＩＰｖ６のネットワーク上に設定するトンネルであるＩＰｖ６  ｏｖｅｒ  ＩＰｖ６のトンネルとなる。そして、ｘ＝６及びｙ＝４の場合には、トンネル１２−ＡＢ、１２−ＡＣは、ＩＰｖ６のネットワークがＩＰｖ４のネットワーク上に設定するトンネルであるＩＰｖ６  ｏｖｅｒ  ＩＰｖ４のトンネルとなる。
【００２６】
なお、本明細書において、総称する場合にはアルファベットの添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。また、ＩＰｓｅｃにおいて、通常、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードがトンネルモードの場合における通信経路をトンネルと呼んでいるが、本明細書において、ＩＰｓｅｃプロトコルモードがトンネルモードの場合及びトランスポートモードを適用した通信経路上にＩＰｖｘ  ｏｖｅｒ  ＩＰｖｙトンネルを適用した通信経路をトンネルと呼ぶこととする。
【００２７】
ネットワーク１は、例えば、電話網、ディジタル通信網及び無線通信網等であり、所定の通信プロトコルを用いて情報を収容した通信信号が伝送される。本実施形態では、ネットワーク１は、通信プロトコルにＨＴＴＰ（Hyper Text Transfer Protocol）、ＦＴＰ（File Transfer Protocol）、ＴＣＰ（Transmission Control Protocol）、ＵＤＰ（User Datagram Protocol）及びＩＰ（Internet Protocol）等のインターネットプロトコル群が用いられてインターネットを構成する。
【００２８】
ＩＰｖｘのネットワーク２に含まれるＩＰｓｅｃルータ装置１１は、本実施形態では、例えば、ＩＰｖｘのネットワーク２と別のネットワークであるＩＰｖｙのネットワーク３との境界に配置され、ＩＰｖｙのネットワーク３から送信されてきた通信パケット、当該ＩＰｓｅｃルータ装置１１が属するＩＰｖｘのネットワーク２内から送信されて来た通信パケット、及び、当該ＩＰｓｅｃルータ装置１１自身が送信する通信パケット等をルーティング（経路選択）すると共に、他のＩＰｖｘのネットワーク２内に在るＩＰｓｅｃルータ装置１１との間にＩＰｖｘ  ｏｖｅｒ  ＩＰｖｙトンネル（以下、「ＩＰｖｘ−ＩＰｖｙトンネル」と略記する。）を設定する装置である。図１に示す例では、ＩＰｖｘのネットワーク２−Ａ内のＩＰｓｅｃルータ装置１１−ＡとＩＰｖｘのネットワーク２−Ｂ内のＩＰｓｅｃルータ装置１１−Ｂとの間にＩＰｖｘ−ＩＰｖｙトンネル１２−ＡＢが設定され、そして、ＩＰｖｘのネットワーク２−Ａ内のＩＰｓｅｃルータ装置１１−ＡとＩＰｖｘのネットワーク２−Ｃ内のＩＰｓｅｃルータ装置１１−Ｃとの間にＩＰｖｘ−ＩＰｖｙトンネル１２−ＡＣが設定されている。
【００２９】
ＩＰｓｅｃルータ装置１１は、図２に示す例では、一戸建て住宅、集合住宅、公共施設、オフィスビル等の建造物内に構成されるＩＰｖｘのネットワーク２内に含まれると共に、ＩＰｖｙのネットワーク３に接続されている。ＩＰｖｘのネットワーク２は、ＩＰｓｅｃルータ装置１１、電気をエネルギー源として稼動する１又は複数の機器１３（１３−ａ、１３−ｂ、・・・）、及び、ＩＰｓｅｃルータ装置１１と機器１３とを接続する通信線１４を備えて、例えば、イーサネット（Ethernet、登録商標）を利用したＩＰｖｘのイントラネットを構成している。
【００３０】
機器１３は、ＩＰｓｅｃルータ装置１１と通信線１４を介して通信を行う通信部５１と、機器１３の機能を実行する機能部５２とを備えて構成され、機能部５２の状態（例えば、電源のオン・オフ、稼動状態、故障状態等）をネットワーク１に含まれる他のネットワーク内の遠隔監視制御装置等に通信線１４及びＩＰｓｅｃルータ装置１１を介して通信部５１を用いて送信すると共に、機能部５２の状態を制御する制御命令をネットワーク１に含まれる他のネットワーク内の遠隔監視制御装置等からＩＰｓｅｃルータ装置１１及び通信線１４を介して通信部５１を用いて受信し制御命令の通りに制御するものである。制御命令は、例えば、遠隔監視制御装置等にアクセスする携帯電話やＰＤＡ（Personal Digital Assistants）やパーソナルコンピュータ等の端末装置から送信される。機能部５２は、機器１３が、例えば、ガスの使用量を計量するガスメータである場合には、ガスの使用量を計量する計量機能である。機器１３は、ガスメータの他に、例えば、電気の使用量を計量する電気メータ、及び、水道の使用量を計量する水道メータ等の計量メータ、照明器具及び空調装置等の住戸環境やオフィス環境等を調整する装置、煙センサ、温度センサ及び湿度センサ等のセンサ、電子錠装置等の住戸設備、テレビジョン、ビデオテープレコーダ、ＤＶＤレコーダ及び洗濯機等の家電製品、コンピュータ等の情報処理装置、電話機及びファクシミリ装置等の通信機器、そして、脈拍計、体温計、血中酸素濃度計及び心電図計等の医療機器等である。
【００３１】
ＩＰｓｅｃルータ装置１１は、図２に示すように、ローカル・エリア・ネットワーク側インターフェース部（以下、「ＬＡＮ側ＩＦ部」と略記する。）２１と、制御部２２と、記憶部２３と、入力部２４と、論理インターフェース部（以下、「論理ＩＦ部」と略記する。）２５と、ワイド・エリア・ネットワーク側インターフェース部（以下、「ＷＡＮ側ＩＦ部」と略記する。）２６とを備えて構成される。
【００３２】
ＬＡＮ側ＩＦ部２１は、当該ＩＰｓｅｃルータ装置１１が属するＩＰｖｘのネットワーク２内における機器１３との間で通信線１４を介して通信パケットを送受信するインターフェース回路であり、例えば、イーサネットカード等である。入力部２４は、ＰＭＴＵ探索の使用の可否の情報や、ＩＰｖｘ−ＩＰｖｙトンネルを設定するために必要な情報等の各種情報を当該ＩＰｓｅｃルータ装置１１に入力する装置であり、例えば、テンキーやキーボード等である。なお、入力内容を確認するために液晶表示装置等の表示部をさらに備えてもよい。論理ＩＦ部２５は、ＬＡＮ側ＩＦ部２１と制御部２２との間に配置され、ＩＰｖｘ−ＩＰｖｙトンネルを構築するための論理的なインターフェースである。ＷＡＮ側ＩＦ部２６は、ネットワーク１を構成する他のネットワークとの間で通信パケットを送受信するインターフェース回路であり、例えば、イーサネットカード、５６Ｋモデム、ターミナルアダプタ、ＡＤＳＬモデム等である。
【００３３】
記憶部２３は、パケット長計算式を記憶するパケット長計算式記憶部４１、セキュリティポリシデータベース（Security Policy Database、以下、「ＳＰＤ」と略記する。）を記憶するＳＰＤ記憶部４２、及び、セキュリティアソシエーションデータベース（Security Association Database、以下、「ＳＡＤ」と略記する。）を記憶するＳＡＤ記憶部４３を備え、パケット長計算式を用いて通信パケットのパケット長を最適化するパケット長計算プログラム、インターネットを利用するためのプログラム、通信パケットのルーティングを行うルーティングプログラム等の各種プログラム、及び、各種プログラムの実行中に生じる情報等の各種情報を記憶する。記憶部２３は、例えば、ＲＡＭ（Random Access Memory）等の揮発性のメモリ、及び、ＲＯＭ（Read Only Memory）や書換え可能なＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリを備えて構成される。
【００３４】
パケット長計算式は、ＩＰｓｅｃを適用して通信パケットを送信する場合に、ＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長を計算するための計算式である。
【００３５】
ＩＰｓｅｃのＩＰｓｅｃプロトコルモードには、トランスポートモード及びトンネルモードである。図３は、トランスポートモードにおける通信パケットのフォーマットを示す図である。図３（Ａ）は、ＩＰｖ６の通信パケットのフォーマットを示し、図３（Ｂ）は、ＩＰｖ４のトランスポートモードを適用したＩＰｖ６−ＩＰｖ４の通信パケットのフォーマットを示し、そして、図３（Ｃ）は、ＩＰｖ６のトランスポートモードを適用したＩＰｖ６−ＩＰｖ６の通信パケットのフォーマットを示す。図４は、トンネルモードにおける通信パケットのフォーマットを示す図である。図４（Ａ）は、ＩＰｖ６の通信パケットのフォーマットを示し、図４（Ｂ）は、トンネルモードを適用したＩＰｖ６−ＩＰｖ４の通信パケットのフォーマットを示し、そして、図４（Ｃ）は、トンネルモードを適用したＩＰｖ６−ＩＰｖ６の通信パケットのフォーマットを示す。
【００３６】
なお、本実施形態においてＷＡＮ側で送受信されるＩＰパケットについては、説明を簡略化するために、フラグメント、ＥＳＰ（Encapslating Security Payload）及びＡＨ（Authentication Header）以外の拡張ヘッダが存在しない場合について説明しているが、拡張ヘッダが存在する場合においても同様に取り扱うことが可能である。
【００３７】
まず、トランスポートモードの場合について説明する。トランスポートモードは、トランスポート層の通信パケットをＩＰｓｅｃによってカプセル化し、認証や暗号化の対象とするものである。ＩＰｖ６の通信パケット６０のフォーマットは、図３（Ａ）に示すように、ＩＰｖ６ヘッダを収容するＩＰｖ６ヘッダ部６１と、このＩＰｖ６ヘッダ部６１以外のデータを収容するデータ部６２とを備えて構成される。
【００３８】
本実施形態では、トランスポートモードの場合では、ＩＰｖ６の通信パケット６０にＩＰｖｘ−ＩＰｖｙトンネルを適用した後にトランスポートモードを適用する。そのため、ＩＰｖ４のトランスポートモードを適用したＩＰｖ６−ＩＰｖ４の通信パケット７０ａは、図３（Ｂ）に示すように、ＩＰｖ４ヘッダを収容するＩＰｖ４ヘッダ部７１と、ＡＨを収容するＡＨヘッダ部７２ａと、ＥＳＰヘッダを収容するＥＳＰヘッダ部７３ａと、元の通信パケット６０におけるＩＰｖ６ヘッダ部６１及びデータ部６２と、ＥＳＰトレーラ７４ａと、ＥＳＰ認証データを収容するＥＳＰ認証データ部７５ａとを備えて構成される。そして、元の通信パケット６０におけるＩＰｖ６ヘッダ部６１及びデータ部６２と、ＥＳＰトレーラ７４ａとが暗号化される。一方、ＩＰｖ６のトランスポートモードを適用したＩＰｖ６−ＩＰｖ６の通信パケット７０ｂは、図３（Ｃ）に示すように、ＩＰｖ６ヘッダを収容するＩＰｖ６ヘッダ部７６と、ＡＨを収容するＡＨヘッダ部７２ｂと、ＥＳＰヘッダを収容するＥＳＰヘッダ部７３ｂと、元の通信パケット６０におけるＩＰｖ６ヘッダ部６１及びデータ部６２と、ＥＳＰトレーラ７４ｂと、ＥＳＰ認証データを収容するＥＳＰ認証データ部７５ｂとを備えて構成される。そして、元の通信パケット６０におけるＩＰｖ６ヘッダ部６１及びデータ部６２と、ＥＳＰトレーラ７４ｂとが暗号化される。
【００３９】
次に、トンネルモードについて説明する。トンネルモードは、通信パケット全体をＩＰｓｅｃによってカプセル化し、認証や暗号化の対象とするものである。ＩＰｖ６の通信パケット６０’のフォーマットは、図４（Ａ）に示すように、ＩＰｖ６ヘッダを収容するＩＰｖ６ヘッダ部６１と、拡張ＩＰｖ６ヘッダを収容する拡張ヘッダ部６３と、データを収容するデータ部６４とを備えて構成される。トンネルモードを適用したＩＰｖ６−ＩＰｖ４の通信パケット８０ａは、図４（Ｂ）に示すように、トンネル用のＩＰｖ４ヘッダを収容するトンネルＩＰｖ４ヘッダ部８１と、ＡＨヘッダを収容するＡＨヘッダ部８２ａと、ＥＳＰヘッダを収容するＥＳＰヘッダ部８３ａと、元の通信パケット６０’におけるＩＰｖ６ヘッダ部６１、拡張ＩＰｖ６ヘッダ部６３及びデータ部６４と、ＥＳＰトレーラ８４ａと、ＥＳＰ認証データを収容するＥＳＰ認証データ部８５ａとを備えて構成される。また、トンネルモードを適用したＩＰｖ６−ＩＰｖ６の通信パケット８０ｂは、図４（Ｃ）に示すように、トンネル用のＩＰｖ６ヘッダを収容するトンネルＩＰｖ６ヘッダ部８７と、ＡＨヘッダ部８２ｂと、ＥＳＰヘッダ部８３ｂと、元の通信パケット６０’におけるＩＰｖ６ヘッダ部６１、拡張ＩＰｖ６ヘッダ部６３及びデータ部６４と、ＥＳＰトレーラ８４ｂと、ＥＳＰ認証データ部８５ｂとを備えて構成される。そして、元の通信パケット６０’におけるＩＰｖ６ヘッダ部６１、拡張ＩＰｖ６ヘッダ部６３及びデータ部６４と、ＥＳＰトレーラ８４ａ、８４ｂとが暗号化される。
【００４０】
また、暗号化アルゴリズムの種類別に見ると、例えば、ＩＶ（Initialization Vector、初期化ベクタ）の無い６４ビット（ｂｉｔ）ブロック暗号の場合では、オーバヘッドは、ＥＳＰヘッダを収容するＥＳＰヘッダ部、パディング（Padding）を収容するパディング部、パディング長を収容するパディング長部及び次ヘッダ番号を収容する次ヘッダ番号部を備えて構成される。ＥＳＰヘッダ部は、８バイト（ｂｙｔｅ）であり、パディング部は、０〜７バイトの変動値であり、パディング長部及び次ヘッダ番号部は、１バイトである。このＩＶの無い６４ビットブロック暗号は、例えば、ＤＥＳ（Data Encryption Standard）、３ＤＥＳ、ＩＤＥＡ（International Data Encryption Algorithm）、Ｂｌｏｗｆｉｓｈ及びＣＡＳＴ−１２８における各ＥＣＢ（Electric CodeBook）モードがある。また例えば、ＩＶの有る６４ビットブロック暗号の場合では、オーバヘッドは、８バイトのＥＳＰヘッダ部、ＩＶを収容する８バイトのＩＶ部、０〜７バイトで変動するパディング部１バイトのパディング長部及び１バイトの次ヘッダ番号部を備えて構成される。このＩＶの有る６４ビットブロック暗号は、例えば、ＤＥＳ、３ＤＥＳ、ＩＤＥＡ、Ｂｌｏｗｆｉｓｈ及びＣＡＳＴ−１２８における各ＣＢＣ（Cipher Block Chaining）モード、各ＣＦＢ（Cipher FeedBack）モード、各ＯＦＢ（Output-FeedBack）モード及び各ＣＴＲ（CounTeR）モードがある。また例えば、ＩＶの無い１２８ビットブロック暗号の場合では、オーバヘッドは、８バイトのＥＳＰヘッダ部、０〜１５バイトで変動するパディング部、１バイトのパディング長部及び１バイトの次ヘッダ番号部を備えて構成される。このＩＶの無し１２８ビットブロック暗号は、例えば、ＡＥＳ、Ｔｗｏｆｉｓｈ、ＣＡＳＴ−２５６及びＣａｍｅｌｌｉａにおける各ＥＣＢモードがある。また例えば、ＩＶの有る１２８ビットブロック暗号の場合では、オーバヘッドは、８バイトのＥＳＰヘッダ部、ＩＶを収容する８バイトのＩＶ部、０〜１５バイトで変動するパディング部、１バイトのパディング長部及び１バイトの次ヘッダ番号部を備えて構成される。このＩＶの有り１２８ビットブロック暗号は、例えば、ＡＥＳ、Ｔｗｏｆｉｓｈ、ＣＡＳＴ−２５６及びＣａｍｅｌｌｉａにおける各ＣＢＣモード、各ＣＦＢモード、各ＯＦＢモード及び各ＣＴＲモードがある。なお、パディング部のバイト長は、規格上０〜２５５バイトまで可能であるが、実施形態におけるブロック暗号のバイト数に応じた変動幅になっている。
【００４１】
認証データのサイズ別に見ると、例えば、認証データのサイズが６４ビットの場合において、オーバヘッドは、ＡＨの場合では８バイトの認証データを内包した認証ヘッダを収容する２０バイトの認証ヘッダ部を備えて構成され、ＥＳＰの場合では認証データを収容する８バイトの認証データ部を備えて構成される。認証データのサイズが６４ビットになるのは、例えばＤＥＳ−ＭＡＣである。また例えば、認証データのサイズが９６ビットの場合において、オーバヘッドは、ＡＨの場合では１２バイトの認証データを内包した認証ヘッダを収容する２４バイトの認証データ部を備えて構成され、ＥＳＰの場合では認証データを収容する１２バイトの認証データ部を備えて構成される。認証データのサイズが９６ビットになるのは、例えばＨＭＡＣ−ＭＤ５、ＨＭＡＣ−ＳＨＡ−１、ＨＭＡＣ−ＲＩＰＥＭＤ−１６０及びＡＥＳ−ＭＡＣである。また例えば、認証データのサイズが１２８ビットの場合において、オーバヘッドは、ＡＨの場合では１６バイトの認証データを内包した認証ヘッダを収容する２８バイトの認証データ部を備えて構成され、ＥＳＰの場合では認証データを収容する１６バイトの認証データ部を備えて構成される。
【００４２】
従って、ＩＰｓｅｃを適用して通信パケットを送信する場合、ＩＰのバージョンの違い、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの違い、ＥＳＰの暗号化アルゴリズムの違い、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに応じて通信パケットのパケット長が変動することになる。
【００４３】
ここで、ＩＰｓｅｃが適用される前のオリジナルの通信パケットのサイズ（パケット長）をＳとすると、トランスポートモードの場合では、最大のパケット長は、各場合に応じて次の式１−１乃至式１−３によって計算される。
【００４４】
まず、ＡＨのみを適用するトランスポートモードの場合では、最大パケット長は、次の式１−１によって計算される。
通信パケット長＝｛Ｓ−（ＩＰヘッダ長）｝
＋（ＩＰヘッダ長）
＋（ＡＨヘッダ長）                            ・・・（式１−１）
但し、ＡＨヘッダ長は、ＡＨ認証データを含むものであり、１２バイト＋ＡＨ認証データ長である。
【００４５】
次に、ＥＳＰのみを適用するトランスポートモードの場合では、最大パケット長は、次の式１−２によって計算される。
通信パケット長＝［｛Ｓ−（ＩＰヘッダ長）
＋（初期化ベクタ長）
＋（ＥＳＰトレーラパディング長さフィールド長）
＋（ＥＳＰトレーラ次ヘッダ番号フィールド長）
｝÷（ＥＳＰ暗号化ブロック長）
］×（ＥＳＰ暗号化ブロック長）
＋（ＩＰヘッダ長）
＋（ＥＳＰヘッダ長）
＋（ＥＳＰ認証データ長）                      ・・・（式１−２）
但し、初期化ベクタ長は、存在しない場合は０である。
【００４６】
次に、ＡＨ及びＥＳＰを共に適用するトランスポートモードの場合では、最大パケット長は、次の式１−３によって計算される。
通信パケット長＝［｛Ｓ−（ＩＰヘッダ長）
＋（初期化ベクタ長）
＋（ＥＳＰトレーラパディング長さフィールド長）
＋（ＥＳＰトレーラ次ヘッダ番号フィールド長）
｝÷（ＥＳＰ暗号化ブロック長）
］×（ＥＳＰ暗号化ブロック長）
＋（ＩＰヘッダ長）
＋（ＡＨヘッダ長）
＋（ＥＳＰヘッダ長）
＋（ＥＳＰ認証データ長）                      ・・・（式１−３）
但し、ＡＨヘッダ長は、ＡＨ認証データを含むものであり、１２バイト＋ＡＨ認証データ長であり、初期化ベクタ長は、存在しない場合は０である。
【００４７】
ここで、［  ］は、［  ］内の計算結果に端数が生じた場合に正数値に繰り上げる計算子である。例えば［１０÷８］＝［１．２５］＝２であり、また例えば［１２÷５］＝［２．４］＝３である。以下も同様である。
【００４８】
一方、トンネルモードの場合では、最大のパケット長は、各場合に応じて次の式２−１乃至式２−３によって計算される。
【００４９】
まず、ＡＨのみを適用するトンネルモードの場合では、最大パケット長は、次の式２−１によって計算される。
通信パケット長＝Ｓ＋（外部ＩＰヘッダ長）
＋（ＡＨヘッダ長）                          ・・・（式２−１）
但し、ＡＨヘッダ長は、ＡＨ認証データを含むものであり、１２バイト＋ＡＨ認証データ長である。
【００５０】
次に、ＥＳＰのみを適用するトンネルモードの場合では、最大パケット長は、次の式２−２によって計算される。
通信パケット長＝［｛Ｓ＋（初期化ベクタ長）
＋（ＥＳＰトレーラパディング長さフィールド長）
＋（ＥＳＰトレーラ次ヘッダ番号フィールド長）
｝÷（ＥＳＰ暗号化ブロック長）
］×（ＥＳＰ暗号化ブロック長）
＋（外部ＩＰヘッダ長）
＋（ＥＳＰヘッダ長）
＋（ＥＳＰ認証データ長）                      ・・・（式２−２）
但し、初期化ベクタ長は、存在しない場合は０である。
【００５１】
次に、ＡＨ及びＥＳＰを共に適用するトンネルモードの場合では、最大パケット長は、次の式２−３によって計算される。
通信パケット長＝［｛Ｓ＋（初期化ベクタ長）
＋（ＥＳＰトレーラパディング長さフィールド長）
＋（ＥＳＰトレーラ次ヘッダ番号フィールド長）
｝÷（ＥＳＰ暗号化ブロック長）
］×（ＥＳＰ暗号化ブロック長）
＋（外部ＩＰヘッダ長）
＋（ＡＨヘッダ長）
＋（ＥＳＰヘッダ長）
＋（ＥＳＰ認証データ長）                      ・・・（式２−３）
但し、ＡＨヘッダ長は、ＡＨ認証データを含むものであり、１２バイト＋ＡＨ認証データ長であり、初期化ベクタ長は、存在しない場合は０である。なお、ＩＰｖ４のＩＰヘッダ長は、２０バイトの固定長として計算している。また、当然のことながら、トランスポートモードでもトンネルモードでもＡＨ及びＥＳＰを共に適用しない場合におけるパケット長は、ＩＰｓｅｃ自体が非適用となるから、Ｓである。
【００５２】
上述の具体的な場合ごとに式１−１、式１−２、式１−３、式２−１、式２−２又は式２−３を適用すると、表１乃至表８のようになる。表１及び表２は、ＩＰｖ４トランスポートモードの場合におけるパケット長を求める計算式を示す表である。表３及び表４は、ＩＰｖ６トランスポートモードの場合におけるパケット長を求める計算式を示す表である。表５及び表６は、ＩＰｖ４−ＩＰｖ４及びＩＰｖ６−ＩＰｖ４トンネルモードの場合におけるパケット長を求める計算式を示す表である。表７及び表８は、ＩＰｖ４−ＩＰｖ６及びＩＰｖ６−ＩＰｖ６トンネルモードの場合におけるパケット長を求める計算式を示す表である。
【００５３】
ここで、表１乃至表８には、ＥＳＰを適用しない場合（ＥＳＰ無）に、ＥＳＰを適用する場合（ＥＳＰ有）であって暗号化アルゴリズムの種類別（暗号：暗号化アルゴリズムの種類名）ごとに、及び、ＥＳＰを適用する場合であって認証データのサイズ別（認証：ＩＣＶ  サイズ（６４ビット、９６ビット、１２８ビット））ごとに、それぞれ、ＡＨの適用が無い場合（ＡＨ無）、ＡＨが適用され認証データのサイズが６４ビットの場合（ＡＨ有  ＩＣＶ  ６４ビット）、ＡＨが適用され認証データのサイズが９６ビットの場合（ＡＨ有  ＩＣＶ  ９６ビット）、及び、ＡＨが適用され認証データのサイズが１２８ビットの場合（ＡＨ有  ＩＣＶ  １２８ビット）に対応する最大通信パケット長を計算する計算式が対応する各欄にそれぞれ示されている。さらに、表１乃至表８の各欄には、計算式に加えてＳ＝１５００バイトの場合における当該計算式による例も記載されている。なお、表１乃至表４では、ＩＶの無い６４ビット（ビット）ブロック暗号は、「ＩＶ無６４ビット」と略記され、ＩＶの有る６４ビットブロック暗号は、「ＩＶ有６４ビット」と略記され、ＩＶの無し１２８ビットブロック暗号は、「ＩＶ無１２８ビット」と略記され、そして、ＩＶの有り１２８ビットブロック暗号は、「ＩＶ有１２８ビット」と略記されている。
【００５４】
【表１】
2006165847.tif 000003
【００５５】
【表２】
2006165847.tif 000004
【００５６】
【表３】
2006165847.tif 000005
【００５７】
【表４】
2006165847.tif 000006
【００５８】
【表５】
2006165847.tif 000007
【００５９】
【表６】
2006165847.tif 000008
【００６０】
【表７】
2006165847.tif 000009
【００６１】
【表８】
2006165847.tif 000010
【００６２】
例えば、表１において、ＩＰｖ４トランスポートモードの場合であって、ＥＳＰは、ＩＶの有る１２８ビットかつ認証データ（ＩＣＶ）なしであり、ＡＨは、認証データ（ＩＣＶ）のサイズが６４ビットである場合では、最大通信パケット長は、［（Ｓ−２）÷１６］×１６＋４８によって計算され、Ｓ＝１５００バイトの場合には１５５２バイトである。また例えば、表３において、ＩＰｖ６トランスポートモードの場合であって、ＥＳＰは、ＩＶの有る１２８ビットかつ認証データ（ＩＣＶ）なしであり、ＡＨは、認証データ（ＩＣＶ）のサイズが６４ビットである場合では、最大通信パケット長は、［（Ｓ−２２）÷１６］×１６＋６８によって計算され、Ｓ＝１５００バイトの場合には１５６４バイトである。また例えば、表５において、ＩＰｖ４−ＩＰｖ４及びＩＰｖ６−ＩＰｖ４トンネルモードの場合であって、ＥＳＰは、ＩＶの有る１２８ビットかつ認証データ（ＩＣＶ）なしであり、ＡＨは、認証データ（ＩＣＶ）のサイズが６４ビットである場合では、最大通信パケット長は、［（Ｓ＋１８）÷１６］×１６＋４８によって計算され、Ｓ＝１５００バイトの場合には１５６８バイトである。そして、また例えば、表７において、ＩＰｖ４−ＩＰｖ６及びＩＰｖ６−ＩＰｖ６トンネルモードの場合であって、ＥＳＰは、ＩＶの有る１２８ビットかつ認証データ（ＩＣＶ）ないであり、ＡＨは、認証データ（ＩＣＶ）のサイズが６４ビットの場合では、最大通信パケット長は、［（Ｓ＋２）÷１６］×１６＋８４によって計算され、Ｓ＝１５００バイトの場合には１５８８バイトである。
【００６３】
パケット長計算式記憶部４１には、表１乃至表８に示す各欄の各計算式がＩＰのバージョンの種類、ＩＰｓｅｃのＩＰｓｅｃプロトコルモードの種類、ＥＳＰの暗号化アルゴリズムの種類、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに対応付けて記憶されている。
【００６４】
ＳＰＤは、ＩＰ通信パケットの処理方法とＩＰ通信パケットを特定するための情報（セレクタ）とを対応付けて登録するデータベースである。セレクタは、セキュリティポリシ番号、送信元ＩＰアドレス範囲、宛先ＩＰアドレス範囲、送信元ポート番号範囲、宛先ポート番号範囲、トランスポート層プロトコルであり、これらの組み合わせに対応付けて入出力の方向、アクション、セキュリティプロトコル、セキュリティプロトコルのパラメータ、ポリシレベル等のポリシが登録されている。ＩＰ通信パケットの処理方法は、ＩＰ通信パケットの破棄、ＩＰｓｅｃ不適用の通過及びＩＰｓｅｃ適用の通過である。
【００６５】
ＳＡＤは、通信パケットにＩＰｓｅｃを適用する場合に必要となる情報を登録したデータベースであり、ＩＰｓｅｃルータ装置１１がトンネル１２の接続先のＩＰｓｅｃルータ装置１１との間で、ＩＫＥ（Internet Key Exchange）を用いて暗号化アルゴリズム及び認証アルゴリズムのそれぞれについて、提示、決定及び暗号鍵の交換等を行うネゴシエーションを実行して決定したＳＡを登録するデータベースである。ＳＡは、接続元から接続先及び接続先から接続元のそれぞれについて確立される。ＳＡのパラメータの種類は、ＩＰｓｅｃプロトコルの種類（ＡＨ、ＥＳＰ）、ＳＡを識別するためのＳＰＩ（Security Parameter Index、セキュリティパラメータインデックス）、送信元ＩＰアドレス範囲、宛先ＩＰアドレス範囲、送信元ポート番号範囲、宛先ポート番号範囲、トランスポート層プロトコル、セキュリティプロトコル、プロトコルモード、シーケンス番号、シーケンス番号オーバフローフラグ、ＳＡの有効期限、認証アルゴリズム、認証鍵、暗号化アルゴリズム、暗号化鍵等である。
【００６６】
なお、各種情報や各種プログラムが記憶部２３に記憶されていない場合には、これら各種情報や各種プログラムは、これらを記録したＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体を用いて図略のドライブ装置を介してインストールされたり、これら各種情報や各種プログラムを管理するサーバからネットワーク１を介してダウンロードされることによってインストールされたりしてもよい。
【００６７】
制御部２２は、各種プログラムを実行することによって通信パケットのルーティングやＩＰｓｅｃを適用して通信パケットを送信する場合にＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長の計算等を行ってＩＰｓｅｃルータ装置１１全体を制御するものであり、機能的に、通信パケットのルーティングを行うルーティング部３１、ＩＰｓｅｃを適用して通信パケットを送信する場合にＩＰｓｅｃを適用した通信パケットが通信経路の途中でＩＰフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長を計算する最大パケット長計算部３２、ＬＡＮ側ＩＦ部２１のＭＴＵ値の設定を行うＭＴＵ設定部３３、及び、通信パケットにＩＰｓｅｃを適用する処理を行うＩＰｓｅｃ処理部３４を備える。制御部２２は、例えば、マイクロプロセッサ及びその周辺回路等を備えて構成される。
【００６８】
本実施形態に係るＩＰｓｅｃルータ装置１１は、トンネルモードの場合は同時に複数のトンネルが設定可能であり、さらにＬＡＮ側ＩＦ部２１と制御部２２との間に論理的なインターフェースである複数の論理ＩＦ部２５を生成することによって、トランスポートモードの場合に複数のトンネルが設定可能に構成され、この論理ＩＦ部２５を生成する場合はさらにトンネルモード、トランスポートモード共に、各トンネルごとに異なるＭＴＵ値を設定可能に構成されている。これら複数の論理ＩＦ部２５は、生成した論理ＩＦ部２５に付与された識別子である論理ＩＦデバイス名ごとに管理される。そして、トンネルが同時に複数設定されている場合には、制御部２２は、各トンネルを時分割で運用する。
【００６９】
次に、本実施形態に係る、ＩＰｓｅｃを適用した通信においてＩＰｓｅｃを適用する前のオリジナルな通信パケットのパケット長をＰＭＴＵの範囲で可能な限り最大に最適化する最大パケット長最適化動作について説明する。
【００７０】
図５乃至図８は、最大パケット長計算部の動作を示すフローチャート（その１乃至その４）である。
【００７１】
ルーティング部３１は、トンネル１２を用いて接続先のＩＰｓｅｃルータ装置１１にＩＰｓｅｃを適用して通信パケットを送信する場合に、最大パケット長計算部３２に当該通信パケットのパケット長を計算させる。
【００７２】
図５乃至図８において、最大パケット長計算部３２は、ＷＡＮ側ＩＦ部２６の設定及び本フローチャートの適用対象であるトンネルに対応するＳＰＤに格納されたＳＰの設定を参照することによってＷＡＮ側ＩＦ部２６のＩＰの種別（ＩＰのバージョン）を検出する（Ｓ１１）。
【００７３】
検出の結果、ＩＰの種別がＩＰｖ４である場合（ＩＰｖ４）には、最大パケット長計算部３２は、ＭｉｎＷＭＴＵをＩＰｖ４のＭＴＵにおける最小値に、ＷＩＨＬを最小のＩＰｖ４ヘッダ長に、ＷＦＨＬを０にそれぞれ設定する（Ｓ１２）。ここで、ＭｉｎＷＭＴＵは、ＷＡＮ側ＩＦ部２６におけるメディア規定のＭＴＵの最小値であり、ＩＰｖ４の場合では６８バイトであり、ＩＰｖ６の場合では１２８０バイトである。ＷＩＨＬは、ＷＡＮ側ＩＦ部２６におけるＩＰの種別に応じたＩＰヘッダ長であり、ＩＰｖ４の場合では２０バイトであり、ＩＰｖ６の場合では４０バイトである。なお、ＩＰｖ４の場合は、オプションが無い場合の最小のヘッダ長としている。ＷＦＨＬは、ＷＡＮ側ＩＦ部２６におけるＩＰの種別に応じたフラグメントヘッダ長であり、ＩＰｖ４の場合では０バイトであり、ＩＰｖ６の場合では８バイトである。なお、ＩＰｖ４の場合は、これが存在しないため、０としている。また、上記各値は、本特許出願の時点における最新の仕様に基づいた値である。
【００７４】
次に、最大パケット長計算部３２は、入力部２４からの設定に基づいてＰＭＴＵ探索を使用するか否かを判断する（Ｓ１３）。判断の結果、ＰＭＴＵ探索を使用する場合（ＹＥＳ）には、最大パケット長計算部３２は、ＰＭＴＵ探索を実行し、ＰＭＴＵ探索で得られたＰＭＴＵの値をＷＭＴＵとし（Ｓ１４）、後述の処理Ｓ２１を実行する。一方、判断の結果、ＰＭＴＵ探索を使用しない場合（ＮＯ）には、最大パケット長計算部３２は、ＷＡＮ側ＩＦ部２６におけるＬｉｎｋ・ＭＴＵ（リンク・ＭＴＵ）の値をＷＭＴＵとし（Ｓ１７）、処理Ｓ２１を実行する。ここで、ＷＭＴＵは、ＷＡＮ側ＩＦ部２６におけるＭＴＵの値である。
【００７５】
一方、処理Ｓ１１における検出の結果、ＩＰの種別がＩＰｖ６である場合（ＩＰｖ６）には、最大パケット長計算部３２は、ＭｉｎＷＭＴＵをＩＰｖ６のＭＴＵにおける最小値に、ＷＩＨＬを最小のＩＰｖ６ヘッダ長に、ＷＦＨＬをフラグメントヘッダ長にそれぞれ設定する（Ｓ１５）。そして、最大パケット長計算部３２は、ＰＭＴＵ探索を実行し、ＰＭＴＵ探索で得られたＰＭＴＵの値をＷＭＴＵとし（Ｓ１６）、後述の処理Ｓ２１を実行する。
【００７６】
処理Ｓ２１において、最大パケット長計算部３２は、ＷＭＴＵ＜ＭｉｎＷＭＴＵであるか否かを判断する。判断の結果、ＷＭＴＵ＜ＭｉｎＷＭＴＵである場合（ＹＥＳ）には、ＷＭＴＵ、即ち、ＷＡＮ側ＩＦ部２６におけるＭＴＵの値が不正であるか、あるいは、経路のＰＭＴＵの値が不正であるので、最大パケット長計算部３２は、パケット長の計算を中断し、本処理を終了する。一方、判断の結果、ＷＭＴＵ≧ＭｉｎＷＭＴＵである場合（ＮＯ）には、ＷＭＴＵは正常であるので、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１におけるＩＰの種別（ＩＰのバージョン）を検出する（Ｓ２２）。
【００７７】
検出の結果、ＩＰの種別がＩＰｖ４である場合（ＩＰｖ４）には、最大パケット長計算部３２は、ＭｉｎＬＭＴＵをＩＰｖ４のＭＴＵにおける最小値に設定し（Ｓ２３）、後述の処理Ｓ３１を実行する。ここで、ＭｉｎＬＭＴＵは、ＬＡＮ側ＩＦ部２１におけるＭＴＵの最小値であり、ＩＰｖ４の場合では６８バイトであり、ＩＰｖ６の場合では１２８０バイトである。なお、この値は、本特許出願の時点における最新の仕様に基づいた値である。一方、検出の結果、ＩＰの種別がＩＰｖ６である場合（ＩＰｖ６）には、最大パケット長計算部３２は、ＭｉｎＬＭＴＵをＩＰｖ６のＭＴＵにおける最小値に設定し（Ｓ２４）、処理Ｓ３１を実行する。
【００７８】
処理Ｓ３１において、最大パケット長計算部３２は、ルーティング部３１が送信しようとしている通信パケットに適用するＩＰｓｅｃにおけるＩＰｓｅｃプロトコルモードの種別をＳＰＤ記憶部４２におけるＳＰＤを参照することによって取得する。
【００７９】
次に、最大パケット長計算部３２は、当該通信パケットに適用するＩＰｓｅｃにおけるＥＳＰ及びＡＨの暗号化アルゴリズムの種別及び認証アルゴリズムの種別をＳＡＤ記憶部４３におけるＳＡＤを参照することによって取得する（Ｓ３２）。
【００８０】
次に、最大パケット長計算部３２は、収集したＷＡＮ側インターフェース部２６のＩＰの種別（バージョン）、ＩＰｓｅｃにおけるプロトコルモードの種別、ＥＳＰの暗号化アルゴリズムの種別、ＥＳＰの認証アルゴリズムの種別及びＡＨの認証アルゴリズムの種別に基づいてパケット長計算式記憶部４１の記憶内容を参照することによって、最大パケット長を計算する計算式を取得する（Ｓ３３）。
【００８１】
次に、最大パケット長計算部３２は、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５を使用するか否かを判断する（Ｓ３４）。
【００８２】
判断の結果、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５を使用しない場合（ＮＯ）には、最大パケット長計算部３２は、後述の処理Ｓ６１を実行する。一方、判断の結果、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５を使用する場合（ＹＥＳ）には、最大パケット長計算部３２は、使用するＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５の種別を判別する（Ｓ４１）。
【００８３】
判断の結果、使用するＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５の種別がＩＰｖ４−ＩＰｖ４又はＩＰｖ６−ＩＰｖ４である場合（ＩＰｖｘ−ＩＰｖ４（ｘは４又は６））には、最大パケット長計算部３２は、ＶＩＨＬを最小のＩＰｖ４ヘッダ長に設定し（Ｓ４２）、後述の処理Ｓ４４を実行する。一方、判断の結果、使用するＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５の種別がＩＰｖ４−ＩＰｖ６又はＩＰｖ６−ＩＰｖ６である場合（ＩＰｖｘ−ＩＰｖ６（ｘは４又は６））には、最大パケット長計算部３２は、ＶＩＨＬをＩＰｖ６ヘッダ長に設定し（Ｓ４３）、後述の処理Ｓ４４を実行する。ここで、ＶＩＨＬは、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５におけるトンネル外部のＩＰの種別に応じたＩＰヘッダ長であり、ＩＰｖ４の場合では２０バイトであり、ＩＰｖ６の場合では４０バイトである。なお、これら各値は、本特許出願の時点における最新の仕様に基づいた値である。
【００８４】
処理Ｓ４４において、最大パケット長計算部３２は、処理Ｓ３３で取得した計算式による算出値がＷＭＴＵ以下であって最大となるカプセル化前のパケット長Ｓ（ＩＰｓｅｃが適用される前のオリジナルな通信パケットのパケット長Ｓ）を算出する。そして、最大パケット長計算部３２は、算出したこの最大のＩＰｓｅｃ適用前のパケットにおけるパケット長ＳからＶＩＨＬを減算し、この減算した値をＬＭＴＵとする。
【００８５】
次に、最大パケット長計算部３２は、ＬＭＴＵ＜ＭｉｎＬＭＴＵであるか否かを判断する（Ｓ４５）。判断の結果、ＬＭＴＵ≧ＭｉｎＬＭＴＵである場合（ＮＯ）には、最大パケット長計算部３２は、後述の処理Ｓ４９を実行する。一方、判断の結果、ＬＭＴＵ＜ＭｉｎＬＭＴＵである場合（ＹＥＳ）には、最大パケット長計算部３２は、処理Ｓ３３で取得した計算式による算出値が（ｎ（ＷＭＴＵ−ＷＩＨＬ−ＷＦＨＬ）＋ＷＩＨＬ）以下であって最大となるカプセル化前のパケット長Ｓ（ＩＰｓｅｃが適用される前のオリジナルな通信パケットのパケット長Ｓ）を算出する。そして、最大パケット長計算部３２は、算出したこの最大のパケット長ＳからＶＩＨＬを減算し、この減算した値をＬＭＴＵとする（Ｓ４６）。ここで、ｎは、ＬＭＴＵがＭｉｎＬＭＴＵ以上となる＋２以上の最小の整数である。
【００８６】
次に、最大パケット長計算部３２は、ＬＭＴＵ＞（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）であるか否かを判断する（Ｓ４７）。判断の結果、ＬＭＴＵ≦（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）である場合（ＮＯ）には、最大パケット長計算部３２は、処理Ｓ４９を実行する。一方、判断の結果、ＬＭＴＵ＞（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）である場合（ＹＥＳ）には、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値をＬＭＴＵに設定し（Ｓ４８）、処理Ｓ４９を実行する。
【００８７】
処理Ｓ４９において、最大パケット長計算部３２は、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５におけるＭＴＵの値をＬＭＴＵに設定する。
【００８８】
次に、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のＭＴＵ＜ＬＭＴＵであるか否かを判断する（Ｓ５０）。判断の結果、ＬＡＮ側ＩＦ部２１のＭＴＵ≧ＬＭＴＵである場合（ＮＯ）には、最大パケット長計算部３２は、本処理を終了する。一方、判断の結果、ＬＡＮ側ＩＦ部２１のＭＴＵ＜ＬＭＴＵである場合（ＹＥＳ）には、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のＭＴＵ値をＭＴＵ設定部３３を介してＬＭＴＵに設定し（Ｓ５１）、本処理を終了する。
【００８９】
一方、処理Ｓ３４の判断の結果、ＩＰｖｘ−ＩＰｖｙの論理ＩＦ部２５を使用しない場合（ＮＯ）には、最大パケット長計算部３２は、処理Ｓ３３で取得した計算式による算出値がＷＭＴＵ以下であって最大となるカプセル化前のパケット長Ｓ（ＩＰｓｅｃが適用される前のオリジナルな通信パケットのパケット長Ｓ）を算出する（Ｓ６１）。
【００９０】
次に、最大パケット長計算部３２は、ＬＭＴＵ＜ＭｉｎＬＭＴＵであるか否かを判断する（Ｓ６２）。判断の結果、ＬＭＴＵ≧ＭｉｎＬＭＴＵである場合（ＮＯ）には、最大パケット長計算部３２は、後述の処理Ｓ６６を実行する。一方、判断の結果、ＬＭＴＵ＜ＭｉｎＬＭＴＵである場合（ＹＥＳ）には、最大パケット長計算部３２は、処理Ｓ３３で取得した計算式による算出値が（ｎ（ＷＭＴＵ−ＷＩＨＬ−ＷＦＨＬ）＋ＷＩＨＬ）以下であって最大となるカプセル化前のパケット長Ｓ（ＩＰｓｅｃが適用される前のオリジナルな通信パケットのパケット長Ｓ）を算出し、この算出した値をＬＭＴＵとする（Ｓ６３）。ここで、ｎは、ＬＭＴＵがＭｉｎＬＭＴＵ以上となる＋２以上の最小の整数である。
【００９１】
次に、最大パケット長計算部３２は、ＬＭＴＵ＞（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）であるか否かを判断する（Ｓ６４）。判断の結果、ＬＭＴＵ≦（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）である場合（ＮＯ）には、最大パケット長計算部３２は、処理Ｓ６６を実行する。一方、判断の結果、ＬＭＴＵ＞（ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値）である場合（ＹＥＳ）には、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のメディアにおける規定ＭＴＵの最大値をＬＭＴＵに設定し（Ｓ６５）、処理Ｓ６６を実行する。
【００９２】
処理Ｓ６６において、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のＭＴＵ＞ＬＭＴＵであるか否かを判断する。判断の結果、ＬＡＮ側ＩＦ部２１のＭＴＵ≦ＬＭＴＵである場合（ＮＯ）には、最大パケット長計算部３２は、本処理を終了する。一方、判断の結果、ＬＡＮ側ＩＦ部２１のＭＴＵ＞ＬＭＴＵである場合（ＹＥＳ）には、最大パケット長計算部３２は、ＬＡＮ側ＩＦ部２１のＭＴＵ値をＭＴＵ設定部３３を介してＬＭＴＵに設定し（Ｓ６７）、本処理を終了する。
【００９３】
そして、ルーティング部３１は、ＩＰｓｅｃが適用される前のオリジナルな通信パケットが、ＬＡＮ側ＩＦ部２１又は論理ＩＦ部に新たなＭＴＵの値が設定されたことで、パケット長は、この値以下になっているので、この通信パケットにＩＰｓｅｃ処理部３４でＩＰｓｅｃを適用して接続先のＩＰｓｅｃルータ装置１１に送信する。
【００９４】
このように動作することによって、本実施形態に係るＩＰｓｅｃルータ装置１１は、ＩＰｓｅｃを適用したＩＰｖｘ−ＩＰｖｙトンネル１２を用いて通信パケットを送信する場合において、当該通信パケットに適用されるＩＰのバージョン、ＩＰｓｅｃのＩＰｓｅｃプロトコルモード、ＥＳＰの暗号化アルゴリズム、ＥＳＰの認証データのサイズ及びＡＨの認証データのサイズに応じて、当該通信パケットのパケット長を最適にすることができる。また、ＩＰフラグメンテーションが行われないので、ＩＰｖｘ−ＩＰｖ６トンネルの場合でも通信ができないといった事態を避けることができる。そして、ＩＰフラグメンテーションの処理を実行する処理時間が不要となるため、データ転送効率が向上する。そして、ＩＰフラグメンテーションの処理が不要であるのでルータ装置に負担をかけることがない。さらに、フラグメント化によるデータグラムの喪失もないので元のデータを全て送り直す事態も生じない。
【００９５】
次に、本発明を適用した場合と適用しない場合との比較を具体例を示しつつ説明する。
【００９６】
図９は、一具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図９（Ａ）は、オリジナルな通信パケットを示し、図９（Ｂ）は、カプセル化後の通信パケット（トンネル適用）を示し、図９（Ｃ）は、通信経路を伝送中における通信パケットの様子を示す。図１０は、一具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。図１０（Ａ）は、オリジナルな通信パケットを示し、図１０（Ｂ）は、カプセル化後の通信パケット（トンネル適用）を示し、そして、図１０（Ｃ）は、通信経路を伝送中における通信パケットの様子を示す。
【００９７】
まず、第１に、例えば、ＩＰｓｅｃを適用したＩＰｖ６−ＩＰｖ６トンネルを用いてトンネルモードでＴＣＰ接続により合計１００００バイトのデータを連続して送信する場合について説明する。ここで、ＥＳＰの暗号化アルゴリズムは、ＤＥＳのＥＣＢモード（即ち、ＩＶ無し６４ビットブロック暗号）であり、ＥＳＰの認証方式及びＡＨの認証方式は、ＨＭＡＣ−ＭＤ５（即ち、認証データのサイズが９６ビット）であるとする。また、ＬＡＮ側ＩＦ部２１及びＷＡＮ側ＩＦ部２６は、以下の具体例も同様に、イーサネットカードであるとする。即ち、ＬＡＮ側ＩＦ部２１及びＷＡＮ側ＩＦ部２６のＭＴＵは、１５００バイトである。
【００９８】
このような場合において本発明を適用する場合では、表４における計算式［（Ｓ＋２）÷８］×８＋８４（？）が用いられることとなり、最大パケット長計算部３２は、図５乃至図８に示す処理Ｓ１１乃至処理Ｓ６７を実行することによって、［（Ｓ＋２）÷８］×８＋８４＝１５００（？）が解かれ、ＩＰｓｅｃを適用する前のオリジナルな通信パケットのパケット長Ｓ＝１４１４を計算することとなる。ＩＰｖ６ヘッダを収容するＩＰｖ６ヘッダ部が４０バイトであり、ＴＣＰヘッダを収容するＴＣＰヘッダ部が２０バイトであるから、データを収容するデータ部は、１３５４バイトと計算される。
【００９９】
よって、図９（Ａ）に示すように、合計１００００バイトのデータは、４０バイトのＩＰｖ６ヘッダ部１１１、２０バイトのＴＣＰヘッダ部１１２及び１３５４バイトのデータ部１１３からなる１４１４バイトの通信パケット１０１が７個、そして、４０バイトのＩＰｖ６ヘッダ部１１１、２０バイトのＴＣＰヘッダ部１１２及び５２２バイトのデータ部１１３’からなる５８２バイトの通信パケット１０１’が１個となる。これら７個の通信パケット１０１と１個の通信パケット１０１’の総バイト数は、１０４８０バイトである。なお、イーサフレームを含めると総バイト数は、１０６２４バイトである。
【０１００】
このため、図９（Ｂ）に示すように、７個の１４１４バイトの各通信パケット１０１は、カプセル化後、４０バイトのＩＰｖ６ヘッダ部１２１、ＡＨを収容する２４バイトのＡＨヘッダ部１２２、ＥＳＰヘッダを収容する８バイトのＥＳＰヘッダ部１２３、１４１４バイトの通信パケット１０１が暗号化され収容される１４１６バイトの暗号化ペイロード部１２４及び認証データが収容される１２バイトの認証データ部１２５からなる１５００バイトの通信パケット１０２になる。そして、１個の５８２バイトの通信パケット１０１’は、カプセル化後、４０バイトのＩＰｖ６ヘッダ部１２１、２４バイトのＡＨヘッダ部１２２、８バイトのＥＳＰヘッダ部１２３、５８２バイトの通信パケット１０１’が暗号化され収容される５８４バイトの暗号化ペイロード部１２４’及び１２バイトの認証データ部１２５からなる６６８バイトの通信パケット１０２’になる。カプセル化後におけるこれら７個の通信パケット１０２と１個の通信パケット１０２’の総バイト数は、１１１６８バイトである。なお、イーサフレームを含めると総バイト数は、１１３１２バイトである。
【０１０１】
従って、カプセル化後の図９（Ｂ）に示す各通信パケット１０２、１０２’は、図９（Ｃ）に示すように、ＩＰｖ６−ＩＰｖ６トンネルを伝送中においてＩＰフラグメンテーションが行われない。
【０１０２】
一方、上述の場合において本発明が適用されない場合には、図１０（Ａ）に示すように、合計１００００バイトのデータは、４０バイトのＩＰｖ６ヘッダ部１３１、２０バイトのＴＣＰヘッダ部１３２及び１４４０バイトのデータ部１３３からなる１５００バイトの通信パケット１０３が６個、そして、４０バイトのＩＰｖ６ヘッダ部１３１、２０バイトのＴＣＰヘッダ部１３２及び１３６０バイトのデータ部１３３’からなる１４２０バイトの通信パケット１０３’が１個になる。これら６個の通信パケット１０３と１個の通信パケット１０３’の総バイト数は、１０４２０バイトである。なお、イーサフレームを含めると総バイト数は、１０５４６バイトである。
【０１０３】
このため、図１０（Ｂ）に示すように、６個の１５００バイトの各通信パケット１０３は、カプセル化後、４０バイトのＩＰｖ６ヘッダ部１４１、２４バイトのＡＨヘッダ部１４２、８バイトのＥＳＰヘッダ部１４３、１５００バイトの通信パケット１０３が暗号化され収容される１５０４バイトの暗号化ペイロード部１４４（２バイトのパディングデータ１４５を含む）及び１２バイトの認証データ部１４６からなる１５８８バイトの通信パケット１０４になる。そして、１個の１４２０バイトの通信パケット１０３’は、カプセル化後、４０バイトのＩＰｖ６ヘッダ部１４１、２４バイトのＡＨヘッダ部１４２、８バイトのＥＳＰヘッダ部１４３、１４２０バイトの通信パケット１０３’が暗号化され収容される１４２４バイトの暗号化ペイロード部１４４’（２バイトのパディングデータ１４５を含む）及び１２バイトの認証データ部１４６からなる１５０８バイトの通信パケット１０４’になる。
【０１０４】
従って、図１０（Ｃ）に示すように、各通信パケット１０４、１０４’は、ＩＰフラグメンテーションが行われる。即ち、６個の１５８８バイトの各通信パケット１０４は、１４５２バイトのフラグメント断片＃１と、９６バイトのフラグメント断片＃２にフラグメント化され、１個の１５０８バイトの通信パケット１０４’は、１４５２バイトのフラグメント断片＃３と、１６バイトのフラグメント断片＃４にフラグメント化される。そして、各フラグメント断片＃１〜＃４に４０バイトのＩＰｖ６ヘッダ部１５１及びフラグメントヘッダ収容する８バイトのフラグメントヘッダ部１５２が付加され、それぞれ通信パケット１０５、１０５’、１０５”、１０５”’となる。これら通信パケット１０５、１０５’、１０５”、１０５”’の総バイト数は、１１４２８バイトである。なお、イーサフレームを含めると総バイト数は、１１６８０バイトである。
【０１０５】
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、１１４２８−１１１６８＝２６０バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、１１６８０−１１３１２＝３６８バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では無いが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが１３５６×６＝８１３６バイトと、送信されるデータ内部にＥＳＰのパディングフィールドを含むことによるものが２×６＋２＝１４バイトの合計８１５０バイトである。
【０１０６】
図１１は、他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図１１（Ａ）は、オリジナルな通信パケットを示し、図１１（Ｂ）は、カプセル化（ＩＰｖ６−ＩＰｖ４トンネル適用後、ＩＰｓｅｃＩＰｖ４トランスポートモード）後の通信パケット（トンネル適用）を示し、そして、図１１（Ｃ）は、通信経路を伝送中における通信パケットの様子を示す。図１２は、他の具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。図１２（Ａ）は、オリジナルな通信パケットを示し、図１２（Ｂ）は、カプセル化後の通信パケット（トンネル適用）を示し、そして、図１２（Ｃ）は、通信経路を伝送中における通信パケットの様子を示す。
【０１０７】
次に、第２に、例えば、ＩＰｓｅｃを適用したＩＰｖ６−ＩＰｖ４トンネルを用いてＩＰｖ４のトランスポートモードでＴＣＰ接続により合計１００００バイトのデータを連続して送信する場合について説明する。ここで、ＥＳＰの暗号化アルゴリズムは、ＤＥＳのＥＣＢモード（即ち、ＩＶ無し６４ビットブロック暗号）であり、ＥＳＰの認証方式及びＡＨの認証方式は、ＨＭＡＣ−ＭＤ５（即ち、認証データのサイズが９６ビット）であるとする。
【０１０８】
このような場合において本発明を適用する場合では、表１における計算式［（Ｓ−１８）÷８］×８＋６４が用いられることとなり、最大パケット長計算部３２は、図５乃至図８に示す処理Ｓ１１乃至処理Ｓ６７を実行することによって、［（Ｓ−１８）÷８］×８＋６４＝１５００が解かれ、Ｓ＝１４３０を計算することとなる。ＩＰｖ６ヘッダ部の４０バイト及びＴＣＰヘッダ部の２０バイトが差し引かれ、データ部は、１３７０バイトと計算される。
【０１０９】
よって、図１１（Ａ）に示すように、合計１００００バイトのデータは、４０バイトのＩＰｖ６ヘッダ部２１１、２０バイトのＴＣＰヘッダ部２１２及び１３７０バイトのデータ部２１３からなる１４３０バイトの通信パケット２０１が７個、そして、４０バイトのＩＰｖ６ヘッダ部２１１、２０バイトのＴＣＰヘッダ部２１２及び４１０バイトのデータ部２１３’からなる４７０バイトの通信パケット２０１’が１個となる。これら７個の通信パケット２０１と１個の通信パケット２０１’の総バイト数は、１０４８０バイトである。なお、イーサフレームを含めると総バイト数は、１０６２４バイトである。
【０１１０】
このため、図１１（Ｂ）に示すように、７個の１４３０バイトの各通信パケット２０１は、カプセル化（ＩＰｖ６−ＩＰｖ４トンネル適用後、ＩＰｓｅｃＩＰｖ４トランスポートモード）後、２０バイトのＩＰｖ４ヘッダ部２２１、２４バイトのＡＨヘッダ部２２２、８バイトのＥＳＰヘッダ部２２３、１４３０バイトの通信パケット２０１が暗号化され収容される１４３２バイトの暗号化ペイロード部２２４及び１２バイトの認証データ部２２５からなる１４９６バイトの通信パケット２０２になる。そして、１個の４７０バイトの通信パケット２０１’は、カプセル化後、２０バイトのＩＰｖ４ヘッダ部２２１、２４バイトのＡＨヘッダ部２２２、８バイトのＥＳＰヘッダ部２２３、４７０バイトの通信パケット２０１’が暗号化され収容される４７２バイトの暗号化ペイロード部２２４’及び１２バイトの認証データ部２２５からなる５３６バイトの通信パケット２０２’になる。カプセル化後におけるこれら７個の通信パケット２０２と１個の通信パケット２０２’の総バイト数は、１１００８バイトである。なお、イーサフレームを含めると総バイト数は、１１１５２バイトである。
【０１１１】
従って、カプセル化後の図１１（Ｂ）に示す各通信パケット２０２、２０２’は、図１１（Ｃ）に示すように、ＩＰｖ６−ＩＰｖ４トンネルを伝送中においてＩＰフラグメンテーションが行われない。
【０１１２】
一方、上述の場合において本発明が適用されない場合には、図１２（Ａ）に示すように、合計１００００バイトのデータは、４０バイトのＩＰｖ６ヘッダ部２３１、２０バイトのＴＣＰヘッダ部２３２及び１４４０バイトのデータ部２３３からなる１５００バイトの通信パケット２０３が６個、そして、４０バイトのＩＰｖ６ヘッダ部２３１、２０バイトのＴＣＰヘッダ部２３２及び１３６０バイトのデータ部２３３’からなる１４２０バイトの通信パケット２０３’が１個になる。これら６個の通信パケット２０３と１個の通信パケット２０３’との総バイト数は、１０４２０バイトである。なお、イーサフレームを含めると総バイト数は、１０５４６バイトである。
【０１１３】
このため、図１２（Ｂ）に示すように、６個の１５００バイトの各通信パケット２０３は、カプセル化後、２０バイトのＩＰｖ４ヘッダ部２４１、２４バイトのＡＨヘッダ部２４２、８バイトのＥＳＰヘッダ部２４３、１５００バイトの通信パケット２０３が暗号化され収容される１５０４バイトの暗号化ペイロード部２４４（２バイトのパディングデータ２４５を含む）及び１２バイトの認証データ部２４６からなる１５６８バイトの通信パケット２０４になる。そして、１個の１４２０バイトの通信パケット２０３’は、カプセル化後、２０バイトのＩＰｖ４ヘッダ部２４１、２４バイトのＡＨヘッダ部２４２、８バイトのＥＳＰヘッダ部２４３、１４２０バイトの通信パケット２０３’が暗号化され収容される１４２４バイトの暗号化ペイロード部２４４’（２バイトのパディングデータ２４５を含む）及び１２バイトの認証データ部２４６からなる１４８８バイトの通信パケット２０４’になる。
【０１１４】
従って、図１２（Ｃ）に示すように、６個の１５６８バイトの各通信パケット２０４は、ＩＰフラグメンテーションが行われる。即ち、６個の１５６８バイトの各通信パケット２０４は、１４８０バイトのフラグメント断片＃１と、６８バイトのフラグメント断片＃２とにフラグメント化される。そして、各フラグメント断片＃１、＃２に２０バイトのＩＰｖ４ヘッダ部２５１が付加され、それぞれ通信パケット２０５、２０５’となる。これら通信パケットの総バイト数は、１１０１６バイトである。なお、イーサフレームを含めると総バイト数は、１１２５０バイトである。
【０１１５】
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、１１０１６−１１００８＝８バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、１１２５０−１１１５２＝９８バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では（１５００-１４９６）×７＝２８バイトであるが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが１４１２×６＝８４７２バイトと、送信されるデータ内部にＥＳＰのパディングフィールドを含むことによるものが２×６＋２＝１４バイトの合計８４８６バイトである。
【０１１６】
図１３は、他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図１３（Ａ）は、元の通信パケットを示し、図１３（Ｂ）は、カプセル化後の通信パケット（トンネル適用）を示し、そして、図１３（Ｃ）は、通信経路を伝送中における通信パケットの様子を示す。
【０１１７】
次に、第３に、例えば、ＩＰｓｅｃを適用したＩＰｖ６−ＩＰｖ４トンネルを用いてＩＰｖ４のトランスポートモードでＴＣＰ接続により合計１００００バイトのデータを連続して送信する場合について説明する。ここで、ＥＳＰの暗号化アルゴリズムは、ＡＥＳのＥＣＢモード（即ち、ＩＶ無し６４ビットブロック暗号）であり、ＥＳＰの認証方式及びＡＨの認証方式は、ＨＭＡＣ−ＭＤ５（即ち、認証データのサイズが９６ビット）であるとする。
【０１１８】
このような場合において本発明を適用する場合では、表１における計算式［（Ｓ−１８）÷１６］×１６＋６４が用いられることとなり、最大パケット長計算部３２は、図５乃至図８に示す処理Ｓ１１乃至処理Ｓ６７を実行することによって、［（Ｓ−１８）÷１６］×１６＋６４＝１５００が解かれ、Ｓ＝１４２２を計算することとなる。ＩＰｖ６ヘッダ部の４０バイト及びＴＣＰヘッダ部の２０バイトが差し引かれ、データ部は、１３６２バイトと計算される。
【０１１９】
よって、図１３（Ａ）に示すように、合計１００００バイトのデータは、４０バイトのＩＰｖ６ヘッダ部３１１、２０バイトのＴＣＰヘッダ部３１２及び１３６２バイトのデータ部３１３からなる１４２２バイトの通信パケット３０１が７個、そして、４０バイトのＩＰｖ６ヘッダ部３１１、２０バイトのＴＣＰヘッダ部３１２及び４６６バイトのデータ部３１３’からなる５２６バイトの通信パケット３０１’が１個となる。これら７個の通信パケット３０１と１個の通信パケット３０１’との総バイト数は、１０４８０バイトである。なお、イーサフレームを含めると総バイト数は、１０６２４バイトである。
【０１２０】
このため、図１３（Ｂ）に示すように、７個の１４２２バイトの各通信パケット３０１は、カプセル化（ＩＰｖ６−ＩＰｖ４トンネル適用後、ＩＰｓｅｃＩＰｖ４トランスポートモード）後、２０バイトのＩＰｖ４ヘッダ部３２１、２４バイトのＡＨヘッダ部３２２、８バイトのＥＳＰヘッダ部３２３、１４２２バイトの通信パケット３０１が暗号化され収容される１４２４バイトの暗号化ペイロード部３２４及び１２バイトの認証データ部３２５からなる１４８８バイトの通信パケット３０２になる。そして、１個の５２６バイトの通信パケット３０１’は、カプセル化後、２０バイトのＩＰｖ４ヘッダ部３２１、２４バイトのＡＨヘッダ部３２２、８バイトのＥＳＰヘッダ部３２３、５２６バイトの通信パケット３０１’が暗号化され収容される５２８バイトの暗号化ペイロード部３２４’及び１２バイトの認証データ部３２５からなる５９２バイトの通信パケット３０２’になる。カプセル化後におけるこれら７個の通信パケット３０２と１個の通信パケット３０２’との総バイト数は、１１００８バイトである。なお、イーサフレームを含めると総バイト数は、１１１５２バイトである。
【０１２１】
従って、カプセル化後の図１３（Ｂ）に示す各通信パケット３０２、３０２’は、図１３（Ｃ）に示すように、ＩＰｖ６−ＩＰｖ４トンネルを伝送中においてＩＰフラグメンテーションが行われない。
【０１２２】
一方、上述の場合において本発明が適用されない場合には、図１２に示す各場合と同様であるので、その説明を省略する。
【０１２３】
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、１１０１６−１１００８＝８バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、１１２５０−１１１５２＝９８バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では（１５００−１４８８）×７＝８４バイトであるが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが１４１２×６＝８４７２バイトと、送信されるデータ内部にＥＳＰのパディングフィールドを含むことによるものが２×６＋２＝１４バイトの合計８４８６バイトである。
【０１２４】
なお、上述の実施形態では、ＩＰｓｅｃルータ装置１１は、１個の物理的なＷＡＮ側ＩＦ部２６を備える構成について説明したが、複数個の物理的なＷＡＮ側ＩＦ部２６を備えることによって複数の他のＩＰｓｅｃルータ装置１１へ複数のＩＰｖｘ−ＩＰｖｙトンネルをそれぞれ同時に設定するように構成してもよい。
【０１２５】
図１４は、複数のＷＡＮ側インターフェース部を備えるＩＰｓｅｃルータ装置を含むネットワークの構成を示すブロック図である。
【０１２６】
図１４において、ＩＰｓｅｃルータ装置１１’は、ＬＡＮ側ＩＦ部２１と、制御部２２と、記憶部２３と、入力部２４と、論理ＩＦ部２５と、複数のＷＡＮ側ＩＦ部２６（２６−０、２６−１、・・・、２６−ｎ）とを備えて構成される。これらＬＡＮ側ＩＦ部２１、制御部２２、記憶部２３、入力部２４、論理ＩＦ部２５及びＷＡＮ側ＩＦ部２６は、ＷＡＮ側ＩＦ部２６が複数であって各ＷＡＮ側ＩＦ部２６−０、２６−１、・・・、２６−ｎを識別するための識別子である物理ＩＦデバイス名が各ＷＡＮ側ＩＦ部２６−０、２６−１、・・・、２６−ｎにそれぞれ付与され。この物理ＩＦデバイス名に基づいてＷＡＮ側ＩＦ部２６ごとに最大パケット長最適化動作を行うことを除き、上述したＬＡＮ側ＩＦ部２１、制御部２２、記憶部２３、入力部２４、論理ＩＦ部２５及びＷＡＮ側ＩＦ部２６とそれぞれ同様であるので、その説明を省略する。また、最大パケット長最適化動作は、各ＷＡＮ側ＩＦ部２６−０、２６−１、・・・、２６−ｎに対して上述と同様に行えばよいので、その説明を省略する。
【０１２７】
そして、上述の実施形態において、例えば、動的ルーティング（ダイナミックルーティング）を採用している場合等のように、通信経路における最大パケット長が動的に変化する場合にその変化に対応することができるようにする観点から、上述の最大パケット長最適化動作を定期的に実行することが好ましい。
【０１２８】
さらに、上述の実施形態では、ＩＰｓｅｃを利用可能なＩＰｓｅｃルータ装置の場合について説明したが、これに限定されるものではなく、例えば、通信パケットのルーティングを行うルーティング機能に加えてプロトコル変換を行う機能をさらに備えてもよい。
【図面の簡単な説明】
【０１２９】
【図１】実施形態におけるネットワークの全体構成を示す図である。
【図２】ＩＰｓｅｃルータ装置を含むネットワークの構成を示すブロック図である。
【図３】トランスポートモードにおける通信パケットのフォーマットを示す図である。
【図４】トンネルモードにおける通信パケットのフォーマットを示す図である。
【図５】最大パケット長計算部の動作を示すフローチャート（その１）である。
【図６】最大パケット長計算部の動作を示すフローチャート（その２）である。
【図７】最大パケット長計算部の動作を示すフローチャート（その３）である。
【図８】最大パケット長計算部の動作を示すフローチャート（その４）である。
【図９】一具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。
【図１０】一具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。
【図１１】他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。
【図１２】他の具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。
【図１３】他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。
【図１４】複数のＷＡＮ側インターフェース部を備えるＩＰｓｅｃルータ装置を含むネットワークの構成を示すブロック図である。
【符号の説明】
【０１３０】
１  ネットワーク
２  ＩＰｖｘのネットワーク
３、４  ＩＰｖｙのネットワーク
１２  トンネル
１１、１１’  ＩＰｓｅｃルータ装置
２１  ローカル・エリア・ネットワーク側インターフェース部
２２、２２’  制御部
２３  記憶部
２４  入力部
２５  内部インターフェース部
２６  ワイド・エリア・ネットワーク側インターフェース部
３２  最大パケット長計算部
４１  設定トンネル情報記憶部
４１  パケット長計算式記憶部
４２  セキュリティポリシデータベース記憶部
４３  セキュリティアソシエーションデータベース記憶部
【図１】
2006165847.tif 000011
【図２】
2006165847.tif 000012
【図３】
2006165847.tif 000013
【図４】
2006165847.tif 000014
【図５】
2006165847.tif 000015
【図６】
2006165847.tif 000016
【図７】
2006165847.tif 000017
【図８】
2006165847.tif 000018
【図９】
2006165847.tif 000019
【図１０】
2006165847.tif 000020
【図１１】
2006165847.tif 000021
【図１２】
2006165847.tif 000022
【図１３】
2006165847.tif 000023
【図１４】
2006165847.tif 000024