JP2010232876A - 通信機器 - Google Patents

通信機器 Download PDF

Info

Publication number
JP2010232876A
JP2010232876A JP2009077262A JP2009077262A JP2010232876A JP 2010232876 A JP2010232876 A JP 2010232876A JP 2009077262 A JP2009077262 A JP 2009077262A JP 2009077262 A JP2009077262 A JP 2009077262A JP 2010232876 A JP2010232876 A JP 2010232876A
Authority
JP
Japan
Prior art keywords
unit
token
communication unit
data
congestion
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.)
Granted
Application number
JP2009077262A
Other languages
English (en)
Other versions
JP5405870B2 (ja
Inventor
Kazuo Onishi
一生 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2009077262A priority Critical patent/JP5405870B2/ja
Priority to US12/748,337 priority patent/US20100246400A1/en
Publication of JP2010232876A publication Critical patent/JP2010232876A/ja
Application granted granted Critical
Publication of JP5405870B2 publication Critical patent/JP5405870B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】電子機器及びネットワークとの間でECNによる輻輳制御を行うことができる通信機器を提供すること。
【解決手段】第1の通信部11と、第2の通信部12と、トークンを生成する第1のトークン生成部13と、トークンを記憶する第1のトークン記憶部14と、記憶されているトークン量を検出する第1の検出部15と、トークン量が第1の閾値に達している場合には、第1の通信部11により受信したデータを第2の通信部12によりネットワーク202へ送信する第1の制御部16と、PC101がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第1の判断部17と、を備える。第1の制御部16は、トークン量が第2の閾値以下であり、PC101が輻輳制御機能を有していると判断した場合には、第1の通信部11が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して第1の通信部11に送出させる。
【選択図】図2

Description

本発明は、データの輻輳を制御する機能を有する通信機器に関する。
複数の電子機器が接続されているネットワークにおいては、特定の電子機器が無線リソースを使いすぎないよう移動機器(電子機器に接続されてネットワークに接続する機器)側で通信速度(スループット)を制御する機能(以下、トラフック制御機能という。)を有している。具体的には、トラフィック制御機能は、上り/下りにそれぞれ一つずつトークンバケット機構を有し、それぞれ独立してスループットを制御する機能である。
トークンバケット機構は、入力されたパケットを蓄積するパケットバッファと、トークンを蓄積するトークンバケットを持つ。トークンバケットには一定間隔毎にトークンが補充され、規定量のトークンが溜まるまでパケットバッファ内のパケットは出力できない。また、トークンの量に見合うパケットを出力したらその分のトークンがトークンバケットから差し引かれる。すなわち、パケットバッファに蓄積されたパケットのスループットは、単位時間あたりにトークンバケットにトークンが補充される量(トークンレート)によって制御される。トークンレートは、移動機器内部に設定されたパラメータと網環境によって動的に変化するため、一定ではない。実際の動作の例では、網が混雑している場合にはトークンレートを低くし、一方で空いている場合にはトークンレートを高くするという制御を行っている。
また、トークンレートは、パケットバッファに入力される平均スループットを元に算出される。したがって、トークンレートは、通常では平均スループットよりも高いレートにはならない。
また、一時的にトークンの前借を行い、一定量までのデータであれば規制なく送受信することができるようにした機能(以下、トークン強制追加機能という。)がある。トークン強制追加機能は、一定量未満の通信しか行わないユーザ(いわゆる、ライトユーザ)の使用感を損ねないよう配慮した機能である。このトークン強制追加機能が作動すると、いったんそれまで移動機器内部のパケットバッファに蓄積されていたデータはすべて送出され、その後前借したトークンを返済するまでの間はトークンレートが抑制されるという動作になる。
また、TCP(Transmission Control Protocol)の輻輳制御方法の一つに、ECN(Explicit Congestion Notification)がある(例えば、特許文献1を参照。)。ECNは、ルータが輻輳を検出し、その情報をTCP送信者に伝えることで送信速度を制限し、輻輳を回避する為の方法である。
また、TCPピアは、3wayハンドシェーク(3つのステップによる接続手順)において、互いがECNに対応しているかどうかをネゴシエートする。具体的には、TCP(ECN)コネクションの確立シーケンスは、図9に示すように、ECN対応の送信側の電子機器は、SYNのTCPヘッダにECEフラグとCWRフラグを立てて送信し(ステップST101)、ECN対応の受信側の電子機器は、SYN/ACKのTCPヘッダにECEフラグを立てて応答することにより実行される(ステップST102)。
また、ECNによる輻輳制御のシーケンスは、図10に示すように実行される。
ECN対応のルータは、転送待ちのパケットを蓄積しておくバッファの使用量が一定の閾値を超えると、ネットワークが輻輳していると判断し、転送パケットのIP(Internet Protocol)ヘッダのToS(Type of Service)フィールドに輻輳を経験していることを示すビット(CE、Congestion Experienced)を立てて受信側に転送する(ステップST111)。
受信側の電子機器は、IPヘッダにCEの立ったパケットを受信した場合、TCPヘッダのECE(ECN−Echo)フラグを立てて送信側に確認応答を返す(ステップST112)。この応答は、受信側の電子機器が、送信側の電子機器からTCPヘッダのCWR(Congestion Window Reduced)フラグが立ったパケットを受信するまで続ける。
送信側の電子機器は、TCPヘッダにECEフラグが立ったパケットを受信した場合、輻輳が発生していると判断し、輻輳ウィンドウサイズをスロースタートの閾値(ssthresh)まで減らし、次のパケットのTCPヘッダのCWRフラグを立てて送信する(ステップST113)。
受信側の電子機器は、CWRフラグの立ったパケットを受信すると、次に続く確認応答パケットのECEフラグを設定することを停止する(ステップST114)。
特開2004−357177号公報
ところで、トラフィック制御機能は、構成が複雑なため、制御部(CPU)の処理負担が高くなり、移動機器の性能が劣化してしまう。また、移動機器の内部のパケットバッファが溢れ、ルータと同じくパケットが破棄されるおそれがある。
本発明は、トラフィック制御機能のトークンレートのみを利用して、接続対象となる電子機器及びネットワークとの間でECNによる輻輳制御を行うことができる通信機器を提供することを目的とする。
本発明に係る通信機器は、上記課題を解決するために、外部機器に接続され、データを授受する第1の通信部と、ネットワーク側に対して前記第1の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第2の通信部と、所定のデータ量により構成されているトークンを生成する第1のトークン生成部と、前記トークンを記憶する第1のトークン記憶部と、前記第1のトークン記憶部に記憶されているトークン量を検出する第1の検出部と、前記第1の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第1の通信部により受信したデータを当該トークン量に応じた分だけ前記第2の通信部により前記ネットワークへ送信するように制御する第1の制御部と、前記第1の通信部が接続される機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第1の判断部と、を備え、前記第1の制御部は、前記第1の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第1の判断部により前記第1の通信部が接続される機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して前記第1の通信部に送出させることを特徴とする。
上記通信機器では、前記第1の判断部は、前記第1の通信部により受信したデータに前記輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより前記第1の通信部が接続される機器が前記輻輳制御機能を有しているか否かを判断することが好ましい。
上記通信機器では、前記第1の制御部は、前記第1の通信部により、接続される前記外部機器から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、前記データから前記第3の制御情報を削除し、当該第3の制御情報が削除されたデータを前記第2の通信部により前記ネットワークへ送信するが好ましい。
本発明に係る通信機器は、上記課題を解決するために、外部機器に接続され、データを授受する第1の通信部と、ネットワーク側から、前記第1の通信部により送信するためのデータを受信し、前記第1の通信部により受信したデータを前記ネットワーク側に送信する第2の通信部と、所定のデータ量により構成されているトークンを生成する第2のトークン生成部と、前記トークンを記憶する第2のトークン記憶部と、前記第2のトークン記憶部に記憶されているトークン量を検出する第2の検出部と、前記第2の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第2の通信部により受信したデータを当該トークン量に応じた分だけ前記第1の通信部により前記外部機器へ送信するように制御する第2の制御部と、前記ネットワーク側の機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第2の判断部と、を備え、前記第2の制御部は、前記第2の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第2の判断部によりネットワーク側の機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して前記第2の通信部に送出させることを特徴とする。
上記通信機器では、前記第2の判断部は、前記第2の通信部により受信したデータに前記輻輳制御機能を有する旨の第5の制御情報が含まれているか否かにより前記ネットワーク側の機器が前記輻輳制御機能を有しているか否かを判断することが好ましい。
上記通信機器では、前記第2の制御部は、前記第2の通信部により前記ネットワーク側の機器から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、前記データから前記第6の制御情報を削除し、当該第6の制御情報が削除されたデータを前記第1の通信部により前記外部機器へ送信することが好ましい。
本発明によれば、接続対象となる電子機器及びネットワークとの間でECNによる輻輳制御を行うことができる。
通信機器がPCに接続され、ネットワークに接続される様子を示す図である。 本発明に係る通信機器の第1の機能を示すブロック図である。 TCPヘッダの構成を示す模式図である。 本発明に係る通信機器の第2の機能を示すブロック図である。 通信機器に直接接続されるPCがECNに対応しており、ネットワーク側がECNに対応していない場合におけるTCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。 通信機器に直接接続されるPCがECNに対応しておらず、ネットワーク側がECNに対応している場合におけるTCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。 ネットワーク側で輻輳が生じた場合のPCによる輻輳制御の動作についての説明に供するシーケンスチャートである。 PCで輻輳が生じた場合のネットワーク側による輻輳制御の動作についての説明に供するシーケンスチャートである。 TCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。 ECNによる輻輳制御にシーケンスについての説明に供するシーケンスチャートである。
以下、本発明の実施形態について詳細に説明する。本実施形態に係る通信機器1は、無線通信用のアンテナを有しているPCカードに利用され、例えば、図1に示すように、PC(Personal Computer)101のカードスロット102に挿入されて接続されることにより、PC101による基地局201を介したネットワーク202(例えば、インターネット)への接続に利用される。
<第1の実施例>
通信機器1は、図2に示すように、第1の通信部11と、第2の通信部12と、第1のトークン生成部13と、第1のトークン記憶部14と、第1の検出部15と、第1の制御部16と、第1の判断部17とを備える。
第1の通信部11は、外部機器(以下、PC101という。)に接続され、データを授受する。具体的には、第1の通信部11は、データをPC101へ送信する送信ポートと、PC101から送信されてきたデータを受信する受信ポートにより構成されている。
第2の通信部12は、ネットワーク202側に対して第1の通信部11により受信したデータを送出し、ネットワーク202側からデータを受信する。具体的には、第2の通信部12は、ネットワーク202側へデータを送信する送信ポートと、ネットワーク202側から送信されてきたデータを受信する受信ポートにより構成されている。
第1のトークン生成部13は、所定のデータ量により構成されているトークンを生成する。第1のトークン記憶部14は、第1のトークン生成部13により生成されたトークンを記憶する。第1の検出部15は、第1のトークン記憶部14に記憶されているトークン量を検出する。第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値に達したか否かを判断し、トークン量が第1の閾値に達していると判断した場合には、第1の通信部11により受信したデータを当該トークン量に応じた分だけ第2の通信部12によりネットワーク202へ送信するように制御する。
ここで、トークンとは、単位あたり所定のデータ量で構成されており、第1のトークン記憶部14には、第1のトークン生成部13により生成されるトークンが順次蓄積されてゆく。
また、第1の制御部16は、第1のトークン記憶部14に蓄積されるトークンが第1の閾値に達したことを第1の検出部15による検出結果から判断した場合に、蓄積されているトークン量に見合う分のデータを第2の通信部12によりネットワーク202へ送信するように制御する。また、第1の制御部16は、データが送信された後、送信されたデータに見合う分のトークンを第1のトークン記憶部14から削減する。
また、第1の判断部17は、第1の通信部11が接続されるPC101がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する。
第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、かつ第1の判断部17により第1の通信部11が接続されるPC101が輻輳制御機能を有していると判断した場合には、以下の動作を行う。第1の制御部16は、第1の通信部11が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して第1の通信部11に送出させる。なお、トークン量が第2の閾値以下になっているということは、トークンが不足していることを意味している。
第1の制御部16は、トークン量が第2の閾値以下の状態が一定時間以上継続している場合には、ネットワーク202側で輻輳が生じていると判断し、データに第1の制御情報を付加してPC101に送信する。PC101は、第1の制御情報を受信した場合には、輻輳ウィンドウを減少させる。このようにして、PC101は、輻輳ウィンドウを減少するので、通信機器1へ出力するデータ量(パケット量)が減少される。また、PC101は、輻輳ウィンドウを減少させた後、規定上定められた量にしたがって輻輳ウィンドウを少しずつ増加させて行き、時間をかけてウィンドウの幅を元に戻してゆく。
ここで、TCPヘッダの構造について説明する。TCPヘッダは、図3に示すように、先頭から順番に、Source Port(送信元ポート番号)、Destination Port(宛先ポート番号)、Sequence Number(シーケンス番号)、Acknowledgment Number(応答確認番号)、Data Offset(データオフセット)、Reserved(予約)、Control Bits(制御ビット)、Window(ウィンドウサイズ)、Checksum(チェックサム)、Urgent Pointer(緊急ポインタ)、Options(オプション)、Padding(パディング)により構成されている。
また、制御ビットは、輻輳ウィンドウの減少を通知するCWR(輻輳ウィンドウ減少)と、輻輳の発生を相手の機器に通知するECE(ECN−Echo)と、緊急ポインタフィールドを使うように指示するURG(緊急フラグ)と、セグメントが応答確認を持っている旨を示すACK(応答確認フラグ)と、受信可能になったらすぐに送信されるPSH(転送強制フラグ)と、正しくないパケットを受け取ったときの通信リセットの指示を示すRST(リセットフラグ)と、先頭シーケンス番号の転送を示すSYN(同期フラグ)と、送信終了又は受信可能を示すFIN(転送終了フラグ)とにより構成されている。
具体的には、第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、第1の判断部17により第1の通信部11が接続されるPC101が輻輳制御機能を有していると判断した場合には、第1の通信部11からPC101にデータを送信する際に、TCPヘッダの制御ビットのECEフラグ(第1の制御情報に相当する)を「1」にセットする。
このようにして、通信機器1は、PC101がECNに対応している場合には、トークン量(トークンレート)に応じて、PC101との間において輻輳制御を行うことができる。
したがって、トークンレートを利用してトラフィック制御を行う従来の構成では、通信機器に対するデータの入力速度がデータの出力速度よりも大きくなり、通信機器内部のパケットバッファが溢れてしまい、パケットが消失する危険性があったが、本実施形態に係る通信機器1では、パケットの消失を回避することができる。
また、通信機器1では、上述したようにパケットの消失を回避することができるので、パケットの消失に起因して生じるパケットの再送を抑制することができ、回線リソースの有効活用を図ることができる。
また、通信機器1では、パケットバッファへのバッファリング処理を不要とすることもできるので、従来の構成に比べて処理負担の軽減を図ることができる。
また、第1の判断部17は、第1の通信部11により受信したデータに輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより第1の通信部11が接続されるPC101が輻輳制御機能を有しているか否かを判断する。
具体的には、第1の判断部17は、第1の通信部11により受信したデータに含まれているTCPヘッダの制御ビットのECEフラグとCWRフラグ(第2の制御情報に相当する)が「1」にセットされていればPC101が輻輳制御機能を有していると判断する。
また、第1の制御部16は、第1の通信部11により、接続されるPC101から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、データから第3の制御情報を削除し、当該第3の制御情報が削除されたデータを第2の通信部12によりネットワーク202へ送信するように制御する。
具体的には、第1の制御部16は、PC101からTCPヘッダの制御ビットのCWRフラグ(第3の制御情報に相当する)が「1」にセットされたデータを受信した場合には、CWRフラグを「0」にセットし直したデータをネットワーク202へ送信するように制御する。
このように構成されることにより、PC101と通信機器1との間において輻輳の制御を行い、ネットワーク202側には影響を与えないようにすることができる。
<第2の実施例>
上述した第1の実施例では、通信機器1を介してPC101からネットワーク202へデータを送信する際において、ネットワーク202側で輻輳が生じた場合における通信機器1の制御について説明した。第2の実施例では、ネットワーク202側のPC301から通信機器1を介してPC101へデータを送信する際において、PC101で輻輳が生じた場合における通信機器1の制御について説明する。なお、通信機器1と同一の構成及び動作を行う要素には同一の番号を付して説明する。
通信機器1は、図4に示すように、第1の通信部11と、第2の通信部12と、第2のトークン生成部21と、第2のトークン記憶部22と、第2の検出部23と、第2の制御部24と、第2の判断部25と、を備える。なお、これらの構成は、第1の実施例における通信機器1にさらに備えられても良い。
第1の通信部11は、PC101に接続され、データを授受する。具体的には、第1の通信部11は、データをPC101へ送信する送信ポートと、PC101から送信されてきたデータを受信する受信ポートにより構成されている。
第2の通信部12は、ネットワーク202側から、第1の通信部11により送信するためのデータを受信し、第1の通信部11により受信したデータをネットワーク202側に送信する。具体的には、第2の通信部12は、ネットワーク202側へデータを送信する送信ポートと、ネットワーク202側から送信されてきたデータを受信する受信ポートにより構成されている。
第2のトークン生成部21は、所定のデータ量により構成されているトークンを生成する。第2のトークン記憶部22は、第2のトークン生成部21で生成されたトークンを記憶する。第2の検出部23は、第2のトークン記憶部22に記憶されているトークン量を検出する。第2の制御部24は、第2の検出部23により検出されたトークン量が第1の閾値に達したか否かを判断し、トークン量が第1の閾値に達していると判断した場合には、第2の通信部12により受信したデータを当該トークン量に応じた分だけ第1の通信部11によりPC101へ送信するように制御する。
また、第2の制御部24は、第2のトークン記憶部22に蓄積されるトークンが第1の閾値に達したことを第2の検出部23による検出結果から判断した場合に、蓄積されているトークン量に見合う分のデータを第1の通信部11によりPC101へ送信するように制御する。また、第2の制御部24は、データが送信された後、送信されたデータに見合う分のトークンを第2のトークン記憶部22から削減する。
また、第2の判断部25は、ネットワーク202側の機器(以下、PC301という。)がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する。
このように構成される場合には、第2の制御部24は、第2の検出部23により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、第2の判断部25によりネットワーク202側のPC301が輻輳制御機能を有していると判断した場合には、第1の通信部11により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して第2の通信部12に送出させる。なお、トークン量が第2の閾値以下になっているということは、トークンが不足していることを意味している。
第2の制御部24は、トークン量が第2の閾値以下の状態が一定時間以上継続している場合には、PC101で輻輳が生じていると判断し、データに付加されるTCPヘッダの制御ビットのECEフラグ(第4の制御情報に相当する)を「1」にセットしてネットワーク202に送信する。PC301は、第4の制御情報を受信した場合には、輻輳ウィンドウを減少させる。このようにして、PC301は、輻輳ウィンドウを減少するので、ネットワーク202を介して通信機器1へ送信するデータ量(パケット量)を減少する。また、PC301は、輻輳ウィンドウを減少させた後、規定上定められた量にしたがって輻輳ウィンドウを少しずつ増加させて行き、時間をかけてウィンドウの幅を元に戻してゆく。
このようにして、通信機器1は、PC301がECNに対応している場合には、トークン量(トークンレート)に応じて、PC301との間において輻輳制御を行うことができる。
したがって、トークンレートを利用してトラフィック制御を行う従来の構成では、通信機器に対するデータの入力速度がデータの出力速度よりも大きくなり、通信機器内部のパケットバッファが溢れてしまい、パケットが消失する危険性があったが、本実施形態に係る通信機器1では、パケットの消失を回避することができる。
また、通信機器1では、上述したようにパケットの消失を回避することができるので、パケットの消失に起因して生じるパケットの再送を抑制することができ、回線リソースの有効活用を図ることができる。
また、通信機器1では、パケットバッファへのバッファリング処理を不要とすることもできるので、従来の構成に比べて処理負担の軽減を図ることができる。
第2の判断部25は、第2の通信部12により受信したデータに輻輳制御機能を有する旨の第5の制御情報が含まれているか否かによりネットワーク202側のPC301が輻輳制御機能を有しているか否かを判断する。
具体的には、第2の判断部25は、第2の通信部12により受信したデータに含まれているTCPヘッダの制御ビットのECEフラグとCWRフラグ(第5の制御情報に相当する)が「1」にセットされていればPC301が輻輳制御機能を有していると判断する。
また、第2の制御部24は、第2の通信部12によりネットワーク202側のPC301から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、データから第6の制御情報を削除し、当該第6の制御情報が削除されたデータを第1の通信部11によりPC101へ送信するように制御する。
具体的には、第2の制御部24は、PC301からTCPヘッダの制御ビットのCWRフラグ(第6の制御情報に相当する)が「1」にセットされたデータを受信した場合には、CWRフラグを「0」にセットし直したデータをPC101へ送信するように制御する。
このように構成されることにより、ネットワーク202を介してPC301と通信機器1との間において輻輳の制御を行い、PC101には影響を与えないようにすることができる。
<TCPコネクションの確立シーケンス(1)>
ここで、PC101がECNに対応しており、ネットワーク202側がECNに対応していない場合におけるTCPコネクションの確立シーケンスについて、図5を参照しながら説明する。なお、ネットワーク202側とは、ネットワーク202に接続されており、PC101の送信先の機器を含めた概念である。
PC101は、TCP確立を行うためにSYN(Synchronize)パケットを送信する(ステップST1)。当該SYNパケットには、ECNに対応していることを示すECEフラグとCWRフラグが付加されている。
また、通信機器1は、当該SYNパケットによりPC101がECNに対応していることを記憶し、そのままネットワークに転送する(ステップST2)。
ネットワーク202側は、送信されてきたSYNパケットに対し、SYN/ACK(SYN−Acknowledgement)パケットを送信(返信)する(ステップST3)。ここで、ネットワーク202側がECNに対応していない場合には、ECEフラグは付加されない。
そして、通信機器1は、PC101がECNをサポートしているため、ネットワーク202側から返信されてきたパケットのヘッダにECEフラグを付加してPC101に送信し、自身のECNを有効状態にする(ステップST4)。
つまり、通信機器1は、TCP確立の3wayハンドシェイクにおいて、ネットワーク202側から受信したTCP/IPパケットのヘッダの制御ビットにECEフラグが付加されていない場合、通信機器1のECNを有効状態「ON」にし、ヘッダの制御ビットにECEフラグを付加し、ネットワーク202側がECNを有しているかのようにPC101に見せることにより、PC101のECNを有効状態にする。以降は、PC101と通信機器1との間でECN制御を行う。
このように構成されることにより、通信機器1は、あたかもネットワーク202側がECNをサポートしているかのようにPC101に見せかけることができる。したがって、TCPコネクションの確立シーケンス以降、PC101と通信機器1との間では、ECN制御によりデータ通信を行うことができる。
<TCPコネクションの確立シーケンス(2)>
つぎに、PC101がECNに対応しておらず、ネットワーク202側がECNに対応している場合におけるTCPコネクションの確立シーケンスについて、図6を参照しながら説明する。なお、ネットワーク202側とは、ネットワーク202に接続されており、PC101の送信先の機器を含めた概念である。
PC101は、TCP確立を行うためにSYNパケットを送信する(ステップST11)。本シーケンスにおいては、PC101は、ECNに対応していないため、SYNパケットにはECEフラグとCWRフラグが付加されていない。
また、通信機器1は、当該SYNパケットのヘッダにECEフラグとCWRフラグを付加し、ネットワーク202側に転送する(ステップST12)。この動作により、通信機器1は、あたかもPC101がECNに対応しているかのようにネットワーク202側に見せることができる。
また、ネットワーク202は、受信したSYNパケットに対し、SYN/ACK(SYN−Acknowledgement)パケットに対する応答パケットを返信する(ステップST13)。当該応答パケットには、ECNに対応していることを示すECEフラグが付加されている。
また、通信機器1は、PC101がECNに対応していないため、ネットワーク202から送信されてきた応答パケットのヘッダからECEフラグを除去して、PC101に転送する(ステップST14)。
つまり、通信機器1は、TCP確立の3wayハンドシェイクにおいて、PC101から受信したTCP/IPパケットのヘッダ部を改変してECEフラグを付加し、あたかもPC101がECNに対応しているかのようにネットワーク202側に見せかけ、ネットワーク側のECNを有効な状態にすることができる。以降は、ネットワーク202側と通信機器1との間でECN制御を行う。
なお、PC101とネットワーク202側の双方がECNに対応していない場合には、通信機器1は、単にネゴシエーションの状況をモニタし、ECNが使用可能となったかどうかを記憶するように動作する。
<ネットワーク202側で輻輳が生じた場合のPC101の動作>
つぎに、ネットワーク202側で輻輳が生じた場合のPC101の動作について図7を参照しながら説明する。
通信機器1は、PC101からネットワーク202側への上りパケットを出力するだけのトークンが所定量に達していない、つまり、第2の閾値以下の状態が一定時間以上継続したことを検出する(ステップST21)。なお、通信機器1は、トークンが所定量に達していない場合には、ネットワーク202側に上りパケットを出力できない。
通信機器1は、ステップST21の工程によりトークンが所定量に達していないことを検出した場合には、その後にネットワーク202側から受信した応答パケット(図7中においては、「Ack#=2000」)のTCPヘッダ部に、輻輳が発生したことを示すECEフラグを付加してPC101に転送する(ステップST22)。
PC101は、ECEフラグが付加された応答パケットを受信すると、ECNの輻輳制御にしたがって輻輳ウィンドウを減少させる(ステップST23)。そして、PC101は、輻輳ウィンドウを減少した後に出力する送信パケット(図7中においては、「Seq#=6000」)のTCPヘッダに輻輳ウィンドウを減少させたことを示すCWRフラグを付加する(ステップST24)。
通信機器1は、受信した送信パケットのTCPヘッダのCWRフラグを除去して、ネットワーク202側に転送する(ステップST25)。
このようにして、通信機器1は、3wayハンドシェイクによってPC101がECNに対応していることが確認できた場合には、ネットワーク202側がECNに対応していなくても上りパケットの送信速度を制限することができる。具体的には、通信機器1は、トラフィック制御のトークンバケット機構とトークンレートを利用し、トークンが足りない場合にはPC101側にECNによる輻輳通知を行い、PC101側の送信速度を制御する。
<PC101で輻輳が生じた場合のネットワーク202側の動作>
つぎに、PC101で輻輳が生じた場合のネットワーク202側の動作について図8を参照しながら説明する。
通信機器1は、ネットワーク202側からPC101への下りパケットを出力するだけのトークンが所定量に達していない、つまり、第2の閾値以下の状態が一定時間以上継続したことを検出する(ステップST31)。なお、通信機器1は、トークンが所定量に達していない場合には、PC101に下りパケットを出力できない。
通信機器1は、ステップST31の工程によりトークンが所定量に達していないことを検出した場合には、その後にPC101から受信した応答パケット(図8中においては、「Ack#=2000」)のTCPヘッダ部に、輻輳が発生したことを示すECEフラグを付加してネットワーク202側に転送する(ステップST32)。
ネットワーク202側は、ECEフラグが付加された応答パケットを受信すると、ECNの輻輳制御にしたがって輻輳ウィンドウを減少させる(ステップST33)。そして、ネットワーク202側は、輻輳ウィンドウを減少した後に出力する送信パケット(図8中においては、「Seq#=6000」)のTCPヘッダに輻輳ウィンドウを減少させたことを示すCWRフラグを付加する(ステップST34)。
通信機器1は、受信した送信パケットのTCPヘッダのCWRフラグを除去して、PC101に転送する(ステップST35)。
このようにして、通信機器1は、3wayハンドシェイクによってネットワーク202側がECNに対応していることが確認できた場合には、PC101がECNに対応していなくても下りパケットの送信速度を制限することができる。具体的には、通信機器1は、トラフィック制御のトークンバケット機構とトークンレートを利用し、トークンが足りない場合にはネットワーク202側にECNによる輻輳通知を行い、ネットワーク202側の送信速度を制御する。
1 通信機器
11 第1の通信部
12 第2の通信部
13 第1のトークン生成部
14 第1のトークン記憶部
15 第1の検出部
16 第1の制御部
17 第1の判断部
21 第2のトークン生成部
22 第2のトークン記憶部
23 第2の検出部
24 第2の制御部
25 第2の判断部

Claims (6)

  1. 外部機器に接続され、データを授受する第1の通信部と、
    ネットワーク側に対して前記第1の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第2の通信部と、
    所定のデータ量により構成されているトークンを生成する第1のトークン生成部と、
    前記トークンを記憶する第1のトークン記憶部と、
    前記第1のトークン記憶部に記憶されているトークン量を検出する第1の検出部と、
    前記第1の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第1の通信部により受信したデータを当該トークン量に応じた分だけ前記第2の通信部により前記ネットワークへ送信するように制御する第1の制御部と、
    前記第1の通信部が接続される機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第1の判断部と、を備え、
    前記第1の制御部は、前記第1の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第1の判断部により前記第1の通信部が接続される機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して前記第1の通信部に送出させる
    ことを特徴とする通信機器。
  2. 前記第1の判断部は、前記第1の通信部により受信したデータに前記輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより前記第1の通信部が接続される機器が前記輻輳制御機能を有しているか否かを判断する
    ことを特徴とする請求項1記載の通信機器。
  3. 前記第1の制御部は、前記第1の通信部により、接続される前記外部機器から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、前記データから前記第3の制御情報を削除し、当該第3の制御情報が削除されたデータを前記第2の通信部により前記ネットワークへ送信する
    ことを特徴とする請求項1又は2に記載の通信機器。
  4. 外部機器に接続され、データを授受する第1の通信部と、
    ネットワーク側から、前記第1の通信部により送信するためのデータを受信し、前記第1の通信部により受信したデータを前記ネットワーク側に送信する第2の通信部と、
    所定のデータ量により構成されているトークンを生成する第2のトークン生成部と、
    前記トークンを記憶する第2のトークン記憶部と、
    前記第2のトークン記憶部に記憶されているトークン量を検出する第2の検出部と、
    前記第2の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第2の通信部により受信したデータを当該トークン量に応じた分だけ前記第1の通信部により前記外部機器へ送信するように制御する第2の制御部と、
    前記ネットワーク側の機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第2の判断部と、を備え、
    前記第2の制御部は、前記第2の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第2の判断部によりネットワーク側の機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して前記第2の通信部に送出させる
    ことを特徴とする通信機器。
  5. 前記第2の判断部は、前記第2の通信部により受信したデータに前記輻輳制御機能を有する旨の第5の制御情報が含まれているか否かにより前記ネットワーク側の機器が前記輻輳制御機能を有しているか否かを判断する
    ことを特徴とする請求項4記載の通信機器。
  6. 前記第2の制御部は、前記第2の通信部により前記ネットワーク側の機器から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、前記データから前記第6の制御情報を削除し、当該第6の制御情報が削除されたデータを前記第1の通信部により前記外部機器へ送信する
    ことを特徴とする請求項5記載の通信機器。
JP2009077262A 2009-03-26 2009-03-26 通信機器 Expired - Fee Related JP5405870B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009077262A JP5405870B2 (ja) 2009-03-26 2009-03-26 通信機器
US12/748,337 US20100246400A1 (en) 2009-03-26 2010-03-26 Communication device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009077262A JP5405870B2 (ja) 2009-03-26 2009-03-26 通信機器

Publications (2)

Publication Number Publication Date
JP2010232876A true JP2010232876A (ja) 2010-10-14
JP5405870B2 JP5405870B2 (ja) 2014-02-05

Family

ID=43048286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009077262A Expired - Fee Related JP5405870B2 (ja) 2009-03-26 2009-03-26 通信機器

Country Status (1)

Country Link
JP (1) JP5405870B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016036083A (ja) * 2014-08-01 2016-03-17 Kddi株式会社 バックホール側の混雑度に応じたウィンドウサイズを設定可能な無線端末、通信システム、プログラム及び方法
US9667548B2 (en) 2013-11-15 2017-05-30 Alaxala Networks Corporation Relay apparatus and relay method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479610B2 (en) * 2014-04-14 2016-10-25 Microsoft Technology Licensing, Llc Battery efficient synchronization of communications using a token bucket

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002319968A (ja) * 2001-04-19 2002-10-31 Nec Corp フロー制御システムおよび方法
JP2005198302A (ja) * 2003-12-29 2005-07-21 Fujitsu Ltd ポーズフレーム機能を利用するレート制限方法及びシステム
JP2007221529A (ja) * 2006-02-17 2007-08-30 Kddi Corp トークンバケットによるトラヒック制御装置、方法及びプログラム
JP2009060283A (ja) * 2007-08-30 2009-03-19 Nec Corp 輻輳制御方法、輻輳制御方式、輻輳制御ノード装置、ノード装置及び制御プログラム
JP2009147874A (ja) * 2007-12-18 2009-07-02 Kddi Corp トラヒック制御装置、トラヒック制御方法、及びトラヒック制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002319968A (ja) * 2001-04-19 2002-10-31 Nec Corp フロー制御システムおよび方法
JP2005198302A (ja) * 2003-12-29 2005-07-21 Fujitsu Ltd ポーズフレーム機能を利用するレート制限方法及びシステム
JP2007221529A (ja) * 2006-02-17 2007-08-30 Kddi Corp トークンバケットによるトラヒック制御装置、方法及びプログラム
JP2009060283A (ja) * 2007-08-30 2009-03-19 Nec Corp 輻輳制御方法、輻輳制御方式、輻輳制御ノード装置、ノード装置及び制御プログラム
JP2009147874A (ja) * 2007-12-18 2009-07-02 Kddi Corp トラヒック制御装置、トラヒック制御方法、及びトラヒック制御プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700439001; 岸 洋司 他: '無線アクセス環境における加入者側トラヒック制御法に関する一検討' 電子情報通信学会技術研究報告 第106巻,第475号, 20070117, p.61〜64 *
JPN6013001310; 岸 洋司 他: '無線アクセス環境における加入者側トラヒック制御法に関する一検討' 電子情報通信学会技術研究報告 第106巻,第475号, 20070117, p.61〜64 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667548B2 (en) 2013-11-15 2017-05-30 Alaxala Networks Corporation Relay apparatus and relay method
JP2016036083A (ja) * 2014-08-01 2016-03-17 Kddi株式会社 バックホール側の混雑度に応じたウィンドウサイズを設定可能な無線端末、通信システム、プログラム及び方法

Also Published As

Publication number Publication date
JP5405870B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
JP5020076B2 (ja) 低頻度ackのシステムに適した高性能tcp
JP4878391B2 (ja) 適応的なキュー待ち時間を伴うスケジューリング及びキューマネージメント
US8014287B2 (en) Communications apparatus
US20100246400A1 (en) Communication device and method
CN102148662B (zh) 一种数据发送速率的调整方法及装置
KR100600607B1 (ko) 무선 휴대 인터넷 시스템에서 arq 제어 장치 및 제어방법
WO2008032750A1 (fr) dispositif de communication
JP2005039726A (ja) 基地局装置及び送信方法
JP2008005021A (ja) 再送制御方法及び装置
JPWO2005027456A1 (ja) 通信システム、通信装置、およびデータの再送制御方法
WO2014069642A1 (ja) 通信装置、送信データ出力制御方法、及びそのプログラム
JPWO2011158467A1 (ja) データ送信装置及びデータ送信方法
KR20170142513A (ko) 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
JP5405870B2 (ja) 通信機器
CN108713311A (zh) 一种传输控制协议tcp报文的传输方法、设备及系统
US20070217389A1 (en) Apparatus and method for processing data in a wireless network
JP2008289080A (ja) 端末装置、ネットワーク装置およびデータ通信方法
JP2004297127A (ja) 携帯端末及びサーバ
JP2003274445A (ja) 無線パケット通信装置および無線パケット通信方法
JP5275107B2 (ja) 通信機器
JP5371112B2 (ja) 無線トラヒックの制御装置
EP2177064B1 (en) Control of data flow
JP2003032295A (ja) パケット中継装置、及びその方法
JP4503408B2 (ja) データ通信装置
JP2008061267A (ja) サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

R150 Certificate of patent or registration of utility model

Ref document number: 5405870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees