JP2009060238A - 送信方法、通信システムおよび通信装置 - Google Patents
送信方法、通信システムおよび通信装置 Download PDFInfo
- Publication number
- JP2009060238A JP2009060238A JP2007224156A JP2007224156A JP2009060238A JP 2009060238 A JP2009060238 A JP 2009060238A JP 2007224156 A JP2007224156 A JP 2007224156A JP 2007224156 A JP2007224156 A JP 2007224156A JP 2009060238 A JP2009060238 A JP 2009060238A
- Authority
- JP
- Japan
- Prior art keywords
- message
- transmitted
- data
- icmp
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】無線IPネットワークにおいて、無線環境等によるパケットロスに影響されることなく正確なMTU測定を行うことができる通信装置を提供する。
【解決手段】第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、第1の装置が、第2の装置へ所定の制御用メッセージ(ICMPエコーメッセージおよびLCPエコーメッセージ)を無線ネットワークを介して送信し、第2の装置から、所定の制御用メッセージに対応するメッセージ(ICMPエコー応答メッセージ、ICMP到達不能メッセージ、またはLCPエコー応答メッセージ)を受信すると、第2の装置からのメッセージの種類または組み合わせに応じて、第2の装置へ送信するパケット長を制御する。
【選択図】図3
【解決手段】第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、第1の装置が、第2の装置へ所定の制御用メッセージ(ICMPエコーメッセージおよびLCPエコーメッセージ)を無線ネットワークを介して送信し、第2の装置から、所定の制御用メッセージに対応するメッセージ(ICMPエコー応答メッセージ、ICMP到達不能メッセージ、またはLCPエコー応答メッセージ)を受信すると、第2の装置からのメッセージの種類または組み合わせに応じて、第2の装置へ送信するパケット長を制御する。
【選択図】図3
Description
本発明は、無線IPネットワークにおいて正確なMTU測定を行うことができる送信方法、通信システムおよび通信装置に関する。
IPネットワークにおいて、ネットワーク性能を最大限に発揮させるためにはMTU(Maximum Transfer Unit:最大転送単位)の最適化が必要である。一般にMTUは到達可能なパケット長(データ長)を実測することにより求める。最も一般的なMTUの測定方法として、RFC1191で標準化されている経路MTU探索(Path MTU Discovery)がある(非特許文献1参照)。
経路MTU探索は、次のようにして行われる。IP(Internet Protocol)パケット送信時に、IPヘッダ中の分割禁止フラグを1に設定し、パケットフラグメンテーションを禁止する。これにより途中のルータでのIPパケットの分割処理が禁じられ、パケット長が超過して分割が必要な場合にはそのパケットを破棄する。そして、ICMP(Internet Control Message Protocol:インターネット制御メッセージプロトコル)到達不能メッセージによりデータリンクのMTU値を通知する。次に送信するIPパケットは、ICMP到達不能メッセージにより通知されたMTU値を経路MTUとして使用する。経路上には複数のルータが存在し、これを繰り返すことで経路上の全ルータが分割を必要としない最大パケット長(即ちMTU)を求めることができる。
なお、ルータによってはICMP到達不能メッセージにMTU値が入っていない場合があり、その場合には送信ホスト側がパケットサイズを増減させ、最適サイズを探索しなければならない。
なお、ルータによってはICMP到達不能メッセージにMTU値が入っていない場合があり、その場合には送信ホスト側がパケットサイズを増減させ、最適サイズを探索しなければならない。
また、従来技術として、受信したフレームのサイズが取り扱い可能な最大フレームサイズを超えている時、送信元へICMPエラーを送信するIP通信装置と、ICMPエラーを受信したときに経路MTU検索を行うIP通信装置からなるIP通信システムが提案されている(特許文献1参照)。
特開2007−082126号公報
RFC1191、インターネット<URL:http://www.ietf.org/rfc/rfc1191.txt>
ところで、無線通信システムでは、電波状態が不安定であるとパケットのロス(消失)を発生することがある。従って、装置間でのIP接続を可能にする無線IPネットワークにおいても、MTUの測定時に、無線環境やその他の影響によるパケットロスが発生することがある。この無線環境等によるパケットロスとMTU測定時のパケット長超過によるパケット破棄とが正確に識別できなければ、誤ったMTU値を算出してしまう。無線環境等によるパケットロスを含む測定結果から求めた誤ったMTU値をそのまま使用した場合、本来得られる性能を発揮することができない。
上述したRFC1191で標準化されている経路MTU探索では、無線環境等によるパケットロスの発生を考慮していない。このため、無線ネットワーク上でのパケットロスにより、ICMPエコーあるいは到達不能メッセージを受信できない場合、正しいMTUを測定することができない。また、到達不能メッセージに対応しないネットワーク機器が経路上に存在した場合にも正しいMTUの測定ができない。
本発明は、このような問題点に鑑みてなされたものであり、本発明の目的は、装置間でのIP接続を可能にする無線IPネットワークにおいて、無線環境等によるパケットロスに影響されることなく正確なMTU測定を行うことができる送信方法、通信システムおよび通信装置を提供することにある。
上記目的を達成するため、本発明の送信方法は、第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、当該第1の装置が、前記第2の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する送信方法において、前記第1の装置が、前記第2の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する送信ステップと、前記送信ステップで送信した前記所定の制御用メッセージに対応する、前記第2の装置からのメッセージの受信態様に応じて、前記第2の装置へ送信するデータのデータ長を制御する制御ステップとを含むことを特徴とする。
前記所定の制御用メッセージは、ICMPエコーメッセージおよびLCPエコーメッセージからなり、前記第2の装置からのメッセージは、ICMPエコー応答メッセージ、ICMP到達不能メッセージ、または、LCPエコー応答メッセージであり、前記制御ステップでは、前記第2の装置から受信したメッセージの種類または組み合わせに応じて、前記データ長を制御することが好ましい。
また、前記所定の制御用メッセージは、前記ICMPエコーメッセージと、最低1つの前記LCPエコーメッセージとで構成され、前記制御ステップでは、前記第1の装置が、前記第2の装置から、前記LCPエコー応答メッセージのみを受信した場合には、前記ICMPエコー応答メッセージを受信するまでの待ち時間を(タイマにより)計測し、計測した待ち時間が、所定時間を経過するまでは、ICMPエコー応答メッセージの受信を待つように制御することが好ましい。
この場合、前記制御ステップでは、より詳しくは、前記第1の装置が、前記第2の装置から、前記LCPエコー応答メッセージのみを受信し、かつ、前記ICMPエコー応答メッセージを受信するまでの待ち時間が前記所定時間を経過した場合には、前回送信したICMPエコーメッセージと同じ長さとなる別のICMPエコーメッセージと、前回送信したLCPエコーメッセージと、を送信する(ICMPエコーメッセージとLCPエコーメッセージとをセットで送信する)ように制御することが好ましい。
さらに、前記第1の装置が、前記制御ステップを経て、送信したICMPエコーメッセージに対するICMPエコー応答メッセージの未受信状態が、所定回数繰り返された場合には、前記第2の装置が前記ICMP到達不能メッセージを送信しない装置であると判断し(ネットワーク経路上にICMP到達不能メッセージに対応しない機器があると判断し)、当該判断に基づいて、前記第2の装置へ次に送信するデータのデータ長を制御する(到達不能メッセージ受信時の処理を行う)ようにしてもよい。なお、この場合、データ長を前回送信のICMPエコーメッセージ長よりも短くなるように制御する。
また、前記制御ステップでは、前記第1の装置が、前記第2の装置から、前記ICMPエコー応答メッセージと前記LCPエコー応答メッセージを所定時間受信しない場合には、前記第2の装置との無線通信経路上でデータが損失している(無線経路上でのパケットロス)と判断し、当該判断に基づいて、所定の処理を実行するように制御するようにしてもよい。なお、この場合、ICMPエコーメッセージとLCPエコーメッセージを前回送信と同じデータ長で送信(再送)するのが望ましい。
さらに、前記判定(パケットロスの判定)が所定回数連続された場合には、前記第2の装置との無線通信経路が異常であると判断し、前記第2の装置へ送信するデータのデータ長の制御を終了するようにしてもよい。
また、本発明の通信システムは、第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、当該第1の装置が、前記第2の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信することができる通信システムにおいて、前記第1の装置が、前記第2の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する第1送信部を有し、前記第2の装置が、前記第1の装置からの前記所定の制御用メッセージに対応するメッセージを前記第1の装置へ送信する第2送信部を有し、前記第1の装置が、更に、前記第2送信部から送信された前記メッセージを受信する受信部と、前記受信部で受信された、前記メッセージの受信態様に応じて、前記第2の装置へ送信するデータのデータ長を制御する制御部とを有することを特徴とする。
また、本発明の通信装置は、通信先の装置との間で、無線ネットワークを介してIP接続されているとき、当該通信先の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する通信装置において、前記通信先の装置へ、所定の制御用メッセージを前記無線ネットワークを介して送信する送信部と、送信した前記所定の制御用メッセージに対応する、前記通信先の装置からのメッセージを受信する受信部と、前記受信部で受信された、前記通信先の装置からのメッセージの受信態様に応じて、前記通信先の装置へ送信するデータのデータ長を制御する制御部とを含むことを特徴とする。
本発明は、通信装置間でのIP接続を可能にする無線IPネットワークにおいて、無線環境等によるパケットロスに影響されることなく、パケットロスを確実に把握して、正確なMTU測定を行うことができ、また、ICMP到達不能メッセージに対応しないネットワークにおいても、正確なMTU測定を行うことができる。
本発明の実施の形態について図面を参照して説明する。図1は、本発明に係る送信方法の処理を行うとともに、本発明に係る通信システムを構成する通信装置の一例を示すブロック図である。図1に示す通信装置10は、送信部11と、受信部12と、制御部13とタイマ14とにより構成され、無線ネットワークを介して他の通信装置とIP接続されている。
通信元となる通信装置では、送信部11は、通信先の通信装置へ制御用メッセージとしてICMP(Internet Control Message Protocol:インターネット制御メッセージプロトコル)エコーメッセージおよびLCP(Link Control Protocol:リンク制御プロトコル)エコーメッセージを無線ネットワークを介して送信し、受信部12は、送信した制御用メッセージに対応する、通信先の装置からのメッセージ(ICMPエコー応答メッセージ、ICMP到達不能メッセージ、または、LCPエコー応答メッセージ)を受信する。
制御部13は、受信部12で受信された、通信先の装置からのメッセージの受信態様に応じて、通信先の装置へ送信するデータのデータ長を制御する。即ち、通信先の装置から受信したメッセージの種類または組み合わせに応じて、通信先の装置へ送信するデータのデータ長を制御する。通信先の装置からICMPエコー応答メッセージを受信した場合は、MTU(Maximum Transfer Unit:最大転送単位)が送信パケット長(送信データ長)以上であることを意味するため、次回送信パケット長を長くする。ICMP到達不能メッセージを受信した場合は、到達不能メッセージにMTU値が含まれている場合は、次回送信パケット長には到達不能メッセージで指定されるMTU値を使用する。到達不能メッセージにMTU値が含まれていない場合、次回送信パケット長を、現在のパケット長を元に短くする。
また、タイマ14は、通信先の装置からの応答メッセージの受信待ち時間を計測する。
制御部13は、受信部12で受信された、通信先の装置からのメッセージの受信態様に応じて、通信先の装置へ送信するデータのデータ長を制御する。即ち、通信先の装置から受信したメッセージの種類または組み合わせに応じて、通信先の装置へ送信するデータのデータ長を制御する。通信先の装置からICMPエコー応答メッセージを受信した場合は、MTU(Maximum Transfer Unit:最大転送単位)が送信パケット長(送信データ長)以上であることを意味するため、次回送信パケット長を長くする。ICMP到達不能メッセージを受信した場合は、到達不能メッセージにMTU値が含まれている場合は、次回送信パケット長には到達不能メッセージで指定されるMTU値を使用する。到達不能メッセージにMTU値が含まれていない場合、次回送信パケット長を、現在のパケット長を元に短くする。
また、タイマ14は、通信先の装置からの応答メッセージの受信待ち時間を計測する。
通信先となる通信装置(経路途中の通信装置も含む)では、受信部は、通信元の装置からの所定の制御用メッセージを受信し、送信部は、所定の制御用メッセージに対応するメッセージを通信元の装置へ送信する。
本発明の通信システムを構成する通信装置は、通信元となる場合および通信先となる場合があるので、上述した通信元となる通信装置の機能および通信先となる通信装置の機能の双方を備えるようにしても良い。
次に、通信元となる通信装置の動作について説明する。図2〜図5は、通信元となる通信装置の動作を説明するフローチャートである。なお、図2〜図5のフローチャートでは、ICMP到達不能メッセージにMTU値が含まれていないケースを前提に説明する。まず、パケット長増減値nを16(バイト)、受信状態遷移フラグtransitionを0、再送処理回数nSamePktを0、パケットロス発生回数nFERを0、初回MTU測定フラグinitialDoneを0に設定し(ステップ100)、その後にMTU測定処理(ステップ200)を行う。なお、ステップ100において、パケット長増減値nを16(バイト)としたが、これは一例であり適宜変更が可能である。
図3に示すMTU測定処理(ステップ200)では、まず、IPヘッダ中の分割禁止フラグを1に設定し、パケットフラグメンテーションを禁止してICMPエコーメッセージを送信する。その際、ICMPエコーメッセージの前後に、ICMP到達不能メッセージ未対応ネットワーク識別のため、LCPエコーメッセージを送信する。また、ICMPエコーメッセージ送信時、応答メッセージ待ちタイマ14を起動する(ステップ201)。なお、ステップ200において、ICMPエコーメッセージの前後にLCPエコーメッセージを送信したが、これは一例であり、適宜変更が可能である。ICMPエコーメッセージに最低1つのLCPエコーメッセージが必要である。
次に、通信先の装置からICMPエコーメッセージに対応するICMPエコー応答メッセージを受信したか否かを判定し(ステップ202)、ICMPエコー応答メッセージを受信した場合は、ICMPエコーバック処理(ステップ300)を行い、ICMPエコー応答メッセージを受信しない場合は、通信先の装置からICMP到達不能メッセージを受信したか否かを判定する(ステップ203)。ICMP到達不能メッセージを受信した場合は、到達不能メッセージ処理(ステップ400)を行い、ICMP到達不能メッセージを受信しない場合は、通信先の装置からLCPエコーメッセージに対応するLCPエコー応答メッセージを受信したか否かを判定する(ステップ204)。
ステップ204において、ICMPエコーメッセージの前後に送信したLCPエコーメッセージに対応する2つのLCPエコー応答メッセージを受信しない場合(NOの場合)は、応答メッセージ待ちタイマ14のタイマ値Timerが規定時間WaitTimer(固定値)を満了したか否かを判定する(ステップ208)。規定時間が満了していない場合(YESの場合)は、ICMPエコー応答メッセージ(あるいは到達不能メッセージ)を待つためステップ202に戻る。規定時間が満了した場合(NOの場合)は、無線ネットワーク上でのパケットロスで、メッセージが欠落したと判断して、パケットロス発生回数nFERが20回に達しているか否かを判定し(ステップ209)、20回に達していなければ、パケットロス発生回数nFERをインクリメントし(ステップ210)、再送処理を行うためステップ201に戻る。なお、再送処理を行う場合、次に送信する(別の)ICMPエコーメッセージは、前回送信したときのパケット長(データ長)と同一のパケット長となるように設定(制御)する(この場合、ICMPエコーメッセージとともに送信されるLCPエコーメッセージは、前回送信したLCPエコーメッセージを繰り返し送信するように制御する)。パケットロス発生回数nFERが20回に達している場合(ステップ209でYESの場合)は、MTU測定失敗として処理を終了する。なお、再送処理回数は20回としたが、これは一例であり、適宜変更が可能である。
ステップ204において、ICMPエコー応答メッセージの受信が無く、ICMPエコーメッセージの前後に送信したLCPエコーメッセージに対応する2つのLCPエコー応答メッセージを受信した場合(YESの場合)は、応答メッセージ待ちタイマ14のタイマ値Timerが規定時間WaitTimer(固定値)を満了したか否かを判定する(ステップ205)。規定時間が満了していない場合(YESの場合)は、ICMPエコー応答メッセージ(あるいは到達不能メッセージ)を待つためにステップ202に戻る。規定時間が満了した場合(NOの場合)は、無線ネットワーク上でのパケットロスにより到達不能メッセージを受信できない場合、あるいは到達不能メッセージを送信しないネットワークの場合であり、再送処理回数nSamePktが3回以上か否かを判定し(ステップ206)、3回未満であれば再送処理回数nSamePktをインクリメントし(ステップ207)、再送処理を行うためステップ201に戻る。再送処理回数nSamePktが3回以上であれば、到達不能メッセージを送信しないネットワークであると判断し、現在のIPパケット長がネットワークのMTUを超過していると推定し、到達不能メッセージ処理(ステップ400)を行って、次回送信パケット長を現在パケット長を元に減少させる。
次に、ICMPエコーバック処理および到達不能メッセージ処理について具体例に基づいて説明する。まず、初回のMTU測定処理時に、ステップ202において、ICMPエコーメッセージに対応するICMPエコー応答メッセージを受信した場合について説明する。ICMPエコー応答メッセージを受信した場合は、ICMPエコーバック処理(ステップ300)を行う。ICMPエコーバック処理では、まず、初回MTU測定フラグinitialDone=0か否かを判定する(ステップ301)。初回のMTU測定処理時にはinitialDone=0に設定されており、YESの場合であるので、パケット増減フラグDirection=0(パケット長を増大させる)、initialDone=1に設定し(ステップ312)、ICMPエコーメッセージのIPパケット長をパケット長増減値n(16バイト)だけ増やし(ステップ313)、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、16バイト増大させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。ステップ202において、更にICMPエコー応答メッセージを受信した場合は、ICMPエコーバック処理を行い(ステップ300)、ステップ301において、initialDone=0か否かを判定する。InitialDoneはステップ312において1に設定されているので、次に、パケット長増減値n=1か否かを判定する(ステップ302)。このときn=16即ちn≠1であるので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ303)。前回のMTU測定処理でも今回のMTU測定処理でもICMPエコー応答メッセージを受信しており、エコーバック受信状態に遷移がない場合(NOの場合)であるので、次に、受信状態遷移フラグtransition=1か否かを判定する(ステップ305)。ステップ100においてtransition=0に設定されているので、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ307)、次に、Direction=1か否かを判定する(ステップ308)。ステップ312においてDirection=0としているので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(16バイト)だけ増やし(ステップ309)、IPパケットリミットチェックを行い(ステップ311)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、更に16バイト増大させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。IPパケット長が大きすぎて、ステップ202において、ICMPエコー応答メッセージを受信せず、ステップ203において、ICMP到達不能メッセージを受信した場合は、到達不能メッセージ処理(ステップ400)を行い、ステップ401において、initialDone=0か否かを判定する。InitialDoneは1に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ402)。ICMPエコー応答メッセージから到達不能メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合(YESの場合)であるので、パケット増減フラグDirectionを反転し、即ち、ステップ312でDirection=0となっているのでDirection=1とし、さらに、受信状態遷移フラグtransition=1とする(ステップ403)。次に、transition=1かつn>1か否かを判定する(ステップ404)。transition=1かつn=16(バイト)に設定されており、YESの場合であるので、パケット長増減値nをn/2、即ち、n=16/2=8(バイト)とする(ステップ405)。次に、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ406)、次に、Direction=1か否かを判定する(ステップ407)。ステップ403においてDirection=1となっており、YESの場合であるので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(8バイト)だけ減らし(ステップ409)、IPパケットリミットチェックを行い(ステップ410)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、8バイト減少させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。ステップ202において、ICMPエコー応答メッセージを受信した場合は、ICMPエコーバック処理(ステップ300)を行い、ステップ301において、initialDone=0か否かを判定する。InitialDoneは1に設定されているので、次に、パケット長増減値n=1か否かを判定する(ステップ302)。このときn=8即ちn≠1であるので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ303)。到達不能メッセージからICMPエコー応答メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合(YESの場合)であるので、パケット増減フラグDirectionを反転してDirection=0とし、さらに、受信状態遷移フラグtransition=1とする(ステップ304)。次に、transition=1か否かを判定する(ステップ305)。ステップ304でtransition=1に設定されておりYESの場合であるので、パケット長増減値nをn/2、即ち、n=8/2=4(バイト)とする(ステップ306)。次に、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ307)、Direction=1か否かを判定する(ステップ308)。ステップ304においてDirection=0としているので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(4バイト)だけ増やし(ステップ309)、IPパケットリミットチェックを行い(ステップ311)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
上述のように、パケット長増減値nを変えてMTU測定処理を繰り返し、最終的にn=1になった時点(ステップ302でYESの場合)で処理を終了する。このようにして、無線環境等によるパケットロスに影響されることなく、経路上の全ルータが分割を必要としない最大パケット長(即ちMTU)を求めることができる。
次に、初回のMTU測定処理時に、IPパケット長が大きすぎて、ステップ202において、ICMPエコー応答メッセージを受信せず、ステップ203において、ICMP到達不能メッセージを受信した場合について説明する。ICMP到達不能メッセージを受信した場合は、到達不能メッセージ処理(ステップ400)を行う。ICMPエコーバック処理では、まず、initialDone=0か否かを判定する(ステップ401)。初回のMTU測定処理時にはinitialDone=0に設定されており、YESの場合であるので、パケット増減フラグDirection=1(パケット長を減少させる)、initialDone=1に設定して(ステップ411)、ICMPエコーメッセージのIPパケット長をパケット長増減値n(16バイト)だけ減らし(ステップ412)、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、16バイト減少させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。それでもIPパケット長が大きすぎて、ステップ202において、ICMPエコー応答メッセージを受信せず、ステップ203において、ICMP到達不能メッセージを受信した場合は、到達不能メッセージ処理(ステップ400)を行い、ステップ401において、initialDone=0か否かを判定する。InitialDoneはステップ411において1に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ402)。前回のMTU測定処理でも今回のMTU測定処理でもICMP到達不能メッセージを受信しており、エコーバック受信状態に遷移がない場合(NOの場合)であるので、次に、transition=1かつn>1か否かを判定する(ステップ404)。n=16即ちn>1であるが、ステップ100においてtransition=0に設定されているので、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ406)、次に、Direction=1か否かを判定する(ステップ407)。ステップ411においてDirection=1となっているので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(16バイト)だけ減らし(ステップ409)、IPパケットリミットチェックを行い(ステップ410)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、16バイト減少させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。IPパケット長が小さすぎて、ステップ202において、ICMPエコー応答メッセージを受信した場合は、ICMPエコーバック処理(ステップ300)を行い、ステップ301において、initialDone=0か否かを判定する。InitialDoneは1に設定されているので、次に、パケット長増減値n=1か否かを判定する(ステップ302)。このときn=16即ちn≠1であるので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ303)。到達不能メッセージからICMPエコー応答メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合(YESの場合)であるので、パケット増減フラグDirectionを反転してDirection=0とし、さらに、transition=1とする(ステップ304)。次に、transition=1か否かを判定する(ステップ305)。transition=1に設定されているので、パケット長増減値nをn/2、即ち、n=16/2=8(バイト)とする(ステップ306)。次に、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ307)、Direction=1か否かを判定する(ステップ308)。ステップ304においてDirection=0としているので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(8バイト)だけ増やし(ステップ309)、IPパケットリミットチェックを行い(ステップ311)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
次のMTU測定処理では、LCPエコーメッセージとともに、8バイト増大させたIPパケット長でICMPエコーメッセージを送信する(ステップ201)。ステップ202において、ICMPエコー応答メッセージを受信せず、ステップ203において、ICMP到達不能メッセージを受信した場合は、到達不能メッセージ処理を行い(ステップ400)、ステップ401において、initialDone=0か否かを判定する。InitialDoneは1に設定されているので、次に、エコーバック受信状態に遷移があったか否かを判定する(ステップ402)。ICMPエコー応答メッセージから到達不能メッセージに変わった場合、即ち、エコーバック受信状態に遷移があった場合(YESの場合)であるので、パケット増減フラグDirectionを反転してDirection=1とし、さらに、transition=1とする(ステップ403)。次に、transition=1かつn>1か否かを判定する(ステップ404)。transition=1に設定されており、かつn=8即ちn>1であるので、パケット長増減値nをn/2、即ち、n=8/2=4(バイト)とする(ステップ405)。次に、再送処理回数nSamePkt=0、パケットロス発生回数nFER=0とし(ステップ406)、Direction=1か否かを判定する(ステップ407)。ステップ403においてDirection=1としているので、ICMPエコーメッセージのIPパケット長をパケット長増減値n(4バイト)だけ減らし(ステップ409)、IPパケットリミットチェックを行い(ステップ410)、IPパケットリミットを超えていなければ、再び、MTU測定処理(ステップ200)を行う。
上述のように、パケット長増減値nを変えてMTU測定処理を繰り返し、最終的にn=1になった時点(ステップ302でYESの場合)で処理を終了する。このようにして、無線環境等によるパケットロスに影響されることなく、経路上の全ルータが分割を必要としない最大パケット長(即ちMTU)を求めることができる。
10 通信装置
11 送信部
12 受信部
13 制御部
14 タイマ
11 送信部
12 受信部
13 制御部
14 タイマ
Claims (9)
- 第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、当該第1の装置が、前記第2の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する送信方法において、
前記第1の装置が、
前記第2の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する送信ステップと、
前記送信ステップで送信した前記所定の制御用メッセージに対応する、前記第2の装置からのメッセージの受信態様に応じて、前記第2の装置へ送信するデータのデータ長を制御する制御ステップと、
を含むことを特徴とする送信方法。 - 前記所定の制御用メッセージは、ICMPエコーメッセージおよびLCPエコーメッセージからなり、
前記第2の装置からのメッセージは、ICMPエコー応答メッセージ、ICMP到達不能メッセージ、または、LCPエコー応答メッセージであり、
前記制御ステップでは、
前記第2の装置から受信したメッセージの種類または組み合わせに応じて、前記データ長を制御する、ことを特徴とする請求項1に記載の送信方法。 - 前記制御ステップでは、
前記第1の装置が、
前記第2の装置から、前記LCPエコー応答メッセージのみを受信した場合には、前記ICMPエコー応答メッセージを受信するまでの待ち時間が所定時間を経過するまでは、前記ICMPエコー応答メッセージの受信を待つように制御する、ことを特徴とする請求項2に記載の送信方法。 - 前記制御ステップでは、
前記第1の装置が、
前記第2の装置から、前記LCPエコー応答メッセージのみを受信し、かつ、前記ICMPエコー応答メッセージを受信するまでの待ち時間が前記所定時間を経過した場合には、前回送信したICMPエコーメッセージと同じ長さとなる別のICMPエコーメッセージと、前回送信したLCPエコーメッセージと、を送信するように制御する、ことを特徴とする請求項3に記載の送信方法。 - 請求項4に記載の送信方法において、
前記第1の装置が、
前記制御ステップを経て送信されたICMPエコーメッセージに対するICMPエコー応答メッセージの未受信状態が、所定回数繰り返された場合には、前記第2の装置が前記ICMP到達不能メッセージを送信しない装置であると判断し、当該判断に基づいて、前記第2の装置へ次に送信するデータのデータ長を制御する、ことを特徴とする送信方法。 - 前記制御ステップでは、
前記第1の装置が、
前記第2の装置から、前記ICMPエコー応答メッセージと前記LCPエコー応答メッセージを所定時間受信しない場合には、前記第2の装置との無線通信経路上でデータが損失していると判断し、当該判断に基づいて、所定の処理を実行するように制御する、ことを特徴とする請求項2に記載の送信方法。 - 請求項6に記載の送信方法において、
前記判定が所定回数連続された場合には、前記第2の装置との無線通信経路が異常であると判断し、前記第2の装置へ送信するデータのデータ長の制御を終了する、ことを特徴とする送信方法。 - 第1の装置が、無線ネットワークを介して第2の装置にIP接続されているとき、当該第1の装置が、前記第2の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信することができる通信システムにおいて、
前記第1の装置は、
前記第2の装置へ所定の制御用メッセージを前記無線ネットワークを介して送信する第1送信部を有し、
前記第2の装置は、
前記第1の装置からの前記所定の制御用メッセージに対応するメッセージを前記第1の装置へ送信する第2送信部を有し、
前記第1の装置は、更に、
前記第2送信部から送信された前記メッセージを受信する受信部と、
前記受信部で受信された、前記メッセージの受信態様に応じて、前記第2の装置へ送信するデータのデータ長を制御する制御部と、を有する、
ことを特徴とする通信システム。 - 通信先の装置との間で、無線ネットワークを介してIP接続されているとき、当該通信先の装置へ送信するデータの最大転送単位を設定し、当該設定された最大転送単位に基づいてデータを送信する通信装置において、
前記通信先の装置へ、所定の制御用メッセージを前記無線ネットワークを介して送信する送信部と、
送信した前記所定の制御用メッセージに対応する、前記通信先の装置からのメッセージを受信する受信部と、
前記受信部で受信された、前記通信先の装置からのメッセージの受信態様に応じて、前記通信先の装置へ送信するデータのデータ長を制御する制御部と、
を含むことを特徴とする通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224156A JP2009060238A (ja) | 2007-08-30 | 2007-08-30 | 送信方法、通信システムおよび通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224156A JP2009060238A (ja) | 2007-08-30 | 2007-08-30 | 送信方法、通信システムおよび通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009060238A true JP2009060238A (ja) | 2009-03-19 |
Family
ID=40555599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007224156A Withdrawn JP2009060238A (ja) | 2007-08-30 | 2007-08-30 | 送信方法、通信システムおよび通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009060238A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013126205A (ja) * | 2011-12-16 | 2013-06-24 | Nec Access Technica Ltd | 通信装置、通信システム、障害判定方法及び障害判定プログラム |
JP2014175830A (ja) * | 2013-03-08 | 2014-09-22 | Clarion Co Ltd | 端末装置、通信システム、情報処理装置、及び通信プログラム |
-
2007
- 2007-08-30 JP JP2007224156A patent/JP2009060238A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013126205A (ja) * | 2011-12-16 | 2013-06-24 | Nec Access Technica Ltd | 通信装置、通信システム、障害判定方法及び障害判定プログラム |
JP2014175830A (ja) * | 2013-03-08 | 2014-09-22 | Clarion Co Ltd | 端末装置、通信システム、情報処理装置、及び通信プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237153B2 (en) | Packet retransmission method and apparatus | |
KR100785293B1 (ko) | 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법 | |
EP3410623B1 (en) | Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications | |
US8751669B2 (en) | Method and arrangement to maintain a TCP connection | |
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
EP3075110B1 (en) | Controlling a transmission control protocol window size | |
US8085669B2 (en) | Session relay device and session relay method | |
US8588784B2 (en) | Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data | |
TWI486016B (zh) | 通信終端機及將狀態報告自接收終端機發送至發送終端機之方法 | |
CN1933486B (zh) | Ip通信装置及其所组成的ip通信系统 | |
US7733826B2 (en) | Method and related apparatus of default timer configurations of wireless communications system | |
WO2022116178A1 (zh) | 一种tcp mss调整方法、装置及系统 | |
US20220225163A1 (en) | Communications device, infrastructure equipment and methods | |
KR100912178B1 (ko) | 무선 환경에서의 혼잡제어방법 및 기록매체 | |
EP1873994A1 (en) | Quality of service securing method and apparatus | |
EP3383092A1 (en) | Method of transmitting data and network equipment | |
US8312339B2 (en) | Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system | |
Thubert | IPv6 over low-power Wireless Personal Area network (6LoWPAN) selective fragment recovery | |
US20060059256A1 (en) | Signaling a state of a transmission link via a transport control protocol | |
JP4583318B2 (ja) | データ通信方法 | |
JP2009060238A (ja) | 送信方法、通信システムおよび通信装置 | |
JP3953343B2 (ja) | 無線パケット通信装置および無線パケット通信方法 | |
WO2018097073A1 (ja) | 情報通知装置、情報通知方法およびプログラムが記録された記録媒体 | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
KR101485131B1 (ko) | 다중경로 전송제어프로토콜을 이용한 수직적 핸드오버시 빠른 성능 회복 방법 및 이를 이용한 이동 단말 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100615 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110830 |