JP2011015288A - 通信装置、および通信方法 - Google Patents

通信装置、および通信方法 Download PDF

Info

Publication number
JP2011015288A
JP2011015288A JP2009158963A JP2009158963A JP2011015288A JP 2011015288 A JP2011015288 A JP 2011015288A JP 2009158963 A JP2009158963 A JP 2009158963A JP 2009158963 A JP2009158963 A JP 2009158963A JP 2011015288 A JP2011015288 A JP 2011015288A
Authority
JP
Japan
Prior art keywords
communication
congestion
node
ecn
packet
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
JP2009158963A
Other languages
English (en)
Other versions
JP5353494B2 (ja
Inventor
Yoshiro Tamura
嘉郎 田村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009158963A priority Critical patent/JP5353494B2/ja
Priority to US12/823,176 priority patent/US8451727B2/en
Publication of JP2011015288A publication Critical patent/JP2011015288A/ja
Application granted granted Critical
Publication of JP5353494B2 publication Critical patent/JP5353494B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】IPネットワークにおけるコネクションレス型プロトコル通信による輻輳制御を実現し、輻輳によって生じる通信の品質劣化や速度低下を抑制する。
【解決手段】
輻輳を検出した通信装置(受信ノード)10は、輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにあるECNフィールドに輻輳通知情報を付与する。IPヘッダにあるECNフィールドの輻輳通知情報を検出した通信装置(送信ノード)20は、輻輳通知情報を検出した通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する。
【選択図】図1

Description

本発明は、たとえば、インターネットなどのIPネットワークにおける、コネクションレス型プロトコル通信の輻輳制御をおこなうことができる通信装置、および通信方法に関する。
従来より、インターネット、あるいはイントラネットなどのIP(Internet Protocol)ネットワークにおいて、通信路の信頼性を確保する手段として、たとえば、両端のノード間でコネクションを確立して通信をおこなうTCP(Transmission Control Protocol)通信が知られている。TCP/IP通信の信頼性確保の仕組みの一つとして輻輳制御があり、ECN(Explicit Congestion Notification:明示的輻輳通知)フィールドが知られている(RFC2481、RFC3168参照)。ECNフィールドは、IPヘッダのToS(Type of Service:サービスタイプ)フィールドとTCPヘッダの制御ビットを利用する。
ECNフィールドは、通信路の途中にあるルータが輻輳を起こしたときに、ルータがパケットを取りこぼし始める前に、末端のノードにルータの輻輳を知らせる機能である。これにより、末端のノードは、ルータがパケットを取りこぼす前にデータの送信速度を抑制して輻輳を回避することができる。
ここで、ECNフィールドについて図4を用いて説明する。図4は、IPヘッダ内ToSフィールドのECNフォーマットを示す図である。ECNフィールドは、IPヘッダ内ToSフィールド500の8ビット(第0ビットから第7ビット)のうち第6ビットと第7ビットを用いる。このうち、第6ビットは、ECT(ECN Capable Transport:明示的輻輳通知対応情報)として、第7ビットは、CE(Congestion Experienced:輻輳検出)として定義されている。
そして、ECNフィールドにより実現する輻輳制御機能は、概略以下のような手順で実現される。
TCP/IP通信をおこなう送信ノードと受信ノードは、通信の開始にあたり、TCPにて3ウェイハンドシェークによるコネクションの確立をおこなう。そして、送信ノードと受信ノードは、3ウェイハンドシェークによるコネクションの確立の処理の中で、ECNフィールドのサポート可否のネゴシエーションをおこなう。ECNフィールドによる輻輳制御は、両ノードでECNフィールドのサポートが確認されることにより有効になる。
両ノードの通信経路の途中に位置するルータが輻輳を検出すると、転送するパケットのIPヘッダにあるCEに1をセットする。CEに1がセットされたパケットを受信した受信ノードは、通信経路の途中にあるルータで輻輳が発生していることを認識する。ルータの輻輳を認識した受信ノードは、TCPによるACK応答時に、TCPヘッダのECE(ECN Echo:明示的輻輳通知のエコー)フラグを有効にする。送信ノードは、受信ノードからECEフラグが有効にされたACKを受信すると、次回の送信データの流量を減らすとともに、受信ノードに対してTCPヘッダのCWR(Congestion Window Reduced:輻輳ウインドウ減少通知)フラグを有効にしてパケットを送信する。CWRフラグが有効にされたパケットを受信した受信ノードは、送信ノードで送信データの流量制限がおこなわれていることを認識する。
このように、ECNフィールドは、通信路の途中にあるルータが輻輳を起こしても、パケットロスによる再送制御やスロースタート制御を回避して通信経路の通信量を適正に保つ輻輳制御を可能にしている。
なお、ECNフィールドは、TCPのほか、SCTP(Stream Control Transmission Protocol)など、IPの上位層にあるトランスポート層の通信プロトコルと組み合わせて用いられることもある。
一方、コネクションレス型のプロトコルであるUDP(User Datagram Protocol)は、処理が高速でオーバーヘッドが少ない反面、通信の信頼性の確保を上位層に委ねたベストエフォート型のプロトコルであり、RFCによってECNフィールドがサポートされていない。したがって、たとえば、モバイルIPネットワークのように、トラフィックの大半を占めるユーザデータにUDPが使われている場合、ECNフィールドを使うことが困難である。また、映像や音楽などのストリーミング配信に用いられるストリーミング系のプロトコル(たとえば、RTP(Real Time Protocol)など)なども、通信にUDPを使うので、ECNフィールドを使うことは困難である。
このように、受信ノードや、通信経路の途中のルータで発生する輻輳に対して、UDPに依存した流量制御をおこなうことは困難なので、トランスポート層より上位層の別なプロトコルで流量制御をおこなうことが求められる。UDPによるデータ伝送において、伝送品質を向上させるために、通信路の往復伝播遅延時間を測定し、適当な伝送レートを決定して通信をおこなう通信方法についての提案がある(たとえば、特許文献1参照)。
国際公開第2002/025878号
しかしながら、上記提案では、伝送レート変更時に送信データを一時停止することが求められ、送信ノードが受信ノードの輻輳を検出することも困難である。
また、通信回線の品質の向上とともに、UDPとはいえ、ビット欠落の許されない信頼性の高い通信を高速かつ大容量におこなうことが求められている。
たとえば、モバイル端末間における通信は、モバイル端末と基地局間の通信と、基地局−基地局間のコアネットワークでの通信とにより実現している。コアネットワークを構成する主な機器であるルータは、高性能かつ大容量化、負荷分散処理が考慮されていることから、輻輳は少なくなってきている。
一方、コアネットワークへのアクセス機器であり、エッジノード機器の1つとなる基地局は、IPデータの送受信処理の末端となるため、都市部や密集地、イベント等でのハンドオーバによるトラフィック集中によって輻輳が発生しやすい。このようなモバイル端末間における通信であれば、END(モバイル端末)−END(モバイル端末)間の再送制御に頼るのではなく、基地局間を繋ぐコアネットワークで輻輳によるパケットの破棄を減らすことが望ましい。
本発明は、IPネットワークにおけるコネクションレス型プロトコル通信による輻輳制御を実現し、輻輳によって生じる通信の品質劣化や速度低下を抑制することができる通信装置、および通信方法の提供を目的とする。
上記課題を解決するために、IP処理部と、プロトコル処理部と、輻輳検出部と、IPアドレス判定部と、ECN付与部とを備え、IPネットワークに接続して通信をおこなう通信装置が提供される。
IP処理部は、IP通信を処理する。プロトコル処理部は、コネクションレス型プロトコル通信を処理する。輻輳検出部は、通信装置の輻輳を検出する。IPアドレス判定部は、輻輳を検出することとなった通信先IPアドレスを判定する。ECN付与部は、輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドに輻輳通知情報を付与する。
また、上記課題を解決するために、IP処理部と、プロトコル処理部と、ECN検出部と、IPアドレス判定部と、送信レート制御部とを備え、IPネットワークに接続して通信をおこなう通信装置が提供される。
IP処理部は、IP通信を処理する。プロトコル処理部は、コネクションレス型プロトコル通信を処理する。ECN検出部は、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドの輻輳通知情報を検出する。IPアドレス判定部は、輻輳通知情報を検出した通信先IPアドレスを判定する。送信レート制御部は、通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する。
上記の通信装置、および通信方法によれば、IPネットワークにおけるコネクションレス型プロトコル通信による輻輳制御を実現し、輻輳によって生じる通信の品質劣化や速度低下を抑制することができる。
第1の実施形態の通信装置のブロック図である。 第2の実施形態のIPネットワーク構成例を示す図である。 第2の実施形態の通信装置のブロック図である。 IPヘッダ内ToSフィールドのECNフォーマットを示す図である。 第2の実施形態の通信装置における受信処理のフローチャートである。 第2の実施形態の通信装置におけるECNビット定義を示す表である。 第2の実施形態の通信装置における受信データバッファリング処理のフローチャートである。 第2の実施形態の通信装置におけるECN処理のフローチャートである。 第2の実施形態の通信装置におけるCE無視タイマ処理のフローチャートである。 第2の実施形態の通信装置における送信レート判定処理のフローチャートである。 第2の実施形態の通信装置における送信レート制限タイマ処理のフローチャートである。 第2の実施形態の通信装置における送信処理のフローチャートである。 第2の実施形態の通信装置における送信処理のフローチャートである。 片方向ノードのみ輻輳発生、ルータ輻輳なしのECN動作の一例を示す動作フローである。 両方向ノードで輻輳発生、ルータ輻輳なしのECN動作の一例を示す動作フローである。 ノード輻輳なし、片側ルータのみ輻輳発生のECN動作の一例を示す動作フローである。 ノード輻輳なし、送受信ともにルータで輻輳発生のECN動作の一例を示す動作フローである。 ノードで輻輳発生、ルータで輻輳発生のECN動作の一例を示す動作フローである。 第2の実施形態の通信装置のハードウェア構成例を示す図である。
以下、実施形態を図面を参照して説明する。
図1は、第1の実施形態の通信装置のブロック図である。
通信装置10と通信装置20は、IPネットワーク300に接続するエッジノードであり、たとえば、移動通信システムの基地局である。IPネットワーク300は、IP(インターネットプロトコル)による通信ネットワークであり、通信経路途中に図示しない複数のルータを備え、通信装置(受信ノード)10、通信装置(送信ノード)20のほかにも図示しない通信装置をエッジノードとして接続する。通信装置10と通信装置20とIPネットワーク300は、通信システムを構成する。
通信装置10は、輻輳検出部11と、IPアドレス判定部12と、ECN付与部13と、プロトコル処理部14と、IP処理部15とを備える。通信装置10は、IPネットワーク300に接続し、通信装置20を含め、図示しない通信装置と通信をおこなう。輻輳検出部11は、通信装置10の輻輳状態を検出する。輻輳検出部11は、たとえば、通信装置10の受信バッファがオーバーフローすること、またはそのおそれがあることを監視することにより輻輳状態を検出する。
IPアドレス判定部12は、送信するコネクションレス型プロトコルの通信相手が輻輳を通知すべき通信相手か否かを、通信装置10と通信をおこなった通信装置のIPアドレスに基づいて判定する。
ECN付与部13は、輻輳検出部11が輻輳状態を検出した場合に、IPアドレス判定部12が輻輳状態を通知すべき通信相手としたIPアドレス宛のIPヘッダ内ToSフィールド500のECNフィールドのうちECTビットに輻輳状態を示す情報(たとえば、1)をセットする。
プロトコル処理部14は、IPより上位層でポート間の通信サービスを提供する。プロトコル処理部14は、コネクションレス型プロトコル(たとえば、UDPプロトコル)のヘッダを送信データに付してコネクションレス型プロトコルのパケット(データグラムともいう)を生成する。
IP処理部15は、IPヘッダをコネクションレス型プロトコルのパケットに付してIPパケットを生成する。
通信装置10は、通信装置10と通信をおこなった通信装置のIPアドレスを所定期間保存するIPアドレス保存部を備えてもよい。なお、保存対象となるIPアドレスは、所定条件を満たしたものに限定してもよいし、IPアドレスの保存を所定期間ではなく所定条件成立までとしてもよい。
このような通信装置10は、コネクションレス型プロトコルでの通信をおこないながら、通信相手となる通信装置に対して、自らの輻輳状態を通知することができる。
通信装置20は、IP処理部21と、プロトコル処理部22と、ECN検出部23と、IPアドレス判定部24と、送信レート制御部25とを備える。通信装置20は、IPネットワーク300に接続し、通信装置10を含め、図示しない通信装置と通信をおこなう。
IP処理部21は、IPパケットを受信し、上位層となるプロトコル処理部22にコネクションレス型プロトコルのパケットを受け渡す。
通信装置20は、通信装置20と通信をおこなった通信装置のIPアドレスを所定期間保存するIPアドレス保存部を備えてもよい。なお、保存対象となるIPアドレスは、所定条件を満たしたものに限定してもよいし、IPアドレスの保存を所定期間ではなく所定条件成立までとしてもよい。
プロトコル処理部22は、IPより上位層でポート間の通信サービスを提供する。プロトコル処理部22は、受信データを上位層(たとえば、アプリケーションプログラム)に受け渡す。
ECN検出部23は、IPヘッダ内ToSフィールド500のECNフィールドのうちECTビットをチェックし、通信相手の輻輳状態を検出する。
IPアドレス判定部24は、ECN検出部23の検出結果と、通信装置20と通信をおこなった通信装置のIPアドレスとから輻輳状態にある通信相手への通信であるか否かを判定し、送信レート制御部25に通知する。
送信レート制御部25は、輻輳状態にある通信相手への送信レートを変更(たとえば、低減)する。送信レートの変更は、たとえば、出力キューのトラフィックシェーピング(単位時間あたりの出力データ数を増減させる)による帯域変更によりおこなうことができる。
このような通信装置20は、コネクションレス型プロトコルでの通信をおこないながら、通信相手となる通信装置の輻輳状態を解消するための制御をおこなうことができる。
次に、第2の実施形態を用いてより具体的に説明する。まず、通信装置を接続するIPネットワークについて説明する。図2は、第2の実施形態のIPネットワーク構成例を示す図である。
IPネットワーク300は、ノード(通信装置)100a、100b、100cと、ルータ200a、200b、200c、200dを備えたコアネットワークである。なお、コアネットワークとは、基幹ネットワークであり、たとえば、通信事業者間を結ぶネットワークや、モバイル端末間における通信であれば、キャリアの基地局間のネットワーク、キャリア間のネットワークなどにあたる。
各ネットワーク構成機器は、IPアドレスを有し、ネットワーク構成機器間でのIP通信が可能である。ルータ200a、200b、200c、200dは、ルータ間を直接、または他のルータを介して間接的に接続し、複数の通信経路による通信が可能である。ネットワーク構成機器としてルータのほかに、レイヤ3スイッチなどをあげることができる。
ノード100a、100b、100cは、IPより上位層(トランスポート層)のTCPやUDPにより、ノード間の通信をおこなう。
ノード100aは、たとえば、基地局であり、図示しない移動局と通信が可能である。また、ノード100a、100b、100cは、基地局に限らず、サービスを提供するためのサーバなどであってもよい。
このようなネットワークでは、IPネットワーク300を構成するネットワーク構成機器(ノード、またはルータ)の通信負荷が大きくなると輻輳が発生する。このため、ネットワーク構成機器は、輻輳を防止または解消する機能を備える。
次に、IPネットワーク300に接続する通信装置がおこなう処理について、図3を用いて説明する。図3は、第2の実施形態の通信装置のブロック図である。
通信装置100は、UDP送信処理部110と、IP送信処理部120と、IP受信処理部130と、UDP受信処理部140と、輻輳検知部150とを備え、IPネットワーク300と接続し、他の通信装置とUDPによる通信をおこなう。通信装置100は、IPネットワークに接続するノード(たとえば、ノード100a、ノード100b、ノード100c)である。
UDP送信処理部110は、上位層から送信データを受けて、UDPパケットをIP送信処理部120に受け渡す。UDP送信処理部110は、UDP生成部111を備える。UDP生成部111は、上位層から受け渡された送信データにUDPヘッダを付してUDPパケットを生成する。UDPヘッダは、送信元ポート番号、送信先ポート番号、データ長、チェックサムを含んでおり、UDP自体に輻輳を回避する仕組みはない。トランスポート層のプロトコルは、UDPのほかにも、コネクションレス型のプロトコルあるいはベストエフォート型と呼ばれるプロトコルを用いることができる。
IP送信処理部120は、UDP受信処理部140からUDPパケットを受けて、IPパケットをIPネットワークに接続する通信相手に送信する。IP送信処理部120は、IP生成部121と、ECN付与部122と、IPアドレス判定部123と、送信レート制御部124とを備える。
IP生成部121は、UDP送信処理部110から受けたUDPパケットにIPヘッダを付してIPパケットを生成する。
ECN付与部122は、輻輳状態を通知すべき通信相手のIPアドレス宛のIPヘッダ内ToSフィールド500のECNフィールドに輻輳状態を示す情報(たとえば、1)をセットする。ECNフィールドは、ToSフィールドの8ビット(第0ビットから第7ビット)のうち第6ビットと第7ビットであり、第6ビットのECTと、第7ビットのCEとを備える(図4参照)。ECN付与部122は、通信装置100の輻輳状態を通知する場合、ECTに輻輳状態を示す情報(たとえば、1)をセットする。また、ECN付与部122は、通信経路途中のルータが輻輳状態にあり、ルータがCEに輻輳状態を示す情報(たとえば、1)をセットしたIPパケットを受け取った場合は、CEに輻輳状態を示す情報(たとえば、1)をセットする。ECN付与部122がECT、CEに輻輳状態を示す情報を付与する処理については、後で詳述する。
IPアドレス判定部123は、通信相手が輻輳を通知すべき通信相手か否かを、後述するIPアドレス保存部132に記憶されているIPアドレスを参照して判定する。送信レート制御部124は、輻輳状態にある通信相手への送信レートを変更(たとえば、低減)する。送信レートの変更は、たとえば、出力キューのトラフィックシェーピングによる帯域変更によりおこなうことができる。
IP受信処理部130は、IPネットワークに接続する通信相手から受信したIPパケットからUDPパケットを取り出してUDP受信処理部140に受け渡す。IP受信処理部130は、IPチェック部131とIPアドレス保存部132とを備える。IPチェック部131は、IPパケットのIPヘッダのチェックサムをチェックしてIPヘッダが壊れていると判断した場合は、受信したIPパケットを破棄する。また、IPチェック部131は、IPパケットのIPヘッダのプロトコル番号をチェックする。IPチェック部131は、たとえば、プロトコル番号が「11」であることにより、上位プロトコルがUDPであることを判別する。IPアドレス保存部132は、受信したIPパケットのIPアドレスを保存する。IPアドレスの保存については、後で詳述する。
UDP受信処理部140は、IP受信処理部130からUDPパケットを受けて、UDPパケット中の受信データを上位層のアプリケーションに受け渡す。UDP受信処理部140は、UDPチェック部141を備える。UDPチェック部141は、IP受信処理部130から受け取ったUDPパケットから受信データ(通信データ)を取り出し、UDPヘッダで指定されるポート番号に基づいて上位アプリケーションに受信データを受け渡す。
輻輳検知部150は、通信装置100の輻輳状態を検知し、検知した輻輳状態と、輻輳状態を通知すべきIPアドレスをIP送信処理部120に通知する。輻輳検知部150は、ECN検出部151と、IPアドレス判定部152と、輻輳検出部153とを備える。ECN検出部151は、IPヘッダ内ToSフィールド500のECNフィールドのECTをチェックし、通信相手の輻輳状態を検出する。また、ECN検出部151は、IPヘッダ内ToSフィールド500のECNフィールドのCEをチェックし、通信相手との通信経路途中にあるルータの輻輳状態を検出する。IPアドレス判定部152は、ECN検出部151の検出結果と、IPアドレス保存部132が保存するIPアドレスとから輻輳状態にある通信相手への通信であるか否かを判定する。輻輳検出部153は、通信装置100の輻輳状態を検出する。
このようにすることで、通信装置100は、UDPによる通信であっても、UDPの長所であるオーバーヘッドの少ない通信が可能でありながら、通信装置の輻輳状態、あるいは通信経路途中の輻輳状態の検出に基づく輻輳制御が可能になる。
次に、通信装置100が実行する受信処理について図5を用いて説明する。図5は、第2の実施形態の通信装置における受信処理のフローチャートである。
通信装置100は、IPパケットを受信すると受信処理を開始する。以下、ステップ番号に沿って説明する。
[ステップS10]IP受信処理部130は、IPプロトコルによる通信を終端する処理をおこなう。IPプロトコルによる通信を終端する処理は、受信したIPパケットのパケット長、フラグメントオフセット、チェックサム、上位プロトコル、通信先を確認する。
[ステップS11]IP受信処理部130は、IPパケットのパケット長、フラグメントオフセット、チェックサムのチェックにより、正常にIPパケットが受信された場合に、ステップS12にすすむ。一方、IP受信処理部130は、IPパケットのヘッダ部にあるパケット長、フラグメントオフセット、チェックサムのチェックにより、異常と判定した場合には、ステップS18にすすみ、受信したIPパケットを破棄する。
[ステップS12]IP受信処理部130は、IPパケットの上位プロトコルのチェックにより、上位プロトコルがUDPの場合に、ステップS13にすすむ。一方、IP受信処理部130は、上位プロトコルがUDPでない場合には、ステップS18にすすみ、受信したIPパケットを破棄する。
[ステップS13]UDP受信処理部140は、UDPによる通信を終端する処理をおこなう。UDPによる通信を終端する処理は、受信したUDPパケット(IPパケットのペイロード)のヘッダ部にあるチェックサムを確認する。
[ステップS14]UDP受信処理部140は、チェックサムのチェックにより、正常にUDPパケットが受信された場合に、ステップS15にすすむ。一方、UDP受信処理部140は、チェックサムのチェックにより、異常と判定した場合には、ステップS18にすすみ、受信したUDPパケットを破棄する。
[ステップS15]通信装置100は、受信データ(UDPパケットのペイロード)を受信バッファに蓄積する受信データバッファリング処理をおこなう。受信データバッファリング処理については、後で図7を用いて詳述する。
[ステップS16]輻輳検知部150は、IPヘッダ内ToSフィールド500のECNフィールドのECTをチェックし、通信相手の輻輳状態をチェックする。また、輻輳検知部150は、IPヘッダ内ToSフィールド500のECNフィールドのCEをチェックし、通信相手との通信経路途中にあるルータの輻輳状態をチェックする。そして、検出した輻輳状態を通信相手に通知する内容を決定する。なお、ステップS16にて実行されるECN処理については、後で図8を用いて詳述する。
[ステップS17]IP受信処理部130は、IPプロトコルによる通信の通信相手の情報を保存して、受信処理を終了する。具体的には、IP受信処理部130は、受信したIPパケットの送信元IPアドレスを保存し、所定時間経過後にクリアする。
ここで、ECNフィールドをUDPに適用するための新しい定義について図6を用いて説明する。図6は、第2の実施形態の通信装置におけるECNビット定義を示す表である。
ECNビット定義520は、ECNフィールドの内容ごとに、UDPパケット送信時の、ECN構成ビットの送信側となる通信装置100の行動内容と、ECN構成ビットの受信側となる通信装置100の認識内容および行動内容を規定した表である。
ECN[ECT/CE]=「00」の場合、ECN構成ビットの送信側となる通信装置100は、通常動作とする。また、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100およびECN構成ビットの送信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していないことを認識し、通常動作であることを了解する。このとき、ECN構成ビットの受信側となる通信装置100は、送信レートを変更(制限)していた場合、もとの送信レートに戻す。
ECN[ECT/CE]=「01」の場合、ECN構成ビットの送信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していないことと、ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していることとを通知する。また、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していないことと、ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していることとを認識する。このとき、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に対して、UDPによる送信がある場合に、ECN[ECT/CE]=「01」を送信するとともに、送信レートの制限を要求する。
なお、ここで、ECN構成ビットの送信側となる通信装置100が通知する「ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していること」は、[CE]=「1」を通知された通信装置100が、送信元に折り返し[CE]=「1」を通知することがある。このため、ECN構成ビットの送信側となる通信装置100からECN構成ビットの受信側となる通信装置100に対する通信をおこなったときに、通信経路途中にあるルータに輻輳が発生していた場合を含む。
ECN[ECT/CE]=「10」の場合、ECN構成ビットの送信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していることを通知する。また、ECN構成ビットの送信側となる通信装置100は、ECN構成ビットの受信側となる通信装置100に対して、UDPによる送信がある場合に、送信レートの制限を要求する。また、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していることと、ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していないこととを認識する。このとき、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に対して、UDPによる送信がある場合に、送信レートの制限をして送信する。
ECN[ECT/CE]=「11」の場合、ECN構成ビットの送信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していることと、ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していることとを通知する。また、ECN構成ビットの送信側となる通信装置100は、ECN構成ビットの受信側となる通信装置100に対して、UDPによる送信がある場合に、送信レートの制限を要求する。また、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に輻輳が発生していることと、ECN構成ビットの受信側となる通信装置100との通信経路途中にあるルータに輻輳が発生していることとを認識する。このとき、ECN構成ビットの受信側となる通信装置100は、ECN構成ビットの送信側となる通信装置100に対して、UDPによる送信がある場合に、送信レートの制限をして送信する。
このように、ECTの定義は、輻輳状態にある通信装置100が、輻輳していることを通信相手の通信装置100に通知することを目的としている。ECTは、通信経路途中にあるルータによって書き替えられることがないので、ECNフィールドを受信する側の通信装置は、通信相手の通信装置100が輻輳していることを把握することができる。そして、CEは、通信経路途中にあるルータが輻輳したときにセットされるため、従来のECN機能と衝突することなく、そのまま使用可能である。
次に、通信装置100により受信処理の中で実行される受信データバッファリング処理について、図7を用いて説明する。図7は、第2の実施形態の通信装置における受信データバッファリング処理のフローチャートである。受信データバッファリング処理は、通信装置100の輻輳検知部150で実行される。
[ステップS20]輻輳検知部150は、受信データをバッファ(受信バッファ)に格納する。受信バッファに格納された受信データは、上位アプリケーションに受け渡すことにより、受信バッファから削除される。
[ステップS21]輻輳検知部150は、通信先ノード単位での受信データ量統計処理をおこなう。具体的には、単位時間ごとのIPアドレス単位の受信データ量(たとえば、パケット数やデータサイズ)を記憶し、これら単位時間ごとのIPアドレス単位の受信データ量を累積して、所定時間内のIPアドレス単位の受信データ量を記憶する。なお、累積加算に限らず、監視期間の平均負荷や監視期間のうちの一部の期間における最大負荷など、あるいはその他の通信負荷を評価するための統計データ量を記憶するようにしてもよい。
[ステップS22]輻輳検知部150は、バッファに格納されている受信データ量を監視して、受信データがオーバーフローした場合(たとえば、受信データのバッファへの格納に失敗した場合)に、輻輳発生と判断する。または、輻輳検知部150は、輻輳発生のおそれがある場合(たとえば、バッファに格納されている受信データ量が所定の閾値よりも大きくなった場合)に、輻輳発生と判断する。輻輳検知部150は、輻輳発生と判断した場合に、ステップS23にすすみ、輻輳発生と判断しなかった場合に、ステップS25にすすむ。
[ステップS23]輻輳検知部150は、受信データ量統計処理の結果に基づいて、輻輳の原因となったノード(通信装置100)を選択する。選択するノードは、1つでもよいし、複数でもよい。複数のノードを選択する場合、その数は、あらかじめ設定された数でもよいし、所定条件を満たすノードとしてもよい。また、原因となったノードの判断基準は、たとえば、直近の通信をおこなったノードや、所定期間内の通信をおこなったノード、所定期間内の通信をおこなったノードのうち通信負荷の大きなノードとするなど、任意の基準を設定できる。
[ステップS24]輻輳検知部150は、輻輳状態であること(ECT=「1」の指示)と、輻輳の原因ノードとして選択した通信先ノードのIPアドレスとをIP送信処理部120に通知して受信データバッファリング処理を終了する。
[ステップS25]輻輳検知部150は、輻輳状態にないこと(ECT=「0」の指示)と、輻輳の原因ノードとして選択していた通信先ノードのIPアドレスとをIP送信処理部120に通知して受信データバッファリング処理を終了する。
次に、通信装置100により受信処理の中で実行されるECN処理について、図8、図9を用いて説明する。図8は、第2の実施形態の通信装置におけるECN処理のフローチャートである。図9は、第2の実施形態の通信装置におけるCE無視タイマ処理のフローチャートである。ECN処理は、通信装置100の輻輳検知部150で実行される。
[ステップS30]ECN検出部151は、受信したIPパケットのECNフィールドのCEをチェックし、CE=「1」、つまり、通信経路途中にあるルータに輻輳が発生しているとされた場合、ステップS31にすすむ。一方、ECN検出部151は、受信したIPパケットのECNフィールドのCEをチェックし、CE=「0」、つまり、通信経路途中にあるルータに輻輳が発生していないとされた場合、ステップS34にすすむ。
[ステップS31]ECN検出部151は、CE無視タイマが動作中か否かを判定し、動作中でなければ、ステップS32にすすむ。一方、ECN検出部151は、CE無視タイマが動作中か否かを判定し、動作中であれば、ECN処理を終了する。
[ステップS32]ECN検出部151は、タイムアップ時間をセットしてCE無視タイマを起動する。
なお、CE無視タイマは、CE無視タイマ処理をタイマ割り込みで実行されることにより実現する(図9参照)。タイマ割り込みで実行されるCE無視タイマ処理は、タイムアップしたか否かを判定(ステップS300)し、タイムアップしていれば、タイムアップした旨をECN検出部151に通知してCE無視タイマ動作を終了する(ステップS301)。また、CE無視タイマ処理は、CE無視タイマがタイムアップしていなければ、CE無視タイマ処理を終了する。
このように、ECN検出部151は、CE無視タイマを設け、CE=「1」になってから所定時間の間、CEを無視するので、CE=「1」に基づく処理を所定時間で1回とすることができる。
[ステップS33]ECN検出部151は、「送信レート制限タイマ起動指示」と、受信したIPパケットの「通信先ノードIPアドレス」と、「CE状態連続送信指示」とをIP送信処理部120に通知してECN処理を終了する。なお、CE状態連続送信指示は、現在のCEの状態を連続(継続)して送信することを指示する情報である。
[ステップS34]ECN検出部151は、受信したIPパケットのECNフィールドのECTをチェックし、ECT=「1」、つまり、受信したIPパケットの通信先ノードに輻輳が発生しているとされた場合、ステップS35にすすむ。一方、ECN検出部151は、受信したIPパケットのECNフィールドのECTをチェックし、ECT=「0」、つまり、受信したIPパケットの通信先ノードに輻輳が発生していないとされた場合、ステップS36にすすむ。
[ステップS35]ECN検出部151は、受信したIPパケットの「通信先ノードIPアドレス」と、「送信レート制限指示」とをIP送信処理部120に通知してECN処理を終了する。
[ステップS36]ECN検出部151は、「送信レート制限タイマ起動指示」と、受信したIPパケットの「通信先ノードIPアドレス」と、「送信レート制限戻し指示(送信レート制限の解除指示)」とをIP送信処理部120に通知してECN処理を終了する。
次に、通信装置100が実行する送信レート判定処理について図10、図11を用いて説明する。図10は、第2の実施形態の通信装置における送信レート判定処理のフローチャートである。図11は、第2の実施形態の通信装置における送信レート制限タイマ処理のフローチャートである。送信レート判定処理は、通信装置100のIP送信処理部120の送信レート制御部124で実行される。
[ステップS40]送信レート制御部124は、ECN検出部151から通知された指示があるか否かを判定し、指示があればステップS41にすすみ、指示がなければ送信レート判定処理を終了する。
[ステップS41]送信レート制御部124は、ECN検出部151から通知された指示が、送信レート制限タイマ動作中のノードを対象としたものか否か、いいかえれば対象ノードについて送信レート制限タイマが動作中か否かを判断する。送信レート制御部124は、対象ノードについて送信レート制限タイマが動作中であれば、送信レート判定処理を終了し、対象ノードについて送信レート制限タイマが動作中でなければステップS42にすすむ。
なお、送信レート制限タイマは、送信レート制限タイマ処理がタイマ割り込みで実行されることにより実現する。タイマ割り込みで実行される送信レート制限タイマ処理は、タイムアップしたか否かを判定(ステップS400)する。送信レート制限タイマ処理は、タイムアップしていれば、送信レート制限タイマ動作を終了(ステップS401)し、「対象ノード向けの送信レート制限解除指示」をセットして送信レート制限タイマ処理を終了する。また、送信レート制限タイマ処理は、送信レート制限タイマがタイムアップしていなければ、送信レート制限タイマ処理を終了する。
このように、送信レート制御部124は、送信レート制限タイマを設け、送信レートを制限してから所定時間経過で送信レートを解除するので、ハンドシェィクのないUDPであっても適当に送信レートの制限をおこなうことができる。
[ステップS42]送信レート制御部124は、ECN検出部151から通知された指示が「送信レート制限戻し指示」であれば、ステップS43にすすみ、「送信レート制限戻し指示」でなければ、ステップS44にすすむ。
[ステップS43]送信レート制御部124は、送信処理を実行するIP送信処理部120に対して、「通信先ノードIPアドレス」と「送信レート制限戻し指示」を通知して、送信レート判定処理を終了する。
[ステップS44]送信レート制御部124は、ECN検出部151から通知された指示が「送信レート制限タイマ起動指示」であれば、ステップS45にすすみ、「送信レート制限タイマ起動指示」でなければ、ステップS47にすすむ。
[ステップS45]送信レート制御部124は、ECN検出部151から通知された「通信先ノードIPアドレス」で特定される対象ノードについて、送信レート制限タイマを起動する。送信レート制限タイマのタイムアップ時間は、予め設定した時間としてもよいし、条件(たとえば、通信条件)に応じて異なる時間が設定されるようにしてよい。
[ステップS46]送信レート制御部124は、送信処理を実行するIP送信処理部120に対して、「通信先ノードIPアドレス」と「CE状態連続送信指示」を通知して、送信レート判定処理を終了する。
[ステップS47]送信レート制御部124は、ECN検出部151から通知された指示が「送信レート制限指示」であれば、ステップS48にすすみ、「送信レート制限指示」でなければ、送信レート判定処理を終了する。
[ステップS48]送信レート制御部124は、送信処理を実行するIP送信処理部120に対して、「通信先ノードIPアドレス」と「送信レート制限指示」を通知して、送信レート判定処理を終了する。
次に、通信装置100が実行する受信処理について図12、図13を用いて説明する。図12および図13は、第2の実施形態の通信装置における送信処理のフローチャートである。
通信装置100は、送信データがある場合に送信処理を開始する。以下、ステップ番号に沿って説明する。
[ステップS50]IP送信処理部120は、送信パケットがあるか否かを判断し、送信パケットがあれば、ステップS51にすすみ、送信パケットがなければ、ステップS63にすすむ。
[ステップS51]IP送信処理部120は、通信レート削減中の場合にUDPによるデータ送信(UDP出力)が可能か否かを判断する。IP送信処理部120は、UDPによるデータ送信が可能な場合は、ステップS52にすすみ、UDPによるデータ送信が不可の場合は、ステップS63にすすむ。
[ステップS52]IP送信処理部120は、ECT=「1」の指示が通知されているか否かを判断する。IP送信処理部120は、ECT=「1」の指示が通知されている場合は、ステップS53にすすみ、ECT=「1」の指示が通知されていない場合は、ステップS55にすすむ。
[ステップS53]IP送信処理部120は、送信パケットが、ECT=「1」の指示対象となるノード向けの通信であり、かつ、上位層をUDPプロトコルとしたIPパケットか否かを判断する。IP送信処理部120は、判断が肯定される場合、ステップS54にすすみ、判断が否定される場合は、ステップS58にすすむ。
[ステップS54]IP送信処理部120は、送信パケットのIPヘッダのECTに「1」をセットする。
[ステップS55]IP送信処理部120は、ECT=「0」の指示が通知されているか否かを判断する。IP送信処理部120は、ECT=「0」の指示が通知されている場合は、ステップS56にすすみ、ECT=「0」の指示が通知されていない場合は、ステップS58にすすむ。
[ステップS56]IP送信処理部120は、送信パケットが、ECT=「0」の指示対象となるノード向けの通信であり、かつ、上位層をUDPプロトコルとしたIPパケットか否かを判断する。IP送信処理部120は、判断が肯定される場合、ステップS57にすすみ、判断が否定される場合は、ステップS58にすすむ。
[ステップS57]IP送信処理部120は、送信パケットのIPヘッダのECTに「0」をセットする。
[ステップS58]IP送信処理部120は、輻輳の原因となったノード(自ノードの輻輳状態を通知すべきノード)があるか否かをチェックする。
[ステップS59]IP送信処理部120は、送信パケットが、輻輳の原因となったノード向けの通信であり、かつ、上位層をUDPプロトコルとしたIPパケットか否かを判断する。IP送信処理部120は、判断が肯定される場合、ステップS60にすすみ、判断が否定される場合は、ステップS61にすすむ。
[ステップS60]IP送信処理部120は、送信レート制御部124から、送信レート制御の指示があったか否かを判断する。IP送信処理部120は、送信レート制御部124から、送信レート制御の指示があった場合、ステップS61にすすみ、指示がなかった場合は、ステップS64にすすむ。送信レート制御部124からの指示は、「送信レート制限指示」、「送信レート制限戻し指示」、「CE状態連続送信指示」と、指示の対象となるノードの「通信先ノードIPアドレス」とがある。これらの指示は、送信レート制御部124がおこなう送信レート判定処理で決定される。
[ステップS61]IP送信処理部120は、送信レート制御部124から、「対象ノード向けの送信レート制限解除指示」がある場合は、ステップS62にすすみ、「対象ノード向けの送信レート制限解除指示」がない場合は、ステップS66にすすむ。
[ステップS62]IP送信処理部120は、「対象ノード向けの送信レート制限解除指示」を受けて、対象ノード向けの送信レートを正常に復帰させる。
[ステップS63]IP送信処理部120は、送信パケットのIPヘッダのCEに「0」をセットする。
[ステップS64]IP送信処理部120は、送信レート制限(制御)中であるか否かを判断し、制限中であればステップS65にすすみ、制限中でなければステップS67にすすむ。制限中か否かの判断は、後述する送信レート制限タイマの状態により判断できる。
[ステップS65]IP送信処理部120は、現送信レートを継続する。したがって、IP送信処理部120が送信レートを制限すると、制限された送信レートは、一定時間(制限タイマのタイムアップ時間)継続することになる。
[ステップS66]IP送信処理部120は、送信レート制御部124から、「CE連続送信開始指示」がある場合は、ステップS69にすすみ、指示がない場合は、ステップS67にすすむ。
[ステップS67]IP送信処理部120は、送信レート制御部124から、「対象ノード向けの送信レート制限指示」があったと判断できるので、対象ノード向けの送信レートを制限する。
[ステップS68]IP送信処理部120は、送信パケットのIPヘッダのCEに「0」をセットする。
[ステップS69]IP送信処理部120は、送信パケットのIPヘッダのCEに「1」をセットする。
[ステップS70]IP送信処理部120は、IPパケットを送信して送信処理を終了する。
次に、ノード100aとノード100bとの間の通信における片方向ノードのみ輻輳発生、ルータ輻輳なしのECN動作フローを図14を用いて説明する。図14は、片方向ノードのみ輻輳発生、ルータ輻輳なしのECN動作の一例を示す動作フローである。
ノード100aとノード100bとは、IPネットワーク300と接続し、主としてノード100bからノード100aに向けて大量のUDP通信をしているものとする。また、IPネットワーク300を構成するネットワーク構成機器の一つとしてルータ200がある。ルータ200は、ノード100aとノード100bの通信経路途中にあるものとする。
[ステップS100]ノード100bは、ECN(ECT/CE)フィールドに、「00」(ECT=「0」、CE=「0」)をセットして、IPパケットを送信する。
[ステップS101]ルータ200は、ノード100bとの通信経路途中の図示しないルータで輻輳が生じていなければ、ノード100bがセットしたECNフィールドと同じ「00」のIPパケットを受け取る。そして、ルータ200は、輻輳が発生していないため、ECNフィールドを「00」として、ノード100aに向けてIPパケットを送信する。
[ステップS102]ノード100aは、IPパケットを正常に受信し、ECNフィールド=「00」のうちECT=「0」により送信元のノード100bに輻輳が発生していないことを知り、CE=「0」により通信経路途中で輻輳が発生していないことを知る。
[ステップS103]ノード100aは、ECNフィールドに「00」をセットして、IPパケットを送信する。なお、ノード100aからノード100b方向へのUDP通信は、ノード100bからノード100a方向へのUDP通信があったことに基づいて必ずしも生じるものではない。
[ステップS104]ルータ200は、ノード100aとの通信経路途中の図示しないルータで輻輳が生じていなければ、ノード100aがセットしたECNフィールドと同じ「00」のIPパケットを受け取る。そして、ルータ200は、輻輳が発生していないため、ECNフィールドを「00」として、ノード100bに向けてIPパケットを送信する。
[ステップS105]ノード100bは、IPパケットを正常に受信し、ECNフィールド=「00」のうちECT=「0」により送信元のノード100aに輻輳が発生していないことを知り、CE=「0」により通信経路途中で輻輳が発生していないことを知る。
[ステップS106]ノード100aに輻輳が発生する。このとき、ノード100bは、ノード100aの輻輳発生の原因ノードの一つとされたとする。
なお、ノード100aは、ノード100b以外にも図示しないノードと通信をしているため、ノード100bからのIPパケットの受信中に輻輳を発生するとは限らず、ノード100bからのIPパケットの受信から時間差をもって輻輳が発生する場合がある。
[ステップS107]ノード100aは、ECNフィールドに「10」をセットして、ノード100bにIPパケットを送信することで、ノード100bにノード100aの輻輳発生を通知する。なお、ノード100aは、ノード100aが輻輳発生中であっても、輻輳発生をトリガとしたUDP通信をおこなうことはない。したがって、ノード100aは、UDP通信が生じた際に、ノード100bに向けた輻輳発生を通知するに過ぎない。
[ステップS108]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS109]ノード100bは、IPパケットを受信し、ECNフィールド=「10」(ECT=「1」、CE=「0」)のうちECT=「1」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS110]ノード100bは、ECNフィールド=「00」として、IPパケットの送信レートを低くして送信する。
[ステップS111]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS112]ノード100aは、IPパケットを正常に受信する。このとき、ノード100bからのIPパケットの送信レートが制限されているため、ノード100aの輻輳が解消に向かうことが期待できる。
[ステップS113]ノード100aの輻輳が解消する。
[ステップS114]ノード100aは、ECNフィールドに「00」をセットして、ノード100bにIPパケットを送信することで、ノード100bにノード100aの輻輳解消を通知する。
[ステップS115]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS116]ノード100bは、IPパケットを受信し、ECNフィールド=「00」(ECT=「0」、CE=「0」)のうちECT=「0」により送信元のノード100aの輻輳が解消したことを知り、IPパケットの送信レートを元に戻す。
以上のように、双方向の通信が期待できないUDPであっても、ECNフィールドを用いることで、通信相手の輻輳状態を知り、輻輳解消のための通信制御をおこなうことができる。
次に、ノード100aとノード100bとの間の通信における両方向ノードで輻輳発生、ルータ輻輳なしのECN動作フローを図15を用いて説明する。図15は、両方向ノードで輻輳発生、ルータ輻輳なしのECN動作の一例を示す動作フローである。
ノード100aとノード100bとは、IPネットワーク300と接続し、ノード100aとノード100bとの間で双方向に大量のUDP通信をしているものとする。また、IPネットワーク300を構成するネットワーク構成機器の一つとしてルータ200がある。ルータ200は、ノード100aとノード100bの通信経路途中にあるものとする。
[ステップS120]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS121]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS122]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS123]ノード100aは、ECNフィールドに「00」をセットして、IPパケットを送信する。
[ステップS124]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS125]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS126]ノード100aに輻輳が発生する。このとき、ノード100bは、ノード100aの輻輳発生の原因ノードの一つとされたとする。
[ステップS127]ノード100bに輻輳が発生する。このとき、ノード100aは、ノード100bの輻輳発生の原因ノードの一つとされたとする。
[ステップS128]ノード100aは、ECNフィールドに「10」をセットして、ノード100bにIPパケットを送信することで、ノード100bにノード100aの輻輳発生を通知する。
[ステップS129]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS130]ノード100bは、IPパケットを受信し、ECNフィールド=「10」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS131]ノード100bは、ECNフィールドに「10」をセットして、ノード100aにIPパケットを送信することで、ノード100aにノード100bの輻輳発生を通知する。また、このとき、ノード100bは、ノード100aの輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。
[ステップS132]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS133]ノード100aは、IPパケットを受信し、ECNフィールド=「10」により送信元のノード100bに輻輳が発生していることを知る。
[ステップS134]ノード100aは、ノード100aの輻輳状態が継続していることから、ECNフィールドに「10」をセットして、ノード100bにIPパケットを送信する。また、このとき、ノード100aは、ノード100bの輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。
[ステップS135]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS136]ノード100bは、IPパケットを受信し、ECNフィールド=「10」により送信元のノード100aの輻輳が継続していることを知る。
[ステップS137]ノード100bの輻輳が解消する。
[ステップS138]ノード100bは、ノード100bの輻輳が解消したことから、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信することで、ノード100aにノード100bの輻輳解消を通知する。ただし、ノード100bは、ノード100aの輻輳状態を検出していることから、IPパケットの送信レートを低くして送信する。
[ステップS139]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS140]ノード100aは、IPパケットを受信し、ECNフィールド=「00」により送信元のノード100bの輻輳が解消したことを知り、IPパケットの送信レートを元に戻す。
[ステップS141]ノード100aの輻輳が解消する。
[ステップS142]ノード100aは、ノード100aの輻輳が解消したことから、ECNフィールドに「00」をセットして、ノード100bにIPパケットを送信することで、ノード100bにノード100aの輻輳解消を通知する。
[ステップS143]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS144]ノード100bは、IPパケットを受信し、ECNフィールド=「00」により送信元のノード100aの輻輳が解消したことを知り、IPパケットの送信レートを元に戻す。
以上のように、両端のノードで輻輳が発生する場合も、通信相手の輻輳状態を知り、輻輳解消のための通信制御をおこなうことができる。
次に、ノード100aとノード100bとの間の通信におけるノード輻輳なし、片側ルータのみ輻輳発生のECN動作フローを図16を用いて説明する。図16は、ノード輻輳なし、片側ルータのみ輻輳発生のECN動作の一例を示す動作フローである。
ノード100aとノード100bとは、IPネットワーク300と接続し、主としてノード100bからノード100aに向けて大量のUDP通信をしているものとする。また、IPネットワーク300を構成するネットワーク構成機器の一つとしてルータ200がある。ルータ200は、ノード100aとノード100bの通信経路途中にあるものとする。
[ステップS151]ノード100bは、輻輳を発生していない。
[ステップS152]ノード100aは、輻輳を発生していない。
[ステップS153]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS154]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS155]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS156]ノード100aは、ECNフィールドに「00」をセットして、IPパケットを送信する。
[ステップS157]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS158]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS159]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS160]ルータ200は、ルータ200に輻輳が発生したため、ECNフィールド(ECT/CE)に、「01」(ECT=「0」、CE=「1」)をセットしてIPパケットを転送する。なお、ルータ200がCEに「1」を設定する動作は、たとえば、RFCの仕様に規定されている。
[ステップS161]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生していることを知る。
[ステップS162]ノード100aは、CE=「1」を受けて、CEを無視する期間を設定する。CEを無視する期間は、CE無視タイマの起動とタイムアップ監視により実現される。
[ステップS163]ノード100aは、CE=「1」を受けて、ECNフィールドに「01」(ECT=「0」、CE=「1」)をセットして、ノード100bに通信経路途中に輻輳が発生していることを通知する。また、このとき、ノード100aは、通信経路途中の輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。これにより、ノード100aとノード100bの双方が送信レートを低くすることができ、早期に通信経路途中の輻輳を解消することを期待できる。なお、ノード100aは、一度、CE=「1」を送信した後の次の機会のIPパケットの送信では、CE=「0」とする。
[ステップS164]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS165]ノード100bは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100aとの通信経路途中に輻輳が発生していることを知る。
[ステップS166]ノード100bは、CE=「1」を受けて、CEを無視する期間を設定する。
[ステップS167]ノード100aは、ステップS163でノード100bに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」(ECT=「0」、CE=「0」)をセットして、ノード100bにIPパケットを送信する。これにより、ノード100aとノード100bとの間で、CE=「0」とならなくなることを防止している。なお、ノード100aは、一度、CE=「1」を送信した後の次の機会のIPパケットの送信では、CE=「0」とする。また、このとき、ノード100aはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。IPパケットの送信レートを制限する期間は、送信レート制限タイマの起動とタイムアップ監視により実現される。
[ステップS168]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS169]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS170]ノード100bは、ステップS165でCE=「1」を受けていることから、ECNフィールドに「01」(ECT=「0」、CE=「1」)をセットして、ノード100aに通信経路途中に輻輳が発生していたことを通知する。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS171]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS172]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生している旨の通知を受けるが、CEを無視する期間中の通知であるため、この通知を無視する。
[ステップS173]ノード100bは、ステップS170でノード100aに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。なお、ノード100bは、一度、CE=「1」を送信した後の次の機会のIPパケットの送信では、CE=「0」とする。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS174]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS175]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS176]ノード100aは、ECNフィールドに「00」をセットするとともに、送信レート制限タイマがタイムアップしたことから、送信レートの制限を解除してIPパケットを送信する。
[ステップS177]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS178]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
以上のように、IPネットワーク300の通信経路途中にあるルータ200で輻輳が発生する場合も、通信経路の輻輳状態を知り、輻輳解消のための通信制御をおこなうことができる。
次に、ノード100aとノード100bとの間の通信におけるノード輻輳なし、送受信ともにルータで輻輳発生のECN動作フローを図17を用いて説明する。図17は、ノード輻輳なし、送受信ともにルータで輻輳発生のECN動作の一例を示す動作フローである。
ノード100aとノード100bとは、IPネットワーク300と接続し、ノード100aとノード100bとの間で双方向に大量のUDP通信をしているものとする。また、IPネットワーク300を構成するネットワーク構成機器の一つとしてルータ200がある。ルータ200は、ノード100aとノード100bの通信経路途中にあるものとする。
[ステップS180]ノード100bは、輻輳を発生していない。
[ステップS181]ノード100aは、輻輳を発生していない。
[ステップS182]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS183]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS184]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS185]ノード100aは、ECNフィールドに「00」をセットして、IPパケットを送信する。
[ステップS186]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS187]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS188]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS189]ルータ200は、ルータ200に輻輳が発生したため、ECNフィールド(ECT/CE)に、「01」(ECT=「0」、CE=「1」)をセットしてIPパケットを転送する。なお、ルータ200がCEに「1」を設定する動作は、たとえば、RFCの仕様に規定されている。
[ステップS190]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生していることを知る。
[ステップS191]ノード100aは、CE=「1」を受けて、CEを無視する期間を設定する。
[ステップS192]ノード100aは、CE=「1」を受けて、ECNフィールドに「01」(ECT=「0」、CE=「1」)をセットして、ノード100bに通信経路途中に輻輳が発生していることを通知する。また、このとき、ノード100aは、通信経路途中の輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。
[ステップS193]ルータ200は、輻輳が発生しているため、CE=「1」を設定してIPパケットを転送する。なお、ルータ200は、転送するIPパケットの受信時からCE=「1」が設定されているので、ルータ200の輻輳とは関係なくCE=「1」のIPパケットを送信する。
[ステップS194]ノード100bは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100aとの通信経路途中に輻輳が発生していることを知る。
[ステップS195]ノード100bは、CE=「1」を受けて、CEを無視する期間を設定する。
[ステップS196]ノード100aは、ステップS192でノード100bに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」をセットして、ノード100bにIPパケットを送信する。また、このとき、ノード100aはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS197]ルータ200は、ルータ200に輻輳が発生したため、ECNフィールドに「01」をセットしてIPパケットを転送する。
[ステップS198]ノード100bは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100aとの通信経路途中に輻輳が発生している旨の通知を受けるが、CEを無視する期間中の通知であるため、この通知を無視する。
[ステップS199]ノード100bは、ステップS194でCE=「1」を受けていることから、ECNフィールドに「01」(ECT=「0」、CE=「1」)をセットして、ノード100aに通信経路途中に輻輳が発生していたことを通知する。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS200]ルータ200は、輻輳が発生しているため、CE=「1」を設定してIPパケットを転送する。
[ステップS201]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生している旨の通知を受けるが、CEを無視する期間中の通知であるため、この通知を無視する。
[ステップS202]ノード100bは、ステップS199でノード100aに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS203]ルータ200は、輻輳が発生しているため、CE=「1」を設定してIPパケットを転送する。
[ステップS204]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生している旨の通知を受けるが、CEを無視する期間中の通知であるため、この通知を無視する。
[ステップS205]ノード100bは、ステップS199でノード100aに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS206]ルータ200は、輻輳が発生しているため、CE=「1」を設定してIPパケットを転送する。
[ステップS207]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生していることを知る。ノード100aは、ステップS201、ステップS204では、輻輳発生の通知を無視したが、CEを無視する期間が経過しているため、通信経路途中の輻輳発生を検出する。
[ステップS208]ノード100aは、CE=「1」を受けて、あらためてCEを無視する期間を設定する。
[ステップS209]ノード100bは、送信レート制限タイマとCE無視タイマとがタイムアップしているため、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS210]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS211]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS212]ノード100aは、送信レート制限タイマとCE無視タイマとがタイムアップしているため、ECNフィールドに「00」をセットして、IPパケットを送信する。
[ステップS213]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS214]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
以上のように、IPネットワーク300の通信経路途中にあるルータ200で送受信ともに輻輳が発生する場合であっても、通信経路の輻輳状態を知り、輻輳解消のための通信制御をおこなうことができる。
次に、通信装置100aと通信装置100bとの間の通信におけるノードで輻輳発生、ルータで輻輳発生のECN動作フローを図18を用いて説明する。図18は、ノードで輻輳発生、ルータで輻輳発生のECN動作の一例を示す動作フローである。
ノード100aとノード100bとは、IPネットワーク300と接続し、ノード100aとノード100bとの間で双方向に大量のUDP通信をしているものとする。また、IPネットワーク300を構成するネットワーク構成機器の一つとしてルータ200がある。ルータ200は、ノード100aとノード100bの通信経路途中にあるものとする。
[ステップS220]ノード100bは、輻輳を発生していない。
[ステップS221]ノード100aは、輻輳を発生していない。
[ステップS222]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS223]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS224]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS225]ノード100aは、ECNフィールドに「00」をセットして、IPパケットを送信する。
[ステップS226]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS227]ノード100bは、IPパケットを正常に受信し、送信元のノード100a、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS228]ノード100aに輻輳が発生する。このとき、ノード100bは、ノード100aの輻輳発生の原因ノードの一つとされたとする。
[ステップS229]ノード100bは、ECNフィールド=「00」をセットして、IPパケットを送信する。
[ステップS230]ルータ200は、ルータ200に輻輳が発生したため、ECNフィールドに「01」をセットしてIPパケットを転送する。
[ステップS231]ノード100aは、IPパケットを受信し、ECNフィールド=「01」(ECT=「0」、CE=「1」)のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生していることを知る。
[ステップS232]ノード100aは、CE=「1」を受けて、CEを無視する期間を設定する。
[ステップS233]ノード100aは、ノード100aの輻輳発生と、CE=「1」の通知を受けて、ECNフィールドに「11」(ECT=「1」、CE=「1」)をセットしてIPパケットを送信する。また、このとき、ノード100aは、通信経路途中の輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。
[ステップS234]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS235]ノード100bは、IPパケットを受信し、ECNフィールド=「11」(ECT=「1」、CE=「1」)のうちCE=「1」により送信元のノード100aとの通信経路途中に輻輳が発生していることを知る。また、ノード100bは、IPパケットを受信し、ECNフィールド=「11」(ECT=「1」、CE=「1」)のうちECT=「1」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS236]ノード100bは、CE=「1」を受けて、CEを無視する期間を設定する。
[ステップS237]ノード100aは、ノード100aの輻輳発生と、CE=「0」(ステップS233で一度CE=「1」を送信しているため)とから、ECNフィールドに「10」をセットしてIPパケットを送信する。また、このとき、ノード100aは、送信レート制限タイマが起動中であることからIPパケットの送信レートを低くして送信する。
[ステップS238]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS239]ノード100bは、IPパケットを受信し、ECNフィールド=「10」(ECT=「1」、CE=「0」)のうちECT=「1」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS240]ノード100bは、ステップS235でのCE=「1」の通知を受けて、ECNフィールドに「01」(ECT=「0」、CE=「1」)をセットしてIPパケットを送信する。また、このとき、ノード100bは、ノード100aおよび通信経路途中の輻輳通知を受けていることからIPパケットの送信レートを低くして送信する。
[ステップS241]ルータ200は、輻輳が発生しているため、CE=「1」を設定してIPパケットを転送する。
[ステップS242]ノード100aは、IPパケットを受信し、ECNフィールド=「01」のうちCE=「1」により送信元のノード100bとの通信経路途中に輻輳が発生している旨の通知を受けるが、CEを無視する期間中の通知であるため、この通知を無視する。
[ステップS243]ノード100bは、ステップS240でノード100aに通信経路途中に輻輳が発生していることを通知していることから、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。また、このとき、ノード100bはIPパケットの送信レートを、一定期間低くする指示があることから、送信レートを低くしてIPパケットを送信する。
[ステップS244]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS245]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS246]ノード100aは、ノード100aの輻輳発生と、CE=「0」(ステップS233で一度CE=「1」を送信しているため)とから、ECNフィールドに「10」(ECT=「1」、CE=「0」)をセットしてIPパケットを送信する。なお、ノード100aは、送信レート制限タイマがタイムアップしていることからIPパケットの送信レートを元に戻して送信する。
[ステップS247]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS248]ノード100bは、IPパケットを受信し、ECNフィールド=「10」(ECT=「1」、CE=「0」)のうちECT=「1」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS249]ノード100bは、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。ただし、ノード100bは、ノード100aの輻輳状態を検出していることから、IPパケットの送信レートを低くして送信する。
[ステップS250]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS251]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS252]ノード100aは、ノード100aの輻輳が継続していることからECNフィールドに「10」をセットしてIPパケットを送信する。
[ステップS253]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS254]ノード100bは、IPパケットを受信し、ECNフィールド=「10」(ECT=「1」、CE=「0」)のうちECT=「1」により送信元のノード100aに輻輳が発生していることを知る。
[ステップS255]ノード100bは、ECNフィールドに「00」をセットして、ノード100aにIPパケットを送信する。ただし、ノード100bは、ノード100aの輻輳状態を検出していることから、IPパケットの送信レートを低くして送信する。
[ステップS256]ルータ200は、輻輳が発生していないため、ECNフィールドをそのままにしてIPパケットを転送する。
[ステップS257]ノード100aは、IPパケットを正常に受信し、送信元のノード100b、通信経路途中のいずれでも輻輳が発生していないことを知る。
[ステップS258]ノード100aの輻輳が解消する。
以上のように、ノードの輻輳とIPネットワーク300の通信経路途中にあるルータ200の輻輳とが同時に発生する場合であっても、各々について独立に検出可能であり、輻輳解消のための通信制御をおこなうことができる。
また、通信装置100は、IPヘッダのプロトコル番号によるUDPの判断と、IPアドレスによって通知先を決めている。このため、UDPを用いた上位アプリケーションが複数あるときにも、これらのUDP通信を区別せずに輻輳を監視することができるので、上位アプリケーションに輻輳制御を委ねるよりも好適に輻輳を避けることができる。
なお、図14から図18を用いて、ノード100aとノード100b、IPネットワーク300の通信経路途中にあるルータ200について説明したが、このような処理は、通信相手となるノード単位でおこなわれる。
次に、第2の実施形態の通信装置を説明する。図19は、第2の実施形態の通信装置のハードウェア構成例を示す図である。通信装置100は、CPU(Central Processing Unit)161によって装置全体が制御されている。CPU161には、バス167を介してRAM(Random Access Memory)162、ROM(Read Only Memory)163、通信インタフェース164、グラフィック処理装置165、および入出力インタフェース166が接続されている。
RAM162には、CPU161に実行させるOSのプログラムや通信装置としての各種処理を実行するためのアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM162には、CPU161による処理に必要な各種データが格納される。ROM163には、OS(Operating System)やアプリケーションプログラムが格納される。
グラフィック処理装置165には、表示装置170が接続されている。グラフィック処理装置165は、CPU161からの命令にしたがって、情報表示をおこなうための画像を表示装置170の画面に表示させる。
入出力インタフェース166には、図示しない入力装置と出力装置とが接続される。入出力インタフェース166は、入力装置から送られてくる信号を、バス167を介してCPU161に送信する。
通信インタフェース164は、IPネットワーク300に接続されている。通信インタフェース164は、IPネットワーク300を介して、他のコンピュータとの間で電子メールの送受信をおこなう。
以上のようなハードウェア構成によって、本実施形態の処理を実現することができる。なお、IPネットワーク300を介して接続する他のコンピュータ(たとえば、メールサーバ、Webサーバなど)も同様のハードウェア構成で実現できる。
なお、CPU上で動作するソフトウェアでおこなう処理については、ASIC(Application Specific IC:特定用途向けIC)を用いたハードウェア処理に置換可能である。
このような通信装置100は、たとえば、通信装置間でデータを送受信する。
なお、上記の処理は、コンピュータによって実現することができる。その場合、通信装置100が有すべき処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
なお、上述の実施形態は、実施形態の要旨を逸脱しない範囲内において種々の変更を加えることができる。
さらに、上述の実施形態は、多数の変形、変更が当業者にとって可能であり、説明した正確な構成および応用例に限定されるものではない。
以上説明した実施形態に基づき、以下の付記を開示する。
(付記1) IPネットワークに接続して通信をおこなう通信装置において、
IP通信を処理するIP処理部と、
コネクションレス型プロトコル通信を処理するプロトコル処理部と、
前記通信装置の輻輳を検出する輻輳検出部と、
前記輻輳を検出することとなった通信先IPアドレスを判定するIPアドレス判定部と、
前記輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドに輻輳通知情報を付与するECN付与部と、
を備えることを特徴とする通信装置。
(付記2)前記ECN付与部は、前記ECNフィールドのうちECT(ECN Capable Transport)に自通信装置の輻輳通知情報を付与することを特徴とする付記1記載の通信装置。
(付記3)さらに、前記ECNフィールドのうちCE(Congestion Experienced)から、前記IPネットワークの通信経路途中の輻輳通知情報を検出するECN検出部を備え、
前記IPアドレス判定部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスを判定し、
前記ECN付与部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記CEに前記通信経路途中の輻輳通知情報を付与することを特徴とする付記1記載の通信装置。
(付記4)前記ECN付与部は、前記通信経路途中の輻輳通知情報の検出一回につき一度、前記CEに前記通信経路途中の輻輳通知情報を付与することを特徴とする付記3記載の通信装置。
(付記5) 前記ECN検出部は、前記通信経路途中の輻輳通知情報を検出した場合には、前記通信経路途中の輻輳通知情報の検出を所定期間おこなわないことを特徴とする付記4記載の通信装置。
(付記6) IPネットワークに接続して通信をおこなう通信装置において、
IP通信を処理するIP処理部と、
コネクションレス型プロトコル通信を処理するプロトコル処理部と、
IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドの輻輳通知情報を検出するECN検出部と、
前記輻輳通知情報を検出した通信先IPアドレスを判定するIPアドレス判定部と、
前記通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する送信レート制御部と、
を備えることを特徴とする通信装置。
(付記7)前記ECN検出部は、前記ECNフィールドのうちECT(ECN Capable Transport)から前記輻輳通知情報を検出することを特徴とする付記6記載の通信装置。
(付記8)さらに、前記通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記ECNフィールドのCE(Congestion Experienced)に輻輳通知情報を付与するECN付与部を備え、
前記ECN検出部は、前記CEから、前記IPネットワークの通信経路途中の輻輳通知情報を検出し、
前記IPアドレス判定部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスを判定し、
前記ECN付与部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記CEに輻輳通知情報を付与することを特徴とする付記7記載の通信装置。
(付記9)前記ECN付与部は、前記通信経路途中の輻輳通知情報の検出一回につき一度、前記CEに前記通信経路途中の輻輳通知情報を付与することを特徴とする付記8記載の通信装置。
(付記10)前記ECN検出部は、前記通信経路途中の輻輳通知情報を検出した場合には、前記通信経路途中の輻輳通知情報の検出を所定期間おこなわないことを特徴とする付記9記載の通信装置。
(付記11)IPネットワークに接続して通信をおこなう通信装置の通信方法において、
前記通信装置の輻輳を検出し、
前記輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドに輻輳通知情報を付与する、
ことを特徴とする通信装置の通信方法。
(付記12)IPネットワークに接続して通信をおこなう通信装置の通信方法において、
IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドの輻輳通知情報を検出し、
前記輻輳通知情報を検出した通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する、
ことを特徴とする通信装置の通信方法。
10、20 通信装置
11 輻輳検出部
12、24 IPアドレス判定部
13 ECN付与部
14、22 プロトコル処理部
15、21 IP処理部
23 ECN検出部
25 送信レート制御部
300 IPネットワーク

Claims (8)

  1. IPネットワークに接続して通信をおこなう通信装置において、
    IP通信を処理するIP処理部と、
    コネクションレス型プロトコル通信を処理するプロトコル処理部と、
    前記通信装置の輻輳を検出する輻輳検出部と、
    前記輻輳を検出することとなった通信先IPアドレスを判定するIPアドレス判定部と、
    前記輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドに輻輳通知情報を付与するECN付与部と、
    を備えることを特徴とする通信装置。
  2. 前記ECN付与部は、前記ECNフィールドのうちECT(ECN Capable Transport)に自通信装置の輻輳通知情報を付与することを特徴とする請求項1記載の通信装置。
  3. さらに、前記ECNフィールドのうちCE(Congestion Experienced)から、前記IPネットワークの通信経路途中の輻輳通知情報を検出するECN検出部を備え、
    前記IPアドレス判定部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスを判定し、
    前記ECN付与部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記CEに前記通信経路途中の輻輳通知情報を付与することを特徴とする請求項1記載の通信装置。
  4. IPネットワークに接続して通信をおこなう通信装置において、
    IP通信を処理するIP処理部と、
    コネクションレス型プロトコル通信を処理するプロトコル処理部と、
    IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドの輻輳通知情報を検出するECN検出部と、
    前記輻輳通知情報を検出した通信先IPアドレスを判定するIPアドレス判定部と、
    前記通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する送信レート制御部と、
    を備えることを特徴とする通信装置。
  5. 前記ECN検出部は、前記ECNフィールドのうちECT(ECN Capable Transport)から前記輻輳通知情報を検出することを特徴とする請求項4記載の通信装置。
  6. さらに、前記通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記ECNフィールドのCE(Congestion Experienced)に輻輳通知情報を付与するECN付与部を備え、
    前記ECN検出部は、前記CEから、前記IPネットワークの通信経路途中の輻輳通知情報を検出し、
    前記IPアドレス判定部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスを判定し、
    前記ECN付与部は、前記通信経路途中の輻輳通知情報を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、前記CEに輻輳通知情報を付与することを特徴とする請求項5記載の通信装置。
  7. IPネットワークに接続して通信をおこなう通信装置の通信方法において、
    前記通信装置の輻輳を検出し、
    前記輻輳を検出することとなった通信先IPアドレスへのコネクションレス型プロトコル通信時に、IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドに輻輳通知情報を付与する、
    ことを特徴とする通信装置の通信方法。
  8. IPネットワークに接続して通信をおこなう通信装置の通信方法において、
    IPヘッダにある輻輳通知をおこなうためのECN(Explicit Congestion Notification)フィールドの輻輳通知情報を検出し、
    前記輻輳通知情報を検出した通信先IPアドレスへのコネクションレス型プロトコル通信時に、送信レートを制限する、
    ことを特徴とする通信装置の通信方法。
JP2009158963A 2009-07-03 2009-07-03 通信装置、および通信方法 Expired - Fee Related JP5353494B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009158963A JP5353494B2 (ja) 2009-07-03 2009-07-03 通信装置、および通信方法
US12/823,176 US8451727B2 (en) 2009-07-03 2010-06-25 Apparatus and method for controlling congestion occurrence in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009158963A JP5353494B2 (ja) 2009-07-03 2009-07-03 通信装置、および通信方法

Publications (2)

Publication Number Publication Date
JP2011015288A true JP2011015288A (ja) 2011-01-20
JP5353494B2 JP5353494B2 (ja) 2013-11-27

Family

ID=43412605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009158963A Expired - Fee Related JP5353494B2 (ja) 2009-07-03 2009-07-03 通信装置、および通信方法

Country Status (2)

Country Link
US (1) US8451727B2 (ja)
JP (1) JP5353494B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020792A1 (ja) * 2012-07-31 2014-02-06 日本電気株式会社 移動端末、制御ノード、パケット転送ノード、及び輻輳制御のための方法
US8976671B2 (en) 2012-03-12 2015-03-10 Fujitsu Limited Information processing apparatus, congestion control method, and computer-readable recording medium
JP2015097316A (ja) * 2013-11-15 2015-05-21 アラクサラネットワークス株式会社 中継装置および中継方法
JP2019047254A (ja) * 2017-08-31 2019-03-22 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム
US10979356B2 (en) 2018-08-03 2021-04-13 Toyota Jidosha Kabushiki Kaisha Communication method and communication system

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102484819A (zh) * 2009-08-25 2012-05-30 瑞典爱立信有限公司 使用ecn机制以直接向基站发信号通知拥塞
US9007914B2 (en) * 2009-09-30 2015-04-14 Qualcomm Incorporated Methods and apparatus for enabling rate adaptation across network configurations
US20120087245A1 (en) 2010-10-06 2012-04-12 Qualcomm Incorporated Methods and apparatus for ecn receiver driven congestion control
JP5601193B2 (ja) 2010-12-22 2014-10-08 富士通株式会社 ネットワーク中継システム、ネットワーク中継装置、輻輳状態通知方法、及びプログラム
US8954689B2 (en) * 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
US9391911B1 (en) * 2011-07-15 2016-07-12 Google Inc. Congestion window modification
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) * 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
WO2014135185A1 (en) * 2013-03-04 2014-09-12 Nokia Solutions And Networks Oy User plane congestion control
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9444754B1 (en) * 2014-05-13 2016-09-13 Chelsio Communications, Inc. Method for congestion control in a network interface card
US10097373B2 (en) * 2014-08-15 2018-10-09 LiveQoS Inc. UDP over TCP tunnel
CN111865810B (zh) * 2019-04-30 2022-08-09 华为技术有限公司 一种拥塞信息采集方法、系统、相关设备及计算机存储介质
CN112040189B (zh) * 2020-09-01 2022-06-24 浙江大华技术股份有限公司 前端设备的监控方法及系统、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09168032A (ja) * 1995-12-15 1997-06-24 Furukawa Electric Co Ltd:The 通信ネットワーク間接続方法
JPH09252311A (ja) * 1996-01-11 1997-09-22 Hitachi Ltd Atm通信装置およびそれを用いた通信網の輻輳制御方法
JPH10271132A (ja) * 1997-03-27 1998-10-09 Toshiba Corp パケット交換網におけるフロー制御方式
WO2001089160A1 (en) * 2000-05-18 2001-11-22 British Telecommunications Public Limited Company Communications network
JP2004236316A (ja) * 2003-01-27 2004-08-19 Microsoft Corp 帯域制御プログラム、方法およびエンド・システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1235392A1 (en) 2000-09-22 2002-08-28 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program
US8036120B2 (en) * 2003-08-27 2011-10-11 Nortel Networks Limited Technique for admission control of packet flows
WO2006135334A2 (en) * 2005-06-15 2006-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Codec rate adaptation as a function of air-interface as wel as network in a packet-based network
JP2010532952A (ja) * 2007-07-06 2010-10-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 送信ノードにおける輻輳制御

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09168032A (ja) * 1995-12-15 1997-06-24 Furukawa Electric Co Ltd:The 通信ネットワーク間接続方法
JPH09252311A (ja) * 1996-01-11 1997-09-22 Hitachi Ltd Atm通信装置およびそれを用いた通信網の輻輳制御方法
JPH10271132A (ja) * 1997-03-27 1998-10-09 Toshiba Corp パケット交換網におけるフロー制御方式
WO2001089160A1 (en) * 2000-05-18 2001-11-22 British Telecommunications Public Limited Company Communications network
JP2004236316A (ja) * 2003-01-27 2004-08-19 Microsoft Corp 帯域制御プログラム、方法およびエンド・システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013012637; K.K. Ramakrishnan et al.: 'Congestion Avoidance in Computer Networks with A Connecitonless Network Layer: Part IV: A Selective' DEC Technical Report DEC-TR-510 , 1987 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976671B2 (en) 2012-03-12 2015-03-10 Fujitsu Limited Information processing apparatus, congestion control method, and computer-readable recording medium
WO2014020792A1 (ja) * 2012-07-31 2014-02-06 日本電気株式会社 移動端末、制御ノード、パケット転送ノード、及び輻輳制御のための方法
JP2014030107A (ja) * 2012-07-31 2014-02-13 Nec Commun Syst Ltd 移動端末、制御ノード、パケット転送ノード、及び輻輳制御のための方法
US9807011B2 (en) 2012-07-31 2017-10-31 Nec Corporation Mobile terminal, control node, packet transfer node, and method for controlling congestion
JP2015097316A (ja) * 2013-11-15 2015-05-21 アラクサラネットワークス株式会社 中継装置および中継方法
US9667548B2 (en) 2013-11-15 2017-05-30 Alaxala Networks Corporation Relay apparatus and relay method
JP2019047254A (ja) * 2017-08-31 2019-03-22 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム
US10735326B2 (en) 2017-08-31 2020-08-04 Fujitsu Limited Information processing apparatus, method and non-transitory computer-readable storage medium
US10979356B2 (en) 2018-08-03 2021-04-13 Toyota Jidosha Kabushiki Kaisha Communication method and communication system

Also Published As

Publication number Publication date
JP5353494B2 (ja) 2013-11-27
US20110002224A1 (en) 2011-01-06
US8451727B2 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
JP5353494B2 (ja) 通信装置、および通信方法
US20060221825A1 (en) Congestion control network relay device and method
JP4491257B2 (ja) 終端間測定に基づくネットワークへのデータストリームの許容の制御
US8943206B2 (en) Network bandwidth detection and distribution
Xu et al. CMT-QA: Quality-aware adaptive concurrent multipath data transfer in heterogeneous wireless networks
US8873385B2 (en) Incast congestion control in a network
KR101143172B1 (ko) 웹 서비스를 위한 신뢰성 있는 메시징 프로토콜을 이용한메시지의 효율적인 전송
KR100592412B1 (ko) 실시간 트래픽 특성을 고려하여 큐를 관리하는 액세스네트워크 장치 및 그 큐 관리 방법
TWI530123B (zh) Communication devices and communication methods
JP2009526494A (ja) トランスポートプロトコルの性能を改善するシステムおよび方法
JP2010504047A (ja) マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法
JP2010518782A (ja) 無線通信システムにおけるストリーミングメディアサービスのためのプロキシベースのシグナリングアーキテクチャ
US20030128672A1 (en) Transmission and flow control
KR101849302B1 (ko) 이종 망에서 다중 경로 전송제어프로토콜(tcp)의 혼잡 윈도우 제어 방법
Ndikumana et al. Network-assisted congestion control for information centric networking
US8351330B2 (en) System and method for traffic prioritization
Xiong et al. Lambdastream–a data transport protocol for streaming network-intensive applications over photonic networks
US8155074B1 (en) Methods and systems for improving performance of applications using a radio access network
US10015288B2 (en) Communication apparatus and control method of communication apparatus
Lar et al. Modeling TCP NewReno slow start and congestion-avoidance using simulation approach
KR102354699B1 (ko) 네트워크 연결 제어 장치 및 그 방법
CN111416777A (zh) 一种基于路径延时探测的负载均衡方法及系统
JP5815838B2 (ja) ルータにおいて通信を管理するための技法
JP5375313B2 (ja) 通信装置、擬似応答装置、送信レート制御方法およびプログラム
Arshad et al. Issues of multihoming implementation using FAST TCP: a simulation based analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

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: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees