JP2013223234A - 通信装置、通信システム、通信方法及び通信プログラム - Google Patents

通信装置、通信システム、通信方法及び通信プログラム Download PDF

Info

Publication number
JP2013223234A
JP2013223234A JP2012095837A JP2012095837A JP2013223234A JP 2013223234 A JP2013223234 A JP 2013223234A JP 2012095837 A JP2012095837 A JP 2012095837A JP 2012095837 A JP2012095837 A JP 2012095837A JP 2013223234 A JP2013223234 A JP 2013223234A
Authority
JP
Japan
Prior art keywords
rwnd
address
communication device
address information
sctp
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.)
Pending
Application number
JP2012095837A
Other languages
English (en)
Inventor
Hiroaki Yamamoto
裕明 山本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012095837A priority Critical patent/JP2013223234A/ja
Publication of JP2013223234A publication Critical patent/JP2013223234A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】マルチホーミングのアソシエーション確立時に特定の回線で輻輳が発生しても、データチャンクの送受信を可能にする。
【解決手段】通信装置10は、複数のアドレス情報14を使用して対向通信装置20と通信するための集約パス30を制御する集約パス制御部11と、複数のアドレス情報14のそれぞれに対して、対向通信装置20が受信可能なデータサイズである受信ウィンドウ情報を管理するウィンドウサイズ管理部12と、受信ウィンドウ情報に基づいて複数のアドレス情報14のいずれかを使用して対向通信装置20へデータを送信する送信部13と、を備えるものである。
【選択図】図1

Description

本発明は、通信装置、通信システム、通信方法及び通信プログラムに関し、特に、ウィンドウサイズに基づいてデータを送信する通信装置、通信システム、通信方法及び通信プログラムに関する。
OSIレイヤ4プロトコルであるSCTP(Stream Control Transmission Protocol)では回線の冗長化を目的としてマルチホーミング機能を備えている。マルチホーミング機能とは、複数のIPアドレスを含めたアソシエーション(SCTPにおけるセッションの呼称)を確立することを可能とする機能である。マルチホーミング機能により、アソシエーションは代替の回線を持つことになり、回線の障害に対する冗長化を実現することができる。
SCTPでは回線の輻輳状態に応じてチャンク(SCTPにおけるノード間で送受信されるデータの単位)の送信をコントロールするためにcwnd(Congestion window)を備えている一方、TCP(Transmission Control Protocol)と同様にrwnd(Receiver Window)とa_rwnd(Advertised Receiver Window Credit)により受信ウィンドウサイズのコントロールを行っている。
例えば、SCTPに関連する技術として特許文献1や2が知られている。
特開2010−232841号公報 特開2006−101428号公報
図5は、関連するSCTPにおけるノード間のアソシエーションとrwndおよびa_rwndを示す構成図である。図5において、SCTPノード900は、マルチホーミングのアソシエーションα921で使用されるIP address a901及びIP address b902と、シングルホーミングのアソシエーションω922で使用されるIP address x903が設定されている。rwnd α904およびa_rwnd α905はアソシエーションα921に対する受信ウィンドウ変数rwnd/a_rwndである。rwnd ω906およびa_rwnd ω907はアソシエーションω922に対する受信ウィンドウ変数rwnd/a_rwndである。
SCTPピアノード910は、アソシエーションα921で使用されるIP address A911及びIP address B912と、アソシエーションω922で使用されるIP address X913が設定されている。rwnd γ914およびa_rwnd γ915はアソシエーションα921に対する受信ウィンドウ変数rwnd/a_rwndである。rwnd Ω916およびa_rwnd Ω917はアソシエーションω922に対する受信ウィンドウ変数rwnd/a_rwndである。
このように、関連するSCTPにおいてはアソシエーション単位でrwnd/a_rwndを保持している。これはアソシエーションに複数のIPアドレスが含まれるマルチホーミングであっても単一のrwnd/a_rwndにより受信ウィンドウサイズのコントロールが行われることを意味する。
この場合、アソシエーションがマルチホームであるとき、特定の回線における輻輳の発生によりrwnd/a_rwndが0に近づくと、単一のrwnd/a_rwndにより受信ウィンドウサイズをコントロールしていることが原因で、輻輳の発生していない他の回線においてもチャンクの送受信ができなくなるという現象が発生する。
したがって、関連する技術では、SCTPマルチホーミングのアソシエーションのような集約パス確立時に特定の回線で輻輳が発生すると、輻輳の発生していない他の回線でもデータチャンク等のデータの送受信が不可能になるという問題があった。
本発明の目的は、このような問題を解決する通信装置、通信システム、通信方法及び通信プログラムを提供することにある。
本発明に係る通信装置は、複数のアドレス情報を使用して対向通信装置と通信するための集約パスを制御する集約パス制御部と、前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理するウィンドウサイズ管理部と、前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する送信部と、を備えるものである。
本発明に係る通信システムは、通信装置と対向通信装置とが通信可能に接続された通信システムであって、前記通信装置は、複数のアドレス情報を使用して前記対向通信装置と通信するための集約パスを制御する集約パス制御部と、前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理するウィンドウサイズ管理部と、前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する送信部と、を備えるものである。
本発明に係る通信方法は、複数のアドレス情報を使用して対向通信装置と通信するための集約パスを制御し、前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理し、前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信するものである。
本発明に係る通信プログラムは、対向通信装置と通信する通信処理をコンピュータに実行させる通信プログラムであって、前記通信処理は、複数のアドレス情報を使用して前記対向通信装置と通信するための集約パスを制御し、前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理し、前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信するものである。
本発明によれば、集約パスの確立時に特定の回線で輻輳が発生しても、データの送受信が可能な通信装置、通信システム、通信方法及び通信プログラムを提供することができる。
本発明に係る通信装置の特徴を説明するための構成図である。 実施の形態1に係る通信システムの構成を示す構成図である。 実施の形態1に係る通信システムの動作を示すシーケンス図である。 実施の形態1に係る通信システムの動作を示すフローチャートである。 関連する通信システムの構成を示す構成図である。
(本発明の特徴)
本発明の実施の形態の説明に先立って、図1を用いて、本発明の特徴についてその概要を説明する。
図1に示すように、本発明に係る通信装置(SCTPノードに相当)10は、集約パス制御部(アソシエーション制御部に相当)11、ウィンドウサイズ管理部12、送信部13を備えている。そして、集約パス制御部11は、複数のアドレス情報14を使用して対向通信装置20と通信するための集約パス30を制御し、ウィンドウサイズ管理部12は、複数のアドレス情報14のそれぞれに対して対向通信装置20が受信可能なデータサイズである受信ウィンドウ情報15を管理し、送信部13は、受信ウィンドウ情報15に基づいて複数のアドレス情報14のいずれかを使用して対向通信装置20へデータを送信することを本発明の主要な特徴としている。
このように、本発明に係る通信装置では、SCTPマルチホーミング等のような集約パスを介して対向通信装置と接続する構成において、IPアドレス等のようなアドレス情報毎に受信ウィンドウサイズを管理するため、特定の回線で輻輳が発生した場合でも他の輻輳の発生していない回線を使用してチャンク等のデータを送受信することができる。
なお、上記特許文献1には、マルチホーミングにおけるrwnd/a_rwndについて記載されていないため、本発明のようにマルチホーミングにおける輻輳時の課題を解決することはできない。
また、本発明は、輻輳回避に限らず障害回避を行うことが可能であるが、上記特許文献2は、輻輳回避のみを目的としているため、障害回避を行うことは困難である。特許文献2は、本発明のようにrwnd/a_rwndをIPアドレス単位に管理するものではないため、rwnd/a_rwndが0に近づいたときに通信不可となる状況は変わらず、障害回避を行うことができない。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。本実施の形態は、IPアドレス単位にrwnd/a_rwndを管理することを特徴とする。なお、本実施の形態は、rwnd/a_rwndにより課題を解決するものであるため、c_rwndなどその他のパラメータについては、特に限定されない。
図2は、本実施の形態に係る通信システムの構成を示している。この通信システムは、SCTPノード100とSCTPピアノード200とがネットワーク300を介して接続されたSCTP通信システムである。SCTPノード100とSCTPピアノード200とは同様の構成であり、SCTPを実装したノードである。図2では、SCTPノード100とSCTPピアノード200の間でアソシエーションα301やアソシエーションω302が確立され、チャンクが送受信される。アソシエーションα301は複数のIPアドレスを含むマルチホーミングのアソシエーションであり、アソシエーションω302は1つのIPアドレスを含むシングルホーミングのアソシエーションである。
なお、SCTPノード100及びSCTPピアノード200の各部(各機能、各処理部)は、ハードウェア又はソフトウェア、もしくはその両方によって構成される。また、SCTPノード100及びSCTPピアノード200の各部を、CPUやメモリ等を有するコンピュータにより実現してもよい。例えば、SCTPノード100及びSCTPピアノード200の各部を、本実施の形態に係る通信プログラムをCPUで実行することにより実現してもよい。本実施の形態に係る通信プログラムは、図3や図4等で後述する動作をコンピュータで実行するためのプログラムである。
SCTPノード100は、主に、アソシエーション制御部110、ウィンドウサイズ管理部120、送信部130を備えており、さらに、ネットワークインタフェース部100a、SCTP情報保持部100bを備えている。
ネットワークインタフェース部100aは、1つまたは複数のインタフェースから構成され、複数のIPアドレスが設定されている。SCTPでは、IPアドレスを使用してアソシエーションを介したチャンクの送受信を行う。ネットワークインタフェース部100aに設定されるIPアドレスは、送信時にチャンクの送信元IPアドレスとして指定されるアドレスであり、受信時にチャンクの宛先IPアドレスとして指定されるアドレスである。
図2では、IP address a101、IP address b102、IP address x103が設定されている。IP address a101、IP address b102は、マルチホーミングのアソシエーションα301で使用されるIPアドレスであり、IP address x103は、シングルホーミングのアソシエーションω302で使用されるIPアドレスである。例えば、IP address a101は、SCTPピアノード200のIP address A201との間でパスを構成してチャンクを送受信し、IP address b102は、SCTPピアノード200のIP address B202との間でパスを構成してチャンクを送受信し、IP address x103は、SCTPピアノード200のIP address X203との間でパスを構成してチャンクを送受信する。
SCTP情報保持部100bは、SCTPによる通信を行うために必要な情報を保持する保持部である。SCTP情報保持部100bは、SCTPでチャンクを送受信するためのパラメータである受信ウィンドウサイズを保持する。rwndは、対向装置が受信可能なデータサイズ(対向装置の空き受信バッファサイズ)を示す対向装置の受信ウィンドウ変数(情報)であり、a_rwndは、自装置が受信可能なデータサイズ(自装置の空き受信バッファサイズ)を示す自装置の受信ウィンドウ変数(情報)である。
図5の関連する技術では、アソシエーション単位にrwnd/a_rwndを保持していたが、本実施の形態では、図2に示すように、IPアドレス単位にrwnd/a_rwndを保持する。例えば、IPアドレス毎に受信バッファが設けられており、この受信バッファの空き容量がrwnd/a_rwndとなる。
図2において、rwnd a104およびa_rwnd a105はIP address a101に対する受信ウィンドウ変数rwnd/a_rwndであり、また、rwnd b106およびa_rwnd b107はIP address b102に対する受信ウィンドウ変数rwnd/a_rwndである。すなわち、rwnd a104、a_rwnd a105、rwnd b106、a_rwnd b107はマルチホーミングのアソシエーションで使用するIPアドレスに対する受信ウィンドウサイズである。
例えば、rwnd a104は、IP address a101からIP address A201へ送信可能なウィンドウサイズであり、a_rwnd a105は、IP address a101がIP address A201から受信可能なウィンドウサイズである。rwnd b106は、IP address b102からIP address B202へ送信可能なウィンドウサイズであり、a_rwnd b107は、IP address b102がIP address B202から受信可能なウィンドウサイズである。
さらに、rwnd x108及びa_rwnd x109はIP address x103に対する受信ウィンドウ変数rwnd/a_rwndである。すなわち、rwnd x108、a_rwnd x109はシングルホーミングのアソシエーションで使用するIPアドレスに対する受信ウィンドウサイズである。例えば、rwnd x108は、IP address x103からIP address X203へ送信可能なウィンドウサイズであり、a_rwnd x109は、IP address x103がIP address X203から受信可能なウィンドウサイズである。
アソシエーション制御部110は、SCTPアソシエーションの確立(接続)や解放(切断)等を制御する。例えば、アソシエーション制御部110は、IP address a101及びIP address b102を使用して通信するように、SCTPピアノード200との間でアソシエーションα301を設定し、IP address x103を使用して通信するように、SCTPピアノード200との間でアソシエーションω302を設定する。
ウィンドウサイズ管理部120は、SCTP情報保持部100bの受信ウィンドウサイズを管理する。本実施の形態では、IPアドレス毎に受信ウィンドウサイズを管理する。ウィンドウサイズ管理部120は、SCTPピアノード200からチャンクの受信時、IPアドレス毎に通知される受信ウィンドウサイズにより各rwndを更新する。ウィンドウサイズ管理部120は、IPアドレス毎の自装置の空き受信バッファサイズにより各a_rwndを更新し、チャンクの送信時にSCTPピアノード200へ通知する。
送信部130は、IPアドレスを使用しアソシエーションを介してSCTPピアノード200へチャンクを送信する。送信部130は、アソシエーションα301を介して通信するため、チャンクの送信元IPアドレスに、IP address a101またはIP address b102を指定しSCTPピアノード200へ送信する。また、送信部130は、アソシエーションω302を介して通信するため、チャンクの送信元IPアドレスに、IP address x103を指定しSCTPピアノード200へ送信する。
さらに、本実施の形態では、送信部130は、IPアドレス毎の受信ウィンドウ変数rwnd/a_rwndに基づいてSCTPピアノード200へチャンクを送信するべきかどうか判断し、送信可能なIPアドレスを選択してチャンクを送信する。例えば、rwnd a104が0の場合、IP address a101からチャンクを送信せず、rwnd b106が0より大きい場合、IP address b102からチャンクを送信する。
SCTPピアノード200は、SCTPノード100と同様に、アソシエーション制御部210、ウィンドウサイズ管理部220、送信部230を備えており、さらに、ネットワークインタフェース部200a、SCTP情報保持部200bを備えている。
SCTPピアノード200では、IP address A201、IP address B202は、マルチホーミングのアソシエーションα301で使用されるIPアドレスであり、IP address X203は、シングルホーミングのアソシエーションω302で使用されるIPアドレスである。
SCTPピアノード200では、rwnd A204およびa_rwnd A205はIP address A201に対する受信ウィンドウ変数rwnd/a_rwndであり、また、rwnd B206およびa_rwnd B207はIP address B202に対する受信ウィンドウ変数rwnd/a_rwndである。rwnd X208及びa_rwnd X209はIP address X203に対する受信ウィンドウ変数rwnd/a_rwndである。
例えば、rwnd A204は、IP address A201からIP address a101へ送信可能なウィンドウサイズであり、a_rwnd A205は、IP address A201がIP address a101から受信可能なウィンドウサイズである。rwnd B206は、IP address B202からIP address b102へ送信可能なウィンドウサイズであり、a_rwnd B207は、IP address B202がIP address b102から受信可能なウィンドウサイズである。rwnd X208は、IP address X203からIP address x103へ送信可能なウィンドウサイズであり、a_rwnd X209は、IP address X203がIP address x103から受信可能なウィンドウサイズである。
アソシエーション制御部210は、IP address A201及びIP address B202を使用して通信するように、SCTPノード100との間でアソシエーションα301を設定し、IP address X203を使用して通信するように、SCTPノード100との間でアソシエーションω302を設定する。
ウィンドウサイズ管理部220は、SCTPノード100からチャンクの受信時、IPアドレス毎に通知される受信ウィンドウサイズによりrwndをそれぞれ更新する。ウィンドウサイズ管理部220は、IPアドレス毎の自装置の空き受信バッファサイズによりa_rwndを更新し、チャンクの送信時にSCTPノード100へ通知する。
送信部230は、IPアドレス毎の受信ウィンドウ変数rwnd/a_rwndに基づいてSCTPノード100へチャンクを送信するべきかどうか判断し、送信可能なIPアドレスを選択してチャンクを送信する。
ここで、より詳細なrwnd/a_rwndの値の更新・通知とrwndの値に応じたデータチャンクの送信について、以下の(1)〜(3)で説明する。
(1)SCTPの仕様どおり、各ノードは各rwndの現在値に応じて以下の規則に従ってチャンクの送信を規制する。
1.対向ノードのrwndが0のとき、対向ノードにはデータチャンクを送信しない。ただし、その場合でも、cwndのサイズを超えない限りただ1つのデータチャンクをアウトスタンディングな状態で持つことができる。
(2)SCTPの仕様どおり、各ノードは各rwndの値を以下の規則に従って更新する。
1.アソシエーション確立処理時、rwndの値をINITチャンクまたはINIT−ACKチャンクに乗って通知されるa_rwndの値で初期化する。
2.データチャンクを送信または再送すると送信データサイズ分rwndをデクリメントする。
3.あるデータチャンクを再送対象とする処理を行うとそのデータサイズ分rwndをインクリメントする。
4.対向ノードからSACKを受信すると、SACKに乗せて通知されたa_rwndの値からアウトスタンディングなデータチャンクのサイズを引いた値をrwndに代入する。
(3)SCTPの仕様どおり、各ノードは各a_rwndの値を以下の規則に従って更新し、対向ノードへ通知する。
1.アソシエーション確立処理時、アソシエーションごとに割り当てた受信バッファをa_rwndに代入し、INITチャンクまたはINIT−ACKチャンクに乗せて対向ノードにa_rwndの通知を行う。
2.データチャンクの受信時には受信データサイズ分a_rwndをデクリメントする。
3.データチャンクの受信後、そのデータを上位レイヤに通知すると、そのデータチャンクのサイズ分だけ受信バッファを開放する。この開放処理を行うと開放したサイズ分だけa_rwndをインクリメントする。
4.アソシエーション確立後はa_rwndをSACKに載せて対向ノードに通知する。
図3は、上記rwnd/a_rwndの値の更新・通知を含めた、本実施の形態に係る通信システムのアソシエーション確立及びデータ送受信シーケンスを示している。本実施の形態ではIPアドレス単位にa_rwndを保持するが、チャンクの送信元アドレスに対応した各a_rwndの値をa_rwndフィールドに乗せてチャンクを送信することで対向装置にa_rwndの値を通知することができる。そのため、チャンクのフォーマットに変更は必要ない。
ただし、チャンクの送信元アドレスに対応した各a_rwndの値をa_rwndフィールドに乗せるためには、チャンクをバンドルしたパケットの送信処理が完了する前に送信元アドレスを確定し取得しておく必要がある。この送信元アドレスの取得方法は、任意の方法でよく、特に限定されない。
図3に示すように、まず、SCTPノード100は、INITチャンクをSCTPピアノード200へ送信する(S101)。SCTPノード100は、アソシエーションに割り当てた受信バッファのサイズをa_rwndに設定したINITチャンクを送信する。INITチャンクには、アソシエーションで使用する複数のIPアドレスも設定されている。アソシエーションα301の場合、INITチャンクにIP address a101及びIP address b102が設定されている。例えば、INITチャンクにより、IPアドレス毎に割り当てた複数のa_rwndを通知してもよい。SCTPピアノード200は、受信したINITチャンクに含まれるa_rwndの値でrwndを初期化する。例えば、IPアドレス毎のa_rwndが通知された場合、IPアドレスに対応したrwndをそれぞれ初期化する。
続いて、SCTPピアノード200は、INIT−ACKチャンクをSCTPノード100へ送信する(S102)。SCTPピアノード200は、アソシエーションに割り当てた受信バッファのサイズをa_rwndに設定したINIT−ACKチャンクを送信する。INIT−ACKチャンクには、クッキー情報やアソシエーションで使用する複数のIPアドレスも設定されている。アソシエーションα301の場合、INIT−ACKチャンクにIP address A201及びIP address B202が設定されている。例えば、INIT−ACKチャンクにより、IPアドレス毎に割り当てた複数のa_rwndを通知してもよい。SCTPノード100は、受信したINIT−ACKチャンクに含まれるa_rwndの値でrwndを初期化する。例えば、IPアドレス毎のa_rwndが通知された場合、IPアドレスに対応したrwndをそれぞれ初期化する。
続いて、SCTPノード100は、COOKIE−ECHOチャンクをSCTPピアノード200へ送信する(S103)。SCTPノード100は、受信したINIT−ACKチャンクのクッキー情報を設定して、COOKIE−ECHOを送信する。
続いて、SCTPピアノード200は、COOKIE−ECHOを受信すると、受信したCOOKIE−ECHOのクッキー情報と、INIT−ACKで送信したクッキー情報とを比較して認証し、COOKIE−ACKチャンクをSCTPノード100へ送信する(S104)。これによりSCTPセッションが確立した状態となり、SCTPノード100及びSCTPピアノード200がDATAチャンクを送受信可能となる。
続いて、SCTPノード100は、DATAチャンクをSCTPピアノード200へ送信する(S105)。SCTPノード100は、送信可能な大きさのrwnd、例えば、0よりも大きい、または、送信データサイズよりも大きいrwndを選択し、送信するIPアドレスを決定する。SCTPノード100は、送信するIPアドレスのrwndを、送信データサイズ分デクリメントし、DATAチャンクを送信する。例えば、rwnd b106が0より大きい場合、rwnd b106を更新し、IP address b102からIP address B202へDATAチャンクを送信する。
SCTPピアノード200は、DATAチャンクを受信すると、受信したIPアドレスのa_rwndを、受信データサイズ分デクリメントし、さらに、データを上位レイヤに通知した場合にa_rwndをインクリメントする。例えば、IP address B202でDATAチャンクを受信すると、a_rwnd B207を更新する。
続いて、SCTPピアノード200は、SACKチャンクをSCTPノード100へ送信する(S106)。SCTPピアノード200は、受信したDATAチャンクに応答するため、受信したIPアドレスのa_rwndを設定したSACKチャンクを送信する。例えば、更新したa_rwnd B207を設定し、IP address B202からIP address b102へSACKチャンクを受信する。
SCTPノード100は、受信したSACKチャンクに含まれるa_wrndの値からアウトスタンディングなデータチャンクのサイズを引いた値をrwndに設定する。例えば、IP address b102でSACKチャンクを受信すると、rwnd b106を更新する。
続いて、SCTPピアノード200は、DATAチャンクをSCTPノード100へ送信する(S107)。SCTPピアノード200は、送信可能な大きさのrwndを選択し、送信するIPアドレスを決定する。SCTPピアノード200は、送信するIPアドレスのrwndを、送信データサイズ分デクリメントし、DATAチャンクを送信する。例えば、rwnd A204が0より大きい場合、rwnd A204を更新し、IP address A201からIP address a101へDATAチャンクを送信する。
SCTPノード100は、DATAチャンクを受信すると、受信したIPアドレスのa_rwndを、受信データサイズ分デクリメントし、さらに、データを上位レイヤに通知した場合にa_rwndをインクリメントする。例えば、IP address a101でDATAチャンクを受信すると、a_rwnd a105を更新する。
続いて、SCTPノード100は、SACKチャンクをSCTPピアノード200へ送信する(S108)。SCTPノード100は、受信したDATAチャンクに応答するため、受信したIPアドレスのa_rwndを設定したSACKチャンクを送信する。例えば、更新したa_rwnd a105を設定し、IP address a101BからIP address A201へSACKチャンクを受信する。
SCTPピアノード200は、受信したSACKチャンクに含まれるa_wrndの値からアウトスタンディングなデータチャンクのサイズを引いた値をrwndに設定する。例えば、IP address A201でSACKチャンクを受信すると、rwnd A204を更新する。
本実施の形態では、上記rwnd/a_rwndに従い、かつIPアドレス単位でrwnd/a_rwndを保持することにより、輻輳時に値が0になるrwndが特定のIPアドレスに対応したもののみに限定される。その結果、そのIPアドレスに対応した特定の回線ではデータチャンクの送信ができなくなるものの、マルチホーミングであればrwndの値が0でない他の回線を使用してデータチャンクの送受信が可能となる。
図4は、本実施の形態に係る通信システムの輻輳発生時のフローチャートである。SCTPノード100及びSCTPピアノード200で同様の動作となり、ここではSCTPノード100の動作として説明する。
まず、SCTPノード100は、図3のようにアソシエーションが確立すると、通常運用状態となる(S201)。このとき、特定のIPアドレスに対応した回線(パス)で輻輳(障害)が発生する(S202)。輻輳は、特定のIPアドレスのrwnd/a_rwndが0となるか、0に近づくように低下したことにより検出できる。また、HEARTBEATチャンク及びHEARTBEAT−ACKチャンクを送受信することによりIPアドレス毎に定期的に導通確認し、回線(パス)の輻輳(障害)を検出することもできる。
SCTPノード100は、回線の輻輳を検出すると、輻輳している特定IPアドレスへのデータチャンクの送信を抑制し(S203)、残りのIPアドレスへデータチャンクを送信する(S204)。SCTPノード100は、その他のIPアドレスに対応したrwndが0でなければそのIPアドレスを宛先としてデータチャンクを送信する(S204)。例えば、rwndが0より大きいIPアドレスや、rwndが送信データサイズより大きいIPアドレスを選択する。また、rwndが最も大きいIPアドレスを選択してもよい。
その後、特定の回線で輻輳が解消する(S205)。輻輳の解消は、特定のIPアドレスのrwnd/a_rwndが0より大きくなるか、任意の閾値以上まで増加したことにより検出できる。また、HEARTBEATチャンク及びHEARTBEAT−ACKチャンクを送受信することにより、回線の輻輳(障害)の解消を検出することもできる。
SCTPノード100は、輻輳が解消すると、通常運用状態に戻る(S206)。SCTPノード100は、輻輳が解消したため、特定IPアドレスへのデータチャンクの送信を再開する。
以上のように、関連する技術では同一アソシエーション内において特定回線の輻輳により他回線でもチャンクの受信ができなくなることがあった状況を回避するために、本実施の形態では、rwndおよびa_rwndをIPアドレス単位に設けることとした。rwndおよびa_rwndをアソシエーションに含まれるIPアドレス単位に保持することにより、IPアドレス単位での受信ウィンドウのコントロールが可能となる。その結果、特定回線における輻輳の発生時には他の輻輳の発生していない回線を使用してチャンクの送受信を行うことが可能となる。
したがって、SCTPにてマルチホーミングのアソシエーションを確立したときには、アソシエーション内の全回線が輻輳によりデータ送信不可能とならない限り、ノード間でデータの送受信が行えることとなる。その結果、輻輳に対する運用性が高まる効果が得られる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上記実施の形態では、SCTPのアソシエーションにより通信を行う例について説明したが、その他のプロトコルで複数のアドレスを使用して通信を行ってもよい。一例として、TCPをマルチホーミングのセッション確立可能とするように変更した際に、本発明と同様のrwnd/a_rwndを使用することにより、輻輳に対する運用性が高まる効果が期待できる。
上記実施の形態では、IPアドレス単位にrwnd/a_rwndに保持したが、さらに、アソシエーション単位にrwnd/a_rwndを保持してもよい。これにより、アソシエーション毎の送信可/不可を一度に判断できる。
また、アソシエーション内で、複数のIPアドレスを含むグループ単位にrwnd/a_rwndを保持してもよい。例えば、複数の有線回線のIPアドレスを含むグループに対するrwnd/a_rwnd、複数の無線回線のIPアドレスを含むグループに対するrwnd/a_rwndとしてもよい。輻輳(障害)が関連して発生するグループ毎にrwnd/a_rwndを保持することで、受信ウィンドウサイズを効率よく管理することができる。
10 通信装置
11 集約パス制御部
12 ウィンドウサイズ管理部
13 送信部
14 アドレス情報
20 対向通信装置
30 集約パス
100 SCTPノード
100a ネットワークインタフェース部
100b SCTP情報保持部
101〜103 IPアドレス
104〜109 rwnd/a_rwnd
110 アソシエーション制御部
120 ウィンドウサイズ管理部
130 送信部
200 SCTPピアノード
200a ネットワークインタフェース部
200b SCTP情報保持部
201〜203 IPアドレス
204〜209 rwnd/a_rwnd
210 アソシエーション制御部
220 ウィンドウサイズ管理部
230 送信部
300 ネットワーク
301、302 アソシエーション

Claims (10)

  1. 複数のアドレス情報を使用して対向通信装置と通信するための集約パスを制御する集約パス制御部と、
    前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理するウィンドウサイズ管理部と、
    前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する送信部と、
    を備える通信装置。
  2. 前記送信部は、前記複数のアドレス情報のうち、データ送信可能なサイズの前記受信ウィンドウ情報に対応したアドレス情報を使用してデータを送信する、
    請求項1に記載の通信装置。
  3. 前記複数のアドレス情報のうち、特定のアドレス情報のパスに輻輳が発生した場合、その他のアドレス情報を使用してデータを送信する、
    請求項1または2に記載の通信装置。
  4. 前記特定のアドレス情報のパスの輻輳が解消した場合、前記特定のアドレス情報を使用したデータの送信を再開する、
    請求項3に記載の通信装置。
  5. 前記受信ウィンドウ情報は、自通信装置が受信可能なデータサイズである自装置の受信ウィンドウ情報を含んでいる、
    請求項1乃至4のいずれか一項に記載の通信装置。
  6. 前記アドレス情報はIPアドレスであり、前記集約パスはSCTPマルチホーミングのアソシエーションである、
    請求項1乃至5のいずれか一項に記載の通信装置。
  7. 前記アドレス情報はIPアドレスであり、前記集約パスはTCPマルチホーミングのセッションである、
    請求項1乃至5のいずれか一項に記載の通信装置。
  8. 通信装置と対向通信装置とが通信可能に接続された通信システムであって、
    前記通信装置は、
    複数のアドレス情報を使用して前記対向通信装置と通信するための集約パスを制御する集約パス制御部と、
    前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理するウィンドウサイズ管理部と、
    前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する送信部と、
    を備える通信システム。
  9. 複数のアドレス情報を使用して対向通信装置と通信するための集約パスを制御し、
    前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理し、
    前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する、
    通信方法。
  10. 対向通信装置と通信する通信処理をコンピュータに実行させる通信プログラムであって、
    前記通信処理は、
    複数のアドレス情報を使用して前記対向通信装置と通信するための集約パスを制御し、
    前記複数のアドレス情報のそれぞれに対して、前記対向通信装置が受信可能なデータサイズである受信ウィンドウ情報を管理し、
    前記受信ウィンドウ情報に基づいて前記複数のアドレス情報のいずれかを使用して前記対向通信装置へデータを送信する、
    通信プログラム。
JP2012095837A 2012-04-19 2012-04-19 通信装置、通信システム、通信方法及び通信プログラム Pending JP2013223234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012095837A JP2013223234A (ja) 2012-04-19 2012-04-19 通信装置、通信システム、通信方法及び通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012095837A JP2013223234A (ja) 2012-04-19 2012-04-19 通信装置、通信システム、通信方法及び通信プログラム

Publications (1)

Publication Number Publication Date
JP2013223234A true JP2013223234A (ja) 2013-10-28

Family

ID=49593883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012095837A Pending JP2013223234A (ja) 2012-04-19 2012-04-19 通信装置、通信システム、通信方法及び通信プログラム

Country Status (1)

Country Link
JP (1) JP2013223234A (ja)

Similar Documents

Publication Publication Date Title
JP6319608B2 (ja) 伝送制御方法、装置およびシステム
US11716313B2 (en) Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
JP5867188B2 (ja) 情報処理装置、輻輳制御方法および輻輳制御プログラム
US10355961B2 (en) Network traffic capture analysis
US10951742B1 (en) Methods, systems, and computer program products for sharing information for detecting at least one time period for a connection
EP2922241B1 (en) Methods and apparatus to determine network delay with location independence from retransmission delay and application response time
CN105978780B (zh) 一种端口切换方法及装置
EP2787699A1 (en) Data transmission method, device, and system
US11153220B2 (en) Methods and apparatus to determine network delay with location independence
JP6576099B2 (ja) 通信装置、通信装置の制御方法、プログラム、および、通信システム
US10075565B1 (en) Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
EP2245537B1 (en) Network message management device and methods thereof
Floyd et al. Adding acknowledgement congestion control to TCP
CN109217978A (zh) 数据传输的方法、装置和系统
JP2013223234A (ja) 通信装置、通信システム、通信方法及び通信プログラム
WO2015194134A1 (ja) 通信状態推定装置、通信状態推定方法及び通信状態推定プログラムを記憶する記録媒体
JP2016019156A (ja) 通信装置およびその制御方法
JP2009284433A (ja) P2p端末検知及び制御システム、並びにその方法
JP2017034627A (ja) 通信制御システムおよび通信制御方法
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치
JP5093528B2 (ja) 通信装置、および回線状況情報提供方法
Floyd et al. RFC 5690: Adding Acknowledgement Congestion Control to TCP
Iyengar et al. Adding Acknowledgement Congestion Control to TCP
JP2019012866A (ja) 制御システム、可用帯域推定システム、装置、方法およびプログラム