(57)【要約】【課題】ＩＰパケットの分割・再構築およびフラグメント禁止時のエラーパケットもしくはＩＰパケットの破棄等により発生する転送効率の低下や通信障害を防止する。【解決手段】ＴＣＰ／ＩＰ通信を用いた中継器のＩＰパケット送信手順において、ＳＹＮパケット送信後のＳＹＮ・ＡＣＫパケットによる確認応答機能を用いて、経路毎の最適なＭＴＵを中継器に記憶し、以降送信先毎に記憶したＭＴＵに基づきＩＰパケット長を決定し、送信する機能を有する。【選択図】図３
2013145951.tif 000002
【特許請求の範囲】
【請求項１】
端末と第２の中継器と接続された中継器において、
送信元アドレスと前記端末と前記第２の中継器との宛先アドレスと最大転送単位とを対応付けて記憶する転送テーブルと、前記最大転送単位の候補値を降順に記載した候補値テーブルとを備え、
前記端末から第２の端末宛てのＳＹＮパケットを受信したとき、前記転送テーブルを参照して、経路検索と最大転送単位検索とを実行し、
前記経路検索に成功し、前記最大転送単位検索に失敗したとき、前記候補値テーブルの最上位から順に候補値を選択して、ＳＹＮパケットに記載し、前記第２の中継器宛てに前記ＳＹＮパケットを送信し、
前記第２の端末から、ＳＹＮ・ＡＣＫパケットを受信したとき、直前に送ったＳＹＮパケットに記載した候補値と前記ＳＹＮ・ＡＣＫパケットに記載された最大転送単位とを比較して、小さい値を前記転送テーブルに記憶することを特徴とする中継器。
【請求項２】
請求項１に記載の中継器であって、
前記小さい値を前記転送テーブルに記憶したあと、前記ＳＹＮ・ＡＣＫパケットを前記端末に転送することを特徴とする中継器。
【請求項３】
請求項１または請求項２に記載の中継器であって、
前記候補値テーブルの前記候補値に、ＰＰＰｏＥの最大転送単位である１４９２ｂｙｔｅおよびＬ２ＴＰの最大転送単位である１４５４ｂｙｔｅを含むことを特徴とする中継器。
【請求項４】
端末と第２の中継器と接続され、送信元アドレスと前記端末と前記第２の中継器との宛先アドレスと最大転送単位とを対応付けて記憶する転送テーブルと、前記最大転送単位の候補値を降順に記載した候補値テーブルとを備えた中継器における最大転送単位学習方法であって、
前記端末から第２の端末宛てのＳＹＮパケットを受信したとき、前記転送テーブルを参照して、経路検索と最大転送単位検索とを実行するステップと、
前記経路検索に成功し、前記最大転送単位検索に失敗したとき、前記候補値テーブルの最上位から順に候補値を選択して、ＳＹＮパケットに記載し、前記第２の中継器宛てに前記ＳＹＮパケットを送信するステップと、
前記第２の端末から、ＳＹＮ・ＡＣＫパケットを受信したとき、直前に送ったＳＹＮパケットに記載した候補値と前記ＳＹＮ・ＡＣＫパケットに記載された最大転送単位とを比較して、小さい値を前記転送テーブルに記憶するステップと、を含む最大転送単位学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継器および最大転送単位学習方法に係り、特に対向装置との最大転送単位を学習する中継器および最大転送単位学習方法に関する。
【背景技術】
【０００２】
従来のデータ通信において、一般的に使用されているＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）を用いたデータ通信では、ＩＰパケットという単位でデータの送受信を行なっている。ＩＰパケットの長さ（ＩＰパケット長）は、送信するデータ量に合わせて送信元の中継器が決定している。
【０００３】
ＩＰネットワークでは、１回に送信することのできるＩＰパケットの最大値が最大転送単位（ＭＴＵ：Maximum Transmission Unit）として規定されている。イーサネット（登録商標）上におけるＭＴＵの最大値は、１５００ｂｙｔｅである。
【０００４】
図１を参照して、ＭＴＵを説明する。図１において、（ａ）はＩＰパケットのフォーマットである。また、（ｂ）はＰＰＰｏＥ（Point to Point Protocol over Ethernet（登録商標））パケットのフォーマットである。さらに、（ｃ）はＬ２ＴＰ（Layer 2 Tunneling Protocol）パケットのフォーマットである。
【０００５】
ＩＰパケットのＭＴＵは、図１（ａ）のように、ＩＰヘッダ、ＴＣＰヘッダ、最大セグメントサイズ（ＭＳＳ：Maximum Segment Size）により構成される。ＩＰパケットは、ＩＰヘッダを２０ｂｙｔｅ、ＴＣＰヘッダを２０ｂｙｔｅと固定されている為、実際のデータ長となるＭＳＳは、イーサネット上においては１４６０ｂｙｔｅが最大となる。
【０００６】
複数拠点を有する企業ネットワークにおいて、拠点毎に使用するキャリア網は、コストパフォーマンスや回線帯域など条件から異なったものを使用する場合がある。この場合の拠点毎のＭＴＵは、拠点毎のキャリア網によって、使用するプロトコルが異なることから必ずしも最大値を使用できるとは限らない。ＰＰＰｏＥ、Ｌ２ＴＰなどのプロトコルを使用するキャリア網は、キャリア網内での中継器によりＩＰパケット付与されるヘッダの値に応じて、ＭＴＵが低くなる。
【０００７】
図１（ｂ）に示すように、キャリア網内でＰＰＰｏＥを使用する場合のＩＰパケットは、ＰＰＰｏＥヘッダ（６ｂｙｔｅ）、ＰＰＰヘッダ（２ｂｙｔｅ）がキャリア網内で付与される。それらの値に応じて、ＭＴＵは、１４９２ｂｙｔｅとなる。
【０００８】
また、図１（ｃ）に示すように、キャリア網内でＬ２ＴＰを使用する場合のＩＰパケットは、ＩＰヘッダ（２０ｂｙｔｅ）、ＵＤＰヘッダ（８ｂｙｔｅ）、Ｌ２ＴＰヘッダ（１６ｂｙｔｅ）、ＰＰＰヘッダ（２ｂｙｔｅ）が付与される。このため、ＭＴＵは、１４５４ｂｙｔｅとなる。
【０００９】
このように、拠点毎に使用するキャリア網によって、拠点毎の中継器のＭＴＵを調整しなければならない。２０００ｂｙｔｅのデータ量でＩＰパケットを送信する場合、キャリア網内のＭＴＵが１５００ｂｙｔｅであるとき、送信元の中継器によって、このＩＰパケットは、１５００ｂｙｔｅと５００ｂｙｔｅの２つのＩＰパケットに分割される。それぞれのＩＰパケットにはＩＰヘッダが付与され、識別番号のフィールドに同じ番号が割り当てられ、宛先端末へと中継器を経由して送られる。このＩＰパケットの分解を行なう技術をＩＰフラグメントと呼ぶ。分割されたＩＰパケットについて、宛先端末は、ＩＰヘッダの識別番号が同じものかどうかを判断し、同じであれば２つのＩＰパケットを元のＩＰパケットに再構築を行なうことで、データを受信する。
【００１０】
しかし、このＩＰフラグメントを行なうと、中継器のＣＰＵなどに負荷がかかり、ＣＰＵの処理能力が低下する。また、分割されたＩＰパケットの再構築時にはＩＰパケットの宛先端末のＣＰＵなどに負荷がかかる。
【００１１】
そこで、特許文献１は、既存の技術であるＩＣＭＰ（Internet Control Message Protocol）のｅｃｈｏメッセージを用いて経路毎の最大ＭＴＵを学習／記憶し、以後送信先毎に記憶したＭＴＵに基づきＩＰパケット長を決定し、送信する機能を備え、ＩＰフラグメントにより発生する問題の解決策として記載されている。
【００１２】
しかし、経路上の中継器や端末によっては、ＩＣＭＰのリセットフラグを用いてＴＣＰコネクションを強制切断する。また、ＩＣＭＰメッセージを意図的に中継器や端末へ向けて大量に送信することにより発生する性能低下やシステムダウンを防ぐために、ＩＣＭＰを、フィルタリングの設定またはファイアーウォールの設定によってブロックしている場合がある。このため、ＩＣＭＰを用いた特許文献１記載の方式では、十分にその機能を発揮することができない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００３−０１８２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
図２を参照して、上述した背景技術の問題点を説明する。図２において、端末１００−Ｘと端末１００−Ｙは、中継器２００−Ａと、キャリア網３００と、中継器２００−Ｂとを介して接続されている。ここで、中継器２００−Ａとキャリア網３００との間の伝送路のＭＴＵは１５００ｂｙｔｅ、キャリア網３００と中継器２００−Ｂと間の伝送路のＭＴＵは１４５４ｂｙｔｅとする。
【００１５】
端末１００−Ｘは、後述するＤＦ（Don't Fragment）ビットに１をセットした１５００ｂｙｔｅのパケットを端末１００−Ｙ宛てに送信する。このパケットは、中継器２００−Ａとキャリア網３００との間の伝送路は、通過する。しかし、キャリア網３００と中継器２００−Ｂと間の伝送路のＭＴＵは１４５４ｂｙｔｅなので、伝送路中の中継器により廃棄される。廃棄した中継器は、端末１００−Ｘ宛てにＩＣＭＰエラーメッセージを送信する。しかし、このＩＣＭＰエラーメッセージは、中継器２００−Ａのフィルタリング設定またはファイアーウォールによって、ＩＣＭＰがブロックされる。このような条件下では、特許文献１の技術は、機能しない。
【００１６】
また、上述したＩＰフラグメントを行なうことで発生する中継器の処理能力低下問題やＩＰフラグメントされたＩＰパケットの再構築時に発生する端末への負荷問題といった課題を解決する必要がある。
【００１７】
そこで、本発明は、経路途中の中継器によるフィルタリング設定やファイアーウォールの設定に依存されることなく機能を発揮できる手段を用いて、経路毎のネットワークにおけるＭＴＵを中継器の機能により動的に、ＩＰフラグメントさせない最適な値にすることを目的とする。
【００１８】
しかし、通常、中継器は、ＯＳＩ参照モデルにおいて、レイヤ３（ネットワーク層）の機器である為、レイヤ４（トランスポート層）で付与されるＴＣＰヘッダの情報（ＡＣＫフラグを含む情報）を認識せずにＩＰパケットの転送を行なう。そのため、中継器がＴＣＰヘッダの認識をせずとも、ＭＴＵの最適化を行なう方法が必要となる。
【課題を解決するための手段】
【００１９】
上述した課題は、端末と第２の中継器と接続された中継器において、送信元アドレスと端末と第２の中継器との宛先アドレスと最大転送単位とを対応付けて記憶する転送テーブルと、最大転送単位の候補値を降順に記載した候補値テーブルとを備え、端末から第２の端末宛てのＳＹＮパケットを受信したとき、転送テーブルを参照して、経路検索と最大転送単位検索とを実行し、経路検索に成功し、最大転送単位検索に失敗したとき、候補値テーブルの最上位から順に候補値を選択して、ＳＹＮパケットに記載し、第２の中継器宛てにＳＹＮパケットを送信し、第２の端末から、ＳＹＮ・ＡＣＫパケットを受信したとき、直前に送ったＳＹＮパケットに記載した候補値とＳＹＮ・ＡＣＫパケットに記載された最大転送単位とを比較して、小さい値を転送テーブルに記憶する中継器により、達成できる。
【００２０】
また、端末と第２の中継器と接続され、送信元アドレスと端末と第２の中継器との宛先アドレスと最大転送単位とを対応付けて記憶する転送テーブルと、最大転送単位の候補値を降順に記載した候補値テーブルとを備えた中継器における最大転送単位学習方法であって、端末から第２の端末宛てのＳＹＮパケットを受信したとき、転送テーブルを参照して、経路検索と最大転送単位検索とを実行するステップと、経路検索に成功し、最大転送単位検索に失敗したとき、候補値テーブルの最上位から順に候補値を選択して、ＳＹＮパケットに記載し、第２の中継器宛てにＳＹＮパケットを送信するステップと、第２の端末から、ＳＹＮ・ＡＣＫパケットを受信したとき、直前に送ったＳＹＮパケットに記載した候補値とＳＹＮ・ＡＣＫパケットに記載された最大転送単位とを比較して、小さい値を転送テーブルに記憶するステップと、を含む最大転送単位学習方法により、達成できる。
【発明の効果】
【００２１】
本発明により、ＩＣＭＰが使用できない環境においても、動的に拠点毎の最適なＭＴＵを調整・記憶することが可能となり、フィルタリング設定やファイアーウォールの設定に依存されることなく機能を発揮することが可能となる。また、中継器は、レイヤ４のＴＣＰヘッダを認識することなく上記機能を発揮することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】ＩＰパケットのＭＴＵを説明する図である。
【図２】ＩＣＭＰエラ―メッセージのブロックを説明するブロック図である。
【図３】３拠点からなるネットワークの構成を説明するブロック図である。
【図４】ＭＴＵ記憶テーブルを説明する図である。
【図５】ＴＣＰヘッダのフォーマットである。
【図６】ＩＰヘッダのフォーマットである。
【図７】スリーウェイハンドシェイクによるコネクション確立を説明するシーケンス図である。
【図８】テストパケットパラメータ表を説明する図である。
【図９Ａ】端末Ｘから端末Ｙおよび端末Ｚへのデータ通信におけるＭＴＵ最適化フローチャート（その１）である。
【図９Ｂ】端末Ｘから端末Ｙおよび端末Ｚへのデータ通信におけるＭＴＵ最適化フローチャート（その２）である。
【図１０】端末Ｘから端末Ｙへのデータ通信におけるシーケンス図である。
【図１１】端末Ｘから端末Ｚへのデータ通信におけるシーケンス図である。
【発明を実施するための形態】
【００２３】
図３を参照して、Ａ、Ｂ、Ｃの３つの拠点における企業ネットワークの構成を説明する。図３において、企業ネットワーク５００は、端末１００と、中継器２００と、キャリア網３００とで構成されている。中継器２００−Ａ、中継器２００−Ｂ、中継器２００−Ｃは、キャリア網３００を介して相互接続されている。また、中継器２００−Ａ、中継器２００−Ｂ、中継器２００−Ｃは、それぞれ、端末１００−Ｘ、端末１００−Ｙ、端末１００−Ｚが接続されている。なお、以降の説明および図面において、端末１００−Ｘを端末Ｘと記載することがある。中継器２００についても同様である。
【００２４】
端末１００−Ｘから中継器２００−ＡまでのネットワークにおけるＭＴＵは１５００ｂｙｔｅ、中継器２００−Ａからキャリア網３００までのネットワークにおけるＭＴＵは１５００ｂｙｔｅ、また、中継器２００−ＡのＭＴＵの設定値は１５００ｂｙｔｅである。また、端末１００−Ｙから中継器２００−ＢまでのネットワークにおけるＭＴＵは１４９２ｂｙｔｅ、中継器２００−Ｂからキャリア網３００までのネットワークにおけるＭＴＵは１４９２ｂｙｔｅ、また、中継器２００−ＢのＭＴＵの設定値は１４５４ｂｙｔｅである。さらに、端末１００−Ｚから中継器２００−ＣまでのネットワークにおけるＭＴＵは１５００ｂｙｔｅ、中継器２００−Ｃからキャリア網３００までのネットワークにおけるＭＴＵは１４９２ｂｙｔｅ、また、中継器２００−ＣのＭＴＵの設定値は、キャリア網３００までのＭＴＵを考慮していない１５００ｂｙｔｅである。
【００２５】
図４を参照して、中継器２００−Ａ、Ｂ、Ｃの備える経路およびＭＴＵの情報を管理・記憶しているテーブルを説明する。図４において、図４（ａ）は中継器２００−Ａのテーブル、図４（ｂ）は中継器２００−Ｂのテーブル、図４（ｃ）は中継器２００−Ｃのテーブルである。
【００２６】
図４（ａ）を例示して、中継器２００のテーブルを説明する。図４（ａ）において、中継器２００−Ａには、宛先欄の端末１００−Ｘ、中継器２００−Ｂ、中継器２００−Ｃが接続されている。送信元アドレスは、中継器２００−Ａのアドレスである１９２．１６８．ＡＡが記述されている。また、宛先アドレスには、宛先欄の端末１００−Ｘ、中継器２００−Ｂ、中継器２００−Ｃが記述されている。さらに、ＭＴＵは、宛先欄の端末１００−Ｘおよび中継器２００−Ｂ宛てに、１４９２が記述されている。しかし、中継器２００−Ｃ宛ては、学習していないことを意味する「−」が記述されている。
【００２７】
図５を参照して、ＴＣＰヘッダのフォーマットを説明する。図５において、ＩＰパケットは、２０ｂｙｔｅのＩＰヘッダと、２０ｂｙｔｅのＴＣＰヘッダと、ＭＳＳｂｙｔｅのデータとから構成されている。
【００２８】
ＴＣＰヘッダは、送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号、データオフセット、予約、コードビット、ウィンドウサイズ、ＴＣＰチェックサム、緊急ポインタ、オプションから構成されている。コードビットは、さらに、ＵＲＧフラグ、ＡＣＫフラグ、ＰＳＨフラグ、ＲＳＴフラグ、ＳＹＮフラグ、ＦＩＮフラグから構成されている。オプションは、ＴＣＰコネクション確立時にＭＳＳを通知する。
【００２９】
コードビットの中でＴＣＰコネクション確立時に用いるフラグが、ＳＹＮフラグ、ＡＣＫフラグの２つである。ＳＹＮフラグ、ＡＣＫフラグは、ＴＣＰ通信において必要不可欠なものである。すなわち、ＴＣＰヘッダを含むＩＰパケットにおいて、ＳＹＮフラグのみに”１”が立てられたパケットがＳＹＮパケットである。また、ＡＣＫフラグのみに”１”が立てられたパケットがＡＣＫパケットである。さらに、両方のビットが立てられたものをＳＹＮ・ＡＣＫパケットである。
【００３０】
図６を参照して、ＩＰヘッダのフォーマットを説明する。図６において、ＩＰヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、ＴＴＬ、プロトコル、ヘッダチェックサム、送信元アドレス、宛先アドレス、オプション、パディングから構成されている。
【００３１】
ＩＰヘッダのフラグは、３ビット（ビット０〜ビット２）である。ビット０は、予約ビット（未使用）である。ビット０は、”０”である。ビット１は、分割（フラグメント）を許可するか否かを表し、”０”のとき分割可、”１”のとき分割不可を表す。すなわち、ＤＦビットは、ＩＰヘッダのフラグのビット１が”１”のビットである。さらに、ビット２は、フラグメントが最後か否かを表し、”０”のとき最後のフラグメント、”１”のとき後続のパケットがあることを表す。
【００３２】
図７を参照して、ＳＹＮパケット、ＡＣＫパケット、ＳＹＮ・ＡＣＫパケットを用いるＴＣＰコネクション確立時のスリーウェイハンドシェイクを説明する。図７において、まず、端末１００−Ｘは、端末１００−ＹへＳＹＮパケットによる接続要求を行なう。次に、端末１００−Ｙは、端末１００−ＸへＳＹＮ・ＡＣＫパケットによる接続要求および端末１００−Ｘからの接続要求に応答する。最後に、端末１００−Ｘは、端末１００−ＹにＡＣＫパケットによる確認応答を行なう。これらにより、ＴＣＰコネクションが確立されデータ通信を行なうことが可能となる。
【００３３】
また、端末１００間でＳＹＮパケット、ＳＹＮ・ＡＣＫパケットのやり取りを行なうことにより、お互いのＭＴＵの中のＭＳＳを比較し、低い値を最適値とする。なお、ＭＳＳ値は、ＳＹＮパケット、ＳＹＮ・ＡＣＫパケットのＴＣＰヘッダに格納されている。
【００３４】
中継器は、スリーウェイハンドシェイク時の一番初めに端末から受信したＳＹＮパケットのＴＣＰヘッダの情報を基に、テストパケットを生成し、ＤＦビットによるＩＰフラグメント禁止フラグをセットする。ここで、テストパケットは、図８に記載のパラメータより項番１から順にＭＴＵを読み出し、生成する。パラメータのデフォルト設定は、最大のＭＳＳ１５００ｂｙｔｅとし、テストパケットの生成毎に、５ｂｙｔｅ刻みで値を下げていく。ただし、使用頻度の多いＰＰＰｏＥやＬ２ＴＰなどのキャリア網回線毎のＭＴＵおよびＭＳＳを組み込む（項番３、項番１２参照）。
【００３５】
このＭＳＳを刻む値は、１ｂｙｔｅ刻みで時間をかけ、最適なＭＳＳの検索を行なうのか、１０ｂｙｔｅ刻みで時間をあまりかけずに最適なＭＳＳの検索を行なうのかを選択することができる。
【００３６】
ＰＰＰｏＥを使用する回線のＭＴＵは、１４９２ｂｙｔｅなので、この回線を使用する時のＭＴＵの最適化を行なうためのテストパケット生成は、１５００ｂｙｔｅ、１４９５ｂｙｔｅ、１４９２ｂｙｔｅの３回で解決される。
【００３７】
求めたＭＴＵを含む、宛先情報（宛先名称、アドレスなど）は、中継器のルーティングによって、動的または静的に取得され、中継器自身の持つ、図４のテーブル上に記憶される。
【００３８】
このテーブル内において、既にＭＴＵの記憶のある拠点に対しては、記憶された値を元にＭＴＵを決定しデータ通信を行ない、テーブル内において、ＭＴＵの記憶のない拠点（−マーク）に対しては、ＭＴＵの最適化およびテーブルへの記憶を行なう。
以上の機能を中継器が実装することで、レイヤ４のＴＣＰヘッダを認識しなくてもＭＴＵの最適化を行なうことができる。
【００３９】
図９を参照して、企業ネットワークを構成する中継器と端末との処理動作を説明する。図９において、端末１００−Ｘは、端末１００−Ｙおよび端末１００−Ｚにデータを送信するために、ＳＹＮパケットを送信する（Ｓ１）。中継器２００−Ａは、テーブルに中継器２００−Ｂ、２００−ＣのＭＴＵが記憶されているか判定する（Ｓ２）。ここでは、中継器２００−ＢのＭＴＵは、記憶されている（ＹＥＳ）。一方、中継器２００−ＣのＭＴＵは、記憶されていない（ＮＯ）。
【００４０】
中継器２００−Ａは、テーブルのＭＴＵの値を基に、ＩＰパケット長を決定し、中継器２００−ＢへＳＹＮパケットの転送を行なう。（Ｓ３）このとき、中継器２００−Ａは、キャリア網３００内でのＩＰフラグメントを発生させないため、ＩＰヘッダ内のＤＦビットを立ててＳＹＮパケットのやり取りを行なう。
【００４１】
中継器２００−Ｂは、ＳＹＮパケットをテーブル（図４（ｂ））に従い、端末１００−Ｙへ転送する（Ｓ４）。端末１００−Ｙは、中継器２００−ＢからのＳＹＮパケット受信した後に、端末１００−ＸへＳＹＮ・ＡＣＫパケットを送信する（Ｓ５）。端末１００−Ｘは、端末１００−ＹからのＳＹＮ・ＡＣＫパケット受信した後に、端末１００−ＹへＡＣＫパケットを送信する（Ｓ６）。
【００４２】
端末１００−Ｙは、端末１００−ＸからのＡＣＫパケット受信した後に、端末１００−Ｘと端末１００−Ｙの間でコネクションが確立され、端末１００−Ｘは、端末１００−ＹへＡＣＫパケットを送信したとき、コネクションが確立される。
【００４３】
コネクション確立がされると、端末１００−Ｘは、端末１００−Ｙへデータを送ることが可能となる為、中継器２００−Ａに記憶されているＭＴＵを基にＩＰパケット長を決定しデータを送信する（Ｓ７）。
【００４４】
端末１００−Ｙは、端末１００−Ｘからのデータ受信する（Ｓ８）。端末１００−Ｙは、端末１００−ＸへＡＣＫパケットを送信することで、データを無事受信した旨を端末１００−Ｘに通知して（Ｓ９）、終了する。
【００４５】
ステップ２でＮＯのとき、中継器２００−Ａは、受信したＳＹＮパケットから、ＴＣＰヘッダの情報のコピーを行なう（Ｓ１１）。中継器２００−Ａは、ＴＣＰヘッダのオプションに図８のパラメータの項１を書き込み、ＩＰフラグメント防止する為、ＤＦビットがセットされたテストパケットを生成する（Ｓ１２）。中継器２００−Ａは、中継器２００−Ｃに向けて、テストパケットを送信する（Ｓ１３）。
【００４６】
キャリア網３００のＭＴＵは、１４９２ｂｙｔｅである為、１５００ｂｙｔｅのテストパケットに８ｂｙｔｅのヘッダが付与され、１５０８ｂｙｔｅとなり、ＤＦビットが有効であることからキャリア網３００内でこのテストパケットは破棄されてしまう。
【００４７】
中継器２００−Ａは、端末１００−ＺからのＳＹＮ・ＡＣＫパケットによる確認応答の有りか判定する（Ｓ１４）。ここでは、ＮＯなので、中継器２００−Ａは、テストパケットが０ｂｙｔｅ以下か判定する（Ｓ１５）。ＹＥＳのとき、中継器２００−Ａは、終了する。なお、網内での通信障害および通信機器の障害であると判断し、中継器２００−Ａは、端末１００−Ｘに向けて通知してもよい。
【００４８】
ステップ１５において、ここではＮＯなので、中継器２００−Ａは、図８のパラメータの従いパケット長を１項下げた値で送信し（Ｓ１６）、ＳＹＮ・ＡＣＫパケットによる確認応答があるまでこのフローを繰り返す。（Ｓ１６）。
【００４９】
中継器２００−Ａは、端末１００−Ｘ向けのＳＹＮ・ＡＣＫパケットを受信した後に、テストパケットの送信を停止する（Ｓ１７）。中継器２００−Ａは、応答のあったＭＴＵを中継器２００−Ａのテーブル上に記憶する（Ｓ１８）。これによって、以降の通信においても記憶した最適な値でデータ通信を行なうことができる。中継器２００−Ａは、ＡＣＫ・ＳＹＮパケットを端末１００−Ｘへ転送する（Ｓ１９）。
【００５０】
端末１００−Ｘは、端末１００−ＺからのＡＣＫ・ＳＹＮ受信した後に、端末１００−ＹへＡＣＫパケットを送信する（Ｓ２０）。端末１００−Ｚは、端末１００−ＸからのＡＣＫパケット受信した後に、端末１００−Ｘは端末１００−ＺへＡＣＫパケットを送信した後に端末１００−Ｘと端末１００−Ｚの間でコネクションが確立される。
【００５１】
コネクション確立がされると、端末１００−Ｘは、端末１００−Ｚへデータを送ることが可能となる為、中継器２００−Ａに記憶されているＭＴＵを基にデータを送信する（Ｓ２１）。
【００５２】
端末１００−Ｚは、端末１００−Ｘからのデータ受信する（Ｓ２２）。端末１００−Ｚは、端末１００−ＸへＡＣＫパケットを送信して（Ｓ２３）、終了する。
以上のフローによって対向先拠点のＭＴＵの最適化を行なうことが可能となり、フラグメントのされないＭＴＵで効率的にデータ通信を行なうことができる。
【００５３】
図１０を参照して、端末１００−Ｘから端末１００−Ｙへデータを送信するシーケンスを説明する。図１０において、端末１００−Ｘは、中継器２００−ＡにＳＹＮパケットを送信する（Ｓ１０１）。中継器２００−Ａは、経路を検索する（Ｓ１０２）。中継器２００−Ａは、宛先ＭＴＵを検索する（Ｓ１０３）。中継器２００−Ａは、宛先ＭＴＵを保持していたので、中継器２００−ＢにＳＹＮパケットを転送する（Ｓ１０４）。中継器２００−Ｂは、経路検索する（Ｓ１０６）。中継器２００−Ｂは、端末１００−ＹにＳＹＮパケットを送信する（Ｓ１０７）。端末１００−Ｙは、端末１００−ＸにＳＹＮ・ＡＣＫパケットを送信する（Ｓ１０８）。端末１００−Ｘは、端末１００−ＹにＡＣＫパケットを送信する（Ｓ１０９）。端末１００−Ｘは、端末１００−Ｙにデータを送信する（Ｓ１１１）。端末１００−Ｙは、端末１００−ＸにＡＣＫパケットを送信する（Ｓ１１２）。
【００５４】
図１１を参照して、端末１００−Ｘから端末１００−Ｚへデータを送信するシーケンスを説明する。図１１において、端末１００−Ｘは、中継器２００−ＡにＳＹＮパケットを送信する（Ｓ１２１）。中継器２００−Ａは、経路を検索する（Ｓ１２２）。中継器２００−Ａは、宛先ＭＴＵを検索する（Ｓ１２３）。宛先ＭＴＵを保持していなかったので、中継器２００−Ａは、受信したＳＹＮパケットのＴＣＰヘッダをコピーする（Ｓ１２４）。中継器２００−Ａは、ＤＦビットをセットしたテストパケットを生成する（Ｓ１２６）。中継器２００−Ａは、中継器２００−Ｃに図８の項１のＳＹＮパケットを送信する（Ｓ１２７）、しかし、キャリア網で廃棄される。中継器２００−Ａは、中継器２００−Ｃに図８の項２のＳＹＮパケットを送信する（Ｓ１２８）。しかし、キャリア網で廃棄される。
【００５５】
中継器２００−Ａは、中継器２００−Ｃに図８の項３のＳＹＮパケットを送信する（Ｓ１２９）。中継器２００−Ｃは、ＳＹＮパケットを受信し、経路を検索する（Ｓ１３１）。中継器２００−Ｃは、ＳＹＮパケットを送信する端末１００−Ｚに図８の項３のＳＹＮパケットを送信する（Ｓ１３２）。端末１００−Ｚは、中継器２００−ＡにＳＹＮ・ＡＣＫパケットを送信する（Ｓ１３３）。中継器２００−Ａは、テストパケットの送信を停止する（Ｓ１３４）。中継器２００−Ａは、ＭＴＵを記憶する（Ｓ１３６）。中継器２００−Ａは、端末１００−ＸにＡＣＫパケットを送信する（Ｓ１３７）。端末１００−Ｘは、端末１００−ＺにＡＣＫパケットを送信する（Ｓ１３８）。端末１００−Ｘは、端末１００−Ｚにデータを送信する（Ｓ１３９）。端末１００−Ｚは、端末１００−ＸにＡＣＫパケットを送信する（Ｓ１４１）。
【００５６】
本実施例により、ＩＣＭＰが使用できない環境においても、動的に拠点毎の最適なＭＴＵを調整・記憶することが可能となり、フィルタリング設定やファイアーウォールの設定に依存されることなく機能を発揮することが可能となる。
【００５７】
また、ＩＰパケットのＩＰフラグメントによる中継器の処理能力低下問題やＩＰフラグメントされたＩＰパケットの再構築時に発生する端末への負荷による処理能力問題を、ＩＰフラグメントさせない最適なＭＴＵを用いることで解決することができる。
【符号の説明】
【００５８】
１００…端末、２００…中継器、３００…キャリア網、５００…企業ネットワーク。
【図１】
2013145951.tif 000003
【図２】
2013145951.tif 000004
【図３】
2013145951.tif 000005
【図４】
2013145951.tif 000006
【図５】
2013145951.tif 000007
【図６】
2013145951.tif 000008
【図７】
2013145951.tif 000009
【図８】
2013145951.tif 000010
【図９Ａ】
2013145951.tif 000011
【図９Ｂ】
2013145951.tif 000012
【図１０】
2013145951.tif 000013
【図１１】
2013145951.tif 000014