(57)【要約】【課題】通信装置間での通信において、上り方向と下り方向とではＰＭＴＵが異なる場合があり、可能な限り下り方向のスループットの低下を防ぐ必要がある。【解決手段】通信装置は、指定したＩＰパケットサイズでＩＰパケットを送信するように相手通信装置に指示し、相手通信装置が送信したＩＰパケットを受信できるかどうかを判定することにより下りＰＭＴＵを調査する。【選択図】図１
2007174293.tif 000002
【特許請求の範囲】
【請求項１】
通信アプリケーションがＴＣＰ／ＩＰによる通信を相手通信装置との間で行なう通信装置あって、
前記通信装置は、ＰＭＴＵ調査パケットサイズ決定手段と、ＰＭＴＵ調査パケット要求生成手段と、ＰＭＴＵ調査パケット到達判定手段とを備え、
前記ＰＭＴＵ調査パケットサイズ決定手段は、ＰＭＴＵ調査パケットサイズを決定し、前記ＰＭＴＵ調査パケット要求生成手段に通知し、
前記ＰＭＴＵ調査パケット要求生成手段は、前記ＰＭＴＵ調査パケットサイズ決定手段から通知されたサイズのＰＭＴＵ調査パケットを、前記通信装置に向けて送信することを前記相手通信装置に要求し、
前記ＰＭＴＵ調査パケット到達判定手段は、前記相手通信装置が送信した前記ＰＭＴＵ調査パケットが前記通信装置に到達したかどうかを判定する、
ことを特徴とする通信装置。
【請求項２】
前記通信装置は、さらにＰＭＴＵ調査実施判定手段を備え、
前記ＰＭＴＵ調査実施判定手段は、請求項１に記載の各手段を用いて行なう下りＰＭＴＵ調査を実施するかどうかを第１の判定方法を用いて判定する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１の判定方法は、前記通信アプリケーションが使用するプロトコル、もしくは、サービスにより前記相手通信装置との前記下りＰＭＴＵ調査を実施するかどうかを判定する、
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第１の判定方法は、前記通信アプリケーションが使用する前記プロトコル、もしくは、前記サービスが、前記相手通信装置からデータを取得するために使用するものである場合に、前記下りＰＭＴＵ調査を実施するかどうかを判定する、
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記プロトコルは、ＦＴＰである、
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記プロトコルは、ＨＴＴＰである、
ことを特徴とする請求項４に記載の通信装置。
【請求項７】
前記第１の判定方法は、前記通信アプリケーションが使用する前記プロトコル、もしくは、前記サービスが、制御系プロトコル、もしくは、制御系サービスである場合に、前記下りＰＭＴＵ調査を実施しないことに決定する、
ことを特徴とする請求項３に記載の通信装置。
【請求項８】
前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータの種類により、前記下りＰＭＴＵ調査を実施するかどうかを判定する、
ことを特徴とする請求項２に記載の通信装置。
【請求項９】
前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータのサイズにより、前記下りＰＭＴＵ調査を実施するかどうかを判定する、
ことを特徴とする請求項２に記載の通信装置。
【請求項１０】
前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータのサイズを前記相手通信装置から予め取得し、前記下りＰＭＴＵ調査を実施するかどうかの判定に使用する、
ことを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記第１の判定方法は、前記相手通信装置からデータのサイズを取得するのに、ＨＴＴＰのＨＥＡＤメソッドを使用する、
ことを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記ＰＭＴＵ調査パケットサイズ決定手段は、前記下りＰＭＴＵ調査に使用するデータを選択し、前記選択したデータを前記ＰＭＴＵ調査パケット要求生成手段に通知する、
ことを特徴とする請求項２に記載の通信装置。
【請求項１３】
前記ＰＭＴＵ調査パケットサイズ決定手段は、前記下りＰＭＴＵ調査に使用するデータとして前記通信アプリケーションが指定したデータを選択する、
ことを特徴とする請求項１２に記載の通信装置。
【請求項１４】
前記ＰＭＴＵ調査パケット要求生成手段は、前記相手通信装置が送信するＰＭＴＵ調査パケットのサイズを指定するのに、ＭＳＳ値を用いる、
ことを特徴とする請求項２に記載の通信装置。
【請求項１５】
前記ＰＭＴＵ調査要求生成手段は、前記相手通信装置が送信するＰＭＴＵ調査パケットのサイズを指定するのに、ウィンドウサイズを用いる、
ことを特徴とする請求項２に記載の通信装置。
【請求項１６】
前記ＰＭＴＵ調査パケット到達判定手段は、一定期間経過しても、前記相手通信装置からのＰＭＴＵ調査パケットが到達しない場合、到達不可と判定する、
ことを特徴とする請求項２に記載の通信装置。
【請求項１７】
前記ＰＭＴＵ調査パケットサイズ決定手段は、前記ＰＭＴＵ調査パケット到達判定手段からの判定結果を受けて、ＰＭＴＵ調査パケットサイズを変更し、前記ＰＭＴＵ調査パケット要求生成手段に再度通知する、
ことを特徴とする請求項２に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ／ＩＰ通信を用いたネットワークに接続される通信装置の下りＰＭＴＵ調査に関するものである。
【背景技術】
【０００２】
近年、インターネットをはじめとするＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いたネットワークが広く普及してきた。これらのネットワークでは、ＩＰパケットという単位でデータの送受信を行っており、ＩＰパケット長は、送信元の通信装置が送信するデータ量等に合わせて決定する。一方、通信装置や中継通信装置の各装置間のリンクには１回に送信できる長さの最大値が最大転送単位（ＭＴＵ：Ｍａｘｉｍｕｍ  Ｔｒａｎｓｆｅｒ  Ｕｎｉｔ）として規定されている。このＭＴＵの値はリンクの種類ごとに規定されており、例えばＥｔｈｅｒｎｅｔ（登録商標）の場合は１５００バイトとなっている。送信元の通信装置（送信元通信装置）から送信されたＩＰパケットは、経路上のいくつかの中継通信装置を経由して宛先の通信装置（相手通信装置）で受信される。通常、送信元通信装置は直接接続されているリンクのＭＴＵに合わせて送信するＩＰパケット長の最大値を決定し、送信するデータ量がリンクのＭＴＵより大きい場合は複数のＩＰパケットに分割して送信する。また、中継通信装置は、転送されてきたＩＰパケットが、転送先のリンクのＭＴＵを越えたＩＰパケット長の場合、複数のＩＰパケットに分割（ＩＰフラグメント）して転送する。分割されたＩＰパケットは、相手通信装置で再構築されて受信される。
【０００３】
このように、ＩＰフラグメントによって、異なるＭＴＵで構成される複数のリンクを経由する通信経路による通信が可能となるが、一方で、下記の問題が発生する。
【０００４】
・中継通信装置におけるフラグメント処理、相手通信装置における復元処理など、各通信装置の処理負荷が増加する。
【０００５】
・フラグメントされることによりＩＰパケット数が必要以上に増加し、中継通信装置において転送する際の処理負荷が増加する。
【０００６】
・フラグメントの際に発生するＭＴＵより小さなサイズの各パケットにおいてもＩＰヘッダーが必要となるため、フラグメントされない場合と比較して通信帯域の利用効率が低下する。
【０００７】
このような問題の発生を避けるために、送信元通信装置が通信経路上の各リンクのＭＴＵの最小値（以降、これをＰＭＴＵ：Ｐａｔｈ  ＭＴＵと呼ぶ）を調査し、始めからＰＭＴＵのＩＰパケットサイズで送信することにより通信経路上でＩＰフラグメントを発生させない方法が従来技術として開示されている。そのひとつであるＲＦＣ１１９１（タイトル：Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ）（非特許文献１）について次に説明する。なお、ＲＦＣ１１９１はＩＰｖ４を対象としたものであるが、ＩＰｖ６を対象としたＲＦＣ１９８１（非特許文献２）も存在する。
【０００８】
ＲＦＣ１１９１ではＩＰヘッダーのＤｏｎ’ｔ  Ｆｒａｇｍｅｎｔ（ＤＦ）フラグ及び、ＩＣＭＰパケット（タイプ：Ｄｅｓｔｉｎａｔｉｏｎ  Ｕｎｒｅａｃｈａｂｌｅ（０ｘ０３）、コード：ｆｒａｇｍｅｎｔ  ｎｅｅｄｅｄ  ａｎｄ  ＤＦ  ｓｅｔ（０ｘ０４）のＩＣＭＰ宛先到達不能メッセージ：以下、ＦＮ  ＩＣＭＰパケットと記載する）を用いて送信元通信装置がＰＭＴＵを調査するための方法が記述されている。以下では図２を参照しながらこの方法について説明する。
【０００９】
図２は、ＲＦＣ１１９１による方法の実施シーケンスの一例を示した図である。図２において、２０１は送信元通信装置、２０２は送信元通信装置２０１と通信を行なう相手通信装置、２０３及び２０４は中継通信装置、２１１〜２１３はそれぞれの通信装置間のリンクである。なお、リンク２１１及びリンク２１３のＭＴＵは、それぞれ１５００であり、リンク２１２のＭＴＵは１０００である。
【００１０】
まず、送信元通信装置２０１は自身が直接送信するリンク２１１のＭＴＵである１５００バイトのＩＰパケットサイズで、ＤＦフラグを設定したパケット２２１を送信する。次に中継通信装置２０３はこのパケット２２１を受信し、中継通信装置２０４に転送しようとする。しかし、リンク２１２のＭＴＵは１０００であるため、ＩＰフラグメントを行なわないと転送することはできない。しかしながら、中継通信装置２０３では、ＤＦフラグが設定されているＩＰパケットに対してＩＰフラグメントは行なえないため、送信元通信装置２０１に対してＦＮ  ＩＣＭＰパケット２２２を送信する。また、ＦＮ  ＩＣＭＰパケット２２２には、リンク２１２のＭＴＵである１０００（即ち、ＩＰフラグメントせずに送信先のリンク２１２に送信可能なサイズ）が設定してある。送信元通信装置２０１がこのＦＮ  ＩＣＭＰパケット２２２を受信すると、これ移行に送信するＩＰパケットは、ＦＮ  ＩＣＭＰパケット２２２により通知されたＭＴＵ（＝１０００）に合わせたＩＰパケットサイズで送信する。このサイズのＩＰパケットは中継通信装置２０３から中継通信装置２０４へＩＰフラグメントなしで転送できるサイズであるため、相手通信装置２０２まで転送でき、通信経路上でＩＰフラグメントすることなく通信を行なうことが可能となる。
【００１１】
次に、ＩＣＭＰを使用した他のＰＭＴＵ調査方法（特許文献１）について説明する。
【００１２】
特許文献１によれば、送信元通信装置が、ＤＦフラグを設定したＩＣＭＰｅｃｈｏを、ＩＰパケットサイズを変えながら送信し、ＩＣＭＰｅｃｈｏに対応する相手通信装置からのＩＣＭＰｒｅｐｌｙを送信元通信装置で受信できるかを判定することによりＰＭＴＵを調査する。ここで、ＩＣＭＰｅｃｈｏ及びＩＣＭＰｒｅｐｌｙは、ネットワーク上の通信装置と通信が可能であるかどうかを確認するものであり、既定されているプロトコルであるため、一般的な通信装置の機能として実装されているものである。
【００１３】
また、ＩＣＭＰｅｃｈｏ及びＩＣＭＰｒｅｐｌｙのパケットサイズは自由に変えても一般的に動作可能であり、特許文献１は、この機能を用いてＰＭＴＵの調査を行なうものである。
【００１４】
しかしながら、最近では、ここまでに説明したＰＭＴＵの調査方法が適用できないネットワークが存在するという問題が、ＲＦＣ２９２３（タイトル：ＴＣＰ  Ｐｒｏｂｌｅｍ  ｗｉｔｈ  Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ）（非特許文献３）において指摘されている。ここで指摘されている問題はブラックホール問題と呼ばれる。次に、ブラックホール問題の概要について説明する。ブラックホール問題はＩＣＭＰパケットを送信もしくは転送しないルータ（ブラックホールルータと呼ばれる）が存在することにより発生する。例えばＲＦＣ１１９１の説明で用いた図２における中継通信装置２０３がブラックホールルータであった場合、中継通信装置２０３はＤＦフラグのついた１５００バイトのＩＰパケット２２１を中継通信装置２０４に転送しない上に、ＦＮ  ＩＣＭＰパケット２２２を送信元通信装置２０１宛てに送信することもしない。即ち、何もせずに単にＩＰパケット２２１を破棄する。このため、送信元通信装置２０１は変更すべきパケットサイズ（ＰＭＴＵに等しい）を知ることができず、以降も１５００バイトのパケットを送信する。このため、送信元通信装置２０１が送信したパケットが相手通信装置２０２に到達することができず、通信を行なうことができない。また、中継通信装置２０３がＦＮ  ＩＣＭＰパケットを送信したとしても、送信元通信装置２０１までの通信経路に別のブラックホールルータが存在した場合、ＦＮ  ＩＣＭＰパケットが送信元通信装置２０１まで到達できず、同様の問題が発生する。
【００１５】
このため、上記ブラックホール問題を発生させるブラックホールルータが通信経路上に存在する場合でも、送信元通信端末装置が通信経路のＰＭＴＵを知ることができ、フラグメントなしに相手通信装置との間で通信することを可能とする方法も考案されている。
【００１６】
その方法のひとつがＩＥＴＦにＩｎｔｅｒｎｅｔ  Ｄｒａｆｔとして提案されたことのあるＰＬＰＭＴＵＤ（Ｐａｃｋｅｔｉｚａｔｉｏｎ  Ｌａｙｅｒ  Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ）である。この方法について記述した文書（非特許文献４）はインターネット上で公開されている。
【００１７】
ＰＬＰＭＴＵＤは、ＰＬＰＭＴＵＤを搭載している送信元通信装置が相手通信装置にＴＣＰデータを送信する際に、送信するＴＣＰデータの分割サイズを調整（つまり、ＩＰパケットサイズを調整）し送信する。その後、相手通信装置は送信元通信装置からのＩＰパケット（ＴＣＰデータ）を受信すると、受信したことを示すために送信元通信装置に対してＴＣＰ  ＡＣＫパケットを送信する。送信元通信装置は、相手通信装置からのＴＣＰ  ＡＣＫパケットを受信することにより、送信したＩＰパケット（ＴＣＰデータ）が、相手通信装置に届いたことを検知し、ＰＭＴＵを調査する。上記処理を、送信するＩＰパケットサイズを変化させながら繰り返すことによりＰＭＴＵを調査することができる。
【００１８】
ところで、本発明はＴＣＰ通信のパケットサイズを変更することに関係するため、ＴＣＰ通信においてパケットサイズを調整する方法に関してここで説明しておく。
【００１９】
ＴＣＰ通信ではＩＰパケット長を調整する方法として主に二つがある。
【００２０】
一つ目は、ＴＣＰの標準機能であるＭＳＳ値（Ｍａｘｉｍｕｍ  Ｓｅｇｍｅｎｔ  Ｓｉｚｅ）を用いた方法である。図７は、ＴＣＰコネクションの確立における、ＭＳＳ値の決定方法の一例を示したシーケンス図である。図７において、９０１は送信元通信装置、９０２は相手通信装置、９０３は中継通信装置、９０４及び９０５はリンクである。このとき、リンク９０４のＭＴＵは１５００、リンク９０５のＭＴＵは１３００である。送信元通信装置９０１及び相手通信装置９０２は、それぞれＭＳＳ値を保持している。ＭＳＳ値は、各通信装置が接続されているリンクのＭＴＵから４０バイトを引いた値である。つまり、送信元通信装置９０１のリンク９０４に対応するＭＳＳ値は１４６０であり、相手通信装置９０２のリンク９０５に対応するＭＳＳ値は１２６０である。送信元通信装置９０１から相手通信装置９０２へＴＣＰコネクションの確立を行なう場合、送信元通信装置９０１は保持しているＭＳＳ値（＝１４６０）を設定したＳＹＮパケット９１１を相手通信装置９０２に宛てて送信する。ＳＹＮパケット９１１は、中継通信装置９０３を経由して相手通信装置９０２に到達する。相手通信装置９０２はＳＹＮパケット９１１を受け取ると、保持しているＭＳＳ値（＝１２６０）を設定したＳＹＮ  ＡＣＫパケット９１２を送信元通信装置９０１に宛てて送信する。ＳＹＮ  ＡＣＫパケット９１２は、中継通信装置９０３を経由して送信元通信装置９０１に到達する。送信元通信装置９０１はＳＹＮ  ＡＣＫパケット９１２を受け取ると、ＡＣＫパケット９１３を相手通信装置９０２に宛てて送信する。ＡＣＫパケット９１３は中継通信装置９０３を経由して相手通信装置９０２に到達する。相手通信装置９０２は、ＡＣＫパケット９１３を受け取ると、送信元通信装置９０１と相手通信装置９０２との間でＴＣＰコネクションが確立される。ＴＣＰコネクションが確立されると、送信元通信装置９０１と相手通信装置９０２は、ＴＣＰコネクションで使用するＭＳＳ値をそれぞれで決定する（９１４及び９１５）。具体的には、自通信装置が保持しているＭＳＳ値とＳＹＮパケットもしくはＳＹＮ  ＡＣＫパケットに設定されているＭＳＳ値のうち、より小さい方のＭＳＳ値に決定する。ＴＣＰコネクションで使用するＭＳＳ値が決定されると、それ以降、ＴＣＰコネクションでは、決定されたＭＳＳ値に基づいたＩＰパケットサイズでＩＰパケットが送受信される。
【００２１】
二つ目は、ＴＣＰの標準機能であるウィンドウサイズを用いた方法である。ＴＣＰ通信においては、自通信装置が受信可能なＴＣＰデータサイズをウィンドウサイズとして通信相手の通信装置に広告する。例えば、送信元通信装置から相手通信装置にＴＣＰデータを送信する処理において、相手通信装置が送信元通信装置に広告したウィンドウサイズが５００であったとすると、送信元通信装置は、ＴＣＰデータサイズが５００バイトになるようにＩＰパケットサイズを決定し、ＩＰパケット（ＴＣＰデータ）を送信する。
【非特許文献１】ＩＥＴＦ  ＲＦＣ１１９１：Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ  ＜ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１１９１．ｔｘｔ＞、検索日２００５年９月１３日
【非特許文献２】ＩＥＴＦ  ＲＦＣ１９８１：Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ  ｆｏｒ  ＩＰ  ｖｅｒｓｉｏｎ  ６  ＜ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１９８１．ｔｘｔ＞、検索日２００５年９月１３日
【非特許文献３】ＩＥＴＦ  ＲＦＣ２９２３：ＴＣＰ  Ｐｒｏｂｌｅｍ  ｗｉｔｈ  Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ  ＜ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２９２３．ｔｘｔ＞、検索日２００５年９月１３日
【非特許文献４】ｄｒａｆｔ−ｉｅｔｆ−ｐｍｔｕｄ−ｍｅｔｈｏｄ−０４：Ｐａｔｈ  ＭＴＵ  Ｄｉｓｃｏｖｅｒｙ  ＜ｈｔｔｐ：／／ｗｗｗ．ｗａｔｅｒｓｐｒｉｎｇｓ．ｏｒｇ／ｐｕｂ／ｉｄ／ｄｒａｆｔ―ｉｅｔｆ―ｐｍｔｕｄ―ｍｅｔｈｏｄ―０４．ｔｘｔ＞、検索日２００５年９月１３日
【特許文献１】特開２００３−１８２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
しかし、前記従来のＰＬＰＭＴＵＤは、調査可能な方向に関して制約があるという問題がある。以下、この問題の詳細に関して説明する。
【００２３】
ＴＣＰ／ＩＰ通信を用いたネットワークでは、送信元通信装置から相手通信装置への経路（上り経路）と、その逆方向の相手通信装置から送信元通信装置への経路（下り経路）が、同じであるとは限らない。従って、経路により決定されるＰＭＴＵは、上り経路のＰＭＴＵ（上りＰＭＴＵ）と、下り経路のＰＭＴＵ（下りＰＭＴＵ）とでは、必ずしも同じになるとは限らない。
【００２４】
図３は、上りＰＭＴＵと下りＰＭＴＵが異なる一例を示した図である。４０１及び４０２は通信装置、４０３〜４０６は中継通信装置、４１１〜４１６はリンクである。なお、リンク４１１〜４１５のＭＴＵは、１５００であり、リンク４１６のＭＴＵは１２００である。送信元通信装置４０１が送信元であり、相手通信装置４０２が通信相手である場合、上り経路は、送信元通信装置４０１−中継通信装置４０３−中継通信装置４０４−中継通信装置４０５−相手通信装置４０２であり。逆に下り経路は、相手通信装置４０２−中継通信装置４０５−中継通信装置４０６−中継通信装置４０３−送信元通信装置４０１であったとする。このとき、上りＰＭＴＵは１５００であり、下りＰＭＴＵは１２００である。
【００２５】
前記従来のＰＬＰＭＴＵＤでは、送信元通信装置がＰＬＰＭＴＵＤを搭載しているとすると、上りＰＭＴＵを調査することはできるが、下りＰＭＴＵを調査することはできない。これは、ＰＬＰＭＴＵＤによってＰＭＴＵを調査する場合に、送信元通信装置が送信するＩＰパケットサイズは調整できるが、相手通信装置が送信するＩＰパケットサイズを調整することができないためである。従って、ＰＬＰＭＴＵＤを使用して送信元通信装置と相手通信装置との間の正確なＰＭＴＵ（上りＰＭＴＵと下りＰＭＴＵの両方）を調査する場合には、送信元通信装置と相手通信装置の両方がＰＬＰＭＴＵＤを搭載する必要がある。しかしながら、相手通信装置となりうるすべての通信装置がＰＬＰＭＴＵＤを搭載することは不可能であるため、送信元通信装置だけで正確なＰＭＴＵを調査できる必要がある。
【００２６】
例えば、図３において、リンク４１１、４１２、４１４〜４１６のＭＴＵが１５００であり、リンク４１３のＭＴＵが１２００であった場合、前記従来のＰＬＰＭＴＵＤでは、ＰＭＴＵは１２００となる。従って、送信元通信装置４０１、４０２は、ＩＰパケット長を１２００に合わせてＩＰパケットを送信する。しかしながら、実際の下りＰＭＴＵは１５００であるため、下り経路では転送効率の良いＩＰパケットサイズでＩＰパケットが送信されない。この結果、余計な下りスループットの低下を発生させることになる。
【００２７】
本発明は、前記従来の課題を解決するもので、送信元通信装置のみが本発明を搭載することで適用可能な下りＰＭＴＵの調査方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記課題を解決するために、第１の発明は、通信アプリケーションがＴＣＰ／ＩＰによる通信を相手通信装置との間で行なう通信装置あって、前記通信装置は、ＰＭＴＵ調査パケットサイズ決定手段と、ＰＭＴＵ調査パケット要求生成手段と、ＰＭＴＵ調査パケット到達判定手段とを備え、前記ＰＭＴＵ調査パケットサイズ決定手段は、ＰＭＴＵ調査パケットサイズを決定し、前記ＰＭＴＵ調査パケット要求生成手段に通知し、前記ＰＭＴＵ調査パケット要求生成手段は、前記ＰＭＴＵ調査パケットサイズ決定手段から通知されたサイズのＰＭＴＵ調査パケットを、前記通信装置に向けて送信することを前記相手通信装置に要求し、前記ＰＭＴＵ調査パケット到達判定手段は、前記相手通信装置が送信した前記ＰＭＴＵ調査パケットが前記通信装置に到達したかどうかを判定する、ことを特徴としている。
【００２９】
上記第１の発明によれば、相手通信装置からサイズを変化させながらＩＰパケットを送信させることにより下りＰＭＴＵを調査することが可能である通信装置が実現できる。
【００３０】
第２の発明は、第１の発明において、さらにＰＭＴＵ調査実施判定手段を備え、前記ＰＭＴＵ調査実施判定手段は、第１の発明に記載の各手段を用いて行なう下りＰＭＴＵ調査を実施するかどうかを第１の判定方法を用いて判定するものである。
【００３１】
上記第２の発明によれば、下りＰＭＴＵの調査が必要な場合にのみ調査を実施でき、効率の良い通信を行なえる通信装置が実現できる。
【００３２】
第３の発明は、第２の発明において、前記第１の判定方法は、前記通信アプリケーションが使用するプロトコル、もしくは、サービスにより前記相手通信装置との前記下りＰＭＴＵ調査を実施するかどうかを判定する、ものである。
【００３３】
上記第３の発明によれば、下りＰＭＴＵを調査した結果がより有効に利用できるプロトコルやサービスを使用する場合にのみ、下りＰＭＴＵを調査することができ、より効率の良い通信を行なえる通信装置が実現できる。
【００３４】
第４の発明は、第３の発明において、前記第１の判定方法は、前記通信アプリケーションが使用する前記プロトコル、もしくは、前記サービスが、前記相手通信装置からデータを取得するために使用するものである場合に、前記下りＰＭＴＵ調査を実施するかどうかを判定する、ものである。
【００３５】
上記第４の発明によれば、下り方向にデータを転送するプロトコル、もしくは、サービスの場合にのみ、下りＰＭＴＵを調査することができ、下りＰＭＴＵが有効に利用できる場合にのみ、下りＰＭＴＵを調査することができる通信装置が実現できる。
【００３６】
第５の発明は、第４の発明において、前記プロトコルは、ＦＴＰである。
【００３７】
第６の発明は、第４の発明において、前記プロトコルは、ＨＴＴＰである。
【００３８】
第７の発明は、第３の発明において、前記第１の判定方法は、前記通信アプリケーションが使用する前記プロトコル、もしくは、前記サービスが、制御系プロトコル、もしくは、制御系サービスである場合に、前記下りＰＭＴＵ調査を実施しないことに決定する、ものである。
【００３９】
上記第７の発明によれば、制御系プロトコル、もしくは、制御系サービスを使用する場合は、下りＰＭＴＵの調査を行なわない。これは、制御系プロトコル、もしくは、制御系サービスが比較的小さなＩＰパケットで通信されるため、下りＰＭＴＵを調査したとしても、下りＰＭＴＵを有効に利用した通信ができない場合があるためである。
【００４０】
第８の発明は、第２の発明において、前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータの種類により、前記下りＰＭＴＵ調査を実施するかどうかを判定する、ものである。
【００４１】
上記第８の発明によれば、相手通信装置から取得するデータが大きい場合に、下りＰＭＴＵの調査を行なうことができる。例えば、画像データや動画データなどは、比較的大きなデータとして知られている。この場合、下りＰＭＴＵを調査し、下りＰＭＴＵを有効に利用した通信が可能な通信装置が実現できる。
【００４２】
第９の発明は、第２の発明において、前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータのサイズにより、前記下りＰＭＴＵ調査を実施するかどうかを判定する、ものである。
【００４３】
上記第９の発明によれば、相手通信装置から取得するデータのサイズが規定値以上のデータサイズであった場合に、下りＰＭＴＵを調査でき、より下りＰＭＴＵを有効に利用した通信が可能な通信装置が実現できる。
【００４４】
第１０の発明は、第９の発明において、前記第１の判定方法は、前記通信アプリケーションが前記相手通信装置から取得するデータのサイズを前記相手通信装置から予め取得し、前記下りＰＭＴＵ調査を実施するかどうかの判定に使用する、ものである。
【００４５】
上記第１０の発明によれば、相手通信装置から取得するデータのサイズを相手通信装置から予め取得し、規定値以上のデータサイズであった場合に、下りＰＭＴＵを調査でき、より下りＰＭＴＵを有効に利用した通信が可能な通信装置が実現できる。
【００４６】
第１１の発明は、第１０の発明において、前記第１の判定方法は、前記相手通信装置からデータのサイズを取得するのに、ＨＴＴＰのＨＥＡＤメソッドを使用する、ものである。
【００４７】
第１２の発明は、第２の発明において、前記ＰＭＴＵ調査パケットサイズ決定手段は、前記下りＰＭＴＵ調査に使用するデータを選択し、前記選択したデータを前記ＰＭＴＵ調査パケット要求生成手段に通知する、ものである。
【００４８】
上記第１２の発明によれば、下りＰＭＴＵの調査に使用するデータを、より調査に適したデータを用いることができ、よりよい下りＰＭＴＵ調査を実施可能な通信装置が実現できる。
【００４９】
第１３の発明は、第１２の発明において、前記ＰＭＴＵ調査パケットサイズ決定手段は、前記下りＰＭＴＵ調査に使用するデータとして前記通信アプリケーションが指定したデータを選択する、ものである。
【００５０】
上記第１３の発明によれば、通信アプリケーションが指定したデータは相手通信装置が保持している可能性が高いため、そのデータを下りＰＭＴＵ調査に使用することにより、より確実な下りＰＭＴＵ調査が実施可能な通信装置が実現できる。
【００５１】
第１４の発明は、第２の発明において、前記ＰＭＴＵ調査パケット要求生成手段は、前記相手通信装置が送信するＰＭＴＵ調査パケットのサイズを指定するのに、ＭＳＳ値を用いる、ものである。
【００５２】
上記第１４の発明によれば、ＴＣＰの標準機能であるＭＳＳ値を用いることにより相手通信装置が送信するＰＭＴＵ調査パケットのサイズを変更可能な通信装置が実現できる。
【００５３】
第１５の発明は、第２の発明において、前記ＰＭＴＵ調査要求生成手段は、前記相手通信装置が送信するＰＭＴＵ調査パケットのサイズを指定するのに、ウィンドウサイズを用いる、ものである。
【００５４】
上記第１５の発明によれば、ＴＣＰの標準機能であるウィンドウサイズを用いることにより相手通信装置が送信するＰＭＴＵ調査パケットのサイズを変更可能な通信装置が実現できる。
【００５５】
第１６の発明は、第２の発明において、前記ＰＭＴＵ調査パケット到達判定手段は、一定期間経過しても、前記相手通信装置からのＰＭＴＵ調査パケットが到達しない場合、到達不可と判定する、ものである。
【００５６】
上記第１６の発明によれば、相手通信装置からＰＭＴＵ調査パケットが到達しない場合でも、下りＰＭＴＵ調査を継続できる通信装置が実現できる。
【００５７】
第１７の発明は、第２の発明において、前記ＰＭＴＵ調査パケットサイズ決定手段は、前記ＰＭＴＵ調査パケット到達判定手段からの判定結果を受けて、ＰＭＴＵ調査パケットサイズを変更し、前記ＰＭＴＵ調査パケット要求生成手段に再度通知する、ものである。
【００５８】
上記第１７の発明によれば、複数のＰＭＴＵ調査パケットサイズを用いて下りＰＭＴＵを調査することができ、より最適な下りＰＭＴＵを調査可能な通信装置が実現できる。
【発明の効果】
【００５９】
本発明は、前記従来の課題を解決するもので、送信元通信装置に搭載するだけで下りＰＭＴＵを調査でき、送信元通信装置と相手通信装置は、正確な下りＰＭＴＵを用いた通信を行なうことにより効率の良いパケットサイズで送受信できるため、ネットワークトラフィックの増加やスループットの低下を防ぐことが可能となる。なお、モバイルＩＰにおいては、上り経路と下り経路が異なる場合が発生しやすいため、本発明が特に有効である。
【発明を実施するための最良の形態】
【００６０】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００６１】
（実施の形態１）
以下、本発明の実施の形態１における下りＰＭＴＵ調査について、図面を参照しながら説明する。図３において、送信元通信装置４０１は、本発明が係わる通信装置である。なお、相手通信装置４０２は、本発明の通信装置である必要はなく、従来の通信装置でもよい。また、リンク４１１〜４１５のＭＴＵは１５００であり、リンク４１６のＭＴＵは１２００である。
【００６２】
図１は、本発明が係わる送信元通信装置４０１の機能構成を示すブロック図である。図１において、送信元通信装置４０１は、ＰＭＴＵ調査実施判定手段を実行するＰＭＴＵ調査実施判定部５０１と、ＰＭＴＵ調査パケットサイズ決定手段を実行するＰＭＴＵ調査パケットサイズ決定部５０２と、ＰＭＴＵ調査パケット要求生成手段を実行するＰＭＴＵ調査パケット要求生成部５０３と、通信処理部５０４と、ＰＭＴＵ調査パケット到達判定手段を実行するＰＭＴＵ調査パケット到達判定部５０５と、通信データサイズ変更部５０６と、通信アプリケーション５０７と、を備えている。
【００６３】
図６は、通信元となる送信元通信装置４０１と通信相手となる相手通信装置４０２との間の下りＰＭＴＵ調査を行なう場合に処理される図１に示した各部の一連の動作を時系列に表した一例を示した図である。ここで、送信元通信装置４０１はＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）クライアントの機能を、相手通信装置４０２はＨＴＴＰサーバの機能をそれぞれ装備しており、送信元通信装置４０１は、ＨＴＴＰを用いて相手通信装置４０２からデータを取得する。以降、図６を用いて、送信元通信装置４０１が相手通信装置４０２とのＨＴＴＰ通信を開始する場合の、下りＰＭＴＵ調査処理の概略を説明する。なお、ここではＨＴＴＰを用いるとしているが、送信元通信装置が相手通信装置からデータを取得する要求を送信できるようなプロトコルであれば、ＨＴＴＰに限る必要はなく、ＦＴＰやその他任意のプロトコルでも構わない。
【００６４】
〔下りＰＭＴＵ調査処理の概略〕
通信アプリケーション５０７は、通信相手である相手通信装置４０２と、相手通信装置４０２から取得するデータＡを指定した通信開始要求８０２（ＨＴＴＰの通信開始）を、ＰＭＴＵ調査実施判定部５０１に通知する。ＰＭＴＵ調査実施判定部５０１は、通信アプリケーション５０７からの通信開始要求８０２で指定されているパラメータから下りＰＭＴＵを調査するかどうかの調査実施の判定８０３を行なう（詳細は後述）。調査実施の判定８０３の結果、調査を行なう場合、ＰＭＴＵ調査パケットサイズ決定部５０２にＰＭＴＵ調査実施要求８０４を通知する。次に、調査処理８０１を行なう。調査処理８０１の詳細については後述する。調査処理８０１が完了すると、その結果により、その調査処理において使用された調査パケットサイズａがＰＭＴＵ以下か否かが判断できる。ＰＭＴＵ調査パケットサイズ決定部５０２は、すでに調査済みの調査パケットサイズとは違うサイズで調査を繰り返すかどうかを判定する（８１１）。調査を繰り返す場合、調査処理８０１を最初から繰り返す。調査を繰り返すか否かの判定方法は、例えば、（１）下りＰＭＴＵ以下と判断される値と下りＰＭＴＵより大きいと判断される値の境界が判明するまで行なう方法、（２）（１）の条件に加え、予め決定された調査回数を最大とする方法、などが上げられる。ただし、本発明においてこの判定方法は上記方法に限る必要はなく、どのような方法を用いてもかまわない。
【００６５】
一方、８１１において調査を繰り返さないと判定した場合、それまで実施された１回、あるいは複数回の調査処理８０１で得られた結果から下りＰＭＴＵを決定する。この下りＰＭＴＵの決定方法としては、例えば、得られたＰＭＴＵ以下と判断された複数の調査パケットサイズのうち、一番大きな値を下りＰＭＴＵとして決定することが有効である。その後、決定した下りＰＭＴＵを指定して、通信データサイズ変更部５０６にデータサイズ変更を指示する（８１２）。通信データサイズ変更部５０６は、ＰＭＴＵ調査パケットサイズ決定部５０２からのデータサイズ変更の指示で指定された下りＰＭＴＵを基にしてＭＳＳ値を求め、ＭＳＳ変更要求８１３を通信処理部５０４に通知する。通信装置４０１は、これ以降の相手通信装置４０２とのＴＣＰ通信では、ＰＭＴＵ調査パケットサイズ決定部５０２からのＭＳＳ変更要求で指定されたＭＳＳ値を用いて通信を行なう。その後、ＰＭＴＵ調査パケットサイズ決定部５０２は、ＰＭＴＵ調査完了通知８１４をＰＭＴＵ調査実施判定部５０１に通知する。ＰＭＴＵ調査実施判定部５０１は、ＰＭＴＵ調査完了通知８１４を受信すると、通信処理部５０４を用いて、通信アプリケーション５０７の通信開始要求８０２に応じた、相手通信装置４０２との間のＨＴＴＰ通信８１５を開始する。なお、通信開始要求８０２で指定された取得するデータＡを調査処理８０１において、すでに相手通信装置４０２から取得してある場合、改めてデータＡを取得する処理を行なわなくても良い。
【００６６】
なお、上記では、調査処理８０１を一回ごと行なっているが、調査処理８０１を並列して複数回行なってもよい。
【００６７】
〔調査処理８０１〕
次に、調査処理８０１について図面を参照しながら説明する。
【００６８】
図８は、調査処理８０１を時系列に表した一例を示した図である。
【００６９】
ＰＭＴＵ調査パケットサイズ決定部５０２は、調査処理８０１で使用する調査パケットサイズａを選択（８０５）し、ＰＭＴＵ調査パケット要求生成部５０３にＰＭＴＵ調査要求８０６を通知する。調査パケットサイズａの選択方法については後述する。ＰＭＴＵ調査パケット要求生成部５０３は、調査処理８０１で使用する調査用ＨＴＴＰリクエスト８０８を生成（８０７）し、通信処理部５０４に調査用ＨＴＴＰリクエスト８０８を通知する。通信処理部５０４は、ＰＭＴＵ調査パケット要求生成部５０３から通知された調査用ＨＴＴＰリクエスト８０８に基づいて、相手通信装置４０２との調査用ＨＴＴＰ通信を行なう。この動作について次に説明する。
【００７０】
通信処理部５０４は、調査用ＨＴＴＰ通信に使用する相手通信装置４０２との間のＴＣＰコネクションを確立するために、ＴＣＰ  ＳＹＮパケット８２０を相手通信装置４０２に宛てて送信する。このとき、ＴＣＰ  ＳＹＮパケット８２０のＭＳＳ値に、調査パケットサイズａから求めたＭＳＳ値を設定する。相手通信装置４０２は、ＴＣＰ  ＳＹＮパケット８２０を受信すると、相手通信装置４０２が保持しているＭＳＳ値を設定したＴＣＰ  ＳＹＮ  ＡＣＫパケット８２１を送信元通信装置４０１に送信する。送信元通信装置４０１は、ＴＣＰ  ＳＹＮ  ＡＣＫパケット８２１を受信すると、ＴＣＰ  ＡＣＫパケット８２２を相手通信装置４０２に宛てて送信する。相手通信装置４０２がＴＣＰ  ＡＣＫパケット８２２を受信すると、送信元通信装置４０１と相手通信装置４０２との間の調査用ＨＴＴＰ通信で使用するＴＣＰコネクションが確立されたことになり、ＴＣＰ  ＳＹＮパケット８２０とＴＣＰ  ＳＹＮ  ＡＣＫパケット８２１にそれぞれ設定されているＭＳＳ値のうち小さな方を基にして、このＴＣＰコネクションで使用するＩＰパケットサイズが決定される。次に、送信元通信装置４０１は、ＨＴＴＰリクエスト８２３を相手通信装置４０２に宛てて送信する。ＨＴＴＰリクエスト８２３には、送信元通信装置４０１が要求するデータ名（ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ）が設定されている。相手通信装置４０２がＨＴＴＰリクエスト８２３を受信すると、ＨＴＴＰリクエスト８２３で要求されているデータをＨＴＴＰレスポンス８２４として送信元通信装置４０１に宛てて送信する。相手通信装置４０２がＨＴＴＰレスポンス８２４の送信を完了すると、調査用ＨＴＴＰ通信で使用するＴＣＰコネクションを切断するために、相手通信装置４０２がＴＣＰ  ＦＩＮパケット８２５を送信元通信装置４０１に宛てて送信する。送信元通信装置４０１がＴＣＰ  ＦＩＮパケット８２５を受信すると、その応答としてＴＣＰ  ＦＩＮ  ＡＣＫパケット８２６を送信する。なお、ＴＣＰコネクションの切断方法は別の方法でもよく、本発明の範囲外で実現される。通信処理部５０４は、調査用ＨＴＴＰ通信が完了すると、ＨＴＴＰレスポンス８２４を受信していた場合は、ＰＭＴＵ調査パケット到達判定部５０５に正常受信を設定した調査用ＨＴＴＰリクエスト結果８０９を通知する。一方、通信処理部５０４がＨＴＴＰレスポンス８２４を所定時間内に受信できなかった場合、通信処理部５０４は、調査用ＨＴＴＰ通信で使用するＴＣＰコネクションを切断し、ＰＭＴＵ調査パケット到達判定部５０５にエラーを設定した調査用ＨＴＴＰリクエスト結果８０９を通知する。
【００７１】
次に、ＰＭＴＵ調査パケット到達判定部５０５は、通信処理部５０４から通知された調査用ＨＴＴＰリクエスト結果８０９に基づいて、相手通信装置４０２との間で、今回の調査パケットサイズａを用いてＨＴＴＰ通信が行なえたかどうかを判定し、ＰＭＴＵ調査パケットサイズ決定部５０２に到達判定結果８１０を通知する。
【００７２】
〔各部の詳細な動作の説明〕
次に、送信元通信装置４０１の各機能部について、それぞれの役割と動作の詳細を説明する。
【００７３】
＜通信アプリケーション５０７＞
通信アプリケーション５０７は、相手通信装置４０２との通信が必要になった場合、通信相手となる相手通信装置４０２を指定して通信の開始要求をＰＭＴＵ調査実施判定部５０１に通知する。例えば、通信アプリケーション５０７がＨＴＴＰクライアントの機能を持っており、ＨＴＴＰサーバとの通信が必要になった場合には、そのＨＴＴＰサーバを指定して、ＰＭＴＵ調査実施判定部５０１に通信の開始要求を通知する。なお、通信アプリケーション５０７が備える機能は、ＦＴＰクライアントの機能などのように、通信アプリケーション５０７が通信を開始するものであればよい。
【００７４】
＜ＰＭＴＵ調査実施判定部５０１＞
ＰＭＴＵ調査実施判定部５０１は、通信アプリケーション５０７からの通信の開始要求の通知を受け取ると、下りＰＭＴＵ調査を実施するかどうかを判定する。図４は、ＰＭＴＵ調査実施判定部５０１が行なう判定処理の一例を示すフローチャート図である。以下、図４の各ステップに関して説明する。
【００７５】
Ｓ６０１：通信アプリケーション５０７が使用するサービスやプロトコルで下りＰＭＴＵ調査の実施の有無を判定する。実施する場合は、ステップＳ６０６に移行する。逆に実施しない場合は、ステップＳ６０２に移行する。例えば、通信アプリケーション５０７がストリーミングサービスを使用している場合は、下りＰＭＴＵ調査を実施する。また、比較的短い制御情報を扱うサービスやプロトコルの場合は、下りＰＭＴＵ調査は実施しない。
【００７６】
Ｓ６０２：通信アプリケーション５０７が相手通信装置４０２に要求するデータの種類により下りＰＭＴＵ調査の実施の有無を判定する。実施する場合は、ステップＳ６０６に移行する。逆に実施しない場合は、ステップＳ６０３に移行する。例えば、通信アプリケーション５０７が要求するデータが動画データである場合、そのデータ名（ファイル拡張子名）から、動画データ（例えば、ファイル拡張子名が”．ｍｏｖ”など）であることが推測できる。動画データなどのようにデータサイズが比較的大きいと判定される場合は、下りＰＭＴＵ調査を行なう。先の判定が困難な場合は、ステップＳ６０３に移行する。
【００７７】
Ｓ６０３：通信アプリケーション５０７が相手通信装置４０２に要求するデータのサイズを相手通信装置４０２と通信を行なうことにより取得する。例えば、通信アプリケーション５０７が使用するプロトコルがＨＴＴＰの場合、ＨＴＴＰ  ＨＥＡＤメソッドを使用することにより、相手通信装置４０２からデータのサイズを取得する。なお、ＦＴＰの場合は、ＬＩＳＴコマンドを使用することにより、相手通信装置４０２からデータのサイズを取得する。
【００７８】
Ｓ６０４：Ｓ６０３で入手したデータのサイズを用いて下りＰＭＴＵ調査の実施の有無を判定する。この閾値は、例えば、データサイズが１ＭＢｙｔｅｓを越える場合など、予め決定された所定の値とする方法が考えられる。実施する場合は、ステップＳ６０６に移行する。逆に実施しない場合は、ステップＳ６０５に移行する。
【００７９】
Ｓ６０５：下りＰＭＴＵ調査を実施しないことに決定し、通信処理部５０４を使用して相手通信装置４０２との下りＰＭＴＵを考慮しない通信を行なう。
【００８０】
Ｓ６０６：下りＰＭＴＵ調査を実施することに決定し、ＰＭＴＵ調査パケットサイズ決定部５０２にＰＭＴＵ調査実施要求を通知する。
【００８１】
＜ＰＭＴＵ調査パケットサイズ決定部５０２＞
ＰＭＴＵ調査パケットサイズ決定部５０２は、調査に使用する調査パケットサイズａを決定し、ＰＭＴＵ調査パケット要求生成部５０３にＰＭＴＵ調査を要求する。なお、調査パケットサイズａを決める方法としては、送信元通信装置４０１が保持しているＭＴＵを使用したり、予め設定された初期値を用いることなどが考えられる。その後、ＰＭＴＵ調査パケット到達判定部５０５からの到達判定結果の通知を受ける。これら一連の処理を繰り返すことにより、相手通信装置４０２との下りＰＭＴＵを決定する。図５は、ＰＭＴＵ調査パケットサイズ決定部５０２が行なう処理の一例を示すフローチャート図である。
【００８２】
Ｓ７０１：ＰＭＴＵ調査に使用する最初の調査パケットサイズａを決める。
【００８３】
Ｓ７０２：ＰＭＴＵ調査パケット要求生成部５０３に調査パケットサイズａを指定してＰＭＴＵ調査要求を通知する。
【００８４】
Ｓ７０３：ＰＭＴＵ調査パケット到達判定部５０５から相手通信装置４０２からの判定結果の通知を待ち、その後、正常受信を示す通知を受信した場合は、ステップＳ７０４に移行し、異常受信を示す通知を受信した場合は、ステップＳ７０６に移行する。
【００８５】
Ｓ７０４：調査を繰り返すかどうかを判定する。調査パケットサイズを変更して調査を繰り返す場合は、ステップＳ７０７に移行し、調査を繰り返さない場合は、ステップＳ７０５に移行する。なお、判定基準としては、規定回数の調査を行なった場合は調査を終了したり、１００バイト単位の最適な下りＰＭＴＵを調査できた場合に終了する、などが考えられる。
【００８６】
Ｓ７０５：調査パケットサイズａを相手通信装置４０２との通信に使用する下りＰＭＴＵとして採用し、通信データサイズ変更部５０６に調査パケットサイズａを通知する。
【００８７】
Ｓ７０６：調査パケットサイズａよりも小さい値を調査パケットサイズａに設定する。
【００８８】
Ｓ７０７：調査パケットサイズａよりも大きい値と調査パケットサイズａに設定する。
【００８９】
＜ＰＭＴＵ調査パケット要求生成部５０３＞
ＰＭＴＵ調査パケット要求生成部５０３は、相手通信装置４０２に相手通信装置４０２から送信元通信装置４０１へのＩＰパケットを送信させるためのＰＭＴＵ調査パケット要求を生成する。さらに、ＰＭＴＵ調査パケットサイズ決定部からのＰＭＴＵ調査要求で指定された調査パケットサイズａを指定して、ＰＭＴＵ調査パケット要求を通信処理部５０４に通知する。例えば、ＨＴＴＰの場合、データを送信するように要求を設定したＨＴＴＰリクエストを通信処理部５０４に通知する。なお、要求するデータには、通信アプリケーション５０７が通知した通信開始要求に設定されているデータや、調査専用に用意されているデータを用いてもよく、相手通信装置４０２が送信することができるデータであればよい。
【００９０】
＜通信処理部５０４＞
通信処理部５０４は、ＰＭＴＵ調査パケット要求生成部５０３からの要求に応じて、相手通信装置４０２との間の、ＴＣＰコネクションの確立やデータの送受信を行なう。ＴＣＰコネクションを確立する際には、ＰＭＴＵ調査パケット要求生成部５０３からの要求で指定された調査パケットサイズからＭＳＳ値を求め、求めたＭＳＳ値を設定したＳＹＮパケットを送信することにより、相手通信装置４０２が送信するＩＰパケットのサイズを変更させる。なお、調査パケットサイズは、ＭＴＵと同じサイズを意味するため、ＭＳＳは、調査パケットサイズから４０バイトを引いた値となる。
【００９１】
また、通信処理部５０４は、ＰＭＴＵ調査実施判定部５０１からの要求に応じて、相手通信装置４０２との間のＴＣＰコネクションの確立やデータの送受信を行なう。この場合のＭＳＳ値は、送信元通信装置４０１が保持するＭＳＳ値を用いる。
【００９２】
相手通信装置４０２からＩＰパケットを受信した場合、必要に応じて、ＰＭＴＵ調査実施判定部５０１、もしくは、ＰＭＴＵ調査パケット到達判定部５０５にデータ受信を通知する。なお、一定期間内にＩＰパケットを受信できない場合は、エラーを設定したデータ受信を通知してもよい。
【００９３】
また、通信処理部５０４は、通信データサイズ変更部５０６からのＭＳＳ変更要求の通知を受信すると、通知に指定してあるＭＳＳ値を相手通信装置ごとに保持しておき、これ移行、ＴＣＰコネクションを確立する場合は、相手通信装置ごとに保持してあるＭＳＳ値を用いる。例えば、送信元通信装置４０１が相手通信装置４０２のＭＳＳ値として１１６０を保持してあり、相手通信装置４０２とＴＣＰコネクションを確立する場合、ＭＳＳ値に１１６０を設定したＳＹＮパケットを相手通信装置４０２に送信する。
【００９４】
＜ＰＭＴＵ調査パケット到達判定部５０５＞
ＰＭＴＵ調査パケット到達判定部５０５は、通信処理部５０４からのデータ受信の通知により、相手通信装置４０２からＩＰパケットを正しく受信したかどうかを判定する。例えば、データ受信の通知で、エラーが設定されていなかった場合は、正しく受信できたと判定する。判定した結果、正しく受信できたと判定した場合は、正常受信の到達判定結果をＰＭＴＵ調査パケットサイズ決定部５０２に通知する。逆に、正しく受信できなかったと判定した場合は、異常受信の到達判定結果をＰＭＴＵ調査パケットサイズ決定部５０２に通知する。
【００９５】
＜通信データサイズ変更部５０６＞
通信データサイズ変更部５０６は、ＰＭＴＵ調査パケットサイズ決定部からのデータ受信の通知を受信すると、通知で指定されている調査パケットサイズを、相手通信装置４０２との通信で使用する下りＰＭＴＵとして決定し、決定した下りＰＭＴＵからＭＳＳ値を求める。その後、求めたＭＳＳ値を設定したＭＳＳ変更要求を通信処理部５０４に通知する。
【００９６】
以上の処理により、ＰＭＴＵや上りＰＭＴＵではなく、下りＰＭＴＵを調査することができる。正確な下り方向のみのＰＭＴＵを調査することにより、下り方向のブラックホール問題を解決でき、さらに、下り方向のスループットの低下を防ぐことができるという効果が得られる。
【００９７】
（実施の形態２）
以下、本発明の実施の形態２における下りＰＭＴＵ調査について説明する。
【００９８】
実施の形態１では、相手通信装置が送信するＩＰパケットのサイズを指定するのにＴＣＰのＭＳＳ値を用いたが、本実施の形態では、ＴＣＰのウィンドウサイズを用いる。
【００９９】
実施の形態２においては、通信処理部５０４における処理以外は実施の形態１と同様であるため、ここでは説明を省略する。
【０１００】
〔通信処理部５０４〕
通信処理部５０４の処理のうち、調査処理（図６の８０１）にかかわる処理以外は実施の形態１と同様であるため、ここでは省略する。
【０１０１】
本実施の形態における調査処理に（図６の８０１）にかかわる通信処理部５０４の処理についてのみ以下で説明する。
【０１０２】
通信処理部５０４は、ＰＭＴＵ調査パケット要求生成部５０３からの要求に応じて、相手通信装置４０２との間の、ＴＣＰコネクションの確立やデータの送受信を行なう。ＴＣＰコネクションを確立する際には、ＰＭＴＵ調査パケット要求生成部５０３からの要求で指定された調査パケットサイズからウィンドウサイズを求め、求めたウィンドウサイズをＴＣＰパケットのウィンドウサイズフィールドに設定して広告することで、相手通信装置４０２が送信するＩＰパケットのサイズを変更させる。なお、調査パケットサイズは、ＭＴＵと同じサイズを意味するため、ウィンドウサイズは、調査パケットサイズからＩＰヘッダーサイズとＴＣＰヘッダーサイズを引いた値となる。
【０１０３】
なお、ここでは実施の形態１と同様に一つのＴＣＰコネクションに対して１回のウィンドウサイズ変更処理を行うものとしているが、一つのＴＣＰコネクションに対して、複数回ウィンドウサイズ変更処理を行っても構わない。
【０１０４】
以上の処理により、ＴＣＰのウィンドウサイズを用いて相手通信装置が送信するＩＰパケットサイズを変更することにより、ＰＭＴＵや上りＰＭＴＵではなく、下りＰＭＴＵを調査することができる。
【産業上の利用可能性】
【０１０５】
本発明の下りＰＭＴＵ調査を行なう通信装置は、相手通信装置との間の下りＰＭＴＵを調査でき、調査の結果得られた下りＰＭＴＵを用いることにより、下り方向のブラックホール問題の回避や、下り方向のスループットの低下を防ぐという効果を有し、相手通信装置が本発明を搭載していなくても下りＰＭＴＵ調査ができる通信装置として有用である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の一実施の形態に係る通信装置の機能構成例を示すブロック図
【図２】従来技術におけるＰＭＴＵ調査方法の一例を示したシーケンス図
【図３】本発明の一実施の形態に係るネットワーク構成例を示すブロック図
【図４】本発明の一実施の形態に係るＰＭＴＵ調査実施判定部が行なう処理の一例を示すフローチャート
【図５】本発明の一実施の形態に係るＰＭＴＵ調査パケットサイズ決定部が行なう処理の一例を示すフローチャート
【図６】本発明の一実施の形態に係る下りＰＭＴＵ調査の一連の動作を時系列に表した一例を示す図
【図７】従来技術のＴＣＰコネクションの確立におけるＭＳＳ値の決定方法の一例を示したシーケンス図
【図８】調査処理８０１を時系列に表した一例を示した図
【符号の説明】
【０１０７】
５０１    本発明の一実施の形態に係わるＰＭＴＵ調査実施判定部
５０２    本発明の一実施の形態に係わるＰＭＴＵ調査パケットサイズ決定部
５０３    本発明の一実施の形態に係わるＰＭＴＵ調査パケット要求生成部
５０４    本発明の一実施の形態に係わる通信処理部
５０５    本発明の一実施の形態に係わるＰＭＴＵ調査パケット到達判定部
５０６    本発明の一実施の形態に係わる通信データサイズ変更部
５０７    本発明の一実施の形態に係わる通信アプリケーション
２０１，４０１    送信元通信装置
２０２，４０２    相手通信装置
２０３，２０４，４０３，４０４    中継通信装置
２１１〜２１３，４１１〜４１６    リンク
９０１，９０２    通信装置
９０３    中継通信装置
【図１】
2007174293.tif 000003
【図２】
2007174293.tif 000004
【図３】
2007174293.tif 000005
【図４】
2007174293.tif 000006
【図５】
2007174293.tif 000007
【図６】
2007174293.tif 000008
【図７】
2007174293.tif 000009
【図８】
2007174293.tif 000010