(57)【要約】【課題】様々な通信形態によって接続されているセッションに応じた、セッション単位に最適なＭＳＳ値の調整を行なう。【解決手段】ＢＡＳは、ＰＰＰセッションごとに、ＭＲＵのネゴシエーションの結果により決定したＭＴＵ値を管理する。ＢＡＳは、その後ＰＰＰセッション単位に、ＴＣＰネゴシエーション時、双方向の制御メッセージのＭＳＳをスヌープし、最適な値に書き換える。【選択図】図７Ｂ
2011015344.tif 000002
【特許請求の範囲】
【請求項１】
エンドホスト同士がＴＣＰ接続されたネットワーク上に配置され、トンネルプロトコルを終端する中継装置において、
前記エンドホスト間で交換されるＴＣＰコネクション確立信号から第１のＭＳＳ値をスヌープし、トンネルプロトコルに応じた第２のＭＳＳ値を演算して、前記ＴＣＰコネクション信号の第１のＭＳＳ値を第２のＭＳＳ値に変更して、前記エンドホストのいずれか一つに転送することを特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置であって、
前記トンネルプロトコルは、ＰＰＰｏＥ、Ｌ２ＴＰまたはＰＰＰｏＡであることを特徴とする中継装置。
【請求項３】
エンドホスト同士がＴＣＰ接続されたネットワーク上に配置され、トンネルプロトコルを終端する中継装置における中継方法であって、
セッションの下位プロトコルを判定するステップと、
この下位プロトコルのＭＴＵ値と、通知されたＭＲＵ値とを比較し、小さい値をセッションのＭＴＵ値として登録するステップと、
ＴＣＰコネクション信号のＭＳＳ値と（前記ＭＴＵ値−４０）とを比較するステップと、
前記ＭＳＳ値を（前記ＭＴＵ値−４０）に更新するステップとからなる中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置および中継方法に係り、特に、受信可能なデータサイズの通知を更新して転送する中継装置および中継方法に関する。
【背景技術】
【０００２】
現在、ＡＤＳＬ、ＦＴＴＨ等のインターネットサービスでは、家庭内にブロードバンドルータ（BroadBand Router：ＢＢＲ）を設置し、ＰＣやその他のネットワーク端末からＢＢＲまではＥｔｈｅｒｎｅｔ（登録商標）で接続し、ＢＢＲから、プロバイダのブロードバンドアクセスサーバ（Broadband Access Server：ＢＡＳ）まではＰＰＰプロトコルを用いて接続されることが主流となっている。このときＥｔｈｅｒｎｅｔ（登録商標）上または公衆回線上でＰＰＰセッションを接続するために、ＰＰＰの下位プロトコルとして、ＰＰＰｏＥ、Ｌ２ＴＰ等のプロトコルが用いられている。
【０００３】
ここで、ＰＰＰは、２点間を接続してデータ通信を行うための通信プロトコルである。ＰＰＰは、ユーザ認証やＩＰアドレスの割り当てなどが可能であり、非特許文献１で規格化されている。また、ＰＰＰｏＥは、常時接続が前提のＥｔｈｅｒｎｅｔ上で、ＰＰＰセッションを張るためのプロトコルである。
【０００４】
ＰＰＰｏＥは、通常のＰＰＰと異なり、ネットワークカードの持つ固有のＭＡＣアドレスによって双方のコンピュータを識別し、その間に仮想回線を展開する。ＰＰＰｏＥは、非特許文献２で規格化されている。
【０００５】
Ｌ２ＴＰは、インターネットなどの公衆回線網上に仮想的にトンネルを生成する。Ｌ２ＴＰは、そのトンネルを通じてＰＰＰ接続を確立する。Ｌ２ＴＰは、ＶＰＮを構築するためのプロトコルであり、ＩＰネットワークだけでなくフレームリレー、ＡＴＭなど様々な経路を通じて利用することができる。Ｌ２ＴＰは、非特許文献３で規格化されている。
【０００６】
図１を参照して、上述したインターネットサービスを説明する。図１において、ネットワーク１０００は、家庭Ａおよび家庭Ｂと直接またはキャリアのＬＡＣ（L2TP Access Concentrator）２５０を介して接続されたプロバイダと、プロバイダとインターネット４００を介して接続されたアプリケーションサーバ５００とから構成される。
【０００７】
家庭Ａには、２台のＰＣ１００−１、１００−２と、ネット対応ＴＶ１５０と、ＢＢＲ２００−１とがある。ＰＣ１００−１、１００−２と、ネット対応ＴＶ１５０とは、ＢＢＲ２００−１に接続されている。家庭Ｂには、ＰＣ１００−３と、ＢＢＲ２００−２とがあり、ＰＣ１００−３は、ＢＢＲ２００−２に接続されている。
【０００８】
ＢＢＲ２００−１は、プロバイダのＢＡＳ３００と直接接続されている。ＢＢＲ２００−２は、ＢＡＳ３００とＬＡＣ２５０を介して接続されている。ＢＡＳ３００は、ユーザ毎のＰＰＰセッションを終端し、インターネット側とデータのやりとりを行なう。
【０００９】
ＰＣ１００とＢＢＲ２００との間には、Ｅｔｈｅｒｎｅｔリンクが張られている。ＢＢＲ２００−１とＢＡＳ３００との間には、ＰＰＰｏＥリンクが張られている。ＢＢＲ２００−２とＬＡＣ２５０との間にも、ＰＰＰｏＥリンクが張られている。一方、ＬＡＣ２５０とＢＡＳ３００との間には、Ｌ２ＴＰリンクが張られている。さらに、ＢＳＡ３００とアプリケーションサーバ５００との間にも、Ｅｔｈｅｒｎｅｔリンクが張られている。
【００１０】
各リンクのプロトコルスタックについて、図２を参照して説明する。図２Ａにおいて、ＰＣ１００−１とＢＢＲ２００−１との間およびＢＡＳ３００とアプリケーションサーバ５００との間に張ったＥｔｈｅｒｎｅｔリンクは、ＴＣＰ（Transmission Control Protocol）層２０１の下にＩＰ（Internet Protocol）層２０２、ＩＰ層２０２の下にＥｔｈｅｒｎｅｔ層２０３を有する。一方、ＢＢＲ２００−１とＢＡＳ３００との間に張ったＰＰＰｏＥリンクは、ＩＰ層２０２とＥｔｈｅｒｎｅｔ層２０３との間に、上から順にＰＰＰ層２０４、ＰＰＰｏＥ層２０５を有する。
【００１１】
一方、図２Ｂにおいて、ＬＡＣ２５０とＢＡＳ３００との間に張ったＬ２ＴＰリンクは、ＩＰ層２０２とＥｔｈｅｒｎｅｔ層２０３との間に、上から順にＬ２ＴＰ層２０６、ＵＤＰ層２０７、ＩＰ層２０８を有する。
【００１２】
図３を参照して、各リンクのフレームフォーマットを説明する。図３Ａにおいて、Ｅｔｈｅｒｎｅｔリンク上のフレーム２１０は、４バイトのＦＣＳ２１１、可変長のＴＣＰデータ２１２、２０バイトのＴＣＰヘッダ２１３、２０バイトのＩＰヘッダ２１４、１４バイトのＥｔｈｅｒｎｅｔヘッダ２１５で構成される。
【００１３】
図３Ｂにおいて、ＰＰＰｏＥリンク上のフレーム２２０は、４バイトのＦＣＳ２１１、可変長のＴＣＰデータ２１２、２０バイトのＴＣＰヘッダ２１３、２０バイトのＩＰヘッダ２１４、２バイトのＰＰＰヘッダ２２１、６バイトのＰＰＰｏＥヘッダ２２２、１４バイトのＥｔｈｅｒｎｅｔヘッダ２１５で構成される。
【００１４】
図３Ｃにおいて、Ｌ２ＴＰリンク上のフレーム２３０は、４バイトのＦＣＳ２１１、可変長のＴＣＰデータ２１２、２０バイトのＴＣＰヘッダ２１３、２０バイトのＩＰヘッダ２１４、２バイトのＰＰＰヘッダ２２１、１６バイトのＬ２ＴＰヘッダ２３１、８バイトのＵＤＰヘッダ２３２、２０バイトのＩＰヘッダ２３３、１４バイトのＥｔｈｅｒｎｅｔヘッダ２１５で構成される。
【００１５】
データのやり取りを行なう各リンクは、ＭＴＵ（Maximum Transmission Unit）という値が設定されている。ＭＴＵとは、「１回のデータ転送にて送信可能な、ＩＰデータグラムの最大値」のことである。ＭＴＵ値は、各装置の設定により可変だが、データリンクの種類によってＭＴＵの上限値は異なる。
【００１６】
図３Ａにおいて、Ｅｔｈｅｒｎｅｔ接続の場合、Ｅｔｈｅｒｎｅｔフレームが最大１５１８ｂｙｔｅなので、Ｅｔｈｅｒｎｅｔヘッダ（１４ｂｙｔｅ）と、ＦＣＳ（４ｂｙｔｅ）を除く１５００ｂｙｔｅがＭＴＵ値の上限となる。
【００１７】
また、図３Ｂにおいて、ＰＰＰｏＥで接続する場合、ＩＰパケットにさらにＰＰＰｏＥヘッダとＰＰＰヘッダが付与される。したがって、Ｅｔｈｅｒｎｅｔフレームの最大値１５１８ｂｙｔｅから、Ｅｔｈｅｒｎｅｔヘッダ（１４ｂｙｔｅ）とＦＣＳ（４ｂｙｔｅ）に加えて、ＰＰＰｏＥヘッダ（６ｂｙｔｅ）とＰＰＰヘッダ（２ｂｙｔｅ）の分を除いた１４９２ｂｙｔｅがこの区間のＭＴＵ値の上限となる。
【００１８】
さらに、図３Ｃにおいて、Ｌ２ＴＰで接続する場合、ＩＰパケットにさらにＰＰＰヘッダ、Ｌ２ＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダが付与される。したがって、Ｅｔｈｅｒｎｅｔフレームの最大値１５１８ｂｙｔｅから、Ｅｔｈｅｒｎｅｔヘッダ（１４ｂｙｔｅ）とＦＣＳ（４ｂｙｔｅ）に加えて、ＰＰＰヘッダ（２ｂｙｔｅ）、Ｌ２ＴＰヘッダ（１６ｂｙｔｅ）、ＵＤＰヘッダ（８ｂｙｔｅ）、ＩＰヘッダ（２０ｂｙｔｅ）分を除いた１４５４ｂｙｔｅがこの区間のＭＴＵ値の上限となる。
【００１９】
また、ＰＰＰ接続時において、セッションを張る２つのパケット転送装置（図１ではＢＢＲ２００−１とＢＡＳ３００等）の間において、ＭＲＵ（Maximum Receive Unit）のネゴシエーションを行なう。ＭＲＵとは「１回の受信で自身が受け取ることができるＩＰデータグラムの最大値」であり、双方のパケット転送装置は、相手に対してこの値を通知する。ＭＲＵも各装置の設定により可変だが、インターネットで大量のデータを送信するとき、一般的に大きなパケットを利用するほうが効率よく動作する。このため、自分自身が受け取れる最大のサイズでネゴシエーションする。すなわち、基本的に使用するリンクのＭＴＵ値をＭＲＵ値として用いる。
【００２０】
パケット転送装置（中継装置）は、対向装置からＭＲＵを通知された場合、使用するリンクのＭＴＵと比較し、小さいほうの値以下の大きさでパケットを送信する。但し、この時ネゴシエーションされるＭＲＵサイズはあくまでも、ＰＰＰ接続を行う２点間のみで有効である。
【００２１】
図１において、ユーザのＰＣ端末１００−１のＷＥＢブラウザが、インターネット上のアプリケーションサーバ５００にアクセスする場合を考える。この時、ＰＣ端末１００−１とアプリケーションサーバ５００の間で、ＴＣＰ／ＩＰのコネクションを接続する。このＴＣＰの接続ネゴシエーション時、ＷＥＢブラウザと接続先のアプリケーションサーバは、お互いに自分が受け取れる最大のデータサイズを通知する。この値をＭＳＳ（Maximum Segment Size）と呼ぶ。ＭＳＳとは、「１回の受信で自身が受け取ることができる、ＴＣＰが格納するユーザデータサイズの最大値」のことである。Ｅｔｈｅｒｎｅｔ型ＬＡＮでは、Ｅｔｈｅｒｎｅｔフレームの最大値１５１８ｂｙｔｅから、Ｅｔｈｅｒｎｅｔヘッダ（１４ｂｙｔｅ）、ＦＣＳ（４ｂｙｔｅ）、ＴＣＰヘッダ（２０ｂｙｔｅ）、ＩＰヘッダ（２０ｂｙｔｅ）を除く１４６０ｂｙｔｅがＭＳＳのサイズとなる。基本的にＭＳＳは、ＭＴＵからＴＣＰ／ＩＰヘッダ（４０ｂｙｔｅ）をマイナスした値であり、
ＭＳＳ＝ＭＴＵ−４０
となる。前述の通り、インターネットで大量のデータを送信するとき、一般的に大きなパケットを利用するほうが効率よく動作する。このため、基本的には自分自身が受け取れる最大のＭＳＳサイズでネゴシエーションする。
【００２２】
図１において、ＰＣ１００−１およびアプリケーションサーバ５００は、途中経路上の各中継装置間のＭＴＵを把握できない。特に、ＰＣ端末１００−１およびアプリケーションサーバ５００は、ＢＢＲ２００とＢＡＳ３００間のＭＴＵの制限を知らない。このため、ＰＣ１００−１は、ＢＢＲ２００−１までＥｔｈｅｒｎｅｔで接続しているため、ＭＴＵサイズが１５００ｂｙｔｅまで可能と認識してしまう。すなわち、ＰＣ１００−１は、ＴＣＰコネクションのネゴシエーション時、ＭＳＳ値を（１５００−４０＝）１４６０ｂｙｔｅと設定して、アプリケーションサーバ５００に通知する。この値を通知されたアプリケーションサーバは、（ＴＣＰデータ部のサイズ＝１４６０）＋（ＴＣＰ／ＩＰヘッダ＝４０）＝１５００ｂｙｔｅのＩＰパケットを送出する。
しかし、ＢＡＳ３００に到達した時点で、ＢＢＲ２００−１とＢＡＳ３００間のＭＴＵ値制限（ＩＰパケットサイズ１４９２ｂｙｔｅ以下）に抵触してしまう。
【００２３】
このように、伝送区間にＰＰＰｏＥやＬ２ＴＰ等の接続形態を用いた区間が存在することによりＰＰＰｏＥやＬ２ＴＰのヘッダが余計に付与されるため、経路上に他の区間に比べてＭＴＵ値が小さい区間が存在する。これを考慮しないと、この区間のパケットの最大転送サイズを越えてしまい、ＩＰフラグメントまたは破棄が発生することになる。
【００２４】
上記の場合のように通信経路上でフラグメントが発生した場合、中継装置におけるフラグメント処理、対向装置における復元処理など、各装置の処理負荷が増加する。また、フラグメントされることによりパケット数が増加する。つまり、中継装置において転送する際の処理負荷が増加する。同時にパケットの転送遅延時間が増大するという問題が発生する。
【００２５】
この問題を解決するため、特許文献１に示すように、ＴＣＰコネクション時の制御パケットをスヌープし、入力側と出力側のＭＴＵ値の差分に応じて、ＭＳＳ値を書き換える方法がある。
【００２６】
しかし、特許文献１に記載の技術は、装置ごとに設定されたひとつの固定値でＭＳＳを書き換える。このため、それぞれ様々な通信形態によって接続されているセッションに応じた、セッション単位に最適なＭＳＳ値の調整は出来ない。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２００５−０２０１１６
【非特許文献】
【００２８】
【非特許文献１】ＲＦＣ１６６１
【非特許文献２】ＲＦＣ２５１６
【非特許文献３】ＲＦＣ２６６１
【非特許文献４】ＲＦＣ７９３
【発明の概要】
【発明が解決しようとする課題】
【００２９】
特許文献１の技術では、場合によっては無駄が出ることがある。具体的には、ＢＡＳ３００で終端しているＰＰＰの下位プロトコルがＰＰＰｏＥ（ＭＴＵ上限１４９２ｂｙｔｅ）の場合とＬ２ＴＰ（ＭＴＵ上限１４５４ｂｙｔｅ）の場合とでは、とりうるＭＴＵの値が異なる。両者に対応させようとすると、よりＭＴＵ値の小さいＬ２ＴＰ（ＭＴＵ上限１４５４ｂｙｔｅ）を基準に、ＭＳＳを１４１４ｂｙｔｅ以下に設定する必要がある。しかし、これでは仮にＰＰＰｏＥのみで接続している場合、実際に送信可能なパケットサイズより小さなパケットを送付することになってしまう。
【課題を解決するための手段】
【００３０】
本発明は、ＢＡＳ３００が各ユーザのＰＰＰセッションを終端しており、それにより各ＰＰＰセッションの情報を管理可能であることに着目する。ＢＡＳ３００は、ＰＰＰセッションごとに、ＭＲＵのネゴシエーションの結果により決定したＭＴＵ値を管理する。その後ＰＰＰセッション単位に、ＴＣＰネゴシエーション時の制御メッセージのＭＳＳを盗み見（スヌープ）て、最適な値に書き換える。
【００３１】
上述した課題は、エンドホスト同士がＴＣＰ接続されたネットワーク上に配置され、トンネルプロトコルを終端し、エンドホスト間で交換されるＴＣＰコネクション確立信号から第１のＭＳＳ値をスヌープし、トンネルプロトコルに応じた第２のＭＳＳ値を演算して、前記ＴＣＰコネクション信号の第１のＭＳＳ値を第２のＭＳＳ値に変更して、前記エンドホストのいずれか一つに転送する中継装置により、達成できる。
【００３２】
また、エンドホスト同士がＴＣＰ接続されたネットワーク上に配置され、トンネルプロトコルを終端する中継装置における中継方法であって、セッションの下位プロトコルを判定するステップと、この下位プロトコルのＭＴＵ値と、通知されたＭＲＵ値とを比較し、小さい値をセッションのＭＴＵ値として登録するステップと、ＴＣＰコネクション信号のＭＳＳ値と（前記ＭＴＵ値−４０）とを比較するステップと、ＭＳＳ値を（前記ＭＴＵ値−４０）に更新するステップとからなる中継方法により、達成できる。
【発明の効果】
【００３３】
本発明により、セッション毎に最適なＭＳＳが選択され、フラグメントまたは破棄発生を抑止できる。
【図面の簡単な説明】
【００３４】
【図１】ネットワークの構成を説明するブロック図である。
【図２Ａ】プロトコルスタックを説明する図である（その１）。
【図２Ｂ】プロトコルスタックを説明する図である（その２）。
【図３Ａ】パケットフォーマットを説明する図である（その１）。
【図３Ｂ】パケットフォーマットを説明する図である（その２）。
【図３Ｃ】パケットフォーマットを説明する図である（その３）。
【図４】ＢＡＳの構成を説明するブロック図である。
【図５】ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ情報を登録するテーブルを説明する図である。
【図６】ＰＰＰセッション別ＭＴＵ情報を登録するテーブルを説明する図である。
【図７Ａ】ＰＣ、ＢＢＲ、ＢＡＳ、アプリケーションサーバ間の最適なＭＳＳ値を用いてＴＣＰデータ通信が行なわれるまでのシーケンス図である（その１）。
【図７Ｂ】ＰＣ、ＢＢＲ、ＢＡＳ、アプリケーションサーバ間の最適なＭＳＳ値を用いてＴＣＰデータ通信が行なわれるまでのシーケンス図である（その２）。
【図８】ＢＡＳにおけるＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ｒｅｑｕｅｓｔ受信処理フローである。
【図９】ＢＡＳにおけるＩＰパケット受信処理フローである。
【発明を実施するための形態】
【００３５】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【００３６】
図４を参照して、ブロードバンドアクセスサーバ（ＢＡＳ）の構成を説明する。図４において、ＢＡＳ３００は、入出力回線の回線インタフェース３１０−１〜３１０−ｎと、プロトコル処理部３３０と、プロトコル処理部を制御する制御部３２０から構成されている。
【００３７】
制御部３２０は、プロトコル処理部３３０の状態を監視し、その状態を制御端末３４０に通知する。制御部３２０は、制御端末３４０からの指示に応答して、プロトコル処理部３３０への各種制御パラメータ設定を行なう。制御部３２０は、プロトコル処理部３３０から受信したフレームを出力ポートが存在する回線インタフェース３１０−１〜３１０−ｎへ転送する。
【００３８】
プロトコル処理部３３０は、回線受信バッファ３３１と、回線送信バッファ３３５と、プロセッサ間インタフェース３３４と、メモリ３３３と、プロセッサ３３２とからなる。
回線受信バッファ３３１は、回線インタフェース３１０−１〜３１０−ｎからフレームを受け取る。回線送信バッファ３３５は、回線インタフェース３１０−１〜３１０−ｎへフレームを送信する。メモリ３３３は、各処理プログラム３３３１〜３３３３およびテーブル３３３４、３３３５を格納する。プロトコル処理プロセッサ３３２は、処理プログラム３３３１〜３３３３を実行する
メモリ３３３には、プロセッサ３３２にて実施する処理プログラムとして、各プロトコルの処理を行なうプロトコル処理プログラム３３３１と、ＴＣＰの制御信号をスヌープし最適なＭＳＳに変更するＭＳＳ値変更処理プログラム３３３２と、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ導出処理プログラム３３３３が格納されている。
【００３９】
また、メモリ３３３には使用するテーブルとして、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブル３３３４と、ＰＰＰセッション別ＭＴＵ管理テーブル３３３５が格納されている。
【００４０】
図５と図６を参照して、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブルと、ＰＰＰセッション別ＭＴＵ管理テーブルを説明する。図５において、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブル３３３４は、下位プロトコル４０１、ＭＴＵ４０２、自ＭＲＵ４０３から構成される。ＢＡＳ３００は、下位プロトコル４０１に、ＰＰＰの下位プロトコル種別を登録し、ＭＴＵ４０２および自ＭＲＵ４０３に下位プロトコルに対応するＭＴＵ値および使用するリンクのＭＲＵ値を登録する。これらの値は接続形態別のプロトコルスタックと、各プロトコルのヘッダフォーマットを基に、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ導出処理プログラム３３３３にて、物理経路のＭＴＵから選択されたプロトコルに応じたヘッダ長を差し引くことで決定される。また、保守者によって任意の値にも設定可能とする。
【００４１】
図５において、下位プロトコル４０１がＰＰＰｏＥの場合、ＭＴＵ４０２は１４９２、自ＭＲＵ４０３は１４９２が登録されており、下位プロトコル４０１がＬ２ＴＰの場合、ＭＴＵ４０２には１４５４、自ＭＲＵ４０３には１４５４が登録されている。
【００４２】
図６において、ＰＰＰセッション別ＭＴＵ管理テーブル３３３５は、セッション管理ＩＤ５０１、ＭＴＵ５０２から構成されている。図６において、ＢＡＳ３００は、セッション管理ＩＤ５０１に各セッションを管理するＩＤを、またＭＴＵ値５０２にセッション管理ＩＤに対応するＭＴＵ値を登録する。
【００４３】
図７を参照して、ＰＣ、ＢＢＲ、ＢＡＳ、アプリケーションサーバ間の最適なＭＳＳ値を用いてＴＣＰデータ通信が行なわれるまでのシーケンスを説明する。図７において、まず、ＢＡＳ３００は、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ導出処理プログラム３３３３を実行して、ＰＰＰの下位プロトコル別のＭＴＵ値およびＰＰＰ接続時に対向装置に通知するための自ＭＲＵ値を計算する（Ｓ６０１）。計算されたＭＴＵ値および自ＭＲＵ値について、ＢＡＳ３００は、下位プロトコル別ＭＴＵ・自ＭＲＵを管理するためのテーブル３３３４に保持する。
【００４４】
ＰＣ２００−１とＢＢＲ２００−１は、互いにＥｔｈｅｒｎｅｔで接続する（Ｓ６０２）。また、ＢＢＲ２００−１とＢＡＳ３００は、互いにＥｔｈｅｒｎｅｔで接続する（Ｓ６０３）。その後に、ＢＢＲ２００−１とＢＡＳ３００は、互いにＰＰＰｏＥ接続する（Ｓ６０４）。この時、ＢＡＳ３００は、該当のセッションのＰＰＰの下位プロトコルがＰＰＰｏＥであると判断するとする（Ｓ６０６）。
【００４５】
その後、ＰＣ１００−１とＢＢＲ２００−１とは、ＰＰＰのネゴシエーションが行なわれる。具体的には、まず、ＢＢＲ２００−１は、ＢＡＳ３００に対しＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ｒｅｑｕｅｓｔを送信する（Ｓ６０７）。この時、ＢＢＲ２００−１は、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−ＲｅｑｕｅｓｔのオプションであるＭＲＵに１４９２という値を設定している。
【００４６】
ＢＡＳ３００は、ＰＰＰｏＥのＭＴＵ設定値と、対向装置（ＢＢＲ２００−１）から受信したＭＲＵとを比較し、小さい値をこのセッションのＭＴＵとして設定する（Ｓ６０８）。ＢＡＳ３００は、ＢＢＲ２００−１に対し、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ａｃｋを送信する（Ｓ６０９）。次にＢＡＳ３００からＢＢＲ２００−１に対し、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ｒｅｑｕｅｓｔを送信する（Ｓ６１０）。この時、オプションとして設定するＭＲＵ値は、ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブル３３３４から取得する。次にＢＢＲ２００−１は、ＢＡＳ３００に対し、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ａｃｋを送信する（Ｓ６１１）。これによりＰＰＰにおけるリンク確立が完了する。
【００４７】
次に、認証（Ｓ６１２）、ＩＰＣＰ（Ｓ６１３）のネゴシエーションを経て、ＰＰＰのネゴシエーションが完了する。
【００４８】
図７Ｂにおいて、ＰＣ１００−１とアプリケーションサーバ５００の間でデータ通信を行うため、ＴＣＰ接続ネゴシエーションを行う。
【００４９】
まず、ＰＣ１００−１は、対向のＢＢＲ２００−１まではＥｔｈｅｒｎｅｔで接続しているので、ＭＴＵ＝１５００ｂｙｔｅと判断し、ＭＳＳ＝１４６０を設定する（Ｓ６１４）。ＰＣ１００−１は、ＴＣＰ・ＳＹＮメッセージのオプションであるＭＳＳに、ＭＴＵ−４０＝１４６０の値を設定してアプリケーションサーバ５００宛に送信する（Ｓ６１６）。このメッセージを受け取ったＢＢＲ２００−１は、そのままＢＡＳ３００に転送する（Ｓ６１７）。
【００５０】
ＴＣＰ・ＳＹＮメッセージを受信したＢＡＳ３００は、ＳＹＮメッセージをスヌープし、ＳＹＮメッセージのＭＳＳ値がセッションのＭＳＳ値より大きいので、セッションのＭＳＳ値を上書きする（Ｓ６１８）。ＢＡＳ３００は、ＴＣＰ・ＳＹＮメッセージのＭＳＳ値を１４６０ｂｙｔｅから１４５２ｂｙｔｅに書き換えたＴＣＰ・ＳＹＮメッセージをアプリケーションサーバ５００に転送する（Ｓ６１９）。ＢＡＳ３００からのＴＣＰ・ＳＹＮメッセージを受信したアプリケーションサーバは、ＰＣ１００−１に対して送信するＴＣＰデータサイズの最大値を１４５２ｂｙｔｅと設定する（Ｓ６２１）。
【００５１】
このとき、アプリケーションサーバ５００は、対向まではＥｔｈｅｒｎｅｔで接続しているので、ＭＴＵ＝１５００ｂｙｔｅと判断し、ＭＳＳ＝１４６０の値を設定する（Ｓ６２２）。次にアプリケーションサーバ５００は、ＴＣＰ・ＳＹＮメッセージに対する応答として、ＢＡＳ３００に対してＴＣＰ・ＳＹＮ／ＡＣＫメッセージを送信する（Ｓ６２３）。ＴＣＰ・ＳＹＮ／ＡＣＫメッセージには、ＭＳＳ＝１４６０が設定されている。
【００５２】
このＴＣＰ・ＳＹＮ／ＡＣＫメッセージを受信したＢＡＳ３００は、ＳＹＮ／ＡＣＫメッセージをスヌープし、ＳＹＮ／ＡＣＫメッセージのＭＳＳ値がセッションのＭＳＳ値より大きいので、セッションのＭＳＳ値を上書きする（Ｓ６２４）。ＢＡＳ３００は、ＭＳＳ値を１４６０ｂｙｔｅから１４５２ｂｙｔｅに書き換えたＴＣＰ・ＳＹＮ／ＡＣＫメッセージを、ＢＢＲ２００−１に対して転送する（Ｓ６２６）。ＴＣＰ・ＳＹＮ／ＡＣＫメッセージを受信したＢＢＲ２００−１は、ＴＣＰ・ＳＹＮ／ＡＣＫメッセージを、ＰＣ１００−１に転送する（Ｓ６２７）。
【００５３】
ＴＣＰ・ＳＹＮ／ＡＣＫメッセージを受信したＰＣ１００−１は、アプリケーションサーバ５００に対して送信するＴＣＰデータサイズの最大値を１４５２ｂｙｔｅと設定する（Ｓ６２９）。
【００５４】
次にＰＣ１００−１は、ＴＣＰ・ＳＹＮ／ＡＣＫメッセージに対する応答として、アプリケーションサーバ５００に対してＴＣＰ・ＡＣＫメッセージを送信する（Ｓ６３１）。ＡＣＫメッセージを受信したＢＢＲ２００−１は、そのままＢＡＳ３００に転送する（Ｓ６３２）。さらに、ＢＡＳ３００は、ＴＣＰ・ＡＣＫメッセージをアプリケーションサーバ５００に転送する（Ｓ６３３）。
【００５５】
以上により、ＰＣ端末とアプリケーションサーバ間においてＴＣＰコネクション接続が完了する。この際、ＰＣ端末とアプリケーションサーバ共に、ＢＡＳ３００によって最適な値に書換えられたＭＳＳ値を設定しているため、途中の経路でパケットサイズがＭＴＵ値を超えることがなく、フラグメントおよび破棄が発生しない。
【００５６】
図８を参照して、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ｒｅｑｕｅｓｔを受信したＢＡＳの処理を説明する。図８において、ＬＣＰ＿Ｃｏｎｆｉｇｕｒｅ−Ｒｅｑｕｅｓｔを受信したＢＡＳ３００は、オプションのＭＲＵ値を取得する（Ｓ７０１）。次にＢＡＳ３００は、下位プロトコルを識別する（Ｓ７０２）。ＢＡＳ３００は、それらを基にＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブル３３３４を参照し、該当する下位プロトコルのＭＴＵ値を取得する（Ｓ７０３）。ＢＡＳ３００は、対向装置から通知されたＭＲＵの値と、管理テーブル３３３４から取得したＭＴＵ値を比較する（Ｓ７０４）。受信メッセージのＭＲＵが大きいか等しいとき（ＹＥＳ）、ＢＡＳ３００は、管理テーブルのＭＴＵ値を該当セッションのＭＴＵとする（Ｓ７０５）。ステップ７０４でＮＯのとき、受信メッセージのＭＲＵ値を該当セッションのＭＴＵとする（Ｓ７０６）。ＢＡＳ３００は、このセッション用ＭＴＵの値を、該当セッションの管理ＩＤと共にＰＰＰセッション別ＭＴＵ管理テーブル３３３５に登録する（Ｓ７０７）。
図７Ａのシーケンス６０８では、ＢＡＳ３００は、ＰＰＰセッション別ＭＴＵ管理テーブル３３３５にセッション管理ＩＤ＝１、およびＭＴＵ＝１４９２と設定する。
【００５７】
図９を参照して、ＩＰパケットを受信したＢＡＳの処理を説明する。図９において、ＢＡＳ３００は、ＩＰパケットを受信すると、まずＰＰＰセッションを特定する（Ｓ８０１）。ＢＡＳ３００は、該当のメッセージのＩＰヘッダのプロトコル種別がＴＣＰかつＴＣＰヘッダのＳＹＮビットが１であるかどうか判定する（Ｓ８０２）。ＮＯだった場合、ＢＡＳ３００は、そのまま転送を行ない（Ｓ８０７）、終了する。
【００５８】
ステップ６０２でＹＥＳだったとき、ＢＡＳ３００は、ＴＣＰオプションであるＭＳＳ値を取得する（Ｓ８０３）。ＢＡＳ３００は、ＰＰＰセッション別ＭＴＵ管理テーブル３３３５より該当のセッションのＭＴＵを取得する（Ｓ８０４）。ＢＡＳ３００は、取得したＭＳＳ値と、取得したＭＴＵ−４０の値を比較する（Ｓ８０５）。このとき、ＢＡＳ３００は、で取得したＭＳＳ値の方が小さい場合（ＮＯ）、ステップ８０７に遷移する。
【００５９】
ステップ８０５でＭＳＳ値の方が大きいか等しい場合、ＢＡＳ３００は、受信メッセージのＭＳＳ値を、取得したＭＴＵ−４０の値で上書きし（Ｓ８０６）、ステップ８０７に遷移する。
【００６０】
本明細書において、エンドホストは、端末と、インターネットに直接接続されたアプリケーションサーバを含む他端の端末である。トンネルプロトコルは、ＰＰＰｏＥ、Ｌ２ＴＰ、ＰＰＰｏＡのプロトコルを含み、それらに限られない。中継装置は、ＢＡＳに限られずトンネルプロトコルを終端するパケット中継装置である。ＴＣＰコネクション確立信号は、ＳＹＮ信号、ＳＹＮ信号に対する応答信号であるＡＣＫ信号を含み、これらに限られない。
【００６１】
上述した実施例に依れば、セッション毎に最適なＭＳＳ値が選択され、フラグメントまたは破棄発生を抑止できる。ＭＳＳは、セッション毎に設定されるため、端末またはサーバからは不可知である中継装置におけるプロトコルの選択に依存することがない。さらに本実施例の適用は、トンネルプロトコル使用区間に限定されるため、中継区間における他の装置への機能追加を必要としない。
【符号の説明】
【００６２】
１００…ＰＣ、１５０…ネット対応ＴＶ、２００…ブロードバンドルータ、２５０…Ｌ２ＴＰ  Ａｃｃｅｓｓ  Ｃｏｎｃｅｎｔｒａｔｏｒ、３００…ブロードバンドアクセスサーバ、３１０…回線インタフェース、３２０…制御部、３３０…プロトコル処理部、３３１…回線受信バッファ、３３２…プロトコル処理プロセッサ、３３３…メモリ、３３４…プロセッサ間インタフェース、３４０…制御端末、４００…インターネット、５００…アプリケーションサーバ、１０００…ネットワーク、３３３１…プロトコル処理、３３３２…ＭＳＳ値変更処理、３３３３…ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ導出処理、３３３４…ＰＰＰ下位プロトコル別ＭＴＵ・自ＭＲＵ管理テーブル、３３３５…ＰＰＰセッション別ＭＴＵ管理テーブル。
【図１】
2011015344.tif 000003
【図２Ａ】
2011015344.tif 000004
【図２Ｂ】
2011015344.tif 000005
【図３Ａ】
2011015344.tif 000006
【図３Ｂ】
2011015344.tif 000007
【図３Ｃ】
2011015344.tif 000008
【図４】
2011015344.tif 000009
【図５】
2011015344.tif 000010
【図６】
2011015344.tif 000011
【図７Ａ】
2011015344.tif 000012
【図７Ｂ】
2011015344.tif 000013
【図８】
2011015344.tif 000014
【図９】
2011015344.tif 000015