(57)【要約】【課題】無線ＩＰネットワークにおいて、無線環境等によるパケットロスに影響されることなく正確なＭＴＵ測定を行うことができる通信装置を提供する。【解決手段】第１の装置が、無線ネットワークを介して第２の装置にＩＰ接続されているとき、第１の装置が、第２の装置へ所定の制御用メッセージ（ＩＣＭＰエコーメッセージおよびＬＣＰエコーメッセージ）を無線ネットワークを介して送信し、第２の装置から、所定の制御用メッセージに対応するメッセージ（ＩＣＭＰエコー応答メッセージ、ＩＣＭＰ到達不能メッセージ、またはＬＣＰエコー応答メッセージ）を受信すると、第２の装置からのメッセージの種類または組み合わせに応じて、第２の装置へ送信するパケット長を制御する。【選択図】図３
2009060238.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置が、無線ネットワークを介して第２の装置にＩＰ接続されているとき、当該第１の装置が、前記第２の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する送信方法において、
前記第１の装置が、
前記第２の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する送信ステップと、
前記送信ステップで送信した前記所定の制御用メッセージに対応する、前記第２の装置からのメッセージの受信態様に応じて、前記第２の装置へ送信するデータのデータ長を制御する制御ステップと、
を含むことを特徴とする送信方法。
【請求項２】
前記所定の制御用メッセージは、ＩＣＭＰエコーメッセージおよびＬＣＰエコーメッセージからなり、
前記第２の装置からのメッセージは、ＩＣＭＰエコー応答メッセージ、ＩＣＭＰ到達不能メッセージ、または、ＬＣＰエコー応答メッセージであり、
前記制御ステップでは、
前記第２の装置から受信したメッセージの種類または組み合わせに応じて、前記データ長を制御する、ことを特徴とする請求項１に記載の送信方法。
【請求項３】
前記制御ステップでは、
前記第１の装置が、
前記第２の装置から、前記ＬＣＰエコー応答メッセージのみを受信した場合には、前記ＩＣＭＰエコー応答メッセージを受信するまでの待ち時間が所定時間を経過するまでは、前記ＩＣＭＰエコー応答メッセージの受信を待つように制御する、ことを特徴とする請求項２に記載の送信方法。
【請求項４】
前記制御ステップでは、
前記第１の装置が、
前記第２の装置から、前記ＬＣＰエコー応答メッセージのみを受信し、かつ、前記ＩＣＭＰエコー応答メッセージを受信するまでの待ち時間が前記所定時間を経過した場合には、前回送信したＩＣＭＰエコーメッセージと同じ長さとなる別のＩＣＭＰエコーメッセージと、前回送信したＬＣＰエコーメッセージと、を送信するように制御する、ことを特徴とする請求項３に記載の送信方法。
【請求項５】
請求項４に記載の送信方法において、
前記第１の装置が、
前記制御ステップを経て送信されたＩＣＭＰエコーメッセージに対するＩＣＭＰエコー応答メッセージの未受信状態が、所定回数繰り返された場合には、前記第２の装置が前記ＩＣＭＰ到達不能メッセージを送信しない装置であると判断し、当該判断に基づいて、前記第２の装置へ次に送信するデータのデータ長を制御する、ことを特徴とする送信方法。
【請求項６】
前記制御ステップでは、
前記第１の装置が、
前記第２の装置から、前記ＩＣＭＰエコー応答メッセージと前記ＬＣＰエコー応答メッセージを所定時間受信しない場合には、前記第２の装置との無線通信経路上でデータが損失していると判断し、当該判断に基づいて、所定の処理を実行するように制御する、ことを特徴とする請求項２に記載の送信方法。
【請求項７】
請求項６に記載の送信方法において、
前記判定が所定回数連続された場合には、前記第２の装置との無線通信経路が異常であると判断し、前記第２の装置へ送信するデータのデータ長の制御を終了する、ことを特徴とする送信方法。
【請求項８】
第１の装置が、無線ネットワークを介して第２の装置にＩＰ接続されているとき、当該第１の装置が、前記第２の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信することができる通信システムにおいて、
前記第１の装置は、
前記第２の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する第１送信部を有し、
前記第２の装置は、
前記第１の装置からの前記所定の制御用メッセージに対応するメッセージを前記第１の装置へ送信する第２送信部を有し、
前記第１の装置は、更に、
前記第２送信部から送信された前記メッセージを受信する受信部と、
前記受信部で受信された、前記メッセージの受信態様に応じて、前記第２の装置へ送信するデータのデータ長を制御する制御部と、を有する、
ことを特徴とする通信システム。
【請求項９】
通信先の装置との間で、無線ネットワークを介してＩＰ接続されているとき、当該通信先の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する通信装置において、
前記通信先の装置へ、所定の制御用メッセージを前記無線ネットワークを介して送信する送信部と、
送信した前記所定の制御用メッセージに対応する、前記通信先の装置からのメッセージを受信する受信部と、
前記受信部で受信された、前記通信先の装置からのメッセージの受信態様に応じて、前記通信先の装置へ送信するデータのデータ長を制御する制御部と、
を含むことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＩＰネットワークにおいて正確なＭＴＵ測定を行うことができる送信方法、通信システムおよび通信装置に関する。
【背景技術】
【０００２】
ＩＰネットワークにおいて、ネットワーク性能を最大限に発揮させるためにはＭＴＵ（Maximum Transfer Unit：最大転送単位）の最適化が必要である。一般にＭＴＵは到達可能なパケット長（データ長）を実測することにより求める。最も一般的なＭＴＵの測定方法として、ＲＦＣ１１９１で標準化されている経路ＭＴＵ探索（Path MTU Discovery）がある（非特許文献１参照）。
【０００３】
経路ＭＴＵ探索は、次のようにして行われる。ＩＰ（Internet Protocol）パケット送信時に、ＩＰヘッダ中の分割禁止フラグを１に設定し、パケットフラグメンテーションを禁止する。これにより途中のルータでのＩＰパケットの分割処理が禁じられ、パケット長が超過して分割が必要な場合にはそのパケットを破棄する。そして、ＩＣＭＰ（Internet Control Message Protocol：インターネット制御メッセージプロトコル）到達不能メッセージによりデータリンクのＭＴＵ値を通知する。次に送信するＩＰパケットは、ＩＣＭＰ到達不能メッセージにより通知されたＭＴＵ値を経路ＭＴＵとして使用する。経路上には複数のルータが存在し、これを繰り返すことで経路上の全ルータが分割を必要としない最大パケット長（即ちＭＴＵ）を求めることができる。
なお、ルータによってはＩＣＭＰ到達不能メッセージにＭＴＵ値が入っていない場合があり、その場合には送信ホスト側がパケットサイズを増減させ、最適サイズを探索しなければならない。
【０００４】
また、従来技術として、受信したフレームのサイズが取り扱い可能な最大フレームサイズを超えている時、送信元へＩＣＭＰエラーを送信するＩＰ通信装置と、ＩＣＭＰエラーを受信したときに経路ＭＴＵ検索を行うＩＰ通信装置からなるＩＰ通信システムが提案されている（特許文献１参照）。
【特許文献１】特開２００７−０８２１２６号公報
【非特許文献１】ＲＦＣ１１９１、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１１９１．ｔｘｔ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、無線通信システムでは、電波状態が不安定であるとパケットのロス（消失）を発生することがある。従って、装置間でのＩＰ接続を可能にする無線ＩＰネットワークにおいても、ＭＴＵの測定時に、無線環境やその他の影響によるパケットロスが発生することがある。この無線環境等によるパケットロスとＭＴＵ測定時のパケット長超過によるパケット破棄とが正確に識別できなければ、誤ったＭＴＵ値を算出してしまう。無線環境等によるパケットロスを含む測定結果から求めた誤ったＭＴＵ値をそのまま使用した場合、本来得られる性能を発揮することができない。
【０００６】
上述したＲＦＣ１１９１で標準化されている経路ＭＴＵ探索では、無線環境等によるパケットロスの発生を考慮していない。このため、無線ネットワーク上でのパケットロスにより、ＩＣＭＰエコーあるいは到達不能メッセージを受信できない場合、正しいＭＴＵを測定することができない。また、到達不能メッセージに対応しないネットワーク機器が経路上に存在した場合にも正しいＭＴＵの測定ができない。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、本発明の目的は、装置間でのＩＰ接続を可能にする無線ＩＰネットワークにおいて、無線環境等によるパケットロスに影響されることなく正確なＭＴＵ測定を行うことができる送信方法、通信システムおよび通信装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の送信方法は、第１の装置が、無線ネットワークを介して第２の装置にＩＰ接続されているとき、当該第１の装置が、前記第２の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する送信方法において、前記第１の装置が、前記第２の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する送信ステップと、前記送信ステップで送信した前記所定の制御用メッセージに対応する、前記第２の装置からのメッセージの受信態様に応じて、前記第２の装置へ送信するデータのデータ長を制御する制御ステップとを含むことを特徴とする。
【０００９】
前記所定の制御用メッセージは、ＩＣＭＰエコーメッセージおよびＬＣＰエコーメッセージからなり、前記第２の装置からのメッセージは、ＩＣＭＰエコー応答メッセージ、ＩＣＭＰ到達不能メッセージ、または、ＬＣＰエコー応答メッセージであり、前記制御ステップでは、前記第２の装置から受信したメッセージの種類または組み合わせに応じて、前記データ長を制御することが好ましい。
【００１０】
また、前記所定の制御用メッセージは、前記ＩＣＭＰエコーメッセージと、最低１つの前記ＬＣＰエコーメッセージとで構成され、前記制御ステップでは、前記第１の装置が、前記第２の装置から、前記ＬＣＰエコー応答メッセージのみを受信した場合には、前記ＩＣＭＰエコー応答メッセージを受信するまでの待ち時間を（タイマにより）計測し、計測した待ち時間が、所定時間を経過するまでは、ＩＣＭＰエコー応答メッセージの受信を待つように制御することが好ましい。
【００１１】
この場合、前記制御ステップでは、より詳しくは、前記第１の装置が、前記第２の装置から、前記ＬＣＰエコー応答メッセージのみを受信し、かつ、前記ＩＣＭＰエコー応答メッセージを受信するまでの待ち時間が前記所定時間を経過した場合には、前回送信したＩＣＭＰエコーメッセージと同じ長さとなる別のＩＣＭＰエコーメッセージと、前回送信したＬＣＰエコーメッセージと、を送信する（ＩＣＭＰエコーメッセージとＬＣＰエコーメッセージとをセットで送信する）ように制御することが好ましい。
【００１２】
さらに、前記第１の装置が、前記制御ステップを経て、送信したＩＣＭＰエコーメッセージに対するＩＣＭＰエコー応答メッセージの未受信状態が、所定回数繰り返された場合には、前記第２の装置が前記ＩＣＭＰ到達不能メッセージを送信しない装置であると判断し（ネットワーク経路上にＩＣＭＰ到達不能メッセージに対応しない機器があると判断し）、当該判断に基づいて、前記第２の装置へ次に送信するデータのデータ長を制御する（到達不能メッセージ受信時の処理を行う）ようにしてもよい。なお、この場合、データ長を前回送信のＩＣＭＰエコーメッセージ長よりも短くなるように制御する。
【００１３】
また、前記制御ステップでは、前記第１の装置が、前記第２の装置から、前記ＩＣＭＰエコー応答メッセージと前記ＬＣＰエコー応答メッセージを所定時間受信しない場合には、前記第２の装置との無線通信経路上でデータが損失している（無線経路上でのパケットロス）と判断し、当該判断に基づいて、所定の処理を実行するように制御するようにしてもよい。なお、この場合、ＩＣＭＰエコーメッセージとＬＣＰエコーメッセージを前回送信と同じデータ長で送信（再送）するのが望ましい。
【００１４】
さらに、前記判定（パケットロスの判定）が所定回数連続された場合には、前記第２の装置との無線通信経路が異常であると判断し、前記第２の装置へ送信するデータのデータ長の制御を終了するようにしてもよい。
【００１５】
また、本発明の通信システムは、第１の装置が、無線ネットワークを介して第２の装置にＩＰ接続されているとき、当該第１の装置が、前記第２の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信することができる通信システムにおいて、前記第１の装置が、前記第２の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する第１送信部を有し、前記第２の装置が、前記第１の装置からの前記所定の制御用メッセージに対応するメッセージを前記第１の装置へ送信する第２送信部を有し、前記第１の装置が、更に、前記第２送信部から送信された前記メッセージを受信する受信部と、前記受信部で受信された、前記メッセージの受信態様に応じて、前記第２の装置へ送信するデータのデータ長を制御する制御部とを有することを特徴とする。
【００１６】
また、本発明の通信装置は、通信先の装置との間で、無線ネットワークを介してＩＰ接続されているとき、当該通信先の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する通信装置において、前記通信先の装置へ、所定の制御用メッセージを前記無線ネットワークを介して送信する送信部と、送信した前記所定の制御用メッセージに対応する、前記通信先の装置からのメッセージを受信する受信部と、前記受信部で受信された、前記通信先の装置からのメッセージの受信態様に応じて、前記通信先の装置へ送信するデータのデータ長を制御する制御部とを含むことを特徴とする。
【発明の効果】
【００１７】
本発明は、通信装置間でのＩＰ接続を可能にする無線ＩＰネットワークにおいて、無線環境等によるパケットロスに影響されることなく、パケットロスを確実に把握して、正確なＭＴＵ測定を行うことができ、また、ＩＣＭＰ到達不能メッセージに対応しないネットワークにおいても、正確なＭＴＵ測定を行うことができる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施の形態について図面を参照して説明する。図１は、本発明に係る送信方法の処理を行うとともに、本発明に係る通信システムを構成する通信装置の一例を示すブロック図である。図１に示す通信装置１０は、送信部１１と、受信部１２と、制御部１３とタイマ１４とにより構成され、無線ネットワークを介して他の通信装置とＩＰ接続されている。
【００１９】
通信元となる通信装置では、送信部１１は、通信先の通信装置へ制御用メッセージとしてＩＣＭＰ（Internet Control Message Protocol：インターネット制御メッセージプロトコル）エコーメッセージおよびＬＣＰ（Link Control Protocol：リンク制御プロトコル）エコーメッセージを無線ネットワークを介して送信し、受信部１２は、送信した制御用メッセージに対応する、通信先の装置からのメッセージ（ＩＣＭＰエコー応答メッセージ、ＩＣＭＰ到達不能メッセージ、または、ＬＣＰエコー応答メッセージ）を受信する。
制御部１３は、受信部１２で受信された、通信先の装置からのメッセージの受信態様に応じて、通信先の装置へ送信するデータのデータ長を制御する。即ち、通信先の装置から受信したメッセージの種類または組み合わせに応じて、通信先の装置へ送信するデータのデータ長を制御する。通信先の装置からＩＣＭＰエコー応答メッセージを受信した場合は、ＭＴＵ（Maximum Transfer Unit：最大転送単位）が送信パケット長（送信データ長）以上であることを意味するため、次回送信パケット長を長くする。ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージにＭＴＵ値が含まれている場合は、次回送信パケット長には到達不能メッセージで指定されるＭＴＵ値を使用する。到達不能メッセージにＭＴＵ値が含まれていない場合、次回送信パケット長を、現在のパケット長を元に短くする。
また、タイマ１４は、通信先の装置からの応答メッセージの受信待ち時間を計測する。
【００２０】
通信先となる通信装置（経路途中の通信装置も含む）では、受信部は、通信元の装置からの所定の制御用メッセージを受信し、送信部は、所定の制御用メッセージに対応するメッセージを通信元の装置へ送信する。
【００２１】
本発明の通信システムを構成する通信装置は、通信元となる場合および通信先となる場合があるので、上述した通信元となる通信装置の機能および通信先となる通信装置の機能の双方を備えるようにしても良い。
【００２２】
次に、通信元となる通信装置の動作について説明する。図２〜図５は、通信元となる通信装置の動作を説明するフローチャートである。なお、図２〜図５のフローチャートでは、ＩＣＭＰ到達不能メッセージにＭＴＵ値が含まれていないケースを前提に説明する。まず、パケット長増減値ｎを１６（バイト）、受信状態遷移フラグtransitionを０、再送処理回数nSamePktを０、パケットロス発生回数nFERを０、初回ＭＴＵ測定フラグinitialDoneを０に設定し（ステップ１００）、その後にＭＴＵ測定処理（ステップ２００）を行う。なお、ステップ１００において、パケット長増減値ｎを１６（バイト）としたが、これは一例であり適宜変更が可能である。
【００２３】
図３に示すＭＴＵ測定処理（ステップ２００）では、まず、ＩＰヘッダ中の分割禁止フラグを１に設定し、パケットフラグメンテーションを禁止してＩＣＭＰエコーメッセージを送信する。その際、ＩＣＭＰエコーメッセージの前後に、ＩＣＭＰ到達不能メッセージ未対応ネットワーク識別のため、ＬＣＰエコーメッセージを送信する。また、ＩＣＭＰエコーメッセージ送信時、応答メッセージ待ちタイマ１４を起動する（ステップ２０１）。なお、ステップ２００において、ＩＣＭＰエコーメッセージの前後にＬＣＰエコーメッセージを送信したが、これは一例であり、適宜変更が可能である。ＩＣＭＰエコーメッセージに最低１つのＬＣＰエコーメッセージが必要である。
【００２４】
次に、通信先の装置からＩＣＭＰエコーメッセージに対応するＩＣＭＰエコー応答メッセージを受信したか否かを判定し（ステップ２０２）、ＩＣＭＰエコー応答メッセージを受信した場合は、ＩＣＭＰエコーバック処理（ステップ３００）を行い、ＩＣＭＰエコー応答メッセージを受信しない場合は、通信先の装置からＩＣＭＰ到達不能メッセージを受信したか否かを判定する（ステップ２０３）。ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージ処理（ステップ４００）を行い、ＩＣＭＰ到達不能メッセージを受信しない場合は、通信先の装置からＬＣＰエコーメッセージに対応するＬＣＰエコー応答メッセージを受信したか否かを判定する（ステップ２０４）。
【００２５】
ステップ２０４において、ＩＣＭＰエコーメッセージの前後に送信したＬＣＰエコーメッセージに対応する２つのＬＣＰエコー応答メッセージを受信しない場合（ＮＯの場合）は、応答メッセージ待ちタイマ１４のタイマ値Timerが規定時間WaitTimer（固定値）を満了したか否かを判定する（ステップ２０８）。規定時間が満了していない場合（ＹＥＳの場合）は、ＩＣＭＰエコー応答メッセージ（あるいは到達不能メッセージ）を待つためステップ２０２に戻る。規定時間が満了した場合（ＮＯの場合）は、無線ネットワーク上でのパケットロスで、メッセージが欠落したと判断して、パケットロス発生回数nFERが２０回に達しているか否かを判定し（ステップ２０９）、２０回に達していなければ、パケットロス発生回数nFERをインクリメントし（ステップ２１０）、再送処理を行うためステップ２０１に戻る。なお、再送処理を行う場合、次に送信する（別の）ＩＣＭＰエコーメッセージは、前回送信したときのパケット長（データ長）と同一のパケット長となるように設定（制御）する（この場合、ＩＣＭＰエコーメッセージとともに送信されるＬＣＰエコーメッセージは、前回送信したＬＣＰエコーメッセージを繰り返し送信するように制御する）。パケットロス発生回数nFERが２０回に達している場合（ステップ２０９でＹＥＳの場合）は、ＭＴＵ測定失敗として処理を終了する。なお、再送処理回数は２０回としたが、これは一例であり、適宜変更が可能である。
【００２６】
ステップ２０４において、ＩＣＭＰエコー応答メッセージの受信が無く、ＩＣＭＰエコーメッセージの前後に送信したＬＣＰエコーメッセージに対応する２つのＬＣＰエコー応答メッセージを受信した場合（ＹＥＳの場合）は、応答メッセージ待ちタイマ１４のタイマ値Timerが規定時間WaitTimer（固定値）を満了したか否かを判定する（ステップ２０５）。規定時間が満了していない場合（ＹＥＳの場合）は、ＩＣＭＰエコー応答メッセージ（あるいは到達不能メッセージ）を待つためにステップ２０２に戻る。規定時間が満了した場合（ＮＯの場合）は、無線ネットワーク上でのパケットロスにより到達不能メッセージを受信できない場合、あるいは到達不能メッセージを送信しないネットワークの場合であり、再送処理回数nSamePktが３回以上か否かを判定し（ステップ２０６）、３回未満であれば再送処理回数nSamePktをインクリメントし（ステップ２０７）、再送処理を行うためステップ２０１に戻る。再送処理回数nSamePktが３回以上であれば、到達不能メッセージを送信しないネットワークであると判断し、現在のＩＰパケット長がネットワークのＭＴＵを超過していると推定し、到達不能メッセージ処理（ステップ４００）を行って、次回送信パケット長を現在パケット長を元に減少させる。
【００２７】
次に、ＩＣＭＰエコーバック処理および到達不能メッセージ処理について具体例に基づいて説明する。まず、初回のＭＴＵ測定処理時に、ステップ２０２において、ＩＣＭＰエコーメッセージに対応するＩＣＭＰエコー応答メッセージを受信した場合について説明する。ＩＣＭＰエコー応答メッセージを受信した場合は、ＩＣＭＰエコーバック処理（ステップ３００）を行う。ＩＣＭＰエコーバック処理では、まず、初回ＭＴＵ測定フラグinitialDone＝０か否かを判定する（ステップ３０１）。初回のＭＴＵ測定処理時にはinitialDone＝０に設定されており、ＹＥＳの場合であるので、パケット増減フラグDirection＝０（パケット長を増大させる）、initialDone＝１に設定し（ステップ３１２）、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（１６バイト）だけ増やし（ステップ３１３）、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００２８】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、１６バイト増大させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。ステップ２０２において、更にＩＣＭＰエコー応答メッセージを受信した場合は、ＩＣＭＰエコーバック処理を行い（ステップ３００）、ステップ３０１において、initialDone＝０か否かを判定する。InitialDoneはステップ３１２において１に設定されているので、次に、パケット長増減値ｎ＝１か否かを判定する（ステップ３０２）。このときｎ＝１６即ちｎ≠１であるので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ３０３）。前回のＭＴＵ測定処理でも今回のＭＴＵ測定処理でもＩＣＭＰエコー応答メッセージを受信しており、エコーバック受信状態に遷移がない場合（ＮＯの場合）であるので、次に、受信状態遷移フラグtransition＝１か否かを判定する（ステップ３０５）。ステップ１００においてtransition＝０に設定されているので、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ３０７）、次に、Direction＝１か否かを判定する（ステップ３０８）。ステップ３１２においてDirection＝０としているので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（１６バイト）だけ増やし（ステップ３０９）、ＩＰパケットリミットチェックを行い（ステップ３１１）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００２９】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、更に１６バイト増大させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。ＩＰパケット長が大きすぎて、ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信せず、ステップ２０３において、ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージ処理（ステップ４００）を行い、ステップ４０１において、initialDone＝０か否かを判定する。InitialDoneは１に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ４０２）。ＩＣＭＰエコー応答メッセージから到達不能メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合（ＹＥＳの場合）であるので、パケット増減フラグDirectionを反転し、即ち、ステップ３１２でDirection＝０となっているのでDirection＝１とし、さらに、受信状態遷移フラグtransition＝１とする（ステップ４０３）。次に、transition＝１かつｎ＞１か否かを判定する（ステップ４０４）。transition＝１かつｎ＝１６（バイト）に設定されており、ＹＥＳの場合であるので、パケット長増減値ｎをｎ／２、即ち、ｎ＝１６／２＝８（バイト）とする（ステップ４０５）。次に、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ４０６）、次に、Direction＝１か否かを判定する（ステップ４０７）。ステップ４０３においてDirection＝１となっており、ＹＥＳの場合であるので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（８バイト）だけ減らし（ステップ４０９）、ＩＰパケットリミットチェックを行い（ステップ４１０）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３０】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、８バイト減少させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信した場合は、ＩＣＭＰエコーバック処理（ステップ３００）を行い、ステップ３０１において、initialDone＝０か否かを判定する。InitialDoneは１に設定されているので、次に、パケット長増減値ｎ＝１か否かを判定する（ステップ３０２）。このときｎ＝８即ちｎ≠１であるので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ３０３）。到達不能メッセージからＩＣＭＰエコー応答メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合（ＹＥＳの場合）であるので、パケット増減フラグDirectionを反転してDirection＝０とし、さらに、受信状態遷移フラグtransition＝１とする（ステップ３０４）。次に、transition＝１か否かを判定する（ステップ３０５）。ステップ３０４でtransition＝１に設定されておりＹＥＳの場合であるので、パケット長増減値ｎをｎ／２、即ち、ｎ＝８／２＝４（バイト）とする（ステップ３０６）。次に、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ３０７）、Direction＝１か否かを判定する（ステップ３０８）。ステップ３０４においてDirection＝０としているので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（４バイト）だけ増やし（ステップ３０９）、ＩＰパケットリミットチェックを行い（ステップ３１１）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３１】
上述のように、パケット長増減値ｎを変えてＭＴＵ測定処理を繰り返し、最終的にｎ＝１になった時点（ステップ３０２でＹＥＳの場合）で処理を終了する。このようにして、無線環境等によるパケットロスに影響されることなく、経路上の全ルータが分割を必要としない最大パケット長（即ちＭＴＵ）を求めることができる。
【００３２】
次に、初回のＭＴＵ測定処理時に、ＩＰパケット長が大きすぎて、ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信せず、ステップ２０３において、ＩＣＭＰ到達不能メッセージを受信した場合について説明する。ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージ処理（ステップ４００）を行う。ＩＣＭＰエコーバック処理では、まず、initialDone＝０か否かを判定する（ステップ４０１）。初回のＭＴＵ測定処理時にはinitialDone＝０に設定されており、ＹＥＳの場合であるので、パケット増減フラグDirection＝１（パケット長を減少させる）、initialDone＝１に設定して（ステップ４１１）、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（１６バイト）だけ減らし（ステップ４１２）、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３３】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、１６バイト減少させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。それでもＩＰパケット長が大きすぎて、ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信せず、ステップ２０３において、ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージ処理（ステップ４００）を行い、ステップ４０１において、initialDone＝０か否かを判定する。InitialDoneはステップ４１１において１に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ４０２）。前回のＭＴＵ測定処理でも今回のＭＴＵ測定処理でもＩＣＭＰ到達不能メッセージを受信しており、エコーバック受信状態に遷移がない場合（ＮＯの場合）であるので、次に、transition＝１かつｎ＞１か否かを判定する（ステップ４０４）。ｎ＝１６即ちｎ＞１であるが、ステップ１００においてtransition＝０に設定されているので、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ４０６）、次に、Direction＝１か否かを判定する（ステップ４０７）。ステップ４１１においてDirection＝１となっているので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（１６バイト）だけ減らし（ステップ４０９）、ＩＰパケットリミットチェックを行い（ステップ４１０）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３４】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、１６バイト減少させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。ＩＰパケット長が小さすぎて、ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信した場合は、ＩＣＭＰエコーバック処理（ステップ３００）を行い、ステップ３０１において、initialDone＝０か否かを判定する。InitialDoneは１に設定されているので、次に、パケット長増減値ｎ＝１か否かを判定する（ステップ３０２）。このときｎ＝１６即ちｎ≠１であるので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ３０３）。到達不能メッセージからＩＣＭＰエコー応答メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合（ＹＥＳの場合）であるので、パケット増減フラグDirectionを反転してDirection＝０とし、さらに、transition＝１とする（ステップ３０４）。次に、transition＝１か否かを判定する（ステップ３０５）。transition＝１に設定されているので、パケット長増減値ｎをｎ／２、即ち、ｎ＝１６／２＝８（バイト）とする（ステップ３０６）。次に、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ３０７）、Direction＝１か否かを判定する（ステップ３０８）。ステップ３０４においてDirection＝０としているので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（８バイト）だけ増やし（ステップ３０９）、ＩＰパケットリミットチェックを行い（ステップ３１１）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３５】
次のＭＴＵ測定処理では、ＬＣＰエコーメッセージとともに、８バイト増大させたＩＰパケット長でＩＣＭＰエコーメッセージを送信する（ステップ２０１）。ステップ２０２において、ＩＣＭＰエコー応答メッセージを受信せず、ステップ２０３において、ＩＣＭＰ到達不能メッセージを受信した場合は、到達不能メッセージ処理を行い（ステップ４００）、ステップ４０１において、initialDone＝０か否かを判定する。InitialDoneは１に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する（ステップ４０２）。ＩＣＭＰエコー応答メッセージから到達不能メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合（ＹＥＳの場合）であるので、パケット増減フラグDirectionを反転してDirection＝１とし、さらに、transition＝１とする（ステップ４０３）。次に、transition＝１かつｎ＞１か否かを判定する（ステップ４０４）。transition＝１に設定されており、かつｎ＝８即ちｎ＞１であるので、パケット長増減値ｎをｎ／２、即ち、ｎ＝８／２＝４（バイト）とする（ステップ４０５）。次に、再送処理回数nSamePkt＝０、パケットロス発生回数nFER＝０とし（ステップ４０６）、Direction＝１か否かを判定する（ステップ４０７）。ステップ４０３においてDirection＝１としているので、ＩＣＭＰエコーメッセージのＩＰパケット長をパケット長増減値ｎ（４バイト）だけ減らし（ステップ４０９）、ＩＰパケットリミットチェックを行い（ステップ４１０）、ＩＰパケットリミットを超えていなければ、再び、ＭＴＵ測定処理（ステップ２００）を行う。
【００３６】
上述のように、パケット長増減値ｎを変えてＭＴＵ測定処理を繰り返し、最終的にｎ＝１になった時点（ステップ３０２でＹＥＳの場合）で処理を終了する。このようにして、無線環境等によるパケットロスに影響されることなく、経路上の全ルータが分割を必要としない最大パケット長（即ちＭＴＵ）を求めることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係る通信装置の一例を示すブロック図である。
【図２】本発明に係る通信装置の動作を説明するフローチャートである。
【図３】本発明に係る通信装置の動作を説明するフローチャートである。
【図４】本発明に係る通信装置の動作を説明するフローチャートである。
【図５】本発明に係る通信装置の動作を説明するフローチャートである。
【符号の説明】
【００３８】
１０  通信装置
１１  送信部
１２  受信部
１３  制御部
１４  タイマ
【図１】
2009060238.tif 000003
【図２】
2009060238.tif 000004
【図３】
2009060238.tif 000005
【図４】
2009060238.tif 000006
【図５】
2009060238.tif 000007