(57)【要約】【課題】ネットワーク上で輻輳が発生した場合に送信側の電子機器においてＥＣＮの利用を可能にする通信機器を提供すること。【解決手段】第１の通信部１１と、第２の通信部１２と、第１の通信部１１が接続されるＰＣ１０１と、第２の通信部１２にて通信するネットワーク２０２側のＰＣ３０１とが、データの輻輳に対する輻輳制御機能を有しているか否かを判断する第１の判断部１３と、ＰＣ３０１でデータの輻輳が生じているか否かを判断する第２の判断部１４と、第１の通信部１１が接続される機器が輻輳制御機能を有しているが、第２の通信部１２にて通信するＰＣ３０１が輻輳制御機能を有していないと判断され、なおかつＰＣ３０１でデータの輻輳が生じていると判断したときには、ＰＣ１０１に送信するデータに対し、ＰＣ１０１が有する輻輳制御機能を有効にするための第１の制御データを付して第１の通信部１１に送出させる制御部１５とを備える。【選択図】図２
2010232877.tif 000002
【特許請求の範囲】
【請求項１】
外部機器に接続され、データを授受する第１の通信部と、
ネットワーク側に対して前記第１の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第２の通信部と、
前記第１の通信部が接続される前記外部機器と、前記第２の通信部にて通信するネットワーク側の相手先機器とが、データの輻輳に対する輻輳制御機能を有しているか否かを前記第１の通信部により受信されるデータと前記第２の通信部により受信されるデータに基づいて判断する第１の判断部と、
前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じているか否かを前記第２の通信部により受信されるデータに基づいて判断する第２の判断部と、
前記第１の判断部により前記第１の通信部が接続される機器が前記輻輳制御機能を有しているが、前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有していないと判断され、なおかつ前記第２の判断部により前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じていると判断したときには、前記第１の通信部が前記外部機器に送信するデータに対し、前記外部機器が有する前記輻輳制御機能を有効にするための第１の制御データを付して前記第１の通信部に送出させる制御部と
を備えることを特徴とする通信機器。
【請求項２】
前記第１の判断部は、前記第１の通信部により受信したデータに前記輻輳制御機能を有する旨の情報が含まれているか否かにより前記第１の通信部が接続される前記外部機器が前記輻輳制御機能を有しているか否かを判断し、前記第２の通信部により受信したデータに前記輻輳制御機能を有する旨の情報が含まれているか否かにより前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有しているか否かを判断する
ことを特徴とする請求項１記載の通信機器。
【請求項３】
前記第２の判断部は、前記第２の通信部によりデータを受信するタイミングが所定時間以上の遅延を生じているか否かにより前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じているか否かを判断する
ことを特徴とする請求項１記載の通信機器。
【請求項４】
前記制御部は、前記第１の判断部により前記第１の通信部が接続される前記外部機器が前記輻輳制御機能を有し、なおかつ前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有していないと判断したときには、前記第１の通信部により受信したデータに含まれている前記輻輳制御機能を有する旨の情報を削除し、前記輻輳制御機能を有する旨の情報が削除されたデータを前記第２の通信部により送信する
ことを特徴とする請求項２又は３に記載の通信機器。
【請求項５】
前記制御部は、前記第１の通信部にて前記外部機器に第１の制御データを送出した後に、前記第１の通信部にて前記外部機器から輻輳制御機能が発揮されたことを示す第２の制御データを受信した場合、前記第１の通信部にてデータ送信の際には前記第１の制御データを送信しない
ことを特徴とする請求項１から４のいずれか一項に記載の通信機器。
【請求項６】
前記制御部は、前記第１の判断部により前記第１の通信部が接続される前記外部機器も前記第２の通信部にて通信する前記相手先機器も前記輻輳制御機能を有していると判断したときには、前記第２の通信部が受信したデータを前記第１の通信部にて接続される前記外部機器に送信する際、前記第１の通信部が受信したデータを前記第２の通信部にて接続される前記相手先機器に送信する際のそれぞれにおいて、データを改変せずに送信させる
ことを特徴とする請求項１から５のいずれか一項に記載の通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの輻輳を制御する機能を有する通信機器に関する。
【背景技術】
【０００２】
ネットワークを介して通信を行う電子機器間では、所定のプロトコル（例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ））にしたがってデータの通信を行っている。ここで、ネットワーク上において、データの輻輳が生じた場合に、これをそのまま放置しておくと、送信されたデータの一部がルータにおいて破棄されてしまう。
ここで、このようなデータの破棄を回避するためのＴＣＰの輻輳制御方法の一つに、ＥＣＮ（Ｅｘｐｌｉｃｉｔ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）がある（例えば、特許文献１を参照。）。ＥＣＮは、ＴＣＰ拡張機能としてＲＦＣ３１６８で規定されたものであり、一部の電子機器のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にも搭載され始めている。
【０００３】
ＥＣＮとは、ルータが輻輳を検出したときに、輻輳を検出したことをデータの送信側の電子機器に伝え、当該送信側の電子機器においてデータの送信速度を制御することにより、輻輳を回避する技術のことである。
具体的には、ＥＣＮに対応する電子機器では、輻輳（混雑）が生じている場合にはウィンドウサイズを小さく制御することによりデータの転送速度を遅くし、一方、輻輳が生じていない場合には通常通りにウィンドウサイズを大きく制御することによりデータの転送速度を速くして、データの破棄が生じないように効率的にデータ通信を行うことができる。
【０００４】
また、ＴＣＰピアは、３ｗａｙハンドシェーク（３つのステップによる接続手順）において、互いがＥＣＮに対応しているかどうかをネゴシエートする。具体的には、ＴＣＰ（ＥＣＮ）コネクションの確立シーケンスは、図８に示すように、ＥＣＮ対応の送信側の電子機器は、ＳＹＮのＴＣＰヘッダにＥＣＥフラグとＣＷＲフラグを立てて送信し（ステップＳＴ１０１）、ＥＣＮ対応の受信側の電子機器は、ＳＹＮ／ＡＣＫのＴＣＰヘッダにＥＣＥフラグを立てて応答することにより実行される（ステップＳＴ１０２）。
【０００５】
また、ＥＣＮによる輻輳制御のシーケンスは、図９に示すように実行される。
ＥＣＮ対応のルータは、転送待ちのパケットを蓄積しておくバッファの使用量が一定の閾値を超えると、ネットワークが輻輳していると判断し、転送パケットのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダのＴｏＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）フィールドに輻輳を経験していることを示すビット（ＣＥ、Ｃｏｎｇｅｓｔｉｏｎ  Ｅｘｐｅｒｉｅｎｃｅｄ）を立てて受信側に転送する（ステップＳＴ１１１）。
【０００６】
受信側の電子機器は、ＩＰヘッダにＣＥの立ったパケットを受信した場合、ＴＣＰヘッダのＥＣＥ（ＥＣＮ−Ｅｃｈｏ）フラグを立てて送信側に確認応答を返す（ステップＳＴ１１２）。この応答は、受信側の電子機器が、送信側の電子機器からＴＣＰヘッダのＣＷＲ（Ｃｏｎｇｅｓｔｉｏｎ  Ｗｉｎｄｏｗ  Ｒｅｄｕｃｅｄ）フラグが立ったパケットを受信するまで続ける。
【０００７】
送信側の電子機器は、ＴＣＰヘッダにＥＣＥフラグが立ったパケットを受信した場合、輻輳が発生していると判断し、輻輳ウィンドウサイズをスロースタートの閾値（ｓｓｔｈｒｅｓｈ）まで減らし、次のパケットのＴＣＰヘッダのＣＷＲフラグを立てて送信する（ステップＳＴ１１３）。
受信側の電子機器は、ＣＷＲフラグの立ったパケットを受信すると、次に続く確認応答パケットのＥＣＥフラグを設定することを停止する（ステップＳＴ１１４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−３５７１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、ネットワーク上の中継機器（ルータ）がＥＣＮに対応しておらず、ＥＣＮを有効にするフラグがセットされたパケットを破棄するような場合には、送信側の電子機器から送信されてきたデータ（ＥＣＮを有効にするフラグがセットされたデータ）が破棄されてしまい、電子機器間において通信ができなくなるという問題がある。
【００１０】
また、送信側の電子機器がＥＣＮに対応しており、ネットワーク上の機器（サーバ、ルータ等）がＥＣＮに対応していない場合には、ＥＣＮを利用できないため、輻輳発生によりルータによってパケットが破棄されてしまう可能性がある。
【００１１】
本発明は、送信側の電子機器がＥＣＮに対応しており、ネットワーク上の機器（サーバ、ルータ等）がＥＣＮに対応していない場合においても、ネットワーク上で輻輳が発生した場合に送信側の電子機器がＥＣＮを利用することができる通信機器を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る通信機器は、上記課題を解決するために、外部機器に接続され、データを授受する第１の通信部と、ネットワーク側に対して前記第１の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第２の通信部と、前記第１の通信部が接続される前記外部機器と、前記第２の通信部にて通信するネットワーク側の相手先機器とが、データの輻輳に対する輻輳制御機能を有しているか否かを（前記第１の通信部により受信されるデータと前記第２の通信部により受信されるデータに基づいて）判断する第１の判断部と、前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じているか否かを（前記第２の通信部により受信されるデータに基づいて）判断する第２の判断部と、前記第１の判断部により前記第１の通信部が接続される機器が前記輻輳制御機能を有しているが、前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有していないと判断され、なおかつ前記第２の判断部により前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じていると判断したときには、前記第１の通信部が前記外部機器に送信するデータに対し、前記外部機器が有する前記輻輳制御機能を有効にするための第１の制御データを付して前記第１の通信部に送出させる制御部とを備えることを特徴とする。
【００１３】
上記通信機器では、前記第１の判断部は、前記第１の通信部により受信したデータに前記輻輳制御機能を有する旨の情報が含まれているか否かにより前記第１の通信部が接続される前記外部機器が前記輻輳制御機能を有しているか否かを判断し、前記第２の通信部により受信したデータに前記輻輳制御機能を有する旨の情報が含まれているか否かにより前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有しているか否かを判断することが好ましい。
【００１４】
上記通信機器では、前記第２の判断部は、前記第２の通信部によりデータを受信するタイミングが所定時間以上の遅延を生じているか否かにより前記第２の通信部にて通信する前記相手先機器でデータの輻輳が生じているか否かを判断することが好ましい。
【００１５】
上記通信機器では、前記制御部は、前記第１の判断部により前記第１の通信部が接続される前記外部機器が前記輻輳制御機能を有し、なおかつ前記第２の通信部にて通信する前記相手先機器が前記輻輳制御機能を有していないと判断したときには、前記第１の通信部により受信したデータに含まれている前記輻輳制御機能を有する旨の情報を削除し、前記輻輳制御機能を有する旨の情報が削除されたデータを前記第２の通信部により送信することが好ましい。
【００１６】
上記通信機器では、前記制御部は、前記第１の通信部にて（前記外部機器に）第１の制御データを送出した後に、前記第１の通信部にて（前記外部機器から輻輳制御機能が発揮されたことを示す）第２の制御データを受信した場合、前記第１の通信部にてデータ送信の際には前記第１の制御データを送信しないことが好ましい。
【００１７】
上記通信機器では、前記制御部は、前記第１の判断部により前記第１の通信部が接続される前記外部機器も前記第２の通信部にて通信する前記相手先機器も前記輻輳制御機能を有していると判断したときには、前記第２の通信部が受信したデータを前記第１の通信部にて接続される前記外部機器に送信する際、前記第１の通信部が受信したデータを前記第２の通信部にて接続される前記相手先機器に送信する際のそれぞれにおいて、データを改変せずに送信させることが好ましい。
【発明の効果】
【００１８】
本発明によれば、ネットワーク上で輻輳が発生した場合に送信側の電子機器においてＥＣＮの利用を可能とする。
【図面の簡単な説明】
【００１９】
【図１】通信機器がＰＣに接続され、ネットワークに接続される様子を示す図である。
【図２】本発明に係る通信機器の機能を示すブロック図である。
【図３】ＴＣＰヘッダの構成を示す模式図である。
【図４】データの送信側のＰＣがＥＣＮに対応し、データの受信側のＰＣがＥＣＮに対応していない場合におけるＴＣＰコネクションの確立シーケンスについての説明に供するシーケンスチャートである。
【図５】データの送信側及び受信側の双方のＰＣがＥＣＮに対応している場合におけるＴＣＰコネクションの確立シーケンスについての説明に供するシーケンスチャートである。
【図６】データの送信側のＰＣがＥＣＮに対応していない場合におけるＴＣＰコネクションの確立シーケンスについての説明に供するシーケンスチャートである。
【図７】データの送信側のＰＣと通信機器との間において行われるＥＣＮによる輻輳制御のシーケンスについての説明に供するシーケンスチャートである。
【図８】ＴＣＰコネクションの確立シーケンスについての説明に供するシーケンスチャートである。
【図９】ＥＣＮによる輻輳制御にシーケンスについての説明に供するシーケンスチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について詳細に説明する。本実施形態に係る通信機器１は、無線通信用のアンテナを有しているＰＣカードに利用され、例えば、図１に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１０１のカードスロット１０２に挿入されて接続されることにより、ＰＣ１０１による基地局２０１を介したネットワーク２０２（例えば、インターネット）への接続に利用される。
【００２１】
通信機器１は、図２に示すように、第１の通信部１１と、第２の通信部１２と、第１の判断部１３と、第２の判断部１４と、制御部１５とを備える。
第１の通信部１１は、外部機器（以下、ＰＣ１０１という。）に接続され、データを授受する。具体的には、第１の通信部１１は、データをＰＣ１０１へ送信する送信ポートと、ＰＣ１０１から送信されてきたデータを受信する受信ポートにより構成されている。
第２の通信部１２は、ネットワーク２０２側に対して第１の通信部１１により受信したデータを送出し、ネットワーク２０２側からデータを受信する。具体的には、第２の通信部１２は、ネットワーク２０２側へデータを送信する送信ポートと、ネットワーク２０２側から送信されてきたデータを受信する受信ポートにより構成されている。
【００２２】
第１の判断部１３は、第１の通信部１１が接続されるＰＣ１０１と、第２の通信部１２にて通信するネットワーク２０２側の相手先機器（以下、ＰＣ３０１という。）とが、データの輻輳に対する輻輳制御機能を有しているか否かを（第１の通信部１１により受信されるデータと第２の通信部１２により受信されるデータに基づいて）判断する。
第２の判断部１４は、第２の通信部１２にて通信するＰＣ３０１でデータの輻輳が生じているか否かを（第２の通信部１２により受信されるデータに基づいて）判断する。
【００２３】
制御部１５は、第１の判断部１３により第１の通信部１１が接続される機器が輻輳制御機能を有しているが、第２の通信部１２にて通信するＰＣ３０１が輻輳制御機能を有していないと判断され、なおかつ第２の判断部１４により第２の通信部１２にて通信するＰＣ３０１でデータの輻輳が生じていると判断したときには、第１の通信部１１がＰＣ１０１に送信するデータに対し、ＰＣ１０１が有する輻輳制御機能を有効にするための第１の制御データ（例えば、ＥＣＥフラグ）を付して第１の通信部１１に送出させる。
【００２４】
ここで、ＴＣＰヘッダの構造について説明する。ＴＣＰヘッダは、図３に示すように、先頭から順番に、Ｓｏｕｒｃｅ  Ｐｏｒｔ（送信元ポート番号）、Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ（宛先ポート番号）、Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ（シーケンス番号）、Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ  Ｎｕｍｂｅｒ（応答確認番号）、Ｄａｔａ  Ｏｆｆｓｅｔ（データオフセット）、Ｒｅｓｅｒｖｅｄ（予約）、Ｃｏｎｔｒｏｌ  Ｂｉｔｓ（制御ビット）、Ｗｉｎｄｏｗ（ウィンドウサイズ）、Ｃｈｅｃｋｓｕｍ（チェックサム）、Ｕｒｇｅｎｔ  Ｐｏｉｎｔｅｒ（緊急ポインタ）、Ｏｐｔｉｏｎｓ（オプション）、Ｐａｄｄｉｎｇ（パディング）により構成されている。
【００２５】
また、制御ビットは、輻輳ウィンドウの減少を通知するＣＷＲ（輻輳ウィンドウ減少）と、輻輳の発生を相手の機器に通知するＥＣＥ（ＥＣＮ−Ｅｃｈｏ）と、緊急ポインタフィールドを使うように指示するＵＲＧ（緊急フラグ）と、セグメントが応答確認を持っている旨を示すＡＣＫ（応答確認フラグ）と、受信可能になったらすぐに送信されるＰＳＨ（転送強制フラグ）と、正しくないパケットを受け取ったときの通信リセットの指示を示すＲＳＴ（リセットフラグ）と、先頭シーケンス番号の転送を示すＳＹＮ（同期フラグ）と、送信終了又は受信可能を示すＦＩＮ（転送終了フラグ）とにより構成されている。
【００２６】
具体的には、制御部１５は、ＴＣＰヘッダの制御ビットのＥＣＥフラグを「１」にセットして第１の通信部１１からＰＣ１０１に供給する。
このようにして、ネットワーク２０２側がＥＣＮに非対応であって、ＰＣ１０１がＥＣＮに対応している場合には、セッション確立時にＰＣ１０１に対してネットワーク２０２側がＥＣＮに対応しているかのように見せることができる。
したがって、従来は、ネットワーク２０２側がＥＣＮに非対応の場合には、ＰＣ１０１の輻輳制御機能を発揮させることができなかったが、通信機器１によれば、ネットワーク２０２側がＥＣＮに非対応であってもＰＣ１０１の輻輳制御機能を発揮させることができ、データ伝送の効率化を図ることができる。
【００２７】
また、第１の判断部１３は、第１の通信部１１により受信したデータに輻輳制御機能を有する旨の情報が含まれているか否かにより第１の通信部１１が接続されるＰＣ１０１が輻輳制御機能を有しているか否かを判断し、第２の通信部１２により受信したデータに輻輳制御機能を有する旨の情報が含まれているか否かにより第２の通信部１２にて通信するＰＣ３０１が輻輳制御機能を有しているか否かを判断する。
【００２８】
具体的には、第１の判断部１３は、第１の通信部１１により受信したデータに含まれているＴＣＰヘッダの制御ビットに、ＥＣＥフラグとＣＷＲフラグが付加されている場合にはＰＣ１０１が輻輳制御機能を有していると判断する。また、第１の判断部１３は、第２の通信部１２により受信したデータに含まれているＴＣＰヘッダの制御ビットに、ＥＣＥフラグとＣＷＲフラグが付加されている場合にはＰＣ３０１が輻輳制御機能を有していると判断する。
【００２９】
また、第２の判断部１４は、第２の通信部１２によりデータを受信するタイミング（送信したデータに対する応答の遅延時間）が所定時間以上の遅延を生じているか否かにより第２の通信部１２にて通信するＰＣ３０１でデータの輻輳が生じているか否かを判断する。
【００３０】
ＴＣＰを利用したデータ通信においては、データを送信する機器は、各ＴＣＰパケットにシーケンスナンバー（例えば、Ｓｅｑ＃＝１０００）を付して送信する。これは、パケットの連続性を確認するためのものである。また、受信側の機器は、ＴＣＰパケットが届いたことを送信側の機器に知らせるために同一のナンバーを付して確認応答（Ａｃｋｎｏｗｌｅｄｇｅ）ナンバー（例えば、Ａｃｑ＃＝１０００）を付して返信する。
第２の判断部１４は、データを送信してから応答データが送信されてくるまでの時間を検出し、当該時間が所定の時間を超えている場合には、第２の通信部１２にて通信するＰＣ３０１でデータの輻輳が生じていると判断する。
【００３１】
また、制御部１５は、第１の判断部１３により第１の通信部１１が接続されるＰＣ１０１が輻輳制御機能を有し、なおかつ第２の通信部１２にて通信するＰＣ３０１が輻輳制御機能を有していないと判断した場合には、第１の通信部１１により受信したデータに含まれている輻輳制御機能を有する旨の情報を削除し、輻輳制御機能を有する旨の情報が削除されたデータを第２の通信部１２により送信する。
【００３２】
ここで、ＥＣＮに対応していない機器においては、ＴＣＰヘッダの制御ビットのＥＣＥフラグとＣＷＲフラグの部分は、フラグがセットされていない状態、すなわち「０」になっていなければ規格上整合していないと判断し、ＥＣＥフラグやＣＷＲフラグがセットされているパケットを破棄してしまう。
【００３３】
したがって、通信機器１では、ネットワーク２０２側がＥＣＮに対応していないと判断した場合には、輻輳制御機能を有する旨の情報を削除、すなわち、ＴＣＰヘッダの制御ビットのＥＣＥフラグとＣＷＲフラグの部分を「０」にして第２の通信部１２によりネットワーク２０２側に送信する。こうすることにより、ネットワーク２０２側では、パケットの破棄が生じさせなくすることができる。
【００３４】
また、制御部１５は、第１の通信部１１にてＰＣ１０１に第１の制御データ（ＥＣＥフラグ）を送出した後に、第１の通信部１１にてＰＣ１０１から輻輳制御機能が発揮されたことを示す第２の制御データ（ＣＷＲフラグ）を受信した場合、第１の通信部１１にてデータ送信の際には第１の制御データを送信しない。
ＰＣ１０１は、ネットワーク２０２側で輻輳が生じていることを確認し、輻輳ウィンドウを減少させ、そのことを示す第２の制御データを出力する。通信機器１では、ＰＣ１０１に確認応答のデータを送信する際に、当該データにＥＣＥフラグをセットしないで送信する。なお、輻輳ウィンドウが減少されることにより、ＰＣ１０１から出力されるデータ量が減少することになる。
また、ＰＣ１０１は、輻輳ウィンドウを減少させた後、規定上定められた量にしたがって輻輳ウィンドウを少しずつ増加させて行き、時間をかけてウィンドウの幅を元に戻してゆく。
【００３５】
また、制御部１５は、第１の判断部１３により第１の通信部１１が接続されるＰＣ１０１も第２の通信部１２にて通信するＰＣ３０１も輻輳制御機能を有していると判断したときには、第２の通信部１２が受信したデータを第１の通信部１１にて接続されるＰＣ１０１に送信する際、第１の通信部１１が受信したデータを第２の通信部１２にて接続されるＰＣ３０１に送信する際のそれぞれにおいて、データを改変せずに送信させる。
このように動作することにより、通信機器１は、それぞれＥＣＮに対応するＰＣ１０１とＰＣ３０１との間において行われる輻輳の制御を妨げることがない。
【００３６】
＜ＴＣＰコネクションの確立シーケンス（１）＞
ここで、ＰＣ１０１がＥＣＮに対応し、ＰＣ３０１がＥＣＮに対応していない場合におけるＴＣＰコネクションの確立シーケンスについて、図４を参照しながら説明する。
【００３７】
ＰＣ１０１は、ＴＣＰ確立を行うためにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ）パケットを送信する（ステップＳＴ１）。当該ＳＹＮパケットには、ＥＣＮに対応していることを示すＥＣＥフラグとＣＷＲフラグが付加されている。
また、通信機器１は、当該ＳＹＮパケットによりＰＣ１０１がＥＣＮに対応していることを記憶し、そのままネットワーク２０２に転送する（ステップＳＴ２）。
ネットワーク２０２は、送信されてきたＳＹＮパケットに対し、ＳＹＮ／ＡＣＫ（ＳＹＮ−Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットを送信（返信）する（ステップＳＴ３）。ここで、ネットワーク２０２がＥＣＮに対応していない場合には、ＥＣＥフラグは付加されない。
【００３８】
そして、通信機器１は、ＰＣ１０１がＥＣＮをサポートしているため、ネットワーク２０２から返信されてきたパケットのヘッダにＥＣＥフラグを付加してＰＣ１０１に送信し、自身のＥＣＮを有効状態にする（ステップＳＴ４）。
【００３９】
つまり、通信機器１は、ＴＣＰ確立の３ｗａｙハンドシェイクにおいて、ネットワーク２０２から受信したＴＣＰ／ＩＰパケットのヘッダの制御ビットにＥＣＥフラグが付加されていない場合、通信機器１のＥＣＮを有効状態「ＯＮ」にし、ヘッダの制御ビットにＥＣＥフラグを付加し、ネットワーク２０２がＥＣＮを有しているかのようにＰＣ１０１に見せることにより、ＰＣ１０１のＥＣＮを有効状態にする。以降は、ＰＣ１０１と通信機器１との間でＥＣＮ制御を行うことができる。
【００４０】
このように構成されることにより、通信機器１は、あたかもネットワーク２０２がＥＣＮをサポートしているかのようにＰＣ１０１に見せかけることができる。したがって、ＴＣＰコネクションの確立シーケンス以降、ＰＣ１０１と通信機器１との間では、ＥＣＮ制御によりデータ通信を行うことができる。
【００４１】
＜ＴＣＰコネクションの確立シーケンス（２）＞
また、ＰＣ１０１がＥＣＮに対応し、ネットワーク２０２側もＥＣＮに対応している場合におけるＴＣＰコネクションの確立シーケンスについて、図５を参照しながら説明する。
【００４２】
ＰＣ１０１は、ＴＣＰ確立を行うためにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ）パケットを送信する（ステップＳＴ１１）。当該ＳＹＮパケットには、ＥＣＮに対応していることを示すＥＣＥフラグとＣＷＲフラグが付加されている。
通信機器１は、そのパケットでＰＣがＥＣＮに対応していることを記憶し、そのままネットワークに転送する。
また、通信機器１は、当該ＳＹＮパケットによりＰＣ１０１がＥＣＮに対応していることを記憶し、そのままネットワーク２０２に転送する（ステップＳＴ１２）。
【００４３】
ネットワーク２０２は、送信されてきたＳＹＮパケットに対し、ＳＹＮ／ＡＣＫ（ＳＹＮ−Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットを送信（返信）する（ステップＳＴ１３）。ここで、ネットワーク２０２がＥＣＮに対応している場合には、ＥＣＥフラグが付加される。
そして、通信機器１は、ＰＣ１０１とネットワーク２０２がともにＥＣＮに対応しているので、自身のＥＣＮを無効状態にする（ステップＳＴ１４）。つまり、通信機器１は、ＴＣＰコネクションの確立シーケンスにおいて、ＴＣＰパケットヘッダの改変は行わない。
【００４４】
つまり、通信機器１は、ＴＣＰ確立の３ｗａｙハンドシェイクにおいて、ネットワーク２０２から受けたＴＣＰ／ＩＰパケットのヘッダ部にＥＣＥフラグが付加されていれば、自身のＥＣＮを無効常態「ＯＦＦ」にし、ＴＣＰコネクションの確立のときにＴＣＰパケットヘッダの改変を行わない。
【００４５】
このように構成されることによって、通信機器１は、ＥＣＮに対応するＰＣ１０１とＰＣ３０１との間において行われる輻輳の制御を妨げることがない。
【００４６】
＜ＴＣＰコネクションの確立シーケンス（３）＞
また、ＰＣ１０１がＥＣＮに対応していない場合におけるＴＣＰコネクションの確立シーケンスについて、図６を参照しながら説明する。
ＰＣ１０１は、ＴＣＰ確立を行うためにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ）パケットを送信する（ステップＳ２１）。ＰＣ１０１がＥＣＮに対応していないため、当該ＳＹＮパケットは、ＥＣＥフラグとＣＷＲフラグが付加されていない。
通信機器１は、自身のＥＣＮを無効状態にして、ＳＹＮパケットをそのままネットワーク２０２に転送する（ステップＳＴ２２）。
【００４７】
つまり、通信機器１は、ＴＣＰコネクションの確立の３ｗａｙハンドシェイクにおいて、ＰＣ１０１から受けたＴＣＰ／ＩＰパケットのヘッダ部にＥＣＥフラグとＣＷＲフラグが付加されていなければ、自身のＥＣＮを無効状態「ＯＦＦ」にし、ＴＣＰコネクションの確立シーケンスのときにＴＣＰパケットヘッダの改変は行わない。
【００４８】
つぎに、ＰＣ１０１と通信機器１との間において行われるＥＣＮによる輻輳制御のシーケンスを図７に示す。
通信機器１は、ＰＣ１０１からのＡＣＫ受信の遅延時間Ｔに基づいて、ネットワーク２０２が輻輳していることを検出する（ステップＳ３１）。ここで、遅延時間Ｔは、直近Ｎ回の移動平均時間と閾値より算出する。
【００４９】
通信機器１は、輻輳検出後の直後にネットワーク２０２側から受信したＡＣＫパケットのヘッダにＥＣＥを付加し、ＰＣ１０１へ転送する（ステップＳ３２）。
ＰＣ１０１は、ＴＣＰヘッダにＥＣＥフラグがセットされたパケットを受信した場合、ネットワーク２０２側で輻輳が発生していると判断し、輻輳ウィンドウサイズをスロースタートの閾値（ｓｓｔｈｒｅｓｈ）まで減らし、その旨を伝えるために次のパケットのＴＣＰヘッダにおいてＣＷＲフラグをセットして送信する（ステップＳＴ３３）。
通信機器１は、ＣＷＲフラグがセットされたパケットを受信すると、ネットワーク２０２から受信したＡＣＫパケットにＥＣＥフラグをセットしないでＰＣ１０１に送信する（ステップＳＴ３４）。
【００５０】
このようにして、通信機器１では、ＴＣＰコネクションの確立シーケンスにＰＣ１０１及びネットワーク２０２側のＥＣＮの対応状況により、自身のＥＣＮを有効状態又は無効状態にする。通信機器１は、ＰＣ１０１もネットワーク２０２もＥＣＮに対応している場合には、自身のＥＣＮを無効状態にして、既存の技術を活用する。また、通信機器１は、ＰＣ１０１がＥＣＮに対応しており、ネットワーク２０２側がＥＣＮに対応していない場合には、ＰＣ１０１との間においてＥＣＮを発揮する。
したがって、通信機器１は、ＰＣ１０１との間のみでＥＣＮによる制御を行うことで、ネットワーク２０２側がＥＣＮに対応していない場合においても、ネットワーク全体として、ＥＣＮによる輻輳制御による効果を得ることができる。
【符号の説明】
【００５１】
１  通信機器
１１  第１の通信部
１２  第２の通信部
１３  第１の判断部
１４  第２の判断部
１５  制御部
【図１】
2010232877.tif 000003
【図２】
2010232877.tif 000004
【図３】
2010232877.tif 000005
【図４】
2010232877.tif 000006
【図５】
2010232877.tif 000007
【図６】
2010232877.tif 000008
【図７】
2010232877.tif 000009
【図８】
2010232877.tif 000010
【図９】
2010232877.tif 000011